1557 type: "assistant";1557 type: "assistant";
1558 uuid: UUID;1558 uuid: UUID;
1559 session_id: string;1559 session_id: string;
1560 message: BetaMessage; // Dall'SDK Anthropic1560 message: BetaMessage; // From Anthropic SDK
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` quando un'interruzione o un annullamento ha troncato il messaggio dell'assistente prima del completamento del flusso: il messaggio non ha `stop_reason` e il contenuto può terminare a metà parola. Il campo è assente sui messaggi completati normalmente. Richiede Agent SDK v0.3.214 o successivo.1582`aborted` è `true` quando un'interruzione o un annullamento ha troncato il messaggio dell'assistente prima del completamento del flusso: il messaggio non ha `stop_reason` e il contenuto può terminare a metà parola. Il campo è assente sui messaggi completati normalmente. Richiede Agent SDK v0.3.214 o successivo.
1582 1583
1584`agent_id` identifica il subagent che ha prodotto il messaggio ed è assente nei messaggi del thread principale. Il valore è uguale al `task_id` nel [`task_started`](#sdktaskstartedmessage) di quel subagent e negli altri eventi di attività, e non cambia quando il subagent viene [ripreso](/docs/it/agent-sdk/subagents#resume-subagents). Il campo richiede Agent SDK v0.3.292 o successiva.
1585
1586Associa i messaggi di un subagent ai suoi eventi di attività tramite `agent_id`, anziché abbinare il `parent_tool_use_id` di un messaggio con il `tool_use_id` di un evento di attività. Quando una chiamata a uno strumento riprende il subagent, gli eventi di attività riportano il `tool_use_id` di quella chiamata, mentre i messaggi mantengono il `parent_tool_use_id` della chiamata allo strumento che ha avviato per primo il subagent, quindi i due non corrispondono più.
1587
1583Claude Code imposta `user_message_uuid` e `user_message_uuids` sul primo messaggio dell'assistente del turno, secondo le condizioni descritte in [`user_message_uuid`](#user_message_uuid). Quando Claude Code riesegue un turno che un riavvio ha interrotto, i messaggi dell'assistente della riesecuzione che contengono questi campi contengono anche [`resume_reason`](#resume_reason).1588Claude Code imposta `user_message_uuid` e `user_message_uuids` sul primo messaggio dell'assistente del turno, secondo le condizioni descritte in [`user_message_uuid`](#user_message_uuid). Quando Claude Code riesegue un turno che un riavvio ha interrotto, i messaggi dell'assistente della riesecuzione che contengono questi campi contengono anche [`resume_reason`](#resume_reason).
1584 1589
1585`timestamp` è l'ora ISO 8601 in cui il contenuto del messaggio ha finito di essere generato sul processo che lo ha prodotto. Il valore proviene dall'orologio di quella macchina, quindi usalo solo per la visualizzazione e non ordinare i messaggi in base a esso. Un turno API può produrre diversi messaggi dell'assistente che condividono un `message.id`, ciascuno con il proprio `timestamp`. Quando il campo è assente, usa come ripiego il momento in cui hai ricevuto il messaggio.1590`timestamp` è l'ora ISO 8601 in cui il contenuto del messaggio ha finito di essere generato sul processo che lo ha prodotto. Il valore proviene dall'orologio di quella macchina, quindi usalo solo per la visualizzazione e non ordinare i messaggi in base a esso. Un turno API può produrre diversi messaggi dell'assistente che condividono un `message.id`, ciascuno con il proprio `timestamp`. Quando il campo è assente, usa come ripiego il momento in cui hai ricevuto il messaggio.
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
1645Un messaggio dell'utente prodotto da un subagent, come il `tool_result` di una delle sue chiamate a strumenti, riporta `agent_id`. Consulta [`SDKAssistantMessage`](#sdkassistantmessage), che definisce il campo e il relativo requisito di versione.
1646
1639In un messaggio che contiene un blocco `tool_result`, `tool_use_result` è l'oggetto di output strutturato dello strumento anziché il testo inviato al modello. La sua forma dipende dallo strumento indicato dal blocco `tool_use` corrispondente, quindi il campo è di tipo `unknown`; le forme integrate sono elencate in [Tool Output Types](#tool-output-types). Questi risultati richiedono una gestione che va oltre la forma elencata:1647In un messaggio che contiene un blocco `tool_result`, `tool_use_result` è l'oggetto di output strutturato dello strumento anziché il testo inviato al modello. La sua forma dipende dallo strumento indicato dal blocco `tool_use` corrispondente, quindi il campo è di tipo `unknown`; le forme integrate sono elencate in [Tool Output Types](#tool-output-types). Questi risultati richiedono una gestione che va oltre la forma elencata:
1640 1648
1641* Lo strumento `Agent`: `tool_use_result` è [`AgentOutput`](#agent-2). Esegui il rendering a partire da esso anziché analizzare il testo di `tool_result`. Il `content` di un risultato `completed` contiene il report del subagent oppure, per un subagent il cui report passa attraverso una chiamata allo strumento `SubagentHandback`, una breve nota su quella restituzione al posto del report. In [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) su Claude Code v2.1.271 o successiva, ogni subagent che produce un risultato `completed` riporta in quel modo a meno che non sia un [fork](/docs/it/sub-agents#fork-the-current-conversation), e Claude riceve il report come messaggio separato dal subagent.1649* Lo strumento `Agent`: `tool_use_result` è [`AgentOutput`](#agent-2). Esegui il rendering a partire da esso anziché analizzare il testo di `tool_result`. Il `content` di un risultato `completed` contiene il report del subagent oppure, per un subagent il cui report passa attraverso una chiamata allo strumento `SubagentHandback`, una breve nota su quella restituzione al posto del report. In [modalità auto](/docs/it/permission-modes#eliminate-prompts-with-auto-mode) su Claude Code v2.1.271 o successiva, ogni subagent che produce un risultato `completed` riporta in quel modo a meno che non sia un [fork](/docs/it/sub-agents#fork-the-current-conversation), e Claude riceve il report come messaggio separato dal subagent.
1992 `SDKPartialAssistantMessage`2000 `SDKPartialAssistantMessage`
1993</h3>2001</h3>
1994 2002
1995Messaggio parziale in streaming (solo quando `includePartialMessages` è true). Il campo `parent_tool_use_id` è sempre `null`: gli eventi di flusso vengono emessi solo per la sessione principale. Per attribuire i messaggi ai subagent, usa i messaggi completi, che contengono `parent_tool_use_id`, oppure abilita [`forwardSubagentText`](#options) per ricevere il testo e il ragionamento dei subagent come messaggi completi.2003Messaggio parziale in streaming (solo quando `includePartialMessages` è true).
2004
2005Il campo `parent_tool_use_id` è sempre `null`: gli eventi di stream vengono emessi solo per la sessione principale. Per l'attribuzione ai subagent, usa i messaggi completi, che riportano [`agent_id`](#sdkassistantmessage) e `parent_tool_use_id`, oppure abilita [`forwardSubagentText`](#options) per ricevere il testo e il ragionamento dei subagent come messaggi completi.
1996 2006
1997```typescript theme={null}2007```typescript theme={null}
1998type SDKPartialAssistantMessage = {2008type SDKPartialAssistantMessage = {
5777 task_type?: string;5787 task_type?: string;
5778 is_backgrounded?: boolean;5788 is_backgrounded?: boolean;
5779 spawn_depth?: number;5789 spawn_depth?: number;
5790 parent_task_id?: string;
5780 ambient?: boolean;5791 ambient?: boolean;
5781 uuid: UUID;5792 uuid: UUID;
5782 session_id: string;5793 session_id: string;
5794 5805
5795Un [subagent ripreso](/docs/it/agent-sdk/subagents#resume-subagents) riporta sempre `is_backgrounded: true`, perché Claude Code esegue ogni subagent ripreso in background. Quando un'attività in primo piano passa in seguito in background, Claude Code riporta il nuovo valore di `is_backgrounded` in un messaggio [`task_updated`](#sdktaskupdatedmessage) invece di inviare un secondo `task_started`.5806Un [subagent ripreso](/docs/it/agent-sdk/subagents#resume-subagents) riporta sempre `is_backgrounded: true`, perché Claude Code esegue ogni subagent ripreso in background. Quando un'attività in primo piano passa in seguito in background, Claude Code riporta il nuovo valore di `is_backgrounded` in un messaggio [`task_updated`](#sdktaskupdatedmessage) invece di inviare un secondo `task_started`.
5796 5807
5808`parent_task_id` contiene il `task_id` del subagent che ha avviato questa attività. Usalo per raggruppare ogni attività sotto il subagent che l'ha avviata. Claude Code lo imposta sulle attività di subagent, Bash e [Monitor](#monitor). Il campo richiede Agent SDK v0.3.292 o versioni successive. È assente quando:
5809
5810* L'attività è stata avviata dal thread principale
5811* Claude Code non tiene più traccia dell'attività padre
5812* L'attività è stata avviata da un [membro di un team di agenti](/docs/it/agent-teams) o da un agente all'interno di un workflow
5813
5814L'attività padre può essere un'attività in primo piano o un'attività già terminata, quindi tratta un ID che non riconosci come assenza di attività padre.
5815
5797<h3 id="sdktaskprogressmessage">5816<h3 id="sdktaskprogressmessage">
5798 `SDKTaskProgressMessage`5817 `SDKTaskProgressMessage`
5799</h3>5818</h3>
5850 `SDKBackgroundTasksChangedMessage`5869 `SDKBackgroundTasksChangedMessage`
5851</h3>5870</h3>
5852 5871
5853Emesso ogni volta che l'insieme delle attività in background attive cambia: un'attività inizia, viene completata, viene terminata, un agente in primo piano passa in background, oppure cambia il campo `description` o `ambient` di un'attività.5872Emesso ogni volta che l'insieme delle attività in background attive cambia: un'attività inizia, viene completata o viene terminata; un agente in primo piano passa in background; oppure cambia il campo `description`, `ambient` o `parent_task_id` di un'attività. Per il campo `parent_task_id` di ciascuna voce, consulta [`SDKTaskStartedMessage`](#sdktaskstartedmessage), che lo definisce insieme al relativo requisito di versione.
5854 5873
5855L'array `tasks` è l'intero insieme attivo. Sostituisci qualsiasi insieme memorizzato nella cache con ogni payload invece di abbinare gli eventi `task_started` e `task_notification`, in modo che la successiva modifica dell'insieme corregga qualsiasi evento che ti sei perso.5874L'array `tasks` è l'intero insieme attivo. Sostituisci qualsiasi insieme memorizzato nella cache con ogni payload invece di abbinare gli eventi `task_started` e `task_notification`, in modo che la successiva modifica dell'insieme corregga qualsiasi evento che ti sei perso.
5856 5875
5857L'ordinamento rispetto a quegli eventi per singola attività non è specificato, quindi non correlare i due flussi.5876Quando un'attività termina, i suoi [`task_updated`](#sdktaskupdatedmessage) e [`task_notification`](#sdktasknotificationmessage) arrivano prima del `background_tasks_changed` che la rimuove dall'elenco. Per il resto, l'ordinamento rispetto agli eventi per singola attività non è specificato.
5858 5877
5859All'avvio non viene emesso nulla. Reimposta su un insieme vuoto ogni volta che il processo CLI della sessione si avvia o si riavvia e lascia che la successiva modifica dell'insieme lo ripopoli.5878All'avvio non viene emesso nulla. Reimposta su un insieme vuoto ogni volta che il processo CLI della sessione si avvia o si riavvia e lascia che la successiva modifica dell'insieme lo ripopoli.
5860 5879
5871 task_type: string;5890 task_type: string;
5872 subagent_type?: string;5891 subagent_type?: string;
5873 description: string;5892 description: string;
5893 parent_task_id?: string;
5874 ambient?: boolean;5894 ambient?: boolean;
5875 }[];5895 }[];
5876 uuid: UUID;5896 uuid: UUID;