Функции
query()
Основная функция для взаимодействия с Claude Code. Создает асинхронный генератор, который передает сообщения по мере их поступления.
Параметры
Параметр | Тип | Описание |
---|---|---|
prompt | string | AsyncIterable< SDKUserMessage > | Входной запрос в виде строки или асинхронного итерируемого объекта для режима потоковой передачи |
options | Options | Необязательный объект конфигурации (см. тип Options ниже) |
Возвращает
Возвращает объектQuery
, который расширяет AsyncGenerator<
SDKMessage
, void>
дополнительными методами.
tool()
Создает типобезопасное определение инструмента MCP для использования с серверами SDK MCP.
Параметры
Параметр | Тип | Описание |
---|---|---|
name | string | Имя инструмента |
description | string | Описание того, что делает инструмент |
inputSchema | Schema extends ZodRawShape | Схема Zod, определяющая входные параметры инструмента |
handler | (args, extra) => Promise< CallToolResult > | Асинхронная функция, которая выполняет логику инструмента |
createSdkMcpServer()
Создает экземпляр сервера MCP, который работает в том же процессе, что и ваше приложение.
Параметры
Параметр | Тип | Описание |
---|---|---|
options.name | string | Имя сервера MCP |
options.version | string | Необязательная строка версии |
options.tools | Array<SdkMcpToolDefinition> | Массив определений инструментов, созданных с помощью tool() |
Типы
Options
Объект конфигурации для функции query()
.
Свойство | Тип | По умолчанию | Описание |
---|---|---|---|
abortController | AbortController | new AbortController() | Контроллер для отмены операций |
additionalDirectories | string[] | [] | Дополнительные каталоги, к которым Claude может получить доступ |
allowedTools | string[] | Все инструменты | Список разрешенных имен инструментов |
appendSystemPrompt | string | undefined | Текст для добавления к системному запросу по умолчанию |
canUseTool | CanUseTool | undefined | Пользовательская функция разрешений для использования инструментов |
continue | boolean | false | Продолжить самую последнюю беседу |
customSystemPrompt | string | undefined | Полностью заменить системный запрос по умолчанию |
cwd | string | process.cwd() | Текущий рабочий каталог |
disallowedTools | string[] | [] | Список запрещенных имен инструментов |
env | Dict<string> | process.env | Переменные окружения |
executable | 'bun' | 'deno' | 'node' | Автоопределение | Среда выполнения JavaScript для использования |
executableArgs | string[] | [] | Аргументы для передачи исполняемому файлу |
extraArgs | Record<string, string | null> | {} | Дополнительные аргументы |
fallbackModel | string | undefined | Модель для использования, если основная не работает |
hooks | Partial<Record< HookEvent , HookCallbackMatcher []>> | {} | Обратные вызовы хуков для событий |
includePartialMessages | boolean | false | Включить события частичных сообщений |
maxThinkingTokens | number | undefined | Максимальное количество токенов для процесса размышления |
maxTurns | number | undefined | Максимальное количество ходов беседы |
mcpServers | Record<string, McpServerConfig > | {} | Конфигурации серверов MCP |
model | string | По умолчанию из CLI | Модель Claude для использования |
pathToClaudeCodeExecutable | string | Автоопределение | Путь к исполняемому файлу Claude Code |
permissionMode | PermissionMode | 'default' | Режим разрешений для сессии |
permissionPromptToolName | string | undefined | Имя инструмента MCP для запросов разрешений |
resume | string | undefined | ID сессии для возобновления |
stderr | (data: string) => void | undefined | Обратный вызов для вывода stderr |
strictMcpConfig | boolean | false | Принудительная строгая валидация MCP |
Query
Интерфейс, возвращаемый функцией query()
.
Методы
Метод | Описание |
---|---|
interrupt() | Прерывает запрос (доступно только в режиме потокового ввода) |
setPermissionMode() | Изменяет режим разрешений (доступно только в режиме потокового ввода) |
PermissionMode
CanUseTool
Тип пользовательской функции разрешений для контроля использования инструментов.
PermissionResult
Результат проверки разрешений.
McpServerConfig
Конфигурация для серверов MCP.
McpStdioServerConfig
McpSSEServerConfig
McpHttpServerConfig
McpSdkServerConfigWithInstance
Типы сообщений
SDKMessage
Объединенный тип всех возможных сообщений, возвращаемых запросом.
SDKAssistantMessage
Сообщение ответа ассистента.
SDKUserMessage
Сообщение пользовательского ввода.
SDKUserMessageReplay
Воспроизведенное пользовательское сообщение с обязательным UUID.
SDKResultMessage
Финальное сообщение результата.
SDKSystemMessage
Системное сообщение инициализации.
SDKPartialAssistantMessage
Потоковое частичное сообщение (только когда includePartialMessages
равно true).
SDKCompactBoundaryMessage
Сообщение, указывающее на границу сжатия беседы.
SDKPermissionDenial
Информация об отклоненном использовании инструмента.
Типы хуков
HookEvent
Доступные события хуков.
HookCallback
Тип функции обратного вызова хука.
HookCallbackMatcher
Конфигурация хука с необязательным сопоставителем.
HookInput
Объединенный тип всех типов входных данных хука.
BaseHookInput
Базовый интерфейс, который расширяют все типы входных данных хука.
PreToolUseHookInput
PostToolUseHookInput
NotificationHookInput
UserPromptSubmitHookInput
SessionStartHookInput
SessionEndHookInput
StopHookInput
SubagentStopHookInput
PreCompactHookInput
HookJSONOutput
Возвращаемое значение хука.
AsyncHookJSONOutput
SyncHookJSONOutput
Типы входных данных инструментов
Документация схем входных данных для всех встроенных инструментов Claude Code. Эти типы экспортируются из@anthropic/claude-code-sdk
и могут использоваться для типобезопасных взаимодействий с инструментами.
ToolInput
Примечание: Это тип только для документации для ясности. Он представляет объединение всех типов входных данных инструментов.
Task
Имя инструмента:Task
Bash
Имя инструмента:Bash
BashOutput
Имя инструмента:BashOutput
Edit
Имя инструмента:Edit
MultiEdit
Имя инструмента:MultiEdit
Read
Имя инструмента:Read
Write
Имя инструмента:Write
Glob
Имя инструмента:Glob
Grep
Имя инструмента:Grep
KillBash
Имя инструмента:KillBash
NotebookEdit
Имя инструмента:NotebookEdit
WebFetch
Имя инструмента:WebFetch
WebSearch
Имя инструмента:WebSearch
TodoWrite
Имя инструмента:TodoWrite
ExitPlanMode
Имя инструмента:ExitPlanMode
ListMcpResources
Имя инструмента:ListMcpResources
ReadMcpResource
Имя инструмента:ReadMcpResource
Типы выходных данных инструментов
Документация схем выходных данных для всех встроенных инструментов Claude Code. Эти типы представляют фактические данные ответа, возвращаемые каждым инструментом.ToolOutput
Примечание: Это тип только для документации для ясности. Он представляет объединение всех типов выходных данных инструментов.
Task
Имя инструмента:Task
Bash
Имя инструмента:Bash
BashOutput
Имя инструмента:BashOutput
Edit
Имя инструмента:Edit
MultiEdit
Имя инструмента:MultiEdit
Read
Имя инструмента:Read
Write
Имя инструмента:Write
Glob
Имя инструмента:Glob
Grep
Имя инструмента:Grep
KillBash
Имя инструмента:KillBash
NotebookEdit
Имя инструмента:NotebookEdit
WebFetch
Имя инструмента:WebFetch
WebSearch
Имя инструмента:WebSearch
TodoWrite
Имя инструмента:TodoWrite
ExitPlanMode
Имя инструмента:ExitPlanMode
ListMcpResources
Имя инструмента:ListMcpResources
ReadMcpResource
Имя инструмента:ReadMcpResource
Типы разрешений
PermissionUpdate
Операции для обновления разрешений.
PermissionBehavior
PermissionUpdateDestination
PermissionRuleValue
Другие типы
ApiKeySource
ConfigScope
NonNullableUsage
Версия Usage
со всеми nullable полями, сделанными non-nullable.
Usage
Статистика использования токенов (из @anthropic-ai/sdk
).
CallToolResult
Тип результата инструмента MCP (из @modelcontextprotocol/sdk/types.js
).
AbortError
Пользовательский класс ошибки для операций прерывания.
См. также
- Руководство по TypeScript SDK - Учебник и примеры
- Обзор SDK - Общие концепции SDK
- Справочник по Python SDK - Документация Python SDK
- Справочник по CLI - Интерфейс командной строки
- Общие рабочие процессы - Пошаговые руководства