pub struct AssistantMessage {Show 32 fields
pub message: AssistantMessageContent,
pub session_id: String,
pub uuid: Option<String>,
pub parent_tool_use_id: Option<String>,
pub request_id: Option<String>,
pub user_message_uuid: Option<String>,
pub user_message_uuids: Vec<String>,
pub subagent_type: Option<String>,
pub task_description: Option<String>,
pub error: Option<AssistantErrorKind>,
pub aborted: Option<bool>,
pub resumed_from_incomplete_thinking: Option<bool>,
pub supersedes: Vec<String>,
pub timestamp: Option<String>,
pub tool_use_meta: Vec<ToolUseMeta>,
pub batch_tool_uses: Vec<BatchToolUse>,
pub wire_tool_inputs: Option<Map<String, Value>>,
pub local_command_source: Option<String>,
pub narration_block_indexes: Vec<usize>,
pub context_usage: Option<ContextUsage>,
pub is_meta: Option<bool>,
pub is_virtual: Option<bool>,
pub is_api_error_message: Option<bool>,
pub api_error_status: Option<u16>,
pub api_error: Option<String>,
pub error_details: Option<String>,
pub advisor_model: Option<String>,
pub attribution_agent: Option<String>,
pub attribution_skill: Option<String>,
pub attribution_plugin: Option<String>,
pub attribution_mcp_server: Option<String>,
pub attribution_mcp_tool: Option<String>,
}Expand description
Assistant message
Fields§
§message: AssistantMessageContent§session_id: String§uuid: Option<String>§parent_tool_use_id: Option<String>§request_id: Option<String>Anthropic API request id that produced this message (e.g. req_...).
user_message_uuid: Option<String>Client uuid of the user message that triggered this turn, stamped on the turn’s first reply frame only so a consumer can bind the reply to the send it answers without waiting for the result. Absent on every later frame of the turn, on subagent frames, on synthetic/scheduled (meta) turns, and from CLIs before 2.1.259.
user_message_uuids: Vec<String>Client uuids of every user message whose prompt this turn has consumed
so far, in consumption order — all members of a prompt batch the host
merged into this one turn. Always contains user_message_uuid; at
most 64 entries. Present exactly when user_message_uuid is; absent
from CLIs before 2.1.259 (fall back to user_message_uuid).
subagent_type: Option<String>Subagent type, when this assistant message was produced inside a
local_agent subagent (e.g. general-purpose, Explore).
task_description: Option<String>Short description of the subagent task, present alongside subagent_type.
error: Option<AssistantErrorKind>§aborted: Option<bool>True when this message was truncated by an interrupt/abort before the
stream completed — stop_reason was never received and the content
may end mid-word. Absent on normally completed messages.
resumed_from_incomplete_thinking: Option<bool>True when this turn continued the preceding truncated assistant turn inside its trailing signed thinking block (max-output-tokens recovery). Histories replayed through the bridge must carry the flag back so the normalizer keeps the run’s prefix on the wire.
supersedes: Vec<String>§timestamp: Option<String>§tool_use_meta: Vec<ToolUseMeta>§batch_tool_uses: Vec<BatchToolUse>{id, name} of the original Batch* tool_use block(s) for a message
whose content was decomposed into synthetic v1 tool_use blocks.
Round-tripped so a replayed history reassembles the batch block on the
wire. Wrapper-level sibling — never inside message.content.
wire_tool_inputs: Option<Map<String, Value>>tool_use.input exactly as the API produced it, keyed by tool_use
id, for a message whose message.content carries the
client-normalized input. Round-tripped so a replayed history echoes
each earlier tool call back to the API as the API emitted it.
Wrapper-level sibling — never inside message.content (CLI 2.1.259+).
local_command_source: Option<String>The originating system/local_command row’s wire-form content,
carried on the loop-synthesized local-command twin so a bridge/SDK
history replay rebuilds the internal system row instead of dropping
the output. Wrapper-level sibling — never inside message.content
(CLI 2.1.259+).
narration_block_indexes: Vec<usize>Ascending zero-based indexes into message.content of the thinking
blocks whose signature the server tagged as narration (server
summaries of the prose between tool calls, not the model’s own
reasoning), so a renderer can label them as summaries without decoding
the signature envelope. Fail-closed: an unparseable or legacy
signature is not listed. Omitted when the frame has no such block and
by CLIs before 2.1.260; treat unlisted thinking blocks as ordinary
thinking. Wrapper-level sibling — never inside message.content.
context_usage: Option<ContextUsage>Structured twin of the /context report, carried on the synthetic
assistant message that delivers the markdown table. Present only on
/context results from CLIs new enough to attach it (2.1.239+).
is_meta: Option<bool>§is_virtual: Option<bool>§is_api_error_message: Option<bool>§api_error_status: Option<u16>§api_error: Option<String>§error_details: Option<String>§advisor_model: Option<String>§attribution_agent: Option<String>§attribution_skill: Option<String>§attribution_plugin: Option<String>§attribution_mcp_server: Option<String>§attribution_mcp_tool: Option<String>Trait Implementations§
Source§impl Clone for AssistantMessage
impl Clone for AssistantMessage
Source§fn clone(&self) -> AssistantMessage
fn clone(&self) -> AssistantMessage
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more