1561 parent_tool_use_id: string | null;1561 parent_tool_use_id: string | null;
1562 error?: SDKAssistantMessageError;1562 error?: SDKAssistantMessageError;
1563 aborted?: true;1563 aborted?: true;
1564 agent_id?: string;
1564 timestamp?: string;1565 timestamp?: string;
1565 context_usage?: SDKContextUsage;1566 context_usage?: SDKContextUsage;
1566 user_message_uuid?: string;1567 user_message_uuid?: string;
1580 1581
1581`aborted` имеет значение `true`, когда прерывание или отмена усекли сообщение ассистента до завершения потока: сообщение не имеет `stop_reason`, и содержимое может заканчиваться посередине слова. Это поле отсутствует в нормально завершённых сообщениях. Требует Agent SDK v0.3.214 или позже.1582`aborted` имеет значение `true`, когда прерывание или отмена усекли сообщение ассистента до завершения потока: сообщение не имеет `stop_reason`, и содержимое может заканчиваться посередине слова. Это поле отсутствует в нормально завершённых сообщениях. Требует Agent SDK v0.3.214 или позже.
1582 1583
1584`agent_id` определяет субагента, создавшего сообщение, и отсутствует у сообщений основного потока. Значение совпадает с `task_id` в событии [`task_started`](#sdktaskstartedmessage) и других событиях задачи этого субагента и не меняется, когда субагент [возобновляется](/docs/ru/agent-sdk/subagents#resume-subagents). Поле требует Agent SDK v0.3.292 или новее.
1585
1586Сопоставляйте сообщения субагента с событиями его задачи по `agent_id`, а не по паре `parent_tool_use_id` сообщения и `tool_use_id` события задачи. Когда вызов инструмента возобновляет субагента, события задачи несут `tool_use_id` этого вызова, а сообщения сохраняют `parent_tool_use_id` вызова инструмента, который впервые запустил субагента, поэтому эти значения перестают совпадать.
1587
1583Claude Code устанавливает `user_message_uuid` и `user_message_uuids` в первом сообщении ассистента в ходе при условиях, описанных в [`user_message_uuid`](#user_message_uuid). Когда Claude Code повторно запускает ход, прерванный перезапуском, сообщения ассистента повторного запуска, которые содержат эти поля, также содержат [`resume_reason`](#resume_reason).1588Claude Code устанавливает `user_message_uuid` и `user_message_uuids` в первом сообщении ассистента в ходе при условиях, описанных в [`user_message_uuid`](#user_message_uuid). Когда Claude Code повторно запускает ход, прерванный перезапуском, сообщения ассистента повторного запуска, которые содержат эти поля, также содержат [`resume_reason`](#resume_reason).
1584 1589
1585`timestamp` — это время в формате ISO 8601, когда содержимое сообщения закончило генерироваться в процессе, который его создал. Значение берётся с часов этой машины, поэтому используйте его только для отображения и не упорядочивайте сообщения по нему. Один ход API может создать несколько сообщений ассистента с одинаковым `message.id`, каждое со своим `timestamp`. Когда это поле отсутствует, используйте время получения сообщения.1590`timestamp` — это время в формате ISO 8601, когда содержимое сообщения закончило генерироваться в процессе, который его создал. Значение берётся с часов этой машины, поэтому используйте его только для отображения и не упорядочивайте сообщения по нему. Один ход API может создать несколько сообщений ассистента с одинаковым `message.id`, каждое со своим `timestamp`. Когда это поле отсутствует, используйте время получения сообщения.
1597 type: "user";1602 type: "user";
1598 uuid?: UUID;1603 uuid?: UUID;
1599 session_id?: string;1604 session_id?: string;
1605 agent_id?: string;
1600 message: MessageParam; // From Anthropic SDK1606 message: MessageParam; // From Anthropic SDK
1601 pasted_content?: MessageParam["content"][];1607 pasted_content?: MessageParam["content"][];
1602 parent_tool_use_id: string | null;1608 parent_tool_use_id: string | null;
1636};1642};
1637```1643```
1638 1644
1645Пользовательское сообщение, созданное субагентом, например `tool_result` для одного из его собственных вызовов инструментов, содержит `agent_id`. См. [`SDKAssistantMessage`](#sdkassistantmessage), где определены это поле и требования к версии.
1646
1639В сообщении, содержащем блок `tool_result`, `tool_use_result` — это структурированный объект вывода инструмента, а не текст, отправленный модели. Его форма зависит от инструмента, указанного в соответствующем блоке `tool_use`, поэтому поле имеет тип `unknown`; встроенные формы перечислены в разделе [Типы вывода инструментов](#tool-output-types). Следующие результаты требуют обработки помимо их указанной формы:1647В сообщении, содержащем блок `tool_result`, `tool_use_result` — это структурированный объект вывода инструмента, а не текст, отправленный модели. Его форма зависит от инструмента, указанного в соответствующем блоке `tool_use`, поэтому поле имеет тип `unknown`; встроенные формы перечислены в разделе [Типы вывода инструментов](#tool-output-types). Следующие результаты требуют обработки помимо их указанной формы:
1640 1648
1641* Инструмент `Agent`: `tool_use_result` имеет тип [`AgentOutput`](#agent-2). Отображайте результат на его основе, а не разбирая текст `tool_result`. Поле `content` результата `completed` содержит отчёт субагента или — для субагента, чей отчёт передаётся через вызов инструмента `SubagentHandback`, — короткую заметку об этой передаче вместо отчёта. В [авторежиме](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) в Claude Code v2.1.271 или новее каждый субагент, выдающий результат `completed`, отчитывается таким образом, если только он не является [форком](/docs/ru/sub-agents#fork-the-current-conversation), и Claude получает отчёт отдельным сообщением от субагента.1649* Инструмент `Agent`: `tool_use_result` имеет тип [`AgentOutput`](#agent-2). Отображайте результат на его основе, а не разбирая текст `tool_result`. Поле `content` результата `completed` содержит отчёт субагента или — для субагента, чей отчёт передаётся через вызов инструмента `SubagentHandback`, — короткую заметку об этой передаче вместо отчёта. В [авторежиме](/docs/ru/permission-modes#eliminate-prompts-with-auto-mode) в Claude Code v2.1.271 или новее каждый субагент, выдающий результат `completed`, отчитывается таким образом, если только он не является [форком](/docs/ru/sub-agents#fork-the-current-conversation), и Claude получает отчёт отдельным сообщением от субагента.
1992 `SDKPartialAssistantMessage`2000 `SDKPartialAssistantMessage`
1993</h3>2001</h3>
1994 2002
1995Потоковое частичное сообщение (только когда `includePartialMessages` имеет значение true). Поле `parent_tool_use_id` всегда равно `null`: события потока выдаются только для основной сессии. Для атрибуции субагентов используйте полные сообщения, которые содержат `parent_tool_use_id`, или включите [`forwardSubagentText`](#options), чтобы получать текст и размышления субагентов как полные сообщения.2003Частичное сообщение при потоковой передаче (только когда `includePartialMessages` равно true).
2004
2005Поле `parent_tool_use_id` всегда равно `null`: события потока выдаются только для основной сессии. Для определения принадлежности субагентам используйте полные сообщения, которые содержат [`agent_id`](#sdkassistantmessage) и `parent_tool_use_id`, или включите [`forwardSubagentText`](#options), чтобы получать текст и размышления субагентов в виде полных сообщений.
1996 2006
1997```typescript theme={null}2007```typescript theme={null}
1998type SDKPartialAssistantMessage = {2008type SDKPartialAssistantMessage = {
5775 task_type?: string;5785 task_type?: string;
5776 is_backgrounded?: boolean;5786 is_backgrounded?: boolean;
5777 spawn_depth?: number;5787 spawn_depth?: number;
5788 parent_task_id?: string;
5778 ambient?: boolean;5789 ambient?: boolean;
5779 uuid: UUID;5790 uuid: UUID;
5780 session_id: string;5791 session_id: string;
5792 5803
5793[Возобновлённый субагент](/docs/ru/agent-sdk/subagents#resume-subagents) всегда сообщает `is_backgrounded: true`, потому что Claude Code запускает каждого возобновлённого субагента в фоне. Когда задача на переднем плане позже переходит в фоновый режим, Claude Code сообщает новое значение `is_backgrounded` в сообщении [`task_updated`](#sdktaskupdatedmessage), а не отправляет второй `task_started`.5804[Возобновлённый субагент](/docs/ru/agent-sdk/subagents#resume-subagents) всегда сообщает `is_backgrounded: true`, потому что Claude Code запускает каждого возобновлённого субагента в фоне. Когда задача на переднем плане позже переходит в фоновый режим, Claude Code сообщает новое значение `is_backgrounded` в сообщении [`task_updated`](#sdktaskupdatedmessage), а не отправляет второй `task_started`.
5794 5805
5806`parent_task_id` содержит `task_id` субагента, который запустил эту задачу. Используйте его, чтобы группировать каждую задачу под запустившим её субагентом. Claude Code устанавливает его для задач субагентов, Bash и [Monitor](#monitor). Поле требует Agent SDK v0.3.292 или более поздней версии. Оно отсутствует, когда:
5807
5808* Задачу запустил основной поток
5809* Claude Code больше не отслеживает родительскую задачу
5810* Задачу запустил [участник команды](/docs/ru/agent-teams) или агент внутри рабочего процесса
5811
5812Родителем может быть задача на переднем плане или задача, которая уже завершилась, поэтому рассматривайте незнакомый идентификатор как отсутствие родителя.
5813
5795<h3 id="sdktaskprogressmessage">5814<h3 id="sdktaskprogressmessage">
5796 `SDKTaskProgressMessage`5815 `SDKTaskProgressMessage`
5797</h3>5816</h3>
5848 `SDKBackgroundTasksChangedMessage`5867 `SDKBackgroundTasksChangedMessage`
5849</h3>5868</h3>
5850 5869
5851Выдаётся всякий раз, когда меняется набор активных фоновых задач: задача запускается, завершается, принудительно останавливается, агент на переднем плане переводится в фоновый режим или меняется поле `description` или `ambient` задачи.5870Выдаётся всякий раз, когда меняется набор активных фоновых задач: задача запускается, завершается или принудительно останавливается; агент на переднем плане переводится в фоновый режим; или меняется поле `description`, `ambient` или `parent_task_id` задачи. Описание поля `parent_task_id` в каждой записи и требование к версии для него см. в [`SDKTaskStartedMessage`](#sdktaskstartedmessage).
5852 5871
5853Массив `tasks` — это полный активный набор. Заменяйте любой кэшированный набор данными каждого сообщения, а не сопоставляйте события `task_started` и `task_notification`, чтобы следующее изменение состава исправляло любое пропущенное событие.5872Массив `tasks` — это полный активный набор. Заменяйте любой кэшированный набор данными каждого сообщения, а не сопоставляйте события `task_started` и `task_notification`, чтобы следующее изменение состава исправляло любое пропущенное событие.
5854 5873
5855Порядок относительно этих событий отдельных задач не определён, поэтому не сопоставляйте эти два потока.5874Когда задача завершается, её [`task_updated`](#sdktaskupdatedmessage) и [`task_notification`](#sdktasknotificationmessage) приходят раньше, чем `background_tasks_changed`, который удаляет её из списка. В остальном порядок относительно событий отдельных задач не определён.
5856 5875
5857При запуске ничего не выдаётся. Сбрасывайте набор до пустого всякий раз, когда процесс CLI сессии запускается или перезапускается, и позвольте следующему изменению состава заново его заполнить.5876При запуске ничего не выдаётся. Сбрасывайте набор до пустого всякий раз, когда процесс CLI сессии запускается или перезапускается, и позвольте следующему изменению состава заново его заполнить.
5858 5877
5869 task_type: string;5888 task_type: string;
5870 subagent_type?: string;5889 subagent_type?: string;
5871 description: string;5890 description: string;
5891 parent_task_id?: string;
5872 ambient?: boolean;5892 ambient?: boolean;
5873 }[];5893 }[];
5874 uuid: UUID;5894 uuid: UUID;