pub enum AgentMessage {
ToolCallRequest {
id: String,
capability_token: Box<CapabilityToken>,
server_id: String,
tool: String,
params: Box<Value>,
governed_intent: Option<Box<GovernedTransactionIntent>>,
approval_token: Option<Box<GovernedApprovalToken>>,
approval_tokens: Vec<GovernedApprovalToken>,
threshold_approval_proposal: Option<Box<ThresholdApprovalProposal>>,
supplemental_authorization: Option<Box<OpaqueSupplementalAuthorization>>,
execution_nonce: Option<Box<SignedExecutionNonce>>,
},
ListCapabilities,
Heartbeat,
}Expand description
Messages sent from the Agent to the Kernel.
Variants§
ToolCallRequest
Request to invoke a tool, presenting a capability token as authority.
Fields
capability_token: Box<CapabilityToken>The signed capability token authorizing this call.
governed_intent: Option<Box<GovernedTransactionIntent>>Governed transaction the agent is asking the kernel to authorize.
approval_token: Option<Box<GovernedApprovalToken>>Single approval covering the governed intent.
approval_tokens: Vec<GovernedApprovalToken>Approvals collected for a threshold proposal.
threshold_approval_proposal: Option<Box<ThresholdApprovalProposal>>Threshold policy the collected approvals are counted against.
Opaque authorization extension carried through to the kernel.
execution_nonce: Option<Box<SignedExecutionNonce>>Kernel-issued nonce from a strict execution preflight for this request.
ListCapabilities
Request a listing of the agent’s current capabilities.
Heartbeat
Liveness probe.
Implementations§
Source§impl AgentMessage
impl AgentMessage
Reports why the message’s authorization fields cannot be honoured together,
or None when the combination is admissible.
The wire schema states these rules, but a peer that ignores the schema must still be refused rather than evaluated against a partial authorization set.
Trait Implementations§
Source§impl Clone for AgentMessage
impl Clone for AgentMessage
Source§fn clone(&self) -> AgentMessage
fn clone(&self) -> AgentMessage
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more