Module: A2A::Discovery
- Defined in:
- lib/a2a/discovery.rb
Defined Under Namespace
Classes: Transport
Constant Summary collapse
- WELL_KNOWN_PATH =
"/.well-known/agent-card.json"
Class Method Summary collapse
-
.fetch(base_url, transport: Transport.new) ⇒ Object
§8.2, §14.3 — fetches the public AgentCard from /.well-known/a2a.
-
.fetch_extended(base_url, headers: {}, extensions: [], transport: Transport.new) ⇒ Object
§8.6.2 — fetches the public card, then calls GetExtendedAgentCard.
Class Method Details
.fetch(base_url, transport: Transport.new) ⇒ Object
§8.2, §14.3 — fetches the public AgentCard from /.well-known/a2a. No authentication required.
13 14 15 16 |
# File 'lib/a2a/discovery.rb', line 13 def self.fetch(base_url, transport: Transport.new) url = "#{base_url.chomp('/')}#{WELL_KNOWN_PATH}" AgentCard.from_h(transport.get(url)) end |
.fetch_extended(base_url, headers: {}, extensions: [], transport: Transport.new) ⇒ Object
§8.6.2 — fetches the public card, then calls GetExtendedAgentCard. The public card must declare capabilities.extendedAgentCard: true.
20 21 22 23 24 |
# File 'lib/a2a/discovery.rb', line 20 def self.fetch_extended(base_url, headers: {}, extensions: [], transport: Transport.new) card = fetch(base_url, transport: transport) Client.from_agent_card(card, headers: headers, extensions: extensions) .get_extended_agent_card end |