Normandy.A2A.Registry
(normandy v0.6.0)
View Source
Helpers for discovering remote A2A agents and registering them as tools.
Example
alias Normandy.A2A.Registry, as: A2ARegistry
alias Normandy.Tools.Registry
registry = Registry.new()
{:ok, registry} = A2ARegistry.discover_and_register(
registry,
"https://agent.example.com",
auth_token: "bearer-token"
)
Summary
Functions
Discovers a remote A2A agent and registers it as tool(s) in the registry.
Creates AgentTool structs from a pre-fetched agent card.
Functions
@spec discover_and_register(Normandy.Tools.Registry.t(), String.t(), keyword()) :: {:ok, Normandy.Tools.Registry.t()} | {:error, term()}
Discovers a remote A2A agent and registers it as tool(s) in the registry.
Creates one tool per skill if the agent has skills, or a single general tool if it has no skills.
Options
:auth_token- Bearer token for authentication:transport_opts- Options passed to the A2A transport (also used for discovery):timeout- Task completion timeout (default: 60s)
@spec from_agent_card(Claudio.A2A.AgentCard.t(), String.t(), keyword()) :: [ Normandy.A2A.AgentTool.t() ]
Creates AgentTool structs from a pre-fetched agent card.
Returns one tool per skill, or a single general tool if no skills.