@sema-agent/server 7.146.0 → 7.147.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 (398) hide show
  1. package/MIGRATION.md +384 -0
  2. package/README.md +1 -1
  3. package/README.zh-CN.md +1 -1
  4. package/USAGE.md +170 -66
  5. package/deploy/facts/lanes.json +7 -0
  6. package/deploy/sema-up/README.md +2 -2
  7. package/deploy/sema-up/chart/templates/_helpers.tpl +22 -0
  8. package/deploy/sema-up/chart/templates/server-v4pro.yaml +5 -4
  9. package/deploy/sema-up/chart/templates/server.yaml +5 -4
  10. package/deploy/sema-up/chart/values.yaml +1 -1
  11. package/deploy/sema-up/cluster-up.sh +2 -1
  12. package/deploy/sema-up/lib/flagshape.sh +4 -0
  13. package/deploy/sema-up/lib/lanes.json +2 -5
  14. package/deploy/sema-up/sema-up.sh +12 -9
  15. package/deploy/sema-up/stack/compose.yaml +5 -4
  16. package/deploy/sema-up/stack/sema-stack-cluster.yaml +4 -3
  17. package/dist/approval-card.d.ts +4 -4
  18. package/dist/approval.d.ts +3 -3
  19. package/dist/audit.js +2 -2
  20. package/dist/bench/s1/live-deps.js +3 -1
  21. package/dist/boot/crash-last.js +2 -1
  22. package/dist/boot/device-lane.js +5 -5
  23. package/dist/boot/engine-lease.d.ts +12 -11
  24. package/dist/boot/execution-env.d.ts +2 -1
  25. package/dist/boot/execution-env.js +45 -33
  26. package/dist/boot/execution-lane.d.ts +37 -9
  27. package/dist/boot/execution-lane.js +74 -20
  28. package/dist/boot/exit-boundary.d.ts +1 -1
  29. package/dist/boot/exit-last.js +2 -1
  30. package/dist/boot/governance-seams.d.ts +2 -2
  31. package/dist/boot/leader.js +1 -1
  32. package/dist/boot/memory-boundary.d.ts +11 -11
  33. package/dist/boot/memory-boundary.js +3 -3
  34. package/dist/boot/memory-consolidation.d.ts +13 -24
  35. package/dist/boot/memory-consolidation.js +0 -13
  36. package/dist/boot/org-memory.js +3 -2
  37. package/dist/boot/parked-revive-gate.d.ts +1 -1
  38. package/dist/boot/parked-revive-gate.js +1 -1
  39. package/dist/boot/reapers.js +1 -1
  40. package/dist/boot/resolve-spec.js +91 -111
  41. package/dist/boot/retention-lane.d.ts +4 -42
  42. package/dist/boot/session-faces.d.ts +1 -0
  43. package/dist/boot/session-faces.js +8 -2
  44. package/dist/boot/stage-01-config.d.ts +1 -1
  45. package/dist/boot/stage-01-config.js +6 -2
  46. package/dist/boot/stage-02-web-admin-pull.d.ts +1 -1
  47. package/dist/boot/stage-02-web-admin-pull.js +10 -8
  48. package/dist/boot/stage-03-store-backend.d.ts +1 -1
  49. package/dist/boot/stage-04-stores.d.ts +1 -1
  50. package/dist/boot/stage-05-execution-env.d.ts +2 -2
  51. package/dist/boot/stage-05-execution-env.js +3 -3
  52. package/dist/boot/stage-06-runners.d.ts +3 -3
  53. package/dist/boot/stage-06-runners.js +1 -3
  54. package/dist/boot/stage-07-capability-layer.d.ts +3 -3
  55. package/dist/boot/stage-07-capability-layer.js +4 -9
  56. package/dist/boot/stage-08-reapers.d.ts +3 -3
  57. package/dist/boot/stage-09-leader.d.ts +4 -3
  58. package/dist/boot/stage-10-http-server.d.ts +4 -3
  59. package/dist/boot/stage-10-http-server.js +2 -1
  60. package/dist/boot/stores.d.ts +9 -0
  61. package/dist/boot/stores.js +18 -7
  62. package/dist/boot/web-admin.js +3 -3
  63. package/dist/capabilities/center-plugins.d.ts +2 -0
  64. package/dist/capabilities/center-plugins.js +6 -2
  65. package/dist/capabilities/composite-members.d.ts +1 -0
  66. package/dist/capabilities/composite-members.js +1 -0
  67. package/dist/capabilities/execution-lane.d.ts +7 -7
  68. package/dist/capabilities/execution-lane.js +2 -2
  69. package/dist/capabilities/hands-lane.d.ts +1 -1
  70. package/dist/capabilities/scenarios.d.ts +32 -18
  71. package/dist/capabilities/scenarios.js +13 -9
  72. package/dist/capabilities/settings-contract.d.ts +29 -0
  73. package/dist/capabilities/settings-contract.js +14 -0
  74. package/dist/capabilities/skills.d.ts +5 -5
  75. package/dist/capability-facts.d.ts +38 -0
  76. package/dist/capability-facts.js +34 -1
  77. package/dist/center-credential-renewer.js +3 -2
  78. package/dist/config-catalog.js +6 -5
  79. package/dist/config-invariants.d.ts +18 -3
  80. package/dist/config-invariants.js +36 -19
  81. package/dist/config-lkg.d.ts +1 -1
  82. package/dist/config-lkg.js +5 -6
  83. package/dist/config-provider.js +2 -0
  84. package/dist/config-types.d.ts +190 -186
  85. package/dist/config.d.ts +68 -5
  86. package/dist/config.js +80 -54
  87. package/dist/degenerate-instrument.js +1 -1
  88. package/dist/deploy-facts.js +3 -2
  89. package/dist/deployment-shape.d.ts +21 -12
  90. package/dist/deployment-shape.js +24 -6
  91. package/dist/env-facts.d.ts +7 -5
  92. package/dist/env-facts.js +10 -6
  93. package/dist/execution-config-root.d.ts +5 -5
  94. package/dist/execution-config-root.js +5 -5
  95. package/dist/execution-env-purpose.d.ts +14 -0
  96. package/dist/execution-env-purpose.js +29 -0
  97. package/dist/execution-lane-caps.d.ts +49 -86
  98. package/dist/execution-lane-caps.js +52 -62
  99. package/dist/execution-placement.d.ts +18 -2
  100. package/dist/execution-placement.js +19 -0
  101. package/dist/file-history-disclosure.d.ts +2 -2
  102. package/dist/fleet/drain-entry.d.ts +17 -10
  103. package/dist/fleet/drain-entry.js +1 -1
  104. package/dist/fleet/serving-lease.js +3 -4
  105. package/dist/history-anchor.d.ts +22 -0
  106. package/dist/history-anchor.js +14 -0
  107. package/dist/hooks/command-spawn.d.ts +1 -4
  108. package/dist/hooks/command-spawn.js +0 -11
  109. package/dist/hooks/hook-runner.d.ts +52 -8
  110. package/dist/hooks/hook-runner.js +160 -36
  111. package/dist/http/approval-sweeps.d.ts +2 -5
  112. package/dist/http/approval-sweeps.js +3 -2
  113. package/dist/http/checkpoint-ctx.d.ts +17 -0
  114. package/dist/http/checkpoint-ctx.js +6 -0
  115. package/dist/http/claim-latency.d.ts +10 -0
  116. package/dist/http/claim-latency.js +12 -0
  117. package/dist/http/dispatch.js +1 -1
  118. package/dist/http/durable-run-leg.js +2 -1
  119. package/dist/http/execution-context.d.ts +3 -1
  120. package/dist/http/execution-context.js +4 -0
  121. package/dist/http/memory-compliance-failure-reply.d.ts +1 -1
  122. package/dist/http/memory-compliance-failure-reply.js +3 -0
  123. package/dist/http/memory-store-refusal-reply.d.ts +3 -3
  124. package/dist/http/memory-store-refusal-reply.js +3 -0
  125. package/dist/http/owner-access.d.ts +11 -0
  126. package/dist/http/owner-access.js +7 -4
  127. package/dist/http/principal-gate.d.ts +3 -14
  128. package/dist/http/principal-gate.js +0 -13
  129. package/dist/http/request-guards.d.ts +1 -1
  130. package/dist/http/resume-legs.d.ts +7 -10
  131. package/dist/http/resume-legs.js +79 -50
  132. package/dist/http/rewind-files-reply.d.ts +34 -0
  133. package/dist/http/rewind-files-reply.js +36 -0
  134. package/dist/http/route-ctx.d.ts +32 -16
  135. package/dist/http/route-table.js +2 -0
  136. package/dist/http/routes/approvals-assistant.js +5 -25
  137. package/dist/http/routes/capabilities.js +8 -2
  138. package/dist/http/routes/devices.js +1 -1
  139. package/dist/http/routes/memory-origin.d.ts +1 -1
  140. package/dist/http/routes/notify-wake.js +2 -1
  141. package/dist/http/routes/projects.d.ts +70 -0
  142. package/dist/http/routes/projects.js +86 -0
  143. package/dist/http/routes/rules.js +30 -2
  144. package/dist/http/routes/runs.js +8 -8
  145. package/dist/http/routes/session-sync.js +27 -10
  146. package/dist/http/routes/sessions.d.ts +7 -1
  147. package/dist/http/routes/sessions.js +104 -2
  148. package/dist/http/routes/tasks.js +9 -3
  149. package/dist/http/server.d.ts +24 -10
  150. package/dist/http/server.js +17 -6
  151. package/dist/http/stored-body-replay.d.ts +5 -3
  152. package/dist/http/stored-body-replay.js +10 -1
  153. package/dist/http/wire-types.d.ts +19 -10
  154. package/dist/index.d.ts +2 -2
  155. package/dist/index.js +1 -1
  156. package/dist/instruction-source-notice.d.ts +1 -1
  157. package/dist/memory-embedder-reembed.d.ts +38 -0
  158. package/dist/memory-embedder-reembed.js +20 -0
  159. package/dist/memory-incident-sink.d.ts +0 -28
  160. package/dist/memory-incident-sink.js +5 -0
  161. package/dist/memory-scope.d.ts +2 -2
  162. package/dist/memory-scope.js +1 -1
  163. package/dist/memory-store-refusal.d.ts +17 -4
  164. package/dist/memory-store-refusal.js +1 -1
  165. package/dist/memory-sync-client.d.ts +2 -0
  166. package/dist/memory-sync-client.js +13 -11
  167. package/dist/memory-sync.js +1 -1
  168. package/dist/model-compat.d.ts +35 -21
  169. package/dist/model-compat.js +49 -21
  170. package/dist/model-entry-refusal.d.ts +11 -1
  171. package/dist/model-entry-refusal.js +7 -0
  172. package/dist/namespaced-rule-name.d.ts +18 -1
  173. package/dist/namespaced-rule-name.js +12 -0
  174. package/dist/observability/fail-open.d.ts +17 -9
  175. package/dist/observability/fail-open.js +17 -9
  176. package/dist/observability/metrics.d.ts +2 -0
  177. package/dist/observability/metrics.js +2 -0
  178. package/dist/observability/secret-env-scrub.d.ts +30 -4
  179. package/dist/observability/secret-env-scrub.js +15 -3
  180. package/dist/orchestration/workflow-agent-session-index.d.ts +7 -12
  181. package/dist/orchestration/workflow-agent-session-index.js +1 -6
  182. package/dist/orchestration/workflow-completion-inbox.d.ts +26 -6
  183. package/dist/orchestration/workflow-completion-inbox.js +63 -45
  184. package/dist/org-memory-admission.d.ts +5 -2
  185. package/dist/org-memory-admission.js +25 -10
  186. package/dist/parked-decide.d.ts +33 -26
  187. package/dist/parked-decide.js +36 -44
  188. package/dist/plugins/approval-ask-store-file.d.ts +10 -2
  189. package/dist/plugins/approval-ask-store-file.js +37 -4
  190. package/dist/plugins/approval-ask-store-memory.d.ts +5 -3
  191. package/dist/plugins/approval-ask-store-memory.js +11 -2
  192. package/dist/plugins/approval-ask-store-sql.d.ts +3 -0
  193. package/dist/plugins/approval-ask-store-sql.js +3 -1
  194. package/dist/plugins/blob-backend.d.ts +38 -195
  195. package/dist/plugins/blob-backend.js +33 -229
  196. package/dist/plugins/caching-session-store.d.ts +9 -4
  197. package/dist/plugins/checkpoint-index-columns.d.ts +1 -1
  198. package/dist/plugins/checkpoint-index-columns.js +3 -2
  199. package/dist/plugins/checkpoint-store-face.d.ts +1 -1
  200. package/dist/plugins/device-store-sql.d.ts +2 -2
  201. package/dist/plugins/device-store-sql.js +5 -10
  202. package/dist/plugins/execution-lane-rename-m40.d.ts +20 -0
  203. package/dist/plugins/execution-lane-rename-m40.js +10 -0
  204. package/dist/plugins/execution-placement-sql.d.ts +63 -88
  205. package/dist/plugins/execution-placement-sql.js +94 -54
  206. package/dist/plugins/file-run-store.d.ts +26 -12
  207. package/dist/plugins/file-run-store.js +63 -63
  208. package/dist/plugins/imported-layer-root-retirement.d.ts +17 -8
  209. package/dist/plugins/imported-layer-root-retirement.js +4 -8
  210. package/dist/plugins/inbox-payload-column.d.ts +14 -0
  211. package/dist/plugins/inbox-payload-column.js +13 -0
  212. package/dist/plugins/local-checkpoint-store.d.ts +5 -0
  213. package/dist/plugins/local-checkpoint-store.js +11 -7
  214. package/dist/plugins/local-data-dir-modes-m39.d.ts +48 -0
  215. package/dist/plugins/local-data-dir-modes-m39.js +182 -0
  216. package/dist/plugins/local-engine-high-water.d.ts +11 -0
  217. package/dist/plugins/local-engine-high-water.js +59 -0
  218. package/dist/plugins/local-session-store.d.ts +91 -25
  219. package/dist/plugins/local-session-store.js +124 -45
  220. package/dist/plugins/local-task-attachment-store.d.ts +2 -0
  221. package/dist/plugins/local-task-attachment-store.js +10 -11
  222. package/dist/plugins/memory-embedder-fingerprint.d.ts +33 -10
  223. package/dist/plugins/memory-embedder-fingerprint.js +52 -12
  224. package/dist/plugins/memory-embedder.d.ts +1 -1
  225. package/dist/plugins/memory-embedder.js +2 -2
  226. package/dist/plugins/memory-engine-pg.d.ts +4 -3
  227. package/dist/plugins/memory-engine-pg.js +4 -4
  228. package/dist/plugins/memory-engine-sql-apply.d.ts +13 -4
  229. package/dist/plugins/memory-engine-sql-apply.js +1 -1
  230. package/dist/plugins/memory-engine-tidb.d.ts +8 -5
  231. package/dist/plugins/memory-engine-tidb.js +7 -8
  232. package/dist/plugins/one-time-migrations.d.ts +145 -35
  233. package/dist/plugins/one-time-migrations.js +272 -120
  234. package/dist/plugins/owner-only-file-mode.d.ts +29 -0
  235. package/dist/plugins/owner-only-file-mode.js +141 -0
  236. package/dist/plugins/permission-rule-store-file.d.ts +8 -8
  237. package/dist/plugins/permission-rule-store-file.js +14 -2
  238. package/dist/plugins/pg-pool.d.ts +2 -1
  239. package/dist/plugins/pg-pool.js +11 -4
  240. package/dist/plugins/release-version.d.ts +20 -0
  241. package/dist/plugins/release-version.js +28 -0
  242. package/dist/plugins/remote-env-adb.d.ts +20 -4
  243. package/dist/plugins/remote-env-adb.js +39 -11
  244. package/dist/plugins/remote-env-e2b.d.ts +12 -3
  245. package/dist/plugins/remote-env-e2b.js +6 -4
  246. package/dist/plugins/remote-env-host.d.ts +9 -1
  247. package/dist/plugins/remote-env-host.js +6 -5
  248. package/dist/plugins/remote-env-k8s.d.ts +5 -2
  249. package/dist/plugins/remote-env-k8s.js +15 -4
  250. package/dist/plugins/remote-env-local-docker.d.ts +4 -1
  251. package/dist/plugins/remote-env-local-docker.js +3 -3
  252. package/dist/plugins/remote-env-ssh.d.ts +8 -2
  253. package/dist/plugins/remote-env-ssh.js +26 -24
  254. package/dist/plugins/remote-shell.d.ts +59 -30
  255. package/dist/plugins/remote-shell.js +175 -62
  256. package/dist/plugins/retention-declaration.d.ts +37 -0
  257. package/dist/plugins/retention-declaration.js +9 -0
  258. package/dist/plugins/retention-deployment.d.ts +126 -0
  259. package/dist/plugins/retention-deployment.js +88 -0
  260. package/dist/plugins/retention-lane-store-sql.d.ts +74 -4
  261. package/dist/plugins/retention-lane-store-sql.js +103 -1
  262. package/dist/plugins/retention-sql.d.ts +29 -0
  263. package/dist/plugins/retention-sql.js +8 -0
  264. package/dist/plugins/schema-consistency.d.ts +0 -6
  265. package/dist/plugins/schema-consistency.js +1 -2
  266. package/dist/plugins/schema-ensure-legs.d.ts +1 -1
  267. package/dist/plugins/schema-ensure-legs.js +11 -1
  268. package/dist/plugins/session-ext-table.d.ts +74 -0
  269. package/dist/plugins/session-ext-table.js +121 -0
  270. package/dist/plugins/session-fork.d.ts +1 -1
  271. package/dist/plugins/session-row-sql.d.ts +8 -7
  272. package/dist/plugins/session-row-sql.js +15 -7
  273. package/dist/plugins/session-store-sql.d.ts +131 -0
  274. package/dist/plugins/session-store-sql.js +298 -0
  275. package/dist/plugins/session-workspace-cell.d.ts +2 -2
  276. package/dist/plugins/session-workspace-cell.js +2 -2
  277. package/dist/plugins/shared-memory-store-sql.d.ts +10 -0
  278. package/dist/plugins/shared-memory-store-sql.js +13 -13
  279. package/dist/plugins/snapshot-bucket-presence.js +1 -1
  280. package/dist/plugins/sql-driver.d.ts +23 -7
  281. package/dist/plugins/sql-driver.js +41 -8
  282. package/dist/plugins/sql-errors.d.ts +5 -2
  283. package/dist/plugins/sql-errors.js +4 -0
  284. package/dist/plugins/store-backend.d.ts +35 -8
  285. package/dist/plugins/store-backend.js +184 -62
  286. package/dist/plugins/store-contracts.d.ts +9 -2
  287. package/dist/plugins/store-contracts.js +1 -0
  288. package/dist/plugins/task-attachment-store.d.ts +6 -8
  289. package/dist/plugins/task-attachment-store.js +15 -10
  290. package/dist/plugins/task-list-store-sql.d.ts +1 -1
  291. package/dist/plugins/text-column-capacity.d.ts +21 -0
  292. package/dist/plugins/text-column-capacity.js +5 -0
  293. package/dist/plugins/tidb-pool.d.ts +3 -2
  294. package/dist/plugins/tidb-pool.js +19 -31
  295. package/dist/plugins/user-input-ledger-sql.d.ts +1 -1
  296. package/dist/read-face-posture.d.ts +6 -6
  297. package/dist/read-face-posture.js +2 -2
  298. package/dist/request-value-closure.d.ts +5 -5
  299. package/dist/request-value-closure.js +1 -1
  300. package/dist/rules-consent.d.ts +41 -13
  301. package/dist/rules-consent.js +101 -53
  302. package/dist/run-local.js +17 -13
  303. package/dist/runs.d.ts +48 -30
  304. package/dist/runs.js +26 -16
  305. package/dist/runtime-caps-resolver.d.ts +15 -8
  306. package/dist/runtime-caps-resolver.js +14 -10
  307. package/dist/sealed-key-layout.d.ts +2 -3
  308. package/dist/sealed-key-layout.js +0 -1
  309. package/dist/sealed-key.js +7 -5
  310. package/dist/security.d.ts +5 -3
  311. package/dist/sema-config-dir.js +2 -2
  312. package/dist/server-secret-env.d.ts +2 -0
  313. package/dist/service-version.d.ts +2 -1
  314. package/dist/service-version.js +2 -2
  315. package/dist/session-error-wire.d.ts +1 -1
  316. package/dist/session-incarnation.d.ts +8 -5
  317. package/dist/session-resident-background.d.ts +85 -32
  318. package/dist/session-resident-background.js +75 -7
  319. package/dist/session-row.d.ts +1 -1
  320. package/dist/session-sync-kernel.d.ts +1 -1
  321. package/dist/session-workspace.d.ts +11 -2
  322. package/dist/session-workspace.js +5 -0
  323. package/dist/sighup-idle.d.ts +1 -1
  324. package/dist/store-posture.d.ts +2 -1
  325. package/dist/stored-request-hooks-m20.d.ts +3 -2
  326. package/dist/stored-request-hooks-m20.js +19 -14
  327. package/dist/stores-sql/blob-index-sql.d.ts +148 -0
  328. package/dist/stores-sql/blob-index-sql.js +154 -0
  329. package/dist/stores-sql/checkpoint-store-sql.d.ts +1 -1
  330. package/dist/stores-sql/checkpoint-store-sql.js +11 -27
  331. package/dist/{plugins → stores-sql}/file-history-store-sql.d.ts +23 -11
  332. package/dist/{plugins → stores-sql}/file-history-store-sql.js +23 -18
  333. package/dist/{plugins → stores-sql}/pg-session-storage.d.ts +23 -76
  334. package/dist/{plugins → stores-sql}/pg-session-storage.js +80 -209
  335. package/dist/{plugins → stores-sql}/retention-store-sql.d.ts +123 -217
  336. package/dist/{plugins → stores-sql}/retention-store-sql.js +66 -190
  337. package/dist/{plugins → stores-sql}/session-event-payload.d.ts +1 -1
  338. package/dist/{plugins → stores-sql}/session-event-payload.js +1 -1
  339. package/dist/stores-sql/session-policy-store-sql.d.ts +1 -1
  340. package/dist/stores-sql/session-write-hooks.d.ts +59 -0
  341. package/dist/stores-sql/session-write-hooks.js +2 -0
  342. package/dist/{plugins → stores-sql}/tidb-session-storage.d.ts +10 -11
  343. package/dist/{plugins → stores-sql}/tidb-session-storage.js +10 -21
  344. package/dist/{plugins → stores-sql}/tidb-session-store.d.ts +32 -122
  345. package/dist/{plugins → stores-sql}/tidb-session-store.js +71 -171
  346. package/dist/stores-sql/tool-result-store-sql.d.ts +1 -1
  347. package/dist/stores-sql/tool-result-store-sql.js +1 -1
  348. package/dist/stores-sql/windowed-session-storage.d.ts +56 -0
  349. package/dist/stores-sql/windowed-session-storage.js +61 -0
  350. package/dist/task-a2a.d.ts +7 -1
  351. package/dist/task-a2a.js +15 -14
  352. package/dist/task-cwd.d.ts +11 -3
  353. package/dist/task-cwd.js +17 -1
  354. package/dist/task-mcp.d.ts +10 -2
  355. package/dist/task-mcp.js +13 -16
  356. package/dist/task-settings.d.ts +9 -4
  357. package/dist/task-settings.js +17 -6
  358. package/dist/tool-approval.d.ts +21 -8
  359. package/dist/tool-approval.js +10 -6
  360. package/dist/trace/core-keyset-guard.d.ts +9 -3
  361. package/dist/trace/engine-notice-wire.d.ts +1 -1
  362. package/dist/trace/engine-notice-wire.js +2 -0
  363. package/dist/trace/exit-seat.d.ts +23 -1
  364. package/dist/trace/exit-seat.js +3 -0
  365. package/dist/trace/project.d.ts +33 -16
  366. package/dist/trace/project.js +12 -9
  367. package/dist/trace/redact.d.ts +1 -1
  368. package/dist/trace/redact.js +61 -73
  369. package/dist/trace/self-minted-wire.d.ts +263 -10
  370. package/dist/trace/self-minted-wire.js +90 -2
  371. package/dist/trace/sema-provenance.d.ts +45 -41
  372. package/dist/trace/sema-provenance.js +81 -10
  373. package/dist/trace/task-notification-facets.d.ts +70 -2
  374. package/dist/trace/task-notification-facets.js +71 -1
  375. package/dist/trace/wire-projection-faces.d.ts +38 -2
  376. package/dist/trace/wire-projection-faces.js +26 -1
  377. package/dist/unread-request-members.d.ts +66 -0
  378. package/dist/unread-request-members.js +41 -0
  379. package/dist/user-input-ledger.d.ts +2 -2
  380. package/dist/web-admin-client/apply-effective.js +22 -26
  381. package/dist/web-admin-client/candidate-gate.d.ts +35 -3
  382. package/dist/web-admin-client/candidate-gate.js +53 -5
  383. package/dist/web-admin-client/center-request.d.ts +4 -1
  384. package/dist/web-admin-client/center-request.js +2 -1
  385. package/dist/web-admin-client/effective-keys.js +0 -1
  386. package/dist/web-admin-client/facade.d.ts +1 -1
  387. package/dist/web-admin-client/http-client.d.ts +1 -0
  388. package/dist/web-admin-client/http-client.js +17 -9
  389. package/dist/web-admin-client/restart-signal.js +5 -2
  390. package/dist/web-admin-client/skills-mcp.d.ts +20 -6
  391. package/dist/web-admin-client/skills-mcp.js +26 -21
  392. package/dist/web-admin-client/types.d.ts +34 -49
  393. package/docs/DEVICE-EXECUTOR-PROTOCOL.md +2 -2
  394. package/package.json +13 -12
  395. package/scripts/drain-check-local.mjs +2 -28
  396. package/scripts/drain-check.mysql.sql +2 -18
  397. package/scripts/drain-check.pg.sql +2 -18
  398. package/wire-changes/server@7.147.0.json +813 -0
@@ -477,6 +477,32 @@ export declare const SELF_MINTED_WIRE: {
477
477
  };
478
478
  };
479
479
  };
480
+ /** 7.147.0:能力位 `settingsContract.hookEntryFields` 的键(契约 hook 条目型,每型一列字段名,契约型序;恒在场、不随部署形变)。 */
481
+ readonly settingsContractHookEntryType: {
482
+ readonly at: "GET /v1/capabilities settingsContract.hookEntryFields";
483
+ readonly members: {
484
+ command: {
485
+ attr: string;
486
+ since: string;
487
+ };
488
+ prompt: {
489
+ attr: string;
490
+ since: string;
491
+ };
492
+ agent: {
493
+ attr: string;
494
+ since: string;
495
+ };
496
+ http: {
497
+ attr: string;
498
+ since: string;
499
+ };
500
+ mcp_tool: {
501
+ attr: string;
502
+ since: string;
503
+ };
504
+ };
505
+ };
480
506
  /** 7.137.0:能力位 `credentialPlane.sandboxGit.state`(成员 git 凭据平面开 / 关;判官 `judgeSandboxGitPlane`)。 */
481
507
  readonly credentialPlaneSandboxGitState: {
482
508
  readonly at: "GET /v1/capabilities credentialPlane.sandboxGit.state";
@@ -679,8 +705,9 @@ export declare const SELF_MINTED_WIRE: {
679
705
  };
680
706
  };
681
707
  /**
682
- * `GET /health` 的 `inflightBreakdown` 段(7.146.0):`inflight` 的分项 —— `http` = 本副本 HTTP 腿(在飞 run 集 + 没有登记身份的同步计费腿 + admission 期的非探针请求),`leader` = leader 口的后台 run,
683
- * `sessionResident` = 会话驻留的后台 shell / monitor(活过起它的那一条腿;不含 retain 行)。`inflight`(总数)恒等于三项之和(同一次读、`inflightTotal` 一处求和);判停读的阻断集 = `http + leader`(不上 wire),驻留项只报不阻断。
708
+ * `GET /health` 的 `inflightBreakdown` 段(7.146.0;`backgroundAgents` 7.147.0):`inflight` 的分项 —— `http` = 本副本 HTTP 腿(在飞 run 集 + 没有登记身份的同步计费腿 + admission 期的非探针请求),
709
+ * `leader` = leader 口的后台 run,`backgroundAgents` = 活过起它的那一条腿、仍在跑的后台子代理(停驻的不计),`sessionResident` = 会话驻留的后台 shell / monitor(活过起它的那一条腿;不含 retain 行)。
710
+ * `inflight`(总数)恒等于四项之和(同一次读、`inflightTotal` 一处求和);判停读的阻断集 = `http + leader + backgroundAgents`(不上 wire),驻留 shell 项只报不阻断。
684
711
  * present-iff `inflight` 在场(`drainState` 装了的部署);键集属主 = `InflightBreakdown`(加一键而本表没跟 ⇒ tsc 红)。
685
712
  */
686
713
  readonly healthInflightBreakdownKey: {
@@ -694,6 +721,10 @@ export declare const SELF_MINTED_WIRE: {
694
721
  attr: string;
695
722
  since: string;
696
723
  };
724
+ backgroundAgents: {
725
+ attr: string;
726
+ since: string;
727
+ };
697
728
  sessionResident: {
698
729
  attr: string;
699
730
  since: string;
@@ -848,6 +879,36 @@ export declare const SELF_MINTED_WIRE: {
848
879
  readonly attr: "always";
849
880
  readonly since: "7.138.0";
850
881
  };
882
+ readonly thinkingLevelMap: {
883
+ readonly attr: "present-iff declared";
884
+ readonly since: "7.147.0";
885
+ };
886
+ };
887
+ };
888
+ /** `GET /v1/models` 的 anthropic-messages 行上 `compat` 的键(本版起这条线路的声明生效、上 wire —— 此前 anthropic 条目的 compat 一律被丢;键集 = core `AnthropicMessagesCompat`)。 */
889
+ readonly modelsRowAnthropicCompatKey: {
890
+ readonly at: "GET /v1/models models[].compat 键(anthropic-messages 行;<键> → 在场律)";
891
+ readonly members: {
892
+ thinkingMode: {
893
+ attr: string;
894
+ since: string;
895
+ };
896
+ effortLevels: {
897
+ attr: string;
898
+ since: string;
899
+ };
900
+ supportsTemperature: {
901
+ attr: string;
902
+ since: string;
903
+ };
904
+ contextManagement: {
905
+ attr: string;
906
+ since: string;
907
+ };
908
+ interleavedThinking: {
909
+ attr: string;
910
+ since: string;
911
+ };
851
912
  };
852
913
  };
853
914
  /** `GET /v1/sessions/:id/background` 的 `rows[]` 上本版新出现的键:`sessionId` —— 后台 agent 行的子会话 id(引擎绑定之后才在,别的行型恒缺席;只是 id,不授读权)。 */
@@ -874,6 +935,86 @@ export declare const SELF_MINTED_WIRE: {
874
935
  };
875
936
  };
876
937
  };
938
+ /**
939
+ * 项目登记簿读面(`GET /v1/projects` 的 `projects[]` = `GET /v1/projects/:id` 的 200 体)的行键全集:settings-schema `ProjectRegistration` 的原键原名 + 本面铸的 `id`。
940
+ * `satisfies` 绑处置表(`http/routes/projects.ts` 的 `PROJECT_ROW_DISPOSITIONS`):settings-schema 给登记加键 ⇒ 处置表先红,表态之后这里再红。
941
+ */
942
+ readonly projectRowKey: {
943
+ readonly at: "GET /v1/projects projects[] 行键 = GET /v1/projects/:id 200 体(<键> → 在场律)";
944
+ readonly members: {
945
+ id: {
946
+ attr: string;
947
+ since: string;
948
+ };
949
+ displayName: {
950
+ attr: string;
951
+ since: string;
952
+ };
953
+ goal: {
954
+ attr: string;
955
+ since: string;
956
+ };
957
+ contextItems: {
958
+ attr: string;
959
+ since: string;
960
+ };
961
+ gitRemotes: {
962
+ attr: string;
963
+ since: string;
964
+ };
965
+ defaultScopes: {
966
+ attr: string;
967
+ since: string;
968
+ };
969
+ notes: {
970
+ attr: string;
971
+ since: string;
972
+ };
973
+ icon: {
974
+ attr: string;
975
+ since: string;
976
+ };
977
+ color: {
978
+ attr: string;
979
+ since: string;
980
+ };
981
+ registeredBy: {
982
+ attr: string;
983
+ since: string;
984
+ };
985
+ registeredAt: {
986
+ attr: string;
987
+ since: string;
988
+ };
989
+ archivedAt: {
990
+ attr: string;
991
+ since: string;
992
+ };
993
+ };
994
+ };
995
+ /** `GET /v1/projects` 200 体的顶层键(闭集;体是路由里的内联字面量 —— 行的键集在 `projectRowKey`)。 */
996
+ readonly projectsListBodyKey: {
997
+ readonly at: "GET /v1/projects 200 体顶层键(<键> → 在场律)";
998
+ readonly members: {
999
+ readonly projects: {
1000
+ readonly attr: "always";
1001
+ readonly since: "7.147.0";
1002
+ };
1003
+ };
1004
+ };
1005
+ /**
1006
+ * 会话视图 `GET /v1/sessions/:id` 体顶层本版新出现的键:`projectId` —— 会话行上最后一帧 `workspace_changed` 的 `project.id`(引擎对这只会话最后一条自己的腿的项目判决;
1007
+ * 唯一读口 `session-workspace.ts` 的 `readSessionProjectId`)。体是视图读面拼出来的(`boot/session-faces.ts`),没有可 `satisfies` 的具名型;在场律由视图读面的钉证。
1008
+ */
1009
+ readonly sessionViewKey: {
1010
+ readonly at: "GET /v1/sessions/:id 体顶层键(本版新出现;<键> → 在场律)";
1011
+ readonly members: {
1012
+ readonly projectId: {
1013
+ readonly attr: "present-iff the session row's last own workspace_changed frame carried a project";
1014
+ readonly since: "7.147.0";
1015
+ };
1016
+ };
1017
+ };
877
1018
  /** 会话列表行 `unreadable` 标记的整个键闭集:`errorCode` —— 读口打开这只会话时答的码(open 面那一张码表,与全局兜底同读)。 */
878
1019
  readonly sessionsListRowUnreadableKey: {
879
1020
  readonly at: "GET /v1/sessions sessions[].unreadable 键(<键> → 在场律)";
@@ -884,6 +1025,34 @@ export declare const SELF_MINTED_WIRE: {
884
1025
  };
885
1026
  };
886
1027
  };
1028
+ /** 停驻补投帧上被裁标记 `payloadTruncated` 的出现面(<帧>#<键> → 在场律):条目扩展键的 UTF-8 字节越过收件条目预算(最窄后端的 `payload` 列容量)⇒ 补投帧是最小形并带它;live 帧不带。 */
1029
+ readonly inboxPayloadTruncatedFrame: {
1030
+ readonly at: "停驻补投帧(下一次开流 drain)键(<帧>#<键> → 在场律)";
1031
+ readonly members: {
1032
+ readonly "task_notification#payloadTruncated": {
1033
+ readonly attr: "present-iff the parked entry's payload exceeded the inbox byte budget (minimal form)";
1034
+ readonly since: "7.147.0";
1035
+ };
1036
+ readonly "workflow_complete#payloadTruncated": {
1037
+ readonly attr: "present-iff the parked entry's payload exceeded the inbox byte budget (minimal form)";
1038
+ readonly since: "7.147.0";
1039
+ };
1040
+ };
1041
+ };
1042
+ /** `payloadTruncated` 的键集(恒两键):`droppedKeys` = 被丢的键名(全形键序;末尾的 `summary` = 帧上的 `summary` 是扣下原句后的受信句),`bytes` = 全形扩展键的 UTF-8 字节数。 */
1043
+ readonly inboxPayloadTruncatedKey: {
1044
+ readonly at: "停驻补投帧 payloadTruncated 的键";
1045
+ readonly members: {
1046
+ droppedKeys: {
1047
+ attr: string;
1048
+ since: string;
1049
+ };
1050
+ bytes: {
1051
+ attr: string;
1052
+ since: string;
1053
+ };
1054
+ };
1055
+ };
887
1056
  /** `tool_end` 帧 `gate.disposition`(denied 臂)上的键(<臂>#<键> → 在场律;回放面 `GET /v1/runs/:id/events` 同读):`extension` —— hook 层拒且拒者的扩展注册名已知时 = 那张注册的名字(过出口座)。 */
888
1057
  readonly toolEndGateDispositionKey: {
889
1058
  readonly at: "tool_end gate.disposition 键(<臂>#<键> → 在场律)";
@@ -1143,13 +1312,13 @@ export declare const SELF_MINTED_WIRE: {
1143
1312
  };
1144
1313
  };
1145
1314
  /**
1146
- * `inheritEnv` 的三只 400 `request.field_invalid`(值形 / 车道 / 无会话)拒体的 `reason`(体另带 `field: "inheritEnv"`;一种拒因一个词)。词表属主 = `request-value-closure.ts` 的
1315
+ * `inheritEnv` 的两类 400 `request.field_invalid`(值形 / 车道)拒体的 `reason`(体另带 `field: "inheritEnv"`;一种拒因一个词)。词表属主 = `request-value-closure.ts` 的
1147
1316
  * `INHERIT_ENV_REFUSAL_REASONS`(唯一铸点 `inheritEnvFacts`;受理门与 resolveSpec 两腿只经它出机读位);`satisfies Record<InheritEnvRefusalReason, …>`。
1148
- * `unknown_word` = 是字符串但不在受理词表;`not_a_string` = 根本不是字符串;`lane_not_host` = `"all"` 落在非 host 车道;`no_authorizer_session` = `"all"` 而部署不接 authorizer。
1317
+ * `unknown_word` = 是字符串但不在受理词表;`not_a_string` = 根本不是字符串;`lane_not_host` = `"all"` 落在非 host 车道。
1149
1318
  * 422 `request.host_posture_refused` 不在这组(姿态拒,不带 `field` / `reason`)。行为钉:`test/inherit-env-request-key.test.ts`。
1150
1319
  */
1151
1320
  readonly inheritEnvRefusalReason: {
1152
- readonly at: "400 request.field_invalid reason(inheritEnv 的值形 / 车道 / 无会话三只拒;另带 field: \"inheritEnv\")";
1321
+ readonly at: "400 request.field_invalid reason(inheritEnv 的值形 / 车道两类拒;另带 field: \"inheritEnv\")";
1153
1322
  readonly members: {
1154
1323
  unknown_word: {
1155
1324
  attr: string;
@@ -1163,10 +1332,6 @@ export declare const SELF_MINTED_WIRE: {
1163
1332
  attr: string;
1164
1333
  since: string;
1165
1334
  };
1166
- no_authorizer_session: {
1167
- attr: string;
1168
- since: string;
1169
- };
1170
1335
  };
1171
1336
  };
1172
1337
  /**
@@ -1876,6 +2041,10 @@ export declare const SELF_MINTED_WIRE: {
1876
2041
  readonly attr: 409;
1877
2042
  readonly since: "7.145.0";
1878
2043
  };
2044
+ readonly "POST /v1/sessions/:id/sync/plan#stamped_archive(DB_BACKEND=local;\u5E72\u8DD1\u6309 id \u5206\u7C7B\u51FA fork / stale,\u76EE\u7684\u7AEF\u5B58\u6863\u4ECD\u5E26\u5C5E\u4E3B\u6233;\u6B64\u523B\u8BFB,\u4E0D\u5F00\u6682\u5B58\u3001\u4E0D\u62FF\u79DF\u7EA6\u3001\u4E0D\u5199\u5B58\u6863;\u4F53 conflict.session_archive_stamped + \u5E26\u6233\u5B58\u6863\u7684\u56FA\u5B9A\u53E5,\u4E0D\u5E26 relation)": {
2045
+ readonly attr: 409;
2046
+ readonly since: "7.147.0";
2047
+ };
1879
2048
  readonly "POST /v1/tasks|/v1/tasks/stream|/v1/runs#images_url_credential(\u65B0\u63D0\u4EA4;\u4F53 request.field_invalid + field images[i].url + reason url_userinfo|url_credential_param)": {
1880
2049
  readonly attr: 400;
1881
2050
  readonly since: "7.136.0";
@@ -2104,6 +2273,10 @@ export declare const SELF_MINTED_WIRE: {
2104
2273
  readonly attr: 503;
2105
2274
  readonly since: "7.143.0";
2106
2275
  };
2276
+ readonly "POST /v1/rules/cc-import/prepare|POST /v1/rules/local-import/prepare#record_store_refused(\u5BA1\u6279\u8BB0\u5F55\u5E97\u5EFA\u8FD9\u6B21\u5BFC\u5165\u7684\u8BB0\u5F55\u5931\u8D25,\u5F15\u64CE\u7B54\u5E97\u62D2\u81C2;\u6CA1\u6709\u7968\u3001\u6CA1\u6709\u653E\u884C\u843D\u5E97 \u2014\u2014 local-import \u8FD9\u4E00\u6279\u6536\u4E0B\u7684 deny / ask \u53EF\u80FD\u5DF2\u5F53\u573A\u843D\u5E97;\u4F53 state.rule_write_failed + committed;\u91CD\u53D1\u540C\u4E00\u8BF7\u6C42\u5373\u91CD\u94F8)": {
2277
+ readonly attr: 503;
2278
+ readonly since: "7.147.0";
2279
+ };
2107
2280
  readonly "POST /v1/rules/cc-import/redeem#member_refused(\u5151\u4ED8\u8D70\u5B8C\u3001\u5F15\u64CE\u7684\u5B8C\u6574\u6210\u5458\u8868\u91CC\u6709\u88AB\u62D2\u7684\u6210\u5458;\u4F53 = \u56DE\u6267 { members, rev },\u90A3\u51E0\u884C outcome refused(\u5F15\u64CE\u7B54 committed no;7.145.0 \u4E3A indeterminate + store_refused)+ reason = \u5F15\u64CE\u62D2\u56E0\u7801(RuleRefusalCode)+ detail \u5F15\u64CE\u539F\u8BDD;\u7968\u7528\u6389,\u540C\u7968\u518D\u5151 404)": {
2108
2281
  readonly attr: 200;
2109
2282
  readonly since: "7.145.0";
@@ -2124,6 +2297,30 @@ export declare const SELF_MINTED_WIRE: {
2124
2297
  readonly attr: 409;
2125
2298
  readonly since: "7.146.0";
2126
2299
  };
2300
+ readonly "POST /v1/tasks|/v1/tasks/stream|/v1/runs#scenario_assignment_unavailable(\u65B0\u63D0\u4EA4;\u90E8\u7F72\u63A5\u4E86\u914D\u7F6E\u4E2D\u5FC3\u3001\u8BF7\u6C42\u5E26\u4E3B\u4F53,\u800C\u4E2D\u5FC3\u7B54\u4E0D\u51FA\u8FD9\u4F4D\u4E3B\u4F53\u7684\u573A\u666F\u88C1\u5B9A:\u4E0D\u53EF\u8FBE / \u8D85\u65F6 / \u7B54\u590D\u8BFB\u4E0D\u51FA / \u6307\u6D3E\u4E24\u952E\u5F62\u4E0D\u5BF9\u6216\u53EA\u53D1\u4E00\u952E;\u70B9\u540D\u4E0E\u4E0D\u70B9\u540D\u540C\u62D2;\u96F6 run;\u4F53 state.scenario_assignment_unavailable + permanence: transient,\u65E0 detail)": {
2301
+ readonly attr: 503;
2302
+ readonly since: "7.147.0";
2303
+ };
2304
+ readonly "GET /v1/capabilities/mcp|/v1/sessions/:id/a2a#scenario_assignment_unavailable(\u4E0E\u63D0\u4EA4\u817F\u540C\u4E00\u53EA\u573A\u666F\u95E8;\u7F3A\u5E2D\u4E0E\u70B9\u540D\u7684\u573A\u666F\u540D\u540C\u62D2;\u6574\u9762;\u4F53\u540C\u4E0A)": {
2305
+ readonly attr: 503;
2306
+ readonly since: "7.147.0";
2307
+ };
2308
+ readonly "POST /v1/approvals/:sessionId/decide|/v1/sessions/:id/wake|/v1/assistant/tasks/:id/resume|/v1/assistant/tasks/:id/plan_review#scenario_assignment_unavailable(\u7EED\u8DD1\u5BB6\u65CF\u7ECF\u88C5\u914D\u7684\u90A3\u51E0\u6761;\u8BA4\u9886\u4E4B\u524D,\u5361\u4ECD\u5F85\u51B3;\u4E0D\u6298 resume_blocked_by_policy;\u4F53 state.scenario_assignment_unavailable + permanence: transient + retriable)": {
2309
+ readonly attr: 503;
2310
+ readonly since: "7.147.0";
2311
+ };
2312
+ readonly "POST /v1/tasks|/v1/tasks/stream|/v1/runs#settings.env \u6709\u6210\u5458\u4E0D\u662F\u5E3D\u5185\u7684\u4E32(\u65B0\u63D0\u4EA4;\u53EA\u5728\u91C7\u7EB3 env \u7684\u8F66\u9053\u4E0A:\u5355\u7528\u6237 host / device,\u6216\u91C7\u7EB3\u8BF7\u6C42\u4F53 hooks \u4E14\u8BF7\u6C42\u5E26\u7740 hooks;\u96F6 run;\u4F53 request.field_invalid + field settings.env,\u53E5\u5B50\u70B9\u540D\u5750\u6807\u3001\u4E0D\u56DE\u663E\u503C)": {
2313
+ readonly attr: 400;
2314
+ readonly since: "7.147.0";
2315
+ };
2316
+ readonly "POST /v1/approvals/:sessionId/decide|/v1/sessions/:id/wake|/v1/assistant/tasks/:id/resume|/v1/assistant/tasks/:id/plan_review#stored_unread_members(\u7EED\u8DD1\u5C06\u8981\u8DD1\u7684\u90A3\u4E00\u4EFD\u4F53 \u2014\u2014 \u5B58\u91CF\u4F53,\u91CD\u8FF0\u952E\u5728\u573A\u65F6\u76D6\u8FC7\u91CD\u8FF0\u4E4B\u540E \u2014\u2014 \u91CC\u6709\u672C\u7248\u8BFB\u8005\u8BFB\u4E0D\u51FA\u3001\u800C\u672C\u90E8\u7F72\u672C\u4F1A\u91C7\u7EB3\u7684\u6210\u5458:settings.hooks / settings.env / \u5176\u4F59 settings \u5EF6\u540E\u952E / mcpServers[i].transport / a2aPeers[i].headers;\u8BA4\u9886\u4E4B\u524D,\u5361\u4ECD\u5F85\u51B3;\u4F53 resume_blocked_by_policy + blockedBy request.field_invalid + field + retriable)": {
2317
+ readonly attr: 409;
2318
+ readonly since: "7.147.0";
2319
+ };
2320
+ readonly "POST /v1/runs/:id/steer#stored_unread_members(run \u5DF2\u7EC8\u6001\u3001\u94F8\u5524\u9192\u5361\u4E4B\u524D;\u540C\u4E00\u53EA\u5224;\u4E0D\u94F8\u5361;\u4F53 resume_blocked_by_policy + blockedBy request.field_invalid + field,\u4E0D\u5E26 retriable)": {
2321
+ readonly attr: 409;
2322
+ readonly since: "7.147.0";
2323
+ };
2127
2324
  };
2128
2325
  };
2129
2326
  /**
@@ -2145,7 +2342,7 @@ export declare const SELF_MINTED_WIRE: {
2145
2342
  };
2146
2343
  };
2147
2344
  };
2148
- /** 同上回执 `members[]` 一行的键(<键> → 在场律)。键集属主 = `ImportOutcomeMember`(`satisfies` 穷举),唯一投影 = `rules-consent.ts` 的 `buildImportOutcomeMembers`(两口同调)。 */
2345
+ /** 同上回执 `members[]` 一行的键(<键> → 在场律)。键集属主 = `ImportOutcomeMember`(`satisfies` 穷举),唯一投影 = `rules-consent.ts` 的 `settleImportWalk`(两口同调)。 */
2149
2346
  readonly ruleImportReceiptMemberKey: {
2150
2347
  readonly at: "POST /v1/rules/cc-import/redeem 200 回执 members[] 行键(<键> → 在场律;与 POST /v1/rules/local-import/redeem 同形)";
2151
2348
  readonly members: {
@@ -2299,6 +2496,40 @@ export declare const SELF_MINTED_WIRE: {
2299
2496
  };
2300
2497
  };
2301
2498
  };
2499
+ /** run 外只恢复代码口的 wire 面(`<面>#<键>` → 读法 / 在场律)。200 体 = 引擎 `Runner.rewindFiles` 的结果原样(键属主在引擎);本仓只脱敏文本叶,不加汇总键。 */
2500
+ readonly sessionRewindFilesWire: {
2501
+ readonly at: "POST /v1/sessions/:id/rewind-files(<面>#<键> → 读法 / 在场律)";
2502
+ readonly members: {
2503
+ readonly "body#to": {
2504
+ readonly attr: "required;a rewind handle this server minted (a prompt's taskId or a message's eventId), 1..255 chars;translated by the same anchor reader as the submit body's rewindFilesTo;unknown ⇒ 404 rewind_files_to.unknown_event";
2505
+ readonly since: "7.147.0";
2506
+ };
2507
+ readonly "body#dryRun": {
2508
+ readonly attr: "optional boolean;true ⇒ preview only, no file written;any other key ⇒ 400 request.body_shape";
2509
+ readonly since: "7.147.0";
2510
+ };
2511
+ readonly "body#acceptPartialRestore": {
2512
+ readonly attr: "not accepted ⇒ 400 request.body_shape (the engine's out-of-run rewind has no partial-restore policy; a partial restore answers 200 with restore.outcome partial)";
2513
+ readonly since: "7.147.0";
2514
+ };
2515
+ readonly "200#dryRun": {
2516
+ readonly attr: "always;the engine RewindFilesResult discriminant verbatim";
2517
+ readonly since: "7.147.0";
2518
+ };
2519
+ readonly "200#preview": {
2520
+ readonly attr: "present-iff dryRun true;engine FileHistoryDiffStats verbatim, or null when the store gives no stats (null is not zero stats)";
2521
+ readonly since: "7.147.0";
2522
+ };
2523
+ readonly "200#restore": {
2524
+ readonly attr: "present-iff dryRun false;engine restore ledger (outcome complete | partial, filesChanged, identicalSkipped, refused[], failed[], modeNotPreserved?, error?), path and reason leaves redacted;error = { errorCode, message, permanence? } (the engine member code is spelled errorCode on the wire)";
2525
+ readonly since: "7.147.0";
2526
+ };
2527
+ readonly "409 conflict.session_active_run#activeTaskId": {
2528
+ readonly attr: "always on this face;the run holding the session's durable claim (the message names it too)";
2529
+ readonly since: "7.147.0";
2530
+ };
2531
+ };
2532
+ };
2302
2533
  /**
2303
2534
  * 收编批量导入 `POST /v1/adoption/:id/sessions` 逐元素结局的 `outcome`(三词闭集;属主 = `adoption/wire.ts` 的 `AdoptionImportResult` 判别联合 ——
2304
2535
  * 联合加一臂而本表没跟 / 多一个词 ⇒ tsc 红)。
@@ -2607,6 +2838,14 @@ export declare const SELF_MINTED_WIRE: {
2607
2838
  readonly attr: "this session has no transcript yet, so there is no revision to sync from — run a task in it (…), then sync";
2608
2839
  readonly since: "7.143.0";
2609
2840
  };
2841
+ readonly "400 request.field_invalid#unread_request_members(\u65B0\u63D0\u4EA4:settings.env \u6709\u6210\u5458\u4E0D\u662F\u5E3D\u5185\u7684\u4E32;\u5D4C\u5165\u65B9\u76F4\u8C03\u88C5\u914D\u65F6\u56DB\u5EA7\u540C\u53E5)": {
2842
+ readonly attr: "this request carries a member|members this server version's readers cannot take as written, on a deployment that would apply it|them: <坐标,至多 8 处>[ (and <n> more)] — running it would silently leave that member|those members out (a hook that guards a tool, an MCP server's credentials); submit it again with this member|these members in the current form";
2843
+ readonly since: "7.147.0";
2844
+ };
2845
+ readonly "409 resume_blocked_by_policy#unread_members(\u7EED\u8DD1\u56DB\u95E8 \u00B7 steer \u94F8\u5524\u9192\u5361\u4E4B\u524D)": {
2846
+ readonly attr: "resume blocked by an admission policy change: <同上一句>";
2847
+ readonly since: "7.147.0";
2848
+ };
2610
2849
  };
2611
2850
  };
2612
2851
  /**
@@ -3180,6 +3419,20 @@ export declare const SELF_MINTED_WIRE: {
3180
3419
  readonly attr: "segment-text=block-texts-concat;end-only-block=text_end.content";
3181
3420
  readonly since: "7.144.0";
3182
3421
  };
3422
+ /**
3423
+ * 7.147.0:续跑家族唯一组句器(`http/resume-legs.ts` `checkpointRefusalAnswer`)对引擎 `checkpoint.invalid_outcome` 拒的码 —— 有决断成因 ⇒ 成因的码(`field` 的角色;审阅门上不带判别位 ⇒
3424
+ * `resume_outcome_invalid`),这一行自己的拒(`reason` 在场)与无成因的拒 ⇒ 引擎原码(= 行上 `rowVerdict.code`)。此前 `policy_ask` 门上无 `field` 一律借 `approval_binding_mismatch`、其余门一律借
3425
+ * `resume_outcome_invalid`。钉 test/decision-refusal-row-own-code.test.ts ①④⑤。
3426
+ */
3427
+ readonly "POST /v1/approvals/:sessionId/decide|/v1/assistant/tasks/:id/plan_review|/v1/assistant/tasks/:id/resume|/v1/sessions/:id/wake#errorCode(\u5F15\u64CE\u62D2 checkpoint.invalid_outcome)": {
3428
+ readonly attr: "decision-cause⇒cause-code;row-own(reason)|no-cause⇒checkpoint.invalid_outcome";
3429
+ readonly since: "7.147.0";
3430
+ };
3431
+ /** 7.147.0:决断口停在续跑之前的两臂(读行臂的「体读不成检查点」、门型守卫之前判官判非 `ok`)答这一行自己的拒,码 = 判官的码(经同一只组句器);此前 `conflict.checkpoint_unreadable` / `gate_not_tool_approval`。钉同上 ②③。 */
3432
+ readonly "POST /v1/approvals/:sessionId/decide#errorCode(\u8FD9\u4E00\u884C\u81EA\u5DF1\u7684\u62D2:\u8BFB\u884C\u81C2 / \u95E8\u578B\u5B88\u536B\u4E4B\u524D)": {
3433
+ readonly attr: "rowVerdict.code+reason+retriable:true(engine-judge;before-gate)";
3434
+ readonly since: "7.147.0";
3435
+ };
3183
3436
  };
3184
3437
  };
3185
3438
  };
@@ -156,6 +156,16 @@ export const SELF_MINTED_WIRE = {
156
156
  http: { attr: "-", since: "7.141.0" },
157
157
  },
158
158
  },
159
+ settingsContractHookEntryType: {
160
+ at: "GET /v1/capabilities settingsContract.hookEntryFields",
161
+ members: {
162
+ command: { attr: "-", since: "7.147.0" },
163
+ prompt: { attr: "-", since: "7.147.0" },
164
+ agent: { attr: "-", since: "7.147.0" },
165
+ http: { attr: "-", since: "7.147.0" },
166
+ mcp_tool: { attr: "-", since: "7.147.0" },
167
+ },
168
+ },
159
169
  credentialPlaneSandboxGitState: {
160
170
  at: "GET /v1/capabilities credentialPlane.sandboxGit.state",
161
171
  members: {
@@ -248,6 +258,7 @@ export const SELF_MINTED_WIRE = {
248
258
  members: {
249
259
  http: { attr: "always within inflightBreakdown", since: "7.146.0" },
250
260
  leader: { attr: "always within inflightBreakdown", since: "7.146.0" },
261
+ backgroundAgents: { attr: "always within inflightBreakdown", since: "7.147.0" },
251
262
  sessionResident: { attr: "always within inflightBreakdown", since: "7.146.0" },
252
263
  },
253
264
  },
@@ -313,6 +324,17 @@ export const SELF_MINTED_WIRE = {
313
324
  at: "GET /v1/models models[] 行键(<键> → 在场律)",
314
325
  members: {
315
326
  supportsThinkingOff: { attr: "always", since: "7.138.0" },
327
+ thinkingLevelMap: { attr: "present-iff declared", since: "7.147.0" },
328
+ },
329
+ },
330
+ modelsRowAnthropicCompatKey: {
331
+ at: "GET /v1/models models[].compat 键(anthropic-messages 行;<键> → 在场律)",
332
+ members: {
333
+ thinkingMode: { attr: "present-iff declared", since: "7.147.0" },
334
+ effortLevels: { attr: "present-iff declared non-empty", since: "7.147.0" },
335
+ supportsTemperature: { attr: "present-iff declared", since: "7.147.0" },
336
+ contextManagement: { attr: "present-iff declared", since: "7.147.0" },
337
+ interleavedThinking: { attr: "present-iff declared", since: "7.147.0" },
316
338
  },
317
339
  },
318
340
  sessionBackgroundRowKey: {
@@ -328,12 +350,55 @@ export const SELF_MINTED_WIRE = {
328
350
  unreadable: { attr: "present-iff the session head's leaf cannot be read (the file backend: the archive header is corrupt / truncated, or the archive cannot be read); the SQL backends never carry it; PATCH answers 500 for such a session before writing, so its 200 / 409 rows never carry it", since: "7.142.0" },
329
351
  },
330
352
  },
353
+ projectRowKey: {
354
+ at: "GET /v1/projects projects[] 行键 = GET /v1/projects/:id 200 体(<键> → 在场律)",
355
+ members: {
356
+ id: { attr: "always", since: "7.147.0" },
357
+ displayName: { attr: "always", since: "7.147.0" },
358
+ goal: { attr: "present-iff registered", since: "7.147.0" },
359
+ contextItems: { attr: "present-iff registered", since: "7.147.0" },
360
+ gitRemotes: { attr: "always", since: "7.147.0" },
361
+ defaultScopes: { attr: "always", since: "7.147.0" },
362
+ notes: { attr: "present-iff registered", since: "7.147.0" },
363
+ icon: { attr: "present-iff registered", since: "7.147.0" },
364
+ color: { attr: "present-iff registered", since: "7.147.0" },
365
+ registeredBy: { attr: "always", since: "7.147.0" },
366
+ registeredAt: { attr: "always", since: "7.147.0" },
367
+ archivedAt: { attr: "present-iff archived", since: "7.147.0" },
368
+ },
369
+ },
370
+ projectsListBodyKey: {
371
+ at: "GET /v1/projects 200 体顶层键(<键> → 在场律)",
372
+ members: {
373
+ projects: { attr: "always", since: "7.147.0" },
374
+ },
375
+ },
376
+ sessionViewKey: {
377
+ at: "GET /v1/sessions/:id 体顶层键(本版新出现;<键> → 在场律)",
378
+ members: {
379
+ projectId: { attr: "present-iff the session row's last own workspace_changed frame carried a project", since: "7.147.0" },
380
+ },
381
+ },
331
382
  sessionsListRowUnreadableKey: {
332
383
  at: "GET /v1/sessions sessions[].unreadable 键(<键> → 在场律)",
333
384
  members: {
334
385
  errorCode: { attr: "always; the errorCode GET /v1/sessions/:id answers for the same session (corrupt_session | internal.error today)", since: "7.142.0" },
335
386
  },
336
387
  },
388
+ inboxPayloadTruncatedFrame: {
389
+ at: "停驻补投帧(下一次开流 drain)键(<帧>#<键> → 在场律)",
390
+ members: {
391
+ "task_notification#payloadTruncated": { attr: "present-iff the parked entry's payload exceeded the inbox byte budget (minimal form)", since: "7.147.0" },
392
+ "workflow_complete#payloadTruncated": { attr: "present-iff the parked entry's payload exceeded the inbox byte budget (minimal form)", since: "7.147.0" },
393
+ },
394
+ },
395
+ inboxPayloadTruncatedKey: {
396
+ at: "停驻补投帧 payloadTruncated 的键",
397
+ members: {
398
+ droppedKeys: { attr: "always", since: "7.147.0" },
399
+ bytes: { attr: "always", since: "7.147.0" },
400
+ },
401
+ },
337
402
  toolEndGateDispositionKey: {
338
403
  at: "tool_end gate.disposition 键(<臂>#<键> → 在场律)",
339
404
  members: {
@@ -435,12 +500,11 @@ export const SELF_MINTED_WIRE = {
435
500
  },
436
501
  },
437
502
  inheritEnvRefusalReason: {
438
- at: "400 request.field_invalid reason(inheritEnv 的值形 / 车道 / 无会话三只拒;另带 field: \"inheritEnv\")",
503
+ at: "400 request.field_invalid reason(inheritEnv 的值形 / 车道两类拒;另带 field: \"inheritEnv\")",
439
504
  members: {
440
505
  unknown_word: { attr: "-", since: "7.137.0" },
441
506
  not_a_string: { attr: "-", since: "7.137.0" },
442
507
  lane_not_host: { attr: "-", since: "7.137.0" },
443
- no_authorizer_session: { attr: "-", since: "7.137.0" },
444
508
  },
445
509
  },
446
510
  projectBundleInvalidReason: {
@@ -688,6 +752,7 @@ export const SELF_MINTED_WIRE = {
688
752
  "POST /v1/sessions/:id/fork#stamped_archive(DB_BACKEND=local;源存档仍带更早版本写下的属主戳;零写;体 conflict.session_archive_stamped + 带戳存档的固定句)": { attr: 409, since: "7.144.0" },
689
753
  "POST /v1/sessions/:id/sync/import/:stagingId/entries#stamped_archive(DB_BACKEND=local;提交落在仍带属主戳的存档上,改日志的各形推送同答;行净零写;体 conflict.session_archive_stamped + 带戳存档的固定句)": { attr: 409, since: "7.144.0" },
690
754
  "POST /v1/sessions/:id/sync/import#stamped_archive(DB_BACKEND=local;第一阶段按 id 分类出 fork / stale 且没带同意,目的端存档仍带属主戳;不开暂存、不拿租约、不写存档;体 conflict.session_archive_stamped + 带戳存档的固定句,不带 relation)": { attr: 409, since: "7.145.0" },
755
+ "POST /v1/sessions/:id/sync/plan#stamped_archive(DB_BACKEND=local;干跑按 id 分类出 fork / stale,目的端存档仍带属主戳;此刻读,不开暂存、不拿租约、不写存档;体 conflict.session_archive_stamped + 带戳存档的固定句,不带 relation)": { attr: 409, since: "7.147.0" },
691
756
  "POST /v1/tasks|/v1/tasks/stream|/v1/runs#images_url_credential(新提交;体 request.field_invalid + field images[i].url + reason url_userinfo|url_credential_param)": { attr: 400, since: "7.136.0" },
692
757
  "POST /v1/tasks|/v1/tasks/stream|/v1/runs#a2aPeers_malformed(新提交;列表不是数组 / 条目不是对象 / 键值判不出形;体 request.field_invalid)": { attr: 400, since: "7.136.0" },
693
758
  "POST /v1/tasks|/v1/tasks/stream|/v1/runs#a2aPeers_unknown_key(新提交;词表外的键;体 request.body_shape + unknownKeys)": { attr: 400, since: "7.136.0" },
@@ -745,11 +810,18 @@ export const SELF_MINTED_WIRE = {
745
810
  "GET /v1/capabilities/mcp#engine_name_collision(中心声明两台归一后同挂一个工具命名空间前缀,引擎在任何传输被触碰之前整集拒;体 config.mcp_server_name_collision + 引擎原句;与同步提交腿同一张码 → 状态表)": { attr: 409, since: "7.143.0" },
746
811
  "POST /v1/tasks#engine_name_collision(同步腿;同一份声明集被引擎整集拒;零工作的拒;体 config.mcp_server_name_collision)": { attr: 409, since: "7.143.0" },
747
812
  "POST /v1/rules/local-import/prepare#tightening_write_failed(一条收下的 deny / ask 写不进店;这一批的放行扣下、没有票;体 state.rule_write_failed + committed,同 POST /v1/rules)": { attr: 503, since: "7.143.0" },
813
+ "POST /v1/rules/cc-import/prepare|POST /v1/rules/local-import/prepare#record_store_refused(审批记录店建这次导入的记录失败,引擎答店拒臂;没有票、没有放行落店 —— local-import 这一批收下的 deny / ask 可能已当场落店;体 state.rule_write_failed + committed;重发同一请求即重铸)": { attr: 503, since: "7.147.0" },
748
814
  "POST /v1/rules/cc-import/redeem#member_refused(兑付走完、引擎的完整成员表里有被拒的成员;体 = 回执 { members, rev },那几行 outcome refused(引擎答 committed no;7.145.0 为 indeterminate + store_refused)+ reason = 引擎拒因码(RuleRefusalCode)+ detail 引擎原话;票用掉,同票再兑 404)": { attr: 200, since: "7.145.0" },
749
815
  "POST /v1/rules/cc-import/redeem|POST /v1/rules/local-import/redeem#member_outcome_unknown(兑付走完、引擎的完整成员表里有一员答 committed unknown:写抛 / 读回读不出 / 记 dot 的 CAS 或 dot 分配失败;不落定,认领放回;体 state.rule_import_retry + retryAfterSec;同票重来即重走)": { attr: 503, since: "7.146.0" },
750
816
  "POST /v1/tasks|/v1/tasks/stream|/v1/runs#settings.env 带凭据条目(名字是本引擎的凭据变量 / 值是秘密形;新提交;体 request.env_credential_refused + field settings.env + entries[{ key, match }],值不回显)": { attr: 400, since: "7.146.0" },
751
817
  "POST /v1/tasks|/v1/tasks/stream|/v1/runs#sessionId 是本进程删过的会话 id、根会话行上的住客不是删前属主(新提交;授权口登记之后、执行上下文解析器步 ①;体 conflict.session_id_retired,不回显 id / 属主)": { attr: 409, since: "7.146.0" },
752
818
  "POST /v1/approvals/:sessionId/decide|/v1/sessions/:id/wake|/v1/assistant/tasks/:id/resume|/v1/assistant/tasks/:id/plan_review#根会话 id 是本进程删过的会话 id、行上的住客不是删前属主(续跑家族 / 停驻赎回 / 工作流决断后的宿主新轮;认领之前,卡仍待决;体 resume_blocked_by_policy + blockedBy conflict.session_id_retired + retriable)": { attr: 409, since: "7.146.0" },
819
+ "POST /v1/tasks|/v1/tasks/stream|/v1/runs#scenario_assignment_unavailable(新提交;部署接了配置中心、请求带主体,而中心答不出这位主体的场景裁定:不可达 / 超时 / 答复读不出 / 指派两键形不对或只发一键;点名与不点名同拒;零 run;体 state.scenario_assignment_unavailable + permanence: transient,无 detail)": { attr: 503, since: "7.147.0" },
820
+ "GET /v1/capabilities/mcp|/v1/sessions/:id/a2a#scenario_assignment_unavailable(与提交腿同一只场景门;缺席与点名的场景名同拒;整面;体同上)": { attr: 503, since: "7.147.0" },
821
+ "POST /v1/approvals/:sessionId/decide|/v1/sessions/:id/wake|/v1/assistant/tasks/:id/resume|/v1/assistant/tasks/:id/plan_review#scenario_assignment_unavailable(续跑家族经装配的那几条;认领之前,卡仍待决;不折 resume_blocked_by_policy;体 state.scenario_assignment_unavailable + permanence: transient + retriable)": { attr: 503, since: "7.147.0" },
822
+ "POST /v1/tasks|/v1/tasks/stream|/v1/runs#settings.env 有成员不是帽内的串(新提交;只在采纳 env 的车道上:单用户 host / device,或采纳请求体 hooks 且请求带着 hooks;零 run;体 request.field_invalid + field settings.env,句子点名坐标、不回显值)": { attr: 400, since: "7.147.0" },
823
+ "POST /v1/approvals/:sessionId/decide|/v1/sessions/:id/wake|/v1/assistant/tasks/:id/resume|/v1/assistant/tasks/:id/plan_review#stored_unread_members(续跑将要跑的那一份体 —— 存量体,重述键在场时盖过重述之后 —— 里有本版读者读不出、而本部署本会采纳的成员:settings.hooks / settings.env / 其余 settings 延后键 / mcpServers[i].transport / a2aPeers[i].headers;认领之前,卡仍待决;体 resume_blocked_by_policy + blockedBy request.field_invalid + field + retriable)": { attr: 409, since: "7.147.0" },
824
+ "POST /v1/runs/:id/steer#stored_unread_members(run 已终态、铸唤醒卡之前;同一只判;不铸卡;体 resume_blocked_by_policy + blockedBy request.field_invalid + field,不带 retriable)": { attr: 409, since: "7.147.0" },
753
825
  },
754
826
  },
755
827
  ruleImportReceiptKey: {
@@ -816,6 +888,18 @@ export const SELF_MINTED_WIRE = {
816
888
  "409 conflict.session_memory_unobserved#reason": { 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", since: "7.143.0" },
817
889
  },
818
890
  },
891
+ sessionRewindFilesWire: {
892
+ at: "POST /v1/sessions/:id/rewind-files(<面>#<键> → 读法 / 在场律)",
893
+ members: {
894
+ "body#to": { attr: "required;a rewind handle this server minted (a prompt's taskId or a message's eventId), 1..255 chars;translated by the same anchor reader as the submit body's rewindFilesTo;unknown ⇒ 404 rewind_files_to.unknown_event", since: "7.147.0" },
895
+ "body#dryRun": { attr: "optional boolean;true ⇒ preview only, no file written;any other key ⇒ 400 request.body_shape", since: "7.147.0" },
896
+ "body#acceptPartialRestore": { attr: "not accepted ⇒ 400 request.body_shape (the engine's out-of-run rewind has no partial-restore policy; a partial restore answers 200 with restore.outcome partial)", since: "7.147.0" },
897
+ "200#dryRun": { attr: "always;the engine RewindFilesResult discriminant verbatim", since: "7.147.0" },
898
+ "200#preview": { attr: "present-iff dryRun true;engine FileHistoryDiffStats verbatim, or null when the store gives no stats (null is not zero stats)", since: "7.147.0" },
899
+ "200#restore": { attr: "present-iff dryRun false;engine restore ledger (outcome complete | partial, filesChanged, identicalSkipped, refused[], failed[], modeNotPreserved?, error?), path and reason leaves redacted;error = { errorCode, message, permanence? } (the engine member code is spelled errorCode on the wire)", since: "7.147.0" },
900
+ "409 conflict.session_active_run#activeTaskId": { attr: "always on this face;the run holding the session's durable claim (the message names it too)", since: "7.147.0" },
901
+ },
902
+ },
819
903
  adoptionImportOutcome: {
820
904
  at: "POST /v1/adoption/:id/sessions 200 results[].outcome",
821
905
  members: {
@@ -913,6 +997,8 @@ export const SELF_MINTED_WIRE = {
913
997
  "409 conflict.session_memory_unobserved#run_result_missing|run_result_unobserved": { 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", since: "7.143.0" },
914
998
  "409 conflict.session_memory_unobserved#memory_not_mounted": { 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", since: "7.143.0" },
915
999
  "409 conflict.session_memory_unobserved#no_leaf": { attr: "this session has no transcript yet, so there is no revision to sync from — run a task in it (…), then sync", since: "7.143.0" },
1000
+ "400 request.field_invalid#unread_request_members(新提交:settings.env 有成员不是帽内的串;嵌入方直调装配时四座同句)": { attr: "this request carries a member|members this server version's readers cannot take as written, on a deployment that would apply it|them: <坐标,至多 8 处>[ (and <n> more)] — running it would silently leave that member|those members out (a hook that guards a tool, an MCP server's credentials); submit it again with this member|these members in the current form", since: "7.147.0" },
1001
+ "409 resume_blocked_by_policy#unread_members(续跑四门 · steer 铸唤醒卡之前)": { attr: "resume blocked by an admission policy change: <同上一句>", since: "7.147.0" },
916
1002
  },
917
1003
  },
918
1004
  decisionBodyKey: {
@@ -1071,6 +1157,8 @@ export const SELF_MINTED_WIRE = {
1071
1157
  "SSE text_delta#delta(文字段的状态跨文字块)": { attr: "segment-scoped-redactor-state;text_end=block-delivery-not-segment-close;block-end-as-ended-vs-whole-differs=live-as-ended+ledger-whole+hold-diverged+1", since: "7.144.0" },
1072
1158
  "SSE text_end#content(接在同段前缀之后判)": { attr: "engine-block-content;judged-after-segment-prefix", since: "7.144.0" },
1073
1159
  "GET /v1/runs/:id/events#text.text(段文本含只有 text_end 的块)": { attr: "segment-text=block-texts-concat;end-only-block=text_end.content", since: "7.144.0" },
1160
+ "POST /v1/approvals/:sessionId/decide|/v1/assistant/tasks/:id/plan_review|/v1/assistant/tasks/:id/resume|/v1/sessions/:id/wake#errorCode(引擎拒 checkpoint.invalid_outcome)": { attr: "decision-cause⇒cause-code;row-own(reason)|no-cause⇒checkpoint.invalid_outcome", since: "7.147.0" },
1161
+ "POST /v1/approvals/:sessionId/decide#errorCode(这一行自己的拒:读行臂 / 门型守卫之前)": { attr: "rowVerdict.code+reason+retriable:true(engine-judge;before-gate)", since: "7.147.0" },
1074
1162
  },
1075
1163
  },
1076
1164
  };