enterprise_ai.contracts
Source : sdks/python/src/enterprise_ai/contracts/__init__.py. Retour à l'index de la référence du SDK Python.
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 :
| Nom | Type | Requis | Description |
|---|---|---|---|
path | str | oui | Emplacement de l'erreur, segments du chemin joints par / (par exemple spec/tools/0), ou <root> pour le document entier. |
message | str | oui | Message d'état (2000 caractères au plus). |
Modèle ValidationResult
Résultat de :func:validate.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
contract | str | oui | Nom du contrat vérifié, ou unknown s'il n'a pas pu être déduit. |
errors | list[SchemaIssue] | non | Liste de SchemaIssue, triée par chemin ; vide si le document est valide. |
Attributs :
| Nom | Type | Requis | Description |
|---|---|---|---|
valid | bool | oui | True 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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | str | oui | Nom 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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | str | oui | Nom du contrat, par exemple agent-manifest. | |
document | Any | oui | Document à 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.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
document | Any | oui | Document à valider, en général un dictionnaire décodé depuis du JSON ou du YAML. | |
name | str | None | None | non | Nom 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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
manifest | dict[str, Any] | oui | Manifeste de n'importe quel type (Agent, Model, Tool...), envoyé comme corps JSON. | |
validate_first | bool | True | non | Si 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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
kind | str | oui | Type de manifeste, sans tenir compte de la casse : Agent, Model, Tool, Skill, Plugin, Connector ou Channel. | |
name | str | oui | Nom 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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | str | oui | Nom 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.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | str | oui | Nom 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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
document | Any | oui | Document à 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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
document | Any | oui | Document à valider, en général un dictionnaire décodé depuis du JSON ou du YAML. | |
name | str | None | None | non | Nom 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).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
path | str | Path | oui | Chemin 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.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
path | str | Path | oui | Chemin d'un fichier JSON ou YAML, pouvant contenir plusieurs documents YAML. | |
name | str | None | None | non | Nom 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.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
documents | Iterable[Any] | oui | Ité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.