@sema-agent/server 7.142.0 → 7.143.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 (258) hide show
  1. package/MIGRATION.md +442 -0
  2. package/USAGE.md +41 -24
  3. package/dist/adoption/plan.js +22 -0
  4. package/dist/approval-ask-audit-store.d.ts +7 -5
  5. package/dist/approval-ask-audit-store.js +12 -6
  6. package/dist/approval-ask-machine.d.ts +15 -7
  7. package/dist/approval-ask-machine.js +10 -4
  8. package/dist/approval-card.d.ts +124 -25
  9. package/dist/approval-card.js +103 -23
  10. package/dist/approval-queue-kind.d.ts +27 -0
  11. package/dist/approval-queue-kind.js +6 -0
  12. package/dist/approval-reconciler.d.ts +8 -8
  13. package/dist/approval-reconciler.js +3 -3
  14. package/dist/audit.js +4 -2
  15. package/dist/boot/budget-tracing.d.ts +1 -1
  16. package/dist/boot/governance-seams.d.ts +26 -41
  17. package/dist/boot/governance-seams.js +61 -28
  18. package/dist/boot/late-binds.d.ts +7 -4
  19. package/dist/boot/late-binds.js +3 -1
  20. package/dist/boot/leader.js +2 -4
  21. package/dist/boot/memory-consolidation.d.ts +0 -8
  22. package/dist/boot/memory-consolidation.js +3 -3
  23. package/dist/boot/reapers.js +5 -4
  24. package/dist/boot/resolve-spec.d.ts +1 -1
  25. package/dist/boot/resolve-spec.js +8 -8
  26. package/dist/boot/runner-deps.d.ts +10 -7
  27. package/dist/boot/runner-deps.js +5 -17
  28. package/dist/boot/shutdown.d.ts +9 -0
  29. package/dist/boot/shutdown.js +16 -2
  30. package/dist/boot/stage-02-web-admin-pull.js +3 -0
  31. package/dist/boot/stage-03-store-backend.d.ts +4 -1
  32. package/dist/boot/stage-03-store-backend.js +1 -2
  33. package/dist/boot/stage-04-stores.d.ts +5 -2
  34. package/dist/boot/stage-04-stores.js +3 -5
  35. package/dist/boot/stage-05-execution-env.d.ts +5 -2
  36. package/dist/boot/stage-06-runners.d.ts +5 -2
  37. package/dist/boot/stage-06-runners.js +1 -3
  38. package/dist/boot/stage-07-capability-layer.d.ts +5 -2
  39. package/dist/boot/stage-07-capability-layer.js +5 -1
  40. package/dist/boot/stage-08-reapers.d.ts +5 -2
  41. package/dist/boot/stage-09-leader.d.ts +5 -2
  42. package/dist/boot/stage-10-http-server.d.ts +5 -2
  43. package/dist/boot/stage-10-http-server.js +9 -1
  44. package/dist/boot/stores.d.ts +5 -2
  45. package/dist/boot/stores.js +7 -7
  46. package/dist/boot/web-admin.d.ts +5 -1
  47. package/dist/boot/web-admin.js +31 -19
  48. package/dist/capabilities/hands-lane.d.ts +9 -39
  49. package/dist/capabilities/hands-lane.js +8 -13
  50. package/dist/capabilities/mcp-probe.d.ts +3 -2
  51. package/dist/capabilities/scenarios.d.ts +11 -1
  52. package/dist/capabilities/scenarios.js +1 -0
  53. package/dist/capabilities/skills.d.ts +1 -17
  54. package/dist/capabilities/skills.js +0 -8
  55. package/dist/capability-facts.d.ts +8 -8
  56. package/dist/capability-facts.js +4 -4
  57. package/dist/card-void.d.ts +6 -9
  58. package/dist/config-catalog.js +1 -1
  59. package/dist/config-dir-trust.js +58 -29
  60. package/dist/config-invariants.d.ts +7 -1
  61. package/dist/config-invariants.js +7 -0
  62. package/dist/config-provider.d.ts +10 -0
  63. package/dist/config-provider.js +15 -4
  64. package/dist/config-root-migration.d.ts +13 -0
  65. package/dist/config-root-migration.js +99 -0
  66. package/dist/config-types.d.ts +5 -5
  67. package/dist/config.d.ts +4 -3
  68. package/dist/config.js +1 -1
  69. package/dist/delegated-session-owner.d.ts +5 -3
  70. package/dist/delegated-session-owner.js +1 -1
  71. package/dist/device-ws-protocol.d.ts +1 -0
  72. package/dist/device-ws-protocol.js +2 -1
  73. package/dist/env-model-table-gate.d.ts +53 -0
  74. package/dist/env-model-table-gate.js +53 -0
  75. package/dist/fleet/fleet-bus.d.ts +28 -52
  76. package/dist/fleet/fleet-bus.js +35 -100
  77. package/dist/fleet/fleet-reconciler.d.ts +4 -4
  78. package/dist/fleet/fleet-reconciler.js +1 -1
  79. package/dist/fleet/subagent-tail-bus.d.ts +14 -11
  80. package/dist/fleet/subagent-tail-bus.js +15 -28
  81. package/dist/hooks/hook-runner.js +28 -7
  82. package/dist/host-decision.d.ts +54 -20
  83. package/dist/host-decision.js +42 -14
  84. package/dist/http/admission.d.ts +1 -1
  85. package/dist/http/admission.js +7 -3
  86. package/dist/http/approval-sweeps.js +11 -8
  87. package/dist/http/caller-trust.d.ts +1 -1
  88. package/dist/http/durable-run-leg.js +2 -2
  89. package/dist/http/engine-refusal.d.ts +16 -0
  90. package/dist/http/engine-refusal.js +17 -0
  91. package/dist/http/memory-compliance-failure-reply.d.ts +1 -3
  92. package/dist/http/memory-compliance-failure-reply.js +4 -6
  93. package/dist/http/owner-access.d.ts +11 -0
  94. package/dist/http/owner-access.js +13 -0
  95. package/dist/http/resume-legs.d.ts +21 -7
  96. package/dist/http/resume-legs.js +71 -49
  97. package/dist/http/resume-restatement.d.ts +39 -0
  98. package/dist/http/resume-restatement.js +25 -0
  99. package/dist/http/route-ctx.d.ts +35 -10
  100. package/dist/http/route-ctx.js +1 -1
  101. package/dist/http/routes/approvals-assistant.d.ts +9 -1
  102. package/dist/http/routes/approvals-assistant.js +142 -31
  103. package/dist/http/routes/capabilities.js +11 -2
  104. package/dist/http/routes/memory-policy.d.ts +2 -2
  105. package/dist/http/routes/memory-policy.js +1 -1
  106. package/dist/http/routes/notify-wake.js +23 -25
  107. package/dist/http/routes/rules.js +48 -13
  108. package/dist/http/routes/runs.js +9 -8
  109. package/dist/http/routes/session-memory-sync.d.ts +34 -6
  110. package/dist/http/routes/session-memory-sync.js +27 -10
  111. package/dist/http/routes/session-sync.js +13 -20
  112. package/dist/http/routes/sessions.d.ts +2 -2
  113. package/dist/http/routes/sessions.js +22 -23
  114. package/dist/http/routes/tasks.js +27 -49
  115. package/dist/http/server.d.ts +13 -7
  116. package/dist/http/server.js +2 -2
  117. package/dist/http/stored-body-replay.js +15 -4
  118. package/dist/http/wire-types.d.ts +17 -7
  119. package/dist/leader/leader.js +5 -2
  120. package/dist/leader/wire.d.ts +7 -1
  121. package/dist/leader/wire.js +6 -5
  122. package/dist/leg-facts.d.ts +37 -0
  123. package/dist/leg-facts.js +15 -0
  124. package/dist/memory-bundle-engine.d.ts +1 -4
  125. package/dist/memory-bundle-engine.js +2 -2
  126. package/dist/memory-operator-faces.d.ts +30 -66
  127. package/dist/memory-operator-faces.js +17 -88
  128. package/dist/memory-scope-stores.d.ts +38 -40
  129. package/dist/memory-scope-stores.js +51 -36
  130. package/dist/memory-scope.d.ts +0 -9
  131. package/dist/memory-scope.js +0 -9
  132. package/dist/memory-sync-client.js +14 -3
  133. package/dist/memory-sync.d.ts +20 -4
  134. package/dist/memory-sync.js +23 -4
  135. package/dist/model-plane-face.d.ts +13 -7
  136. package/dist/model-plane-face.js +2 -1
  137. package/dist/observability/fail-open.d.ts +20 -4
  138. package/dist/observability/fail-open.js +17 -4
  139. package/dist/observability/run-terminal.js +4 -0
  140. package/dist/orchestration/workflow-completion-inbox.d.ts +5 -19
  141. package/dist/orchestration/workflow-completion-inbox.js +0 -12
  142. package/dist/orchestration/workflow-notify-journal.d.ts +3 -2
  143. package/dist/orchestration/workflow-park-decision.d.ts +8 -3
  144. package/dist/orchestration/workflow-park-decision.js +5 -3
  145. package/dist/org-delivery-gate.d.ts +11 -0
  146. package/dist/org-delivery-gate.js +19 -1
  147. package/dist/parked-decide.d.ts +13 -9
  148. package/dist/parked-decide.js +7 -7
  149. package/dist/parked-revive-surface.js +1 -1
  150. package/dist/peer-inbound-face.d.ts +127 -0
  151. package/dist/peer-inbound-face.js +158 -0
  152. package/dist/permission-rule-list.d.ts +13 -9
  153. package/dist/permission-rule-list.js +7 -3
  154. package/dist/plugins/approval-ask-store-file.js +18 -6
  155. package/dist/plugins/approval-ask-store-memory.js +8 -6
  156. package/dist/plugins/approval-ask-store-sql.d.ts +28 -13
  157. package/dist/plugins/approval-ask-store-sql.js +30 -11
  158. package/dist/plugins/checkpoint-store-sql.d.ts +4 -4
  159. package/dist/plugins/checkpoint-store-sql.js +9 -7
  160. package/dist/plugins/file-history-store-sql.d.ts +24 -18
  161. package/dist/plugins/file-history-store-sql.js +24 -19
  162. package/dist/plugins/file-run-store.d.ts +29 -0
  163. package/dist/plugins/file-run-store.js +97 -8
  164. package/dist/plugins/imported-layer-root-retirement.d.ts +82 -0
  165. package/dist/plugins/imported-layer-root-retirement.js +96 -0
  166. package/dist/plugins/local-checkpoint-store.d.ts +1 -1
  167. package/dist/plugins/local-checkpoint-store.js +2 -2
  168. package/dist/plugins/local-session-store.d.ts +6 -2
  169. package/dist/plugins/local-session-store.js +8 -2
  170. package/dist/plugins/mailbox-recipient-lifecycle.d.ts +9 -31
  171. package/dist/plugins/mailbox-recipient-lifecycle.js +4 -0
  172. package/dist/plugins/mailbox-store-sql.d.ts +12 -8
  173. package/dist/plugins/mailbox-store-sql.js +76 -7
  174. package/dist/plugins/memory-sync-store-pg.d.ts +15 -0
  175. package/dist/plugins/memory-sync-store-pg.js +21 -0
  176. package/dist/plugins/memory-sync-store-tidb.d.ts +2 -0
  177. package/dist/plugins/memory-sync-store-tidb.js +13 -1
  178. package/dist/plugins/one-time-migrations.d.ts +32 -2
  179. package/dist/plugins/one-time-migrations.js +106 -3
  180. package/dist/plugins/org-delivery-quota-store.d.ts +1 -1
  181. package/dist/plugins/org-delivery-quota-store.js +2 -12
  182. package/dist/plugins/park-commit-watch.d.ts +1 -1
  183. package/dist/plugins/permission-rule-store-file.d.ts +10 -1
  184. package/dist/plugins/permission-rule-store-file.js +15 -2
  185. package/dist/plugins/permission-rule-store-sql.d.ts +31 -1
  186. package/dist/plugins/permission-rule-store-sql.js +35 -2
  187. package/dist/plugins/remote-env-device.d.ts +8 -11
  188. package/dist/plugins/remote-env-device.js +6 -3
  189. package/dist/plugins/remote-env-k8s.d.ts +37 -24
  190. package/dist/plugins/remote-env-k8s.js +50 -17
  191. package/dist/plugins/retention-store-sql.d.ts +2 -2
  192. package/dist/plugins/sandbox-read-floor.d.ts +5 -7
  193. package/dist/plugins/sandbox-read-floor.js +2 -7
  194. package/dist/plugins/sql-errors.d.ts +10 -1
  195. package/dist/plugins/sql-errors.js +13 -0
  196. package/dist/plugins/store-backend.d.ts +23 -28
  197. package/dist/plugins/store-backend.js +9 -1
  198. package/dist/plugins/store-contracts.d.ts +29 -5
  199. package/dist/plugins/store-contracts.js +4 -1
  200. package/dist/plugins/task-attachment-store.d.ts +2 -2
  201. package/dist/plugins/task-attachment-store.js +37 -52
  202. package/dist/plugins/tool-result-store-sql.d.ts +9 -8
  203. package/dist/plugins/tool-result-store-sql.js +23 -2
  204. package/dist/plugins/wiring-section-codec.d.ts +32 -0
  205. package/dist/plugins/wiring-section-codec.js +55 -0
  206. package/dist/plugins/workspace-fill.d.ts +1 -1
  207. package/dist/rule-entry-list.d.ts +3 -2
  208. package/dist/rule-entry-list.js +5 -1
  209. package/dist/rules-consent.d.ts +28 -5
  210. package/dist/rules-consent.js +40 -28
  211. package/dist/run-local.js +9 -5
  212. package/dist/runs.d.ts +12 -8
  213. package/dist/runs.js +6 -7
  214. package/dist/runtime-governance.d.ts +1 -1
  215. package/dist/server-secret-env.d.ts +4 -0
  216. package/dist/session-error-wire.d.ts +12 -0
  217. package/dist/session-error-wire.js +6 -0
  218. package/dist/session-incarnation.d.ts +1 -1
  219. package/dist/session-notify-door.d.ts +106 -0
  220. package/dist/session-notify-door.js +93 -0
  221. package/dist/session-sync.d.ts +9 -14
  222. package/dist/session-sync.js +5 -5
  223. package/dist/session-workspace.d.ts +3 -13
  224. package/dist/session-workspace.js +0 -9
  225. package/dist/standing-answer-grant.d.ts +5 -0
  226. package/dist/standing-answer-grant.js +10 -0
  227. package/dist/stores-sql/session-policy-store-sql.d.ts +4 -2
  228. package/dist/stores-sql/session-policy-store-sql.js +3 -13
  229. package/dist/task-mcp.d.ts +1 -1
  230. package/dist/task-settings.d.ts +11 -8
  231. package/dist/task-settings.js +31 -11
  232. package/dist/tool-approval.d.ts +52 -34
  233. package/dist/tool-approval.js +66 -57
  234. package/dist/trace/core-keyset-guard.d.ts +11 -8
  235. package/dist/trace/engine-notice-wire.d.ts +1 -1
  236. package/dist/trace/engine-notice-wire.js +3 -1
  237. package/dist/trace/exit-seat.d.ts +7 -1
  238. package/dist/trace/exit-seat.js +1 -0
  239. package/dist/trace/ledger-sink.d.ts +2 -2
  240. package/dist/trace/model-segment.d.ts +55 -25
  241. package/dist/trace/model-segment.js +101 -33
  242. package/dist/trace/project.d.ts +7 -4
  243. package/dist/trace/project.js +6 -0
  244. package/dist/trace/redact.d.ts +61 -9
  245. package/dist/trace/redact.js +1490 -468
  246. package/dist/trace/self-minted-wire.d.ts +510 -38
  247. package/dist/trace/self-minted-wire.js +165 -17
  248. package/dist/trace/wire-projection-faces.d.ts +1 -1
  249. package/dist/trace/wire-projection-faces.js +1 -1
  250. package/dist/verifier-pause-card.d.ts +33 -5
  251. package/dist/verifier-pause-card.js +15 -10
  252. package/dist/web-admin-client/apply-effective.d.ts +12 -16
  253. package/dist/web-admin-client/apply-effective.js +90 -10
  254. package/dist/workspace-space.d.ts +19 -3
  255. package/dist/workspace-space.js +8 -4
  256. package/docs/DEVICE-EXECUTOR-PROTOCOL.md +3 -1
  257. package/package.json +3 -2
  258. package/wire-changes/server@7.143.0.json +1167 -0
@@ -129,10 +129,6 @@ export declare const SELF_MINTED_WIRE: {
129
129
  readonly attr: 409;
130
130
  readonly since: "7.108.0";
131
131
  };
132
- readonly "memory.erasure_store_unjudged": {
133
- readonly attr: 409;
134
- readonly since: "7.140.0";
135
- };
136
132
  readonly "internal.memory_control_plane_corrupt": {
137
133
  readonly attr: 500;
138
134
  readonly since: "7.108.0";
@@ -1025,13 +1021,6 @@ export declare const SELF_MINTED_WIRE: {
1025
1021
  readonly since: "7.142.0";
1026
1022
  };
1027
1023
  };
1028
- readonly retired: {
1029
- readonly "POST /v1/tasks|/v1/tasks/stream#replay_run_read_face(\u540C\u952E\u91CD\u653E\u7684\u4F53 = GET /v1/runs/:id \u7684\u8BFB\u9762 + replay: true:result \u662F\u5BF9\u8C61,\u5916\u52A0 status / errorCode / heldBy \u7B49\u8BFB\u9762\u952E)": {
1030
- readonly attr: 200;
1031
- readonly since: "7.125.0";
1032
- readonly until: "7.142.0";
1033
- };
1034
- };
1035
1024
  };
1036
1025
  /**
1037
1026
  * 内建场景名(`GET /v1/capabilities.scenarios` 的内建成员,`GET /v1/capabilities/scenarios/:name` 的内建详情)。7.126.0 `discuss` 退出 wire
@@ -1171,6 +1160,35 @@ export declare const SELF_MINTED_WIRE: {
1171
1160
  };
1172
1161
  };
1173
1162
  };
1163
+ /**
1164
+ * `GET /v1/models` 的 `modelPlane` 段的整个键闭集(段自 7.133.0 起在 wire 上;前四键与段同版,本表 7.143.0 才登记它们)。`planeRefusalCode` —— 最新到达的目录候选被模型面组拒的码
1165
+ * (在场 ⇔ 最新到达的候选被模型面组拒;与 `catalog:"refused"` 同读一份事实,读法见 `model-plane-face.ts` 文件头)。
1166
+ */
1167
+ readonly modelPlaneKey: {
1168
+ readonly at: "GET /v1/models modelPlane.<键>(<键> → 在场律)";
1169
+ readonly members: {
1170
+ servedTable: {
1171
+ attr: string;
1172
+ since: string;
1173
+ };
1174
+ catalog: {
1175
+ attr: string;
1176
+ since: string;
1177
+ };
1178
+ refusalCode: {
1179
+ attr: string;
1180
+ since: string;
1181
+ };
1182
+ gap: {
1183
+ attr: string;
1184
+ since: string;
1185
+ };
1186
+ planeRefusalCode: {
1187
+ attr: string;
1188
+ since: string;
1189
+ };
1190
+ };
1191
+ };
1174
1192
  /**
1175
1193
  * 呈卡帧 `approval_request` 的 `card`(= `card_json` 的耐久卡信封)上本版新铸的键:引擎卡词 `approvalCard`。活铸帧的 `card`、落库的卡信封、断连重放帧的 `card` 三面同源同词
1176
1194
  * (帧顶层那一份照旧在,同值)。在场律 `present-iff`:引擎铸了卡词且过了闭集窄读才有,引擎没铸 ⇒ 缺席(不编 `generic`);本版之前落下的行卡上没有 ⇒ 重放照旧不带。
@@ -1185,6 +1203,90 @@ export declare const SELF_MINTED_WIRE: {
1185
1203
  };
1186
1204
  };
1187
1205
  };
1206
+ /**
1207
+ * 断连重放的呈卡帧 `approval_request`(断流续读 · 开流 preamble · 起服接管行与按问读口内嵌的 `frame`)顶层,本版起与活铸帧同事实:卡外十一位从问行卡信封的
1208
+ * 活面事实座(`card_json` 的 `liveFacts`,铸卡时与卡同一条写)回读,行上记着的每一位在场、与活铸帧同值;行上没有那一座(本版之前铸的行)或它读不出 ⇒
1209
+ * 只带标记位 `liveFactsUnknown`(字面 `true`;活铸帧恒不带)。十一位在活铸帧上早已在册(不是本版新上 wire 的键),这里登的是它们在**重放帧**上的在场律。
1210
+ */
1211
+ readonly approvalRequestReplayFact: {
1212
+ readonly at: "approval_request 断连重放帧顶层(断流续读 · 开流 preamble · livePending 接管行 / 按问读口的 frame)";
1213
+ readonly members: {
1214
+ mandated: {
1215
+ attr: string;
1216
+ since: string;
1217
+ };
1218
+ mandate: {
1219
+ attr: string;
1220
+ since: string;
1221
+ };
1222
+ origin: {
1223
+ attr: string;
1224
+ since: string;
1225
+ };
1226
+ boundGrantDigest: {
1227
+ attr: string;
1228
+ since: string;
1229
+ };
1230
+ boundGrants: {
1231
+ attr: string;
1232
+ since: string;
1233
+ };
1234
+ classifierNoRuling: {
1235
+ attr: string;
1236
+ since: string;
1237
+ };
1238
+ boundGrantAbsence: {
1239
+ attr: string;
1240
+ since: string;
1241
+ };
1242
+ approvalCard: {
1243
+ attr: string;
1244
+ since: string;
1245
+ };
1246
+ readRootCandidate: {
1247
+ attr: string;
1248
+ since: string;
1249
+ };
1250
+ probeReason: {
1251
+ attr: string;
1252
+ since: string;
1253
+ };
1254
+ requestedBy: {
1255
+ attr: string;
1256
+ since: string;
1257
+ };
1258
+ liveFactsUnknown: {
1259
+ attr: string;
1260
+ since: string;
1261
+ };
1262
+ };
1263
+ };
1264
+ /**
1265
+ * `GET /v1/approvals` 的 `livePending[]` 行(及 `/v1/approvals/stream` 的 `live_pending` 帧、`GET /v1/tool-approvals/:id` 的 `pending` 体 —— 同一只投影 `livePendingRowOf`)顶层,
1266
+ * **起服接管行**上本版新出现的键:强制位 / 强制词 / 出身词此前只在活登记的行上带(接管行恒缺席 —— 多副本 SQL 部署上,一只强制问在别的副本上被列成「不强制」);本版起读行的内嵌帧
1267
+ * (= 从问行卡信封回读的重放帧,与活铸帧同值),行上没有那组事实 ⇒ 顶层带标记位 `liveFactsUnknown`(与内嵌帧同值,只读那一格)。三位在活登记行上早已在册,这里登的是它们在接管行上的在场律。
1268
+ */
1269
+ readonly livePendingAdoptedRowKey: {
1270
+ readonly at: "GET /v1/approvals livePending[] 行顶层 · /v1/approvals/stream live_pending 帧 · GET /v1/tool-approvals/:id pending 体(起服接管行)";
1271
+ readonly members: {
1272
+ mandated: {
1273
+ attr: string;
1274
+ since: string;
1275
+ };
1276
+ mandate: {
1277
+ attr: string;
1278
+ since: string;
1279
+ };
1280
+ origin: {
1281
+ attr: string;
1282
+ since: string;
1283
+ };
1284
+ liveFactsUnknown: {
1285
+ attr: string;
1286
+ since: string;
1287
+ };
1288
+ };
1289
+ };
1188
1290
  /**
1189
1291
  * 停驻技能卡的「批它放行了什么」三位,7.136.0 起在运维队列行与订阅流 `pending` 帧上也带(此前只有助手收件箱行与活卡帧带)。清单与成因词由一只投影 `skillCardFacts` 投,
1190
1292
  * 摘要随授予绑定那一臂由 `parkRowFacts` 投(读自停驻行;7.141.0 起与 `boundGrantAbsence` 恰带其一 —— `boundGrantAbsence` 自 7.129.0 起就在本面,不是本表登记的新键);
@@ -1207,6 +1309,125 @@ export declare const SELF_MINTED_WIRE: {
1207
1309
  };
1208
1310
  };
1209
1311
  };
1312
+ /**
1313
+ * 运维审批队列 `pending[]` 的**行族闭集**(7.143.0):每一行 / 每一帧(`pending` 与 `resolved`)恒带 `kind`,消费方先按它分支。
1314
+ * `satisfies Record<ApprovalQueueKind, …>`(闭集属主 = `approval-queue-kind.ts` 的 `APPROVAL_QUEUE_KINDS`;加一族而本表没跟 ⇒ tsc 红)。
1315
+ */
1316
+ readonly approvalQueueKind: {
1317
+ readonly at: "GET /v1/approvals pending[].kind · GET /v1/approvals/stream pending / resolved 帧的 kind(恒带)";
1318
+ readonly members: {
1319
+ checkpoint: {
1320
+ attr: string;
1321
+ since: string;
1322
+ };
1323
+ peer_inbound: {
1324
+ attr: string;
1325
+ since: string;
1326
+ };
1327
+ };
1328
+ };
1329
+ /**
1330
+ * `peer_inbound` 行的键集(<键> → 在场律;`pending[]` 行与 `pending` 帧同形,帧另带信封键 `type` / `serverNowMs`)。`satisfies Record<keyof PeerInboundPendingRow, …>`:
1331
+ * 键集属主 = `peer-inbound-face.ts` 的 `PeerInboundPendingRow`(唯一铸点 `rowOf`;键加一个而本表没跟 ⇒ tsc 红)。
1332
+ */
1333
+ readonly peerInboundRowKey: {
1334
+ readonly at: "GET /v1/approvals pending[] 的 peer_inbound 行 · GET /v1/approvals/stream 的 peer_inbound pending 帧(<键> → 在场律)";
1335
+ readonly members: {
1336
+ kind: {
1337
+ attr: string;
1338
+ since: string;
1339
+ };
1340
+ id: {
1341
+ attr: string;
1342
+ since: string;
1343
+ };
1344
+ recipientSessionId: {
1345
+ attr: string;
1346
+ since: string;
1347
+ };
1348
+ lane: {
1349
+ attr: string;
1350
+ since: string;
1351
+ };
1352
+ cause: {
1353
+ attr: string;
1354
+ since: string;
1355
+ };
1356
+ content: {
1357
+ attr: string;
1358
+ since: string;
1359
+ };
1360
+ sentAt: {
1361
+ attr: string;
1362
+ since: string;
1363
+ };
1364
+ heldAt: {
1365
+ attr: string;
1366
+ since: string;
1367
+ };
1368
+ fromSession: {
1369
+ attr: string;
1370
+ since: string;
1371
+ };
1372
+ fromName: {
1373
+ attr: string;
1374
+ since: string;
1375
+ };
1376
+ fromScope: {
1377
+ attr: string;
1378
+ since: string;
1379
+ };
1380
+ };
1381
+ };
1382
+ /** `peer_inbound` 行的 `lane`(信在收信会话自己的箱 / 它也排空的 principal 收件箱);`satisfies Record<PeerInboundLane, …>`(属主 = `PEER_INBOUND_LANES`)。 */
1383
+ readonly peerInboundLane: {
1384
+ readonly at: "GET /v1/approvals pending[] 的 peer_inbound 行 lane";
1385
+ readonly members: {
1386
+ session: {
1387
+ attr: string;
1388
+ since: string;
1389
+ };
1390
+ principal_inbox: {
1391
+ attr: string;
1392
+ since: string;
1393
+ };
1394
+ };
1395
+ };
1396
+ /**
1397
+ * `/v1/approvals/stream` 的 `resolved` 帧本版新上的键(<键> → 在场律):`kind` 恒带;`peer_inbound` 族带 `id`(它的那把键),`checkpoint` 族照旧带 `sessionId` + `toolCallId`。
1398
+ * 帧是路由内联铸的,没有可 `satisfies` 的具名型,绑定由 `test/peer-inbound-approvals.test.ts` 的 S 组与 `test/wire-pairing-approvals-stream.test.ts` 的 resolved 键集钉承担。
1399
+ */
1400
+ readonly approvalsResolvedFrameKey: {
1401
+ readonly at: "GET /v1/approvals/stream resolved 帧(<键> → 在场律;只登本版新增的)";
1402
+ readonly members: {
1403
+ readonly kind: {
1404
+ readonly attr: "always";
1405
+ readonly since: "7.143.0";
1406
+ };
1407
+ readonly id: {
1408
+ readonly attr: "present-iff kind = peer_inbound";
1409
+ readonly since: "7.143.0";
1410
+ };
1411
+ };
1412
+ };
1413
+ /** 决断口 `peer_inbound` 臂的 200 体键集;`satisfies Record<keyof PeerInboundDecideReply, …>`(属主 = `peer-inbound-face.ts`,路由按这只型铸体)。 */
1414
+ readonly peerInboundDecideBodyKey: {
1415
+ readonly at: "POST /v1/approvals/:id/decide 200 体(peer_inbound 族;<键> → 在场律)";
1416
+ readonly members: {
1417
+ kind: {
1418
+ attr: string;
1419
+ since: string;
1420
+ };
1421
+ id: {
1422
+ attr: string;
1423
+ since: string;
1424
+ };
1425
+ outcome: {
1426
+ attr: string;
1427
+ since: string;
1428
+ };
1429
+ };
1430
+ };
1210
1431
  /**
1211
1432
  * `409 resume.constraint_rejected` 拒体上本服务加的键(7.137.0,引擎 7.56.0):续跑的编辑复判只收改写后的那一形时,那一形的入参 `acceptableForm`
1212
1433
  * (引擎 `detail.editRewritten.acceptableForm`,经审批卡 `args` 同一只读法:脱敏 + 字节帽,超帽 ⇒ 缺席)。拒体没有可 `satisfies` 的全集型,行为由对应 CHANGELOG 条的钉证
@@ -1435,6 +1656,14 @@ export declare const SELF_MINTED_WIRE: {
1435
1656
  readonly attr: 422;
1436
1657
  readonly since: "7.141.0";
1437
1658
  };
1659
+ readonly "POST /v1/tasks|/v1/tasks/stream|/v1/runs#settings.permissions.allow \u5E26\u5C42\u6761\u76EE { rule, layer }(\u65B0\u63D0\u4EA4;layer = \u8BBE\u7F6E\u6765\u6E90\u8BCD)": {
1660
+ readonly attr: 200;
1661
+ readonly since: "7.143.0";
1662
+ };
1663
+ readonly "POST /v1/tasks|/v1/tasks/stream|/v1/runs#allow \u6876\u91CC user \u5C42 / \u5F62\u8DEF\u5F84\u89C4\u5219\u800C\u6267\u884C\u73AF\u5883\u7684\u914D\u7F6E\u6839\u8BFB\u4E0D\u51FA(\u6C99\u7BB1\u8F66\u9053\u6CA1\u8F6C SEMA_CONFIG_DIR \u4E14 home \u672A\u77E5;\u4F53 request.unprocessable + field settings.permissions.allow + problems[].reason home_unresolvable;\u7EED\u8DD1 409 \u540C\u53E5)": {
1664
+ readonly attr: 422;
1665
+ readonly since: "7.143.0";
1666
+ };
1438
1667
  readonly "POST /v1/tasks|/v1/tasks/stream|/v1/runs#\u9650\u5236\u4FA7\u540D\u5185\u5E26 *(excludeTools)": {
1439
1668
  readonly attr: 200;
1440
1669
  readonly since: "7.137.0";
@@ -1483,33 +1712,117 @@ export declare const SELF_MINTED_WIRE: {
1483
1712
  readonly attr: 200;
1484
1713
  readonly since: "7.139.0";
1485
1714
  };
1486
- readonly "GET /v1/memory/entries/:entryId/provenance|POST /v1/memory/erase|GET /v1/memory/origin/clearances|POST /v1/memory/origin/entries/:entryId/clear#layer_unaddressed_two_stores(\u4E0D\u70B9\u540D\u5C42\u7684\u6761\u76EE id / \u5E97\u7EA7\u8D26\u672C\u8BF7\u6C42,\u672C\u90E8\u7F72\u70B9\u540D\u7684\u5C42\u5206\u4F4F\u4E24\u53EA\u5E97;\u4F53 request.memory_layer)": {
1715
+ readonly "GET /v1/memory/entries/:entryId/provenance|GET /v1/memory/origin/clearances|POST /v1/memory/origin/entries/:entryId/clear#layer_unaddressed_two_stores(\u4E0D\u70B9\u540D\u5C42\u7684\u6761\u76EE id / \u5E97\u7EA7\u8D26\u672C\u8BF7\u6C42,\u672C\u90E8\u7F72\u6709\u4E24\u53EA\u5E97 \u2014\u2014 \u76D8\u4E0A\u7684\u5E97\u96C6:\u4E2A\u4EBA\u6302\u8F7D\u4E0A\u6709\u4E2A\u4EBA\u5E97;\u4F53 request.memory_layer)": {
1487
1716
  readonly attr: 400;
1488
- readonly since: "7.140.0";
1717
+ readonly since: "7.143.0";
1489
1718
  };
1490
- readonly "POST /v1/memory/erase|POST /v1/sessions/:id/memory/erase#erasure_store_unjudged(\u62B9\u9664\u843D\u5230\u90E8\u7F72\u7684\u5E97\u4E4B\u5916\u7684\u90A3\u53EA\u5E97:\u70B9\u540D\u7684\u5C42\u4F4F\u5728\u4E2A\u4EBA\u6302\u8F7D\u4E0A,\u6216\u6309\u4F1A\u8BDD\u62B9\u9664\u800C\u8FD9\u53EA\u4F1A\u8BDD\u5728\u53E6\u4E00\u53EA\u5E97\u6709\u8D21\u732E / \u90A3\u53EA\u5E97\u7684\u8D26\u8BFB\u4E0D\u51FA;\u4F53 memory.erasure_store_unjudged,\u4EC0\u4E48\u90FD\u6CA1\u5220)": {
1719
+ readonly "POST /v1/memory/export|POST /v1/memory/import|GET /v1/memory/origin/external#layers_span_two_stores(\u8BF7\u6C42\u70B9\u540D\u7684\u5C42\u5206\u4F4F\u4E24\u53EA\u5E97;\u4F53 request.memory_layer)": {
1720
+ readonly attr: 400;
1721
+ readonly since: "7.143.0";
1722
+ };
1723
+ readonly "POST /v1/memory/erase#grant_spans_two_stores(expectedScopes \u7684\u5C42\u5206\u4F4F\u4E24\u53EA\u5E97;\u4F53 config.memory_erasure_scope,\u4EC0\u4E48\u90FD\u6CA1\u5220\u3001\u4EC0\u4E48\u90FD\u6CA1\u8BB0)": {
1724
+ readonly attr: 400;
1725
+ readonly since: "7.143.0";
1726
+ };
1727
+ readonly "POST /v1/memory/erase|POST /v1/sessions/:id/memory/erase#reaches_second_store(\u70B9\u540D\u7684\u5C42\u4F4F\u5728\u4E2A\u4EBA\u5E97 / \u6309\u4F1A\u8BDD\u6216\u6309 id \u62B9\u9664\u800C\u53E6\u4E00\u53EA\u5E97\u91CC\u6709\u90A3\u4E00\u4EFD;\u6BCF\u53EA\u5230\u8FBE\u7684\u5E97\u5404\u64E6\u5404\u7684\u90A3\u4E00\u4EFD,\u6536\u6267\u5408\u6210\u4E00\u4EFD)": {
1728
+ readonly attr: 200;
1729
+ readonly since: "7.143.0";
1730
+ };
1731
+ readonly "POST /v1/memory/erase|POST /v1/sessions/:id/memory/erase#requestId_reused_across_stores(\u540C\u4E00\u4E2A requestId \u5148\u5728\u4E00\u53EA\u5E97\u6267\u884C\u8FC7\u3001\u518D\u6362\u9009\u62E9\u5B50\u6216\u843D\u5230\u53E6\u4E00\u53EA\u5E97;\u4F53 memory.erasure_selector_mismatch,\u4EC0\u4E48\u90FD\u6CA1\u5220\u3001\u4EC0\u4E48\u90FD\u6CA1\u8BB0)": {
1491
1732
  readonly attr: 409;
1492
- readonly since: "7.140.0";
1733
+ readonly since: "7.143.0";
1493
1734
  };
1494
- readonly "POST /v1/memory/export|POST /v1/memory/import|GET /v1/memory/origin/external|POST /v1/memory/erase#layers_span_two_stores(\u8BF7\u6C42\u70B9\u540D\u7684\u5C42\u5206\u4F4F\u4E24\u53EA\u5E97;\u4F53 request.memory_layer)": {
1735
+ readonly "POST /v1/sessions/:id/memory/erase#body.scope(\u5C42\u5EA7\u9000\u5F79;\u4F53 request.body_shape)": {
1495
1736
  readonly attr: 400;
1496
- readonly since: "7.140.0";
1737
+ readonly since: "7.143.0";
1497
1738
  };
1498
- readonly "\u8BB0\u5FC6\u8BF8\u53E3 + POST /v1/admin/memory/consolidation/run|GET /v1/admin/memory/consolidation|GET /v1/memory/export|POST /v1/memory/sync/:scope#layer_unreadable(\u8BF7\u6C42\u70B9\u540D\u7684\u5C42\u5F15\u64CE\u8BFB\u4E0D\u51FA;\u4F53 request.memory_layer)": {
1739
+ readonly "\u8BB0\u5FC6\u8BF8\u53E3 + POST /v1/admin/memory/consolidation/run|GET /v1/admin/memory/consolidation|GET /v1/memory/export#layer_unreadable(\u8BF7\u6C42\u70B9\u540D\u7684\u5C42\u5F15\u64CE\u8BFB\u4E0D\u51FA;\u4F53 request.memory_layer)": {
1499
1740
  readonly attr: 400;
1500
1741
  readonly since: "7.140.0";
1501
1742
  };
1502
- readonly "POST /v1/memory/sync/:scope#identity_undeclared(DB \u8BB0\u5FC6\u5E73\u9762\u6CA1\u58F0\u660E MEMORY_SYNC_SERVE_IDENTITY;\u9274\u6743\u4E4B\u540E;\u4F53 feature.memory_sync_serve_disabled)": {
1743
+ readonly "POST /v1/memory/sync/:scope#any(\u540C\u6B65\u53E3\u6539\u5230 /v2;\u65E7\u8DEF\u5F84\u65E0\u4EBA\u8BA4\u9886;\u4F53 not_found.route)": {
1744
+ readonly attr: 404;
1745
+ readonly since: "7.143.0";
1746
+ };
1747
+ readonly "POST /v2/memory/sync/:scope#layer_unreadable(\u8BF7\u6C42\u70B9\u540D\u7684\u5C42\u5F15\u64CE\u8BFB\u4E0D\u51FA;\u4EFB\u4F55\u8BFB\u5199\u4E4B\u524D;\u4F53 request.memory_layer)": {
1748
+ readonly attr: 400;
1749
+ readonly since: "7.143.0";
1750
+ };
1751
+ readonly "POST /v2/memory/sync/:scope#identity_undeclared(DB \u8BB0\u5FC6\u5E73\u9762\u6CA1\u58F0\u660E MEMORY_SYNC_SERVE_IDENTITY;\u9274\u6743\u4E4B\u540E;\u4F53 feature.memory_sync_serve_disabled)": {
1503
1752
  readonly attr: 501;
1504
- readonly since: "7.142.0";
1753
+ readonly since: "7.143.0";
1505
1754
  };
1506
- readonly "POST /v1/memory/sync/:scope#peer_not_declared_identity(peer \u4E0D\u662F\u540C\u6B65\u8EAB\u4EFD\u7684\u89C4\u8303\u5F62 / \u5E26\u51ED\u636E / \u975E http(s) / \u8D85\u5BBD / \u7A7A\u4E32;\u4F53 request.field_invalid + field peer + reason)": {
1755
+ readonly "POST /v2/memory/sync/:scope#peer_not_declared_identity(peer \u4E0D\u662F\u540C\u6B65\u8EAB\u4EFD\u7684\u89C4\u8303\u5F62 / \u5E26\u51ED\u636E / \u975E http(s) / \u8D85\u5BBD / \u7A7A\u4E32;\u4F53 request.field_invalid + field peer + reason)": {
1507
1756
  readonly attr: 400;
1508
- readonly since: "7.142.0";
1757
+ readonly since: "7.143.0";
1509
1758
  };
1510
- readonly "POST /v1/memory/sync/:scope#peer_not_this_center(peer \u662F\u89C4\u8303\u5F62\u4F46\u4E0D\u7B49\u4E8E\u672C\u4E2D\u5FC3\u58F0\u660E\u7684\u8EAB\u4EFD;\u96F6\u8BFB\u96F6\u5199;\u4F53 config.memory_sync_target_mismatch)": {
1759
+ readonly "POST /v2/memory/sync/:scope#peer_not_this_center(peer \u662F\u89C4\u8303\u5F62\u4F46\u4E0D\u7B49\u4E8E\u672C\u4E2D\u5FC3\u58F0\u660E\u7684\u8EAB\u4EFD;\u96F6\u8BFB\u96F6\u5199;\u4F53 config.memory_sync_target_mismatch)": {
1511
1760
  readonly attr: 409;
1512
- readonly since: "7.142.0";
1761
+ readonly since: "7.143.0";
1762
+ };
1763
+ readonly "POST /v2/memory/sync/:scope#partition_reset(\u4E00\u8F6E\u7684\u6700\u540E\u4E00\u6B21\u5199\u4E4B\u540E\u5206\u533A\u5316\u8EAB\u5DF2\u53D8;\u4F53 internal.error)": {
1764
+ readonly attr: 500;
1765
+ readonly since: "7.143.0";
1766
+ };
1767
+ readonly "POST /v1/approvals/:id/decide#peer_inbound_decided(:id \u5E26 peer_inbound: \u524D\u7F00,\u8C03\u7528\u65B9\u81EA\u5DF1\u7684\u3001\u6210\u56E0\u4EBA\u80FD\u7B54\u7684\u88AB\u6263\u6765\u4FE1;\u4F53 { kind, id, outcome })": {
1768
+ readonly attr: 200;
1769
+ readonly since: "7.143.0";
1770
+ };
1771
+ readonly "POST /v1/approvals/:id/decide#peer_inbound_keys_do_not_apply(\u4F53\u5E26 decision \u4EE5\u5916\u7684\u505C\u9A7B\u95E8\u952E;\u4F53 request.body_shape + unsupportedKeys)": {
1772
+ readonly attr: 400;
1773
+ readonly since: "7.143.0";
1774
+ };
1775
+ readonly "POST /v1/approvals/:id/decide#peer_inbound_store_refused(\u4FE1\u7BB1\u5E97\u62D2\u4E86\u51B3\u65AD\u90A3\u4E00\u6B65,\u4EC0\u4E48\u90FD\u6CA1\u51B3;\u4F53 state.peer_decision_unrecorded)": {
1776
+ readonly attr: 503;
1777
+ readonly since: "7.143.0";
1778
+ };
1779
+ readonly "POST /v1/approvals/:sessionId/decide#tool_approval_decided_without_boundInputHash(\u5DE5\u5177\u5BA1\u6279\u95E8;\u53EA\u56DE\u663E boundCallId \u6216\u4E00\u4F4D\u90FD\u4E0D\u56DE\u663E;\u95E8\u578B\u5B88\u536B\u4E4B\u540E;\u4F53 decide_requires_binding + bindingEnforced + missingKeys;\u5361\u4ECD pending)": {
1780
+ readonly attr: 400;
1781
+ readonly since: "7.143.0";
1782
+ };
1783
+ readonly "POST /v1/approvals/:sessionId/decide#replay_without_boundInputHash(\u9996\u51B3\u5DF2\u7ED3\u6E05\u3001\u540C\u4E00\u4EFD\u4F53\u4E0D\u5E26 boundInputHash \u91CD\u53D1;\u4F53 not_found.approval)": {
1784
+ readonly attr: 404;
1785
+ readonly since: "7.143.0";
1786
+ };
1787
+ readonly "GET /v1/sessions/:id#owner_unreadable(DB_BACKEND=local;\u884C\u4E8B\u5B9E\u6CA1\u6709\u843D\u4E0B \u2227 \u5B58\u6863\u8BFB\u4E0D\u51FA \u21D2 \u5C5E\u4E3B\u4E0D\u53EF\u5224;\u4F53 not_found.session,\u4E0E\u975E\u5C5E\u4E3B / \u4E0D\u5B58\u5728\u540C\u7801\u540C\u6587)": {
1788
+ readonly attr: 404;
1789
+ readonly since: "7.143.0";
1790
+ };
1791
+ readonly "GET /v1/sessions/:id/memory-status#owner_unreadable(DB_BACKEND=local;\u884C\u4E8B\u5B9E\u6CA1\u6709\u843D\u4E0B \u2227 \u5B58\u6863\u8BFB\u4E0D\u51FA \u21D2 \u5C5E\u4E3B\u4E0D\u53EF\u5224;\u4F53 not_found.session,\u4E0E\u975E\u5C5E\u4E3B / \u4E0D\u5B58\u5728\u540C\u7801\u540C\u6587)": {
1792
+ readonly attr: 404;
1793
+ readonly since: "7.143.0";
1794
+ };
1795
+ readonly "POST /v1/sessions/:id/memory/erase#owner_unreadable(DB_BACKEND=local;\u884C\u4E8B\u5B9E\u6CA1\u6709\u843D\u4E0B \u2227 \u5B58\u6863\u8BFB\u4E0D\u51FA \u21D2 \u5C5E\u4E3B\u4E0D\u53EF\u5224;\u4F53 not_found.session,\u4E0E\u975E\u5C5E\u4E3B / \u4E0D\u5B58\u5728\u540C\u7801\u540C\u6587)": {
1796
+ readonly attr: 404;
1797
+ readonly since: "7.143.0";
1798
+ };
1799
+ readonly "GET /v1/sessions/:id/head#owner_unreadable(DB_BACKEND=local;\u884C\u4E8B\u5B9E\u6CA1\u6709\u843D\u4E0B \u2227 \u5B58\u6863\u8BFB\u4E0D\u51FA \u21D2 \u5C5E\u4E3B\u4E0D\u53EF\u5224;\u4F53 not_found.session,\u4E0E\u975E\u5C5E\u4E3B / \u4E0D\u5B58\u5728\u540C\u7801\u540C\u6587)": {
1800
+ readonly attr: 404;
1801
+ readonly since: "7.143.0";
1802
+ };
1803
+ readonly "GET /v1/sessions/:id/events#owner_unreadable(DB_BACKEND=local;\u884C\u4E8B\u5B9E\u6CA1\u6709\u843D\u4E0B \u2227 \u5B58\u6863\u8BFB\u4E0D\u51FA \u21D2 \u5C5E\u4E3B\u4E0D\u53EF\u5224;\u4F53 not_found.session,\u4E0E\u975E\u5C5E\u4E3B / \u4E0D\u5B58\u5728\u540C\u7801\u540C\u6587)": {
1804
+ readonly attr: 404;
1805
+ readonly since: "7.143.0";
1806
+ };
1807
+ readonly "GET /v1/sessions/:id/execution-placement#owner_unreadable(DB_BACKEND=local;\u884C\u4E8B\u5B9E\u6CA1\u6709\u843D\u4E0B \u2227 \u5B58\u6863\u8BFB\u4E0D\u51FA \u21D2 \u5C5E\u4E3B\u4E0D\u53EF\u5224;\u4F53 not_found.session,\u4E0E\u975E\u5C5E\u4E3B / \u4E0D\u5B58\u5728\u540C\u7801\u540C\u6587)": {
1808
+ readonly attr: 404;
1809
+ readonly since: "7.143.0";
1810
+ };
1811
+ readonly "POST /v1/sessions/:id/notify#occupant_changed_before_delivery(\u5C5E\u4E3B\u95E8\u8BFB\u8FC7\u4E4B\u540E\u3001\u6295\u9012\u4E4B\u524D\u4F1A\u8BDD\u88AB\u5220\u6216\u540C id \u6362\u4E86\u4F4F\u5BA2;\u96F6\u6295\u9012;\u4F53 not_found.session,\u4E0E\u4E0D\u5B58\u5728\u540C\u7801\u540C\u6587)": {
1812
+ readonly attr: 404;
1813
+ readonly since: "7.143.0";
1814
+ };
1815
+ readonly "GET /v1/capabilities/mcp#engine_name_collision(\u4E2D\u5FC3\u58F0\u660E\u4E24\u53F0\u5F52\u4E00\u540E\u540C\u6302\u4E00\u4E2A\u5DE5\u5177\u547D\u540D\u7A7A\u95F4\u524D\u7F00,\u5F15\u64CE\u5728\u4EFB\u4F55\u4F20\u8F93\u88AB\u89E6\u78B0\u4E4B\u524D\u6574\u96C6\u62D2;\u4F53 config.mcp_server_name_collision + \u5F15\u64CE\u539F\u53E5;\u4E0E\u540C\u6B65\u63D0\u4EA4\u817F\u540C\u4E00\u5F20\u7801 \u2192 \u72B6\u6001\u8868)": {
1816
+ readonly attr: 409;
1817
+ readonly since: "7.143.0";
1818
+ };
1819
+ readonly "POST /v1/tasks#engine_name_collision(\u540C\u6B65\u817F;\u540C\u4E00\u4EFD\u58F0\u660E\u96C6\u88AB\u5F15\u64CE\u6574\u96C6\u62D2;\u96F6\u5DE5\u4F5C\u7684\u62D2;\u4F53 config.mcp_server_name_collision)": {
1820
+ readonly attr: 409;
1821
+ readonly since: "7.143.0";
1822
+ };
1823
+ readonly "POST /v1/rules/local-import/prepare#tightening_write_failed(\u4E00\u6761\u6536\u4E0B\u7684 deny / ask \u5199\u4E0D\u8FDB\u5E97;\u8FD9\u4E00\u6279\u7684\u653E\u884C\u6263\u4E0B\u3001\u6CA1\u6709\u7968;\u4F53 state.rule_write_failed + committed,\u540C POST /v1/rules)": {
1824
+ readonly attr: 503;
1825
+ readonly since: "7.143.0";
1513
1826
  };
1514
1827
  };
1515
1828
  };
@@ -1533,11 +1846,7 @@ export declare const SELF_MINTED_WIRE: {
1533
1846
  readonly since: "7.140.0";
1534
1847
  };
1535
1848
  readonly "GET /v1/sessions/:id/memory-status#query.scope": {
1536
- readonly attr: "optional;non-empty-string else 400 request.field_invalid;names the layer whose store answers;absent ⇒ every store of this deployment, folded;cache keyed by (session, store control plane)";
1537
- readonly since: "7.140.0";
1538
- };
1539
- readonly "POST /v1/sessions/:id/memory/erase#body.scope": {
1540
- readonly attr: "optional;non-empty-string else 400 request.field_invalid;names the layer whose store answers;absent ⇒ the deployment's store;selector still minted from the path";
1849
+ readonly attr: "optional;non-empty-string else 400 request.field_invalid;names the layer whose store answers (that store's engine answer);absent ⇒ the deployment's answer (the engine folds every store on disk);cache keyed by (session, store control plane | deployment)";
1541
1850
  readonly since: "7.140.0";
1542
1851
  };
1543
1852
  };
@@ -1570,7 +1879,7 @@ export declare const SELF_MINTED_WIRE: {
1570
1879
  * `not-canonical` = 值本身没缺陷、但不是它自己的规范形。两张拒体同一张词表:会话记忆同步触发口的 `target`、中心侧同步口的 `peer`。
1571
1880
  */
1572
1881
  readonly memorySyncIdentityFlaw: {
1573
- readonly at: "400 request.field_invalid reason(POST /v1/sessions/:id/memory/sync 的 target · POST /v1/memory/sync/:scope 的 peer;另带 field)";
1882
+ readonly at: "400 request.field_invalid reason(POST /v1/sessions/:id/memory/sync 的 target · POST /v2/memory/sync/:scope 的 peer;另带 field)";
1574
1883
  readonly members: {
1575
1884
  "not-http-url": {
1576
1885
  attr: string;
@@ -1619,8 +1928,8 @@ export declare const SELF_MINTED_WIRE: {
1619
1928
  readonly since: "7.142.0";
1620
1929
  };
1621
1930
  readonly "200#scopes": {
1622
- readonly attr: "always;the read set: latest settled run's effectiveMemoryScopes (mounted ⇒ scope keys in serving order; memoryless / none ⇒ [])";
1623
- readonly since: "7.142.0";
1931
+ readonly attr: "always;the read set: latest settled run's effectiveMemoryScopes (mounted ⇒ scope keys in serving order; none ⇒ []; memoryless ⇒ no read set, 409 reason memory_not_mounted)";
1932
+ readonly since: "7.143.0";
1624
1933
  };
1625
1934
  readonly "200#layers": {
1626
1935
  readonly attr: "present-iff no whole-round refusal;one entry per read-set layer the round ran (engine outcome synced | incomplete | refused | failed)";
@@ -1634,6 +1943,78 @@ export declare const SELF_MINTED_WIRE: {
1634
1943
  readonly attr: "present-iff the session has a run in flight";
1635
1944
  readonly since: "7.142.0";
1636
1945
  };
1946
+ readonly "409 conflict.session_memory_unobserved#reason": {
1947
+ readonly attr: "always;closed set sessionMemoryUnobservedReason, judged in read order (no settled run → the latest settled run's observation gives no read set: empty observation or memory not mounted → no leaf);the message is a function of reason";
1948
+ readonly since: "7.143.0";
1949
+ };
1950
+ };
1951
+ };
1952
+ /** 中心侧同步口(`<面>#<键>` → 读法 / 在场律)。只登本版新出现的(路径版本段、主张、答复游标的化身、化身拒答两键)。 */
1953
+ readonly centralMemorySyncWire: {
1954
+ readonly at: "POST /v2/memory/sync/:scope(<面>#<键> → 读法 / 在场律)";
1955
+ readonly members: {
1956
+ readonly "path#version": {
1957
+ readonly attr: "/v2/memory/sync/:scope (the engine's path);/v1/memory/sync/… is unclaimed ⇒ 404 not_found.route";
1958
+ readonly since: "7.143.0";
1959
+ };
1960
+ readonly "body#peerIncarnation": {
1961
+ readonly attr: "optional;the client cursor's peerIncarnation verbatim;1..128 chars else 422 memory_sync_invalid_body;compared with the scope partition's incarnation before any read or write";
1962
+ readonly since: "7.143.0";
1963
+ };
1964
+ readonly "200#cursor.incarnation": {
1965
+ readonly attr: "always on a result;the scope partition's incarnation (minted when the partition is first read by a sync, then stored);equals the claim when one was made";
1966
+ readonly since: "7.143.0";
1967
+ };
1968
+ readonly "200#refused": {
1969
+ readonly attr: "present-iff the round is refused on the incarnation axis;\"baseline_incarnation\";the claim is not the partition's incarnation, or a non-empty baseRevs with no claim;nothing read or written";
1970
+ readonly since: "7.143.0";
1971
+ };
1972
+ readonly "200#incarnation": {
1973
+ readonly attr: "present-iff refused;the scope partition's incarnation";
1974
+ readonly since: "7.143.0";
1975
+ };
1976
+ };
1977
+ };
1978
+ /**
1979
+ * 会话记忆同步触发口 409 `conflict.session_memory_unobserved` 体上 `reason` 的闭集(判序 = 读的先后)。词表属主 = `http/routes/session-memory-sync.ts` 的
1980
+ * `SESSION_MEMORY_UNOBSERVED_REASONS`(两只空观测因由的属主 = `plugins/store-contracts.ts` 的 `MEMORY_OBSERVATION_ABSENT_REASONS`,唯一铸点 `settledLegObservationOf`)。
1981
+ */
1982
+ readonly sessionMemoryUnobservedReason: {
1983
+ readonly at: "409 conflict.session_memory_unobserved reason(POST /v1/sessions/:id/memory/sync)";
1984
+ readonly members: {
1985
+ no_settled_run: {
1986
+ attr: string;
1987
+ since: string;
1988
+ };
1989
+ run_result_missing: {
1990
+ attr: string;
1991
+ since: string;
1992
+ };
1993
+ run_result_unobserved: {
1994
+ attr: string;
1995
+ since: string;
1996
+ };
1997
+ memory_not_mounted: {
1998
+ attr: string;
1999
+ since: string;
2000
+ };
2001
+ no_leaf: {
2002
+ attr: string;
2003
+ since: string;
2004
+ };
2005
+ };
2006
+ };
2007
+ /**
2008
+ * `400 decide_requires_binding` 拒体上的键里本版新增的(`<键>` → 在场律)。唯一铸点 = 续跑腿的决断绑定判官 `decidedActionOf`(`http/resume-legs.ts`)判不过的那一臂;
2009
+ * `bindingEnforced` 早于本表、不在这里。
2010
+ */
2011
+ readonly decideRequiresBindingBodyKey: {
2012
+ readonly at: "400 decide_requires_binding 拒体(<键> → 在场律)";
2013
+ readonly members: {
2014
+ readonly missingKeys: {
2015
+ readonly attr: "always;non-empty subset of [boundCallId, boundInputHash] in that order (absent or empty string ⇒ missing)";
2016
+ readonly since: "7.143.0";
2017
+ };
1637
2018
  };
1638
2019
  };
1639
2020
  /**
@@ -1684,8 +2065,8 @@ export declare const SELF_MINTED_WIRE: {
1684
2065
  readonly since: "7.141.0";
1685
2066
  };
1686
2067
  readonly "400 request.field_invalid#settings.permissions.allow.bad_entry": {
1687
- readonly attr: "<field>[<index>] is not a string — every entry must be a permission-rule string (a settings layer's { \"rule\", \"layer\" } entry is read in deny / ask only). …";
1688
- readonly since: "7.141.0";
2068
+ readonly attr: "<field>[<index>] is neither a rule string nor a { \"rule\", \"layer\" } entry (…) — every entry must be one. …";
2069
+ readonly since: "7.143.0";
1689
2070
  };
1690
2071
  readonly "400 request.field_invalid#a2aPeers.not_array": {
1691
2072
  readonly attr: "head: a2aPeers is <shape>, not an array of A2A peer declarations";
@@ -1767,6 +2148,26 @@ export declare const SELF_MINTED_WIRE: {
1767
2148
  readonly attr: "the session row changed since the rowTag you sent was read — nothing was written; currentRow is the row as it stands now: decide again, then send its rowTag";
1768
2149
  readonly since: "7.139.0";
1769
2150
  };
2151
+ readonly "400 decide_requires_binding#POST /v1/approvals/:sessionId/decide": {
2152
+ readonly attr: "decide requires the decision-action binding — echo boundCallId and boundInputHash exactly as the pending approval you are deciding shows them (GET /v1/approvals), so a decision on a view that has since been replaced is refused instead of landing on the gate that replaced it";
2153
+ readonly since: "7.143.0";
2154
+ };
2155
+ readonly "400 request.body_shape#/decide.root_shape": {
2156
+ readonly attr: "body must be { decision: 'approve' | 'deny', boundCallId, boundInputHash, reason?, answer?, checkpointToken?, updatedInput?, remember?, decidedBy?, feedback? }";
2157
+ readonly since: "7.143.0";
2158
+ };
2159
+ readonly "409 conflict.session_memory_unobserved#run_result_missing|run_result_unobserved": {
2160
+ readonly attr: "the latest settled run in this session has no memory observation on record, and an earlier run is never read in its place — run another task in this session (…), then sync";
2161
+ readonly since: "7.143.0";
2162
+ };
2163
+ readonly "409 conflict.session_memory_unobserved#memory_not_mounted": {
2164
+ readonly attr: "memory was configured for the latest settled run in this session but did not mount, so which memory this session reads is unknown, and an earlier run is never read in its place — run another task in this session (…), then sync";
2165
+ readonly since: "7.143.0";
2166
+ };
2167
+ readonly "409 conflict.session_memory_unobserved#no_leaf": {
2168
+ readonly attr: "this session has no transcript yet, so there is no revision to sync from — run a task in it (…), then sync";
2169
+ readonly since: "7.143.0";
2170
+ };
1770
2171
  };
1771
2172
  };
1772
2173
  /**
@@ -1780,6 +2181,39 @@ export declare const SELF_MINTED_WIRE: {
1780
2181
  readonly attr: "optional;non-empty-string≤128;not-current⇒409 approval_stale;direct-door:signed-envelope-ext";
1781
2182
  readonly since: "7.137.0";
1782
2183
  };
2184
+ readonly "POST /v1/tool-approvals/:id/respond#decidedVia": {
2185
+ readonly attr: "optional;DECIDED_VIA word beside decidedBy \"policy\" only;else⇒400 request.field_invalid (this door: request.body_shape)";
2186
+ readonly since: "7.143.0";
2187
+ };
2188
+ readonly "POST /v1/tasks/:taskId/asks/:askId/decision#decidedVia": {
2189
+ readonly attr: "optional;DECIDED_VIA word beside decidedBy \"policy\" only;else⇒400 request.field_invalid";
2190
+ readonly since: "7.143.0";
2191
+ };
2192
+ readonly "POST /v1/approvals/:sessionId/decide#decidedVia": {
2193
+ readonly attr: "optional;DECIDED_VIA word beside decidedBy \"policy\" only;else⇒400 request.field_invalid;direct-door:never accepted";
2194
+ readonly since: "7.143.0";
2195
+ };
2196
+ readonly "POST /v1/assistant/tasks/:id/plan_review#decidedVia": {
2197
+ readonly attr: "optional;DECIDED_VIA word beside decidedBy \"policy\" only;else⇒400 request.field_invalid;direct-door:never accepted";
2198
+ readonly since: "7.143.0";
2199
+ };
2200
+ };
2201
+ };
2202
+ /**
2203
+ * 续跑门族请求体上的重述键(键名与值形 = 提交体同键;律的唯一属主 = `http/resume-restatement.ts` 顶注)。四道门同一条律 ⇒ 一键一行,
2204
+ * `attr` 写读法;直连门两道回决门的整族拒收码在附录 A。
2205
+ */
2206
+ readonly resumeRestatementKey: {
2207
+ readonly at: "续跑门族请求体(POST /v1/approvals/:id/decide · /v1/assistant/tasks/:id/plan_review · /v1/assistant/tasks/:id/resume · /v1/sessions/:id/wake)的重述键";
2208
+ readonly members: {
2209
+ a2aPeers: {
2210
+ attr: string;
2211
+ since: string;
2212
+ };
2213
+ mcpServers: {
2214
+ attr: string;
2215
+ since: string;
2216
+ };
1783
2217
  };
1784
2218
  };
1785
2219
  /**
@@ -1939,6 +2373,10 @@ export declare const SELF_MINTED_WIRE: {
1939
2373
  attr: string;
1940
2374
  since: string;
1941
2375
  };
2376
+ 4: {
2377
+ attr: string;
2378
+ since: string;
2379
+ };
1942
2380
  };
1943
2381
  };
1944
2382
  /**
@@ -2201,6 +2639,11 @@ export declare const SELF_MINTED_WIRE: {
2201
2639
  readonly attr: "none(echoed-verbatim)";
2202
2640
  readonly since: "7.141.0";
2203
2641
  };
2642
+ /** 7.143.0:`MODEL_ROUTER_ID` 行的缺席说明 —— 缺席 ⇒ leader 路由腿在服务表里解 `classifier` 角色(此前:缺席 ⇒ 钉 `MODEL_CHEAP_ID` 的名,再退 default)。 */
2643
+ readonly "GET /v1/config/catalog#rows[MODEL_ROUTER_ID].derivedDefaultNote": {
2644
+ readonly attr: "absent=>classifier-role-in-served-table";
2645
+ readonly since: "7.143.0";
2646
+ };
2204
2647
  /**
2205
2648
  * MCP 远端失败句在面板与重拨回执上的出口读法:出口座的 `mcp-remote-text` 行(`trace/exit-seat.ts`)—— 与 trace / 通告同一个脱敏器(引擎记号 `[redacted]` = 已抹的值,原样;
2206
2649
  * 引擎记号占了方案词位时头值余下的部分照抹;引擎放过的形照抹),界 200(切点不落进记号)。7.137.0 是按记号切开、逐段过 `redactSecrets` 的另一只读法
@@ -2231,14 +2674,43 @@ export declare const SELF_MINTED_WIRE: {
2231
2674
  readonly since: "7.137.0";
2232
2675
  };
2233
2676
  /**
2234
- * 7.140.0:会话记忆状态不带层座 ⇒ 本部署每一只店的引擎答案按一条折叠律合成一份(`memory-operator-faces.ts` `foldPlaneStatuses`;契约 §9 开头):
2235
- * 计数相加 / 最近一次取大 / 任一店有采集记录即 true / 任一店读不出 ⇒ 那一键缺席。一只店 ⇒ 恒等(单店部署字节同上一版)。
2236
- * 钉 test/memory-operator-faces.test.ts「逐店折叠律」、test/memory-layer-seat-http.test.ts「会话记忆状态不带层座」。
2677
+ * 7.143.0:会话记忆状态不带层座 ⇒ 引擎部署对象的答案(`createMemoryDeployment(…).sessionMemoryStatus`;折叠律只在引擎里,契约
2678
+ * `memory.deployment_status.fold`):计数相加 / 最近一次取大 / 任一店有采集记录即 true(`optOutSource: "record"`)/ 全部店答 false 才 false /
2679
+ * 否则缺席并带 `optOutSource: "fault"`。店集是盘上的(换了 `MEMORY_SCOPE` 之后个人挂载上留下的店照样算)。一只店 ⇒ 恒等。
2680
+ * 钉 test/memory-layer-seat-http.test.ts「会话记忆状态不带层座」、test/memory-project-scope.test.ts ⑩。
2237
2681
  */
2238
2682
  readonly "GET /v1/sessions/:id/memory-status#committedCount|foldedCount|lastCaptureAt|captureOptedOut|optOutSource(\u4E0D\u5E26\u5C42\u5EA7)": {
2239
- readonly attr: "fold-across-deployment-stores(sum|max|any-record|absent-if-any-unreadable);one-store⇒identity";
2683
+ readonly attr: "engine-deployment-fold(memory.deployment_status.fold:sum|latest|any-record⇒true+record|all-false⇒false|else optOutSource:fault);store set = stores on disk;one-store⇒identity";
2240
2684
  readonly since: "7.140.0";
2241
2685
  };
2686
+ /**
2687
+ * 7.143.0:`modelPlane.catalog` 的 `refused` 改读**最新到达**的那份候选(候选判官整拒,或模型面组拒且落下组拒的那次 apply 就是最新一次到达);此前模型面那一半读
2688
+ * `/health.modelRefusals.plane` —— 最近一份被 stage 判过的模型面的组拒判决,更新的候选到了而没有走到模型面那一判时不撤(`/health.modelRefusals.plane` 本身的读法不变)。
2689
+ * 钉 test/plane-refusal-latest-arrival.test.ts。
2690
+ */
2691
+ readonly "GET /v1/models#modelPlane.catalog(refused \u7684\u6A21\u578B\u9762\u90A3\u4E00\u534A)": {
2692
+ readonly attr: "latest-arrival";
2693
+ readonly since: "7.143.0";
2694
+ };
2695
+ /**
2696
+ * 7.143.0:live 模型文本的逐块帧(`POST /v1/tasks/stream` 顶层与转发子代腿、子代 tail 面)只放自由文本脱敏器已判定的字节(`trace/model-segment.ts` 的登记册经
2697
+ * `trace/redact.ts` 的流式口 `createRedactionStream`:与 `done` / 账本 / 段末帧同一只扫描器、同一张表,未决尾由脱敏器的臂表读出)⇒ 一段的逐块帧拼接 = 段末帧正文;core 的每一块仍恰一帧、同一枚 `eventId`(`delta` 可为 `""`),
2698
+ * 段末还没放出的字节紧贴段末帧之前多一帧、不带 `eventId`。此前 `text_delta` 逐块原样、`reasoning_delta` 逐块各过一次脱敏器。
2699
+ * 钉 test/live-model-text-redact.test.ts、test/live-model-text-hold-law.test.ts。
2700
+ */
2701
+ readonly "SSE text_delta#delta": {
2702
+ readonly attr: "live-hold:same-redactor-stream(pending-tail-from-arm-table);concat=segment-end-content;remainder-frame-without-eventId";
2703
+ readonly since: "7.143.0";
2704
+ };
2705
+ readonly "SSE reasoning_delta#delta": {
2706
+ readonly attr: "live-hold:same-redactor-stream(pending-tail-from-arm-table);concat=segment-end-content;remainder-frame-without-eventId";
2707
+ readonly since: "7.143.0";
2708
+ };
2709
+ /** 7.143.0:子代 tail 面的 `reasoning_end.content` = 整段(登记册随开着的段活着,没人听时也攒原文);此前只覆盖订阅者开始听之后的那一截。钉 test/live-model-text-redact.test.ts tail 组。 */
2710
+ readonly "GET /v1/runs/:id/subagents/:handle/stream#reasoning_end.content": {
2711
+ readonly attr: "whole-segment-for-late-subscriber";
2712
+ readonly since: "7.143.0";
2713
+ };
2242
2714
  };
2243
2715
  };
2244
2716
  };