Skip to main content

Module tool_call

Module tool_call 

Source
Expand description

The body of a tool-call REQUEST frame on a bound route.

The daemon splices route frames without reading their bodies, so this shape is a contract between consumers (the MCP gateway, model runners) and provider modules, not something the daemon enforces. Before this type existed every consumer carried its own struct and every provider its own reader, and the fields drifted: the gateway sent progress_token, a model runner sent only name and arguments, and a provider that needed the caller’s tool-call id had no field to read it from.

Decoding is deliberately tolerant of unknown members: a provider must never refuse a call because a newer consumer added a key it does not know. Omitted optionals decode as None; None optionals are omitted on the wire, so a body carrying neither optional serializes exactly as the two-field shape older consumers already send — this type is drop-in for them without a wire change.

Structs§

ToolCallRequest
A tool invocation as carried on a route REQUEST frame.