Aller au contenu principal

contracts.ts

Source : sdks/typescript/packages/sdk/src/contracts.ts. Retour à l'index de la référence du SDK TypeScript.

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.

Interface ContractIssue​

Erreur de validation d'un document par rapport à un contrat.

Champs :

NomTypeRequisDescription
pathstringouiPointeur JSON de la valeur invalide (/ pour la racine).
messagestringouiMessage d'état (2000 caractères au plus).
keywordstringouiMot-clé JSON Schema en échec.

Interface ContractValidationResult​

Résultat de la validation d'un contrat : validité et erreurs.

Champs :

NomTypeRequisDescription
validbooleanouiIndique si le document est valide.
errorsContractIssue[]ouiErreurs de validation (ContractIssue), vide si le document est valide.

Interface ContractInfo​

Entrée de contracts/index.json : nom, titre, type de manifeste, type, fichier de schéma et exemple.

Champs :

NomTypeRequisDescription
namestringouiNom du contrat (ContractName).
titlestringouiTitre du contrat.
kindstring | nullouikind de manifeste correspondant au contrat, ou null pour un contrat qui n'est pas un manifeste.
typestringouiType du contrat, tel que listé dans contracts/index.json.
filestringouiFichier de schéma du contrat (par exemple v1/agent-manifest.schema.json).
examplestringouiDocument d'exemple du contrat, tel que listé dans contracts/index.json.

Alias de type CONTRACTS​

Entrées de contracts/index.json embarquées dans le SDK, un ContractInfo par contrat.

Définition : readonly ContractInfo[].

Fonctions​

getContractSchema​

getContractSchema(name: ContractName | string): Record<string, unknown> | undefined

Renvoie le schéma JSON embarqué d'un contrat.

NomTypeDéfautRequisDescription
nameContractName | stringouiNom du contrat (ContractName), comme agent-manifest.

Retour : Record<string, unknown> \| undefined. Schéma JSON du contrat, ou undefined pour un nom inconnu.

validateContract​

validateContract(name: ContractName | string, doc: unknown, locale: Locale = "en"): ContractValidationResult

Valide un document par rapport à un contrat v1 à l'aide des schémas embarqués dans le SDK.

NomTypeDéfautRequisDescription
nameContractName | stringouiNom du contrat (ContractName), comme agent-manifest.
docunknownouiDocument à valider.
localeLocale"en"nonLangue des messages d'erreur (en par défaut).

Retour : ContractValidationResult. Validité et erreurs (ContractValidationResult) ; lève ContractValidationError pour un contrat inconnu.

Erreurs levées : ContractValidationError.

assertContract​

assertContract(name: N, doc: unknown, locale: Locale = "en"): ContractTypes[N]

Valide et lève ContractValidationError lorsque le document est invalide.

NomTypeDéfautRequisDescription
nameNouiNom du contrat (ContractName), comme agent-manifest.
docunknownouiDocument à valider.
localeLocale"en"nonLangue des messages d'erreur (en par défaut).

Retour : ContractTypes[N]. Un ContractTypes : associe chaque nom de contrat de contracts/index.json à son modèle TypeScript.

Erreurs levées : ContractValidationError.

contractForKind​

contractForKind(kind: ManifestKind | string): ContractName | undefined

Trouve le contrat de manifeste correspondant à un kind (Agent, Model, Tool, Skill, Plugin, Connector, Channel).

NomTypeDéfautRequisDescription
kindManifestKind | stringouikind du manifeste, comme Agent.

Retour : ContractName \| undefined. Nom du contrat correspondant, ou undefined si aucun contrat n'a ce kind.

validateManifest​

validateManifest(doc: Manifest | Record<string, unknown>, locale: Locale = "en"): ContractValidationResult

Valide un manifeste en détectant son contrat à partir de kind.

NomTypeDéfautRequisDescription
docManifest | Record<string, unknown>ouiManifeste à valider.
localeLocale"en"nonLangue des messages d'erreur (en par défaut).

Retour : ContractValidationResult. Validité et erreurs (ContractValidationResult) ; un kind inconnu donne une erreur sur /kind.