fix(acp): complete isolated v2 wire contracts - #187
Open
YoungSx wants to merge 6 commits into
Open
Conversation
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.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This was referenced Sep 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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草案标记;增加稳定的AuthCapabilitiesopt-in 表达,默认不广告终端登录。保留 1.0.0 公开 API 和源生成上下文兼容面。验证: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。