pub struct AgentExtension {
pub uri: Arc<str>,
pub description: Arc<str>,
pub required: bool,
pub params: Option<Map<String, Value>>,
}Expand description
A declaration of a protocol extension the agent supports.
A2A v1.0 §6 reserves a set of extension URIs for
protocol-level additions (e.g. audio-input, video-input,
agent-to-agent routing). An agent declares the extensions it
honours through AgentCapabilities::extensions; a client
can read the list to decide which features to surface.
The params field carries extension-specific configuration
— a google.protobuf.Struct is a JSON object, modelled here
as serde_json::Map for round-tripping without an additional
dep on the protobuf crate.
Fields§
§uri: Arc<str>The unique URI identifying the extension. REQUIRED, non-empty.
description: Arc<str>A human-readable description of how the agent uses the extension. REQUIRED, non-empty.
required: boolIf true, the client must understand and comply
with the extension’s requirements. A client that does
not understand a required extension must refuse to
interact with the agent.
params: Option<Map<String, Value>>Extension-specific configuration parameters. None
when the extension has no params; an empty object
(Some({})) when the extension defines a params schema
with no values.