Claudio.A2A.AgentCard (Claudio v0.5.0)
View SourceA2A Agent Card — describes an agent's identity, capabilities, and skills.
Discoverable at {base_url}/.well-known/agent-card.json.
Parsing a discovered agent card
{:ok, card} = Claudio.A2A.Client.discover("https://agent.example.com")
card.name # "My Agent"
card.skills # [%Skill{id: "search", ...}]Building an agent card
AgentCard.new("My Agent", "Helps with tasks")
|> AgentCard.set_version("1.0.0")
|> AgentCard.set_provider("https://example.com", "My Org")
|> AgentCard.add_skill("search", "Search the web", tags: ["search", "web"])
|> AgentCard.add_interface("https://agent.example.com/a2a", "jsonrpc+http", "0.3")
|> AgentCard.set_capabilities(streaming: true, push_notifications: false)
Summary
Types
@type t() :: %Claudio.A2A.AgentCard{ capabilities: Claudio.A2A.AgentCard.Capabilities.t() | nil, default_input_modes: [String.t()], default_output_modes: [String.t()], description: String.t(), documentation_url: String.t() | nil, icon_url: String.t() | nil, name: String.t(), provider: Claudio.A2A.AgentCard.Provider.t() | nil, security_requirements: list() | nil, security_schemes: map() | nil, signatures: list() | nil, skills: [Claudio.A2A.AgentCard.Skill.t()], supported_interfaces: [Claudio.A2A.AgentCard.Interface.t()], version: String.t() | nil }
Functions
Create a new agent card.