pub struct SessionToolCallReadyAction {
pub turn_id: String,
pub tool_call_id: String,
pub meta: Option<JsonObject>,
pub invocation_message: StringOrMarkdown,
pub tool_input: Option<String>,
pub confirmation_title: Option<StringOrMarkdown>,
pub edits: Option<AnyValue>,
pub editable: Option<bool>,
pub confirmed: Option<ToolCallConfirmationReason>,
pub options: Option<Vec<ConfirmationOption>>,
}Expand description
Tool call parameters are complete, or a running tool requires re-confirmation.
When dispatched for a streaming tool call, transitions to pending-confirmation
or directly to running if confirmed is set.
When dispatched for a running tool call (e.g. mid-execution permission needed),
transitions back to pending-confirmation. The invocationMessage and _meta
SHOULD be updated to describe the specific confirmation needed. Clients use the
standard session/toolCallConfirmed flow to approve or deny.
For client-provided tools, the server typically sets confirmed to
'not-needed' so the tool transitions directly to running, where the
owning client can begin execution immediately.
Fields§
§turn_id: StringTurn identifier
tool_call_id: StringTool call identifier
meta: Option<JsonObject>Additional provider-specific metadata for this tool call.
Clients MAY look for well-known keys here to provide enhanced UI.
For example, a ptyTerminal key with { input: string; output: string }
indicates the tool operated on a terminal (both input and output may
contain escape sequences).
invocation_message: StringOrMarkdownMessage describing what the tool will do or what confirmation is needed
tool_input: Option<String>Raw tool input
confirmation_title: Option<StringOrMarkdown>Short title for the confirmation prompt (e.g. "Run in terminal", "Write file")
edits: Option<AnyValue>File edits that this tool call will perform, for preview before confirmation
editable: Option<bool>Whether the agent host allows the client to edit the tool’s input parameters before confirming
confirmed: Option<ToolCallConfirmationReason>If set, the tool was auto-confirmed and transitions directly to running
options: Option<Vec<ConfirmationOption>>Options the server offers for this confirmation. When present, the client SHOULD render these instead of a plain approve/deny UI. Each option belongs to a {@link ConfirmationOptionGroup} so the client can still categorise the choices.
Trait Implementations§
Source§impl Clone for SessionToolCallReadyAction
impl Clone for SessionToolCallReadyAction
Source§fn clone(&self) -> SessionToolCallReadyAction
fn clone(&self) -> SessionToolCallReadyAction
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SessionToolCallReadyAction
impl Debug for SessionToolCallReadyAction
Source§impl<'de> Deserialize<'de> for SessionToolCallReadyAction
impl<'de> Deserialize<'de> for SessionToolCallReadyAction
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for SessionToolCallReadyAction
impl PartialEq for SessionToolCallReadyAction
Source§fn eq(&self, other: &SessionToolCallReadyAction) -> bool
fn eq(&self, other: &SessionToolCallReadyAction) -> bool
self and other values to be equal, and is used by ==.