Skip to content

Commit 11e5cda

Browse files
bokelleyclaude
andauthored
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

0 commit comments

Comments
 (0)