Fonctions
query()
La fonction principale pour interagir avec Claude Code. Crée un générateur asynchrone qui diffuse les messages au fur et à mesure qu’ils arrivent.
Paramètres
Paramètre | Type | Description |
---|---|---|
prompt | string | AsyncIterable< SDKUserMessage > | L’invite d’entrée sous forme de chaîne ou d’itérable asynchrone pour le mode streaming |
options | Options | Objet de configuration optionnel (voir le type Options ci-dessous) |
Retourne
Retourne un objetQuery
qui étend AsyncGenerator<
SDKMessage
, void>
avec des méthodes supplémentaires.
tool()
Crée une définition d’outil MCP type-safe pour une utilisation avec les serveurs MCP du SDK.
Paramètres
Paramètre | Type | Description |
---|---|---|
name | string | Le nom de l’outil |
description | string | Une description de ce que fait l’outil |
inputSchema | Schema extends ZodRawShape | Schéma Zod définissant les paramètres d’entrée de l’outil |
handler | (args, extra) => Promise< CallToolResult > | Fonction asynchrone qui exécute la logique de l’outil |
createSdkMcpServer()
Crée une instance de serveur MCP qui s’exécute dans le même processus que votre application.
Paramètres
Paramètre | Type | Description |
---|---|---|
options.name | string | Le nom du serveur MCP |
options.version | string | Chaîne de version optionnelle |
options.tools | Array<SdkMcpToolDefinition> | Tableau de définitions d’outils créées avec tool() |
Types
Options
Objet de configuration pour la fonction query()
.
Propriété | Type | Défaut | Description |
---|---|---|---|
abortController | AbortController | new AbortController() | Contrôleur pour annuler les opérations |
additionalDirectories | string[] | [] | Répertoires supplémentaires auxquels Claude peut accéder |
allowedTools | string[] | Tous les outils | Liste des noms d’outils autorisés |
appendSystemPrompt | string | undefined | Texte à ajouter à l’invite système par défaut |
canUseTool | CanUseTool | undefined | Fonction de permission personnalisée pour l’utilisation d’outils |
continue | boolean | false | Continuer la conversation la plus récente |
customSystemPrompt | string | undefined | Remplacer entièrement l’invite système par défaut |
cwd | string | process.cwd() | Répertoire de travail actuel |
disallowedTools | string[] | [] | Liste des noms d’outils interdits |
env | Dict<string> | process.env | Variables d’environnement |
executable | 'bun' | 'deno' | 'node' | Auto-détecté | Runtime JavaScript à utiliser |
executableArgs | string[] | [] | Arguments à passer à l’exécutable |
extraArgs | Record<string, string | null> | {} | Arguments supplémentaires |
fallbackModel | string | undefined | Modèle à utiliser si le principal échoue |
hooks | Partial<Record< HookEvent , HookCallbackMatcher []>> | {} | Callbacks de hook pour les événements |
includePartialMessages | boolean | false | Inclure les événements de messages partiels |
maxThinkingTokens | number | undefined | Tokens maximum pour le processus de réflexion |
maxTurns | number | undefined | Tours de conversation maximum |
mcpServers | Record<string, McpServerConfig > | {} | Configurations des serveurs MCP |
model | string | Défaut du CLI | Modèle Claude à utiliser |
pathToClaudeCodeExecutable | string | Auto-détecté | Chemin vers l’exécutable Claude Code |
permissionMode | PermissionMode | 'default' | Mode de permission pour la session |
permissionPromptToolName | string | undefined | Nom de l’outil MCP pour les invites de permission |
resume | string | undefined | ID de session à reprendre |
stderr | (data: string) => void | undefined | Callback pour la sortie stderr |
strictMcpConfig | boolean | false | Appliquer la validation MCP stricte |
Query
Interface retournée par la fonction query()
.
Méthodes
Méthode | Description |
---|---|
interrupt() | Interrompt la requête (disponible uniquement en mode d’entrée streaming) |
setPermissionMode() | Change le mode de permission (disponible uniquement en mode d’entrée streaming) |
PermissionMode
CanUseTool
Type de fonction de permission personnalisée pour contrôler l’utilisation d’outils.
PermissionResult
Résultat d’une vérification de permission.
McpServerConfig
Configuration pour les serveurs MCP.
McpStdioServerConfig
McpSSEServerConfig
McpHttpServerConfig
McpSdkServerConfigWithInstance
Types de Messages
SDKMessage
Type union de tous les messages possibles retournés par la requête.
SDKAssistantMessage
Message de réponse de l’assistant.
SDKUserMessage
Message d’entrée utilisateur.
SDKUserMessageReplay
Message utilisateur rejoué avec UUID requis.
SDKResultMessage
Message de résultat final.
SDKSystemMessage
Message d’initialisation du système.
SDKPartialAssistantMessage
Message partiel en streaming (uniquement quand includePartialMessages
est true).
SDKCompactBoundaryMessage
Message indiquant une limite de compactage de conversation.
SDKPermissionDenial
Information sur une utilisation d’outil refusée.
Types de Hook
HookEvent
Événements de hook disponibles.
HookCallback
Type de fonction callback de hook.
HookCallbackMatcher
Configuration de hook avec matcher optionnel.
HookInput
Type union de tous les types d’entrée de hook.
BaseHookInput
Interface de base que tous les types d’entrée de hook étendent.
PreToolUseHookInput
PostToolUseHookInput
NotificationHookInput
UserPromptSubmitHookInput
SessionStartHookInput
SessionEndHookInput
StopHookInput
SubagentStopHookInput
PreCompactHookInput
HookJSONOutput
Valeur de retour de hook.
AsyncHookJSONOutput
SyncHookJSONOutput
Types d’Entrée d’Outils
Documentation des schémas d’entrée pour tous les outils intégrés de Claude Code. Ces types sont exportés depuis@anthropic/claude-code-sdk
et peuvent être utilisés pour des interactions d’outils type-safe.
ToolInput
Note : Ceci est un type uniquement pour la documentation pour plus de clarté. Il représente l’union de tous les types d’entrée d’outils.
Task
Nom de l’outil :Task
Bash
Nom de l’outil :Bash
BashOutput
Nom de l’outil :BashOutput
Edit
Nom de l’outil :Edit
MultiEdit
Nom de l’outil :MultiEdit
Read
Nom de l’outil :Read
Write
Nom de l’outil :Write
Glob
Nom de l’outil :Glob
Grep
Nom de l’outil :Grep
KillBash
Nom de l’outil :KillBash
NotebookEdit
Nom de l’outil :NotebookEdit
WebFetch
Nom de l’outil :WebFetch
WebSearch
Nom de l’outil :WebSearch
TodoWrite
Nom de l’outil :TodoWrite
ExitPlanMode
Nom de l’outil :ExitPlanMode
ListMcpResources
Nom de l’outil :ListMcpResources
ReadMcpResource
Nom de l’outil :ReadMcpResource
Types de Sortie d’Outils
Documentation des schémas de sortie pour tous les outils intégrés de Claude Code. Ces types représentent les données de réponse réelles retournées par chaque outil.ToolOutput
Note : Ceci est un type uniquement pour la documentation pour plus de clarté. Il représente l’union de tous les types de sortie d’outils.
Task
Nom de l’outil :Task
Bash
Nom de l’outil :Bash
BashOutput
Nom de l’outil :BashOutput
Edit
Nom de l’outil :Edit
MultiEdit
Nom de l’outil :MultiEdit
Read
Nom de l’outil :Read
Write
Nom de l’outil :Write
Glob
Nom de l’outil :Glob
Grep
Nom de l’outil :Grep
KillBash
Nom de l’outil :KillBash
NotebookEdit
Nom de l’outil :NotebookEdit
WebFetch
Nom de l’outil :WebFetch
WebSearch
Nom de l’outil :WebSearch
TodoWrite
Nom de l’outil :TodoWrite
ExitPlanMode
Nom de l’outil :ExitPlanMode
ListMcpResources
Nom de l’outil :ListMcpResources
ReadMcpResource
Nom de l’outil :ReadMcpResource
Types de Permission
PermissionUpdate
Opérations pour mettre à jour les permissions.
PermissionBehavior
PermissionUpdateDestination
PermissionRuleValue
Autres Types
ApiKeySource
ConfigScope
NonNullableUsage
Une version de Usage
avec tous les champs nullable rendus non-nullable.
Usage
Statistiques d’utilisation des tokens (de @anthropic-ai/sdk
).
CallToolResult
Type de résultat d’outil MCP (de @modelcontextprotocol/sdk/types.js
).
AbortError
Classe d’erreur personnalisée pour les opérations d’abandon.
Voir aussi
- Guide du SDK TypeScript - Tutoriel et exemples
- Aperçu du SDK - Concepts généraux du SDK
- Référence du SDK Python - Documentation du SDK Python
- Référence CLI - Interface en ligne de commande
- Workflows courants - Guides étape par étape