Class: A2A::AgentCard
- Inherits:
-
ProtocolStruct
- Object
- Dry::Struct
- ProtocolStruct
- A2A::AgentCard
- Defined in:
- lib/a2a/types/agent_card.rb
Overview
The AgentCard is a self-describing manifest for an agent. It provides essential metadata including the agent’s identity, capabilities, skills, supported communication methods, and security requirements.
Instance Method Summary collapse
-
#additional_interfaces ⇒ Array<AgentInterface>?
A list of additional supported interfaces (transport and URL combinations).
-
#capabilities ⇒ AgentCapabilities
A declaration of optional capabilities supported by the agent.
-
#default_input_modes ⇒ Array<String>
Default set of supported input MIME types for all skills, which can be overridden on a per-skill basis.
-
#default_output_modes ⇒ Array<String>
Default set of supported output MIME types for all skills, which can be overridden on a per-skill basis.
-
#description ⇒ String
A human-readable description of the agent, assisting users and other agents in understanding its purpose.
-
#documentation_url ⇒ URI?
An optional URL to the agent’s documentation.
-
#icon_url ⇒ URI?
An optional URL to an icon for the agent.
-
#name ⇒ String
A human-readable name for the agent.
-
#preferred_transport ⇒ String
The transport protocol for the preferred endpoint (the main ‘url’ field).
-
#protocol_version ⇒ String
The version of the A2A protocol this agent supports.
-
#provider ⇒ AgentProvider?
Information about the provider of the agent.
-
#security ⇒ Array<Hash>?
A list of security requirement objects that apply to all agent interactions.
-
#security_schemes ⇒ Hash<String, SecurityScheme>?
A declaration of the security schemes available to authorize requests.
-
#signatures ⇒ Array<AgentCardSignature>?
JSON Web Signatures computed for this AgentCard.
-
#skills ⇒ Array<AgentSkill>
The set of skills, or distinct capabilities, that the agent can perform.
-
#supports_authenticated_extended_card ⇒ Boolean
If true, the agent can provide an extended agent card with additional details to authenticated users.
-
#url ⇒ URI
The preferred endpoint URL for interacting with the agent.
-
#version ⇒ String
The agent’s own version number.
Methods included from Extensions::CaseTransformation
Instance Method Details
#additional_interfaces ⇒ Array<AgentInterface>?
Returns A list of additional supported interfaces (transport and URL combinations). This allows agents to expose multiple transports, potentially at different URLs.
28 |
# File 'lib/a2a/types/agent_card.rb', line 28 attribute? :additional_interfaces, Types::Array.of(Types::Constructor(AgentInterface)).optional |
#capabilities ⇒ AgentCapabilities
Returns A declaration of optional capabilities supported by the agent.
43 |
# File 'lib/a2a/types/agent_card.rb', line 43 attribute :capabilities, Types::Constructor(AgentCapabilities) |
#default_input_modes ⇒ Array<String>
Returns Default set of supported input MIME types for all skills, which can be overridden on a per-skill basis.
55 |
# File 'lib/a2a/types/agent_card.rb', line 55 attribute :default_input_modes, Types::Array.of(Types::String) |
#default_output_modes ⇒ Array<String>
Returns Default set of supported output MIME types for all skills, which can be overridden on a per-skill basis.
59 |
# File 'lib/a2a/types/agent_card.rb', line 59 attribute :default_output_modes, Types::Array.of(Types::String) |
#description ⇒ String
Returns A human-readable description of the agent, assisting users and other agents in understanding its purpose.
16 |
# File 'lib/a2a/types/agent_card.rb', line 16 attribute :description, Types::String |
#documentation_url ⇒ URI?
Returns An optional URL to the agent’s documentation.
40 |
# File 'lib/a2a/types/agent_card.rb', line 40 attribute? :documentation_url, Types::URI.optional |
#icon_url ⇒ URI?
Returns An optional URL to an icon for the agent.
31 |
# File 'lib/a2a/types/agent_card.rb', line 31 attribute? :icon_url, Types::URI.optional |
#name ⇒ String
Returns A human-readable name for the agent.
12 |
# File 'lib/a2a/types/agent_card.rb', line 12 attribute :name, Types::String |
#preferred_transport ⇒ String
Returns The transport protocol for the preferred endpoint (the main ‘url’ field). If not specified, defaults to ‘JSONRPC’.
24 |
# File 'lib/a2a/types/agent_card.rb', line 24 attribute? :preferred_transport, Types::String.default('JSONRPC') |
#protocol_version ⇒ String
Returns The version of the A2A protocol this agent supports.
9 |
# File 'lib/a2a/types/agent_card.rb', line 9 attribute :protocol_version, Types::String.default('0.3.0') |
#provider ⇒ AgentProvider?
Returns Information about the provider of the agent.
34 |
# File 'lib/a2a/types/agent_card.rb', line 34 attribute? :provider, Types::Constructor(AgentProvider).optional |
#security ⇒ Array<Hash>?
Returns A list of security requirement objects that apply to all agent interactions. Each object lists security schemes that can be used. Follows the OpenAPI 3.0 Security Requirement Object.
51 |
# File 'lib/a2a/types/agent_card.rb', line 51 attribute? :security, Types::Array.of(Types::Hash.map(Types::String | Types::Symbol, Types::Array.of(Types::String))).optional |
#security_schemes ⇒ Hash<String, SecurityScheme>?
Returns A declaration of the security schemes available to authorize requests. The key is the scheme name. Follows the OpenAPI 3.0 Security Scheme Object.
47 |
# File 'lib/a2a/types/agent_card.rb', line 47 attribute? :security_schemes, Types::Hash.map(Types::Symbol | Types::String, Types::Constructor(SecurityScheme)).optional |
#signatures ⇒ Array<AgentCardSignature>?
Returns JSON Web Signatures computed for this AgentCard.
69 |
# File 'lib/a2a/types/agent_card.rb', line 69 attribute? :signatures, Types::Array.of(Types::Constructor(AgentCardSignature)).optional |
#skills ⇒ Array<AgentSkill>
Returns The set of skills, or distinct capabilities, that the agent can perform.
62 |
# File 'lib/a2a/types/agent_card.rb', line 62 attribute :skills, Types::Array.of(Types::Constructor(AgentSkill)) |
#supports_authenticated_extended_card ⇒ Boolean
Returns If true, the agent can provide an extended agent card with additional details to authenticated users. Defaults to false.
66 |
# File 'lib/a2a/types/agent_card.rb', line 66 attribute? :supports_authenticated_extended_card, Types::Bool.default(false) |
#url ⇒ URI
Returns The preferred endpoint URL for interacting with the agent. This URL MUST support the transport specified by ‘preferred_transport’.
20 |
# File 'lib/a2a/types/agent_card.rb', line 20 attribute :url, Types::URI |
#version ⇒ String
Returns The agent’s own version number. The format is defined by the provider.
37 |
# File 'lib/a2a/types/agent_card.rb', line 37 attribute :version, Types::String |