Commit 11e5cda
feat(registry): community-mirror lifecycle + upsert client (JS #2183/#2187 parity) (#929)
* feat(registry): community-mirror lifecycle + upsert client (JS #2183/#2187 parity)
Add persisted community-mirror adagents lifecycle methods to RegistryClient,
matching the JS SDK route/body shapes:
- publish_community_mirror_adagents -> PUT /api/registry/mirrors/{platform}
- get_community_mirror_adagents -> GET /api/registry/mirrors/{platform}
(returns None on HTTP 404), hydrating superseded_by from the wrapper
- list_community_mirror_adagents -> GET /api/registry/mirrors (limit/offset)
- upsert_community_mirror_adagents -> helper with platform inference from the
config or a single consistent properties[].platform value
A build_community_mirror_adagents helper emits authorized_agents: [], strips
the platform routing key, and rejects authorization claims and generator-only
flags. Platform keys are trimmed/lowercased and validated against
^[a-z0-9_-]{1,64}$.
Closes #925
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* feat(registry): type community-mirror client from generated registry models
adcp#5385 added the community-mirror lifecycle and schemas to the registry
OpenAPI spec. Vendor the updated spec from adcp main, regenerate the registry
types, and retype the community-mirror client methods from dict[str, Any] to
the generated Pydantic models.
- publish/upsert -> CommunityMirrorPublishResponse
- get -> CommunityMirrorGetResponse | None (full wrapper; superseded_by is on
both the wrapper and adagents_json, so the prior hydration is dropped and the
catalog-only invariant is enforced by the model)
- list -> CommunityMirrorListResponse
- add delete_community_mirror_adagents -> CommunityMirrorDeleteResponse, mapping
the 409 not-superseded case to RegistryError
- build helper stops emitting authorized_agents (publish body is catalog-only;
the service forces authorized_agents: [])
Add stable rename-map entries for the new generated collisions
(AdagentsJson1, the five CommunityMirrorPublishRequest anyOf variants) and for
generic inline names surfaced by the spec sync (Brand/Format/Collection/Data/
Success/Severity/DiscoveryMethod1/AuthorizationType/SelectionType/
PublisherProperty).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* test(registry): map community-mirror operationIds in drift test
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent d9367a0 commit 11e5cda
6 files changed
Lines changed: 2341 additions & 55 deletions
File tree
- schemas
- scripts
- src/adcp
- types
- tests
0 commit comments