@sema-agent/server 7.131.0 → 7.133.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 (509) hide show
  1. package/MIGRATION.md +575 -0
  2. package/README.md +12 -9
  3. package/README.zh-CN.md +9 -6
  4. package/USAGE.md +326 -98
  5. package/deploy/sema-up/README.md +19 -1
  6. package/deploy/sema-up/chart/templates/server-v4pro.yaml +5 -2
  7. package/deploy/sema-up/chart/templates/server.yaml +5 -2
  8. package/deploy/sema-up/stack/compose.yaml +3 -0
  9. package/deploy/sema-up/stack/sema-stack-cluster.yaml +4 -2
  10. package/dist/adoption/plan.d.ts +3 -2
  11. package/dist/adoption/plan.js +7 -5
  12. package/dist/adoption/runner.js +3 -10
  13. package/dist/adoption/sql.d.ts +3 -2
  14. package/dist/adoption/sql.js +3 -5
  15. package/dist/adoption/wire.d.ts +4 -1
  16. package/dist/adoption/wire.js +1 -0
  17. package/dist/approval-ask-audit-store.d.ts +31 -13
  18. package/dist/approval-ask-audit-store.js +272 -74
  19. package/dist/approval-ask-machine.d.ts +15 -0
  20. package/dist/approval-ask-machine.js +6 -0
  21. package/dist/approval-ask-retention.d.ts +136 -0
  22. package/dist/approval-ask-retention.js +102 -0
  23. package/dist/approval-card.d.ts +82 -20
  24. package/dist/approval-card.js +46 -16
  25. package/dist/approval-deny-reasons.d.ts +1 -1
  26. package/dist/approval.d.ts +9 -0
  27. package/dist/approval.js +24 -3
  28. package/dist/audit.d.ts +33 -19
  29. package/dist/audit.js +12 -16
  30. package/dist/auth-bridge.d.ts +4 -0
  31. package/dist/auth-bridge.js +10 -11
  32. package/dist/bake-runner/main.js +3 -2
  33. package/dist/boot/deferred-sandbox-path-env.js +1 -1
  34. package/dist/boot/deployment-mods.d.ts +31 -0
  35. package/dist/boot/deployment-mods.js +26 -0
  36. package/dist/boot/execution-env.d.ts +1 -1
  37. package/dist/boot/execution-env.js +27 -12
  38. package/dist/boot/execution-lane.js +11 -0
  39. package/dist/boot/leader.js +2 -0
  40. package/dist/boot/memory-boundary.d.ts +2 -2
  41. package/dist/boot/memory-boundary.js +2 -2
  42. package/dist/boot/memory-consolidation.d.ts +5 -4
  43. package/dist/boot/memory-consolidation.js +7 -6
  44. package/dist/boot/org-delivery.d.ts +28 -0
  45. package/dist/boot/org-delivery.js +20 -0
  46. package/dist/boot/read-deny-anchor-audit.d.ts +17 -0
  47. package/dist/boot/read-deny-anchor-audit.js +36 -0
  48. package/dist/boot/reapers.d.ts +3 -0
  49. package/dist/boot/reapers.js +21 -1
  50. package/dist/boot/resolve-spec.d.ts +4 -5
  51. package/dist/boot/resolve-spec.js +74 -123
  52. package/dist/boot/runner-deps.d.ts +19 -8
  53. package/dist/boot/runner-deps.js +15 -2
  54. package/dist/boot/session-faces.d.ts +2 -7
  55. package/dist/boot/session-faces.js +4 -2
  56. package/dist/boot/stage-02-web-admin-pull.js +4 -1
  57. package/dist/boot/stage-03-store-backend.d.ts +1 -1
  58. package/dist/boot/stage-03-store-backend.js +2 -2
  59. package/dist/boot/stage-04-stores.d.ts +1 -1
  60. package/dist/boot/stage-05-execution-env.d.ts +4 -4
  61. package/dist/boot/stage-05-execution-env.js +7 -10
  62. package/dist/boot/stage-06-runners.d.ts +4 -2
  63. package/dist/boot/stage-06-runners.js +11 -7
  64. package/dist/boot/stage-07-capability-layer.d.ts +4 -2
  65. package/dist/boot/stage-07-capability-layer.js +27 -6
  66. package/dist/boot/stage-08-reapers.d.ts +4 -2
  67. package/dist/boot/stage-08-reapers.js +2 -2
  68. package/dist/boot/stage-09-leader.d.ts +6 -9
  69. package/dist/boot/stage-10-http-server.d.ts +6 -9
  70. package/dist/boot/stage-10-http-server.js +7 -9
  71. package/dist/boot/stores.d.ts +1 -1
  72. package/dist/boot/stores.js +7 -8
  73. package/dist/boot/web-admin.d.ts +4 -3
  74. package/dist/boot/web-admin.js +186 -98
  75. package/dist/boot/workflow-orchestration.d.ts +2 -0
  76. package/dist/boot/workflow-orchestration.js +2 -1
  77. package/dist/brain.js +25 -25
  78. package/dist/breaker-key.d.ts +6 -0
  79. package/dist/breaker-key.js +29 -0
  80. package/dist/budget.js +5 -4
  81. package/dist/caller-text-echo.d.ts +23 -0
  82. package/dist/caller-text-echo.js +21 -0
  83. package/dist/capabilities/brand-identity.d.ts +26 -0
  84. package/dist/capabilities/brand-identity.js +27 -0
  85. package/dist/capabilities/center-plugins.d.ts +7 -0
  86. package/dist/capabilities/center-plugins.js +1 -1
  87. package/dist/capabilities/center-prompts.d.ts +32 -59
  88. package/dist/capabilities/center-prompts.js +18 -32
  89. package/dist/capabilities/composite-members.d.ts +1 -1
  90. package/dist/capabilities/composite-members.js +1 -1
  91. package/dist/capabilities/engine-capabilities.js +2 -1
  92. package/dist/capabilities/execution-lane.js +2 -2
  93. package/dist/capabilities/hands-lane.d.ts +30 -6
  94. package/dist/capabilities/hands-lane.js +11 -1
  95. package/dist/capabilities/mcp-probe.d.ts +48 -3
  96. package/dist/capabilities/mcp-probe.js +47 -135
  97. package/dist/capabilities/scenarios.d.ts +95 -45
  98. package/dist/capabilities/scenarios.js +53 -38
  99. package/dist/capabilities/skills.d.ts +19 -4
  100. package/dist/capabilities/skills.js +30 -10
  101. package/dist/capability-facts.d.ts +34 -4
  102. package/dist/capability-facts.js +28 -2
  103. package/dist/center-config-tier.d.ts +69 -0
  104. package/dist/center-config-tier.js +42 -0
  105. package/dist/checkpoint-identity.d.ts +16 -0
  106. package/dist/checkpoint-identity.js +19 -0
  107. package/dist/config-catalog.d.ts +17 -10
  108. package/dist/config-catalog.js +47 -32
  109. package/dist/config-d-migration.d.ts +3 -1
  110. package/dist/config-d-migration.js +2 -2
  111. package/dist/config-dir-trust.d.ts +114 -0
  112. package/dist/config-dir-trust.js +388 -0
  113. package/dist/config-invariants.d.ts +18 -5
  114. package/dist/config-invariants.js +35 -3
  115. package/dist/config-lkg.d.ts +9 -9
  116. package/dist/config-lkg.js +20 -4
  117. package/dist/config-provider.d.ts +9 -2
  118. package/dist/config-provider.js +18 -6
  119. package/dist/config-types.d.ts +75 -20
  120. package/dist/config-types.js +8 -0
  121. package/dist/config.d.ts +13 -0
  122. package/dist/config.js +137 -62
  123. package/dist/delegated-session-owner.d.ts +185 -0
  124. package/dist/delegated-session-owner.js +119 -0
  125. package/dist/device-protocol.d.ts +5 -3
  126. package/dist/device-protocol.js +1 -1
  127. package/dist/device-ws-hub.js +21 -2
  128. package/dist/device-ws-protocol.d.ts +70 -6
  129. package/dist/device-ws-protocol.js +50 -22
  130. package/dist/elicitation.js +3 -2
  131. package/dist/entry-problems.d.ts +34 -0
  132. package/dist/entry-problems.js +14 -0
  133. package/dist/env-name-allowlist-knobs.d.ts +12 -2
  134. package/dist/env-name-allowlist-knobs.js +5 -4
  135. package/dist/exec-bounds.d.ts +15 -3
  136. package/dist/exec-bounds.js +4 -0
  137. package/dist/execution-lane-caps.d.ts +56 -10
  138. package/dist/execution-lane-caps.js +50 -0
  139. package/dist/field-conflict.d.ts +43 -0
  140. package/dist/field-conflict.js +20 -0
  141. package/dist/fleet/fleet-bus.d.ts +80 -6
  142. package/dist/fleet/fleet-bus.js +41 -9
  143. package/dist/hooks/classic-stations.d.ts +91 -0
  144. package/dist/hooks/classic-stations.js +27 -0
  145. package/dist/hooks/command-spawn.d.ts +57 -0
  146. package/dist/hooks/command-spawn.js +139 -0
  147. package/dist/hooks/hook-llm.d.ts +8 -5
  148. package/dist/hooks/hook-llm.js +79 -36
  149. package/dist/hooks/hook-runner.d.ts +349 -95
  150. package/dist/hooks/hook-runner.js +855 -568
  151. package/dist/hooks/hook-source.d.ts +44 -0
  152. package/dist/hooks/hook-source.js +40 -0
  153. package/dist/http/active-run-conflict.d.ts +5 -13
  154. package/dist/http/active-run-conflict.js +17 -27
  155. package/dist/http/admission.d.ts +8 -2
  156. package/dist/http/admission.js +188 -101
  157. package/dist/http/approval-sweeps.js +99 -21
  158. package/dist/http/caller-trust.d.ts +77 -0
  159. package/dist/http/caller-trust.js +143 -0
  160. package/dist/http/checkpoint-ctx.d.ts +41 -24
  161. package/dist/http/checkpoint-ctx.js +23 -16
  162. package/dist/http/claimed-run.d.ts +14 -0
  163. package/dist/http/claimed-run.js +15 -0
  164. package/dist/http/device-placement.d.ts +2 -4
  165. package/dist/http/device-placement.js +7 -11
  166. package/dist/http/dispatch.d.ts +0 -4
  167. package/dist/http/dispatch.js +15 -13
  168. package/dist/http/durable-run-leg.d.ts +6 -33
  169. package/dist/http/durable-run-leg.js +36 -10
  170. package/dist/http/health-self-report.d.ts +7 -5
  171. package/dist/http/health-self-report.js +4 -18
  172. package/dist/http/owner-access.d.ts +56 -0
  173. package/dist/http/owner-access.js +42 -0
  174. package/dist/http/principal-gate.d.ts +70 -28
  175. package/dist/http/principal-gate.js +61 -15
  176. package/dist/http/readiness.d.ts +11 -5
  177. package/dist/http/readiness.js +10 -3
  178. package/dist/http/refusal-body.d.ts +21 -0
  179. package/dist/http/refusal-body.js +4 -0
  180. package/dist/http/request-guards.d.ts +43 -23
  181. package/dist/http/request-guards.js +53 -17
  182. package/dist/http/resume-ctx-read.d.ts +2 -5
  183. package/dist/http/resume-ctx-read.js +7 -4
  184. package/dist/http/resume-legs.d.ts +28 -4
  185. package/dist/http/resume-legs.js +169 -91
  186. package/dist/http/retired-service-deps.d.ts +43 -0
  187. package/dist/http/retired-service-deps.js +18 -0
  188. package/dist/http/route-ctx.d.ts +44 -28
  189. package/dist/http/route-ctx.js +4 -0
  190. package/dist/http/route-table.js +2 -0
  191. package/dist/http/routes/a2a-serve.js +3 -4
  192. package/dist/http/routes/admin-config-refresh.js +1 -1
  193. package/dist/http/routes/admin-drain.js +1 -1
  194. package/dist/http/routes/admin-memory-optout.js +5 -1
  195. package/dist/http/routes/adoption.js +2 -9
  196. package/dist/http/routes/approvals-assistant.js +49 -48
  197. package/dist/http/routes/background.js +3 -2
  198. package/dist/http/routes/capabilities.js +21 -5
  199. package/dist/http/routes/config-catalog.d.ts +3 -3
  200. package/dist/http/routes/config-catalog.js +1 -1
  201. package/dist/http/routes/devices.js +3 -17
  202. package/dist/http/routes/diagnostics.js +6 -2
  203. package/dist/http/routes/images.js +6 -7
  204. package/dist/http/routes/leader.js +1 -8
  205. package/dist/http/routes/mcp-reconnect.d.ts +1 -1
  206. package/dist/http/routes/mcp-reconnect.js +3 -2
  207. package/dist/http/routes/memory-bundle.js +1 -1
  208. package/dist/http/routes/memory-compliance.js +1 -1
  209. package/dist/http/routes/memory-consolidation.js +1 -1
  210. package/dist/http/routes/memory-origin.js +1 -1
  211. package/dist/http/routes/memory-policy.d.ts +1 -1
  212. package/dist/http/routes/memory-policy.js +3 -2
  213. package/dist/http/routes/notify-wake.js +8 -21
  214. package/dist/http/routes/observability.js +2 -2
  215. package/dist/http/routes/principal-inbox.d.ts +39 -0
  216. package/dist/http/routes/principal-inbox.js +76 -0
  217. package/dist/http/routes/retention-ops.js +2 -9
  218. package/dist/http/routes/rules.js +5 -18
  219. package/dist/http/routes/runs.d.ts +5 -0
  220. package/dist/http/routes/runs.js +34 -107
  221. package/dist/http/routes/session-sync.js +15 -26
  222. package/dist/http/routes/sessions.js +30 -40
  223. package/dist/http/routes/shared-memory.js +2 -13
  224. package/dist/http/routes/side-query.js +8 -7
  225. package/dist/http/routes/tasks.js +67 -21
  226. package/dist/http/routes/workflows.d.ts +351 -0
  227. package/dist/http/routes/workflows.js +153 -119
  228. package/dist/http/send.d.ts +33 -10
  229. package/dist/http/send.js +21 -4
  230. package/dist/http/server.d.ts +27 -18
  231. package/dist/http/server.js +34 -6
  232. package/dist/http/stored-body-replay.js +17 -4
  233. package/dist/http/submit-ctx.d.ts +25 -0
  234. package/dist/http/submit-ctx.js +40 -0
  235. package/dist/http/submit-replay.d.ts +4 -3
  236. package/dist/http/submit-replay.js +5 -4
  237. package/dist/http/wire-types.d.ts +11 -8
  238. package/dist/index.d.ts +2 -2
  239. package/dist/index.js +1 -2
  240. package/dist/lane-home-probe.d.ts +112 -0
  241. package/dist/lane-home-probe.js +101 -0
  242. package/dist/leader/endpoint.d.ts +4 -1
  243. package/dist/leader/endpoint.js +11 -10
  244. package/dist/limit-refusal.d.ts +59 -0
  245. package/dist/limit-refusal.js +15 -0
  246. package/dist/main.js +1 -1
  247. package/dist/mcp-assertion-header.d.ts +32 -19
  248. package/dist/mcp-assertion-header.js +10 -9
  249. package/dist/mcp-tool-faces.d.ts +5 -0
  250. package/dist/mcp-tool-faces.js +6 -4
  251. package/dist/memory-project-layer.d.ts +37 -0
  252. package/dist/memory-project-layer.js +46 -0
  253. package/dist/memory-scope.d.ts +24 -17
  254. package/dist/memory-scope.js +24 -8
  255. package/dist/memory-sync-client.d.ts +27 -13
  256. package/dist/memory-sync-client.js +107 -18
  257. package/dist/model-entry-refusal.d.ts +9 -1
  258. package/dist/model-entry-refusal.js +6 -1
  259. package/dist/model-plane-face.d.ts +51 -0
  260. package/dist/model-plane-face.js +24 -0
  261. package/dist/model-provider.d.ts +44 -12
  262. package/dist/model-provider.js +21 -2
  263. package/dist/model-route-endpoint.d.ts +9 -12
  264. package/dist/model-route-endpoint.js +8 -11
  265. package/dist/model-route-env.d.ts +22 -0
  266. package/dist/model-route-env.js +2 -0
  267. package/dist/model-route-gap.d.ts +60 -30
  268. package/dist/model-route-gap.js +21 -15
  269. package/dist/observability/corrupt-read-seat.d.ts +7 -0
  270. package/dist/observability/corrupt-read-seat.js +9 -0
  271. package/dist/observability/cost-taxonomy.d.ts +7 -7
  272. package/dist/observability/err-text.d.ts +6 -0
  273. package/dist/observability/err-text.js +18 -4
  274. package/dist/observability/fail-open.d.ts +76 -14
  275. package/dist/observability/fail-open.js +76 -14
  276. package/dist/observability/metrics.js +4 -1
  277. package/dist/observability/prompt-manifest.d.ts +33 -82
  278. package/dist/observability/prompt-manifest.js +122 -17
  279. package/dist/observability/run-terminal.js +14 -6
  280. package/dist/observability/secret-env-scrub.d.ts +13 -1
  281. package/dist/observability/secret-env-scrub.js +13 -1
  282. package/dist/observability/tool-trace.d.ts +16 -21
  283. package/dist/observability/tool-trace.js +58 -49
  284. package/dist/operator-ask.d.ts +10 -0
  285. package/dist/operator-ask.js +3 -0
  286. package/dist/orchestration/workflow-agent-session-index.d.ts +12 -12
  287. package/dist/orchestration/workflow-agent-session-index.js +9 -13
  288. package/dist/orchestration/workflow-completion-inbox.d.ts +42 -15
  289. package/dist/orchestration/workflow-completion-inbox.js +13 -0
  290. package/dist/orchestration/workflow-notify-journal.d.ts +13 -32
  291. package/dist/orchestration/workflow-notify-journal.js +27 -34
  292. package/dist/orchestration/workflow-park-decision.d.ts +89 -0
  293. package/dist/orchestration/workflow-park-decision.js +118 -0
  294. package/dist/org-delivery-gate.d.ts +81 -0
  295. package/dist/org-delivery-gate.js +59 -0
  296. package/dist/panel-tool-names.d.ts +23 -0
  297. package/dist/panel-tool-names.js +8 -0
  298. package/dist/parked-decide.d.ts +39 -6
  299. package/dist/parked-decide.js +98 -51
  300. package/dist/parked-revive-surface.d.ts +9 -2
  301. package/dist/parked-revive-surface.js +11 -8
  302. package/dist/per-task-image.d.ts +7 -1
  303. package/dist/per-task-image.js +3 -3
  304. package/dist/permission-rule-list.d.ts +1 -1
  305. package/dist/permission-rule-list.js +2 -2
  306. package/dist/plain-string-record.d.ts +25 -0
  307. package/dist/plain-string-record.js +32 -0
  308. package/dist/plugins/approval-ask-store-file.d.ts +16 -1
  309. package/dist/plugins/approval-ask-store-file.js +21 -0
  310. package/dist/plugins/approval-ask-store-memory.d.ts +18 -1
  311. package/dist/plugins/approval-ask-store-memory.js +34 -2
  312. package/dist/plugins/approval-ask-store-sql.d.ts +25 -0
  313. package/dist/plugins/approval-ask-store-sql.js +37 -1
  314. package/dist/plugins/blob-backend.d.ts +83 -15
  315. package/dist/plugins/blob-backend.js +68 -15
  316. package/dist/plugins/breaker-state-sql.d.ts +2 -2
  317. package/dist/plugins/breaker-state-sql.js +4 -4
  318. package/dist/plugins/caching-session-store.d.ts +3 -0
  319. package/dist/plugins/caching-session-store.js +3 -0
  320. package/dist/plugins/checkpoint-store-sql.d.ts +28 -4
  321. package/dist/plugins/checkpoint-store-sql.js +59 -28
  322. package/dist/plugins/file-history-store-sql.d.ts +5 -2
  323. package/dist/plugins/file-history-store-sql.js +3 -1
  324. package/dist/plugins/file-run-store.d.ts +5 -13
  325. package/dist/plugins/file-run-store.js +9 -0
  326. package/dist/plugins/fork-routing-session-store.d.ts +9 -1
  327. package/dist/plugins/fork-routing-session-store.js +12 -1
  328. package/dist/plugins/host-platform.d.ts +2 -0
  329. package/dist/plugins/host-platform.js +2 -1
  330. package/dist/plugins/k8s-bg-scripts.d.ts +11 -0
  331. package/dist/plugins/k8s-bg-scripts.js +22 -0
  332. package/dist/plugins/local-checkpoint-store.d.ts +2 -0
  333. package/dist/plugins/local-checkpoint-store.js +11 -3
  334. package/dist/plugins/local-session-store.d.ts +1 -1
  335. package/dist/plugins/local-session-store.js +1 -1
  336. package/dist/plugins/local-session-window.d.ts +39 -0
  337. package/dist/plugins/local-session-window.js +54 -0
  338. package/dist/plugins/mailbox-recipient-lifecycle.d.ts +3 -2
  339. package/dist/plugins/mailbox-store-sql.d.ts +30 -48
  340. package/dist/plugins/mailbox-store-sql.js +77 -52
  341. package/dist/plugins/memory-embedder-fingerprint.js +2 -1
  342. package/dist/plugins/memory-run-store.d.ts +5 -13
  343. package/dist/plugins/memory-run-store.js +8 -0
  344. package/dist/plugins/one-time-migrations.d.ts +245 -93
  345. package/dist/plugins/one-time-migrations.js +668 -207
  346. package/dist/plugins/org-delivery-quota-store.d.ts +123 -0
  347. package/dist/plugins/org-delivery-quota-store.js +228 -0
  348. package/dist/plugins/permission-rule-store-sql.d.ts +13 -7
  349. package/dist/plugins/permission-rule-store-sql.js +4 -18
  350. package/dist/plugins/pg-pool.js +39 -7
  351. package/dist/plugins/pg-session-storage.d.ts +20 -8
  352. package/dist/plugins/pg-session-storage.js +34 -21
  353. package/dist/plugins/remote-env-adb.d.ts +12 -12
  354. package/dist/plugins/remote-env-adb.js +21 -6
  355. package/dist/plugins/remote-env-device.js +3 -0
  356. package/dist/plugins/remote-env-e2b.d.ts +1 -1
  357. package/dist/plugins/remote-env-e2b.js +21 -9
  358. package/dist/plugins/remote-env-host.d.ts +9 -9
  359. package/dist/plugins/remote-env-host.js +10 -32
  360. package/dist/plugins/remote-env-k8s.d.ts +103 -38
  361. package/dist/plugins/remote-env-k8s.js +288 -95
  362. package/dist/plugins/remote-env-local-docker.d.ts +27 -13
  363. package/dist/plugins/remote-env-local-docker.js +82 -11
  364. package/dist/plugins/remote-env-ssh.d.ts +21 -12
  365. package/dist/plugins/remote-env-ssh.js +117 -5
  366. package/dist/plugins/remote-shell.d.ts +0 -1
  367. package/dist/plugins/remote-shell.js +1 -2
  368. package/dist/plugins/retention-store-sql.js +6 -2
  369. package/dist/plugins/run-store-sql.d.ts +16 -14
  370. package/dist/plugins/run-store-sql.js +22 -2
  371. package/dist/plugins/schema-consistency.d.ts +54 -0
  372. package/dist/plugins/schema-consistency.js +52 -0
  373. package/dist/plugins/schema-indexes.js +2 -0
  374. package/dist/plugins/send-user-file.js +2 -2
  375. package/dist/plugins/session-epoch-anchor.d.ts +39 -0
  376. package/dist/plugins/session-epoch-anchor.js +22 -0
  377. package/dist/plugins/session-store.d.ts +18 -8
  378. package/dist/plugins/session-store.js +15 -4
  379. package/dist/plugins/shared-memory-store-sql.d.ts +9 -3
  380. package/dist/plugins/shared-memory-store-sql.js +5 -16
  381. package/dist/plugins/sql-driver.d.ts +205 -1
  382. package/dist/plugins/sql-driver.js +325 -13
  383. package/dist/plugins/sql-errors.d.ts +64 -0
  384. package/dist/plugins/sql-errors.js +57 -0
  385. package/dist/plugins/store-backend.d.ts +36 -1
  386. package/dist/plugins/store-backend.js +42 -15
  387. package/dist/plugins/store-contracts.d.ts +42 -0
  388. package/dist/plugins/store-contracts.js +1 -0
  389. package/dist/plugins/tidb-pool.d.ts +6 -1
  390. package/dist/plugins/tidb-pool.js +44 -10
  391. package/dist/plugins/tidb-session-storage.d.ts +8 -11
  392. package/dist/plugins/tidb-session-storage.js +6 -16
  393. package/dist/plugins/tidb-session-store.d.ts +24 -4
  394. package/dist/plugins/tidb-session-store.js +29 -5
  395. package/dist/plugins/workflow-journal-store-sql.d.ts +73 -19
  396. package/dist/plugins/workflow-journal-store-sql.js +19 -6
  397. package/dist/plugins/workflow-run-store-sql.d.ts +30 -8
  398. package/dist/plugins/workflow-run-store-sql.js +50 -9
  399. package/dist/posture-source.d.ts +18 -10
  400. package/dist/posture-source.js +4 -1
  401. package/dist/project-identity.d.ts +45 -6
  402. package/dist/project-identity.js +162 -8
  403. package/dist/project-layer-key.d.ts +28 -0
  404. package/dist/project-layer-key.js +29 -0
  405. package/dist/prompts-domain-validate.d.ts +17 -61
  406. package/dist/prompts-domain-validate.js +9 -119
  407. package/dist/question.js +3 -2
  408. package/dist/read-deny-entry.d.ts +25 -0
  409. package/dist/read-deny-entry.js +12 -0
  410. package/dist/read-face-posture.d.ts +37 -11
  411. package/dist/read-face-posture.js +32 -3
  412. package/dist/request-key-closure.d.ts +9 -2
  413. package/dist/request-key-closure.js +11 -5
  414. package/dist/request-value-closure.d.ts +5 -0
  415. package/dist/request-value-closure.js +11 -3
  416. package/dist/rule-entry-list.d.ts +38 -11
  417. package/dist/rule-entry-list.js +106 -30
  418. package/dist/rules-consent.js +3 -4
  419. package/dist/run-acceptance.d.ts +19 -3
  420. package/dist/run-acceptance.js +13 -1
  421. package/dist/run-local.js +54 -24
  422. package/dist/runs.d.ts +15 -8
  423. package/dist/runs.js +35 -1
  424. package/dist/runtime-caps-resolver.d.ts +16 -6
  425. package/dist/runtime-caps-resolver.js +18 -5
  426. package/dist/sandbox-pkg-source.d.ts +19 -1
  427. package/dist/sandbox-pkg-source.js +29 -7
  428. package/dist/security.d.ts +87 -9
  429. package/dist/security.js +52 -9
  430. package/dist/server-secret-env.d.ts +44 -18
  431. package/dist/server-secret-env.js +49 -8
  432. package/dist/session-error-wire.d.ts +19 -2
  433. package/dist/session-error-wire.js +5 -1
  434. package/dist/session-incarnation.d.ts +15 -5
  435. package/dist/session-incarnation.js +16 -9
  436. package/dist/session-titled-frame.d.ts +33 -0
  437. package/dist/session-titled-frame.js +4 -0
  438. package/dist/session-titler.d.ts +9 -1
  439. package/dist/session-titler.js +27 -6
  440. package/dist/spec-fields.d.ts +28 -16
  441. package/dist/spec-fields.js +66 -54
  442. package/dist/sql-engine-posture.d.ts +31 -4
  443. package/dist/sql-engine-posture.js +36 -1
  444. package/dist/stored-request-tool-axes-m19.d.ts +19 -4
  445. package/dist/stored-request-tool-axes-m19.js +30 -2
  446. package/dist/task-a2a.d.ts +9 -1
  447. package/dist/task-a2a.js +73 -47
  448. package/dist/task-cwd.d.ts +1 -1
  449. package/dist/task-mcp.d.ts +46 -58
  450. package/dist/task-mcp.js +82 -107
  451. package/dist/task-settings.d.ts +95 -108
  452. package/dist/task-settings.js +77 -98
  453. package/dist/text-bidi.d.ts +1 -48
  454. package/dist/text-bidi.js +3 -5
  455. package/dist/tighten-only-seats.d.ts +150 -0
  456. package/dist/tighten-only-seats.js +196 -0
  457. package/dist/tool-approval.d.ts +304 -88
  458. package/dist/tool-approval.js +623 -239
  459. package/dist/trace/core-keyset-guard.d.ts +122 -20
  460. package/dist/trace/engine-notice-wire.d.ts +11 -3
  461. package/dist/trace/engine-notice-wire.js +8 -1
  462. package/dist/trace/exit-seat.d.ts +28 -0
  463. package/dist/trace/exit-seat.js +76 -0
  464. package/dist/trace/ledger-events.d.ts +6 -3
  465. package/dist/trace/ledger-sink.js +4 -1
  466. package/dist/trace/model-segment.js +1 -1
  467. package/dist/trace/project.d.ts +98 -17
  468. package/dist/trace/project.js +98 -50
  469. package/dist/trace/projection-table.d.ts +100 -0
  470. package/dist/trace/projection-table.js +130 -0
  471. package/dist/trace/redact.d.ts +54 -0
  472. package/dist/trace/redact.js +778 -152
  473. package/dist/trace/self-minted-wire.d.ts +345 -1
  474. package/dist/trace/self-minted-wire.js +117 -1
  475. package/dist/trace/wire-projection-faces.d.ts +377 -3
  476. package/dist/trace/wire-projection-faces.js +164 -1
  477. package/dist/url-refusal.js +2 -0
  478. package/dist/web-admin-client/apply-effective.d.ts +12 -0
  479. package/dist/web-admin-client/apply-effective.js +56 -5
  480. package/dist/web-admin-client/candidate-gate.d.ts +6 -6
  481. package/dist/web-admin-client/candidate-gate.js +3 -3
  482. package/dist/web-admin-client/facade.d.ts +1 -1
  483. package/dist/web-admin-client/facade.js +1 -1
  484. package/dist/web-admin-client/http-client.js +0 -6
  485. package/dist/web-admin-client/read-face.js +5 -9
  486. package/dist/web-admin-client/read-warnings.d.ts +13 -0
  487. package/dist/web-admin-client/read-warnings.js +10 -0
  488. package/dist/web-admin-client/skills-mcp.d.ts +3 -0
  489. package/dist/web-admin-client/skills-mcp.js +11 -9
  490. package/dist/web-admin-client/types.d.ts +2 -3
  491. package/dist/workspace-cache.d.ts +35 -0
  492. package/dist/workspace-cache.js +36 -0
  493. package/dist/workspace-space.d.ts +3 -2
  494. package/dist/workspace-space.js +2 -0
  495. package/docs/DEVICE-EXECUTOR-PROTOCOL.md +65 -10
  496. package/package.json +8 -4
  497. package/scripts/drain-check-local.mjs +34 -1
  498. package/scripts/drain-check.mysql.sql +30 -2
  499. package/scripts/drain-check.pg.sql +29 -2
  500. package/dist/capabilities/memory-notice.d.ts +0 -138
  501. package/dist/capabilities/memory-notice.js +0 -64
  502. package/dist/capabilities/prompt.d.ts +0 -17
  503. package/dist/capabilities/prompt.js +0 -6
  504. package/dist/mcp-content-origin.d.ts +0 -34
  505. package/dist/mcp-content-origin.js +0 -10
  506. package/dist/tool-axis-words.d.ts +0 -27
  507. package/dist/tool-axis-words.js +0 -9
  508. package/dist/wire-name-bound.d.ts +0 -14
  509. package/dist/wire-name-bound.js +0 -13
@@ -69,6 +69,7 @@ export interface SessionFacesCtx {
69
69
  export declare function createSessionFaces(ctx: SessionFacesCtx): {
70
70
  ownerAware: OwnerAwareSessionStore;
71
71
  sessionAudit: ((sessionId: string, opts?: SessionAuditReadOpts) => Promise<{
72
+ agent?: import("../audit.js").SessionAgent | undefined;
72
73
  owner: string | null;
73
74
  sessionId: string;
74
75
  createdAt: string;
@@ -79,13 +80,7 @@ export declare function createSessionFaces(ctx: SessionFacesCtx): {
79
80
  modelId: string;
80
81
  } | null;
81
82
  messages: unknown[];
82
- promptEpoch?: {
83
- epoch: number;
84
- artifactDigest: string;
85
- packId: string;
86
- assemblyApi: number;
87
- activatedBy: "session_start" | "compaction" | "legacy_migration";
88
- };
83
+ promptEpoch?: import("@sema-agent/core").StoredPromptEpoch;
89
84
  } | undefined>) | undefined;
90
85
  sessionWatchRegistry: SessionWatchRegistry | undefined;
91
86
  purgeSession: ((sessionId: string, owner: string | null) => Promise<{
@@ -1,4 +1,4 @@
1
- import { buildRewindHandles, buildSessionAudit, buildSessionAuditLocal, buildSessionAuditPg } from "../audit.js";
1
+ import { buildRewindHandles, buildSessionAudit, buildSessionAuditLocal, buildSessionAuditPg, sessionAgentOf } from "../audit.js";
2
2
  import { makeDegenerateInstrument } from "../degenerate-instrument.js";
3
3
  import { PlanCacheProbe } from "../plan-cache-probe.js";
4
4
  import { purgeScratchpadDir } from "../env-facts.js";
@@ -25,7 +25,9 @@ export function createSessionFaces(ctx) {
25
25
  : await buildSessionAuditLocal(auditLocalRoot, sessionId, handles);
26
26
  if (!audit)
27
27
  return undefined;
28
- return { ...audit, owner: (await ownerAware.ownerOf?.(sessionId)) ?? null };
28
+ const [owner, placement] = await Promise.all([ownerAware.ownerOf?.(sessionId), opts !== undefined ? ownerAware.placementOf?.(sessionId) : undefined]);
29
+ const agent = sessionAgentOf(placement);
30
+ return { ...audit, owner: owner ?? null, ...(agent !== undefined ? { agent } : {}) };
29
31
  }
30
32
  : undefined;
31
33
  const sessionWatchRegistry = ownerAware.getHead && ownerAware.ownerOf
@@ -3,6 +3,7 @@ import { createWebAdminRuntime } from "./web-admin.js";
3
3
  import { composeExecutionLane, FILE_SOURCED_LANES } from "./execution-lane.js";
4
4
  import { serviceConfigSourceKind } from "../config-provider.js";
5
5
  import { logConfigDirMigration, migrateLocalConfigDirectory } from "../config-d-migration.js";
6
+ import { assertLocalConfigDirTrusted } from "../config-dir-trust.js";
6
7
  import { defaultModelRefusal, refusedNameMintedRefusal } from "../model-entry-refusal.js";
7
8
  import { isRosterGateArmed } from "../config.js";
8
9
  import { judgeServedModelRoute } from "../model-route-endpoint.js";
@@ -10,8 +11,10 @@ import { servedModelTableLeg } from "../model-select.js";
10
11
  export async function runStage02(ctx) {
11
12
  const { config, localRoot, logger, metrics } = ctx;
12
13
  const configSource = serviceConfigSourceKind(config);
13
- if (configSource === "local")
14
+ if (configSource === "local") {
15
+ await assertLocalConfigDirTrusted({ root: localRoot, declaredOwnerUid: config.configLocalOwnerUid });
14
16
  logConfigDirMigration(logger, await migrateLocalConfigDirectory(localRoot));
17
+ }
15
18
  await composeExecutionLane(config, { configSource, localRoot, logger, drivesFromFile: FILE_SOURCED_LANES });
16
19
  const webAdmin = await createWebAdminRuntime({ config, logger, metrics, localRoot });
17
20
  const servedLeg = servedModelTableLeg(config);
@@ -19,7 +19,7 @@ export declare function runStage03(ctx: Awaited<ReturnType<typeof runStage02>>):
19
19
  sessionCaptureRecordStore: import("@sema-agent/core").SessionCaptureRecordStore | undefined;
20
20
  sessionCaptureRecords: import("../index.js").SessionCaptureRecordSource | undefined;
21
21
  sessionStore: import("@sema-agent/core").SessionStore;
22
- sqlEngineFacts: (() => import("../plugins/sql-driver.js").SqlEngineFacts | null) | undefined;
22
+ sqlEngine: import("../plugins/sql-driver.js").SqlEngineReading | undefined;
23
23
  storePosture: import("../store-posture.js").StorePosture;
24
24
  taskAttachmentStore: import("../plugins/task-attachment-store.js").TaskAttachmentStore | undefined;
25
25
  taskListLane: import("./task-list-lane.js").TaskListLane;
@@ -2,10 +2,10 @@ import { uuidv7 } from "@sema-agent/core";
2
2
  import { openStores } from "./stores.js";
3
3
  export async function runStage03(ctx) {
4
4
  const { config, localRoot, logger, metrics } = ctx;
5
- const { backend, storePosture, memoryEngine, engineDataRoot, memorySyncCursors, rosterStore, backgroundAgentStore, taskAttachmentStore, mailboxStore, mailboxRecipientLifecycle, memoryExportBackend, memorySyncRunner, sessionStore, breakerState, usageWindowStore, memoryPosture, taskListLane, sqlEngineFacts, } = await openStores({ config, logger, metrics, localRoot });
5
+ const { backend, storePosture, memoryEngine, engineDataRoot, memorySyncCursors, rosterStore, backgroundAgentStore, taskAttachmentStore, mailboxStore, mailboxRecipientLifecycle, memoryExportBackend, memorySyncRunner, sessionStore, breakerState, usageWindowStore, memoryPosture, taskListLane, sqlEngine, } = await openStores({ config, logger, metrics, localRoot });
6
6
  const instanceId = uuidv7();
7
7
  const sessionCaptureRecords = backend?.sessionCaptureRecords();
8
8
  const sessionCaptureRecordStore = sessionCaptureRecords?.();
9
- return { ...ctx, backend, backgroundAgentStore, breakerState, engineDataRoot, instanceId, mailboxRecipientLifecycle, mailboxStore, memoryEngine, memoryExportBackend, memoryPosture, memorySyncCursors, memorySyncRunner, rosterStore, sessionCaptureRecordStore, sessionCaptureRecords, sessionStore, sqlEngineFacts, storePosture, taskAttachmentStore, taskListLane, usageWindowStore };
9
+ return { ...ctx, backend, backgroundAgentStore, breakerState, engineDataRoot, instanceId, mailboxRecipientLifecycle, mailboxStore, memoryEngine, memoryExportBackend, memoryPosture, memorySyncCursors, memorySyncRunner, rosterStore, sessionCaptureRecordStore, sessionCaptureRecords, sessionStore, sqlEngine, storePosture, taskAttachmentStore, taskListLane, usageWindowStore };
10
10
  }
11
11
  //# sourceMappingURL=stage-03-store-backend.js.map
@@ -60,7 +60,7 @@ export declare function runStage04(ctx: Awaited<ReturnType<typeof runStage03>>):
60
60
  sessionCaptureRecordStore: import("@sema-agent/core").SessionCaptureRecordStore | undefined;
61
61
  sessionCaptureRecords: import("../index.js").SessionCaptureRecordSource | undefined;
62
62
  sessionStore: import("@sema-agent/core").SessionStore;
63
- sqlEngineFacts: (() => import("../plugins/sql-driver.js").SqlEngineFacts | null) | undefined;
63
+ sqlEngine: import("../plugins/sql-driver.js").SqlEngineReading | undefined;
64
64
  storePosture: import("../store-posture.js").StorePosture;
65
65
  taskAttachmentStore: import("../plugins/task-attachment-store.js").TaskAttachmentStore | undefined;
66
66
  taskListLane: import("./task-list-lane.js").TaskListLane;
@@ -1,6 +1,6 @@
1
1
  import type { runStage04 } from "./stage-04-stores.js";
2
- export declare function runStage05(ctx: Awaited<ReturnType<typeof runStage04>>): {
3
- deploymentHooks: import("@sema-agent/core").Hooks;
2
+ export declare function runStage05(ctx: Awaited<ReturnType<typeof runStage04>>): Promise<{
3
+ deploymentMods: readonly import("@sema-agent/core").ModRegistration<import("@sema-agent/core").EngineDollar>[];
4
4
  deviceLane: import("./device-lane.js").DeviceLane | undefined;
5
5
  dropSessionScoped: (sid: string) => void;
6
6
  executionEnvFactory: import("@sema-agent/core").ExecutionEnvFactory | undefined;
@@ -75,7 +75,7 @@ export declare function runStage05(ctx: Awaited<ReturnType<typeof runStage04>>):
75
75
  sessionCaptureRecordStore: import("@sema-agent/core").SessionCaptureRecordStore | undefined;
76
76
  sessionCaptureRecords: import("../index.js").SessionCaptureRecordSource | undefined;
77
77
  sessionStore: import("@sema-agent/core").SessionStore;
78
- sqlEngineFacts: (() => import("../plugins/sql-driver.js").SqlEngineFacts | null) | undefined;
78
+ sqlEngine: import("../plugins/sql-driver.js").SqlEngineReading | undefined;
79
79
  storePosture: import("../store-posture.js").StorePosture;
80
80
  taskAttachmentStore: import("../plugins/task-attachment-store.js").TaskAttachmentStore | undefined;
81
81
  taskListLane: import("./task-list-lane.js").TaskListLane;
@@ -86,5 +86,5 @@ export declare function runStage05(ctx: Awaited<ReturnType<typeof runStage04>>):
86
86
  localRoot: string;
87
87
  logger: import("../index.js").Logger;
88
88
  metrics: import("../index.js").Metrics;
89
- };
89
+ }>;
90
90
  //# sourceMappingURL=stage-05-execution-env.d.ts.map
@@ -1,12 +1,12 @@
1
- import { createToolTracer, createPermissionDeniedMeter } from "../observability/tool-trace.js";
2
- import { composeHooks } from "../hooks/hook-runner.js";
1
+ import { assertDeploymentModsAdmitted, createDeploymentMods } from "./deployment-mods.js";
2
+ import { isBrandedDeployment } from "../capabilities/brand-identity.js";
3
3
  import { assertDeviceLaneWired, createDeviceLane } from "./device-lane.js";
4
4
  import { assertWorkspaceSpaceReadable, createExecutionEnv } from "./execution-env.js";
5
5
  import { incarnationReadOf } from "../session-incarnation.js";
6
6
  import * as facts from "../capability-facts.js";
7
7
  import { sessionStoreLabelOf } from "../store-posture.js";
8
8
  import { runStore } from "./late-binds.js";
9
- export function runStage05(ctx) {
9
+ export async function runStage05(ctx) {
10
10
  const { backend, config, instanceId, logger, metrics, sessionStore, taskAttachmentStore } = ctx;
11
11
  const deviceLane = config.remoteExec?.provider === "device" ? createDeviceLane({ config, logger, metrics, backend, replicaId: instanceId }) : undefined;
12
12
  const incarnationOf = incarnationReadOf(sessionStore);
@@ -14,13 +14,10 @@ export function runStage05(ctx) {
14
14
  const { perTaskImage, sessionEnvSelection, perSessionCwd, setSessionCwd, setSessionShellEnv, setSessionInheritEnv, fenceSessionOwner, dropSessionScoped, executionEnvFactory, worktreeReap, sendUserFileTaskEnvs, lspManager, spaceReclaimer, } = createExecutionEnv({ config, logger, metrics, taskAttachmentStore, ...(deviceLane ? { deviceLane } : {}), ...(spaceCommits !== undefined ? { spaceCommits } : {}), ...(incarnationOf !== undefined ? { incarnationOf } : {}) });
15
15
  assertDeviceLaneWired(config.remoteExec?.provider === "device", deviceLane, executionEnvFactory !== undefined);
16
16
  assertWorkspaceSpaceReadable(facts.workspaceSpace(config), { incarnationOf, spaceCommits }, facts.workspaceCache(config), sessionStoreLabelOf(config.sessionBackend, backend?.kind));
17
- const toolTracer = config.toolTrace ? createToolTracer(logger) : undefined;
18
- if (toolTracer)
17
+ const deploymentMods = createDeploymentMods({ metrics, ...(config.toolTrace ? { traceLogger: logger } : {}), brandIdentity: isBrandedDeployment(config) });
18
+ if (config.toolTrace)
19
19
  logger.info("tool_trace_enabled", {});
20
- const deploymentHooks = {
21
- ...(toolTracer ? composeHooks(createPermissionDeniedMeter(metrics), toolTracer) : createPermissionDeniedMeter(metrics)),
22
- ...(config.hooksTimeoutMs !== undefined ? { timeoutMs: config.hooksTimeoutMs } : {}),
23
- };
24
- return { ...ctx, deploymentHooks, deviceLane, dropSessionScoped, executionEnvFactory, fenceSessionOwner, lspManager, spaceReclaimer, perSessionCwd, perTaskImage, sendUserFileTaskEnvs, sessionEnvSelection, setSessionCwd, setSessionInheritEnv, setSessionShellEnv, worktreeReap };
20
+ await assertDeploymentModsAdmitted(deploymentMods);
21
+ return { ...ctx, deploymentMods, deviceLane, dropSessionScoped, executionEnvFactory, fenceSessionOwner, lspManager, spaceReclaimer, perSessionCwd, perTaskImage, sendUserFileTaskEnvs, sessionEnvSelection, setSessionCwd, setSessionInheritEnv, setSessionShellEnv, worktreeReap };
25
22
  }
26
23
  //# sourceMappingURL=stage-05-execution-env.js.map
@@ -51,6 +51,7 @@ export declare function runStage06(ctx: Awaited<ReturnType<typeof runStage05>>):
51
51
  workflowCompletionInbox: import("../orchestration/workflow-completion-inbox.js").WorkflowCompletionInbox | undefined;
52
52
  workflowJournalStore: import("../plugins/store-backend.js").ServiceWorkflowJournalStore | undefined;
53
53
  workflowModelAllowlistSnapshot: readonly string[];
54
+ workflowParkDecisions: import("../orchestration/workflow-park-decision.js").WorkflowParkDecisionStore | undefined;
54
55
  workflowNotifyGate: import("../orchestration/workflow-notify-journal.js").WorkflowNotifyGate | undefined;
55
56
  workflowNotifyJournal: import("../orchestration/workflow-notify-journal.js").WorkflowNotifyJournalStore | undefined;
56
57
  workflowRecoverOpts: {
@@ -60,7 +61,8 @@ export declare function runStage06(ctx: Awaited<ReturnType<typeof runStage05>>):
60
61
  };
61
62
  workflowRunStore: import("../orchestration/workflow-notify-journal.js").JournalingWorkflowRunStore | undefined;
62
63
  workflowsCapable: boolean;
63
- deploymentHooks: import("@sema-agent/core").Hooks;
64
+ orgDeliveryGate: import("@sema-agent/core").OrgDeliveryGate | undefined;
65
+ deploymentMods: readonly import("@sema-agent/core").ModRegistration<import("@sema-agent/core").EngineDollar>[];
64
66
  deviceLane: import("./device-lane.js").DeviceLane | undefined;
65
67
  dropSessionScoped: (sid: string) => void;
66
68
  executionEnvFactory: import("@sema-agent/core").ExecutionEnvFactory | undefined;
@@ -135,7 +137,7 @@ export declare function runStage06(ctx: Awaited<ReturnType<typeof runStage05>>):
135
137
  sessionCaptureRecordStore: import("@sema-agent/core").SessionCaptureRecordStore | undefined;
136
138
  sessionCaptureRecords: import("../index.js").SessionCaptureRecordSource | undefined;
137
139
  sessionStore: import("@sema-agent/core").SessionStore;
138
- sqlEngineFacts: (() => import("../plugins/sql-driver.js").SqlEngineFacts | null) | undefined;
140
+ sqlEngine: import("../plugins/sql-driver.js").SqlEngineReading | undefined;
139
141
  storePosture: import("../store-posture.js").StorePosture;
140
142
  taskAttachmentStore: import("../plugins/task-attachment-store.js").TaskAttachmentStore | undefined;
141
143
  taskListLane: import("./task-list-lane.js").TaskListLane;
@@ -4,8 +4,10 @@ import { createSessionTitler } from "../session-titler.js";
4
4
  import { cardRuleScopeRoot } from "../task-cwd.js";
5
5
  import { ForkRoutingSessionStore } from "../plugins/fork-routing-session-store.js";
6
6
  import { withoutHands } from "../capabilities/hands-lane.js";
7
+ import { isBrandedDeployment } from "../capabilities/brand-identity.js";
7
8
  import { redactSecrets } from "../trace/redact.js";
8
9
  import { hasServiceAuth } from "../http/server.js";
10
+ import { operatorRosterPresent } from "../http/principal-gate.js";
9
11
  import { workflowModelAllowlistFor } from "../task-workflow.js";
10
12
  import { createHookLlm, buildHookFailureText } from "../hooks/hook-llm.js";
11
13
  import { assertRetentionLaneWirable } from "./retention-lane.js";
@@ -20,11 +22,12 @@ import { defaultEngineNoticeRouter } from "../trace/engine-notice-wire.js";
20
22
  import { createOrgMemoryAdmissionWiring } from "./org-memory.js";
21
23
  import { createGovernanceSeams } from "./governance-seams.js";
22
24
  import { createSharedMemoryScopeAuthorizer } from "../shared-memory-scope-authorizer.js";
25
+ import { mountOrgDeliveryGate } from "./org-delivery.js";
23
26
  import { parkedAskRedeem, runStore } from "./late-binds.js";
24
27
  import { withInternalRunEnvs } from "../internal-run-env.js";
25
28
  export function runStage06(ctx) {
26
- const { backend, backgroundAgentStore, brain, engineDataRoot, config, webAdmin, consolidationValve, deploymentHooks, executionEnvFactory, fileHistoryStore, localRoot, logger, lspManager, mailboxRecipientLifecycle, mailboxStore, memoryEngine, memorySyncRunner, metrics, perSessionCwd, permissionRuleProvider, pricing, rosterStore, ruleConsent, sendUserFileTaskEnvs, sessionCaptureRecordStore, sessionCaptureRecords, sessionPolicyStore, sessionStore, taskAttachmentStore, taskListLane, toolResultStore, tracer, usageWindowStore } = ctx;
27
- const { sqlWorkflowRunStore, workflowNotifyJournal, workflowCompletionInbox, deliverWorkflowCompletion, workflowNotifyGate, fleetBus, workflowRunStore, workflowJournalStore, outcomeSink, workflowRecoverOpts, workflowAgentRegistry, subagentSteerRegistry, workflowAgentSessionIndex, } = createWorkflowOrchestration({ config, logger, metrics, localRoot, backend, getRunStore: () => runStore });
29
+ const { backend, backgroundAgentStore, brain, engineDataRoot, config, webAdmin, consolidationValve, deploymentMods, executionEnvFactory, fileHistoryStore, localRoot, logger, lspManager, mailboxRecipientLifecycle, mailboxStore, memoryEngine, memorySyncRunner, metrics, perSessionCwd, permissionRuleProvider, pricing, rosterStore, ruleConsent, sendUserFileTaskEnvs, sessionCaptureRecordStore, sessionCaptureRecords, sessionPolicyStore, sessionStore, taskAttachmentStore, taskListLane, toolResultStore, tracer, usageWindowStore } = ctx;
30
+ const { sqlWorkflowRunStore, workflowNotifyJournal, workflowCompletionInbox, deliverWorkflowCompletion, workflowNotifyGate, fleetBus, workflowRunStore, workflowJournalStore, outcomeSink, workflowRecoverOpts, workflowAgentRegistry, subagentSteerRegistry, workflowAgentSessionIndex, workflowParkDecisions, } = createWorkflowOrchestration({ config, logger, metrics, localRoot, backend, getRunStore: () => runStore });
28
31
  const parkCommitted = backend?.checkpoint && config.durableApproval ? createParkCommitWatch(backend.checkpoint(logger)) : undefined;
29
32
  const checkpointStore = parkCommitted?.store;
30
33
  const parkCommits = parkCommitted?.watch;
@@ -45,7 +48,7 @@ export function runStage06(ctx) {
45
48
  if (sharedMemoryStore)
46
49
  logger.info("shared_memory_stores_enabled", { backend: backend?.kind });
47
50
  const runnerOffloadStore = toolResultStore ?? new InMemoryToolResultStore({ maxTotalChars: 64_000_000 });
48
- const commitHands = config.configProvider === "local" ? { commitCoAuthor: "Sema <noreply@vivi-ai.com>" } : undefined;
51
+ const commitHands = isBrandedDeployment(config) ? { commitCoAuthor: "Sema <noreply@vivi-ai.com>" } : undefined;
49
52
  const retentionExecutor = backend?.retention?.({ taskAttachmentTable: taskAttachmentStore !== undefined, taskListTables: taskListLane.backend !== "memory", logger });
50
53
  const retentionLaneStore = backend?.retentionLane?.();
51
54
  assertRetentionLaneWirable({
@@ -82,7 +85,7 @@ export function runStage06(ctx) {
82
85
  : undefined;
83
86
  for (const w of buildConsolidationValveAudit({
84
87
  valve: consolidationValve,
85
- operatorPrincipals: config.operatorPrincipals,
88
+ operatorRosterPresent: operatorRosterPresent(config),
86
89
  hasServiceAuth: hasServiceAuth(config),
87
90
  allowUnauthedWrites: config.allowUnauthedWrites ?? false,
88
91
  }).warnings) {
@@ -120,12 +123,13 @@ export function runStage06(ctx) {
120
123
  sessionCaptureRecords,
121
124
  memorySyncRunner, toolResultStore: runnerOffloadStore, checkpointStore, sessionPolicyStore, runtimeCapsResolver, fileHistoryStore,
122
125
  permissionRuleStore: permissionRuleProvider,
123
- executionEnvFactory, lspManager, fleetBus, deploymentHooks, workflowRunStore, workflowJournalStore,
126
+ executionEnvFactory, lspManager, fleetBus, deploymentMods, workflowRunStore, workflowJournalStore,
124
127
  workflowAgentRegistry, workflowNotifyGate, workflowCompletionInbox, deliverWorkflowCompletion, orgMemoryAdmission,
125
128
  governanceSeams,
126
129
  sharedMemoryStores: sharedMemoryStore ? sharedMemoryStore : undefined,
127
130
  getRunStore: () => runStore,
128
131
  });
132
+ const orgDeliveryGate = mountOrgDeliveryGate({ runnerDeps, directory: orgMemoryAdmission.directory, mailboxStore, backend, logger });
129
133
  const runner = new Runner(runnerDeps);
130
134
  const handslessRunner = new Runner(withoutHands(runnerDeps));
131
135
  const { hookModelFor, hookLlm } = createHookLlm({ config, getKeyResolver: () => webAdmin.getKeyResolver(), metrics });
@@ -192,7 +196,7 @@ export function runStage06(ctx) {
192
196
  backgroundAgentStore,
193
197
  mailboxStore,
194
198
  rosterStore,
195
- deploymentHooks,
199
+ deploymentMods,
196
200
  toolResultStore: runnerOffloadStore,
197
201
  checkpointStore,
198
202
  sessionPolicyStore,
@@ -209,6 +213,6 @@ export function runStage06(ctx) {
209
213
  onError: runnerDeps.onError ? runnerDeps.onError : undefined,
210
214
  };
211
215
  const subRunner = new Runner(subRunnerDeps);
212
- return { ...ctx, approvalAskAudit, approvalExemptionStore, centerRuntimeCapsResolver, checkpointStore, parkCommits, durableEnabled, elicitation, fleetBus, governanceSeams, handslessRunner, hookAgent, hookAgentRunner, hookLlm, mcpRevocations, memoryConsolidationFaces, memoryOptOutGrantStore, orgMemoryAdmission, outcomeSink, principalCaps, question, retentionExecutor, retentionLaneStore, runner, runnerDeps, runtimeCapsPeekResolver, sendFileLedger, sendUserFileEmitter, sendUserFileToolSpec, sessionTitler, sharedMemoryStore, sqlWorkflowRunStore, streamApprovalGate, subRunner, subRunnerSessions, subagentSteerRegistry, toolApproval, workflowAgentRegistry, workflowAgentSessionIndex, workflowCompletionInbox, workflowJournalStore, workflowModelAllowlistSnapshot, workflowNotifyGate, workflowNotifyJournal, workflowRecoverOpts, workflowRunStore, workflowsCapable };
216
+ return { ...ctx, approvalAskAudit, approvalExemptionStore, centerRuntimeCapsResolver, checkpointStore, parkCommits, durableEnabled, elicitation, fleetBus, governanceSeams, handslessRunner, hookAgent, hookAgentRunner, hookLlm, mcpRevocations, memoryConsolidationFaces, memoryOptOutGrantStore, orgMemoryAdmission, outcomeSink, principalCaps, question, retentionExecutor, retentionLaneStore, runner, runnerDeps, runtimeCapsPeekResolver, sendFileLedger, sendUserFileEmitter, sendUserFileToolSpec, sessionTitler, sharedMemoryStore, sqlWorkflowRunStore, streamApprovalGate, subRunner, subRunnerSessions, subagentSteerRegistry, toolApproval, workflowAgentRegistry, workflowAgentSessionIndex, workflowCompletionInbox, workflowJournalStore, workflowModelAllowlistSnapshot, workflowParkDecisions, workflowNotifyGate, workflowNotifyJournal, workflowRecoverOpts, workflowRunStore, workflowsCapable, orgDeliveryGate };
213
217
  }
214
218
  //# sourceMappingURL=stage-06-runners.js.map
@@ -66,6 +66,7 @@ export declare function runStage07(ctx: Awaited<ReturnType<typeof runStage06>>):
66
66
  workflowCompletionInbox: import("../orchestration/workflow-completion-inbox.js").WorkflowCompletionInbox | undefined;
67
67
  workflowJournalStore: import("../plugins/store-backend.js").ServiceWorkflowJournalStore | undefined;
68
68
  workflowModelAllowlistSnapshot: readonly string[];
69
+ workflowParkDecisions: import("../orchestration/workflow-park-decision.js").WorkflowParkDecisionStore | undefined;
69
70
  workflowNotifyGate: import("../orchestration/workflow-notify-journal.js").WorkflowNotifyGate | undefined;
70
71
  workflowNotifyJournal: import("../orchestration/workflow-notify-journal.js").WorkflowNotifyJournalStore | undefined;
71
72
  workflowRecoverOpts: {
@@ -75,7 +76,8 @@ export declare function runStage07(ctx: Awaited<ReturnType<typeof runStage06>>):
75
76
  };
76
77
  workflowRunStore: import("../orchestration/workflow-notify-journal.js").JournalingWorkflowRunStore | undefined;
77
78
  workflowsCapable: boolean;
78
- deploymentHooks: import("@sema-agent/core").Hooks;
79
+ orgDeliveryGate: import("@sema-agent/core").OrgDeliveryGate | undefined;
80
+ deploymentMods: readonly import("@sema-agent/core").ModRegistration<import("@sema-agent/core").EngineDollar>[];
79
81
  deviceLane: import("./device-lane.js").DeviceLane | undefined;
80
82
  dropSessionScoped: (sid: string) => void;
81
83
  executionEnvFactory: import("@sema-agent/core").ExecutionEnvFactory | undefined;
@@ -150,7 +152,7 @@ export declare function runStage07(ctx: Awaited<ReturnType<typeof runStage06>>):
150
152
  sessionCaptureRecordStore: import("@sema-agent/core").SessionCaptureRecordStore | undefined;
151
153
  sessionCaptureRecords: import("../index.js").SessionCaptureRecordSource | undefined;
152
154
  sessionStore: import("@sema-agent/core").SessionStore;
153
- sqlEngineFacts: (() => import("../plugins/sql-driver.js").SqlEngineFacts | null) | undefined;
155
+ sqlEngine: import("../plugins/sql-driver.js").SqlEngineReading | undefined;
154
156
  storePosture: import("../store-posture.js").StorePosture;
155
157
  taskAttachmentStore: import("../plugins/task-attachment-store.js").TaskAttachmentStore | undefined;
156
158
  taskListLane: import("./task-list-lane.js").TaskListLane;
@@ -7,12 +7,14 @@ import { ensureChildSessionDurableWithPromotion } from "../plugins/session-store
7
7
  import { webSearchConfigFromEnv, createWebSearchBackend, shouldProbeWebSearchOnBoot } from "../plugins/web-search.js";
8
8
  import { createAuthorizer } from "../security.js";
9
9
  import { buildForceDurableGateInertNotice, buildNoResponderBootWarns, gateIntentUnserviceableReason, singleUserAutoAcceptBaselineApplies } from "../approval.js";
10
- import { executionLaneOf } from "../execution-lane-caps.js";
10
+ import { executionLaneOf, laneWiresExecutionEnv } from "../execution-lane-caps.js";
11
11
  import { loadDeploymentSkills } from "../capabilities/skills.js";
12
12
  import { createRepoClient } from "../capabilities/repo-tools.js";
13
13
  import { buildScenarios, builtinScenarioDetails, danglingScenarioRefusal } from "../capabilities/scenarios.js";
14
+ import { isBrandedDeployment } from "../capabilities/brand-identity.js";
14
15
  import { RateLimiter } from "../observability/rate-limit.js";
15
16
  import { explicitOperatorOk } from "../http/server.js";
17
+ import { buildOperatorUndeclaredNotice } from "../http/principal-gate.js";
16
18
  import { selfOrchestrationDenial } from "../task-workflow.js";
17
19
  import { centerEntitlementSourceWired } from "../runtime-caps-resolver.js";
18
20
  import { reclaimOrphansAtBoot } from "../boot-reclaim.js";
@@ -55,6 +57,18 @@ export async function runStage07(ctx) {
55
57
  throw new Error(gateRefusal);
56
58
  await reclaimOrphansAtBoot(runStore, checkpointStore, logger);
57
59
  await runBootCrashConvergence({ backend, runStore, liveAudit: approvalAskAudit, localDataRoot: config.localDataRoot, logger });
60
+ const adoption = await toolApproval?.adoptOpenAsks();
61
+ if (adoption !== undefined && (adoption.capped || adoption.cardUnreadable > 0)) {
62
+ logger.warn("approval_ask_adopted_partially", {
63
+ adopted: adoption.adopted,
64
+ cardUnreadable: adoption.cardUnreadable,
65
+ capped: adoption.capped,
66
+ note: "some approval asks still pending in the ask ledger were not taken into this replica's live list: unreadable card envelopes are skipped, and only the oldest pending rows up to the adoption cap are taken. The skipped asks stay answerable through POST /v1/tasks/:taskId/asks/:askId/decision and are expired by the reconciler on their own window.",
67
+ });
68
+ }
69
+ else if (adoption !== undefined && adoption.adopted > 0) {
70
+ logger.info("approval_ask_adopted", { adopted: adoption.adopted, alreadyLive: adoption.alreadyLive });
71
+ }
58
72
  const userInputLedgerStore = backend && runStore ? backend.userInputLedger() : undefined;
59
73
  const userInputLedger = backend && runStore && userInputLedgerStore
60
74
  ? await (async () => {
@@ -74,7 +88,7 @@ export async function runStage07(ctx) {
74
88
  ? selectEnvironmentTool({
75
89
  catalog: imageIndex,
76
90
  selection: sessionEnvSelection,
77
- viewerFor: (principal) => ({ operator: explicitOperatorOk(principal, config.operatorPrincipals), tenantId: principal ?? null }),
91
+ viewerFor: (principal) => ({ operator: explicitOperatorOk(principal, config), tenantId: principal ?? null }),
78
92
  })
79
93
  : undefined;
80
94
  const imageBakes = backend?.imageBake && config.imageBakes.enabled ? backend.imageBake() : undefined;
@@ -82,6 +96,11 @@ export async function runStage07(ctx) {
82
96
  logger.info("image_bakes_enabled", { operators: config.operatorPrincipals.length, runner: config.imageBakes.runnerPrincipal });
83
97
  if (durableEnabled)
84
98
  logger.info("durable_approval_enabled", { toolApprovalGate: config.approvalRequire.length });
99
+ {
100
+ const undeclared = buildOperatorUndeclaredNotice(config, durableEnabled);
101
+ if (undeclared)
102
+ logger.warn(undeclared.event, undeclared.fields);
103
+ }
85
104
  if (config.a2aServe) {
86
105
  const peer = facts.a2aServe({ config, runStore });
87
106
  if (peer.available) {
@@ -133,7 +152,7 @@ export async function runStage07(ctx) {
133
152
  ? backend.rateLimiter(config.rateLimitPerMin, counterDegradeHook).startRefresh()
134
153
  : new RateLimiter(config.rateLimitPerMin);
135
154
  bindRateLimiter(rateLimiter);
136
- let skills = loadDeploymentSkills(config);
155
+ let skills = loadDeploymentSkills(config, logger);
137
156
  skills = await webAdmin.applyCenterCapabilities(skills);
138
157
  const repoClient = config.gitApiBaseUrl ? createRepoClient(config.gitApiKind, config.gitApiBaseUrl, config.gitApiToken) : undefined;
139
158
  const webSearchCfg = webSearchConfigFromEnv();
@@ -150,16 +169,18 @@ export async function runStage07(ctx) {
150
169
  })
151
170
  .catch((e) => logger.warn("web_search_probe_failed", { provider: webSearchCfg.provider, error: e instanceof Error ? e.message : String(e) }));
152
171
  }
153
- const ensureChildSessionDurable = checkpointStore && config.sessionBackend === "tidb" ? (sessionId) => ensureChildSessionDurableWithPromotion(sessionStore, subRunnerSessions, sessionId) : undefined;
172
+ const ensureChildSessionDurable = checkpointStore && config.sessionBackend === "tidb"
173
+ ? (sessionId, root) => ensureChildSessionDurableWithPromotion(sessionStore, subRunnerSessions, sessionId, root, logger)
174
+ : undefined;
154
175
  const webFetchSummarize = createWebFetchSummarizeLane({ brain, config, getKeyResolver: () => webAdmin.getKeyResolver(), logger });
155
176
  const scenarioDeps = {
156
177
  runner, subRunner, model: DEFAULT_MODEL_REF, skills, repoClient, requirePrincipal: config.requirePrincipal,
178
+ handsLane: laneWiresExecutionEnv(executionLaneOf(config.remoteExec?.provider)),
157
179
  webSearch: webSearch ? webSearch : undefined, logger, webFetchSummarize,
158
180
  backgroundAgentStore: backgroundAgentStore ? backgroundAgentStore : undefined,
159
181
  checkpointStore: checkpointStore ? checkpointStore : undefined,
160
182
  ensureChildSessionDurable: ensureChildSessionDurable ? ensureChildSessionDurable : undefined,
161
183
  taskListStoreFor: taskListLane.storeFor,
162
- brandIdentity: config.configProvider === "local",
163
184
  subagentExtraTools: sendUserFileToolSpec ? subagentSendUserFileExtraTools({ spec: sendUserFileToolSpec }) : undefined,
164
185
  };
165
186
  const scenarios = buildScenarios(scenarioDeps);
@@ -174,7 +195,7 @@ export async function runStage07(ctx) {
174
195
  autoModeSeatMounted: runnerDeps.autoMode !== undefined,
175
196
  })
176
197
  : undefined;
177
- const scenarioDetails = builtinScenarioDetails(scenarios, scenarioDeps);
198
+ const scenarioDetails = builtinScenarioDetails(scenarios, scenarioDeps, isBrandedDeployment(config));
178
199
  const builtinScenarioNames = Object.keys(scenarioDetails);
179
200
  webAdmin.applyCenterScenarios({ scenarioDeps, scenarios, scenarioDetails, builtinScenarioNames });
180
201
  const defaultScenarioRefusal = danglingScenarioRefusal(config.defaultScenario, "deployment", Object.keys(scenarios));
@@ -79,6 +79,7 @@ export declare function runStage08(ctx: Awaited<ReturnType<typeof runStage07>>):
79
79
  workflowCompletionInbox: import("../orchestration/workflow-completion-inbox.js").WorkflowCompletionInbox | undefined;
80
80
  workflowJournalStore: import("../plugins/store-backend.js").ServiceWorkflowJournalStore | undefined;
81
81
  workflowModelAllowlistSnapshot: readonly string[];
82
+ workflowParkDecisions: import("../orchestration/workflow-park-decision.js").WorkflowParkDecisionStore | undefined;
82
83
  workflowNotifyGate: import("../orchestration/workflow-notify-journal.js").WorkflowNotifyGate | undefined;
83
84
  workflowNotifyJournal: import("../orchestration/workflow-notify-journal.js").WorkflowNotifyJournalStore | undefined;
84
85
  workflowRecoverOpts: {
@@ -88,7 +89,8 @@ export declare function runStage08(ctx: Awaited<ReturnType<typeof runStage07>>):
88
89
  };
89
90
  workflowRunStore: import("../orchestration/workflow-notify-journal.js").JournalingWorkflowRunStore | undefined;
90
91
  workflowsCapable: boolean;
91
- deploymentHooks: import("@sema-agent/core").Hooks;
92
+ orgDeliveryGate: import("@sema-agent/core").OrgDeliveryGate | undefined;
93
+ deploymentMods: readonly import("@sema-agent/core").ModRegistration<import("@sema-agent/core").EngineDollar>[];
92
94
  deviceLane: import("./device-lane.js").DeviceLane | undefined;
93
95
  dropSessionScoped: (sid: string) => void;
94
96
  executionEnvFactory: import("@sema-agent/core").ExecutionEnvFactory | undefined;
@@ -163,7 +165,7 @@ export declare function runStage08(ctx: Awaited<ReturnType<typeof runStage07>>):
163
165
  sessionCaptureRecordStore: import("@sema-agent/core").SessionCaptureRecordStore | undefined;
164
166
  sessionCaptureRecords: import("../index.js").SessionCaptureRecordSource | undefined;
165
167
  sessionStore: import("@sema-agent/core").SessionStore;
166
- sqlEngineFacts: (() => import("../plugins/sql-driver.js").SqlEngineFacts | null) | undefined;
168
+ sqlEngine: import("../plugins/sql-driver.js").SqlEngineReading | undefined;
167
169
  storePosture: import("../store-posture.js").StorePosture;
168
170
  taskAttachmentStore: import("../plugins/task-attachment-store.js").TaskAttachmentStore | undefined;
169
171
  taskListLane: import("./task-list-lane.js").TaskListLane;
@@ -5,12 +5,12 @@ import { startRetentionLane, RETENTION_LEASE_TTL_FACTOR } from "./retention-lane
5
5
  import { createLimitSync } from "./limit-sync.js";
6
6
  import { runDenySweep } from "./late-binds.js";
7
7
  export function runStage08(ctx) {
8
- const { approvalNonceStore, backend, backgroundAgentStore, ceilingVerdict, checkpointStore, parkCommits, config, webAdmin, consolidationSeatWatch, costQuota, degradeRouteWatch, fileHistoryErasure, spaceReclaimer, handslessRunner, hookAgentRunner, imageBakes, instanceId, localRoot, logger, mailboxStore, metrics, permissionRuleStores, pricing, rateLimiter, retentionExecutor, retentionLaneStore, rosterStore, runStore, runner, sqlWorkflowRunStore, subRunner, taskAttachmentStore, toolApproval, toolResultStore, userInputLedger, workflowJournalStore, workflowNotifyGate, workflowNotifyJournal, workflowRecoverOpts, worktreeReap } = ctx;
8
+ const { approvalAskAudit, approvalNonceStore, backend, backgroundAgentStore, ceilingVerdict, checkpointStore, parkCommits, config, webAdmin, consolidationSeatWatch, costQuota, degradeRouteWatch, fileHistoryErasure, spaceReclaimer, handslessRunner, hookAgentRunner, imageBakes, instanceId, localRoot, logger, mailboxStore, metrics, permissionRuleStores, pricing, rateLimiter, retentionExecutor, retentionLaneStore, rosterStore, runStore, runner, sqlWorkflowRunStore, subRunner, taskAttachmentStore, toolApproval, toolResultStore, userInputLedger, workflowJournalStore, workflowNotifyGate, workflowNotifyJournal, workflowRecoverOpts, worktreeReap } = ctx;
9
9
  const reaper = startReapers({
10
10
  config, logger, metrics, localRoot, backend, subRunner, runStore, checkpointStore, parkCommits,
11
11
  rateLimiter, costQuota, toolResultStore, fileHistoryErasure, taskAttachmentStore, imageBakes, worktreeReap,
12
12
  workflowNotifyGate, workflowRecoverOpts, workflowJournalStore, sqlWorkflowRunStore, workflowNotifyJournal, rosterStore,
13
- backgroundAgentStore, mailboxStore, toolApproval, permissionRuleStores, approvalNonceStore, userInputLedger,
13
+ backgroundAgentStore, mailboxStore, toolApproval, permissionRuleStores, approvalNonceStore, userInputLedger, approvalAskAudit,
14
14
  getRunDenySweep: () => runDenySweep,
15
15
  });
16
16
  const ttlMs = config.retentionSweep.intervalSec * 1000 * RETENTION_LEASE_TTL_FACTOR;
@@ -18,6 +18,7 @@ export declare function runStage09(ctx: Awaited<ReturnType<typeof runStage08>>):
18
18
  }>) | undefined;
19
19
  webAdminJwtVerifier: import("../auth-bridge.js").WebAdminJwtVerifier | undefined;
20
20
  sessionAudit: ((sessionId: string, opts?: import("../audit.js").SessionAuditReadOpts) => Promise<{
21
+ agent?: import("../audit.js").SessionAgent | undefined;
21
22
  owner: string | null;
22
23
  sessionId: string;
23
24
  createdAt: string;
@@ -28,13 +29,7 @@ export declare function runStage09(ctx: Awaited<ReturnType<typeof runStage08>>):
28
29
  modelId: string;
29
30
  } | null;
30
31
  messages: unknown[];
31
- promptEpoch?: {
32
- epoch: number;
33
- artifactDigest: string;
34
- packId: string;
35
- assemblyApi: number;
36
- activatedBy: "session_start" | "compaction" | "legacy_migration";
37
- };
32
+ promptEpoch?: import("@sema-agent/core").StoredPromptEpoch;
38
33
  } | undefined>) | undefined;
39
34
  sessionWatchRegistry: import("../session-watch.js").SessionWatchRegistry | undefined;
40
35
  staticWiring: import("@sema-agent/core").WiringManifest;
@@ -108,6 +103,7 @@ export declare function runStage09(ctx: Awaited<ReturnType<typeof runStage08>>):
108
103
  workflowCompletionInbox: import("../orchestration/workflow-completion-inbox.js").WorkflowCompletionInbox | undefined;
109
104
  workflowJournalStore: import("../plugins/store-backend.js").ServiceWorkflowJournalStore | undefined;
110
105
  workflowModelAllowlistSnapshot: readonly string[];
106
+ workflowParkDecisions: import("../orchestration/workflow-park-decision.js").WorkflowParkDecisionStore | undefined;
111
107
  workflowNotifyGate: import("../orchestration/workflow-notify-journal.js").WorkflowNotifyGate | undefined;
112
108
  workflowNotifyJournal: import("../orchestration/workflow-notify-journal.js").WorkflowNotifyJournalStore | undefined;
113
109
  workflowRecoverOpts: {
@@ -117,7 +113,8 @@ export declare function runStage09(ctx: Awaited<ReturnType<typeof runStage08>>):
117
113
  };
118
114
  workflowRunStore: import("../orchestration/workflow-notify-journal.js").JournalingWorkflowRunStore | undefined;
119
115
  workflowsCapable: boolean;
120
- deploymentHooks: import("@sema-agent/core").Hooks;
116
+ orgDeliveryGate: import("@sema-agent/core").OrgDeliveryGate | undefined;
117
+ deploymentMods: readonly import("@sema-agent/core").ModRegistration<import("@sema-agent/core").EngineDollar>[];
121
118
  deviceLane: import("./device-lane.js").DeviceLane | undefined;
122
119
  dropSessionScoped: (sid: string) => void;
123
120
  executionEnvFactory: import("@sema-agent/core").ExecutionEnvFactory | undefined;
@@ -192,7 +189,7 @@ export declare function runStage09(ctx: Awaited<ReturnType<typeof runStage08>>):
192
189
  sessionCaptureRecordStore: import("@sema-agent/core").SessionCaptureRecordStore | undefined;
193
190
  sessionCaptureRecords: import("../index.js").SessionCaptureRecordSource | undefined;
194
191
  sessionStore: import("@sema-agent/core").SessionStore;
195
- sqlEngineFacts: (() => import("../plugins/sql-driver.js").SqlEngineFacts | null) | undefined;
192
+ sqlEngine: import("../plugins/sql-driver.js").SqlEngineReading | undefined;
196
193
  storePosture: import("../store-posture.js").StorePosture;
197
194
  taskAttachmentStore: import("../plugins/task-attachment-store.js").TaskAttachmentStore | undefined;
198
195
  taskListLane: import("./task-list-lane.js").TaskListLane;
@@ -17,6 +17,7 @@ export declare function runStage10(ctx: Awaited<ReturnType<typeof runStage09>>):
17
17
  }>) | undefined;
18
18
  webAdminJwtVerifier: import("../auth-bridge.js").WebAdminJwtVerifier | undefined;
19
19
  sessionAudit: ((sessionId: string, opts?: import("../audit.js").SessionAuditReadOpts) => Promise<{
20
+ agent?: import("../audit.js").SessionAgent | undefined;
20
21
  owner: string | null;
21
22
  sessionId: string;
22
23
  createdAt: string;
@@ -27,13 +28,7 @@ export declare function runStage10(ctx: Awaited<ReturnType<typeof runStage09>>):
27
28
  modelId: string;
28
29
  } | null;
29
30
  messages: unknown[];
30
- promptEpoch?: {
31
- epoch: number;
32
- artifactDigest: string;
33
- packId: string;
34
- assemblyApi: number;
35
- activatedBy: "session_start" | "compaction" | "legacy_migration";
36
- };
31
+ promptEpoch?: import("@sema-agent/core").StoredPromptEpoch;
37
32
  } | undefined>) | undefined;
38
33
  sessionWatchRegistry: import("../session-watch.js").SessionWatchRegistry | undefined;
39
34
  staticWiring: import("@sema-agent/core").WiringManifest;
@@ -107,6 +102,7 @@ export declare function runStage10(ctx: Awaited<ReturnType<typeof runStage09>>):
107
102
  workflowCompletionInbox: import("../orchestration/workflow-completion-inbox.js").WorkflowCompletionInbox | undefined;
108
103
  workflowJournalStore: import("../plugins/store-backend.js").ServiceWorkflowJournalStore | undefined;
109
104
  workflowModelAllowlistSnapshot: readonly string[];
105
+ workflowParkDecisions: import("../orchestration/workflow-park-decision.js").WorkflowParkDecisionStore | undefined;
110
106
  workflowNotifyGate: import("../orchestration/workflow-notify-journal.js").WorkflowNotifyGate | undefined;
111
107
  workflowNotifyJournal: import("../orchestration/workflow-notify-journal.js").WorkflowNotifyJournalStore | undefined;
112
108
  workflowRecoverOpts: {
@@ -116,7 +112,8 @@ export declare function runStage10(ctx: Awaited<ReturnType<typeof runStage09>>):
116
112
  };
117
113
  workflowRunStore: import("../orchestration/workflow-notify-journal.js").JournalingWorkflowRunStore | undefined;
118
114
  workflowsCapable: boolean;
119
- deploymentHooks: import("@sema-agent/core").Hooks;
115
+ orgDeliveryGate: import("@sema-agent/core").OrgDeliveryGate | undefined;
116
+ deploymentMods: readonly import("@sema-agent/core").ModRegistration<import("@sema-agent/core").EngineDollar>[];
120
117
  deviceLane: import("./device-lane.js").DeviceLane | undefined;
121
118
  dropSessionScoped: (sid: string) => void;
122
119
  executionEnvFactory: import("@sema-agent/core").ExecutionEnvFactory | undefined;
@@ -191,7 +188,7 @@ export declare function runStage10(ctx: Awaited<ReturnType<typeof runStage09>>):
191
188
  sessionCaptureRecordStore: import("@sema-agent/core").SessionCaptureRecordStore | undefined;
192
189
  sessionCaptureRecords: import("../plugins/store-backend.js").SessionCaptureRecordSource | undefined;
193
190
  sessionStore: import("@sema-agent/core").SessionStore;
194
- sqlEngineFacts: (() => import("../plugins/sql-driver.js").SqlEngineFacts | null) | undefined;
191
+ sqlEngine: import("../plugins/sql-driver.js").SqlEngineReading | undefined;
195
192
  storePosture: import("../store-posture.js").StorePosture;
196
193
  taskAttachmentStore: import("../plugins/task-attachment-store.js").TaskAttachmentStore | undefined;
197
194
  taskListLane: import("./task-list-lane.js").TaskListLane;
@@ -9,7 +9,6 @@ import { createHttpServer } from "../http/server.js";
9
9
  import { exportMemoryScope } from "../memory-export.js";
10
10
  import { performMemorySync } from "../memory-sync.js";
11
11
  import { backgroundAgentOutput, taskHandleOutput, taskHandleStop } from "../runs.js";
12
- import { SQL_BLOB_DEFAULT_MAX_BYTES } from "../plugins/blob-backend.js";
13
12
  import { createStoreLiveProbe } from "../store-live-probe.js";
14
13
  import { counterStoreLabel } from "../plugins/store-backend.js";
15
14
  import { sessionStoreLabelOf } from "../store-posture.js";
@@ -30,7 +29,7 @@ import { bindServerLateSeats } from "./late-binds.js";
30
29
  import { serviceVersion } from "../service-version.js";
31
30
  import { buildDisplaySafeUrl } from "../trace/redact.js";
32
31
  export async function runStage10(ctx) {
33
- const { approvalAskAudit, approvalExemptionStore, approvalNonceStore, authorize, backend, backgroundAgentStore, brain, breakerState, centerRuntimeCapsResolver, checkpointStore, parkCommits, config, webAdmin, consolidationValve, costQuota, deploymentHooks, deviceLane, drainState, durableEnabled, elicitation, fenceSessionOwner, fileHistoryStore, fleetBus, fleetLease, fleetUsage, governanceSeams, handslessRunner, hookAgent, hookLlm, hookWakeBus, imageBakes, imageIndex, instanceId, instrumentDegenerate, leaderEndpoint, localRoot, logger, lspManager, mcpRevocations, memoryBundleFaces, memoryComplianceFaces, memoryConsolidationFaces, memoryEngine, memoryExportBackend, memoryOptOutGrantStore, memoryOriginFaces, memoryPosture, memorySyncCursors, metrics, modelUsageTracker, orgMemoryAdmission, otelExporter, outcomeSink, ownerAware, parkedReviveInheritedGate, parkedReviveSurface, perSessionCwd, perTaskImage, planCacheProbe, pricing, principalCaps, promptManifestTracker, purgeSession, question, rateLimiter, reaper, webAdminJwtVerifier, resumeAnchorStore, retentionLaneStarted, retentionLaneStore, ruleConsent, runStore, runner, runnerDeps, runtimeCapsPeekResolver, scenarioDetails, scenarios, selectEnvTool, sendFileLedger, sendUserFileEmitter, sendUserFileToolSpec, sessionAudit, sessionEnvSelection, sessionMemoryStatusFace, sessionPolicyStore, sessionTitler, sessionWatchRegistry, setSessionCwd, setSessionInheritEnv, setSessionShellEnv, sharedMemoryStore, sideQueryAccounting, sqlEngineFacts, sqlWorkflowRunStore, staticWiring, storePosture, subRunner, subagentSteerRegistry, taskAttachmentStore, taskLimitCaps, taskTimeoutSec, toolApproval, toolResultStore, usageWindowStore, userInputLedger, webSearchProvider, workflowAgentRegistry, workflowAgentSessionIndex, workflowCompletionInbox, workflowJournalStore, workflowModelAllowlistSnapshot, workflowNotifyGate, workflowNotifyJournal, workflowRecoverOpts, workflowRunStore, workflowsCapable } = ctx;
32
+ const { approvalAskAudit, approvalExemptionStore, approvalNonceStore, authorize, backend, backgroundAgentStore, brain, breakerState, centerRuntimeCapsResolver, checkpointStore, parkCommits, config, webAdmin, consolidationValve, costQuota, deviceLane, drainState, durableEnabled, elicitation, fenceSessionOwner, fileHistoryStore, fleetBus, fleetLease, fleetUsage, governanceSeams, handslessRunner, hookAgent, hookLlm, hookWakeBus, imageBakes, imageIndex, instanceId, instrumentDegenerate, leaderEndpoint, localRoot, logger, lspManager, mcpRevocations, memoryBundleFaces, memoryComplianceFaces, memoryConsolidationFaces, memoryEngine, memoryExportBackend, memoryOptOutGrantStore, memoryOriginFaces, memoryPosture, memorySyncCursors, memorySyncRunner, metrics, modelUsageTracker, orgMemoryAdmission, otelExporter, outcomeSink, ownerAware, parkedReviveInheritedGate, parkedReviveSurface, perSessionCwd, perTaskImage, planCacheProbe, pricing, principalCaps, promptManifestTracker, purgeSession, question, rateLimiter, reaper, webAdminJwtVerifier, resumeAnchorStore, retentionLaneStarted, retentionLaneStore, ruleConsent, runStore, runner, runnerDeps, runtimeCapsPeekResolver, scenarioDetails, scenarios, selectEnvTool, sendFileLedger, sendUserFileEmitter, sendUserFileToolSpec, sessionAudit, sessionEnvSelection, sessionMemoryStatusFace, sessionPolicyStore, sessionTitler, sessionWatchRegistry, setSessionCwd, setSessionInheritEnv, setSessionShellEnv, sharedMemoryStore, sideQueryAccounting, sqlEngine, sqlWorkflowRunStore, staticWiring, storePosture, subRunner, subagentSteerRegistry, taskAttachmentStore, taskLimitCaps, taskTimeoutSec, toolApproval, toolResultStore, usageWindowStore, userInputLedger, webSearchProvider, workflowAgentRegistry, workflowAgentSessionIndex, workflowParkDecisions, workflowCompletionInbox, workflowJournalStore, workflowModelAllowlistSnapshot, workflowNotifyGate, workflowNotifyJournal, workflowRecoverOpts, workflowRunStore, workflowsCapable, orgDeliveryGate } = ctx;
34
33
  const stores = {
35
34
  runStore,
36
35
  resumeAnchorStore: resumeAnchorStore ? resumeAnchorStore : undefined,
@@ -47,6 +46,7 @@ export async function runStage10(ctx) {
47
46
  peerDirectory: runnerDeps.peerDirectory,
48
47
  workflowRunStore: workflowRunStore ? workflowRunStore : undefined,
49
48
  workflowAgentSessionIndex: workflowAgentSessionIndex ? workflowAgentSessionIndex : undefined,
49
+ workflowParkDecisions: workflowParkDecisions ? workflowParkDecisions : undefined,
50
50
  workflowJournalStore: workflowJournalStore ? workflowJournalStore : undefined,
51
51
  imageIndex,
52
52
  imageBakes,
@@ -99,6 +99,7 @@ export async function runStage10(ctx) {
99
99
  memoryConsolidation: memoryConsolidationFaces,
100
100
  memoryOptOutGrant: memoryOptOutGrantStore,
101
101
  orgMemoryDirectory: orgMemoryAdmission.directory,
102
+ orgDeliveryGate,
102
103
  sharedMemoryStore: sharedMemoryStore ? sharedMemoryStore : undefined,
103
104
  sessionMirrorRuling: principalCaps
104
105
  ? async (p) => (await principalCaps.executionRuling(p))?.sessionMirror
@@ -162,7 +163,7 @@ export async function runStage10(ctx) {
162
163
  workflowModelAllowlist: workflowModelAllowlistSnapshot,
163
164
  staticWiring,
164
165
  memoryPosture,
165
- sqlEngineFacts,
166
+ sqlEngine,
166
167
  writeProtection: buildWriteProtectionPosture(config),
167
168
  webSearchProvider,
168
169
  sealedKeyPublic: webAdmin.sealedKeyPublic,
@@ -177,6 +178,7 @@ export async function runStage10(ctx) {
177
178
  restartState: () => webAdmin.restartState(),
178
179
  configApplyState: () => webAdmin.configApplyState(),
179
180
  centerCredentialState: () => webAdmin.centerCredentialState(),
181
+ centerIdentityNoticeState: () => webAdmin.centerIdentityNoticeState(),
180
182
  modelRefusalsState: () => webAdmin.modelRefusalsState(),
181
183
  candidateRejectionState: () => webAdmin.candidateRejectionState(),
182
184
  configHandoffState: () => webAdmin.configHandoffState(),
@@ -191,19 +193,15 @@ export async function runStage10(ctx) {
191
193
  storeLiveState: storeLiveProbe ? () => storeLiveProbe.state() : undefined,
192
194
  };
193
195
  const knobs = {
194
- snapshotBlobSqlCapBytes: backend && backend.kind !== "local" && !config.snapshotBlobStore
195
- ? (config.snapshotBlobSqlMaxBytes ?? (backend.kind === "mysql" ? SQL_BLOB_DEFAULT_MAX_BYTES : undefined))
196
- : undefined,
197
196
  sessionEventsMaxConnections: sessionWatchRegistry ? posIntEnv(process.env.SESSION_EVENTS_MAX_CONNS, 256, 100_000) : undefined,
198
197
  };
199
198
  const resolveSpec = createResolveSpec({
200
199
  config, logger, metrics, localRoot, scenarios, principalCaps, centerRuntimeCapsResolver,
201
- getCenterPrompts: () => webAdmin.getCenterPrompts(),
202
200
  getKeyResolver: () => webAdmin.getKeyResolver(),
203
201
  taskAttachmentStore, perSessionCwd, setSessionCwd, setSessionShellEnv, fenceSessionOwner,
204
202
  hookLlm, hookAgent, fleetBus, hookWakeBus, resumeAnchorStore, ownerAware, taskLimitCaps, taskTimeoutSec,
205
- selectEnvTool, sendUserFileToolSpec, memoryEngine, durableEnabled, approvalExemptionStore,
206
- checkpointStore, deploymentHooks, imageIndex, perTaskImage,
203
+ selectEnvTool, sendUserFileToolSpec, memoryEngine, memorySyncRunner, durableEnabled, approvalExemptionStore,
204
+ checkpointStore, imageIndex, perTaskImage,
207
205
  sessionEnvSelection,
208
206
  lockedKeys: governanceSeams.lockedKeys,
209
207
  liveQuestionFace: question,