Skip to content

fix(acp): complete isolated v2 wire contracts - #187

Open
YoungSx wants to merge 6 commits into
mainfrom
fix/acp-v2-wire-contracts
Open

fix(acp): complete isolated v2 wire contracts#187
YoungSx wants to merge 6 commits into
mainfrom
fix/acp-v2-wire-contracts

Conversation

@YoungSx

@YoungSx YoungSx commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

ACP v2 的显式序列化上下文仍会漏掉分组配置 ID、消息 ID、资源图标和嵌套扩展字段。本变更按固定的上游 schema 补齐这些报文契约,并保留稳定 v1 默认和 live v2 初始化拒绝。

  • 补齐 configId / groupId、必需 messageId、text/custom command input、资源链接图标以及版本专属 session / MCP 字段;未知扩展原样往返,仅在 schema 允许处采用 default-on-error / skip-invalid-item。
  • ResourceLinkDraftExtensions 使用统一 SEACP002 草案标记;增加稳定的 AuthCapabilities opt-in 表达,默认不广告终端登录。保留 1.0.0 公开 API 和源生成上下文兼容面。
  • 本 PR 包含 fix(acp): enforce authentication discriminator boundaries #184 的鉴权边界及指标测试隔离前置提交。先合并 fix(acp): enforce authentication discriminator boundaries #184 后可以去掉重复提交;当前基于最新 main,使完整平台 CI 可运行。

验证:SDK 746/746;SDK 与测试 formatting / analyzers 均零警告、零错误;相对已发布 1.0.0 的包兼容验证通过;真实 nupkg 稳定 consumer 可 restore/build/run;全部 38 个草案类型在未抑制时编译失败,两种文档化抑制都能编译运行。增量边界反向验证 41 例中 29 例转红,恢复修复后全绿。以上本地验证覆盖与当前提交相同的代码,随后仅 rebase main 的打包 CI 修复并更新 README;当前提交 520c30aa 的完整 CI 已核验:16 项成功、1 项仓库条件跳过,PR 无冲突。

Refs #149, #147. 不关闭总单:prompt acknowledgement / state completion、消息 upsert、流式 tool / terminal 投影、permission 执行、batch 与实验运行时协商仍未完成。

协议依据:agentclientprotocol/agent-client-protocol@5ebaf0aceb04a4ba6574cd63fa6355352dc6d931

Default only an absent v1 type to agent, reject non-string discriminators, and preserve unsupported strings and payload fields. Share version-aware authentication serialization across DTO, collection, and initialize roots so unknown fields cannot override the negotiated method identity.

Add raw initialize transport regressions, presentation selection coverage, and schema round-trip properties. Validation: 593 SDK tests, 26 presentation authentication tests, analyzer and package validation, external nupkg consumer, and a 9-case failing whitelist mutation.

Refs #147
Apply negotiated identifiers and required message identities across direct, collection, and parent contracts. Preserve unknown command and resource metadata, honor explicit schema recovery rules, and keep v1-only state off draft wire.

Keep live v2 disabled and preserve the published serialization surface. Validate 680 SDK tests, package compatibility against 1.0.0, and 38 draft consumer diagnostics; version-rule mutations fail 45 targeted cases.
@vercel

vercel Bot commented Sep 8, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
salmonegg Ready Ready Preview Sep 8, 2026 9:13pm UTC

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

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.

1 participant