@sema-agent/sdk 16.0.1 → 16.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/README.md +125 -1
  2. package/dist/errors.d.ts +53 -11
  3. package/dist/errors.d.ts.map +1 -1
  4. package/dist/errors.js +32 -4
  5. package/dist/errors.js.map +1 -1
  6. package/dist/events.d.ts +4 -0
  7. package/dist/events.d.ts.map +1 -1
  8. package/dist/events.js.map +1 -1
  9. package/dist/index.d.ts +3 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/registry/admin.d.ts +3 -1
  13. package/dist/registry/admin.d.ts.map +1 -1
  14. package/dist/registry/admin.js +4 -2
  15. package/dist/registry/admin.js.map +1 -1
  16. package/dist/resources/adoption.d.ts +2 -1
  17. package/dist/resources/adoption.d.ts.map +1 -1
  18. package/dist/resources/adoption.js +2 -1
  19. package/dist/resources/adoption.js.map +1 -1
  20. package/dist/resources/approvals.d.ts +10 -3
  21. package/dist/resources/approvals.d.ts.map +1 -1
  22. package/dist/resources/approvals.js +11 -3
  23. package/dist/resources/approvals.js.map +1 -1
  24. package/dist/resources/assistant.d.ts +4 -2
  25. package/dist/resources/assistant.d.ts.map +1 -1
  26. package/dist/resources/assistant.js.map +1 -1
  27. package/dist/resources/leader.d.ts +5 -4
  28. package/dist/resources/leader.d.ts.map +1 -1
  29. package/dist/resources/leader.js +5 -4
  30. package/dist/resources/leader.js.map +1 -1
  31. package/dist/resources/memory.d.ts +6 -2
  32. package/dist/resources/memory.d.ts.map +1 -1
  33. package/dist/resources/memory.js +3 -1
  34. package/dist/resources/memory.js.map +1 -1
  35. package/dist/resources/ops.d.ts +3 -0
  36. package/dist/resources/ops.d.ts.map +1 -1
  37. package/dist/resources/ops.js +3 -0
  38. package/dist/resources/ops.js.map +1 -1
  39. package/dist/resources/rules.d.ts +4 -3
  40. package/dist/resources/rules.d.ts.map +1 -1
  41. package/dist/resources/rules.js +3 -3
  42. package/dist/resources/rules.js.map +1 -1
  43. package/dist/resources/runs.d.ts +20 -6
  44. package/dist/resources/runs.d.ts.map +1 -1
  45. package/dist/resources/runs.js +3 -2
  46. package/dist/resources/runs.js.map +1 -1
  47. package/dist/resources/session-sync.d.ts +11 -7
  48. package/dist/resources/session-sync.d.ts.map +1 -1
  49. package/dist/resources/session-sync.js +9 -6
  50. package/dist/resources/session-sync.js.map +1 -1
  51. package/dist/resources/sessions.d.ts +16 -5
  52. package/dist/resources/sessions.d.ts.map +1 -1
  53. package/dist/resources/sessions.js +15 -4
  54. package/dist/resources/sessions.js.map +1 -1
  55. package/dist/resources/tasks.d.ts +7 -1
  56. package/dist/resources/tasks.d.ts.map +1 -1
  57. package/dist/resources/tasks.js +7 -1
  58. package/dist/resources/tasks.js.map +1 -1
  59. package/dist/resources/tool-approvals.d.ts +24 -3
  60. package/dist/resources/tool-approvals.d.ts.map +1 -1
  61. package/dist/resources/tool-approvals.js +6 -0
  62. package/dist/resources/tool-approvals.js.map +1 -1
  63. package/dist/resources/workflows.d.ts +5 -2
  64. package/dist/resources/workflows.d.ts.map +1 -1
  65. package/dist/resources/workflows.js +5 -2
  66. package/dist/resources/workflows.js.map +1 -1
  67. package/dist/settings.d.ts +34 -8
  68. package/dist/settings.d.ts.map +1 -1
  69. package/dist/sync.d.ts +19 -2
  70. package/dist/sync.d.ts.map +1 -1
  71. package/dist/sync.js +88 -2
  72. package/dist/sync.js.map +1 -1
  73. package/dist/transport.d.ts +2 -0
  74. package/dist/transport.d.ts.map +1 -1
  75. package/dist/transport.js +2 -0
  76. package/dist/transport.js.map +1 -1
  77. package/dist/types.d.ts +213 -30
  78. package/dist/types.d.ts.map +1 -1
  79. package/dist/types.js.map +1 -1
  80. package/openapi.yaml +497 -74
  81. package/package.json +2 -2
package/README.md CHANGED
@@ -109,6 +109,130 @@ The registry's 409 carries two opposite meanings, split by one reader (`classify
109
109
  `ScopeGoneError` on the registry subpath — the target scope was deleted or re-created under the same name, nothing was
110
110
  written, **never** retry it as a conflict).
111
111
 
112
+ ## 16.2.0 — minor(未发布 / 本车产出待主会话发包;对表 server **7.116.0**〔shasum `267c15d61c168438580eeaf1749c63ef827dd1c8`,3635034 字节,tag `5beedff3`,随装 core 7.41.2 + settings-schema 8.0.0〕;K-57 锁步 + 车SD158pre 预置的 `fleet.steerPriority` 新值;车SD158;codex 一轮见下)—— 公开类型面 **additive**(零删 / 零改名 / 零收窄);🔴 **三处读法翻转披露**(技能清单读法 / 「不可用」答法 403·404 → 501 / 会话同步 manifest 真形);**server 支持底线 `3.0.0` 不变**
113
+
114
+ > 本段是 16.2.0 的发包前记账(`SHIPPED` 标记发包后由主会话更新);读数、复审、去幻觉 / 查漏、候裁在下面各节,对应收车档 `che-SD158-handoff.md`。
115
+
116
+ ### 🔴 升级须知(三问)
117
+
118
+ 1. **技能清单:`manifest` 退役、清单不再是围栏**(server 7.116.0 / core 7.41.0;**硬破坏在 server 面,sdk 型面零删**)。① *谁受影响*:请求里给技能带 `manifest`(顶层 `skills[]` 或子代 `agents[].skills[]`)的调用方,以及靠技能清单圈工具的部署。② *不改会怎样*:≥7.116.0 上顶层带 `manifest` ⇒ 400 `request.field_invalid`(`skill.manifest was retired in core 7.41.0 — …`),子代技能带它 ⇒ 整条技能被拒;≤7.115.x 上顶层技能的两只清单照收但引擎**不读**(静默不生效,没有 400 可探)。③ *怎么改*:`manifest.allowTools` → 技能的 `allowedTools`(新 `SkillSpec.allowedTools` / `disallowedTools`,可选);`manifest.allowPaths` 没有替身(圈写路径用会话规则 `allowDirs`);圈工具用 deny 规则。读法:清单 = 本 run 的 allow / deny 规则来源,**没列的工具照常判**,列着的工具在技能被激活(模型调 `Skill` 且卡被批准,或顶层 **`userInvokedSkills`** 点名 —— 新键,不出卡)之后本 run 免问 —— **比 `settings.permissions.allow` 宽**(托管 / 多租户部署不设开关)。先探 `capabilities.skillToolLists` / `capabilities.userInvokedSkills`(恒真;**缺席 = 老 server**:前者清单静默不生效、后者别发键)。`TaskAgentDefinition.skills[].manifest` **不删**(删公开成员 = major;老 server 仍收),标 `@deprecated` + 改写指路,下个 major 删(候裁 ①)。
119
+ 2. **「这台部署上不可用」一律 501,按 `errorCode` 分支**(server 7.116.0 / S-509)。① *谁受影响*:按状态码判「没权限 / 不存在 / 不可用」的消费端。② *不改会怎样*:运维名单空的部署上运维口由 403 `auth.operator_only` 改答 **501 `capability.operator_principals_required`**(对任何身份,先于授权;名单非空而不在其中仍 403);未挂载族由 404 改答 501(新码 `capability.leader_endpoint_required` / `capability.shared_memory_required` / `feature.memory_consolidation_disabled` / `feature.config_catalog_disabled`;既有码 `capability.checkpoint_store_required` / `capability.session_store_required` / `capability.snapshot_store_required` / `capability.policy_purge_required` 落到新地方)。③ *怎么改*:sdk 的前缀映射已把它们落到 `CapabilityUnavailableError`(`capability.*`)/ `FeatureDisabledError`(`feature.*`),`auth.operator_only` 仍是 `AuthError`;自己写的 `status === 403 / 404` 分支改按 `errorCode`。`capability.operator_principals_required` 的处置是**配 `OPERATOR_PRINCIPALS`**(不是换部署形态、也不是开关)。唯一登记例外:`a2aServe` 的两条路由不可用时仍答 404(反指纹)。本包 `src` 里按状态码读 403 / 404 / 501 的只剩四处(收车档 ③ 普查表;worker 面只有 `approvals.revokeExemption` 一处,它的 404 全是属主门 / 无此行,501 照抛)。
120
+ 3. **会话同步读 manifest 的真形**(既存缺口,本车核出并修)。① *谁受影响*:用 `pushSessionBundle` / `pullSessionBundle` / `importSessionBundle` 搬会话的消费端。② *不改会怎样*:server ≥7.52 的 manifest **不发 `snapshots`、发 `fileHistory`**(7.116.0 发布字节 `exportSessionManifest` 逐键核过),推送腿 `for…of manifest.snapshots` 对真字节是 `TypeError: not iterable`,拉取腿 `bundle.snapshots` 是 `undefined`。③ *怎么改*:升级即可 —— 循环读 `manifest.fileHistory`、blob 走 history 面、Phase A 带 `fileHistory`;**两端**的 `capabilities().sessionSyncFileHistory === false`(新位)⇒ 只同步对话(`PushSessionResult.fileHistory === "skipped"`,调用方要告诉用户「文件历史没搬」);位缺席(老 server)⇒ 照旧尝试。`manifest()` 在 wire 缺席时填 `snapshots: []`(型承诺恒是数组;下个 major 改可选并删填充,候裁 ②)。直接调 `sync.import()` 的调用方自己带 `fileHistory`、先 `putBlob`。
121
+
122
+ ### 逐件(7.116.0 十二条 → 本包;键名 / 形 / 状态码一律取自发布字节;每件红先 → 绿,读数见各提交)
123
+
124
+ | # | 条 | 本包 | 坐标(sdk · server 发布字节) |
125
+ |---|---|---|---|
126
+ | 1 | 技能请求面 | `SkillSpec` / 子代 `skills[]` +`allowedTools` / `disallowedTools`;`TaskRequest.userInvokedSkills`;子代 `manifest` `@deprecated`(不删);spec 同步 | `types.ts` `SkillSpec` · `TaskAgentDefinition.skills` · `TaskRequest.userInvokedSkills`;`http/admission.js` 20–46、`http/retired-skill-manifest.js` |
127
+ | 2 | 清单读法 | 型注 / spec / README:allow·deny 规则来源、不是围栏、没列的工具照常判、比 `settings.permissions.allow` 宽;`allow` 注加对照句;两段 `mcp__<server>` 现受理 / 服务器段铸不出 ⇒ 422 的旧注同改 | `types.ts` `SkillSpec.allowedTools` · `settings.ts` `allow`;MIGRATION 7.116.0 节 |
128
+ | 3 | 能力位 | +`userInvokedSkills` / `skillToolLists` / `sessionSyncFileHistory` / `workflowsJournal`;`workflowsList` 只说三口、`sessionSync` 说对话半族、`a2aServe` = 旋钮 ∧ run 店(旧注「不折 runStore」作废);`fleet.steerPriority` 核 = `"engine"`(SD158pre 预置与字节一致) | `types.ts` `Capabilities`;`http/routes/capabilities.js` 82 / 141–142 / 150 / 177–184、`capability-facts.js` 158 / 312 / 338 |
129
+ | 4 | `rememberRefused` / `rememberApplied` | `rememberRefused?: true` 四处(`ToolApprovalFrame` / `ApprovalCard` / `LivePendingRow` / `PendingCheckpoint`)+ 两张键表 + spec;`rememberApplied` 型注 / spec 改准(带授予的卡恒 false,既有键) | `resources/tool-approvals.ts` · `types.ts`;`approval-card.js` 357 / 431、`tool-approval.js` 1101 / 1635 / 2284 |
130
+ | 5 | `requires_user_interaction` | `AskClass` +词(core 序,`denial_limit_fallback` 之后)、spec enum、型注二十三词;可放类仍十个且不含它 | `types.ts` `AskClass`;core 7.41.2 `ASK_CLASSES`(23)/ `RELEASABLE_ASK_CLASSES`(10) |
131
+ | 6 | 410 `gone.ask` | 具名**开集**型 `AskGoneState` / `AskGoneDeniedReason`(`errors.ts`,index 导出;词表逐字对拍 server 登记表八词);`AskGoneError` 型注 / spec `AskGoneBody` 写两词含义 | `errors.ts`;`http/routes/runs.js` 1466、`approval-deny-reasons.js`、`trace/self-minted-wire.js` 44 |
132
+ | 7 | `errorCode` 新族 | `RunRecord.errorCode` 型注 / spec:`run.stalled` / `run.orphaned` / `approval.expired` + 缺席语义;型仍是开集串(无闭集可加) | `types.ts` `RunRecord`;`plugins/store-contracts.js` 4–9、`memory-run-store.js` 315 |
133
+ | 8 | 501 答法 | `CapabilityUnavailableError` / `FeatureDisabledError` 型注;leader / assistant / approvals / memory / adoption / ops / rules / configCatalog 旧状态码说法改准;spec 12 处 operator 臂补「名单空 ⇒ 501」+ `NotImplemented` 词表 | `errors.ts` · `resources/*.ts`;`http/principal-gate.js` 99、`http/routes/approvals-assistant.js` 291–330 |
134
+ | 9 | 新错误码三个 | `config.invalid_checkpoint_store`(400)· `rewind.child_scope_unsupported`(422)· `rewind_snapshot.unresolvable`(422)(+ `config.user_invoked_skill_unknown` 400)进 `tasks.ts` / spec 说明;全落带码 `APIError`,400 / 422 ∉ `RETRYABLE_STATUS` ⇒ 不进 `NON_RETRYABLE_CODES` | `resources/tasks.ts`;spec `POST /v1/tasks` |
135
+ | 10 | steer `priority` | `SteerPriority` / `runs.steer` / `Capabilities.fleet` / spec 三处:`now` **当场**切断(原写「在边界上切断」不准)、`later`、停放腿、换档重放 409 | `resources/runs.ts` · `types.ts` · spec |
136
+ | 11 | `?owner=`(空值) | `sessions.list` 型注改准;**本 verb 不发空串**(特征钉,候裁 ④) | `resources/sessions.ts`;`http/routes/sessions-list.js` 113 |
137
+ | 12 | 会话同步 | `FileHistoryExport` 镜像型 · `SessionManifest.fileHistory?` / `SessionBundle.fileHistory?` · `manifest()` 填 `snapshots: []` · 三循环读 `fileHistory`、history blob 面、两端位门 · `PushSessionResult.fileHistory` · spec `SessionManifest` 补 `fileHistory` + 新 `FileHistoryExport` | `sync.ts` · `resources/session-sync.ts` · `types.ts`;`session-sync.js` 24–48、`http/routes/session-sync.js` 134 / 169 / 276 |
138
+
139
+ 同车随带:`capabilities-full` `FULL_CAPS` +4 键且 `steerPriority` 翻 `"engine"`(校准头抬到 7.116.0)· `stream-approval-protocol` 全键帧 +`rememberRefused` · 旧钉读点折回(`server-7115` A2 的 `mcp__figma` 由拒变收 / U1 二十二 → 二十三词)· 校准:`CALIBRATED_SERVER_HEAD` 7.115.0 → 7.116.0,根 devDep server 7.116.0(lock integrity `sha512-/LLKdTMT…QvQLTw==` = registry `dist.integrity`)。**钉**:`test/server-7116-wire.test.ts` 41 格。
140
+
141
+ **已收的既有候裁**:16.0.1 候裁 ⑤(`putPolicy` 高水位侧车那一句「仍带盘上路径」)—— server 7.116.0 文件店拒绝句不再带盘上位置(位置只进运维日志 `file_store_corrupt_read`),`server-7114` C1d 表征钉按预告翻成 `not.toContain(root)`,`putPolicy` 注与 spec PUT 500 臂的例外句同批删。
142
+
143
+ **车SD158pre 预置(已并入本版,保留记账)**:`Capabilities.fleet.steerPriority` 预置新值 `"engine"`(只加不删:同一份 sdk 同时对得上 ≤7.115.x 与 ≥7.116.0);server 的跨仓文本门逐字比对本仓 spec 里 `` `steerPriority: "engine"` `` 这句,所以那一句在 server 发版之前就位;钉在 `test/capabilities-full.test.ts` 末尾「车 SD158pre」七格。
144
+
145
+ ### 读数(一律 clean env:`env -i PATH HOME AGENT_DATA_DIR=$(mktemp -d)`;真源 = server 7.116.0 发布字节,registry shasum 与 `npm pack` tarball sha1 一致)
146
+
147
+ - **红先基线**(bc45b50 的 src / spec + devDep server 7.116.0 + core 7.41.2):`server-7116-wire` 41 格 **16 过 · 25 红**;根 typecheck 6 处 TS 红;既有六文件单跑 9 红(`capabilities-full` 缺 4 键 · `server-7106` G2 · `server-7115` A2 / U1 / U2 · `server-keyset-parity` 表 1 / 2 / 3 / 方向④)。
148
+ - **整套首跑**(feat + docs 树 `7fb3874`):`npm run prepublishOnly` rc=1 —— 118 文件 · **4 红** / 1961 过 / 2 跳过:`spec.test`(`SessionManifest.required` 仍钉 `snapshots`)· `server-7113` T3(`live.steer` 第二参多了 `priority` 条件 spread)· `server-7114` C1d(该格自注「收口后翻」,server 7.116.0 文件店拒绝句不带盘上位置)· `engineering-gates` 门③(7116 钉两处宽松断言)—— **全是真红、读真字节后的事实,逐个折回(`15e9536`),没有一个按偶发处理**。
149
+ - **最终头 `15e9536`**:`npm run prepublishOnly`(build + typecheck + 默认全量 + prepack)**rc=0 —— 118 文件 · 1965 过 · 2 跳过**(两条跳过同 16.1.0:`server-7113` A.1e 契约原文腿〔`SEMA_SERVER_SRC` 缺席响亮 SKIP〕+ `server-7104` 老 server 分臂)。
150
+ - **带 server 树源码腿**(`SEMA_SERVER_SRC` = server `5beedff3` = tag `v7.116.0`,只读):`server-7113` · `server-7106` · `server-keyset-parity` · `server-7114` · `server-7115` · `server-7116` **6 文件 247 / 247 零跳过**。
151
+ - **live 套** `node scripts/run-live-contract.mjs` × 7.116.0 发布字节(匿名新装 fixture,与 devDep 目录 `diff -rq` 零差):**`FENCE-VERDICT kind=in-range version=7.116.0 floor=3.0.0 calibrated-head=7.116.0`,10 文件 151 过 · 1 跳过零红(校准格绿)**。**改前**(bc45b50 的 `git archive` 导出 × 同 fixture,`kind=ahead`)只红校准格一格:`1 failed | 150 passed | 1 skipped`(= server 发版门首跑读数)。
152
+ - `npm pack --dry-run`:`@sema-agent/sdk@16.2.0`,249 文件,1.5 MB;`npm ci --dry-run` 对改后的 lockfile 绿(rc=0);lock 里 server 条目 integrity = registry `dist.integrity`。spec sha256 前缀(给发包后更新 `SHIPPED`):`spec/openapi.yaml` = `9b29ec8e699d7f67`;`spec/registry-openapi.yaml` = `a767fbabb34dc3f6`(未变)。
153
+
154
+ ### 复审(codex `adversarial-review --model gpt-6.1-sol --base bc45b50 --scope branch`,一轮)
155
+
156
+ - **1 轮**(job `review-muutau57-t99ceh`,对 `0f5f3e9`):verdict `needs-attention`,**1 [high]**:物化拉取后导入丢了源端文件历史能力门(`sync.ts` `importSessionBundle`:源端 `sessionSyncFileHistory=false` 时 `pullSessionBundle` 跳过 blob 却仍把原信封放进 bundle,导入只查目的端,SQL 目的端为 true ⇒ 带信封 + 缺 blob ⇒ Phase A 422 `missing_blob`,连对话也同步不了,违反「任一端无 blob 面便只同步对话」)。**处置:采纳、验真属实、已修** —— 本车自查在取回 codex 结果之前已发现同一处并修(`7fb3874`:`PulledSession.fileHistory = "skipped"` + `bundle.fileHistory = null`,`importSessionBundle` 据此只同步对话),钉 Y7 = codex 建议的构造(源 false / 目的 true / 历史含非空 hash / 断言无 blob 请求、Phase A 不带历史)。无被驳的发现。
157
+ - 如实:codex 沙箱只读、没跑测试,结论只覆盖静读 diff;其结论针对 `0f5f3e9`,修复 `7fb3874` 没再送 codex(任务书一轮),由 Y7 与整套守。
158
+
159
+ ### 去幻觉轮 / 查漏轮(C-R24 两道,本车自查;异源复核 = 上面 codex 一轮)
160
+
161
+ - **订正处(幻觉被亲跑 / 亲核推翻的)**:① 首版读点普查钉预期「`src` 里按状态码读 403 / 404 / 501 恰一处」—— 亲跑是四个文件(`client.ts` 同源中继提示文案 · `errors.ts` registry 控制面映射 · `health.ts` `/v1/policy` 探活 · `approvals.ts` `revokeExemption`),按实订正并给每处理由。② 首版 N1 断言 `config.*` 400 落 `BadRequestError` —— 亲跑得带码裸 `APIError`(`config.` 不是前缀族),订正。③ SD158pre 与我首版都写「`now` 在边界上切断在飞的 turn」—— server MIGRATION 原文是「当场切断」(工具收到中止、审批卡被撤),三处(型注 / spec / 注)订正;我另写的「没有在飞 turn 时 `now` 即 `next`」说宽了(判据只对停放腿首轮成立),收窄。④ `disallowedTools` 写路径形的 deny 读法我首版当事实写 —— 它取自 server 契约 / 判据对 core `compileSkillGrant` 的转述,而 core 通告文案把「写路径 / 域名」一并列为 grant-or-refuse-nothing,**本包未亲跑引擎**,型注 / spec 改标「转述」。⑤ 首版把 pull→import 路径上「源端无 blob 面」当成「缺 hash 就跳过」已覆盖 —— 实际会带着没有 blob 的信封去撞 422(自查与 codex r1 [high] 同时抓到),修(`7fb3874`)。
162
+ - **查漏 / 未闭环(显式列出)**:① 会话同步的 push / pull 往返**没有真 HTTP 的 live 钉**:Y1 是真 `exportSessionManifest` 字节、Y3–Y7 是 sdk 真循环 × 假 peer fetch(形取自真字节),不是两台真 server 互推。② `sessionSyncFileHistory` / `workflowsJournal` 在**有设施**的部署(SQL / local+journal)上的真值**没亲验**(只验了无设施形为 `false`;SQL 真库腿 ◐ 未跑)。③ 技能清单的**运行时效果**(免问 / deny / `userInvokedSkills` 点名)是引擎 + server 判据 C2.* 的 🚧 格,不在 sdk 面,本车只钉受理面与读法文档。④ `rememberRefused` 在 `/v1/approvals/stream` 的 `pending` / `live_pending` 帧上的在场性:sdk 的帧类型是 `PendingCheckpoint` / `LivePendingRow` 展开,已含该键 —— 读码推断,未驱动真流。⑤ `docs/manual/*`(历史审计手册)不同步 7.116.0 的键族速查(SD158pre 只改了 steerPriority 一行)。⑥ 410 的 `AskGoneState` / `AskGoneDeniedReason` 无同名 spec schema ⇒ 不进 K-47 开集登记表;若要 spec 具名需另加 schema 并登记(设计项)。⑦ `capabilities-full` 的 `FULL_CAPS` 对现役化门只钉键集,四个新位在 fixture 里取「有设施」的值。
163
+
164
+ ### 未闭环 / 候裁
165
+
166
+ 1. **技能 `manifest` 公开成员**:`TaskAgentDefinition.skills[].manifest` 现标 `@deprecated`、不删(删 = major);下一个 major 删。
167
+ 2. **`SessionManifest.snapshots`**:型承诺恒是数组,靠 `manifest()` 的 `[]` 填充兑现;本该是可选(随退役纪元删)—— 改可选 = 读者 tsc 红(收窄 ⇒ major),下一个 major 改可选并删填充。
168
+ 3. **`AskGoneState` 开集尾**:mapper 只产出三词(越界丢弃),开集尾只因 `AskGoneError` 构造器公开;下一个 major 去尾。
169
+ 4. **`sessions.list({ owner: "" })` 不发空串**(特征钉,`server-7116-wire` W2):透传空串会让「传 `""` 表示不过滤」的既有调用方在 ≥7.116.0 上拿到空列表(三问:谁要 = 找空串属主行的运维,上游今天给不出这样的行;谁受伤 = 把 `""` 当「无」的调用方;补偿 = 不带 `owner`)—— 主会话裁。
170
+ 5. **版号**:判 16.2.0。若主会话认为「`AskClass` 输出面加词会让带穷举 `Record<AskClass, …>` 的消费方 tsc 红」或「`PushSessionResult` / `PulledSession` / `SessionSyncPeer` 加成员」算 BREAKING,则应为 17.0.0;仓内先例(15.1.0 / 16.0.0 / 16.1.0 的 `AskClass` 加词)都按 minor。改法只是版本三处。
171
+ 6. **`SessionSyncPeer` 多一个可选 `capabilities`**(`AgentClient` 结构兼容;只有源 manifest 带非空 `fileHistory` 时才被调用,每端一次 `GET /v1/capabilities`);读失败原样抛、不猜。
172
+
173
+ ## 16.1.0 — minor(2026-10-04;对表 server **7.115.0**〔shasum `763bb2f6e46b4997c12290fabdb136787ae2f889`,tag `4160110a`,随装 core 7.40.1 + settings-schema 8.0.0〕;K-50 锁步 + K-49 + K-51 + 一句过期注;车SD157;codex 一轮见下)—— 公开类型面 **additive**(零删 / 零改名 / 零收窄);🔴 **文档面硬破坏披露:`settings.permissions.allow` 同键翻义**(键名不变、读法从「名单」翻成「allow 规则 = 表态」);**server 支持底线 `3.0.0` 不变**
174
+
175
+ **版本判法(写明依据)**:`docs/RELEASE.md` 第 12–14 行 ——「**patch** = 纯修复/文档/注释,公开类型面零变化;**minor** = 新面;**major** = 任何 BREAKING:删/改名导出符号或字段、收窄类型、抬高 server 支持底线」。本版:① TS 公开型面**加员**:`Capabilities.settings` · `ToolApprovalFrame.probeReason` · `wiring_manifest.fleet.subagentTranscripts`(两处)· `ServerWiringGates.approvalGrant`(全是可选、无默认)+ `AskClass` +`unstated`(枚举加词;仓内先例 15.1.0 K-37 / 16.0.0 `shell_floor` 同判 minor);② spec 加属性 / 枚举词 / 响应臂(`Capabilities.settings`、`ToolApprovalFrame.probeReason`、两处 `fleet.subagentTranscripts`、`ServerWiringGates.approvalGrant`、`ErrorResponse.detail`、`AskClass` +词、三个提交口的 404 / 422 臂);③ **没有删 / 改名任何公开成员、没有收窄型、没有抬 server 支持底线** ⇒ **minor ⇒ 16.0.1 → 16.1.0**。会把版号推到 major 的两件**不做**、列候裁(`spaceMembersRemove` 签名并轨成 `(id, principal)` · `SettingsHooks` 索引收成 33 事件闭集;见「未闭环 / 候裁」)。K-51 只改 wire 形、签名不动,不推版号。`spec-shipped-lockstep-gate` 要求「spec 字节变了就得 bump」同被满足。
176
+
177
+ ### 🔴 升级须知:`settings.permissions.allow` 同键翻义(server 7.115.0;三问)
178
+
179
+ - *谁需要 / 谁受影响*:把 `settings.permissions.allow` 当**白名单**(「只许这些工具」)用的调用方,以及按本包旧型注(「Allow-list patterns (auto-approve)」)理解它的壳。**旧型注两半都不对了**:它不是名单,也不是 auto-approve(免问)。
180
+ - *现在怎么读*(server ≥7.115.0,发布字节实测):allow 桶与 deny / ask **同一只规则编译口**;一条规则**命中** = 带理由的放行 = 给出「**有人表态**」(`{ action:"allow", decisionReason:"rule" }`)—— 它回答的是**没人表态**的 MCP 服务器工具 / A2A 技能调用(否则询问类模式下那一问出一张 `askClass:"unstated"` 的卡,无审批面则拒);**未命中 = 不表态、照常判**(`{ action:"allow" }`,名单外的工具**不再被拒**)。**不是免问**:引擎对内置工具的写门 / shell 检查照问,deny / ask 照赢;与参照实现(CC)不同(CC 里 `allow:["Edit"]` 跳过编辑确认)。同口径:PreToolUse hook 的**显式** `permissionDecision:"allow"` = 表态并只管它看见的那份参数,只给上下文 / 只改写**不**表态。
181
+ - *怎么改*:① 先探 `capabilities.settings.permissions.allowGrant === true`,**键缺席 = 老 server(按名单读),别往 allow 桶投东西**;② 要「只许这些工具」改用真旋钮 —— 会话规则 `PUT /v1/sessions/:id/policy` 的 `toolAllow` / 每请求 `excludeTools` / `excludeAllTools` / 部署场景工具面;③ 内容形(`Bash(npm:*)` / `Read(./x)` / `WebFetch(domain:…)`)与坏形名字(退役名 / 短名 / `mcp__figma` 两段 / 反斜杠 / 超 512 字符)⇒ 整请求 422,常设放行进持久规则店(`/v1/rules/cc-import`,或卡上答 yes)。
182
+ - *不改会怎样*:以 allow 收窄工具面的请求,名单外的工具照常可用(**收窄静默失效**);最坏组合 = 把它当白名单又请求 `permissionMode:"bypassPermissions"` ⇒ 名单外的工具不再被拒、也不会被问。与它同批的行为面变化(没人表态的服务器工具调用要问 · 旧停驻任务续跑 409 `checkpoint.unsupported_version` · 运维旋钮 `APPROVAL_GRANT`)见下;server 侧三问全文在其 `MIGRATION.md` 7.115.0 节。
183
+
184
+ **一句话:server 7.115.0 的 `wire-changes` 机器清单是 3 / 2 / 0 / 0 / 0(生成器读不到请求体键 / 值变更 / 受理面判据 / 读法翻转),发车帖「wire 铸点形变更」十六行里与 sdk 有关的十件本车对发布字节逐件重核(真函数 / 真 handler / 真受理门 × sdk 真错误映射):新面五处入型 + spec(其中两处是封闭 spec 对象原先不收的真漏键,契约套抓不到)、读法翻转与 hook 表态按「表态」口径改写型注 / spec / README、四处状态 / 码文档面改准;同车收 K-49(退役拼法 / 事件集 / 同源锚 ^8.0.0)、K-51(`spaceMembersRemove` 走查询串)与一句过期注。**
185
+
186
+ ### 逐件(7.115.0 十件 → 本包 → 三问;每件红先 → 绿,读数见各提交;坐标 = server 发布字节 `dist/…`)
187
+
188
+ - **① 能力位 `settings.permissions.allowGrant`**(`http/routes/capabilities.js` 125;复合位表 `capabilities/composite-members.js` 10):*改了*:顶层新键 `settings: { permissions: { allowGrant: true } }`(版本位,恒真),`taskSettings.permissions` 仍布尔。*本包*:`Capabilities.settings?` 入型 + spec 属性(型注 / 描述:**键缺席 = 老 server,别投 allow 桶**;与 `taskSettings.permissions` 不是一件事);`FULL_CAPS` fixture +键。钉 C1(**真 `handleCapabilities` 字节**)· C2 / C3(spec / 型 / 型注);既有门 `server-keyset-parity` 表 1 / `capabilities-full` / `server-7106-wire` T8 基线即红、本版转绿。*谁需要*:cli / client-core 的 allow 投法(按位 gate);*谁受伤*:无(additive);*补偿*:不适用。
189
+ - **② `settings.permissions.allow` 读法翻转 + hook 表态映射**(`task-settings.js` 328–339 `deriveSettingsPolicy`;`boot/resolve-spec.js` 583–592 的 422 臂;`hooks/hook-runner.js` 832–990 `createTaskHooks`):见上「升级须知」。*本包*:`SettingsPermissions.allow` 型注重写(旧句「Allow-list patterns (auto-approve)」不在)· `SettingsHooks.PreToolUse` / `SettingsHookCommand.command` 按表态口径改准(旧句「exit 0 = allow」不在;exit 0 沉默 = 无意见)· spec `TaskRequest.settings` 描述同口径。钉 A1 / A2 / A5(**真 `deriveSettingsPolicy` × 真 `createTaskHooks` × 真 shell 命令**:命中 `{allow, rule}` / 名单外 `{allow}` / `Bash(*)` = `Bash` 同读 / 坏形抛 / 只给上下文与只改写不带 `action` / 显式 allow 带 `action` / 同组先改写后放行原参数 ⇒ 不算)· A3 / A4 / A6(型注 / spec 点名)。🚧 如实披露:allow 桶坏名的 422 句首**仍写着 tighten-only**(server S-1085 登记待收)—— 型注写明「别按句子分派」。
190
+ - **③ 询问类新词 `unstated`**(core 7.40.0;`approval-card.js` 299 `readAskClassPair`):*本包*:`AskClass` +`unstated`(二十二词;位置 `mode` 之后 `ordinary` 之前 = core 序)、spec `AskClass` enum + 描述、型注点名「没人表态的服务器工具 / A2A 技能调用」与**可放类九 → 十**(core `RELEASABLE_ASK_CLASSES` 含 `unstated`:allow 规则 / 分类器 / bypass 都清得掉它;`TaskRequest.permissionMode` 的型注 / spec 描述里写死的「九类」同改)。钉 U1–U4(编译期 + core 属主锚 + spec 含序 + 真 `readAskClassPair`);K-47 字面量联合 ≡ spec enum 门全程绿。
191
+ - **④ `tool_approval` 帧 `probeReason`**(`approval-card.js` 163–173 `readProbeReason`;`tool-approval.js` 1102 唯一铸点):*本包*:`ToolApprovalFrame.probeReason?: string` + `TOOL_APPROVAL_FRAME_KEYS` 同步 + spec 属性;型注写清**与 `probeCause` 并列、优先渲结构位、没有时回落**与**「只在活卡帧,呈卡帧 / 耐久卡不带」**(`ApprovalCardSchema` 是 `.strict()` 信封)。钉 P1(真 `readProbeReason` × 语料:在场才带 / 201 码点内整句保留、超出整只丢不截 / 脱敏)· P2(铸点结构 + 三条变异 + 耐久卡不带)· P3 / P4。
192
+ - **⑤ `wiring_manifest.fleet.subagentTranscripts`**(`trace/project.js` 502–513):*本包*:开集写法 `"none" | "rows" | "full" | (string & {})`(`types.ts` / `events.ts` 两处 + spec 两处 `fleet`);型注:未知词 ⇒「未知档位」、**不要当 `full`**,缺席**绝不读成 `none`**。⚠️ 真字节过封闭 spec 抓出一处**漏键**:`Event_wiring_manifest.fleet`(`additionalProperties:false`)原先不收它 —— 照 spec 严格校验的消费端会把 7.115.0 的真帧判违约。钉 W1(**真 `wiringManifestEventData` / `…OperatorEventData` 两面 × spec**;基线红)· W2 / W3。
193
+ - **⑥ matcher 别名拒的 400 体 `field` / 对象形 `detail`**(`hooks/hook-runner.js` 145–150 `buildDeadToolMatcherRefusal`;`http/admission.js` 203–208):*改了*:体 `{error, errorCode}` → 多 `field:"settings.hooks"` + `detail:{event,alias,canonical}`(句子逐字不变、零新码;同码另有两句领养 `detail` 是**串**)。*本包*:这两键今天从 **`APIError.extra`** 原样读得到(K-09:开形一格、不逐键具名),**不具名**(第 N 个属性 = 第二份要跟着 server 漂的表);`matcher` 型注写读法 + 「按 `field` 区分、不按 `detail` 类型猜」;spec `ErrorResponse.field` 描述补 `settings.hooks`,新声明 `ErrorResponse.detail`(`oneOf` 对象 / 串两形)。钉 M1–M4(**真铸点 + 真受理门 `prepareSpec` 两条车道 + 领养真 `checkAdoptionWidths` × sdk 真 `toApiError`**)。**随带改读点**:`deadToolMatcherIssue` 的返回形 7.115.0 换了(回判决数据,句子由铸点铸)⇒ `server-7112-wire` S1 / H3 / H4 与 `server-7114-wire` H1 / H2 / H2c 六格基线即红,经 `_matcher-issue.ts` 一处读口折回句子(语义不变,不是回归)。
194
+ - **⑦ `GET /v1/diagnostics/wiring` 的 `serverGates.approvalGrant`**(`http/routes/diagnostics.js` 38):*本包*:`ServerWiringGates.approvalGrant?: string[]` + spec 属性(不进 `required`:老 server 没有;**空表 = 旋钮未设、缺席 = <7.115.0**);型注:operator 面、不进 `/v1/capabilities`。⚠️ 真字节过封闭 spec 抓出第二处**漏键**:`ServerWiringGates`(`additionalProperties:false`)原先不收它。钉 G1(**真 `buildServerWiringGates` × spec**;基线红)· G2 / G3。
195
+ - **⑧ 错误码**:(a) **409 `checkpoint.unsupported_version`**(`http/checkpoint-ctx.js` 26–34):体 `{error, errorCode, retriable:true}`、**无 `taskId`**;`retriable:true` = 卡仍待决,**不是**重试会成功。*判 sdk 会不会因此自动重试*:重试判据 = **状态 ∈ `RETRYABLE_STATUS`(408 / 429 / 500 / 502 / 503 / 504)∧ 码 ∉ `NON_RETRYABLE_CODES`**;409 不在重试集,`retriable` 不被读 ⇒ **不会重试**,所以**不加** `NON_RETRYABLE_CODES`(加了是惰性行,还会被读成「它被重试过」);落 `ConflictError`(`checkpoint.` 前缀族)。钉 E1 / E2(真铸点字节 → `toApiError` → `/decide` / `/wake` / 一只 GET 各**恰一次** fetch)· E6 / E7(`transport.ts` / `APIError.retriable` 注)。(b) **「只续已有会话」两处**(`security.js` 68 / 92):404 `resume.session_not_found`、**422** `request.field_conflict`(本码在契约里唯一的 422;句子无句尾括注)—— sdk **没有**按旧粗码 `not_found.resource` / `request.unprocessable` 分派的代码(`errors.ts` 里那两个只是状态派生粗码的**通用表**,仍对);改的是文档面:`requireExistingSession` 型注 + spec 描述 + 三个提交口的 404 / 422 臂。三口共用 `prepareSpec` → 授权器、授权在 SSE 头之前(`tasks.js` 113 < 136、`runs.js` 184、`admission.js` 604)⇒ 流式口拿真状态。钉 E3 / E4 / E5 / E8。
196
+ - **⑨ `limits.brainCallGuardrailMs` 变 400**(`http/admission.js` 424–427):sdk 的 `TaskRequest.limits` 型**本来就没有这个键**(与 server `TaskRequestBody.limits` 发布 d.ts 同四键:`maxWalltimeMs` / `maxOutputTokens` / `maxTurns` / `approachNotice`)⇒「型允许、server 拒」的情形**不存在**,**零删改**;只补型注 / spec 描述点名它是 400(≤7.114.x 受理但不生效)。钉 L1(**真受理门**:毫秒数 / `false` / `0` 三形 400 + `budgetStreamCancel` 正控)· L2(sdk 型键集 == server 发布 d.ts 键集)· L3。
197
+ - **⑩ 带消息 `wake` 被取消**(`http/resume-legs.js` 75:`checkpoint.resume_aborted` → `cancelled`):*改了*:409 `steering.blocked_by_hook`(≤7.114.x,错码的副作用、park 留着)→ **200 `{status:"failed", errorCode:"cancelled"}`**,park 按取消收掉,再 wake ⇒ 404 `not_found.parked_checkpoint`。*本包*:`SessionWakeResult` 本来就带 `errorCode?` / `status` ⇒ **型零改**;`wake()` 型注 + spec 200 / 404 / 409 描述写清(409 `steering.blocked_by_hook` 现在只对应 hook 真崩 / 超时 / 拒)。钉 K1(sdk 真 verb:**返回不抛**)· K2 · K3(真 `checkpointErrorDisposition`:取消 = `cancelled`、hook 拦仍 `retriable`)。
198
+
199
+ ### K-49 / K-51 / 一句过期注 / 同车随带
200
+
201
+ - **K-49 ①(退役拼法 / 事件说明)**:`resumeAtMode` 型注与 spec(`resumeAtMode` / `resumeAt` 两处)里的 `rewind_snapshot.unresolvable`「配 `rewindFiles` 时」→ 现行触发 `restoreFiles`(核 core 发布字节 `prepare-file-history.js` 两处铸点:文件还原的无边界臂 / `before` 还原无自有边界;退役拼法 `rewindFiles` 的还原义是 core 的**迁移拒**,点名 `restoreFiles`);spec `POST /v1/tasks` 422 臂不再写「`resume_at.*` also land here」—— **真函数 `resumeAtHttpStatus`**:`resume_at.not_found` = 404、其余 `resume_at.*` = 422(补 404 臂);`SettingsHooks` 型注由「v1 = 3 事件 / DEFERRED 生命周期」改成契约现集 **33 事件**(settings-schema 8.0.0 `HOOK_EVENT_OWNER` 实读:engine 自有 **9** 个由 server 点亮、shell 自管 **24** 个 server 认得名但不触发;集外事件名 400)。钉 R1–R6(其中 R6 读锚的真表 + 真 `parseHooksConfig` / `createTaskHooks`)。
202
+ - **K-49 ②(同源锚)**:devDep `@sema-agent/settings-schema` `^7.0.1` → **`^8.0.0`**(server 7.115.0 已提货 8.0.0;`registry-auth` S-472 地板门基线即红、转绿)。锚的消费方(`registry-auth` / `registry-scopes-effective` / `control-resources` / `core-514-pickup` / `server-7104-wire` / `server-7106-wire` T1 / T4)对 8.0.0 全绿,零读点改动。
203
+ - **K-51**:`RegistryAdmin.spaceMembersRemove` 的 principal 由 DELETE body 改 **`?principal=` 查询串**、DELETE 不带 body(与 `groupMembersRemove` 同形;**签名 `(id, { principal })` 不变**)。先读 web-admin `src/app/api/v1/scopes/[scope]/members/route.ts`:DELETE 以 `req.nextUrl.searchParams.get("principal")` 为**规范形**,body 形只是容忍期兼容(RC-11,commit 70caf7e;树 034e79b)。钉:`registry-admin` 表驱动行 + K-51 新格(DELETE 无 body / `team%20b` 与 `u%40x%2Fy%20z` 逐字编码 / 与 `groupMembersRemove` 查询串同形)。⚠️ 单向切换(不留双写):早于 RC-11 的 web-admin 构建是否只认 body 本机无从核,见候裁。
204
+ - **一句过期注**:`WiringManifestReadDeny` 型注 / spec `readDeny` 描述里「`READ_DENY_BUILTIN_TIERS` 未设置 = OFF(自 core 7.22.0)」→ **缺席 ⇒ 出厂两档在岗 `credentials,agent-config`(core 7.34.0 R-2 起;7.22.0–7.33.x 曾为 OFF)**,按发布字节配置目录(`config-catalog.js` 的 `derivedDefaultNote`)改准。钉 Z2 / Z3(Z3 读真目录行)。
205
+ - **同车随带(门读数逼出,非发车帖项)**:`capabilities-full` FULL_CAPS +`settings` · `stream-approval-protocol` 全键帧 fixture +`probeReason`(键表同源格)· `_spec-pin.ts` +`FakeRes` / `fakeReq` / `wireOf` / `DRIVER_CONFIG`(三份钉共用,不各抄一套假响应壳)。
206
+ - **校准**:`CALIBRATED_SERVER_HEAD` 7.114.0 → **7.115.0**;根 devDep `@sema-agent/server` 7.115.0(随装 core 7.40.1;lock sha512 `LAlXhGED…` = registry `dist.integrity`,tarball sha1 `763bb2f6…` 对拍过,根 devDep 目录与匿名新装 fixture `diff -rq --exclude=node_modules` 零差)。lockfile 另有 npm 重解析带出的传递依赖搅动(`hono` 4.13.12 → 4.13.13、`zod` 提升位对调,均为 dev 侧)。
207
+
208
+ ### 读数
209
+
210
+ - 一律 clean env(`env -i PATH HOME AGENT_DATA_DIR=$(mktemp -d)`):根 typecheck rc=0;`npm run prepublishOnly`(build + typecheck + 默认全量 + prepack)**rc=0 —— 117 文件 1916 过 · 2 跳过**(同 16.0.1 的两条:`server-7113-wire` 的 A.1e 契约原文腿〔`SEMA_SERVER_SRC` 缺席响亮 SKIP〕+ `server-7104-wire` 的老 server 分臂)。带 server 树源码腿(`SEMA_SERVER_SRC` = v7.115.0 源 `4160110a`)另跑:`server-7113-wire` · `server-7106-wire` · `server-keyset-parity` · `server-7114-wire` · `server-7115-wire` **5 文件 205 / 205 零跳过**(46 + 43 + 45 + 21 + 50)。`npm pack --dry-run`:`@sema-agent/sdk@16.1.0`,249 文件,1.4 MB;`npm ci --dry-run` 对改后的 lockfile 绿。
211
+ - 契约套 `node scripts/run-live-contract.mjs` 对 7.115.0 发布字节(匿名新装 fixture,tarball sha1 = registry `763bb2f6…`):**`FENCE-VERDICT kind=in-range version=7.115.0`,10 文件 151 过 · 1 跳过零红**(校准格绿;跳过 = `live/server-7109-faces` 老 server 分臂);根 devDep 目录作 fixture 同读数。**改前**(ea0c353 的 `git archive` 导出 × 7.115.0 fixture,`kind=ahead`)只红校准格一格:`1 failed | 150 passed | 1 skipped`。⚠️ 如实:**首跑 feat 树时 2 个文件红**(`live/error-tariff-bare` · `live/s2-openraw-error-paths`,同一句 `身份核对失败:/health.version="undefined"`)—— 手工起同一 fixture 的 `/health` 回 `version:"7.115.0"`;两文件 SOLO 重跑 50 / 50 绿;整套单独重跑 151 过零红。**未能复现**,成因推断为 fence 选的端口被别的进程抢答了一个无 `version` 的 `/health`(本机并行车多;未验证),已按「SOLO 再整套单独重跑」处置并记录。
212
+ - 红先读数:`server-7115-wire`(基线 `ea0c353` 的型 / spec / 注 + 7.115.0 字节〔`--no-save` 装,锚仍 7.0.1〕)49 格 **21 过 · 28 红**(21 过 = 发布字节事实钉 / 保持钉;其中**真字节过封闭 spec 的 W1 / G1 各抓一处漏键**);`registry-admin` 2 红;根 typecheck 8 处 TS 红;基线整套 `12 failed | 1853 passed | 2 skipped`(6 文件:`capabilities-full` · `registry-auth` S-472 · `server-7106-wire` G2 / T8 · `server-keyset-parity` 表 1 / 表 2 为 7.115.0 逼出的门读数,`server-7112-wire` S1 / H3 / H4 · `server-7114-wire` H1 / H2 / H2c 为旧钉读 `deadToolMatcherIssue` 旧返回形)。feat 之后整套首跑另逼出 `stream-approval-protocol` 全键帧一格(键表同源,+`probeReason`),同车收。
213
+
214
+ ### 复审(codex `adversarial-review --model gpt-6.1-sol --base ea0c353 --scope branch`,一轮)
215
+
216
+ - verdict **approve,零 material finding**(codex 沙箱只读、跑不了 vitest,自陈「运行期验证未完成」;门读数由本车在 clean env 取,见上)。**未再跑第二轮**(任务书一轮)。如实:启动命令末尾接了 `| head -30`(任务书写「不接 `| tail`」,`head` 同类),作业仍正常跑完、`status` / `result <job-id>` 取回;codex 的 broker 簇按 PID 清(cwd = sema-sdk 那一簇 4 个进程,其余会话的 codex 进程未动)。
217
+
218
+ ### 去幻觉轮 / 查漏轮(C-R24 两道,本车自查;异源复核 = 上面 codex 一轮)
219
+
220
+ - **去幻觉(逐条回核坐标 / 断言,订正处)**:① 首版 E1 钉断言 `checkpointErrorDisposition({code:"checkpoint.unsupported_version"}) === "by_reason"` —— 我从处置表字面 `by_reason` 推断;亲跑得 `terminal`(`by_reason` 要靠 `e.detail.reason` 再解)⇒ 删掉那一断言,不进文档。② 旧注写「`bypassPermissions` 放行九类」—— 核 core 7.40.1 `RELEASABLE_ASK_CLASSES` 是十个(含 `unstated`),并扫出 `TaskRequest.permissionMode` 型注 + spec 描述里同一个「九」(见查漏)。③ 「三口授权在 SSE 头之前」首版只靠契约行(server 自陈)—— 亲读 `tasks.js` 113 < 136 / `runs.js` 184 / `admission.js` 604 后补 E8。④ 「耐久卡信封严格」首版只钉了键集不含 —— 亲读 `approval-card.js` 的 `.strict()` 后补。⑤ **推断标记(未对旧发布字节 / 实跑核)**:≤7.114.x 把 `allow` 读成名单(取自 server MIGRATION / CHANGELOG,本机只装了 7.115.0)· `plan` 模式下只有只读的服务器工具出 `unstated` 卡(MIGRATION)· 取消的 wake 之后「再 wake ⇒ 404 `not_found.parked_checkpoint`」(MIGRATION;该 404 码的铸点在 `resume-legs.js` 1203–1230 亲核,**取消后 park 被收掉**这一序列未实跑)· `probeReason` 只实跑了窄读函数 `readProbeReason` 与铸点结构(没有驱动整只 `ToolApprovalCoordinator.ask` 吐出整帧;`subagentTranscripts` 的租户 / operator 两面同投则是实跑的)· 早于 RC-11 的 web-admin 构建只认 body(未核)。
221
+ - **查漏(扫面 / 未闭环)**:扫出发车卡之外三件,同车收(见 `a4ee576`):spec `permissionMode` 描述里漏改的「nine releasable」· 三口授权次序没钉 · `.strict()` 与 `Bash(*)` 同读没钉。**扫了没发现**:其它文档(`docs/manual` · `skills/sdk-usage.md` · `llms*.txt` · `examples/`)里没有 allow / `blocked_by_hook` / `unstated` 的旧说法 · `errors.ts` 分类字面量与 spec 的错误码门(绿,未加新分类臂)· `Capabilities` / `ToolApprovalFrame` 键集对账(两条腿,dist + 源码,绿)· `spec/registry-openapi.yaml` 对 K-51 不声明参数位置(同 `groupMembersRemove`,未动)。**未闭环**见下节。
222
+
223
+ ### 未闭环 / 候裁
224
+
225
+ - ① **版号**:判 16.1.0(依据见段首)。若主会话认为「`AskClass` 输出面加词会让带穷举 `Record<AskClass, …>` 的消费方 tsc 红 ⇒ 算 BREAKING」,则本车应为 17.0.0;仓内先例(15.1.0 K-37 / 16.0.0 `shell_floor`)都按 minor 判。改法只是版本三处。
226
+ - ② **不做的 major 件一**:`spaceMembersRemove(id, principal: string)` 与 `groupMembersRemove` 签名并轨(现 `(id, { principal })`)—— 改公开签名 = major;本车只换 wire 形。
227
+ - ③ **不做的 major 件二**:`SettingsHooks` 的开集索引 `[event: string]` 收成 33 事件闭集(或把 33 个都具名)—— 收窄 = major;现状只改了注(9 / 24 分法)。
228
+ - ④ **K-51 的兼容面**:早于 RC-11 的 web-admin / registry 构建是否只认 body,本机只有 `034e79b` 一棵树,**未核**;sdk 单向切到规范形(不留双写)。若有存量部署落在 RC-11 之前,`spaceMembersRemove` 在那里读不到 principal。
229
+ - ⑤ **`ErrorResponse.detail` 是本版新声明**(`oneOf` 对象 / 串):其它码(`rules.*` 的人读 `detail`、core `checkpoint.*` 镜像的 `detail.reason`)另有自己的 `detail` 形,描述写了「按 `errorCode` 读」;是否要拆成逐码的 schema 是设计项,不在本车。
230
+ - ⑥ **`fleet` 形四处各抄一份**(`types.ts` / `events.ts` / spec 两处,既存):本车逐处加员,没立具名类型(具名开集联合要进 K-47 的开集登记表);抽一只具名型是另票。
231
+ - ⑦ **server 侧陈旧(不在 sdk 面)**:server 自己的 `wire-types.d.ts` / `runs.d.ts` 仍把 `rewind_snapshot.unresolvable` 写成「`rewindFiles` + before」(16.0.1 已披露,本版 sdk 改准、server 未改);allow 桶坏名 422 句首仍写 tighten-only(S-1085)。
232
+ - ⑧ **lockfile 搅动**:除 core / server / settings-schema 三条预期变动外,`hono` 4.13.12 → 4.13.13、`zod` 提升位对调(npm 重解析,dev 侧);`npm ci --dry-run` 绿。
233
+ - ⑨ **`SHIPPED` 标记未动**(任务书):发包后 `spec-shipped-lockstep-gate` 的 `SHIPPED` 要由主会话更新(`version: "16.1.0"` + 新的 spec sha256 前缀)。
234
+ - ⑩ **README 没有独立 CHANGELOG 文件**:本仓的版本史就是本文件的版本段;任务书的「CHANGELOG」按本段、「README Upgrading」按根 `README.md` 的 `## Upgrading to 16.1.0` 落。
235
+
112
236
  ## 16.0.1 — patch(2026-10-04;对表 server **7.114.0**〔shasum `98113acc27e3db3dec8cbf66adf212460d8b9ad8`,tag `e89bb2d4`,随装 core 7.39.2 + settings-schema 7.0.1〕;K-48 锁步 + K-45 + K-47;车SD156)—— 公开类型面零变化、spec 无 schema 成员变化(补两口 500 响应臂与描述句);**server 支持底线 `3.0.0` 不变**
113
237
 
114
238
  **版本判法(写明依据)**:`docs/RELEASE.md` 第 12–14 行 ——「**patch** = 纯修复/文档/注释,公开类型面零变化;**minor** = 新面;**major** = 任何 BREAKING」。本版:① TS 公开型面**零变化**(`settings.ts` / `resources/sessions.ts` 只改注);② spec **没有任何 schema 加员 / 删改**(属性、enum 词、新 schema 一个没有),改的是:两口 operation 补登**既存**的 500 响应臂(体引既有 `ErrorResponse`)· 一口 422 臂的描述点名**既存**的码 —— 都是对 server 既有行为的登记;`spec-shipped-lockstep-gate` 要求「spec 字节变了就得 bump」⇒ 至少 patch ⇒ **16.0.1**(先例:9.8.1 spec-only patch、15.0.1)。K-47 新门在当前树上**零不相等**,没有逼出任何型 / spec 改动,所以没有别的东西把版号推高。⚠️ 候裁:若把「新增 response 臂」算 spec 加员(minor),则本车应为 16.1.0 —— 改法只是版本三处,无他。
@@ -1920,7 +2044,7 @@ Known deferred (major batch): `images.list` `nextCursor` type widening to `| nul
1920
2044
  | Two new error families + one new class: `checkpoint.*` and `wake.*` prefix dispatch, and `GateNotToolApprovalError` | The `checkpoint.*` family is 10 core codes the server mirrors verbatim; only 3 were named, the rest collapsed into anonymous 409s. `checkpoint.not_found` is the one 404 in the family (→ `NotFoundError`). `gate_not_tool_approval` is the THIRD wrong-door guard next to `gate_not_resumable` / `gate_not_plan_review` — a `/decide` aimed at a plan_review gate |
1921
2045
  | `RateLimitedError` carries `usedMicroUsd` / `limitMicroUsd` on `limit.cost_quota_exceeded` | The server sends the cost material; it was dropped on the floor, so a UI could only say "quota exceeded" and not "used $X of $Y". Guarded extraction — a malformed field is omitted, never thrown |
1922
2046
  | `AgentEvent` gained **6 arms**: `error`, `question`, `question_complete`, `elicitation`, `elicitation_complete`, `workflow_complete` (spec `Event_*` schemas + `oneOf` + discriminator mapping in the same batch) | All six are on the wire today. `error` is the 15-minute stream cap (`errorCode: "STREAM_MAX_DURATION"`) — **it means the run is still alive, reconnect with `Last-Event-ID`**, it is not a terminal. The other five are the DURABLE half of the HITL/workflow frames: the live leg dispatches them by SSE event name, and the durable leg persists them via `append(type, …)`, so they replay off `runs.events` too. The spec/SDK arm gate compares those two sides, so arms missing from BOTH were structurally invisible to it |
1923
- | `runs.steer` returns a typed `SteerReceipt` (was `unknown`) and accepts `priority?: "now" \| "next" \| "later"` | Three server mint points mean three different things and only `delivery` tells them apart: `applied` (live), `queued` (the run is **suspended** — the steer parks on its checkpoint), `parked_for_wake` (the run ENDED — nothing happens until `POST /v1/sessions/:id/wake`). ⚠️ Doc correction in the same batch: a suspended run is **not** a 409; the old JSDoc said it was. `priority` is enum-validated fail-loud server-side but advisory today (core's steer is single-slot) |
2047
+ | `runs.steer` returns a typed `SteerReceipt` (was `unknown`) and accepts `priority?: "now" \| "next" \| "later"` | Three server mint points mean three different things and only `delivery` tells them apart: `applied` (live), `queued` (the run is **suspended** — the steer parks on its checkpoint), `parked_for_wake` (the run ENDED — nothing happens until `POST /v1/sessions/:id/wake`). ⚠️ Doc correction in the same batch: a suspended run is **not** a 409; the old JSDoc said it was. `priority` is enum-validated fail-loud server-side but advisory on a server ≤7.115.x (core's steer was single-slot); on ≥7.116.0 it is handed to the engine — read `Capabilities.fleet.steerPriority` (`"engine"` applies it, `"advisory"` does not) |
1924
2048
  | `TaskRequest.taskId?` (caller-minted uuidv7) | The DURABLE second tier of idempotency on `POST /v1/runs`: `Idempotency-Key` is an in-memory per-pod cache, so a dispatch gateway re-routing a retry to another instance would start a second run. This replay reads the run store — it is the prerequisite for gateway failover. Non-uuidv7 ⇒ 400; another principal's taskId ⇒ 409, never a cross-tenant oracle |
1925
2049
  | `AgentClientConfig.principalHeader?` | The principal header's NAME is deployment config server-side. On a renamed deployment the only way out used to be hand-written `fetch` — exactly what the SDK constitution forbids. Renaming REPLACES the default (never sends both), and the reserved-header guard follows the configured name so caller extras still cannot forge it |
1926
2050
  | `CheckpointGate.kind` known set gained `plan_review`; `PendingCheckpoint.riskDescriptor` accepts `null` | `plan_review` was the one member of the server's six-kind wire set missing here — a real gate kind that read as "unknown". Both checkpoint stores send an explicit `null` risk descriptor (the spec already said so) |
package/dist/errors.d.ts CHANGED
@@ -48,6 +48,12 @@ export declare class APIError extends Error {
48
48
  * (直接另开会撞 409 `conflict.session_active_run` —— 会话锁还在这条行手里);≤7.112.0 这个码落终局(run 行被驱成 `failed`、会话锁释放、卡成孤儿)。
49
49
  * `steering.blocked_by_hook` 的 `/wake` 口:hook 恢复后**同一张卡**可再 wake。本键只在这些 resume 腿的 **409** 体上出现(200 体上的 `retriable` 是另外两份 schema 的事)。
50
50
  *
51
+ * 🔴 **server ≥7.115.0 又落到一个码上(第四个)**:`checkpoint.unsupported_version`(409;`/decide` / `/resume` / `/plan_review` 与带 / 不带消息的 `/wake`)的 **server 自铸臂** ——
52
+ * ≤7.114.x 停驻、提交体带非空 `settings.permissions.allow`(那时它是名单)的任务,续跑时被拒(本服务不按新读法〔allow 规则〕重放旧名单)。体 `{ error, errorCode, retriable: true }`,
53
+ * **无 `taskId`**(认领之前拒)。同样读作「**卡仍 pending**(可取消)」,**不是**「原样重试会成功」:同一份字节在任何 ≥7.115.0 上都被同样拒 ⇒ 本包不因它自动重试(409 ∉ `RETRYABLE_STATUS`)。
54
+ * 出路 = **作为新任务重提**(这条任务若还停驻着,先 `POST /v1/runs/:id/cancel`;唤醒停驻 / 宿主会话那条腿没有可取消的 run,直接在该会话上新提交);要「只许这些工具」用会话规则 `toolAllow` / 请求 `excludeTools`。
55
+ * 一次性迁移 —— 所有 ≤7.114.x 停驻的任务结束后,server 会删掉这一铸点。落 {@link ConflictError}(`checkpoint.` 前缀族,按 `errorCode` 判别)。
56
+ *
51
57
  * 🔴 `undefined` means "the server did not say", NOT "not retriable" — it is a CONDITIONAL field server-side
52
58
  * (absent ⇒ key omitted), so reading its absence as an explicit `false` over-reads the wire.
53
59
  *
@@ -142,7 +148,16 @@ export declare class LimitExceededError extends APIError {
142
148
  }
143
149
  /** `capability.*` 前缀族 —— **本部署没接这个面**(501)。重试无意义、开开关也没用:要么换部署形态
144
150
  * (接上 store / 打开 fleet 接线),要么在 UI 上**别提供这个入口**。
145
- * 🔴 与 {@link FeatureDisabledError} 的区别正是 P0-1 的全部后果:同为 501,处置相反。 */
151
+ * 🔴 与 {@link FeatureDisabledError} 的区别正是 P0-1 的全部后果:同为 501,处置相反。
152
+ *
153
+ * 🔴 **server ≥7.116.0:HTTP 上「这台部署上不可用」只有一种状态码 = 501**(S-509:能力位与端点门读同一只事实 —— 位为真 ⇒ 它广告的每个端点都不答「不可用」,位为假 ⇒ 至少一个答)。
154
+ * 码按**成因**分,**状态码分不出成因,按 `errorCode` 分支**:`capability.*` = 换部署形态 / 接设施;`feature.*` = 开旋钮({@link FeatureDisabledError});
155
+ * **`capability.operator_principals_required`** = 配 `OPERATOR_PRINCIPALS`(**不是**换部署形态,也不是开关:运维名单为空 ⇒ 所有运维口对**任何身份**答它,先于授权,
156
+ * 之前是 403 `auth.operator_only`)。名单**非空**而调用方不在其中仍是 **403 `auth.operator_only`**({@link AuthError})。门序 = 身份 401 → 名单空 501 → 授权 403 → 设施缺席 501。
157
+ * 同批新码:`capability.leader_endpoint_required`(`/v1/leader*`,此前落全局 404)· `capability.shared_memory_required`(`/v1/shared-memory/*`,此前 404);
158
+ * 既有码落到新地方:`capability.checkpoint_store_required`(`/v1/approvals/*` 与 `/v1/assistant/*`,此前 404 `not_found.route`)· `capability.session_store_required`(会话详情口)·
159
+ * `capability.snapshot_store_required`(history blob GET)· `capability.policy_purge_required`(同步整族,嵌入方形)。**唯一登记例外**:`a2aServe` 的两条路由不可用时答 404(反指纹)。
160
+ * ⚠️ **按状态码判「没权限 / 不存在 / 不可用」的分支要改按 `errorCode`**:403 可能是「不在名单」也可能(≤7.115.x)是名单空;404 可能是「真不存在」也可能(≤7.115.x)是「这台没挂这一族」。 */
146
161
  export declare class CapabilityUnavailableError extends APIError {
147
162
  }
148
163
  /** `feature.*` 前缀族 —— **面存在,但开关是关的**(501;`feature.metrics_disabled` 是 404)。
@@ -150,7 +165,9 @@ export declare class CapabilityUnavailableError extends APIError {
150
165
  * metrics)——不需要换部署形态。
151
166
  * ⚠️ 开集,枚举随 server 增长:`feature.approval_ask_disabled`(server 7.3.0)= 流内审批的 durable ask
152
167
  * 账本未启用(`STREAM_APPROVAL_ENABLED` 关,**或**本 worker 无 store backend)⇒ 回决口整条不上场。
153
- * 注意它跨了两轴:开关那一半开开关就行,无 store 那一半要换部署形态(见 {@link CapabilityUnavailableError})。 */
168
+ * 注意它跨了两轴:开关那一半开开关就行,无 store 那一半要换部署形态(见 {@link CapabilityUnavailableError})。
169
+ * server ≥7.116.0 新增两员(都是 501,开旋钮即可):`feature.memory_consolidation_disabled`(记忆整理两口,`MEMORY_CONSOLIDATION_DRIVER` 关或出厂缺省派生关 ——
170
+ * 没配便宜模型;此前 404)· `feature.config_catalog_disabled`(`CONFIG_CATALOG_ENABLED=false` 时 `GET /v1/config/catalog`;此前 404)。 */
154
171
  export declare class FeatureDisabledError extends APIError {
155
172
  }
156
173
  /** `internal.*` 前缀族 —— 服务端自己出错(500 / 502)。细节不上 wire。
@@ -636,10 +653,21 @@ export declare class AskIdempotencyConflictError extends ConflictError {
636
653
  *
637
654
  * 🔴 **归因两分**:`DENIED` 只由路由失败产生(`routing_failure_fail_closed`);**操作员拒绝不在这里**
638
655
  * ——那是 `DECIDED(decision="deny")`,走 200 / 409 回显腿。超时本身永不产生 deny。
656
+ *
657
+ * 🔴 **server ≥7.116.0 新增一种 VOID 成因:承载这一问的进程没了**(local 车道;`DB_BACKEND=local` 或缺省):挂着流内审批卡时进程崩溃 / 被杀(或有序关停没能在宽限窗内结清那张卡),
658
+ * 同一数据根重启后,对**上一世那张卡**的决断由 ≤7.115.x 的 `200` + `consumerState:"absent"`(以为批了、实则那条 run 早已被重启回收)**改为 `410 gone.ask`**:
659
+ * `state:"VOID"`、{@link deniedReason} = **`crashed_before_park`**(进程被杀 / 崩溃)或 **`shutdown_before_park`**(有序关停的收尾没能在宽限窗内结清;故障形,黑盒难构造)
660
+ * —— 与 `GET /v1/approvals` `crashConverged[].cause` 是**同一个词**(同一问在两个读面上只有一个成因词)。体上**没有** `consumerState`。
661
+ * **已经批过的问**(批了、工具执行中崩)不在这里:照旧 `409 conflict.ask_decided` 首决回显。SQL 后端本版不变(窗 + 宽限内仍 200 + `consumerState:"absent"`,窗后由对账器收)。
662
+ * Client action:读 `deniedReason` 是这两词之一 ⇒ 告诉人「上一次运行在等你答的时候结束了」并**重新提交任务**(新 run 会重新出卡);要不要自动重发看 `crashConverged` 同一行的 `resumeSafe`。
663
+ * 按 `errorCode` 前缀 `gone.` 兜底的客户端读作「这条决定通道已关」即对。
664
+ *
665
+ * 类型:{@link state} 是 {@link AskGoneState}、{@link deniedReason} 是 {@link AskGoneDeniedReason}(**开集**写法,词表 = server `approval-deny-reasons` 登记表)。
639
666
  * Client action:不重试本端点;按 `state` 改走 durable gate 或按拒绝呈现(带原因,永不静默)。 */
640
667
  export declare class AskGoneError extends APIError {
641
- /** `PARKED` | `DENIED` | `VOID`(`gone.ask` 腿携带;`gone.ask_parked` 腿恒 PARKED,可缺席)。 */
642
- readonly state?: string | undefined;
668
+ /** `PARKED` | `DENIED` | `VOID`(`gone.ask` 腿携带;`gone.ask_parked` 腿恒 PARKED,可缺席)。具名型 {@link AskGoneState}(开集尾 —— 本类构造器是公开的;
669
+ * {@link toApiError} 只会产出三词之一,越界值在 mapper 里就被丢弃)。 */
670
+ readonly state?: AskGoneState | undefined;
643
671
  /** gate 对账坐标①:走 durable gate 流程用的 session id(`gone.ask_parked` 腿)。 */
644
672
  readonly sessionId?: string | undefined;
645
673
  /** gate 对账坐标②:gate 绑定的 tool-call id。 */
@@ -649,11 +677,12 @@ export declare class AskGoneError extends APIError {
649
677
  /** 归因,**按 {@link state} 分组**(车4 §12-F / 车5-6 §8 C-1,两组值域不混):
650
678
  * `DENIED` ⇒ 恒 {@link DENY_REASON_ROUTING_FAILURE}(单员闭集;**人拒从不落 DENIED**,
651
679
  * 那是 `DECIDED(decision="deny")`);`VOID` ⇒ VOID_REASONS 组(会长,如
652
- * `adhoc_leg_no_durable_domain`)。越界值在 mapper 里就被丢弃,不会到这里。 */
653
- readonly deniedReason?: string | undefined;
680
+ * `adhoc_leg_no_durable_domain`)。越界值在 mapper 里就被丢弃,不会到这里。具名型 {@link AskGoneDeniedReason}(开集)。 */
681
+ readonly deniedReason?: AskGoneDeniedReason | undefined;
654
682
  constructor(status: number, errorCode: string | undefined, message: string,
655
- /** `PARKED` | `DENIED` | `VOID`(`gone.ask` 腿携带;`gone.ask_parked` 腿恒 PARKED,可缺席)。 */
656
- state?: string | undefined,
683
+ /** `PARKED` | `DENIED` | `VOID`(`gone.ask` 腿携带;`gone.ask_parked` 腿恒 PARKED,可缺席)。具名型 {@link AskGoneState}(开集尾 —— 本类构造器是公开的;
684
+ * {@link toApiError} 只会产出三词之一,越界值在 mapper 里就被丢弃)。 */
685
+ state?: AskGoneState | undefined,
657
686
  /** gate 对账坐标①:走 durable gate 流程用的 session id(`gone.ask_parked` 腿)。 */
658
687
  sessionId?: string | undefined,
659
688
  /** gate 对账坐标②:gate 绑定的 tool-call id。 */
@@ -663,9 +692,22 @@ export declare class AskGoneError extends APIError {
663
692
  /** 归因,**按 {@link state} 分组**(车4 §12-F / 车5-6 §8 C-1,两组值域不混):
664
693
  * `DENIED` ⇒ 恒 {@link DENY_REASON_ROUTING_FAILURE}(单员闭集;**人拒从不落 DENIED**,
665
694
  * 那是 `DECIDED(decision="deny")`);`VOID` ⇒ VOID_REASONS 组(会长,如
666
- * `adhoc_leg_no_durable_domain`)。越界值在 mapper 里就被丢弃,不会到这里。 */
667
- deniedReason?: string | undefined);
668
- }
695
+ * `adhoc_leg_no_durable_domain`)。越界值在 mapper 里就被丢弃,不会到这里。具名型 {@link AskGoneDeniedReason}(开集)。 */
696
+ deniedReason?: AskGoneDeniedReason | undefined);
697
+ }
698
+ /** `410 gone.ask` / `gone.ask_parked` 体里**终态**的词(server `approval-ask-machine` 的终态:`PARKED` 只在 `gone.ask_parked` 腿、由 mapper 固定填出;`DENIED` / `VOID` 在 `gone.ask` 腿)。
699
+ * 🔴 **开集尾 `(string & {})`**:{@link toApiError} 对越界值**丢弃**(⇒ 字段缺席,按「已终结、原因未知」呈现),所以经 mapper 到手的只会是三词之一;
700
+ * 尾巴只因为 {@link AskGoneError} 构造器是公开的、收窄成闭集 = RELEASE.md 意义上的收窄(major)—— **下一个 major 去掉尾巴**。
701
+ * server ≥7.116.0 起 `state:"VOID"` 也由「local 车道重启后对上一世的卡作答」铸出(见 {@link AskGoneError})。 */
702
+ export type AskGoneState = "PARKED" | "DENIED" | "VOID" | (string & {});
703
+ /** `410 gone.ask` 体 `deniedReason` 的词 —— **按 {@link AskGoneState} 分两组、值域不相交**(server `approval-deny-reasons` 的 `DENY_REASONS` / `VOID_REASONS`;测试逐字对拍发布字节):
704
+ * · `state:"DENIED"` ⇒ 恒 `routing_failure_fail_closed`(单员闭集;mapper 对 DENIED 配别的词一律丢弃,见 {@link DENY_REASON_ROUTING_FAILURE});
705
+ * · `state:"VOID"` ⇒ 七词(**会长的一组**,故带开集尾):`run_cancelled`(run 取消)· `batch_aborted`(批行已撤)· `batch_bound_elsewhere`(bind-once 落选者)·
706
+ * `adhoc_leg_no_durable_domain`(一次性 taskId 的腿没有可对账的 durable 域,流死即 abort)· `orphan_ttl_exceeded`(遗孤兜底)·
707
+ * **`crashed_before_park`**(server ≥7.116.0:承载这一问的进程崩溃 / 被杀,local 车道)· **`shutdown_before_park`**(server ≥7.116.0:有序关停的收尾没结清,local 车道)。
708
+ * 后两词与 `GET /v1/approvals` `crashConverged[].cause` 同一个词;另六词早已在 wire 上(≥7.3.0 / 7.55.0 / 7.108.0),本版才在 server 的自铸词表里登记。
709
+ * 缺席 = 行上没写归因。词表属主在 server:今天读不出的词原样过境(开集),分支永远带 `default`。 */
710
+ export type AskGoneDeniedReason = typeof DENY_REASON_ROUTING_FAILURE | "run_cancelled" | "batch_aborted" | "batch_bound_elsewhere" | "adhoc_leg_no_durable_domain" | "orphan_ttl_exceeded" | "crashed_before_park" | "shutdown_before_park" | (string & {});
669
711
  /** `DENIED` 态的唯一合法归因(车4 §12-F:`denied_reason` 列值域**单员**)。导出是因为消费端要拿它做
670
712
  * 「路由失败 vs 人拒」的判别与文案分支 —— 手抄一份字符串正是这条界线被抹掉的常见方式。 */
671
713
  export declare const DENY_REASON_ROUTING_FAILURE = "routing_failure_fail_closed";
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/errors.js CHANGED
@@ -75,6 +75,12 @@ export class APIError extends Error {
75
75
  * (直接另开会撞 409 `conflict.session_active_run` —— 会话锁还在这条行手里);≤7.112.0 这个码落终局(run 行被驱成 `failed`、会话锁释放、卡成孤儿)。
76
76
  * `steering.blocked_by_hook` 的 `/wake` 口:hook 恢复后**同一张卡**可再 wake。本键只在这些 resume 腿的 **409** 体上出现(200 体上的 `retriable` 是另外两份 schema 的事)。
77
77
  *
78
+ * 🔴 **server ≥7.115.0 又落到一个码上(第四个)**:`checkpoint.unsupported_version`(409;`/decide` / `/resume` / `/plan_review` 与带 / 不带消息的 `/wake`)的 **server 自铸臂** ——
79
+ * ≤7.114.x 停驻、提交体带非空 `settings.permissions.allow`(那时它是名单)的任务,续跑时被拒(本服务不按新读法〔allow 规则〕重放旧名单)。体 `{ error, errorCode, retriable: true }`,
80
+ * **无 `taskId`**(认领之前拒)。同样读作「**卡仍 pending**(可取消)」,**不是**「原样重试会成功」:同一份字节在任何 ≥7.115.0 上都被同样拒 ⇒ 本包不因它自动重试(409 ∉ `RETRYABLE_STATUS`)。
81
+ * 出路 = **作为新任务重提**(这条任务若还停驻着,先 `POST /v1/runs/:id/cancel`;唤醒停驻 / 宿主会话那条腿没有可取消的 run,直接在该会话上新提交);要「只许这些工具」用会话规则 `toolAllow` / 请求 `excludeTools`。
82
+ * 一次性迁移 —— 所有 ≤7.114.x 停驻的任务结束后,server 会删掉这一铸点。落 {@link ConflictError}(`checkpoint.` 前缀族,按 `errorCode` 判别)。
83
+ *
78
84
  * 🔴 `undefined` means "the server did not say", NOT "not retriable" — it is a CONDITIONAL field server-side
79
85
  * (absent ⇒ key omitted), so reading its absence as an explicit `false` over-reads the wire.
80
86
  *
@@ -204,7 +210,16 @@ export class LimitExceededError extends APIError {
204
210
  }
205
211
  /** `capability.*` 前缀族 —— **本部署没接这个面**(501)。重试无意义、开开关也没用:要么换部署形态
206
212
  * (接上 store / 打开 fleet 接线),要么在 UI 上**别提供这个入口**。
207
- * 🔴 与 {@link FeatureDisabledError} 的区别正是 P0-1 的全部后果:同为 501,处置相反。 */
213
+ * 🔴 与 {@link FeatureDisabledError} 的区别正是 P0-1 的全部后果:同为 501,处置相反。
214
+ *
215
+ * 🔴 **server ≥7.116.0:HTTP 上「这台部署上不可用」只有一种状态码 = 501**(S-509:能力位与端点门读同一只事实 —— 位为真 ⇒ 它广告的每个端点都不答「不可用」,位为假 ⇒ 至少一个答)。
216
+ * 码按**成因**分,**状态码分不出成因,按 `errorCode` 分支**:`capability.*` = 换部署形态 / 接设施;`feature.*` = 开旋钮({@link FeatureDisabledError});
217
+ * **`capability.operator_principals_required`** = 配 `OPERATOR_PRINCIPALS`(**不是**换部署形态,也不是开关:运维名单为空 ⇒ 所有运维口对**任何身份**答它,先于授权,
218
+ * 之前是 403 `auth.operator_only`)。名单**非空**而调用方不在其中仍是 **403 `auth.operator_only`**({@link AuthError})。门序 = 身份 401 → 名单空 501 → 授权 403 → 设施缺席 501。
219
+ * 同批新码:`capability.leader_endpoint_required`(`/v1/leader*`,此前落全局 404)· `capability.shared_memory_required`(`/v1/shared-memory/*`,此前 404);
220
+ * 既有码落到新地方:`capability.checkpoint_store_required`(`/v1/approvals/*` 与 `/v1/assistant/*`,此前 404 `not_found.route`)· `capability.session_store_required`(会话详情口)·
221
+ * `capability.snapshot_store_required`(history blob GET)· `capability.policy_purge_required`(同步整族,嵌入方形)。**唯一登记例外**:`a2aServe` 的两条路由不可用时答 404(反指纹)。
222
+ * ⚠️ **按状态码判「没权限 / 不存在 / 不可用」的分支要改按 `errorCode`**:403 可能是「不在名单」也可能(≤7.115.x)是名单空;404 可能是「真不存在」也可能(≤7.115.x)是「这台没挂这一族」。 */
208
223
  export class CapabilityUnavailableError extends APIError {
209
224
  }
210
225
  /** `feature.*` 前缀族 —— **面存在,但开关是关的**(501;`feature.metrics_disabled` 是 404)。
@@ -212,7 +227,9 @@ export class CapabilityUnavailableError extends APIError {
212
227
  * metrics)——不需要换部署形态。
213
228
  * ⚠️ 开集,枚举随 server 增长:`feature.approval_ask_disabled`(server 7.3.0)= 流内审批的 durable ask
214
229
  * 账本未启用(`STREAM_APPROVAL_ENABLED` 关,**或**本 worker 无 store backend)⇒ 回决口整条不上场。
215
- * 注意它跨了两轴:开关那一半开开关就行,无 store 那一半要换部署形态(见 {@link CapabilityUnavailableError})。 */
230
+ * 注意它跨了两轴:开关那一半开开关就行,无 store 那一半要换部署形态(见 {@link CapabilityUnavailableError})。
231
+ * server ≥7.116.0 新增两员(都是 501,开旋钮即可):`feature.memory_consolidation_disabled`(记忆整理两口,`MEMORY_CONSOLIDATION_DRIVER` 关或出厂缺省派生关 ——
232
+ * 没配便宜模型;此前 404)· `feature.config_catalog_disabled`(`CONFIG_CATALOG_ENABLED=false` 时 `GET /v1/config/catalog`;此前 404)。 */
216
233
  export class FeatureDisabledError extends APIError {
217
234
  }
218
235
  /** `internal.*` 前缀族 —— 服务端自己出错(500 / 502)。细节不上 wire。
@@ -725,6 +742,16 @@ export class AskIdempotencyConflictError extends ConflictError {
725
742
  *
726
743
  * 🔴 **归因两分**:`DENIED` 只由路由失败产生(`routing_failure_fail_closed`);**操作员拒绝不在这里**
727
744
  * ——那是 `DECIDED(decision="deny")`,走 200 / 409 回显腿。超时本身永不产生 deny。
745
+ *
746
+ * 🔴 **server ≥7.116.0 新增一种 VOID 成因:承载这一问的进程没了**(local 车道;`DB_BACKEND=local` 或缺省):挂着流内审批卡时进程崩溃 / 被杀(或有序关停没能在宽限窗内结清那张卡),
747
+ * 同一数据根重启后,对**上一世那张卡**的决断由 ≤7.115.x 的 `200` + `consumerState:"absent"`(以为批了、实则那条 run 早已被重启回收)**改为 `410 gone.ask`**:
748
+ * `state:"VOID"`、{@link deniedReason} = **`crashed_before_park`**(进程被杀 / 崩溃)或 **`shutdown_before_park`**(有序关停的收尾没能在宽限窗内结清;故障形,黑盒难构造)
749
+ * —— 与 `GET /v1/approvals` `crashConverged[].cause` 是**同一个词**(同一问在两个读面上只有一个成因词)。体上**没有** `consumerState`。
750
+ * **已经批过的问**(批了、工具执行中崩)不在这里:照旧 `409 conflict.ask_decided` 首决回显。SQL 后端本版不变(窗 + 宽限内仍 200 + `consumerState:"absent"`,窗后由对账器收)。
751
+ * Client action:读 `deniedReason` 是这两词之一 ⇒ 告诉人「上一次运行在等你答的时候结束了」并**重新提交任务**(新 run 会重新出卡);要不要自动重发看 `crashConverged` 同一行的 `resumeSafe`。
752
+ * 按 `errorCode` 前缀 `gone.` 兜底的客户端读作「这条决定通道已关」即对。
753
+ *
754
+ * 类型:{@link state} 是 {@link AskGoneState}、{@link deniedReason} 是 {@link AskGoneDeniedReason}(**开集**写法,词表 = server `approval-deny-reasons` 登记表)。
728
755
  * Client action:不重试本端点;按 `state` 改走 durable gate 或按拒绝呈现(带原因,永不静默)。 */
729
756
  export class AskGoneError extends APIError {
730
757
  state;
@@ -733,7 +760,8 @@ export class AskGoneError extends APIError {
733
760
  gateBoundInputHash;
734
761
  deniedReason;
735
762
  constructor(status, errorCode, message,
736
- /** `PARKED` | `DENIED` | `VOID`(`gone.ask` 腿携带;`gone.ask_parked` 腿恒 PARKED,可缺席)。 */
763
+ /** `PARKED` | `DENIED` | `VOID`(`gone.ask` 腿携带;`gone.ask_parked` 腿恒 PARKED,可缺席)。具名型 {@link AskGoneState}(开集尾 —— 本类构造器是公开的;
764
+ * {@link toApiError} 只会产出三词之一,越界值在 mapper 里就被丢弃)。 */
737
765
  state,
738
766
  /** gate 对账坐标①:走 durable gate 流程用的 session id(`gone.ask_parked` 腿)。 */
739
767
  sessionId,
@@ -744,7 +772,7 @@ export class AskGoneError extends APIError {
744
772
  /** 归因,**按 {@link state} 分组**(车4 §12-F / 车5-6 §8 C-1,两组值域不混):
745
773
  * `DENIED` ⇒ 恒 {@link DENY_REASON_ROUTING_FAILURE}(单员闭集;**人拒从不落 DENIED**,
746
774
  * 那是 `DECIDED(decision="deny")`);`VOID` ⇒ VOID_REASONS 组(会长,如
747
- * `adhoc_leg_no_durable_domain`)。越界值在 mapper 里就被丢弃,不会到这里。 */
775
+ * `adhoc_leg_no_durable_domain`)。越界值在 mapper 里就被丢弃,不会到这里。具名型 {@link AskGoneDeniedReason}(开集)。 */
748
776
  deniedReason) {
749
777
  super(status, errorCode, message);
750
778
  this.state = state;