pub struct ToolCallRequest {
pub name: String,
pub arguments: Value,
pub tool_call_id: Option<String>,
pub progress_token: Option<Value>,
}Expand description
A tool invocation as carried on a route REQUEST frame.
Fields§
§name: StringThe provider’s bare manifest tool name (no gateway prefix).
arguments: ValueThe arguments exactly as the caller supplied them; consumers never translate them, and the provider’s manifest schema is what accepts or rejects their shape.
tool_call_id: Option<String>The consumer’s own identifier for this call, minted by whatever dispatched it (a model runner’s WAL intent id, a gateway request id). Opaque to the daemon and to subc; unique per call on the consumer’s side, so a provider’s at-most-once fence can key on it directly instead of synthesizing an id from the call’s contents.
None is a statement about the PRODUCER, not the call: it means this
consumer did not supply an id, never that the call has no identity.
A reader must not collapse the two — the moment a legacy producer is
on the other end, treating None as “no id exists” and synthesizing
one silently reproduces exactly the failure this field exists to end.
A reader that synthesizes a fallback id when this is None must
record that the fallback fired (a fallback that never reports firing
is indistinguishable from a working component that is quietly wrong).
progress_token: Option<Value>An MCP progress token the consumer wants progress notifications correlated to, when the caller requested progress. Opaque here.
Implementations§
Trait Implementations§
Source§impl Clone for ToolCallRequest
impl Clone for ToolCallRequest
Source§fn clone(&self) -> ToolCallRequest
fn clone(&self) -> ToolCallRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more