Skip to content

feat: native multi-agent support via MultiAgentRegistry - #1031

Open
malladinagarjuna2 wants to merge 1 commit into
a2aproject:mainfrom
malladinagarjuna2:feat-multi-agent-support
Open

feat: native multi-agent support via MultiAgentRegistry#1031
malladinagarjuna2 wants to merge 1 commit into
a2aproject:mainfrom
malladinagarjuna2:feat-multi-agent-support

Conversation

@malladinagarjuna2

Copy link
Copy Markdown

Overview

This PR introduces native support for deploying multiple Server Agents within a single Quarkus application instance for the reference-jsonrpc extension, resolving the operational overhead of 1:1 Kubernetes pod mappings.

Fixes #898

Changes

  • MultiAgentRegistry Interface: Introduced a registry interface that users can implement as a CDI bean to provide a map of agentId to JSONRPCHandler.
  • Dynamic Routing in A2AServerRoutes: The server router now checks for the presence of a MultiAgentRegistry. If found, it iterates over all registered agents and dynamically creates Vert.x routes for /{agentId} and /{agentId}/.well-known/agent-card.json.
  • Backward Compatibility: If no registry is provided, the router falls back to the default single-agent singleton behavior (/ and /.well-known/agent-card.json).

This allows production deployments to scale infinitely to hundreds of agents in a single JVM with zero custom routing code.

This adds native support for multiple agents in the reference-jsonrpc Quarkus extension.
If a CDI bean implements MultiAgentRegistry, the A2AServerRoutes will automatically
dynamically register endpoints for each agent, mapping '/{agentId}' to its JSONRPCHandler
and '/{agentId}/.well-known/agent-card.json'.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

How to scale a A2A production deployment to 100 A2A Server Agents each exposing a different AgentCard?

1 participant