Aller au contenu principal

agent/tools.ts

Source : sdks/typescript/packages/sdk/src/agent/tools.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.

Alias de type ToolKind​

Ce que fait un outil, lu par les règles de continuation (exploration, verify_before_done).

Définition : "read" \| "write" \| "run" \| "verify".

Interface ToolDefinition​

Définition d'un outil local transmise à defineTool : nom, description, JSON Schema d'entrée, handler et nature.

Champs :

NomTypeRequisDescription
namestringouiNom de l'outil présenté au modèle.
descriptionstringouiDescription de l'outil présentée au modèle.
inputSchemaRecord<stringouiJSON Schema de l'entrée (draft 2020-12).
handler(input: I, ctx: ToolContext) => Promise<O> | OouiFonction qui exécute l'outil avec l'entrée validée et le ToolContext.
kindToolKindnon"run" par défaut. Un outil verify échoue lorsqu'il lève une erreur ou renvoie { ok: false }.

Interface ToolContext​

Contexte transmis au handler d'un outil : le numéro d'étape et l'AbortSignal facultatif.

Champs :

NomTypeRequisDescription
stepnumberouiÉtape courante, texte libre (500 caractères au plus).
signalAbortSignalnonAbortSignal du run, pour annuler un traitement long.

Interface Tool​

Outil renvoyé par defineTool : sa définition, plus run (valide l'entrée puis exécute le handler) et toOpenAI.

ToolDefinition<I, O>

Ce modèle ne déclare aucun champ.

Interface RemoteToolSpec​

Un outil exécuté côté serveur par la Tool Gateway (POST /v1/tools/{name}/invoke).

Champs :

NomTypeRequisDescription
namestringouiNom de l'outil de la Tool Gateway, utilisé dans la route d'invocation et présenté au modèle.
descriptionstringnonDescription de l'outil présentée au modèle.
parametersRecord<stringnonParamètres de l'opération.
kindToolKindnonCe que fait un outil, lu par les règles de continuation (exploration, verify_before_done).

Interface McpToolSpec​

Un outil d'un serveur MCP enregistré, appelé via la passerelle MCP (tools/call).

Champs :

NomTypeRequisDescription
namestringouiNom présenté au modèle.
serverIdstringouiIdentifiant du serveur MCP enregistré qui exécute l'outil.
toolstringnonNom de l'outil sur le serveur MCP (par défaut : name).
descriptionstringnonDescription de l'outil présentée au modèle.
parametersRecord<stringnonParamètres de l'opération.
kindToolKindnonCe que fait un outil, lu par les règles de continuation (exploration, verify_before_done).

Fonctions​

defineTool​

defineTool(def: ToolDefinition<I, O>): Tool<I, O>

Déclare un outil local dont l'entrée est validée par un JSON Schema.

NomTypeDéfautRequisDescription
defToolDefinition<I, O>ouiDéfinition de l'outil : nom, description, JSON Schema d'entrée, handler et nature.

Retour : Tool<I, O>. L'outil, dont run lève AgentLoopError tool_input_invalid quand l'entrée ne respecte pas le schéma.

Erreurs levées : AgentLoopError.