pub struct ToolCall {
pub tool_call_id: ToolCallId,
pub title: String,
pub name: Option<String>,
pub kind: Option<ToolKind>,
pub status: Option<ToolCallStatus>,
pub content: Option<Vec<ToolCallContent>>,
pub locations: Option<Vec<ToolCallLocation>>,
pub raw_input: Option<Value>,
pub raw_output: Option<Value>,
}Expand description
A complete tool call. The agent sends this in
the tool_call variant of SessionUpdate when
the tool call starts.
Fields§
§tool_call_id: ToolCallIdUnique identifier for this tool call within
the session. The agent picks it; the client
uses it to correlate ToolCallUpdates.
title: StringHuman-readable title describing what the tool is doing.
name: Option<String>Programmatic name of the tool being invoked.
Omitting it or sending null both mean that
no tool name is available.
kind: Option<ToolKind>The category of tool. Helps clients choose appropriate icons and UI treatment.
status: Option<ToolCallStatus>Current execution status.
content: Option<Vec<ToolCallContent>>Content produced by the tool call. The
schema’s x-deserialize-skip-invalid-items
means a malformed item is silently dropped.
locations: Option<Vec<ToolCallLocation>>File locations affected by this tool call. Enables “follow-along” features in clients.
raw_input: Option<Value>Raw input parameters sent to the tool. The
agent’s own shape; the typed form is the
untyped Value so the schema’s open
additionalProperties: true survives.
raw_output: Option<Value>Raw output returned by the tool.