@sema-agent/server 7.147.0 → 7.149.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 (790) hide show
  1. package/MIGRATION.md +1468 -24
  2. package/README.md +35 -7
  3. package/README.zh-CN.md +18 -8
  4. package/USAGE.md +444 -193
  5. package/deploy/sema-up/README.md +16 -5
  6. package/deploy/sema-up/chart/templates/NOTES.txt +1 -1
  7. package/deploy/sema-up/chart/templates/_helpers.tpl +20 -4
  8. package/deploy/sema-up/chart/values.yaml +3 -2
  9. package/deploy/sema-up/cluster-up.sh +74 -176
  10. package/deploy/sema-up/kube-up.sh +29 -49
  11. package/deploy/sema-up/lib/chart-run.sh +23 -0
  12. package/deploy/sema-up/lib/dataroot.sh +3 -3
  13. package/deploy/sema-up/lib/health.sh +62 -13
  14. package/deploy/sema-up/lib/helm-values-cluster.py +18 -0
  15. package/deploy/sema-up/lib/helm-values-kube.py +35 -0
  16. package/deploy/sema-up/lib/regcred.py +8 -0
  17. package/deploy/sema-up/lib/remote/helm-install.sh +3 -0
  18. package/deploy/sema-up/lib/remote/image-import.sh +6 -0
  19. package/deploy/sema-up/lib/remote/machine-precheck.sh +11 -0
  20. package/deploy/sema-up/lib/remote/region-probe.sh +3 -0
  21. package/deploy/sema-up/lib/remote/stack-ready.sh +26 -0
  22. package/deploy/sema-up/lib/remote/vxlan-guard.sh +8 -0
  23. package/deploy/sema-up/lib/render-stack.py +17 -0
  24. package/deploy/sema-up/lib/shell-text.sh +87 -0
  25. package/deploy/sema-up/lib/usage-flags.txt +10 -0
  26. package/deploy/sema-up/lib/usage-head.txt +1 -0
  27. package/deploy/sema-up/lib/usage-tail.txt +13 -0
  28. package/deploy/sema-up/preflight.sh +10 -8
  29. package/deploy/sema-up/sema-up.sh +14 -39
  30. package/deploy/sema-up/smoke.sh +7 -6
  31. package/deploy/sema-up/stack/compose.dataroot.yaml +3 -0
  32. package/deploy/sema-up/stack/compose.yaml +13 -1
  33. package/deploy/sema-up/stack/sema-stack-cluster.yaml +21 -0
  34. package/dist/adoption/plan.d.ts +24 -0
  35. package/dist/adoption/plan.js +53 -1
  36. package/dist/adoption/runner.d.ts +10 -1
  37. package/dist/adoption/runner.js +36 -16
  38. package/dist/approval-card.d.ts +36 -38
  39. package/dist/approval-gate-currency.js +3 -2
  40. package/dist/approval-leg-origin.d.ts +33 -0
  41. package/dist/approval-leg-origin.js +4 -0
  42. package/dist/approval-reconciler.d.ts +4 -13
  43. package/dist/approval-reconciler.js +2 -2
  44. package/dist/approval.d.ts +13 -11
  45. package/dist/approval.js +3 -3
  46. package/dist/audit.d.ts +10 -3
  47. package/dist/audit.js +15 -7
  48. package/dist/auth-bridge.d.ts +9 -15
  49. package/dist/auth-bridge.js +4 -11
  50. package/dist/auth-keys.d.ts +10 -1
  51. package/dist/auth-keys.js +8 -0
  52. package/dist/auto-mode-face.d.ts +10 -7
  53. package/dist/auto-mode-face.js +7 -4
  54. package/dist/background-agent-name.d.ts +19 -1
  55. package/dist/background-agent-name.js +12 -2
  56. package/dist/background-session-reap.d.ts +1 -1
  57. package/dist/bake-runner/main.js +9 -6
  58. package/dist/bench/s1/arms.js +6 -5
  59. package/dist/bench/s1/live-deps.js +5 -2
  60. package/dist/bench/s1/run-firm.js +6 -5
  61. package/dist/bind-host.d.ts +25 -0
  62. package/dist/bind-host.js +25 -0
  63. package/dist/boot/adoption.d.ts +3 -0
  64. package/dist/boot/adoption.js +1 -0
  65. package/dist/boot/deployment-mods.d.ts +1 -1
  66. package/dist/boot/execution-env.d.ts +17 -7
  67. package/dist/boot/execution-env.js +47 -42
  68. package/dist/boot/execution-lane.d.ts +6 -4
  69. package/dist/boot/execution-lane.js +3 -1
  70. package/dist/boot/exit-boundary.d.ts +2 -2
  71. package/dist/boot/exit-boundary.js +6 -5
  72. package/dist/boot/fatal-exit.d.ts +3 -5
  73. package/dist/boot/fatal-exit.js +2 -2
  74. package/dist/boot/leader.d.ts +15 -0
  75. package/dist/boot/leader.js +17 -15
  76. package/dist/boot/memory-consolidation.d.ts +37 -29
  77. package/dist/boot/memory-consolidation.js +11 -5
  78. package/dist/boot/org-delivery.d.ts +3 -2
  79. package/dist/boot/org-memory.js +1 -1
  80. package/dist/boot/parked-revive-gate.js +2 -2
  81. package/dist/boot/reapers.d.ts +4 -3
  82. package/dist/boot/reapers.js +19 -16
  83. package/dist/boot/resolve-spec.d.ts +5 -3
  84. package/dist/boot/resolve-spec.js +60 -70
  85. package/dist/boot/retention-lane.d.ts +4 -4
  86. package/dist/boot/retention-lane.js +2 -2
  87. package/dist/boot/runner-deps.d.ts +28 -7
  88. package/dist/boot/runner-deps.js +14 -5
  89. package/dist/boot/runtime-caps.d.ts +2 -2
  90. package/dist/boot/runtime-caps.js +16 -2
  91. package/dist/boot/session-faces.d.ts +16 -7
  92. package/dist/boot/session-faces.js +114 -94
  93. package/dist/boot/shutdown.d.ts +5 -4
  94. package/dist/boot/shutdown.js +6 -4
  95. package/dist/boot/stage-01-config.d.ts +1 -0
  96. package/dist/boot/stage-01-config.js +13 -4
  97. package/dist/boot/stage-02-web-admin-pull.d.ts +2 -0
  98. package/dist/boot/stage-02-web-admin-pull.js +16 -3
  99. package/dist/boot/stage-03-store-backend.d.ts +4 -0
  100. package/dist/boot/stage-03-store-backend.js +4 -3
  101. package/dist/boot/stage-04-stores.d.ts +3 -0
  102. package/dist/boot/stage-04-stores.js +2 -2
  103. package/dist/boot/stage-05-execution-env.d.ts +8 -3
  104. package/dist/boot/stage-05-execution-env.js +2 -2
  105. package/dist/boot/stage-06-runners.d.ts +12 -13
  106. package/dist/boot/stage-06-runners.js +23 -15
  107. package/dist/boot/stage-07-capability-layer.d.ts +13 -9
  108. package/dist/boot/stage-07-capability-layer.js +5 -3
  109. package/dist/boot/stage-08-reapers.d.ts +13 -9
  110. package/dist/boot/stage-08-reapers.js +3 -3
  111. package/dist/boot/stage-09-leader.d.ts +14 -16
  112. package/dist/boot/stage-09-leader.js +12 -4
  113. package/dist/boot/stage-10-http-server.d.ts +14 -16
  114. package/dist/boot/stage-10-http-server.js +7 -4
  115. package/dist/boot/store-evidence.d.ts +20 -0
  116. package/dist/boot/store-evidence.js +13 -0
  117. package/dist/boot/stores.d.ts +6 -0
  118. package/dist/boot/stores.js +41 -27
  119. package/dist/boot/task-list-lane.d.ts +4 -4
  120. package/dist/boot/web-admin.d.ts +4 -2
  121. package/dist/boot/web-admin.js +55 -35
  122. package/dist/boot/webfetch-summarize-lane.d.ts +1 -1
  123. package/dist/boot-reclaim.d.ts +3 -1
  124. package/dist/boot-reclaim.js +1 -1
  125. package/dist/brain.d.ts +7 -18
  126. package/dist/brain.js +5 -17
  127. package/dist/budget.js +6 -6
  128. package/dist/capabilities/center-plugins.d.ts +7 -1
  129. package/dist/capabilities/center-plugins.js +32 -10
  130. package/dist/capabilities/center-wiring.js +1 -1
  131. package/dist/capabilities/composite-members.d.ts +2 -2
  132. package/dist/capabilities/composite-members.js +2 -2
  133. package/dist/capabilities/repo-tools.d.ts +2 -0
  134. package/dist/capabilities/repo-tools.js +14 -12
  135. package/dist/capabilities/scenarios.d.ts +6 -15
  136. package/dist/capabilities/scenarios.js +11 -16
  137. package/dist/capabilities/skills.d.ts +1 -1
  138. package/dist/capabilities/tool-defer.d.ts +1 -1
  139. package/dist/capability-facts.d.ts +39 -11
  140. package/dist/capability-facts.js +35 -7
  141. package/dist/card-settle-stored-scope.d.ts +56 -0
  142. package/dist/card-settle-stored-scope.js +27 -0
  143. package/dist/card-void.d.ts +8 -13
  144. package/dist/card-void.js +2 -7
  145. package/dist/center-credential-renewer.d.ts +6 -2
  146. package/dist/center-credential-renewer.js +7 -3
  147. package/dist/config-catalog.d.ts +28 -1
  148. package/dist/config-catalog.js +95 -85
  149. package/dist/config-dir-trust.d.ts +37 -4
  150. package/dist/config-dir-trust.js +88 -44
  151. package/dist/config-invariants.d.ts +43 -3
  152. package/dist/config-invariants.js +69 -5
  153. package/dist/config-lkg.d.ts +23 -1
  154. package/dist/config-lkg.js +17 -3
  155. package/dist/config-provider.d.ts +9 -9
  156. package/dist/config-provider.js +25 -110
  157. package/dist/config-pull-failure.d.ts +50 -0
  158. package/dist/config-pull-failure.js +48 -0
  159. package/dist/config-types.d.ts +62 -21
  160. package/dist/config.d.ts +14 -21
  161. package/dist/config.js +141 -64
  162. package/dist/context-window-notice.d.ts +31 -0
  163. package/dist/context-window-notice.js +28 -0
  164. package/dist/delegated-session-owner.d.ts +1 -1
  165. package/dist/deleted-session-ids.d.ts +3 -2
  166. package/dist/deployment-governance.d.ts +3 -3
  167. package/dist/deployment-shape.d.ts +46 -11
  168. package/dist/deployment-shape.js +8 -0
  169. package/dist/egress-redirect.d.ts +25 -7
  170. package/dist/egress-redirect.js +20 -2
  171. package/dist/elicitation.d.ts +6 -5
  172. package/dist/elicitation.js +23 -22
  173. package/dist/engine-identity.d.ts +28 -0
  174. package/dist/engine-identity.js +10 -0
  175. package/dist/entry-problems.d.ts +5 -7
  176. package/dist/entry-problems.js +1 -1
  177. package/dist/env-facts.js +2 -1
  178. package/dist/env-name-allowlist-knobs.d.ts +6 -5
  179. package/dist/env-name-allowlist-knobs.js +5 -0
  180. package/dist/env-witness.d.ts +7 -0
  181. package/dist/env-witness.js +16 -0
  182. package/dist/execution-lane-caps.d.ts +25 -23
  183. package/dist/execution-lane-caps.js +18 -26
  184. package/dist/execution-placement.d.ts +58 -18
  185. package/dist/execution-placement.js +41 -2
  186. package/dist/field-conflict.d.ts +7 -11
  187. package/dist/field-conflict.js +3 -3
  188. package/dist/file-history-capture.d.ts +3 -3
  189. package/dist/file-history-disclosure.js +1 -0
  190. package/dist/fleet/fleet-bus.d.ts +21 -3
  191. package/dist/fleet/fleet-bus.js +35 -25
  192. package/dist/fleet/fleet-reconciler.js +2 -2
  193. package/dist/fleet/serving-lease.js +3 -3
  194. package/dist/fleet-client.js +3 -3
  195. package/dist/fleet-lease.d.ts +0 -1
  196. package/dist/fleet-lease.js +4 -5
  197. package/dist/history-anchor.d.ts +23 -3
  198. package/dist/history-anchor.js +24 -4
  199. package/dist/hitl-delivery.d.ts +90 -0
  200. package/dist/hitl-delivery.js +98 -0
  201. package/dist/hooks/classic-stations.d.ts +8 -11
  202. package/dist/hooks/classic-stations.js +0 -7
  203. package/dist/hooks/command-spawn.d.ts +7 -2
  204. package/dist/hooks/command-spawn.js +13 -6
  205. package/dist/hooks/hook-llm.d.ts +5 -1
  206. package/dist/hooks/hook-llm.js +24 -15
  207. package/dist/hooks/hook-runner.d.ts +72 -57
  208. package/dist/hooks/hook-runner.js +271 -193
  209. package/dist/host-lsp-manager.d.ts +22 -8
  210. package/dist/host-lsp-manager.js +4 -1
  211. package/dist/http/active-run-conflict.d.ts +2 -43
  212. package/dist/http/active-run-conflict.js +3 -7
  213. package/dist/http/admission.d.ts +4 -18
  214. package/dist/http/admission.js +76 -79
  215. package/dist/http/approval-sweeps.d.ts +3 -3
  216. package/dist/http/approval-sweeps.js +56 -31
  217. package/dist/http/caller-trust.d.ts +8 -10
  218. package/dist/http/caller-trust.js +1 -2
  219. package/dist/http/claim-heartbeat.d.ts +49 -0
  220. package/dist/http/claim-heartbeat.js +46 -0
  221. package/dist/http/claimed-run.d.ts +16 -8
  222. package/dist/http/claimed-run.js +8 -0
  223. package/dist/http/dispatch.d.ts +8 -1
  224. package/dist/http/dispatch.js +78 -30
  225. package/dist/http/durable-run-leg.d.ts +11 -4
  226. package/dist/http/durable-run-leg.js +45 -21
  227. package/dist/http/execution-context.d.ts +122 -47
  228. package/dist/http/execution-context.js +135 -43
  229. package/dist/http/health-reader.d.ts +36 -0
  230. package/dist/http/health-reader.js +21 -0
  231. package/dist/http/health-self-report.d.ts +9 -9
  232. package/dist/http/health-self-report.js +4 -4
  233. package/dist/http/idempotency.d.ts +9 -5
  234. package/dist/http/idempotency.js +4 -4
  235. package/dist/http/memory-compliance-failure-reply.d.ts +15 -16
  236. package/dist/http/memory-compliance-failure-reply.js +4 -2
  237. package/dist/http/memory-face-fault-reply.d.ts +67 -0
  238. package/dist/http/memory-face-fault-reply.js +71 -0
  239. package/dist/http/memory-store-refusal-reply.d.ts +1 -1
  240. package/dist/http/memory-store-refusal-reply.js +3 -0
  241. package/dist/http/owner-access.d.ts +392 -67
  242. package/dist/http/owner-access.js +370 -35
  243. package/dist/http/principal-gate.d.ts +39 -89
  244. package/dist/http/principal-gate.js +26 -68
  245. package/dist/http/refusal-body.d.ts +35 -2
  246. package/dist/http/refusal-body.js +34 -0
  247. package/dist/http/request-guards.d.ts +9 -13
  248. package/dist/http/request-guards.js +34 -68
  249. package/dist/http/resume-composition.d.ts +37 -0
  250. package/dist/http/resume-composition.js +18 -0
  251. package/dist/http/resume-ctx-read.d.ts +46 -12
  252. package/dist/http/resume-ctx-read.js +31 -6
  253. package/dist/http/resume-legs.d.ts +54 -19
  254. package/dist/http/resume-legs.js +408 -196
  255. package/dist/http/retired-skill-manifest.d.ts +1 -1
  256. package/dist/http/route-ctx.d.ts +31 -32
  257. package/dist/http/routes/a2a-serve.d.ts +43 -5
  258. package/dist/http/routes/a2a-serve.js +60 -37
  259. package/dist/http/routes/admin-config-refresh.js +2 -2
  260. package/dist/http/routes/admin-drain.js +2 -2
  261. package/dist/http/routes/admin-memory-optout.js +4 -3
  262. package/dist/http/routes/adoption.d.ts +3 -0
  263. package/dist/http/routes/adoption.js +17 -10
  264. package/dist/http/routes/agents-roster.js +13 -7
  265. package/dist/http/routes/approvals-assistant.js +73 -67
  266. package/dist/http/routes/attachments.js +2 -2
  267. package/dist/http/routes/background.d.ts +3 -3
  268. package/dist/http/routes/background.js +9 -17
  269. package/dist/http/routes/capabilities.js +16 -19
  270. package/dist/http/routes/config-catalog.js +2 -2
  271. package/dist/http/routes/devices.d.ts +3 -3
  272. package/dist/http/routes/devices.js +4 -4
  273. package/dist/http/routes/diagnostics.d.ts +29 -3
  274. package/dist/http/routes/diagnostics.js +49 -18
  275. package/dist/http/routes/engine.js +2 -2
  276. package/dist/http/routes/fleet.js +5 -3
  277. package/dist/http/routes/images.js +10 -6
  278. package/dist/http/routes/leader.d.ts +7 -2
  279. package/dist/http/routes/leader.js +12 -3
  280. package/dist/http/routes/mcp-reconnect.d.ts +1 -1
  281. package/dist/http/routes/mcp-reconnect.js +7 -15
  282. package/dist/http/routes/memory-bundle.js +4 -7
  283. package/dist/http/routes/memory-compliance.js +4 -4
  284. package/dist/http/routes/memory-consolidation.js +6 -9
  285. package/dist/http/routes/memory-origin.d.ts +2 -0
  286. package/dist/http/routes/memory-origin.js +7 -8
  287. package/dist/http/routes/memory-policy.js +17 -12
  288. package/dist/http/routes/notify-wake.js +10 -19
  289. package/dist/http/routes/observability.js +3 -3
  290. package/dist/http/routes/principal-inbox.d.ts +4 -2
  291. package/dist/http/routes/principal-inbox.js +5 -4
  292. package/dist/http/routes/projects.d.ts +1 -1
  293. package/dist/http/routes/projects.js +3 -2
  294. package/dist/http/routes/retention-ops.js +6 -9
  295. package/dist/http/routes/rules.js +20 -5
  296. package/dist/http/routes/run-memory-capture.d.ts +2 -2
  297. package/dist/http/routes/run-memory-capture.js +6 -12
  298. package/dist/http/routes/run-permission-mode.d.ts +2 -2
  299. package/dist/http/routes/run-permission-mode.js +10 -17
  300. package/dist/http/routes/runs.js +155 -237
  301. package/dist/http/routes/session-memory-sync.d.ts +2 -2
  302. package/dist/http/routes/session-memory-sync.js +7 -13
  303. package/dist/http/routes/session-sync.d.ts +28 -7
  304. package/dist/http/routes/session-sync.js +63 -50
  305. package/dist/http/routes/sessions-list.d.ts +3 -3
  306. package/dist/http/routes/sessions-list.js +9 -9
  307. package/dist/http/routes/sessions.js +87 -124
  308. package/dist/http/routes/shared-memory.js +6 -6
  309. package/dist/http/routes/side-query.js +2 -2
  310. package/dist/http/routes/tasks.js +237 -187
  311. package/dist/http/routes/trace-usage.d.ts +0 -12
  312. package/dist/http/routes/trace-usage.js +40 -46
  313. package/dist/http/routes/workflows.d.ts +39 -4
  314. package/dist/http/routes/workflows.js +42 -14
  315. package/dist/http/run-concurrency-cap.d.ts +20 -12
  316. package/dist/http/run-concurrency-cap.js +39 -26
  317. package/dist/http/run-read-face.d.ts +3 -5
  318. package/dist/http/run-read-face.js +8 -13
  319. package/dist/http/send.d.ts +12 -3
  320. package/dist/http/send.js +42 -6
  321. package/dist/http/server.d.ts +43 -45
  322. package/dist/http/server.js +61 -11
  323. package/dist/http/sse-log.d.ts +17 -10
  324. package/dist/http/sse-log.js +7 -7
  325. package/dist/http/stored-body-replay.d.ts +12 -0
  326. package/dist/http/stored-body-replay.js +2 -2
  327. package/dist/http/submit-ctx.d.ts +17 -8
  328. package/dist/http/submit-ctx.js +8 -5
  329. package/dist/http/submit-replay.d.ts +19 -6
  330. package/dist/http/submit-replay.js +18 -6
  331. package/dist/http/sync-submit-body.d.ts +3 -4
  332. package/dist/http/sync-submit-body.js +4 -5
  333. package/dist/http/wire-types.d.ts +4 -3
  334. package/dist/identity-source.d.ts +36 -5
  335. package/dist/identity-source.js +27 -0
  336. package/dist/index.d.ts +4 -1
  337. package/dist/index.js +2 -0
  338. package/dist/key-resolver.d.ts +32 -0
  339. package/dist/key-resolver.js +23 -9
  340. package/dist/leader/diffup.js +2 -1
  341. package/dist/leader/endpoint.d.ts +26 -5
  342. package/dist/leader/endpoint.js +154 -14
  343. package/dist/leader/fanout.d.ts +3 -0
  344. package/dist/leader/fanout.js +78 -63
  345. package/dist/leader/leader.d.ts +16 -0
  346. package/dist/leader/leader.js +43 -3
  347. package/dist/leader/merge.d.ts +9 -1
  348. package/dist/leader/merge.js +16 -1
  349. package/dist/leader/repair-wire.js +1 -1
  350. package/dist/leader/wire.d.ts +36 -3
  351. package/dist/leader/wire.js +59 -18
  352. package/dist/leg-facts.d.ts +7 -2
  353. package/dist/leg-facts.js +1 -0
  354. package/dist/local-store-declaration.d.ts +54 -0
  355. package/dist/local-store-declaration.js +59 -0
  356. package/dist/lsp-evict.d.ts +6 -4
  357. package/dist/lsp-evict.js +2 -3
  358. package/dist/mcp-assertion-header.d.ts +1 -1
  359. package/dist/mcp-assertion-header.js +1 -1
  360. package/dist/memory-operator-faces.d.ts +5 -4
  361. package/dist/memory-operator-faces.js +1 -1
  362. package/dist/memory-project-layer.js +1 -1
  363. package/dist/memory-scope.d.ts +33 -6
  364. package/dist/memory-scope.js +68 -19
  365. package/dist/memory-store-refusal.d.ts +5 -2
  366. package/dist/memory-sync-client.d.ts +3 -2
  367. package/dist/memory-sync-client.js +8 -5
  368. package/dist/model-compat.d.ts +17 -8
  369. package/dist/model-compat.js +6 -2
  370. package/dist/model-context-window.d.ts +57 -0
  371. package/dist/model-context-window.js +21 -0
  372. package/dist/model-entry-headers.d.ts +46 -4
  373. package/dist/model-entry-headers.js +2 -2
  374. package/dist/model-entry-refusal.d.ts +40 -20
  375. package/dist/model-entry-refusal.js +57 -30
  376. package/dist/model-plane-face.d.ts +19 -11
  377. package/dist/model-plane-face.js +9 -1
  378. package/dist/model-plane-probe.d.ts +2 -0
  379. package/dist/model-plane-probe.js +17 -0
  380. package/dist/model-provider.d.ts +3 -3
  381. package/dist/model-reach-scope.d.ts +2 -1
  382. package/dist/model-route-endpoint.d.ts +9 -5
  383. package/dist/model-route-endpoint.js +29 -7
  384. package/dist/model-select.d.ts +16 -0
  385. package/dist/model-select.js +4 -0
  386. package/dist/mountinfo.d.ts +37 -0
  387. package/dist/mountinfo.js +47 -0
  388. package/dist/namespaced-rule-name.d.ts +23 -14
  389. package/dist/namespaced-rule-name.js +8 -11
  390. package/dist/net-address.d.ts +1 -1
  391. package/dist/observability/corrupt-read-seat.d.ts +4 -4
  392. package/dist/observability/corrupt-read-seat.js +5 -3
  393. package/dist/observability/fail-open.d.ts +72 -40
  394. package/dist/observability/fail-open.js +74 -40
  395. package/dist/observability/logger.d.ts +22 -1
  396. package/dist/observability/logger.js +89 -12
  397. package/dist/observability/metrics.js +4 -5
  398. package/dist/observability/otel-exporter.js +2 -1
  399. package/dist/observability/principal-context.d.ts +14 -7
  400. package/dist/observability/principal-context.js +8 -3
  401. package/dist/observability/run-terminal.d.ts +7 -1
  402. package/dist/observability/run-terminal.js +6 -2
  403. package/dist/observability/secret-env-scrub.d.ts +1 -1
  404. package/dist/observability/secret-env-scrub.js +1 -1
  405. package/dist/orchestration/hardened-vm-runner.d.ts +1 -0
  406. package/dist/orchestration/hardened-vm-runner.js +11 -5
  407. package/dist/orchestration/hardened-vm-worker-runner.d.ts +0 -14
  408. package/dist/orchestration/hardened-vm-worker-runner.js +5 -0
  409. package/dist/orchestration/hardened-vm-worker.js +2 -1
  410. package/dist/orchestration/workflow-completion-inbox.d.ts +3 -3
  411. package/dist/orchestration/workflow-completion-inbox.js +3 -2
  412. package/dist/org-delivery-gate.d.ts +36 -10
  413. package/dist/org-delivery-gate.js +12 -8
  414. package/dist/outbound-dispatcher.d.ts +1 -1
  415. package/dist/outbound-dispatcher.js +6 -12
  416. package/dist/owner-brands.d.ts +81 -0
  417. package/dist/owner-brands.js +42 -0
  418. package/dist/owner-faces.d.ts +532 -0
  419. package/dist/owner-faces.js +126 -0
  420. package/dist/park-row-commit.d.ts +67 -0
  421. package/dist/park-row-commit.js +76 -0
  422. package/dist/parked-decide.d.ts +76 -12
  423. package/dist/parked-decide.js +152 -11
  424. package/dist/parked-revive-surface.d.ts +14 -4
  425. package/dist/parked-revive-surface.js +5 -4
  426. package/dist/peer-directory.d.ts +7 -9
  427. package/dist/peer-directory.js +3 -2
  428. package/dist/permission-rule-vocab.d.ts +53 -8
  429. package/dist/permission-rule-vocab.js +30 -2
  430. package/dist/plugins/adoption-log-sql.d.ts +3 -25
  431. package/dist/plugins/adoption-log-sql.js +23 -21
  432. package/dist/plugins/approval-ask-retired-delete-by-task-m50.d.ts +7 -0
  433. package/dist/plugins/approval-ask-retired-delete-by-task-m50.js +17 -0
  434. package/dist/plugins/approval-ask-store-file.d.ts +18 -7
  435. package/dist/plugins/approval-ask-store-file.js +37 -14
  436. package/dist/plugins/approval-ask-store-memory.d.ts +12 -4
  437. package/dist/plugins/approval-ask-store-memory.js +24 -10
  438. package/dist/plugins/approval-ask-store-sql.d.ts +40 -21
  439. package/dist/plugins/approval-ask-store-sql.js +44 -15
  440. package/dist/plugins/approval-exemption-skill-cutoff.d.ts +64 -0
  441. package/dist/plugins/approval-exemption-skill-cutoff.js +122 -0
  442. package/dist/plugins/approval-exemption-skill-m46.d.ts +14 -0
  443. package/dist/plugins/approval-exemption-skill-m46.js +21 -0
  444. package/dist/plugins/approval-exemption-store.d.ts +32 -2
  445. package/dist/plugins/approval-exemption-store.js +42 -19
  446. package/dist/plugins/approval-nonce-store.d.ts +39 -12
  447. package/dist/plugins/approval-nonce-store.js +72 -23
  448. package/dist/plugins/blob-backend.d.ts +2 -0
  449. package/dist/plugins/blob-backend.js +9 -6
  450. package/dist/plugins/caching-session-store.d.ts +13 -1
  451. package/dist/plugins/caching-session-store.js +43 -4
  452. package/dist/plugins/checkpoint-index-columns.d.ts +32 -5
  453. package/dist/plugins/checkpoint-index-columns.js +36 -1
  454. package/dist/plugins/checkpoint-store-face.d.ts +83 -10
  455. package/dist/plugins/checkpoint-store-face.js +18 -1
  456. package/dist/plugins/device-store-sql.js +1 -0
  457. package/dist/plugins/ensure-index.d.ts +13 -1
  458. package/dist/plugins/ensure-index.js +154 -21
  459. package/dist/plugins/ensure-schema-lock-policy.d.ts +36 -18
  460. package/dist/plugins/ensure-schema-lock-policy.js +76 -9
  461. package/dist/plugins/file-run-store.d.ts +85 -32
  462. package/dist/plugins/file-run-store.js +177 -94
  463. package/dist/plugins/host-platform.d.ts +24 -3
  464. package/dist/plugins/host-platform.js +15 -1
  465. package/dist/plugins/image-bake-store-sql.js +2 -0
  466. package/dist/plugins/imported-layer-root-retirement.d.ts +2 -2
  467. package/dist/plugins/k8s-pod-reaper.d.ts +1 -3
  468. package/dist/plugins/k8s-pod-reaper.js +0 -1
  469. package/dist/plugins/leader-run-store-sql.d.ts +22 -0
  470. package/dist/plugins/leader-run-store-sql.js +34 -4
  471. package/dist/plugins/local-checkpoint-store.d.ts +62 -23
  472. package/dist/plugins/local-checkpoint-store.js +197 -77
  473. package/dist/plugins/local-data-dir-modes-m39.js +2 -1
  474. package/dist/plugins/local-data-root-admission.d.ts +52 -0
  475. package/dist/plugins/local-data-root-admission.js +100 -0
  476. package/dist/plugins/local-docker-capacity.d.ts +93 -0
  477. package/dist/plugins/local-docker-capacity.js +194 -0
  478. package/dist/plugins/local-docker-reaper.d.ts +92 -0
  479. package/dist/plugins/local-docker-reaper.js +102 -0
  480. package/dist/plugins/local-engine-high-water.d.ts +29 -6
  481. package/dist/plugins/local-engine-high-water.js +27 -19
  482. package/dist/plugins/local-session-store.d.ts +458 -140
  483. package/dist/plugins/local-session-store.js +906 -292
  484. package/dist/plugins/local-session-window.d.ts +3 -2
  485. package/dist/plugins/local-session-window.js +3 -2
  486. package/dist/plugins/local-sidecar-quarantine.js +3 -2
  487. package/dist/plugins/local-task-attachment-store.d.ts +18 -1
  488. package/dist/plugins/local-task-attachment-store.js +22 -1
  489. package/dist/plugins/memory-embedder.js +9 -7
  490. package/dist/plugins/memory-engine-pg.d.ts +3 -2
  491. package/dist/plugins/memory-engine-pg.js +14 -5
  492. package/dist/plugins/memory-engine-sql-apply.d.ts +8 -4
  493. package/dist/plugins/memory-engine-sql-apply.js +6 -8
  494. package/dist/plugins/memory-engine-tidb.d.ts +4 -2
  495. package/dist/plugins/memory-engine-tidb.js +11 -2
  496. package/dist/plugins/memory-optout-grant-store-sql.d.ts +1 -1
  497. package/dist/plugins/memory-optout-grant-store-sql.js +3 -3
  498. package/dist/plugins/memory-run-store.d.ts +53 -36
  499. package/dist/plugins/memory-run-store.js +116 -88
  500. package/dist/plugins/one-time-migration-marker.d.ts +26 -0
  501. package/dist/plugins/one-time-migration-marker.js +13 -0
  502. package/dist/plugins/one-time-migrations.d.ts +214 -47
  503. package/dist/plugins/one-time-migrations.js +481 -135
  504. package/dist/plugins/org-delivery-quota-store.d.ts +34 -11
  505. package/dist/plugins/org-delivery-quota-store.js +31 -15
  506. package/dist/plugins/permission-rule-store-file.d.ts +3 -3
  507. package/dist/plugins/permission-rule-store-sql.d.ts +5 -64
  508. package/dist/plugins/permission-rule-store-sql.js +11 -95
  509. package/dist/plugins/pg-pool.d.ts +2 -32
  510. package/dist/plugins/pg-pool.js +24 -17
  511. package/dist/plugins/remote-env-device.d.ts +3 -2
  512. package/dist/plugins/remote-env-e2b.d.ts +8 -32
  513. package/dist/plugins/remote-env-e2b.js +44 -32
  514. package/dist/plugins/remote-env-host.d.ts +51 -17
  515. package/dist/plugins/remote-env-host.js +111 -42
  516. package/dist/plugins/remote-env-k8s.d.ts +40 -45
  517. package/dist/plugins/remote-env-k8s.js +111 -60
  518. package/dist/plugins/remote-env-local-docker.d.ts +152 -15
  519. package/dist/plugins/remote-env-local-docker.js +352 -72
  520. package/dist/plugins/remote-scratchpad.js +4 -0
  521. package/dist/plugins/retention-deployment.d.ts +49 -17
  522. package/dist/plugins/retention-deployment.js +39 -8
  523. package/dist/plugins/run-preview-m45.d.ts +11 -0
  524. package/dist/plugins/run-preview-m45.js +19 -0
  525. package/dist/plugins/run-store-sql.d.ts +82 -75
  526. package/dist/plugins/run-store-sql.js +164 -125
  527. package/dist/plugins/s3-answer.d.ts +2 -1
  528. package/dist/plugins/sandbox-reaper.d.ts +26 -0
  529. package/dist/plugins/sandbox-reaper.js +2 -0
  530. package/dist/plugins/scenario-prefix-switch-m42.d.ts +56 -0
  531. package/dist/plugins/scenario-prefix-switch-m42.js +56 -0
  532. package/dist/plugins/scheduler-support.d.ts +16 -1
  533. package/dist/plugins/scheduler-support.js +22 -2
  534. package/dist/plugins/schema-consistency.d.ts +131 -14
  535. package/dist/plugins/schema-consistency.js +388 -18
  536. package/dist/plugins/schema-drift-sentence.d.ts +10 -6
  537. package/dist/plugins/schema-drift-sentence.js +15 -7
  538. package/dist/plugins/schema-ensure-legs.d.ts +9 -0
  539. package/dist/plugins/schema-ensure-legs.js +1 -1
  540. package/dist/plugins/schema-indexes.js +3 -0
  541. package/dist/plugins/schema-live-columns.d.ts +14 -5
  542. package/dist/plugins/schema-live-columns.js +10 -10
  543. package/dist/plugins/send-user-file.js +2 -1
  544. package/dist/plugins/session-birth.d.ts +37 -0
  545. package/dist/plugins/session-birth.js +38 -0
  546. package/dist/plugins/session-epoch-anchor.d.ts +40 -12
  547. package/dist/plugins/session-epoch-anchor.js +33 -11
  548. package/dist/plugins/session-ext-table.d.ts +27 -3
  549. package/dist/plugins/session-ext-table.js +19 -6
  550. package/dist/plugins/session-fork.d.ts +15 -1
  551. package/dist/plugins/session-fork.js +3 -0
  552. package/dist/plugins/session-ownership.d.ts +1 -1
  553. package/dist/plugins/session-placement.d.ts +27 -20
  554. package/dist/plugins/session-placement.js +15 -12
  555. package/dist/plugins/session-row-sql.d.ts +12 -0
  556. package/dist/plugins/session-row-sql.js +3 -3
  557. package/dist/plugins/session-run-rollup.d.ts +29 -0
  558. package/dist/plugins/session-run-rollup.js +40 -0
  559. package/dist/plugins/session-store-sql.d.ts +38 -12
  560. package/dist/plugins/session-store-sql.js +130 -30
  561. package/dist/plugins/session-withdraw-sql.d.ts +36 -0
  562. package/dist/plugins/session-withdraw-sql.js +42 -0
  563. package/dist/plugins/shared-memory-store-sql.d.ts +0 -69
  564. package/dist/plugins/shared-memory-store-sql.js +2 -1
  565. package/dist/plugins/shell-sentinel-owner-m48.d.ts +42 -0
  566. package/dist/plugins/shell-sentinel-owner-m48.js +9 -0
  567. package/dist/plugins/snapshot-bucket-presence.d.ts +2 -1
  568. package/dist/plugins/sql-driver.d.ts +1 -1
  569. package/dist/plugins/sql-driver.js +2 -1
  570. package/dist/plugins/sql-errors.d.ts +32 -5
  571. package/dist/plugins/sql-errors.js +55 -7
  572. package/dist/plugins/sql-json-column.d.ts +8 -7
  573. package/dist/plugins/sql-json-column.js +10 -6
  574. package/dist/plugins/stop-then-start-sentence.d.ts +16 -0
  575. package/dist/plugins/stop-then-start-sentence.js +7 -0
  576. package/dist/plugins/store-backend.d.ts +99 -16
  577. package/dist/plugins/store-backend.js +230 -65
  578. package/dist/plugins/store-contracts.d.ts +123 -33
  579. package/dist/plugins/store-contracts.js +38 -1
  580. package/dist/plugins/store-fault.d.ts +28 -2
  581. package/dist/plugins/store-fault.js +20 -2
  582. package/dist/plugins/task-attachment-store.d.ts +15 -3
  583. package/dist/plugins/task-attachment-store.js +22 -9
  584. package/dist/plugins/tidb-pool.d.ts +11 -6
  585. package/dist/plugins/tidb-pool.js +39 -18
  586. package/dist/plugins/web-search.js +5 -3
  587. package/dist/plugins/workflow-run-store-sql.d.ts +6 -1
  588. package/dist/plugins/workflow-run-store-sql.js +11 -5
  589. package/dist/plugins/workspace-custody.d.ts +44 -0
  590. package/dist/plugins/workspace-custody.js +47 -0
  591. package/dist/principal-jwt.d.ts +4 -4
  592. package/dist/principal-jwt.js +20 -5
  593. package/dist/principal-shape.d.ts +41 -0
  594. package/dist/principal-shape.js +19 -0
  595. package/dist/project-identity.d.ts +8 -7
  596. package/dist/project-identity.js +40 -17
  597. package/dist/project-layer-key.d.ts +13 -2
  598. package/dist/project-layer-key.js +9 -1
  599. package/dist/question.d.ts +13 -23
  600. package/dist/question.js +21 -39
  601. package/dist/read-deny-floor-notice.d.ts +36 -0
  602. package/dist/read-deny-floor-notice.js +40 -0
  603. package/dist/{plain-string-record.d.ts → request-declaration-disposition.d.ts} +9 -23
  604. package/dist/request-declaration-disposition.js +39 -0
  605. package/dist/request-declaration-refusal.d.ts +35 -12
  606. package/dist/request-declaration-refusal.js +21 -9
  607. package/dist/request-form.d.ts +58 -0
  608. package/dist/request-form.js +72 -0
  609. package/dist/request-image-urls.d.ts +8 -2
  610. package/dist/request-image-urls.js +2 -1
  611. package/dist/request-images.d.ts +20 -0
  612. package/dist/request-images.js +59 -0
  613. package/dist/request-key-closure.d.ts +6 -7
  614. package/dist/request-key-closure.js +15 -2
  615. package/dist/resource-suspend.d.ts +7 -16
  616. package/dist/resource-suspend.js +1 -1
  617. package/dist/retired-name-host-notice.d.ts +21 -0
  618. package/dist/retired-name-host-notice.js +12 -0
  619. package/dist/rule-entry-list.d.ts +2 -2
  620. package/dist/rule-entry-list.js +3 -4
  621. package/dist/rule-issue-reading.d.ts +58 -0
  622. package/dist/rule-issue-reading.js +14 -0
  623. package/dist/rules-consent.d.ts +5 -3
  624. package/dist/rules-consent.js +1 -0
  625. package/dist/run-acceptance.d.ts +3 -1
  626. package/dist/run-acceptance.js +3 -0
  627. package/dist/run-cancel-card.d.ts +28 -0
  628. package/dist/run-cancel-card.js +19 -0
  629. package/dist/run-cancel-context.d.ts +10 -0
  630. package/dist/run-cancel-context.js +1 -0
  631. package/dist/run-local.d.ts +14 -6
  632. package/dist/run-local.js +117 -90
  633. package/dist/run-stale-default.d.ts +7 -0
  634. package/dist/run-stale-default.js +2 -0
  635. package/dist/runs.d.ts +56 -21
  636. package/dist/runs.js +73 -43
  637. package/dist/runtime-caps-resolver.d.ts +21 -6
  638. package/dist/runtime-caps-resolver.js +17 -4
  639. package/dist/runtime-governance.d.ts +2 -2
  640. package/dist/runtime-governance.js +5 -3
  641. package/dist/sealed-key-layout.d.ts +12 -5
  642. package/dist/sealed-key-layout.js +5 -0
  643. package/dist/sealed-key.d.ts +12 -2
  644. package/dist/sealed-key.js +115 -27
  645. package/dist/security.d.ts +128 -158
  646. package/dist/security.js +163 -59
  647. package/dist/sema-config-dir.d.ts +20 -0
  648. package/dist/sema-config-dir.js +25 -0
  649. package/dist/server-secret-env.d.ts +55 -25
  650. package/dist/server-secret-env.js +75 -22
  651. package/dist/session-agent.d.ts +3 -2
  652. package/dist/session-children-retire.d.ts +13 -8
  653. package/dist/session-children-retire.js +9 -7
  654. package/dist/session-deletion.d.ts +88 -0
  655. package/dist/session-deletion.js +8 -0
  656. package/dist/session-erase.d.ts +145 -0
  657. package/dist/session-erase.js +115 -0
  658. package/dist/session-error-wire.d.ts +5 -5
  659. package/dist/session-error-wire.js +1 -1
  660. package/dist/session-incarnation.d.ts +52 -5
  661. package/dist/session-incarnation.js +19 -2
  662. package/dist/session-policy-wire.d.ts +6 -3
  663. package/dist/session-policy-wire.js +11 -1
  664. package/dist/session-resident-background.d.ts +0 -71
  665. package/dist/session-resident-background.js +4 -3
  666. package/dist/session-row.d.ts +2 -1
  667. package/dist/session-rules-seat.d.ts +12 -0
  668. package/dist/session-rules-seat.js +19 -0
  669. package/dist/session-titler.d.ts +7 -15
  670. package/dist/session-titler.js +1 -1
  671. package/dist/session-workspace.d.ts +3 -3
  672. package/dist/spec-fields.d.ts +57 -3
  673. package/dist/spec-fields.js +72 -51
  674. package/dist/store-admission.d.ts +33 -0
  675. package/dist/store-admission.js +49 -0
  676. package/dist/store-posture.d.ts +141 -20
  677. package/dist/store-posture.js +205 -3
  678. package/dist/stored-request-hooks-m20.js +2 -2
  679. package/dist/stores-sql/background-agent-store-sql.d.ts +11 -2
  680. package/dist/stores-sql/background-agent-store-sql.js +73 -20
  681. package/dist/stores-sql/checkpoint-store-sql.d.ts +34 -29
  682. package/dist/stores-sql/checkpoint-store-sql.js +78 -49
  683. package/dist/stores-sql/file-history-store-sql.d.ts +1 -1
  684. package/dist/stores-sql/file-history-store-sql.js +3 -5
  685. package/dist/stores-sql/mailbox-store-sql.d.ts +7 -4
  686. package/dist/stores-sql/mailbox-store-sql.js +31 -32
  687. package/dist/stores-sql/pg-session-storage.d.ts +7 -5
  688. package/dist/stores-sql/pg-session-storage.js +54 -46
  689. package/dist/stores-sql/retention-store-sql.d.ts +87 -19
  690. package/dist/stores-sql/retention-store-sql.js +92 -27
  691. package/dist/stores-sql/session-policy-store-sql.d.ts +32 -10
  692. package/dist/stores-sql/session-policy-store-sql.js +44 -36
  693. package/dist/stores-sql/session-write-hooks.d.ts +12 -6
  694. package/dist/stores-sql/tidb-session-storage.d.ts +4 -4
  695. package/dist/stores-sql/tidb-session-storage.js +13 -8
  696. package/dist/stores-sql/tidb-session-store.d.ts +36 -17
  697. package/dist/stores-sql/tidb-session-store.js +69 -39
  698. package/dist/stores-sql/tool-result-store-sql.d.ts +1 -1
  699. package/dist/stores-sql/tool-result-store-sql.js +4 -6
  700. package/dist/stores-sql/windowed-session-storage.d.ts +5 -0
  701. package/dist/stores-sql/windowed-session-storage.js +9 -0
  702. package/dist/submission-exit.d.ts +50 -0
  703. package/dist/submission-exit.js +108 -0
  704. package/dist/task-a2a.d.ts +3 -8
  705. package/dist/task-a2a.js +28 -30
  706. package/dist/task-cwd.d.ts +43 -7
  707. package/dist/task-cwd.js +11 -0
  708. package/dist/task-mcp.d.ts +3 -3
  709. package/dist/task-mcp.js +4 -4
  710. package/dist/task-settings.d.ts +14 -10
  711. package/dist/task-settings.js +19 -7
  712. package/dist/terminal.d.ts +27 -43
  713. package/dist/terminal.js +49 -14
  714. package/dist/tool-approval.d.ts +173 -163
  715. package/dist/tool-approval.js +247 -232
  716. package/dist/trace/core-keyset-guard.d.ts +13 -6
  717. package/dist/trace/core-vocab-wire.d.ts +95 -0
  718. package/dist/trace/core-vocab-wire.js +15 -0
  719. package/dist/trace/engine-notice-wire.d.ts +24 -21
  720. package/dist/trace/engine-notice-wire.js +7 -3
  721. package/dist/trace/exit-seat.d.ts +30 -4
  722. package/dist/trace/exit-seat.js +40 -36
  723. package/dist/trace/extension-call-face.d.ts +3 -2
  724. package/dist/trace/extension-call-face.js +3 -1
  725. package/dist/trace/ledger-events.d.ts +4 -7
  726. package/dist/trace/ledger-sink.d.ts +4 -31
  727. package/dist/trace/ledger-sink.js +0 -11
  728. package/dist/trace/model-segment.d.ts +5 -5
  729. package/dist/trace/model-segment.js +5 -5
  730. package/dist/trace/project.d.ts +59 -44
  731. package/dist/trace/project.js +60 -26
  732. package/dist/trace/redact.d.ts +135 -27
  733. package/dist/trace/redact.js +884 -260
  734. package/dist/trace/self-minted-wire.d.ts +567 -20
  735. package/dist/trace/self-minted-wire.js +205 -24
  736. package/dist/trace/wire-projection-faces.d.ts +5 -6
  737. package/dist/trace/wire-projection-faces.js +2 -2
  738. package/dist/upstream-body.d.ts +23 -0
  739. package/dist/upstream-body.js +16 -0
  740. package/dist/url-refusal.d.ts +3 -3
  741. package/dist/url-refusal.js +11 -4
  742. package/dist/user-authored-text.d.ts +1 -1
  743. package/dist/user-input-ledger.d.ts +7 -8
  744. package/dist/user-input-ledger.js +1 -1
  745. package/dist/web-admin-client/apply-effective.d.ts +6 -3
  746. package/dist/web-admin-client/apply-effective.js +33 -23
  747. package/dist/web-admin-client/apply-ledger.d.ts +16 -7
  748. package/dist/web-admin-client/apply-ledger.js +5 -2
  749. package/dist/web-admin-client/center-request.d.ts +2 -2
  750. package/dist/web-admin-client/center-request.js +15 -15
  751. package/dist/web-admin-client/effective-keys.d.ts +1 -1
  752. package/dist/web-admin-client/effective-keys.js +1 -1
  753. package/dist/web-admin-client/entry-metadata.d.ts +8 -0
  754. package/dist/web-admin-client/entry-metadata.js +13 -0
  755. package/dist/web-admin-client/http-client.d.ts +1 -1
  756. package/dist/web-admin-client/http-client.js +23 -4
  757. package/dist/web-admin-client/mcp-revocation.d.ts +1 -1
  758. package/dist/web-admin-client/mcp-revocation.js +2 -1
  759. package/dist/web-admin-client/read-warnings.d.ts +1 -0
  760. package/dist/web-admin-client/read-warnings.js +1 -0
  761. package/dist/web-admin-client/restart-signal.js +8 -4
  762. package/dist/web-admin-client/skills-mcp.d.ts +2 -2
  763. package/dist/web-admin-client/types.d.ts +1 -2
  764. package/dist/workspace-space.d.ts +3 -2
  765. package/docs/DEVICE-EXECUTOR-PROTOCOL.md +4 -4
  766. package/docs/error-text-lexicon.json +317 -0
  767. package/package.json +8 -3
  768. package/scripts/drain-check-local.mjs +118 -147
  769. package/scripts/drain-check.mysql.sql +22 -2
  770. package/scripts/drain-check.pg.sql +22 -2
  771. package/scripts/embed-minimal.mjs +183 -0
  772. package/wire-changes/server@7.148.0.json +1517 -0
  773. package/wire-changes/server@7.149.0.json +372 -0
  774. package/dist/http/memory-control-plane-corrupt-reply.d.ts +0 -25
  775. package/dist/http/memory-control-plane-corrupt-reply.js +0 -19
  776. package/dist/http/memory-layer-reply.d.ts +0 -30
  777. package/dist/http/memory-layer-reply.js +0 -24
  778. package/dist/lsp/e2b-bridge.d.ts +0 -57
  779. package/dist/lsp/e2b-bridge.js +0 -139
  780. package/dist/lsp/e2b-manager.d.ts +0 -93
  781. package/dist/lsp/e2b-manager.js +0 -178
  782. package/dist/lsp/lsp-frames.d.ts +0 -14
  783. package/dist/lsp/lsp-frames.js +0 -25
  784. package/dist/lsp/manager.d.ts +0 -129
  785. package/dist/lsp/manager.js +0 -127
  786. package/dist/lsp/types.d.ts +0 -12
  787. package/dist/lsp/types.js +0 -2
  788. package/dist/lsp/ws-transport.d.ts +0 -40
  789. package/dist/lsp/ws-transport.js +0 -210
  790. package/dist/plain-string-record.js +0 -70
@@ -1,13 +1,13 @@
1
- import { readMcpSourceLabel } from "./mcp-source-label.js";
2
1
  import { createHmac, randomBytes } from "node:crypto";
3
2
  import { splitFoldedReadWarnings, withDroppedCatalogEntries } from "./web-admin-client/read-warnings.js";
4
3
  import { FileConfigStore, readEnvModelsDecision } from "@sema-agent/settings-schema/node";
5
4
  import { envModelsDecisionTag } from "@sema-agent/settings-schema";
6
5
  import { REMOTE_CATALOG_SOURCE } from "./env-model-table-gate.js";
7
6
  import { assertLocalConfigDirTrusted } from "./config-dir-trust.js";
8
- import { danglingRefs, emptyEffective, findSkillContent, promptArtifactFor, renderRefIssue, skillContentHash, } from "@sema-agent/settings-schema";
7
+ import { candidateRefusedBy } from "./config-pull-failure.js";
8
+ import { danglingRefs, emptyEffective, findSkillContent, promptArtifactFor, renderRefIssue, resolveEffectiveForWorker, } from "@sema-agent/settings-schema";
9
9
  import { redactSecrets } from "./trace/redact.js";
10
- import { fetchEffective as remoteFetchEffective, fetchSkillContent as remoteFetchSkillContent, skillToolListsOf, WebAdminHttpError, } from "./web-admin-client/facade.js";
10
+ import { fetchEffective as remoteFetchEffective, fetchSkillContent as remoteFetchSkillContent, WebAdminHttpError, } from "./web-admin-client/facade.js";
11
11
  import { remoteConfigProviderUrlRefusal } from "./config-invariants.js";
12
12
  import { homedir } from "node:os";
13
13
  import { join } from "node:path";
@@ -31,7 +31,7 @@ const redactContractSentence = (text) => redactSecrets(text);
31
31
  const redactDroppedEntry = (d) => ({ ...d, error: redactContractSentence(d.error) });
32
32
  const redactRefusedDocument = (d) => ({ ...d, error: redactContractSentence(d.error) });
33
33
  export const BOOT_FETCH_DEFERRED = Symbol("boot-fetch-deferred");
34
- export function raceBootFetch(fetch, budgetMs) {
34
+ export function raceBootFetch(pull, budgetMs) {
35
35
  if (budgetMs <= 0)
36
36
  return Promise.resolve(BOOT_FETCH_DEFERRED);
37
37
  let timer;
@@ -39,7 +39,7 @@ export function raceBootFetch(fetch, budgetMs) {
39
39
  timer = setTimeout(() => res(BOOT_FETCH_DEFERRED), budgetMs);
40
40
  timer.unref?.();
41
41
  });
42
- return Promise.race([fetch.finally(() => clearTimeout(timer)), budget]);
42
+ return Promise.race([pull.finally(() => clearTimeout(timer)), budget]);
43
43
  }
44
44
  export class RemoteConfigProvider {
45
45
  cc;
@@ -95,7 +95,15 @@ export class LocalConfigProvider {
95
95
  }
96
96
  async fetchEffective(etag) {
97
97
  await assertLocalConfigDirTrusted({ root: this.root, declaredOwnerUid: this.#declaredOwnerUid });
98
- const read = await this.#store.read();
98
+ let read;
99
+ try {
100
+ read = await this.#store.read();
101
+ }
102
+ catch (readerError) {
103
+ if (isFileSystemError(readerError))
104
+ throw readerError;
105
+ throw candidateRefusedBy(readerError);
106
+ }
99
107
  const envModels = await readEnvModelsDecision(this.root);
100
108
  const catalogSource = { kind: "local", root: this.root, envModels };
101
109
  const tag = buildLocalConfigEtag(read.kind === "refused" ? read.version : read.effective.version, envModels);
@@ -128,7 +136,7 @@ export class LocalConfigProvider {
128
136
  this.#servedSkills = eff.skills;
129
137
  const unreadKeys = localUnreadPromptKeys(eff.prompts);
130
138
  return {
131
- effective: withDroppedCatalogEntries(mapToServiceEffective(eff, eff.version), folded.droppedCatalogEntries),
139
+ effective: withDroppedCatalogEntries(publishLocalEffective(eff), folded.droppedCatalogEntries),
132
140
  ...(errors.length > 0 ? { domainErrors: errors } : {}),
133
141
  ...(droppedEntries.length > 0 ? { droppedEntries } : {}),
134
142
  ...(unreadKeys.length > 0 ? { unreadKeys } : {}),
@@ -138,9 +146,15 @@ export class LocalConfigProvider {
138
146
  return findSkillContent(this.#servedSkills, contentHash);
139
147
  }
140
148
  }
149
+ function isFileSystemError(e) {
150
+ if (!(e instanceof Error))
151
+ return false;
152
+ const { syscall, code } = e;
153
+ return typeof syscall === "string" && typeof code === "string";
154
+ }
141
155
  function refusedFaces(read) {
142
156
  return {
143
- effective: mapToServiceEffective({ ...emptyEffective(), version: read.version }, read.version),
157
+ effective: publishLocalEffective({ ...emptyEffective(), version: read.version }),
144
158
  refusedDocuments: read.refusals.map(redactRefusedDocument),
145
159
  };
146
160
  }
@@ -152,108 +166,9 @@ function localPromptsWire(prompts, version) {
152
166
  const artifact = prompts === undefined ? undefined : promptArtifactFor(prompts, null);
153
167
  return artifact === undefined ? {} : { prompts: { schemaVersion: 2, artifact: { ...artifact, sourceRevision: `local:r${version}` } } };
154
168
  }
155
- export function mapToServiceEffective(eff, version) {
156
- return {
157
- version,
158
- updatedAt: eff.updatedAt,
159
- models: {
160
- models: (eff.models.models ?? []).map((m) => ({
161
- name: m.name,
162
- id: m.id,
163
- provider: m.provider,
164
- api: m.api,
165
- ...(m.baseUrl !== undefined ? { baseUrl: m.baseUrl } : {}),
166
- ...(m.apiKeyEnv !== undefined ? { apiKeyEnv: m.apiKeyEnv } : {}),
167
- ...(m.sealedApiKey !== undefined ? { sealedApiKey: m.sealedApiKey } : {}),
168
- ...(m.quotaWeight !== undefined ? { quotaWeight: m.quotaWeight } : {}),
169
- tier: m.tier,
170
- ...(m.reasoning !== undefined ? { reasoning: m.reasoning } : {}),
171
- ...(m.vision !== undefined ? { vision: m.vision } : {}),
172
- ...(m.thinkingLevelMap !== undefined ? { thinkingLevelMap: m.thinkingLevelMap } : {}),
173
- ...(m.contextWindow !== undefined ? { contextWindow: m.contextWindow } : {}),
174
- ...(m.maxTokens !== undefined ? { maxTokens: m.maxTokens } : {}),
175
- ...(typeof m.autoCompactTokens === "number" ? { autoCompactTokens: m.autoCompactTokens } : {}),
176
- ...(typeof m.charsPerToken === "number" ? { charsPerToken: m.charsPerToken } : {}),
177
- ...(m.cost !== undefined ? { cost: m.cost } : {}),
178
- ...(m.extraBody !== undefined ? { extraBody: m.extraBody } : {}),
179
- ...(m.compat !== undefined ? { compat: m.compat } : {}),
180
- ...(m.headers !== undefined ? { headers: m.headers } : {}),
181
- ...(m.promptGuidance !== undefined ? { promptGuidance: m.promptGuidance } : {}),
182
- enabled: m.enabled,
183
- })),
184
- roles: eff.models.roles ?? {},
185
- atMention: eff.models.atMention,
186
- ...(eff.models.tierGroups !== undefined ? { tierGroups: eff.models.tierGroups } : {}),
187
- ...(eff.models.activeTierGroup !== undefined ? { activeTierGroup: eff.models.activeTierGroup } : {}),
188
- },
189
- ...(eff.collab?.templates?.length ? { collab: { templates: eff.collab.templates } } : {}),
190
- ...(eff.plugins?.plugins?.length ? { plugins: { plugins: eff.plugins.plugins } } : {}),
191
- a2a: eff.a2a,
192
- skills: {
193
- skills: (eff.skills.skills ?? []).map((s) => ({
194
- name: s.name,
195
- description: s.description,
196
- scenarios: s.scenarios ?? [],
197
- contentHash: skillContentHash(s.content),
198
- enabled: s.enabled,
199
- ...skillToolListsOf(s),
200
- })),
201
- },
202
- mcp: {
203
- servers: (eff.mcp.servers ?? []).map((s) => {
204
- const base = {
205
- name: s.name,
206
- scenarios: s.scenarios ?? [],
207
- enabled: s.enabled,
208
- ...(s.allowTools !== undefined ? { allowTools: s.allowTools } : {}),
209
- ...(s.elicitation !== undefined ? { elicitation: s.elicitation } : {}),
210
- ...(s.contentOrigin !== undefined ? { contentOrigin: s.contentOrigin } : {}),
211
- ...readMcpSourceLabel(s.name, s.source),
212
- ...(s.toolFaces !== undefined ? { toolFaces: s.toolFaces } : {}),
213
- ...(s.toolAxes !== undefined ? { toolAxes: s.toolAxes } : {}),
214
- ...(s.sessionMetaKey !== undefined ? { sessionMetaKey: s.sessionMetaKey } : {}),
215
- ...(s.startupTimeoutMs !== undefined ? { startupTimeoutMs: s.startupTimeoutMs } : {}),
216
- ...(s.authForm !== undefined ? { authForm: s.authForm } : {}),
217
- ...(s.entryKind !== undefined ? { entryKind: s.entryKind } : {}),
218
- };
219
- if (s.transport.kind === "stdio") {
220
- return {
221
- ...base,
222
- transport: {
223
- kind: "stdio",
224
- command: s.transport.command,
225
- ...(s.transport.args !== undefined ? { args: s.transport.args } : {}),
226
- ...(s.transport.envRefs !== undefined ? { envRefs: s.transport.envRefs } : {}),
227
- },
228
- };
229
- }
230
- return {
231
- ...base,
232
- transport: {
233
- kind: "http",
234
- url: s.transport.url,
235
- ...(s.transport.headerRefs !== undefined ? { headerRefs: s.transport.headerRefs } : {}),
236
- ...(s.transport.principalHeader !== undefined ? { principalHeader: s.transport.principalHeader } : {}),
237
- ...(s.transport.assertionHeader !== undefined ? { assertionHeader: s.transport.assertionHeader } : {}),
238
- },
239
- };
240
- }),
241
- },
242
- ...localPromptsWire(eff.prompts, version),
243
- scenarios: {
244
- scenarios: (eff.scenarios.scenarios ?? []).map((sc) => ({
245
- name: sc.name,
246
- toolset: sc.toolset,
247
- enabled: sc.enabled,
248
- })),
249
- },
250
- ...(eff.limits !== undefined ? { limits: eff.limits } : {}),
251
- governance: {
252
- ...(eff.governance.autonomy !== undefined ? { autonomy: eff.governance.autonomy } : {}),
253
- ...(eff.governance.commandPolicy !== undefined ? { commandPolicy: eff.governance.commandPolicy } : {}),
254
- ...(eff.governance.approvalRequire !== undefined ? { approvalRequire: eff.governance.approvalRequire } : {}),
255
- },
256
- };
169
+ export function publishLocalEffective(eff) {
170
+ const { prompts: _storageForm, ...wire } = resolveEffectiveForWorker(eff, null).config;
171
+ return { ...wire, ...localPromptsWire(eff.prompts, eff.version) };
257
172
  }
258
173
  export function createConfigProvider(input) {
259
174
  const kind = configSourceKind({ configProvider: input.provider, webAdmin: input.webAdmin });
@@ -0,0 +1,50 @@
1
+ /**
2
+ * 一次配置拉取失败的**成因** —— 在拉取那一层定一次,失败行(起服 `config_source_unreachable_using_env` / 刷新拍 `web_admin_refresh_failed` /
3
+ * 迟到起服重拉 `config_boot_arrival_repull_failed` / run-local)读同一个值(错误上的 `pullCause`),不各写一份。
4
+ *
5
+ * 判据只有一条:**错误的型**。拉取层自己铸型 —— 契约读腿整包抛 ⇒ 读腿那一处包成 {@link ConfigCandidateRefusedError}({@link candidateRefusedBy};远程腿 `http-client.ts`、本地腿
6
+ * `config-provider.ts`;本地腿的目录信任拒 `ConfigDirUntrustedError` 是它的子类);应答属于一把已不在用的中心凭证 ⇒ {@link ConfigPullSupersededError}
7
+ * (起服服务的拉取口 `pullEffective`);其余一切出自拉取口的抛 ⇒ 拉取口包成 {@link ConfigSourceUnreachableError}。所以一只 catch 不用自记「走到哪一段了」:
8
+ * 是 {@link ConfigPullError} ⇒ 拉取失败(词 = 它的 `pullCause`);不是 ⇒ 拉取已成、后面的段抛的。
9
+ *
10
+ * 包装不改运维读到的那一句:包出来的错与原错 `name` / `message` 逐字同(`String(err)` 逐字同),原错挂在 `cause` 上。
11
+ *
12
+ * 纯叶(零 import)。
13
+ */
14
+ /**
15
+ * 拉取失败的成因闭集(词序即文档序;加词 ⇒ {@link configPullFailureNote} 的穷尽 `switch` 编译红):
16
+ * · `unreachable` —— 没拿到候选:传输错 / HTTP 非 2xx / 凭证取不到 / 重定向被拒 / 超时 / 读体途中断;本地腿上文件系统的错(读不到目录里的字节);
17
+ * · `rejected` —— 配置源答了,本引擎拒收这份候选:契约读腿整包抛(门控域判形失败、载荷不是有效视图、体不是 JSON),或本地配置目录不被信任;
18
+ * · `superseded` —— 应答在飞期间中心凭证换了人,这份应答属于上一把凭证 ⇒ 弃掉(下一拉按现凭证)。
19
+ */
20
+ export declare const CONFIG_PULL_FAILURE_CAUSES: readonly ["unreachable", "rejected", "superseded"];
21
+ export type ConfigPullFailureCause = (typeof CONFIG_PULL_FAILURE_CAUSES)[number];
22
+ /** 刷新失败行的成因:拉取失败三词之外多一词 `apply_refused`(拉取已成、应用段抛 —— 起服把这一形记成另一个事件 `config_apply_refused`,刷新拍与迟到起服只有一行)。 */
23
+ export type ConfigRefreshFailureCause = ConfigPullFailureCause | "apply_refused";
24
+ /** 拉取层铸的错误型的共同基类(具体型只有下面三只与目录信任拒;成因读 `pullCause`)。 */
25
+ export declare abstract class ConfigPullError extends Error {
26
+ abstract readonly pullCause: ConfigPullFailureCause;
27
+ protected constructor(message: string, name: string, options?: ErrorOptions);
28
+ }
29
+ /** `rejected`:配置源答了,本引擎拒收这份候选。读腿处用 {@link candidateRefusedBy} 包读者的原错;目录信任拒(`ConfigDirUntrustedError`)是子类,自铸句子。 */
30
+ export declare class ConfigCandidateRefusedError extends ConfigPullError {
31
+ readonly pullCause: "rejected";
32
+ constructor(message: string, name: string, options?: ErrorOptions);
33
+ }
34
+ /** 读腿整包抛 ⇒ `rejected`(与原错 `name` / `message` 逐字同,原错挂 `cause`)。远程腿 `fetchEffective` 与本地腿 `LocalConfigProvider.fetchEffective` 的读腿处各调一次。 */
35
+ export declare function candidateRefusedBy(readerError: unknown): ConfigCandidateRefusedError;
36
+ /** `superseded`:应答属于一把已不在用的中心凭证。 */
37
+ export declare class ConfigPullSupersededError extends ConfigPullError {
38
+ readonly pullCause: "superseded";
39
+ constructor(message: string);
40
+ }
41
+ /** `unreachable`:没拿到候选。拉取口用 {@link asConfigPullError} 包其余一切抛。 */
42
+ export declare class ConfigSourceUnreachableError extends ConfigPullError {
43
+ readonly pullCause: "unreachable";
44
+ constructor(transportError: unknown);
45
+ }
46
+ /** 一次拉取的抛 ⇒ 拉取层铸的型(已是 ⇒ 原样;否则 ⇒ `unreachable`)。拉取口(起服服务的 `pullEffective`、run-local 的那一拉)的 catch 只调它。 */
47
+ export declare function asConfigPullError(err: unknown): ConfigPullError;
48
+ /** 失败行的 `note`(穷尽 switch:成因闭集加词不补句 ⇒ 编译红)。 */
49
+ export declare function configPullFailureNote(cause: ConfigPullFailureCause): string;
50
+ //# sourceMappingURL=config-pull-failure.d.ts.map
@@ -0,0 +1,48 @@
1
+ export const CONFIG_PULL_FAILURE_CAUSES = ["unreachable", "rejected", "superseded"];
2
+ const nameOf = (e) => (e instanceof Error ? e.name : "Error");
3
+ const messageOf = (e) => (e instanceof Error ? e.message : String(e));
4
+ export class ConfigPullError extends Error {
5
+ constructor(message, name, options) {
6
+ super(message, options);
7
+ this.name = name;
8
+ }
9
+ }
10
+ export class ConfigCandidateRefusedError extends ConfigPullError {
11
+ pullCause = "rejected";
12
+ constructor(message, name, options) {
13
+ super(message, name, options);
14
+ }
15
+ }
16
+ export function candidateRefusedBy(readerError) {
17
+ return new ConfigCandidateRefusedError(messageOf(readerError), nameOf(readerError), { cause: readerError });
18
+ }
19
+ export class ConfigPullSupersededError extends ConfigPullError {
20
+ pullCause = "superseded";
21
+ constructor(message) {
22
+ super(message, "Error");
23
+ }
24
+ }
25
+ export class ConfigSourceUnreachableError extends ConfigPullError {
26
+ pullCause = "unreachable";
27
+ constructor(transportError) {
28
+ super(messageOf(transportError), nameOf(transportError), { cause: transportError });
29
+ }
30
+ }
31
+ export function asConfigPullError(err) {
32
+ return err instanceof ConfigPullError ? err : new ConfigSourceUnreachableError(err);
33
+ }
34
+ export function configPullFailureNote(cause) {
35
+ switch (cause) {
36
+ case "unreachable":
37
+ return "no candidate was obtained from the config source (transport error, non-2xx answer, credential unavailable, redirect refused, timeout, or a filesystem error reading the local config directory) — the serving config stays as it is and the next pull retries";
38
+ case "rejected":
39
+ return "the config source answered but this engine refuses the candidate (a gate domain failed its schema, the payload is not an effective config, or the local config directory is not trusted) — `err` carries the reader's sentence with the field path; fix the named document";
40
+ case "superseded":
41
+ return "the answer belonged to a center credential that is no longer current — discarded; the next pull runs under the current credential";
42
+ default: {
43
+ const unhandled = cause;
44
+ throw new Error(`config pull failure: unknown cause ${String(unhandled)}`);
45
+ }
46
+ }
47
+ }
48
+ //# sourceMappingURL=config-pull-failure.js.map
@@ -5,10 +5,12 @@
5
5
  * in config.ts, which re-exports these names so existing `from "./config.js"` importers keep
6
6
  * compiling unchanged. All imports below are top-level `import type` (erased — never a load edge,
7
7
  * see test/module-cycle-gate.test.ts header on verbatimModuleSyntax). */
8
+ import type { LocalStoreDeclarationWord } from "./local-store-declaration.js";
8
9
  import type { ReadFaceSource } from "./read-face-posture.js";
9
10
  import type { PostureSource } from "./posture-source.js";
10
11
  import type { SealedCustodyPoison } from "./key-resolver.js";
11
12
  import type { ModelEntryRefusal } from "./model-entry-refusal.js";
13
+ import type { ContextWindowSource } from "./model-context-window.js";
12
14
  import type { DroppedCatalogEntry } from "./web-admin-client/read-warnings.js";
13
15
  import type { A2aServerSpec, CompliancePosture, CrossSessionDialogExpiry, CrossSessionInboundSetting, FileHistoryRetentionPolicy, LockedKey, McpServerSpec, Model, ModelRoles, RetentionPolicy, ShellGateDoctrine, WriteProtectedEntry } from "@sema-agent/core";
14
16
  import type { ApprovalHmacKey, PrincipalJwtKey } from "./auth-keys.js";
@@ -24,6 +26,7 @@ import type { MemoryEngineBackend, StoreBackend as StoreBackendWord } from "@sem
24
26
  import { DRAIN_GRACE_FLOOR_MS } from "@sema-agent/settings-schema/fleet";
25
27
  import type { AtMention, ProjectRegistration, SandboxGitConfig } from "@sema-agent/settings-schema";
26
28
  import type { ModsDeclaration } from "./mods-declaration.js";
29
+ import type { LocalDockerCapacityConfig } from "./plugins/local-docker-capacity.js";
27
30
  /** [ref]:记忆向量面的 embedder 坐标(env `MEMORY_EMBEDDER_*` 解析结果;单一属主 = 本类型,
28
31
  * `plugins/memory-embedder.ts` 的工厂直接消费它,不复制形状)。语义与三问见
29
32
  * {@link ServiceConfigFlat.memoryEmbedder}。纯数据 —— 端点原文照存(拼 `/embeddings` 是 transport
@@ -359,6 +362,11 @@ export interface A2aServeSkill {
359
362
  description?: string;
360
363
  /** INTERNAL scenario key this skill runs under. NEVER projected onto the card. */
361
364
  scenario: string;
365
+ /** Who this skill is PUBLISHED to (exact verified principal names). Absent = every caller. A caller whose verified person is
366
+ * not listed neither sees the skill on any card nor can name it by id — a PUBLICATION choice, not a capability grant (the
367
+ * scenario behind it stays reachable through every entry that does not read skills; the scenario gate is the only authority).
368
+ * NEVER projected onto the card. */
369
+ audience?: readonly string[];
362
370
  }
363
371
  /**
364
372
  * DESIGN-269 §3.3 车2 —— the server-as-peer block. **Absence IS the OFF state** (`A2A_SERVE_ENABLED`
@@ -378,7 +386,7 @@ export interface A2aServeConfig {
378
386
  description?: string;
379
387
  /** `A2A_SERVE_URL` — the PUBLIC JSON-RPC endpoint URL announced on the card (http/https, validated). */
380
388
  url: string;
381
- /** `A2A_SERVE_SKILLS` — declared skills (may be empty: an honest "I take work, I advertise no skill"). */
389
+ /** `A2A_SERVE_SKILLS` (versioned envelope `{"version":2,"skills":[…]}`) — declared skills (may be empty: an honest "I take work, I advertise no skill"). */
382
390
  skills: A2aServeSkill[];
383
391
  /** `A2A_SERVE_BLOCKING_WAIT_MS` — how long a `blocking:true` `message/send` waits for a terminal state
384
392
  * before answering `working` and letting the caller poll `tasks/get`. Server-side budget only — it is
@@ -658,6 +666,9 @@ export type RemoteExecConfig = {
658
666
  /** [ref] —— `DOCKER_SANDBOX_ENV=NAME,NAME` 点到、且本进程环境里真有的键 ⇒ 原值(与 e2b 的 `sandboxEnv` 同一只解析器、
659
667
  * 同一只谓词;每条 `docker exec` 以 `-e K=V` 注入)。键缺席 = 旋钮未设 / 空串。 */
660
668
  env?: Record<string, string>;
669
+ /** 车道容器帽(`DOCKER_MAX_CONTAINERS`)。> 0 才在场;缺席 = 关 = 不建闸
670
+ * (`plugins/local-docker-capacity.ts`,计数律与射程的唯一属主)。 */
671
+ capacity?: LocalDockerCapacityConfig;
661
672
  };
662
673
  export interface ServiceConfigFlat {
663
674
  port: number;
@@ -759,9 +770,23 @@ export interface ServiceConfigFlat {
759
770
  * 源码钉(`test/served-model-route.test.ts` 的类钉)把这两处写口列成白名单。
760
771
  */
761
772
  envModel: Model;
773
+ /**
774
+ * `envModel.contextWindow` 的来源(`declared` = `MODEL_CONTEXT_WINDOW` 声明了;`assumed` = 没声明、落假定值)。`loadConfig` 与 `envModel` 同一次解出
775
+ * (`model-context-window.ts` 的 `resolveContextWindow`),此后永不换。唯一读者:中心腿的 BL-8 继承 —— 目录条目没写窗 ⇒ 继承 `envModel` 的窗,
776
+ * 来源随之(env 声明了 ⇒ 条目也是 declared)。不从 env 再读一遍:「声明了没有」只在解窗的那一处判。
777
+ */
778
+ envModelContextWindowSource: ContextWindowSource;
762
779
  /** Model catalog by name (1.24): always `default` + the main model's id, plus an optional cheap model.
763
780
  * Used to resolve roles and to allow-list `@-model` mentions. */
764
781
  models: Record<string, Model>;
782
+ /**
783
+ * 每个目录名的上下文窗来源(`declared` / `assumed`,闭集;值 = `models[name].contextWindow` 那个数是谁写的)。**与 `models` 同键**(别名 `default` 随它指的条目)、
784
+ * 同世代同 commit:env 腿与 `models` 经同一只组法铸(`envLaneTable`),applyEffective 在铸目录模型的同一圈里铸、与 `models` 一起整表换。
785
+ * 数住在 `Model.contextWindow`(引擎的席),来源住这里 —— 两者出自同一次解(`resolveContextWindow`),没有第二个判点。
786
+ * 读者:`GET /v1/models` 行的 `contextWindowSource`、运维通告 `model_context_window_assumed` 的唯一发声器(`context-window-notice.ts`:模型表定形之后 / 每次模型面落地之后)。
787
+ * 名不在表里 ⇒ 读者不答来源(行不带该键):只有绕过两条铸腿手写 `models` 的嵌入方 / 夹具会落到这里。
788
+ */
789
+ contextWindowSources: Readonly<Record<string, ContextWindowSource>>;
765
790
  /** Per-model API-key override: catalog model NAME → the env var NAME holding that model's key (from
766
791
  * web-admin `apiKeyEnv`). Drives the spec's `getApiKeyAndHeaders` so each model/rung authenticates
767
792
  * with its own upstream account; a model absent here falls back to the gateway key. Env path: empty. */
@@ -1126,6 +1151,7 @@ export interface ServiceConfigFlat {
1126
1151
  * `SEALED_KEY_DIR` —— 模型钥匙保管目录(sealed 形的 X25519 钥匙对 `<publicKeyId>.json`,连同停驻行封签那一域的子目录 `checkpoint-ctx-keys/`)。
1127
1152
  * **缺席不铸键** ⇒ 保管目录 = `<localDataRoot>/sealed-key`(今天的行为;建不了只是一行 warn,sealed 模型逐个 `no_key_store`)。
1128
1153
  * 给了 ⇒ 绝对路径(相对路径 loadConfig 拒启),该目录是**唯一**保管目录;起服在它上面建不了保管店 ⇒ 拒启(fail-closed:运维点名了目录)。
1154
+ * 给了 ∧ 停驻审批耐久(`DURABLE_APPROVAL` ∧ 检查点店耐久)∧ 它的介质判 `ephemeral` ⇒ 起服第 2 段店的持久性准入拒启(`store-admission.ts`;缺席时的缺省目录不进这一判)。
1129
1155
  * 谁需要:读同一份 `config.d` 而数据根不同的多台引擎(终端 × 桌面端默认形)—— sealed 条目绑定的是钥匙身份(`publicKeyId` → 钥匙对),指到同一目录 ⇒ 同一把钥。
1130
1156
  */
1131
1157
  sealedKeyDir?: string;
@@ -1142,6 +1168,14 @@ export interface ServiceConfigFlat {
1142
1168
  * 只有 `local`(file)后端读它;SQL 后端的 hydrate 不经这条路。
1143
1169
  */
1144
1170
  runStoreStrictHydrate: boolean;
1171
+ /**
1172
+ * `LOCAL_STORE_DURABILITY=ephemeral` —— 运维**声明**这台部署的 local 店易失(闭集只有这一个词;缺席 = 店型的设计声明「活过进程重启」)。
1173
+ * 唯一读者 `local-store-declaration.ts` 的 `localStoreDeclarationOf`:声明之后 local 后端交给**两半**店(会话店顶层、检查点店)的引擎声明都是
1174
+ * `process-local` ⇒ 起服布线审计的拒启臂(声明 durable ∧ 数据根介质易失)不再咬,数据根落在容器可写层 / tmpfs / emptyDir 上照常起服,起服 warn 一行。
1175
+ * 后果 = 店里的会话、停驻审批与记忆不随容器 / Pod 替换保留(进程重启照旧活过:文件还在同一只容器里)。读面的持久性读数(`store.durability`)照旧按介质如实报。
1176
+ * 部署者自己设 —— 壳 / 编排器不替用户写(写了就是替用户放弃这份承诺)。SQL / memory 后端不读它。
1177
+ */
1178
+ localStoreDurability: LocalStoreDeclarationWord | undefined;
1145
1179
  /** PostgreSQL connection (used iff dbBackend === "pg"). Mirror of `tidb`. Env: PG_HOST/PG_PORT/PG_USER/
1146
1180
  * PG_PASSWORD/PG_DATABASE/PG_POOL_SIZE. */
1147
1181
  pg?: {
@@ -1361,7 +1395,7 @@ export interface ServiceConfigFlat {
1361
1395
  * `SERVICE_TOKEN_ACTS_FOR_DEPLOYMENT` —— 「出示这台部署的 service 凭据、不报主体的调用方是谁」的**唯一声明座**。缺省 `true`(不设 = 今天的读法):
1362
1396
  * 它代部署本人说话(fleet 调用方,运维聚合口的 service 臂);`false` ⇒ 它是**无身份调用方**,各面按既有的「过了凭据门、没有主体」那一臂答
1363
1397
  * (fleet 读面 401 identity、运维聚合口 401 operator、舰队流多租 401 principal_required / 单用户落 `default`、写档 401 identity、无主 placed 子代 404)。
1364
- * 只改一处:`http/principal-gate.ts` 的 `actsForDeployment` 多这一个合取项 —— 它的两个读者(fleet 调用方的凭据臂、`/metrics*` 的 service 臂)一次继承,
1398
+ * 只改一处:`http/principal-gate.ts` 的 `actsForDeployment` 多这一个合取项 —— 它的两个读者(fleet 调用方的那一格、`/metrics*` 族)一次继承,
1365
1399
  * 零新拒码、零新闸点;自报位 `/health.auth.serviceTokenActsForDeployment` = 配了 service 凭据 ∧ 本位。没配 service 凭据的部署上声明 `false` 是空真(那一臂本来就够不着)。
1366
1400
  * env 独有(词表布尔,词表外拒启;没有 `config.d` 文件形、没有中心写位),起服读一次、热路径够不着(不是热键)。
1367
1401
  */
@@ -1859,20 +1893,20 @@ export interface ServiceConfigFlat {
1859
1893
  * core 自动延迟」这句(本行旧文案)作废:缺省窗下一个中小 MCP 名册够不着阈值,首请求带全 schema。
1860
1894
  * 唯一不受门的是调用方的 `TaskSpec.deferTools` 字面名单。口径全文见 src/capabilities/tool-defer.ts 头注。 */
1861
1895
  toolDeferLongtail: boolean;
1862
- /** LSP code-intelligence tool ([ref] §13.1): mount core's `lsp` tool, routed to an E2B LSP sidecar. Requires
1863
- * REMOTE_EXEC=e2b. Default OFF (the on-the-fly language-server install is heavy until an E2B template bakes it).
1864
- * `LSP_ENABLED=true`. */
1865
- lspEnabled: boolean;
1866
- /** TOC local LSP (core 1.190 `NodeLspManager`, host lane only): mount core's `lsp` tool over LOCAL `child_process`
1867
- * language servers (CC `services/lsp` parity). Unlike the sandbox lane it needs NO baked template — just the
1868
- * server binary on PATH, and it DEGRADES gracefully (ENOENT → grep/read) + spawns lazily/cached, so it is DEFAULT
1869
- * ON for the host lane (CC-parity); set `LSP_HOST_ENABLED=false` to opt out. (`REMOTE_EXEC=host` only — ssh/adb/
1870
- * local-docker can't reach a local child process to the right filesystem.)
1871
- * [ref] B4 (lens4 N7): this lane used to share `LSP_ENABLED` with `lspEnabled` above — one env name driving
1872
- * two OPPOSITE defaults. It now has its own knob. 🪦 server 3.0.0: `LSP_ENABLED=false` (the pre-split host
1873
- * opt-out) is a **fail-loud tombstone** — it refuses boot naming `LSP_HOST_ENABLED`; `LSP_ENABLED=true` keeps
1874
- * its own meaning (the sandbox lane's opt-in above) and is unaffected. */
1896
+ /** Local LSP (core `NodeLspManager`): mount core's `lsp` tool over LOCAL `child_process` language servers (CC `services/lsp`
1897
+ * parity) — needs just the server binary on PATH, DEGRADES gracefully (ENOENT → grep/read), spawns lazily/cached ⇒ DEFAULT ON
1898
+ * (`LSP_HOST_ENABLED=false` opts out). The knob is conjoined by the one mint point `createLspManager` with deployment-shape row
1899
+ * `callerOwnsWorkerDisk` (host lane ∧ single-principal) — no other lane mounts LSP. The sandbox-lane knob `LSP_ENABLED` is a
1900
+ * tombstone in settings-schema `RETIRED_ENVS` (refused at the top of `loadConfig`; this repo neither reads nor re-words it). */
1875
1901
  lspHostEnabled: boolean;
1902
+ /** `AUTO_BACKGROUND_ON_TIMEOUT` —— 前台 Bash 命令撞上**它自己的**超时时,合格的命令(资格由引擎判:命令里没有 `git`、首词不是 `sleep`)
1903
+ * 被转成后台任务继续跑,而不是被杀(引擎 `HandsBandOptions.autoBackgroundOnTimeout`;引擎缺省关,本服务作为部署者**缺省开**)。
1904
+ * 同一个开关在引擎里还管第二个触发:有人的输入排队等着本轮边界、而合格命令还在跑 ⇒ 引擎把它转后台好让输入送达(引擎刻意只设一个开关)。
1905
+ * `=false` ⇒ 两件都不做,超时即杀(引擎缺省形)。读点只有一处:手带铸点 `buildHandsBand`(共享基座与 leader 车道同调),每只有手的 Runner 同源。
1906
+ * CC 2.1.316 对位:合格命令缺省武装(`cli316.js:273095`,合格判 ∧ 非显式后台);env `CLAUDE_CODE_AUTO_BACKGROUND_TIMEOUT_MS` 只缩短超时(`cli316.js:266918`),本服务不设对应旋钮。
1907
+ * 只在能把运行中的命令领养成后台的车道上生效(执行环境 `backgroundCapabilities.supportsDetach`);其余车道值照传、引擎与适配器按契约忽略 ——
1908
+ * 这一根旋钮在本车道上生不生效由 `GET /health` 的 `autoBackgroundOnTimeout`(三词)如实报(`capability-facts.ts` 的事实 `autoBackgroundOnTimeout`)。 */
1909
+ autoBackgroundOnTimeout: boolean;
1876
1910
  /** [ref] —— host-lane language-server env **named allowlist** (`LSP_ENV_ALLOW=NAME,NAME`). The language server's env is
1877
1911
  * the engine's `inheritedHostEnv("scrub")` (shape rules + this deployment's declared own credentials); each name here is put back **verbatim** from the service's own env on top of that
1878
1912
  * (`allowlistedEnv`, the same "named keys pass" predicate as the host shell's `inheritEnv:[names]`) — the deployer
@@ -1883,6 +1917,13 @@ export interface ServiceConfigFlat {
1883
1917
  * make it into this list (an absent name is a per-index boot warn) — so every downstream echo of it (the scrub
1884
1918
  * disclosure's `allowed`, the config catalog) carries real key names only, never a value pasted in place of a name. */
1885
1919
  lspEnvAllow: readonly string[];
1920
+ /** settings hook 环境的**点名放回**(`HOOK_ENV_ALLOW=NAME,NAME`;名单型 env 旋钮族,渠道 `host-put-back`)。hook 环境只有一只组合(`hooks/hook-runner.ts` `hookChildEnv`):
1921
+ * 继承 = 十二名基础名单(引擎严格名单臂)∪ 本名单点到的变量(从本服务进程环境原样放回,同一条严格名单臂 —— 本服务自有凭据拒 —— 名是,或值是本服务的某一枚凭据(列表形凭据逐枚比);组合这一刻引擎照样扣下值副本),
1922
+ * 之上叠请求的有效环境层(`settings.env` + hook 自己的变量)。命令腿的子进程 env 与 http 条目 header 的 `$NAME` 插值读同一份;能插哪些名仍由条目 `allowedEnvVars`
1923
+ * ∩ 准入层 `httpHookAllowedEnvVars` 定(只收窄)。服务进程变量进 hook 环境**只有这一个来源**(部署方声明),请求层任何键都授予不了。
1924
+ * `[]` = 缺省(未设 / 空串):不放回任何变量。形错 / 点名名单型旋钮 / 点名本服务自有凭据名 ⇒ 拒启点名第几段、不回显值;本进程环境里没有的名按序号 warn、不进名单;
1925
+ * `REQUIRE_PRINCIPAL=true` ⇒ 恒 `[]`(请求的 settings hooks 在该姿态下不跑;起服 warn 一次)。 */
1926
+ hookEnvAllow: readonly string[];
1886
1927
  /** Graceful drain: how long SIGTERM waits for in-flight turns (live streams + bg/resume legs on this
1887
1928
  * instance) to finish before the hard shutdown. During drain, new billable submissions get 503+Retry-After and
1888
1929
  * /health carries `draining:true`. Default 10min (an interactive turn is minutes, not seconds — a
@@ -2170,7 +2211,7 @@ export interface ServiceConfigFlat {
2170
2211
  /** 部署**要不要求**读拒表的字节地板(`READ_DENY_FLOOR_REQUIRED`,布尔,缺省 false)—— 交引擎 `RunnerDeps.readDenyFloorRequired`
2171
2212
  * (部署姿态座席族的一席,唯一取值点 `buildDeploymentPostureSeats`)。判官是引擎:一个 run 的读拒表有行、而它的执行环境块
2172
2213
  * `keepsReadFloor` 不为真时 —— true ⇒ 准备期拒(`config.read_deny_floor_unkept`,一个命令都不起;同步腿 409);false ⇒ run 照跑,
2173
- * 每 run 一条 operator 通告同码(递归读照读表里的文件,通告不是保护)。出厂读拒档(credentials / agent-config)在岗时每条带手 run 的表都有行;
2214
+ * 每 run 一条同码通告(run 事件流一帧 + 终局结果 `readDenyFloor` + 运维日志一行,同一句点名 `REMOTE_EXEC=<车道>` 与本旋钮;递归读照读表里的文件,通告不是保护)。出厂读拒档(credentials / agent-config)在岗时每条带手 run 的表都有行;
2174
2215
  * 本仓七车道的块今天都不守地板 ⇒ 设 true 的部署上带手 run 一律拒起(起服 warn `read_deny_floor_required_unkept` 先说)。
2175
2216
  * **仅 deployment 席**:TaskSpec 上没有同名键,任务无法放宽自己的部署。 */
2176
2217
  readDenyFloorRequired: boolean;
@@ -2197,7 +2238,7 @@ export interface ServiceConfigFlat {
2197
2238
  * 判点在三个提交门(`POST /v1/runs` 与 A2A `message/send`、`POST /v1/tasks`、`POST /v1/tasks/stream`)的幂等重放之后;续跑 / 唤醒 / 审批作答不判。
2198
2239
  * 属主 `http/run-concurrency-cap.ts`。 */
2199
2240
  runMaxConcurrent: number;
2200
- /** `RUN_MAX_CONCURRENT_PER_PRINCIPAL`:同一**已验提交主体**(`gatedPrincipal`,与成本配额门同键)在本副本的在飞 run 上限(整数,0 / 缺省 = 不设)。
2241
+ /** `RUN_MAX_CONCURRENT_PER_PRINCIPAL`:同一**已验提交主体**(`gatedSubject`,与成本配额门同键)在本副本的在飞 run 上限(整数,0 / 缺省 = 不设)。
2201
2242
  * 无主体请求(无头 service 凭据)不判这一帽,只受 {@link ServiceConfigFlat.runMaxConcurrent}。 */
2202
2243
  runMaxConcurrentPerPrincipal: number;
2203
2244
  /** Operator CEILING on per-task cost (USD) / tokens (1.37 budget gate). A request may ask for a
@@ -2347,15 +2388,15 @@ export interface ServiceConfigFlat {
2347
2388
  configProvider?: ConfigProviderWord;
2348
2389
  /** Root dir holding `config.d/<domain>.json` for the local config source. Env: CONFIG_LOCAL_DIR. */
2349
2390
  configLocalDir?: string;
2350
- /** 本地配置源的目录信任判官(`config-dir-trust.ts`)多信的那一个属主 uid —— 本服务用户与 root 之外,`config.d` 及其路径上的目录与文档还可以属于谁
2391
+ /** 目录信任判官(`config-dir-trust.ts`:本地配置源、LKG 读回、调度共享店三只读者同一只)多信的那一个属主 uid —— 本服务用户与 root 之外,`config.d` / LKG / 调度店及其路径上的目录与文档还可以属于谁
2351
2392
  * (userns-remap 的 bind-mount 呈现为未映射 uid、运维用户持有的配置)。只放宽属主判据,模式判据照校。缺席 = 只信本服务用户与 root。
2352
2393
  * Env: CONFIG_LOCAL_OWNER_UID(形错拒启;解析口 `parseConfigLocalOwnerUid`)。 */
2353
2394
  configLocalOwnerUid?: number;
2354
2395
  }
2355
2396
  /** 组:store(持久化)—— DB 引擎三态、session 后端、SQL coords、快照 BLOB / SendUserFile 对象存储。 */
2356
- export type ServiceStoreConfig = Pick<ServiceConfigFlat, "sessionBackend" | "sessionCacheTtlSec" | "storeProbeIntervalMs" | "storeLockWaitMs" | "dbBackend" | "dbBackendExplicit" | "localDataRoot" | "sealedKeyDir" | "runStoreStrictHydrate" | "tidb" | "pg" | "dbQueryTimeoutMs" | "snapshotBlobStore" | "snapshotBlobSqlMaxBytes" | "snapshotBlobAllowSql" | "fileHistory" | "fileHistoryCapture" | "sendUserFile">;
2397
+ export type ServiceStoreConfig = Pick<ServiceConfigFlat, "sessionBackend" | "sessionCacheTtlSec" | "storeProbeIntervalMs" | "storeLockWaitMs" | "dbBackend" | "dbBackendExplicit" | "localDataRoot" | "sealedKeyDir" | "runStoreStrictHydrate" | "localStoreDurability" | "tidb" | "pg" | "dbQueryTimeoutMs" | "snapshotBlobStore" | "snapshotBlobSqlMaxBytes" | "snapshotBlobAllowSql" | "fileHistory" | "fileHistoryCapture" | "sendUserFile">;
2357
2398
  /** 组:modelPlane(模型面)—— 网关坐标、Anthropic 路线、韧性旋钮、主/廉价 model entry、role 表、降级梯。 */
2358
- export type ServiceModelPlaneConfig = Pick<ServiceConfigFlat, "gatewayBaseUrl" | "gatewayApiKey" | "gatewayFallbackUrls" | "gatewayMaxRetries" | "anthropic" | "resilience" | "model" | "envModel" | "models" | "modelApiKeyEnv" | "modelApiKeys" | "modelRefusals" | "droppedCatalogEntries" | "modelQuotaWeights" | "tiers" | "projects" | "roles" | "atMention" | "cascadeLadder" | "degrade">;
2399
+ export type ServiceModelPlaneConfig = Pick<ServiceConfigFlat, "gatewayBaseUrl" | "gatewayApiKey" | "gatewayFallbackUrls" | "gatewayMaxRetries" | "anthropic" | "resilience" | "model" | "envModel" | "envModelContextWindowSource" | "models" | "contextWindowSources" | "modelApiKeyEnv" | "modelApiKeys" | "modelRefusals" | "droppedCatalogEntries" | "modelQuotaWeights" | "tiers" | "projects" | "roles" | "atMention" | "cascadeLadder" | "degrade">;
2359
2400
  /** 组:approval(审批 / HITL 门)。`directDoorActive` 无 env 解析腿(装配层三域合取的产物),但语义上
2360
2401
  * 就是本组的门状态,故进组;`parseApprovalDomain` 的返回类型相应是 `Omit<…, "directDoorActive">`。 */
2361
2402
  export type ServiceApprovalConfig = Pick<ServiceConfigFlat, "approvalRequire" | "approvalDeny" | "approvalTimeoutSec" | "approvalAskRetentionMs" | "approvalAutoBudget" | "approvalNeverAuto" | "approvalGrant" | "approvalHmacKeys" | "durableApproval" | "durableApprovalSource" | "streamAskWindowMsSource" | "directApprovalDoor" | "directDoorActive" | "resourceSuspend" | "resourceSuspendTtlSec" | "resourceSuspendTotalTokens" | "resourceSuspendTotalBudgetUsd" | "resourceSuspendMaxSlices" | "askQuestionEnabled" | "questionThrottle" | "toolApprovalEnabled" | "permissionRulesEnabled" | "permissionRulesEnabledExplicit" | "streamAskWindowMarginMs" | "streamApproval" | "unattendedApprovalPolicy" | "mcpElicitation" | "sensitiveWritePatterns" | "writeProtectedPaths" | "manualModeShellGate" | "permissionsDisableAutoMode" | "autoModeClassifierFallback" | "autoModeClassifierTimeoutMs" | "crossSessionInbound" | "crossSessionDialogExpiry" | "principalInboxAssistant">;
@@ -2369,7 +2410,7 @@ export type ServiceMemoryConfig = Pick<ServiceConfigFlat, "memoryEngineEnabled"
2369
2410
  * config 这一层它只是一句声明。 */
2370
2411
  export type ServiceAuthConfig = Pick<ServiceConfigFlat, "authToken" | "authTokens" | "allowUnauthedWrites" | "corsOrigins" | "principalHeader" | "requirePrincipal" | "autonomy" | "commandPolicy" | "compliancePosture" | "lockedConfigKeys" | "configCatalogEnabled" | "retentionPolicy" | "retentionSweep" | "operatorPrincipals" | "operatorSingleUser" | "serviceTokenActsForDeployment" | "principalJwtPubkeys" | "principalJwtIss" | "principalJwtAud" | "authBridgeIssuer" | "principalJwtMaxTtlSec" | "bindHost" | "bindHostSource">;
2371
2412
  /** 组:orchestration(编排 + 执行车道 + 沙箱面 + workflow/后台 agent 存留)。 */
2372
- export type ServiceOrchestrationConfig = Pick<ServiceConfigFlat, "sandboxGit" | "remoteExec" | "remoteExecHomeDir" | "worktreeIsolation" | "leaderEnabled" | "leaderFanoutEnabled" | "routerEnabled" | "selfOrchestrationEnabled" | "selfOrchestrationModels" | "selfOrchestrationWorkerIsolation" | "forkEnabled" | "experimentalObserverAgents" | "schedulerEnabled" | "schedulerSessionWakeup" | "schedulerSessionLifetime" | "schedulerStorePath" | "planModeEnabled" | "hooksTimeoutMs" | "workflowRunStoreBackend" | "workflowOrphanGraceMs" | "workflowJournalRetentionMs" | "workflowRunRetentionMs" | "usageWindows" | "workflowAgentsReadOnly" | "workflowSizeGuideline" | "backgroundAgentRetentionMs" | "backgroundAgentStaleRunningMs" | "backgroundAgentStallMs" | "backgroundAgentParkClaimStaleMs" | "delegationEntryCaps" | "rosterRetentionMs" | "leaderRunStaleMs" | "scratchpadSweepTtlMs" | "sandboxPkgSource" | "sandboxPkgSourceCustom" | "sessionAutoTitle" | "sessionAutoTitleSource" | "selectEnvironmentTool" | "envFactsEnabled" | "toolDeferLongtail" | "lspEnabled" | "lspHostEnabled" | "lspEnvAllow" | "imageBakes" | "readFace" | "readFaceSource" | "taskWriteFaceEscalation" | "readDenyPatterns" | "readDenyBuiltinTiers" | "readDenyBuiltinExclude" | "readDenyFloorRequired" | "sandboxReadFloor" | "agentConfigDir" | "configLkgPath" | "configLkgEnabled">;
2413
+ export type ServiceOrchestrationConfig = Pick<ServiceConfigFlat, "sandboxGit" | "remoteExec" | "remoteExecHomeDir" | "worktreeIsolation" | "leaderEnabled" | "leaderFanoutEnabled" | "routerEnabled" | "selfOrchestrationEnabled" | "selfOrchestrationModels" | "selfOrchestrationWorkerIsolation" | "forkEnabled" | "experimentalObserverAgents" | "schedulerEnabled" | "schedulerSessionWakeup" | "schedulerSessionLifetime" | "schedulerStorePath" | "planModeEnabled" | "hooksTimeoutMs" | "workflowRunStoreBackend" | "workflowOrphanGraceMs" | "workflowJournalRetentionMs" | "workflowRunRetentionMs" | "usageWindows" | "workflowAgentsReadOnly" | "workflowSizeGuideline" | "backgroundAgentRetentionMs" | "backgroundAgentStaleRunningMs" | "backgroundAgentStallMs" | "backgroundAgentParkClaimStaleMs" | "delegationEntryCaps" | "rosterRetentionMs" | "leaderRunStaleMs" | "scratchpadSweepTtlMs" | "sandboxPkgSource" | "sandboxPkgSourceCustom" | "sessionAutoTitle" | "sessionAutoTitleSource" | "selectEnvironmentTool" | "envFactsEnabled" | "toolDeferLongtail" | "lspHostEnabled" | "lspEnvAllow" | "hookEnvAllow" | "autoBackgroundOnTimeout" | "imageBakes" | "readFace" | "readFaceSource" | "taskWriteFaceEscalation" | "readDenyPatterns" | "readDenyBuiltinTiers" | "readDenyBuiltinExclude" | "readDenyFloorRequired" | "sandboxReadFloor" | "agentConfigDir" | "configLkgPath" | "configLkgEnabled">;
2373
2414
  /** 组:limitsHttp(HTTP 面 + 各类上限/配额/回收窗)。 */
2374
2415
  export type ServiceLimitsHttpConfig = Pick<ServiceConfigFlat, "port" | "attachmentOrphanGraceMs" | "workspaceFileMaxBytes" | "attachmentMaxBytes" | "attachmentMimeAllowlist" | "attachmentUnboundTtlMs" | "adoptionImportMaxSessions" | "adoptionImportMaxSessionBytes" | "infraCostRates" | "drainGraceMs" | "drainSecondSignalMinGapMs" | "sighupIdleGraceMs" | "parentPid" | "engineAutoExit" | "engineLingerMs" | "engineOrphanLingerMs" | "engineFirstAttachMs" | "engineHandoverLingerMs" | "rateLimitPerMin" | "runMaxConcurrent" | "runMaxConcurrentPerPrincipal" | "maxTaskCostUsd" | "maxTaskTokens" | "maxPrincipalCostUsd" | "costQuotaWindowSec" | "reapIntervalSec" | "runStaleSec" | "toolResultTtlSec">;
2375
2416
  /** 组:observability(可观测)。 */
package/dist/config.d.ts CHANGED
@@ -205,7 +205,7 @@ export declare function entryDeclarableRemoteExec(lane: EntryDeclarableLane): Re
205
205
  *
206
206
  * Semantics are the two dialects' semantics VERBATIM — an opt-in knob is `boolEnv(x, false)`, an opt-out knob is
207
207
  * `boolEnv(x, true)` — for the two literals and for unset. Anything else goes through `parseBoolWord` ([ref]-rc2,
208
- * [ref]): `1`/`0`/`yes`/`no`/`on`/`off` in any case are read as the operator meant them (`LSP_ENABLED=1` reads as
208
+ * [ref]): `1`/`0`/`yes`/`no`/`on`/`off` in any case are read as the operator meant them (`LEADER_ENABLED=1` reads as
209
209
  * "on" to a human, and now to the parser too), and an unknown word REFUSES TO BOOT — it no longer lands on the
210
210
  * default with a warning (that was this helper's first form, retired with [ref]-rc2; [ref] corrected this note).
211
211
  *
@@ -235,22 +235,23 @@ export declare function configKnobTable(): ConfigKnobRecord[];
235
235
  export declare const hostBackgroundShellEnabled: () => boolean;
236
236
  /** The `host` exec lane's spool-file stdio form; false ⇒ the pre-1.226 pipe fallback (read per exec). */
237
237
  export declare const hostExecSpoolEnabled: () => boolean;
238
- /** 名单在活配置里的落点(服务进程四只旋钮;bake-runner 那只在它自己的进程里,不在 `ServiceConfig`)。 */
239
- export type EnvNameAllowlistSeats = Pick<ServiceConfig, "lspEnvAllow" | "remoteExec">;
238
+ /** 名单在活配置里的落点(服务进程五只旋钮;bake-runner 那只在它自己的进程里,不在 `ServiceConfig`)。 */
239
+ export type EnvNameAllowlistSeats = Pick<ServiceConfig, "lspEnvAllow" | "hookEnvAllow" | "remoteExec">;
240
240
  /**
241
241
  * 沙箱名单(表列 `channel: "sandbox-grant"` 的服务侧旋钮,表派生)此刻交出去的名 —— 起服行 `remote_exec_enabled.sandboxEnvKeys` 读它(`boot/execution-env.ts`,
242
242
  * 排序后只出键名)。只有被选中车道的那一只有落点;e2b / k8s 报的是名单点到的键,不含 `SANDBOX_PKG_SOURCE` 推导出的包源变量(那一组是区域常量,装配点另并)。
243
243
  */
244
244
  export declare function sandboxEnvNamesInForce(seats: EnvNameAllowlistSeats): readonly string[];
245
- /** 声明增长后重判的一处命中:哪只旋钮、它交出去的哪个名、判官的拒因({@link ownCredentialNameProblem} 那一句,只回显名)。 */
245
+ /** 声明增长后重判的一处命中:哪只旋钮、它交出去的哪个名、判官的拒因({@link ownCredentialProblem} 那一句,只回显名)。 */
246
246
  export interface OwnCredentialInForce {
247
247
  readonly knob: ServerEnvNameAllowlistKnob;
248
248
  readonly name: string;
249
249
  readonly problem: string;
250
250
  }
251
251
  /**
252
- * 解析器头注 ② 那条不变量在**声明增长**那一刻的半边:对活配置里每只名单此刻交出去的名问**同一只**判官({@link ownCredentialNameProblem} → 引擎
253
- * `inheritEnvPolicyProblem`,读引擎此刻的声明)。读活配置的落点,不重读 env(名单是起服输入;解析那一刻已判过形与当时的声明)。返回每一处命中,空 = 不相交。
252
+ * 解析器头注 ② 那条不变量在**声明增长**那一刻的半边:对活配置里每只名单此刻交出去的名问**同一只**判官({@link ownCredentialProblem} → `ownCredentialVariable`,
253
+ * 读引擎此刻的声明:增长并进的名,与增长并进的值 —— 新条目 `apiKeyEnv` 的值等于名单交出去的某个变量的值,同样命中)。读活配置的落点(名单是起服输入;
254
+ * 解析那一刻已判过形与当时的声明)。返回每一处命中,空 = 不相交。
254
255
  * 调用点只有一处 = 声明增长的那一处(`apply-effective.ts` 的换代声明,真声明之后、席位换装之前)。
255
256
  */
256
257
  export declare function ownCredentialHitsInForce(seats: EnvNameAllowlistSeats): OwnCredentialInForce[];
@@ -300,9 +301,9 @@ export declare function isRosterGateArmed(webAdmin: ServiceConfig["webAdmin"]):
300
301
  * {@link findCcRuleFormNames}(它同时是 `allow` 腿的**唯一**判据,见下方例外说明)。
301
302
  * - 退役名(`bash`/`Task`/`KillShell`…)与 pre-prefix 短名(`figma__x`):[ref](core 7.41.0 [ref])起判据是 core 导出的
302
303
  * **那一只** `judgeRuleToolName`(准备阶段、两只会话规则店、本仓会话规则写口同调),本函数零手写臂;指引 = core 表给的现役指引 /
303
- * 补全协议前缀。退役名里**没有后继**的那一种(判词 `retired` 不带 `currentName`:`TeamCreate` / `TaskOutput` / `MultiEdit`)不在拒面 ——
304
- * `namespaced-rule-name.ts` 的 `isRetiredWithoutSuccessor` 是唯一读法:**有通告席的表**({@link UnmatchableToolNameJudgment} 的 `noticeSeat`)上这一行不拒、原样留着,
305
- * 读这张表的一方说一句(引擎读的请求规则桶由引擎通告;只有本服务读的运维 / 中心名单由装配处日志点名);没有通告席的表(请求体 `neverAuto`)照拒。
304
+ * 补全协议前缀。退役名里**没有后继**的那一种(`TeamCreate` / `TaskOutput` / `MultiEdit`)不在拒面 ——
305
+ * 唯一读法 = 引擎的账(core 7.66.0 [ref],`namespaced-rule-name.ts` 的 `isRetiredLeftOut`):**有通告席的表**({@link UnmatchableToolNameJudgment} 的 `noticeSeat`)上这一行不拒、原样留着,
306
+ * 读这张表的一方说一句(引擎读的请求规则桶由引擎通告;只有本服务读的运维 / 中心名单由装配处日志点名;请求体 `neverAuto` 由本服务据账铸通告)。
306
307
  * - 够不着挂载工具的协议名:**对端段铸不出**(`mcp__github.com`、`mcp__github.com__*`、对端段里的部分通配 `mcp__git*`、超长 / 归一后带连串下划线的服务器段、对端段为空的
307
308
  * `mcp__` / `mcp____x`)—— 前缀对,但引擎铸注册名时归一对端段,而规则对对端段逐字比,永不匹配。判官是引擎的 `judgeRuleToolName`(core 7.43.0 [ref] (b)
308
309
  * 的判词 `unmintable_segment`,句子带它的 guidance 与 1:1 现名);本仓 7.116.0–7.117.x 那只自比 `mintNamespacePrefix` 的对照随之退役。
@@ -365,10 +366,10 @@ export type UnmatchableToolNameJudgment = {
365
366
  readonly behavior: PermissionRule["behavior"];
366
367
  readonly pathBases?: PathRuleBases;
367
368
  /**
368
- * 这张表上退役且**无后继**的名字({@link isRetiredWithoutSuccessor})由谁说那一句:`engine` = 引擎准备期名字审计铸 `config.legacy_tool_name`
369
- * (表经带名单投影的策略到达引擎:请求体 `settings.permissions.deny` / `ask`);`server` = 本服务读这张表的那一处落一行日志(运维 `APPROVAL_REQUIRE` /
370
- * `DENY` / `NEVER_AUTO` 起服、中心 `governance.approvalRequire` 落配)。**在场才不拒**:不拒必须配恰一句话;缺席 = 这张表没有通告席(请求体
371
- * `settings.permissions.neverAuto`:引擎不读这张表,它编成的策略不带名单投影)⇒ 照拒;放行那一天由本服务铸通告(引擎导出「条目 + 句」源之后),那时加第三个席位词。
369
+ * 这张表上退役且**无后继**的名字(引擎的账 {@link isRetiredLeftOut})由谁说那一句:`engine` = 引擎准备期名字审计铸 `config.legacy_tool_name`
370
+ * (表经带名单投影的策略到达引擎:请求体 `settings.permissions.deny` / `ask`);`server` = 本服务读这张表的那一处说(运维 `APPROVAL_REQUIRE` /
371
+ * `DENY` / `NEVER_AUTO` 起服日志、中心 `governance.approvalRequire` 落配日志、请求体 `settings.permissions.neverAuto` 的用户面通告 —— 后者 core 7.66.0 [ref] 起:
372
+ * 本服务据引擎的账铸 `config.legacy_tool_name`,句子与 detail 是引擎的)。**在场才不拒**:不拒必须配恰一句话;缺席 = 这张表没有人说话 ⇒ 照拒。
372
373
  */
373
374
  readonly noticeSeat?: "engine" | "server";
374
375
  };
@@ -582,12 +583,4 @@ export declare function splitLocalRoots(a: {
582
583
  dataRoot: string;
583
584
  configRoot: string;
584
585
  } | undefined;
585
- export declare function resolveBindHost(config: {
586
- bindHost?: string;
587
- /** 缝合审 M5:`bindHost` 的**来源**决定它算不算 operator 明示,见下。 */
588
- bindHostSource?: "BIND_HOST" | "HOST";
589
- allowUnauthedWrites?: boolean;
590
- authToken?: string;
591
- authTokens?: Record<string, string>;
592
- }): string | undefined;
593
586
  //# sourceMappingURL=config.d.ts.map