Declaration of a protocol extension supported by an agent.
Mirrors the AgentExtension object from the A2A v1.0 spec. Used both as a
struct embedded in AgentCard.capabilities.extensions and as the value
returned by an A2A.Extension module's declaration/1 callback.
Fields
:uri— unique identifier for the extension (required):description— human-readable description of how the agent uses it:required— iftrue, clients must declare support via theA2A-Extensionsrequest header; otherwise the server returnsExtensionSupportRequiredError(-32008). Defaults tofalse.:params— optional extension-specific configuration parameters
Examples
%A2A.AgentExtension{
uri: "https://a2a-protocol.org/extensions/timestamp",
description: "Adds timestamps to messages and artifacts"
}
%A2A.AgentExtension{
uri: "https://a2a-protocol.org/extensions/secure-passport",
description: "Personalization via signed passport",
required: true,
params: %{"version" => "1.0"}
}