agent/tools.ts
Source : sdks/typescript/packages/sdk/src/agent/tools.ts. Retour à l'index de la référence du SDK TypeScript.
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 :
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui | Nom de l'outil présenté au modèle. |
description | string | oui | Description de l'outil présentée au modèle. |
inputSchema | Record<string | oui | JSON Schema de l'entrée (draft 2020-12). |
handler | (input: I, ctx: ToolContext) => Promise<O> | O | oui | Fonction qui exécute l'outil avec l'entrée validée et le ToolContext. |
kind | ToolKind | non | "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 :
| Nom | Type | Requis | Description |
|---|---|---|---|
step | number | oui | Étape courante, texte libre (500 caractères au plus). |
signal | AbortSignal | non | AbortSignal 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 :
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui | Nom de l'outil de la Tool Gateway, utilisé dans la route d'invocation et présenté au modèle. |
description | string | non | Description de l'outil présentée au modèle. |
parameters | Record<string | non | Paramètres de l'opération. |
kind | ToolKind | non | Ce 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 :
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui | Nom présenté au modèle. |
serverId | string | oui | Identifiant du serveur MCP enregistré qui exécute l'outil. |
tool | string | non | Nom de l'outil sur le serveur MCP (par défaut : name). |
description | string | non | Description de l'outil présentée au modèle. |
parameters | Record<string | non | Paramètres de l'opération. |
kind | ToolKind | non | Ce 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.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
def | ToolDefinition<I, O> | oui | Dé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.