Skip to content

feat: resolve --agent-card from AI Catalogs - #152

Open
yarolegovich wants to merge 1 commit into
mainfrom
yarolegovich/ai-catalog
Open

yarolegovich wants to merge 1 commit into
mainfrom
yarolegovich/ai-catalog

Conversation

@yarolegovich

@yarolegovich yarolegovich commented Nov 12, 2026 •

Copy link
Copy Markdown
Member
  • Added a2a catalog add/list/update/remove/search (experimental). They read and write the store shared with ai-catalog-cli (~/.ai-catalog, respecting AI_CATALOG_CACHE_DIR), so a catalog registered with either tool is visible to both, and search lists only A2A agents (application/a2a-agent-card+json).
  • Embedded ai-catalog-go v0.3.0 for the catalog model rather than shelling out to the ai-catalog binary. Store I/O lives in the new internal/aicatalog package and keeps every registry field it doesn't own, and its tests read a store written by ai-catalog-cli v0.4.0.
  • -a urn:... looks the agent up across the registered catalogs, and --catalog <name|url> narrows the lookup to one registered catalog or an unregistered catalog URL. An identifier listed by more than one catalog is an error that suggests --catalog, and a missing one lists the agents that are in scope.
  • -a <url> that serves an AI Catalog instead of a card resolves to the catalog's only A2A agent, and errors with the list of agents otherwise.
  • a2a warns about a store whose format it doesn't recognize, reads it on a best-effort basis, and refuses to modify it, since the layout is not part of the spec and ai-catalog is pre-1.0.

-a values starting with urn: used to be treated as hosts and failed, and an existing file named urn:... is still read as a card, so existing invocations are unaffected. Lookups in registered catalogs read only the local store; a2a catalog update fetches them again.

Fixes #19

Embed ai-catalog-go to register AI Catalogs in the store shared with
ai-catalog-cli and resolve --agent-card from the A2A agents they list,
without depending on the ai-catalog binary.

- a2a catalog add/list/update/remove/search (experimental)
- -a <identifier> looks the agent up across registered catalogs, or in
  the catalog given with --catalog <name|url>
- -a <url> that serves a catalog resolves to its only A2A agent

Fixes #19
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: resolve agent cards directly from ai-catalog references in --agent-card flag

1 participant