Aller au contenu principal

enterprise_ai.contracts

Source : sdks/python/src/enterprise_ai/contracts/__init__.py. Retour à l'index de la référence du SDK Python.

remarque

Cette page est générée par tools/docs/gen_sdk_reference.py depuis les sources du SDK et les dossiers de textes OpenAPI. Ne la modifiez pas à la main : changez la source et régénérez.

Modèle SchemaIssue​

Une erreur de validation : emplacement de type pointeur JSON et message.

Champs :

NomTypeRequisDescription
pathstrouiEmplacement de l'erreur, segments du chemin joints par / (par exemple spec/tools/0), ou <root> pour le document entier.
messagestrouiMessage d'état (2000 caractères au plus).

Modèle ValidationResult​

Résultat de :func:validate.

Champs :

NomTypeRequisDescription
contractstrouiNom du contrat vérifié, ou unknown s'il n'a pas pu être déduit.
errorslist[SchemaIssue]nonListe de SchemaIssue, triée par chemin ; vide si le document est valide.

Attributs :

NomTypeRequisDescription
validboolouiTrue si errors est vide ; le résultat est alors aussi évalué comme vrai.

ValidationResult.raise_for_errors​

raise_for_errors() -> None

Lève :class:~enterprise_ai.errors.ValidationError si le document est invalide.

Cet élément ne prend aucun paramètre.

Retour : None.

Erreurs levées : ValidationError.

ValidationResult.to_dict​

to_dict() -> dict[str, Any]

Forme dictionnaire simple du résultat, prête pour le JSON.

Cet élément ne prend aucun paramètre.

Retour : dict[str, Any]. {"contract", "valid", "errors"} avec chaque erreur sous forme de chaîne path: message.

Classe ContractsClient​

Contrats et manifestes. Schémas JSON publiés (contrats) des documents de la plateforme, et manifestes déclaratifs qui créent ou mettent à jour des objets à partir d'un document, dans l'esprit de l'infrastructure as code.

Resource

ContractsClient.get​

get(name: str) -> Any

Lire un contrat. Renvoie le schéma JSON du contrat tel qu'il est publié. Ouvert à tout appelant authentifié. Un nom inconnu répond 404 unknown_contract.

Route : /v1/contracts/{name} (GET).

NomTypeDéfautRequisDescription
namestrouiNom du contrat, par exemple agent-manifest.

Retour : Any. Réponse JSON décodée de l'opération « Lire un contrat ».

Erreurs levées : les erreurs typées du transport (Erreurs).

ContractsClient.list​

list() -> Any

Lister les contrats. Liste les contrats publiés avec leur name, title, kind, type, file, l'id du schéma et sa description. Ouvert à tout appelant authentifié. next_cursor vaut toujours null.

Route : /v1/contracts (GET).

Cet élément ne prend aucun paramètre.

Retour : Any. Réponse JSON décodée de l'opération « Lister les contrats ».

Erreurs levées : les erreurs typées du transport (Erreurs).

ContractsClient.validate​

validate(name: str, document: Any) -> Any

Valider un document avec un contrat. Valide le corps avec le contrat, formats compris, sans rien enregistrer. La réponse donne contract, valid et errors, chacune avec le path JSON de la valeur fautive et un message. Ouvert à tout appelant authentifié. Un contrat inconnu répond 404 unknown_contract.

Route : /v1/contracts/{name}/validate (POST).

NomTypeDéfautRequisDescription
namestrouiNom du contrat, par exemple agent-manifest.
documentAnyouiDocument à valider, envoyé comme corps JSON de la requête.

Retour : Any. Réponse JSON décodée de l'opération « Valider un document avec un contrat ».

Erreurs levées : les erreurs typées du transport (Erreurs).

ContractsClient.validate_local​

validate_local(document: Any, name: str | None = None) -> ValidationResult

Valide à partir des schémas embarqués, sans aucun appel réseau.

NomTypeDéfautRequisDescription
documentAnyouiDocument à valider, en général un dictionnaire décodé depuis du JSON ou du YAML.
namestr | NoneNonenonNom du contrat, par exemple usage-event ; None le déduit du kind du document.

Retour : ValidationResult. Un ValidationResult : résultat de :func:validate.

Classe ManifestsClient​

Contrats et manifestes. Schémas JSON publiés (contrats) des documents de la plateforme, et manifestes déclaratifs qui créent ou mettent à jour des objets à partir d'un document, dans l'esprit de l'infrastructure as code.

Resource

ManifestsClient.apply​

apply(manifest: dict[str, Any], validate_first: bool = True) -> Any

Appliquer un manifeste. Crée ou met à jour l'objet décrit par un manifeste, en une transaction. Exige tenant_admin ou developer.

Route : /v1/manifests/apply (POST).

NomTypeDéfautRequisDescription
manifestdict[str, Any]ouiManifeste de n'importe quel type (Agent, Model, Tool...), envoyé comme corps JSON.
validate_firstboolTruenonSi True (par défaut), le manifeste est d'abord validé avec les schémas embarqués et ValidationError est levée avant tout appel.

Retour : Any. Réponse JSON décodée de l'opération « Appliquer un manifeste ».

Erreurs levées : les erreurs typées du transport (Erreurs).

ManifestsClient.get​

get(kind: str, name: str) -> Any

Exporter un manifeste. Renvoie le manifeste courant d'un objet du tenant : construit par le registre du type quand il sait exporter, sinon le dernier document appliqué. Ouvert à tout membre du tenant. Un type inconnu répond 422 unknown_kind (avec les types pris en charge) ; un objet inconnu 404 not_found.

Route : /v1/manifests/{kind}/{name} (GET).

NomTypeDéfautRequisDescription
kindstrouiType de manifeste, sans tenir compte de la casse : Agent, Model, Tool, Skill, Plugin, Connector ou Channel.
namestrouiNom de l'objet, le metadata.name de son manifeste.

Retour : Any. Réponse JSON décodée de l'opération « Exporter un manifeste ».

Erreurs levées : les erreurs typées du transport (Erreurs).

Fonctions​

index​

index() -> dict[str, Any]

Le fichier contracts/index.json embarqué.

Cet élément ne prend aucun paramètre.

Retour : dict[str, Any]. Contenu décodé de l'index, avec la liste contracts ; mis en cache après la première lecture.

names​

names() -> list[str]

Noms de tous les contrats (agent-manifest, usage-event...).

Cet élément ne prend aucun paramètre.

Retour : list[str]. Liste des noms de contrats, dans l'ordre de index.json.

schema​

schema(name: str) -> dict[str, Any]

Schéma JSON d'un contrat (common compris).

NomTypeDéfautRequisDescription
namestrouiNom du contrat, par exemple usage-event ; un nom inconnu lève KeyError.

Retour : dict[str, Any]. Le schéma JSON du contrat, sous forme de dictionnaire.

Erreurs levées : KeyError.

example​

example(name: str) -> dict[str, Any]

Le document d'exemple embarqué d'un contrat.

NomTypeDéfautRequisDescription
namestrouiNom du contrat, par exemple agent-manifest.

Retour : dict[str, Any]. Le document d'exemple, décodé depuis examples/<name>.json.

detect​

detect(document: Any) -> str | None

Devine le contrat d'un document à partir de son kind (manifestes uniquement).

NomTypeDéfautRequisDescription
documentAnyouiDocument à examiner ; seul un dictionnaire avec un kind connu est reconnu.

Retour : str \| None. Nom du contrat, par exemple agent-manifest, ou None si le kind est inconnu ou absent.

validate​

validate(document: Any, name: str | None = None) -> ValidationResult

Valide document selon le contrat name (déduit de kind s'il est omis).

NomTypeDéfautRequisDescription
documentAnyouiDocument à valider, en général un dictionnaire décodé depuis du JSON ou du YAML.
namestr | NoneNonenonNom du contrat, par exemple usage-event ; None le déduit du kind du document.

Retour : ValidationResult. Un ValidationResult : résultat de :func:validate.

load_documents​

load_documents(path: str | Path) -> list[Any]

Charge chaque document d'un fichier JSON ou YAML (multi-documents).

NomTypeDéfautRequisDescription
pathstr | PathouiChemin du fichier ; un suffixe .yaml ou .yml est lu comme du YAML, tout autre comme du JSON.

Retour : list[Any]. Liste des documents décodés, sans les documents YAML vides.

validate_file​

validate_file(path: str | Path, name: str | None = None) -> list[ValidationResult]

Valide chaque document d'un fichier.

NomTypeDéfautRequisDescription
pathstr | PathouiChemin d'un fichier JSON ou YAML, pouvant contenir plusieurs documents YAML.
namestr | NoneNonenonNom du contrat appliqué à chaque document ; None le déduit du kind de chacun.

Retour : list[ValidationResult]. Liste de ValidationResult, un par document du fichier.

validate_all​

validate_all(documents: Iterable[Any]) -> list[ValidationResult]

Valide plusieurs manifestes, chacun selon son propre kind.

NomTypeDéfautRequisDescription
documentsIterable[Any]ouiItérable de manifestes ; le contrat de chacun est déduit de son kind.

Retour : list[ValidationResult]. Liste de ValidationResult, un par document, dans le même ordre.