Skip to content

feat(server): make @PublicAgentCard optional with fallback to @ExtendedAgentCard - #1124

Open
ehsavoie wants to merge 3 commits into
a2aproject:mainfrom
ehsavoie:issue_1120
Open

feat(server): make @PublicAgentCard optional with fallback to @ExtendedAgentCard#1124
ehsavoie wants to merge 3 commits into
a2aproject:mainfrom
ehsavoie:issue_1120

Conversation

@ehsavoie

@ehsavoie ehsavoie commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator
  • Remove @DefaultBean AgentCard from DefaultProducers; bean absence is the signal
  • Return 404 from /.well-known/agent-card.json when no @PublicAgentCard
  • Fall back to @ExtendedAgentCard for internal capability checks across all transports

Fixes #1120 🦕

On top of #1119

- Add TenantNotFoundException; JSONRPCHandler and RestHandler throw/return 404 when AgentCardRouter is set but tenant not found
- Single-tenant servers (no router) ignore the tenant segment and serve the default card
- CdiAgentCardRouter.resolvePublicCard now returns null for unknown/blank tenants instead of the default card
- Add Utils.buildTenantCardPath helper; restrict fallback retry in A2ACardResolver to 404 only
- Update all tests to expect 404 for unknown tenants

Fixes: a2aproject#1108

Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
…ture

- Add gRPC multitenancy integration tests verifying tenant-based executor routing
- Extract shared CDI producers into test-common module, reuse across jsonrpc and gRPC
- Config-driven TestAuthorizationController with CDI alternative verification test

This fixes a2aproject#1102

Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
…edAgentCard

- Remove @DefaultBean AgentCard from DefaultProducers; bean absence is the signal
- Return 404 from /.well-known/agent-card.json when no @PublicAgentCard
- Fall back to @ExtendedAgentCard for internal capability checks across all transports

Fixes a2aproject#1120

Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
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.

[Feat]: Make the public agent card optional

1 participant