pub struct ToolCallRequest {Show 15 fields
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 execution_nonce: Option<SignedExecutionNonce>,
pub governed_intent: Option<GovernedTransactionIntent>,
pub approval_token: Option<GovernedApprovalToken>,
pub approval_tokens: Vec<GovernedApprovalToken>,
pub threshold_approval_proposal: Option<ThresholdApprovalProposal>,
pub supplemental_authorization: Option<OpaqueSupplementalAuthorization>,
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).
execution_nonce: Option<SignedExecutionNonce>Optional execution nonce presented for a strict nonce-protected dispatch. The nonce is minted by an allow evaluation and consumed exactly once before the tool server is invoked.
governed_intent: Option<GovernedTransactionIntent>Optional governed transaction intent bound to this invocation.
approval_token: Option<GovernedApprovalToken>Optional approval token authorizing this governed invocation.
approval_tokens: Vec<GovernedApprovalToken>Bounded threshold approval set. Requests must not also set approval_token.
threshold_approval_proposal: Option<ThresholdApprovalProposal>Policy-authority-signed proposal binding a threshold approval set.
Opaque authenticated extension for a composition-installed verifier. The kernel never accepts quota authority directly from this wrapper.
model_metadata: Option<ModelMetadata>Optional metadata describing the model executing the calling
agent. Consumed by Constraint::ModelConstraint enforcement.
Absent when callers omit it; when the matched grant carries a
ModelConstraint with any requirement, the call is denied.
federated_origin_kernel_id: Option<String>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 persists the signed receipt locally before requesting bilateral co-signing from the origin kernel. Absent for intra-org calls.
The field is skipped from wire serialization when None so the
wire format stays byte-identical.
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 moreSource§impl Debug for ToolCallRequest
impl Debug for ToolCallRequest
Source§impl<'de> Deserialize<'de> for ToolCallRequest
impl<'de> Deserialize<'de> for ToolCallRequest
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>,
Auto Trait Implementations§
impl Freeze for ToolCallRequest
impl RefUnwindSafe for ToolCallRequest
impl Send for ToolCallRequest
impl Sync for ToolCallRequest
impl Unpin for ToolCallRequest
impl UnsafeUnpin for ToolCallRequest
impl UnwindSafe for ToolCallRequest
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more