pub struct ToolCallRequest {
pub request_id: String,
pub capability: CapabilityToken,
pub tool_name: String,
pub server_id: ServerId,
pub agent_id: AgentId,
pub arguments: Value,
pub dpop_proof: Option<DpopProof>,
pub governed_intent: Option<GovernedTransactionIntent>,
pub approval_token: Option<GovernedApprovalToken>,
pub model_metadata: Option<ModelMetadata>,
pub federated_origin_kernel_id: Option<String>,
}Expand description
A tool call request as seen by the kernel.
Fields§
§request_id: StringUnique request identifier.
capability: CapabilityTokenThe signed capability token authorizing this call.
tool_name: StringThe tool to invoke.
server_id: ServerIdThe server hosting the tool.
agent_id: AgentIdThe calling agent’s identifier (hex-encoded public key).
arguments: ValueTool arguments.
dpop_proof: Option<DpopProof>Optional DPoP proof. Required when the matched grant has dpop_required == Some(true).
governed_intent: Option<GovernedTransactionIntent>Optional governed transaction intent bound to this invocation.
approval_token: Option<GovernedApprovalToken>Optional approval token authorizing this governed invocation.
model_metadata: Option<ModelMetadata>Optional metadata describing the model executing the calling
agent. Consumed by Constraint::ModelConstraint enforcement.
Absent in legacy callers; when the matched grant carries a
ModelConstraint with any requirement, the call is denied.
federated_origin_kernel_id: Option<String>Phase 20.3: identifier of the origin kernel when this request crosses a federation boundary (agent in Org A invoking a tool in Org B). When set, the local (tool-host) kernel dispatches the signed receipt to the origin kernel for bilateral co-signing before the receipt is persisted. Absent for intra-org calls.
The field is skipped from wire serialization when None so the
legacy wire format stays byte-identical.