@orion-agents/orion-code 0.3.2 → 0.3.4

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 (778) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/README.md +46 -18
  3. package/README.zh-CN.md +36 -16
  4. package/dist/runtime/agent-runtime-controller.d.ts +1 -0
  5. package/dist/runtime/agent-runtime-controller.js +92 -41
  6. package/dist/runtime/capability-receipt-journal.js +1 -1
  7. package/dist/runtime/durable-tool-receipt-reader.js +1 -1
  8. package/dist/runtime/legacy-thread-materializer.js +2 -2
  9. package/dist/runtime/orion-runtime-v1.d.ts +2 -1
  10. package/dist/runtime/orion-runtime-v1.js +18 -16
  11. package/dist/runtime/orion-session-runner.d.ts +2 -0
  12. package/dist/runtime/orion-session-runner.js +12 -4
  13. package/dist/runtime/product-bootstrap.d.ts +6 -0
  14. package/dist/runtime/product-bootstrap.js +389 -337
  15. package/dist/runtime/product-orion-runtime.d.ts +5 -0
  16. package/dist/runtime/product-orion-runtime.js +2 -0
  17. package/dist/runtime/release-receipts.d.ts +7 -3
  18. package/dist/runtime/release-receipts.js +79 -1
  19. package/dist/runtime/step-snapshot.d.ts +12 -0
  20. package/dist/runtime/step-snapshot.js +14 -1
  21. package/dist/runtime/subagent-thread-runtime.js +1 -1
  22. package/dist/runtime/thread-event-store.d.ts +10 -1
  23. package/dist/runtime/thread-event-store.js +48 -12
  24. package/dist/runtime/thread-projection.d.ts +19 -0
  25. package/dist/runtime/thread-projection.js +12 -0
  26. package/dist/runtime/thread-runtime.d.ts +2 -2
  27. package/dist/runtime/thread-runtime.js +2 -2
  28. package/dist/runtime/thread-session-index.d.ts +17 -1
  29. package/dist/runtime/thread-session-index.js +89 -6
  30. package/dist/runtime/thread-session-view.d.ts +4 -1
  31. package/dist/runtime/thread-session-view.js +5 -2
  32. package/dist/runtime/thread-ui-adapter.js +10 -3
  33. package/dist/runtime/tool-gateway.js +1 -0
  34. package/dist/runtime/turn-commit.js +1 -1
  35. package/dist/runtime/ui-events.d.ts +3 -0
  36. package/dist/runtime/workspace-runtime-kernel.d.ts +67 -0
  37. package/dist/runtime/workspace-runtime-kernel.js +148 -0
  38. package/dist/services/global-config.d.ts +2 -0
  39. package/dist/services/global-config.js +7 -1
  40. package/dist/services/provider-resilience/coordinator.d.ts +3 -1
  41. package/dist/services/provider-resilience/coordinator.js +23 -1
  42. package/dist/services/provider-resilience/request-gate.js +7 -2
  43. package/dist/services/redaction.js +19 -2
  44. package/dist/services/settings-coordinator.d.ts +3 -1
  45. package/dist/services/settings-coordinator.js +40 -8
  46. package/dist/services/settings-document-repository.d.ts +8 -1
  47. package/dist/services/settings-document-repository.js +22 -1
  48. package/dist/tui-ui/transcript-inspector-layout.js +13 -6
  49. package/dist/web/event-hub.d.ts +2 -0
  50. package/dist/web/event-hub.js +43 -6
  51. package/dist/web/file-read-service.d.ts +2 -0
  52. package/dist/web/file-read-service.js +39 -12
  53. package/dist/web/git-read-model-service.js +7 -0
  54. package/dist/web/protocol.d.ts +51 -3
  55. package/dist/web/protocol.js +38 -2
  56. package/dist/web/review-service.d.ts +1 -0
  57. package/dist/web/review-service.js +1 -0
  58. package/dist/web/server.js +30 -6
  59. package/dist/web/session-runtime-registry.d.ts +124 -0
  60. package/dist/web/session-runtime-registry.js +448 -0
  61. package/dist/web/terminal-manager.js +23 -4
  62. package/dist/web/terminal-server.js +35 -6
  63. package/dist/web/workbench-controller.d.ts +27 -3
  64. package/dist/web/workbench-controller.js +557 -134
  65. package/dist/web/workspace-mutation-arbiter.d.ts +54 -0
  66. package/dist/web/workspace-mutation-arbiter.js +267 -0
  67. package/dist/web-client/assets/{DiffViewer-eaQNsnCh.js → DiffViewer-D6mG729y.js} +1 -1
  68. package/dist/web-client/assets/FilesPanel-CCDoAZ1J.js +2 -0
  69. package/dist/web-client/assets/{GitPanel-CnU4XVr7.js → GitPanel-DtNgiH7A.js} +1 -1
  70. package/dist/web-client/assets/ReviewPanel-CKEBSt6P.js +1 -0
  71. package/dist/web-client/assets/{TerminalPanel-Q5mSSsoK.js → TerminalPanel-CNxMaBLp.js} +14 -14
  72. package/dist/web-client/assets/index-BBvNg3By.css +1 -0
  73. package/dist/web-client/assets/index-C6TDJwMC.js +17 -0
  74. package/dist/web-client/index.html +4 -4
  75. package/docs/architecture/v0.3.3-web-api.yaml +3205 -0
  76. package/docs/architecture/v0.3.4-stabilization-contract.md +32 -0
  77. package/docs/migration/v0.3.2-to-v0.3.3.md +62 -0
  78. package/docs/migration/v0.3.3-to-v0.3.4.md +36 -0
  79. package/docs/plan/v0.3.3-plan.md +1113 -0
  80. package/docs/plan/v0.3.4-stabilization-plan.md +89 -0
  81. package/docs/test/v0.3.3-web-workbench-e2e-plan.md +79 -0
  82. package/docs/test/v0.3.4-stabilization-e2e-plan.md +54 -0
  83. package/npm-shrinkwrap.json +25 -25
  84. package/package.json +10 -1
  85. package/dist/cli.d.ts.map +0 -1
  86. package/dist/cli.js.map +0 -1
  87. package/dist/commands/context-commands.d.ts.map +0 -1
  88. package/dist/commands/context-commands.js.map +0 -1
  89. package/dist/commands/context-tool-command-handlers.d.ts.map +0 -1
  90. package/dist/commands/context-tool-command-handlers.js.map +0 -1
  91. package/dist/commands/core-command-handlers.d.ts.map +0 -1
  92. package/dist/commands/core-command-handlers.js.map +0 -1
  93. package/dist/commands/diagnostic-command-handlers.d.ts.map +0 -1
  94. package/dist/commands/diagnostic-command-handlers.js.map +0 -1
  95. package/dist/commands/diagnostic-commands.d.ts.map +0 -1
  96. package/dist/commands/diagnostic-commands.js.map +0 -1
  97. package/dist/commands/index.d.ts.map +0 -1
  98. package/dist/commands/index.js.map +0 -1
  99. package/dist/commands/model-command-handlers.d.ts.map +0 -1
  100. package/dist/commands/model-command-handlers.js.map +0 -1
  101. package/dist/commands/model-commands.d.ts.map +0 -1
  102. package/dist/commands/model-commands.js.map +0 -1
  103. package/dist/commands/parser.d.ts.map +0 -1
  104. package/dist/commands/parser.js.map +0 -1
  105. package/dist/commands/registry.d.ts.map +0 -1
  106. package/dist/commands/registry.js.map +0 -1
  107. package/dist/commands/session-command-handlers.d.ts.map +0 -1
  108. package/dist/commands/session-command-handlers.js.map +0 -1
  109. package/dist/commands/session-commands.d.ts.map +0 -1
  110. package/dist/commands/session-commands.js.map +0 -1
  111. package/dist/commands/system-commands.d.ts.map +0 -1
  112. package/dist/commands/system-commands.js.map +0 -1
  113. package/dist/commands/target-command.d.ts.map +0 -1
  114. package/dist/commands/target-command.js.map +0 -1
  115. package/dist/commands/tool-commands.d.ts.map +0 -1
  116. package/dist/commands/tool-commands.js.map +0 -1
  117. package/dist/commands/types.d.ts.map +0 -1
  118. package/dist/commands/types.js.map +0 -1
  119. package/dist/commands/workflow-command-handlers.d.ts.map +0 -1
  120. package/dist/commands/workflow-command-handlers.js.map +0 -1
  121. package/dist/commands/workflow-commands.d.ts.map +0 -1
  122. package/dist/commands/workflow-commands.js.map +0 -1
  123. package/dist/core/checkpoint.d.ts.map +0 -1
  124. package/dist/core/checkpoint.js.map +0 -1
  125. package/dist/core/cost-tracker.d.ts.map +0 -1
  126. package/dist/core/cost-tracker.js.map +0 -1
  127. package/dist/core/security-warning.d.ts.map +0 -1
  128. package/dist/core/security-warning.js.map +0 -1
  129. package/dist/core/strategy-tracker.d.ts.map +0 -1
  130. package/dist/core/strategy-tracker.js.map +0 -1
  131. package/dist/core/tool-artifacts.d.ts.map +0 -1
  132. package/dist/core/tool-artifacts.js.map +0 -1
  133. package/dist/core/warn-dedup.d.ts.map +0 -1
  134. package/dist/core/warn-dedup.js.map +0 -1
  135. package/dist/framework/agent-mode.d.ts.map +0 -1
  136. package/dist/framework/agent-mode.js.map +0 -1
  137. package/dist/framework/external-assertion.d.ts.map +0 -1
  138. package/dist/framework/external-assertion.js.map +0 -1
  139. package/dist/framework/index.d.ts.map +0 -1
  140. package/dist/framework/index.js.map +0 -1
  141. package/dist/framework/loop-budget-contract.d.ts.map +0 -1
  142. package/dist/framework/loop-budget-contract.js.map +0 -1
  143. package/dist/framework/prompt.d.ts.map +0 -1
  144. package/dist/framework/prompt.js.map +0 -1
  145. package/dist/framework/query.d.ts.map +0 -1
  146. package/dist/framework/query.js.map +0 -1
  147. package/dist/framework/stop-decision.d.ts.map +0 -1
  148. package/dist/framework/stop-decision.js.map +0 -1
  149. package/dist/framework/store.d.ts.map +0 -1
  150. package/dist/framework/store.js.map +0 -1
  151. package/dist/framework/tool-call-orchestrator.d.ts.map +0 -1
  152. package/dist/framework/tool-call-orchestrator.js.map +0 -1
  153. package/dist/framework/tool-serializer.d.ts.map +0 -1
  154. package/dist/framework/tool-serializer.js.map +0 -1
  155. package/dist/framework/tool-state.d.ts.map +0 -1
  156. package/dist/framework/tool-state.js.map +0 -1
  157. package/dist/framework/tool.d.ts.map +0 -1
  158. package/dist/framework/tool.js.map +0 -1
  159. package/dist/harness/assembler.d.ts.map +0 -1
  160. package/dist/harness/assembler.js.map +0 -1
  161. package/dist/harness/capability-profile.d.ts.map +0 -1
  162. package/dist/harness/capability-profile.js.map +0 -1
  163. package/dist/harness/capsule.d.ts.map +0 -1
  164. package/dist/harness/capsule.js.map +0 -1
  165. package/dist/harness/compact-benchmark-corpus.d.ts.map +0 -1
  166. package/dist/harness/compact-benchmark-corpus.js.map +0 -1
  167. package/dist/harness/context-harness.d.ts.map +0 -1
  168. package/dist/harness/context-harness.js.map +0 -1
  169. package/dist/harness/contract.d.ts.map +0 -1
  170. package/dist/harness/contract.js.map +0 -1
  171. package/dist/harness/drift-guard.d.ts.map +0 -1
  172. package/dist/harness/drift-guard.js.map +0 -1
  173. package/dist/harness/evidence.d.ts.map +0 -1
  174. package/dist/harness/evidence.js.map +0 -1
  175. package/dist/harness/index.d.ts.map +0 -1
  176. package/dist/harness/index.js.map +0 -1
  177. package/dist/harness/intent.d.ts.map +0 -1
  178. package/dist/harness/intent.js.map +0 -1
  179. package/dist/harness/ledger.d.ts.map +0 -1
  180. package/dist/harness/ledger.js.map +0 -1
  181. package/dist/harness/progress-controller.d.ts.map +0 -1
  182. package/dist/harness/progress-controller.js.map +0 -1
  183. package/dist/harness/state.d.ts.map +0 -1
  184. package/dist/harness/state.js.map +0 -1
  185. package/dist/harness/stop-controller.d.ts.map +0 -1
  186. package/dist/harness/stop-controller.js.map +0 -1
  187. package/dist/harness/turn-summary.d.ts.map +0 -1
  188. package/dist/harness/turn-summary.js.map +0 -1
  189. package/dist/harness/types.d.ts.map +0 -1
  190. package/dist/harness/types.js.map +0 -1
  191. package/dist/harness/verification.d.ts.map +0 -1
  192. package/dist/harness/verification.js.map +0 -1
  193. package/dist/index.d.ts.map +0 -1
  194. package/dist/index.js.map +0 -1
  195. package/dist/memory/embeddings.d.ts.map +0 -1
  196. package/dist/memory/embeddings.js.map +0 -1
  197. package/dist/memory/entrypoint.d.ts.map +0 -1
  198. package/dist/memory/entrypoint.js.map +0 -1
  199. package/dist/memory/index.d.ts.map +0 -1
  200. package/dist/memory/index.js.map +0 -1
  201. package/dist/memory/prompt-context.d.ts.map +0 -1
  202. package/dist/memory/prompt-context.js.map +0 -1
  203. package/dist/memory/prompts.d.ts.map +0 -1
  204. package/dist/memory/prompts.js.map +0 -1
  205. package/dist/memory/relevant-finder.d.ts.map +0 -1
  206. package/dist/memory/relevant-finder.js.map +0 -1
  207. package/dist/memory/semantic-config.d.ts.map +0 -1
  208. package/dist/memory/semantic-config.js.map +0 -1
  209. package/dist/memory/semantic-search.d.ts.map +0 -1
  210. package/dist/memory/semantic-search.js.map +0 -1
  211. package/dist/memory/storage.d.ts.map +0 -1
  212. package/dist/memory/storage.js.map +0 -1
  213. package/dist/memory/store.d.ts.map +0 -1
  214. package/dist/memory/store.js.map +0 -1
  215. package/dist/memory/team-paths.d.ts.map +0 -1
  216. package/dist/memory/team-paths.js.map +0 -1
  217. package/dist/memory/types.d.ts.map +0 -1
  218. package/dist/memory/types.js.map +0 -1
  219. package/dist/memory/validation.d.ts.map +0 -1
  220. package/dist/memory/validation.js.map +0 -1
  221. package/dist/memory/vector-store.d.ts.map +0 -1
  222. package/dist/memory/vector-store.js.map +0 -1
  223. package/dist/migration/command.d.ts.map +0 -1
  224. package/dist/migration/command.js.map +0 -1
  225. package/dist/migration/index.d.ts.map +0 -1
  226. package/dist/migration/index.js.map +0 -1
  227. package/dist/migration/migrate.d.ts.map +0 -1
  228. package/dist/migration/migrate.js.map +0 -1
  229. package/dist/migration/types.d.ts.map +0 -1
  230. package/dist/migration/types.js.map +0 -1
  231. package/dist/print-ui/launch.d.ts.map +0 -1
  232. package/dist/print-ui/launch.js.map +0 -1
  233. package/dist/product/environment.d.ts.map +0 -1
  234. package/dist/product/environment.js.map +0 -1
  235. package/dist/product/identity.d.ts.map +0 -1
  236. package/dist/product/identity.js.map +0 -1
  237. package/dist/product/index.d.ts.map +0 -1
  238. package/dist/product/index.js.map +0 -1
  239. package/dist/product/paths.d.ts.map +0 -1
  240. package/dist/product/paths.js.map +0 -1
  241. package/dist/product/version.d.ts.map +0 -1
  242. package/dist/product/version.js.map +0 -1
  243. package/dist/runtime/agent-loop.d.ts.map +0 -1
  244. package/dist/runtime/agent-loop.js.map +0 -1
  245. package/dist/runtime/agent-runtime-controller.d.ts.map +0 -1
  246. package/dist/runtime/agent-runtime-controller.js.map +0 -1
  247. package/dist/runtime/agent-runtime-protocol.d.ts.map +0 -1
  248. package/dist/runtime/agent-runtime-protocol.js.map +0 -1
  249. package/dist/runtime/agent-runtime-runner.d.ts.map +0 -1
  250. package/dist/runtime/agent-runtime-runner.js.map +0 -1
  251. package/dist/runtime/agent-status.d.ts.map +0 -1
  252. package/dist/runtime/agent-status.js.map +0 -1
  253. package/dist/runtime/aggregate-tool-presenter.d.ts.map +0 -1
  254. package/dist/runtime/aggregate-tool-presenter.js.map +0 -1
  255. package/dist/runtime/batch-read-service.d.ts.map +0 -1
  256. package/dist/runtime/batch-read-service.js.map +0 -1
  257. package/dist/runtime/builtin-tool-provider.d.ts.map +0 -1
  258. package/dist/runtime/builtin-tool-provider.js.map +0 -1
  259. package/dist/runtime/capabilities/compiler.d.ts.map +0 -1
  260. package/dist/runtime/capabilities/compiler.js.map +0 -1
  261. package/dist/runtime/capabilities/index.d.ts.map +0 -1
  262. package/dist/runtime/capabilities/index.js.map +0 -1
  263. package/dist/runtime/capabilities/types.d.ts.map +0 -1
  264. package/dist/runtime/capabilities/types.js.map +0 -1
  265. package/dist/runtime/capability-receipt-journal.d.ts.map +0 -1
  266. package/dist/runtime/capability-receipt-journal.js.map +0 -1
  267. package/dist/runtime/capability-step-factory.d.ts.map +0 -1
  268. package/dist/runtime/capability-step-factory.js.map +0 -1
  269. package/dist/runtime/compact-transaction.d.ts.map +0 -1
  270. package/dist/runtime/compact-transaction.js.map +0 -1
  271. package/dist/runtime/composer/buffer.d.ts.map +0 -1
  272. package/dist/runtime/composer/buffer.js.map +0 -1
  273. package/dist/runtime/composer/grapheme.d.ts.map +0 -1
  274. package/dist/runtime/composer/grapheme.js.map +0 -1
  275. package/dist/runtime/composer/history.d.ts.map +0 -1
  276. package/dist/runtime/composer/history.js.map +0 -1
  277. package/dist/runtime/composer/layout.d.ts.map +0 -1
  278. package/dist/runtime/composer/layout.js.map +0 -1
  279. package/dist/runtime/core-tools/descriptors.d.ts.map +0 -1
  280. package/dist/runtime/core-tools/descriptors.js.map +0 -1
  281. package/dist/runtime/durable-tool-receipt-reader.d.ts.map +0 -1
  282. package/dist/runtime/durable-tool-receipt-reader.js.map +0 -1
  283. package/dist/runtime/first-party-core-provider.d.ts.map +0 -1
  284. package/dist/runtime/first-party-core-provider.js.map +0 -1
  285. package/dist/runtime/first-party-long-tail-provider.d.ts.map +0 -1
  286. package/dist/runtime/first-party-long-tail-provider.js.map +0 -1
  287. package/dist/runtime/first-party-tool-services.d.ts.map +0 -1
  288. package/dist/runtime/first-party-tool-services.js.map +0 -1
  289. package/dist/runtime/first-party-tool-universe.d.ts.map +0 -1
  290. package/dist/runtime/first-party-tool-universe.js.map +0 -1
  291. package/dist/runtime/goal-lifecycle-v2.d.ts.map +0 -1
  292. package/dist/runtime/goal-lifecycle-v2.js.map +0 -1
  293. package/dist/runtime/goal-runtime-coordinator.d.ts.map +0 -1
  294. package/dist/runtime/goal-runtime-coordinator.js.map +0 -1
  295. package/dist/runtime/goals/completion-audit.d.ts.map +0 -1
  296. package/dist/runtime/goals/completion-audit.js.map +0 -1
  297. package/dist/runtime/goals/evidence.d.ts.map +0 -1
  298. package/dist/runtime/goals/evidence.js.map +0 -1
  299. package/dist/runtime/goals/objective.d.ts.map +0 -1
  300. package/dist/runtime/goals/objective.js.map +0 -1
  301. package/dist/runtime/goals/presentation.d.ts.map +0 -1
  302. package/dist/runtime/goals/presentation.js.map +0 -1
  303. package/dist/runtime/goals/types.d.ts.map +0 -1
  304. package/dist/runtime/goals/types.js.map +0 -1
  305. package/dist/runtime/harness-confluence.d.ts.map +0 -1
  306. package/dist/runtime/harness-confluence.js.map +0 -1
  307. package/dist/runtime/harness-eval.d.ts.map +0 -1
  308. package/dist/runtime/harness-eval.js.map +0 -1
  309. package/dist/runtime/harness-metrics.d.ts.map +0 -1
  310. package/dist/runtime/harness-metrics.js.map +0 -1
  311. package/dist/runtime/legacy-session-importer.d.ts.map +0 -1
  312. package/dist/runtime/legacy-session-importer.js.map +0 -1
  313. package/dist/runtime/legacy-thread-materializer.d.ts.map +0 -1
  314. package/dist/runtime/legacy-thread-materializer.js.map +0 -1
  315. package/dist/runtime/long-tail-tools/descriptors.d.ts.map +0 -1
  316. package/dist/runtime/long-tail-tools/descriptors.js.map +0 -1
  317. package/dist/runtime/loop-budget.d.ts.map +0 -1
  318. package/dist/runtime/loop-budget.js.map +0 -1
  319. package/dist/runtime/mcp/first-party-mcp-adapter.d.ts.map +0 -1
  320. package/dist/runtime/mcp/first-party-mcp-adapter.js.map +0 -1
  321. package/dist/runtime/mcp/first-party-mcp-config.d.ts.map +0 -1
  322. package/dist/runtime/mcp/first-party-mcp-config.js.map +0 -1
  323. package/dist/runtime/mcp/index.d.ts.map +0 -1
  324. package/dist/runtime/mcp/index.js.map +0 -1
  325. package/dist/runtime/mcp/lazy-mcp-runtime.d.ts.map +0 -1
  326. package/dist/runtime/mcp/lazy-mcp-runtime.js.map +0 -1
  327. package/dist/runtime/mcp/types.d.ts.map +0 -1
  328. package/dist/runtime/mcp/types.js.map +0 -1
  329. package/dist/runtime/model-coordinator.d.ts.map +0 -1
  330. package/dist/runtime/model-coordinator.js.map +0 -1
  331. package/dist/runtime/orion-runtime-v1.d.ts.map +0 -1
  332. package/dist/runtime/orion-runtime-v1.js.map +0 -1
  333. package/dist/runtime/orion-session-runner.d.ts.map +0 -1
  334. package/dist/runtime/orion-session-runner.js.map +0 -1
  335. package/dist/runtime/plan-review.d.ts.map +0 -1
  336. package/dist/runtime/plan-review.js.map +0 -1
  337. package/dist/runtime/product-bootstrap.d.ts.map +0 -1
  338. package/dist/runtime/product-bootstrap.js.map +0 -1
  339. package/dist/runtime/product-orion-runtime.d.ts.map +0 -1
  340. package/dist/runtime/product-orion-runtime.js.map +0 -1
  341. package/dist/runtime/prompts/index.d.ts.map +0 -1
  342. package/dist/runtime/prompts/index.js.map +0 -1
  343. package/dist/runtime/prompts/prompt-registry.d.ts.map +0 -1
  344. package/dist/runtime/prompts/prompt-registry.js.map +0 -1
  345. package/dist/runtime/prompts/types.d.ts.map +0 -1
  346. package/dist/runtime/prompts/types.js.map +0 -1
  347. package/dist/runtime/protocol/canonical.d.ts.map +0 -1
  348. package/dist/runtime/protocol/canonical.js.map +0 -1
  349. package/dist/runtime/protocol/index.d.ts.map +0 -1
  350. package/dist/runtime/protocol/index.js.map +0 -1
  351. package/dist/runtime/protocol/runtime-protocol-v1.d.ts.map +0 -1
  352. package/dist/runtime/protocol/runtime-protocol-v1.js.map +0 -1
  353. package/dist/runtime/release-receipts.d.ts.map +0 -1
  354. package/dist/runtime/release-receipts.js.map +0 -1
  355. package/dist/runtime/resource-scope.d.ts.map +0 -1
  356. package/dist/runtime/resource-scope.js.map +0 -1
  357. package/dist/runtime/rich-text/ansi-parser.d.ts.map +0 -1
  358. package/dist/runtime/rich-text/ansi-parser.js.map +0 -1
  359. package/dist/runtime/rich-text/layout.d.ts.map +0 -1
  360. package/dist/runtime/rich-text/layout.js.map +0 -1
  361. package/dist/runtime/rich-text/markdown-parser.d.ts.map +0 -1
  362. package/dist/runtime/rich-text/markdown-parser.js.map +0 -1
  363. package/dist/runtime/rich-text/sanitizer.d.ts.map +0 -1
  364. package/dist/runtime/rich-text/sanitizer.js.map +0 -1
  365. package/dist/runtime/rich-text/types.d.ts.map +0 -1
  366. package/dist/runtime/rich-text/types.js.map +0 -1
  367. package/dist/runtime/runtime-event-buffer.d.ts.map +0 -1
  368. package/dist/runtime/runtime-event-buffer.js.map +0 -1
  369. package/dist/runtime/runtime-services.d.ts.map +0 -1
  370. package/dist/runtime/runtime-services.js.map +0 -1
  371. package/dist/runtime/session-composer-control.d.ts.map +0 -1
  372. package/dist/runtime/session-composer-control.js.map +0 -1
  373. package/dist/runtime/session-history-recovery.d.ts.map +0 -1
  374. package/dist/runtime/session-history-recovery.js.map +0 -1
  375. package/dist/runtime/skills/bounded-lru-cache.d.ts.map +0 -1
  376. package/dist/runtime/skills/bounded-lru-cache.js.map +0 -1
  377. package/dist/runtime/skills/filesystem-skill-provider.d.ts.map +0 -1
  378. package/dist/runtime/skills/filesystem-skill-provider.js.map +0 -1
  379. package/dist/runtime/skills/index.d.ts.map +0 -1
  380. package/dist/runtime/skills/index.js.map +0 -1
  381. package/dist/runtime/skills/lazy-skill-runtime.d.ts.map +0 -1
  382. package/dist/runtime/skills/lazy-skill-runtime.js.map +0 -1
  383. package/dist/runtime/skills/types.d.ts.map +0 -1
  384. package/dist/runtime/skills/types.js.map +0 -1
  385. package/dist/runtime/step-snapshot.d.ts.map +0 -1
  386. package/dist/runtime/step-snapshot.js.map +0 -1
  387. package/dist/runtime/subagent-thread-runtime.d.ts.map +0 -1
  388. package/dist/runtime/subagent-thread-runtime.js.map +0 -1
  389. package/dist/runtime/subagents/budget.d.ts.map +0 -1
  390. package/dist/runtime/subagents/budget.js.map +0 -1
  391. package/dist/runtime/subagents/child-executor-guard.d.ts.map +0 -1
  392. package/dist/runtime/subagents/child-executor-guard.js.map +0 -1
  393. package/dist/runtime/subagents/context-builder.d.ts.map +0 -1
  394. package/dist/runtime/subagents/context-builder.js.map +0 -1
  395. package/dist/runtime/subagents/index.d.ts.map +0 -1
  396. package/dist/runtime/subagents/index.js.map +0 -1
  397. package/dist/runtime/subagents/parent-step-fork.d.ts.map +0 -1
  398. package/dist/runtime/subagents/parent-step-fork.js.map +0 -1
  399. package/dist/runtime/subagents/policy.d.ts.map +0 -1
  400. package/dist/runtime/subagents/policy.js.map +0 -1
  401. package/dist/runtime/subagents/presets.d.ts.map +0 -1
  402. package/dist/runtime/subagents/presets.js.map +0 -1
  403. package/dist/runtime/subagents/production.d.ts.map +0 -1
  404. package/dist/runtime/subagents/production.js.map +0 -1
  405. package/dist/runtime/subagents/provider-gate.d.ts.map +0 -1
  406. package/dist/runtime/subagents/provider-gate.js.map +0 -1
  407. package/dist/runtime/subagents/receipt-journal.d.ts.map +0 -1
  408. package/dist/runtime/subagents/receipt-journal.js.map +0 -1
  409. package/dist/runtime/subagents/research-artifact.d.ts.map +0 -1
  410. package/dist/runtime/subagents/research-artifact.js.map +0 -1
  411. package/dist/runtime/subagents/research-citation.d.ts.map +0 -1
  412. package/dist/runtime/subagents/research-citation.js.map +0 -1
  413. package/dist/runtime/subagents/research-contract.d.ts.map +0 -1
  414. package/dist/runtime/subagents/research-contract.js.map +0 -1
  415. package/dist/runtime/subagents/research-quality.d.ts.map +0 -1
  416. package/dist/runtime/subagents/research-quality.js.map +0 -1
  417. package/dist/runtime/subagents/research-renderer.d.ts.map +0 -1
  418. package/dist/runtime/subagents/research-renderer.js.map +0 -1
  419. package/dist/runtime/subagents/research-types.d.ts.map +0 -1
  420. package/dist/runtime/subagents/research-types.js.map +0 -1
  421. package/dist/runtime/subagents/result-parser.d.ts.map +0 -1
  422. package/dist/runtime/subagents/result-parser.js.map +0 -1
  423. package/dist/runtime/subagents/runner.d.ts.map +0 -1
  424. package/dist/runtime/subagents/runner.js.map +0 -1
  425. package/dist/runtime/subagents/runtime-contract.d.ts.map +0 -1
  426. package/dist/runtime/subagents/runtime-contract.js.map +0 -1
  427. package/dist/runtime/subagents/runtime-integration.d.ts.map +0 -1
  428. package/dist/runtime/subagents/runtime-integration.js.map +0 -1
  429. package/dist/runtime/subagents/supervisor.d.ts.map +0 -1
  430. package/dist/runtime/subagents/supervisor.js.map +0 -1
  431. package/dist/runtime/subagents/tool.d.ts.map +0 -1
  432. package/dist/runtime/subagents/tool.js.map +0 -1
  433. package/dist/runtime/subagents/types.d.ts.map +0 -1
  434. package/dist/runtime/subagents/types.js.map +0 -1
  435. package/dist/runtime/subagents/web-research-adapter.d.ts.map +0 -1
  436. package/dist/runtime/subagents/web-research-adapter.js.map +0 -1
  437. package/dist/runtime/task-context-service.d.ts.map +0 -1
  438. package/dist/runtime/task-context-service.js.map +0 -1
  439. package/dist/runtime/thread-admission.d.ts.map +0 -1
  440. package/dist/runtime/thread-admission.js.map +0 -1
  441. package/dist/runtime/thread-compact-persistence.d.ts.map +0 -1
  442. package/dist/runtime/thread-compact-persistence.js.map +0 -1
  443. package/dist/runtime/thread-event-store.d.ts.map +0 -1
  444. package/dist/runtime/thread-event-store.js.map +0 -1
  445. package/dist/runtime/thread-projection.d.ts.map +0 -1
  446. package/dist/runtime/thread-projection.js.map +0 -1
  447. package/dist/runtime/thread-runtime.d.ts.map +0 -1
  448. package/dist/runtime/thread-runtime.js.map +0 -1
  449. package/dist/runtime/thread-session-index.d.ts.map +0 -1
  450. package/dist/runtime/thread-session-index.js.map +0 -1
  451. package/dist/runtime/thread-session-view.d.ts.map +0 -1
  452. package/dist/runtime/thread-session-view.js.map +0 -1
  453. package/dist/runtime/thread-tool-journal.d.ts.map +0 -1
  454. package/dist/runtime/thread-tool-journal.js.map +0 -1
  455. package/dist/runtime/thread-ui-adapter.d.ts.map +0 -1
  456. package/dist/runtime/thread-ui-adapter.js.map +0 -1
  457. package/dist/runtime/tool-detail-repository.d.ts.map +0 -1
  458. package/dist/runtime/tool-detail-repository.js.map +0 -1
  459. package/dist/runtime/tool-gateway.d.ts.map +0 -1
  460. package/dist/runtime/tool-gateway.js.map +0 -1
  461. package/dist/runtime/tool-output-presentation.d.ts.map +0 -1
  462. package/dist/runtime/tool-output-presentation.js.map +0 -1
  463. package/dist/runtime/tool-receipt-validator.d.ts.map +0 -1
  464. package/dist/runtime/tool-receipt-validator.js.map +0 -1
  465. package/dist/runtime/turn-commit.d.ts.map +0 -1
  466. package/dist/runtime/turn-commit.js.map +0 -1
  467. package/dist/runtime/turn-controller.d.ts.map +0 -1
  468. package/dist/runtime/turn-controller.js.map +0 -1
  469. package/dist/runtime/ui-events.d.ts.map +0 -1
  470. package/dist/runtime/ui-events.js.map +0 -1
  471. package/dist/runtime/ui-view-model.d.ts.map +0 -1
  472. package/dist/runtime/ui-view-model.js.map +0 -1
  473. package/dist/services/atomic-write.d.ts.map +0 -1
  474. package/dist/services/atomic-write.js.map +0 -1
  475. package/dist/services/auth/auth.d.ts.map +0 -1
  476. package/dist/services/auth/auth.js.map +0 -1
  477. package/dist/services/auth/aws.d.ts.map +0 -1
  478. package/dist/services/auth/aws.js.map +0 -1
  479. package/dist/services/auth/index.d.ts.map +0 -1
  480. package/dist/services/auth/index.js.map +0 -1
  481. package/dist/services/auto-fix/autoFixConfig.d.ts.map +0 -1
  482. package/dist/services/auto-fix/autoFixConfig.js.map +0 -1
  483. package/dist/services/auto-fix/autoFixHook.d.ts.map +0 -1
  484. package/dist/services/auto-fix/autoFixHook.js.map +0 -1
  485. package/dist/services/auto-fix/autoFixRunner.d.ts.map +0 -1
  486. package/dist/services/auto-fix/autoFixRunner.js.map +0 -1
  487. package/dist/services/auto-fix/index.d.ts.map +0 -1
  488. package/dist/services/auto-fix/index.js.map +0 -1
  489. package/dist/services/bounded-response.d.ts.map +0 -1
  490. package/dist/services/bounded-response.js.map +0 -1
  491. package/dist/services/commit-plan.d.ts.map +0 -1
  492. package/dist/services/commit-plan.js.map +0 -1
  493. package/dist/services/compact/auto-compact.d.ts.map +0 -1
  494. package/dist/services/compact/auto-compact.js.map +0 -1
  495. package/dist/services/compact/compact.d.ts.map +0 -1
  496. package/dist/services/compact/compact.js.map +0 -1
  497. package/dist/services/compact/coordinator.d.ts.map +0 -1
  498. package/dist/services/compact/coordinator.js.map +0 -1
  499. package/dist/services/compact/fingerprint.d.ts.map +0 -1
  500. package/dist/services/compact/fingerprint.js.map +0 -1
  501. package/dist/services/compact/index.d.ts.map +0 -1
  502. package/dist/services/compact/index.js.map +0 -1
  503. package/dist/services/compact/planner.d.ts.map +0 -1
  504. package/dist/services/compact/planner.js.map +0 -1
  505. package/dist/services/compact/semantic-summary.d.ts.map +0 -1
  506. package/dist/services/compact/semantic-summary.js.map +0 -1
  507. package/dist/services/compact/summary-generator.d.ts.map +0 -1
  508. package/dist/services/compact/summary-generator.js.map +0 -1
  509. package/dist/services/compact/tool-call-groups.d.ts.map +0 -1
  510. package/dist/services/compact/tool-call-groups.js.map +0 -1
  511. package/dist/services/concurrent-sessions.d.ts.map +0 -1
  512. package/dist/services/concurrent-sessions.js.map +0 -1
  513. package/dist/services/config-dir.d.ts.map +0 -1
  514. package/dist/services/config-dir.js.map +0 -1
  515. package/dist/services/config.d.ts.map +0 -1
  516. package/dist/services/config.js.map +0 -1
  517. package/dist/services/diagnostic-tracking/diagnosticTracking.d.ts.map +0 -1
  518. package/dist/services/diagnostic-tracking/diagnosticTracking.js.map +0 -1
  519. package/dist/services/diagnostic-tracking/formatter.d.ts.map +0 -1
  520. package/dist/services/diagnostic-tracking/formatter.js.map +0 -1
  521. package/dist/services/diagnostic-tracking/index.d.ts.map +0 -1
  522. package/dist/services/diagnostic-tracking/index.js.map +0 -1
  523. package/dist/services/diagnostic-tracking/types.d.ts.map +0 -1
  524. package/dist/services/diagnostic-tracking/types.js.map +0 -1
  525. package/dist/services/doctor.d.ts.map +0 -1
  526. package/dist/services/doctor.js.map +0 -1
  527. package/dist/services/effort.d.ts.map +0 -1
  528. package/dist/services/effort.js.map +0 -1
  529. package/dist/services/file-context.d.ts.map +0 -1
  530. package/dist/services/file-context.js.map +0 -1
  531. package/dist/services/file-glob.d.ts.map +0 -1
  532. package/dist/services/file-glob.js.map +0 -1
  533. package/dist/services/file-lock.d.ts.map +0 -1
  534. package/dist/services/file-lock.js.map +0 -1
  535. package/dist/services/format.d.ts.map +0 -1
  536. package/dist/services/format.js.map +0 -1
  537. package/dist/services/global-config.d.ts.map +0 -1
  538. package/dist/services/global-config.js.map +0 -1
  539. package/dist/services/goal-storage.d.ts.map +0 -1
  540. package/dist/services/goal-storage.js.map +0 -1
  541. package/dist/services/llm.d.ts.map +0 -1
  542. package/dist/services/llm.js.map +0 -1
  543. package/dist/services/mcp/index.d.ts.map +0 -1
  544. package/dist/services/mcp/index.js.map +0 -1
  545. package/dist/services/mcp/transports.d.ts.map +0 -1
  546. package/dist/services/mcp/transports.js.map +0 -1
  547. package/dist/services/memory.d.ts.map +0 -1
  548. package/dist/services/memory.js.map +0 -1
  549. package/dist/services/model-catalog.d.ts.map +0 -1
  550. package/dist/services/model-catalog.js.map +0 -1
  551. package/dist/services/model-client-pool.d.ts.map +0 -1
  552. package/dist/services/model-client-pool.js.map +0 -1
  553. package/dist/services/model-context.d.ts.map +0 -1
  554. package/dist/services/model-context.js.map +0 -1
  555. package/dist/services/model-registry.d.ts.map +0 -1
  556. package/dist/services/model-registry.js.map +0 -1
  557. package/dist/services/project-instructions.d.ts.map +0 -1
  558. package/dist/services/project-instructions.js.map +0 -1
  559. package/dist/services/prompt-context.d.ts.map +0 -1
  560. package/dist/services/prompt-context.js.map +0 -1
  561. package/dist/services/provider-diagnostics.d.ts.map +0 -1
  562. package/dist/services/provider-diagnostics.js.map +0 -1
  563. package/dist/services/provider-resilience/circuit-breaker.d.ts.map +0 -1
  564. package/dist/services/provider-resilience/circuit-breaker.js.map +0 -1
  565. package/dist/services/provider-resilience/coordinator.d.ts.map +0 -1
  566. package/dist/services/provider-resilience/coordinator.js.map +0 -1
  567. package/dist/services/provider-resilience/error-classifier.d.ts.map +0 -1
  568. package/dist/services/provider-resilience/error-classifier.js.map +0 -1
  569. package/dist/services/provider-resilience/index.d.ts.map +0 -1
  570. package/dist/services/provider-resilience/index.js.map +0 -1
  571. package/dist/services/provider-resilience/request-gate.d.ts.map +0 -1
  572. package/dist/services/provider-resilience/request-gate.js.map +0 -1
  573. package/dist/services/provider-resilience/stream-recovery.d.ts.map +0 -1
  574. package/dist/services/provider-resilience/stream-recovery.js.map +0 -1
  575. package/dist/services/provider-resilience/types.d.ts.map +0 -1
  576. package/dist/services/provider-resilience/types.js.map +0 -1
  577. package/dist/services/redaction.d.ts.map +0 -1
  578. package/dist/services/redaction.js.map +0 -1
  579. package/dist/services/safe-project-reader.d.ts.map +0 -1
  580. package/dist/services/safe-project-reader.js.map +0 -1
  581. package/dist/services/session-index.d.ts.map +0 -1
  582. package/dist/services/session-index.js.map +0 -1
  583. package/dist/services/session-memory/index.d.ts.map +0 -1
  584. package/dist/services/session-memory/index.js.map +0 -1
  585. package/dist/services/session-memory/prompts.d.ts.map +0 -1
  586. package/dist/services/session-memory/prompts.js.map +0 -1
  587. package/dist/services/session-memory/sessionMemory.d.ts.map +0 -1
  588. package/dist/services/session-memory/sessionMemory.js.map +0 -1
  589. package/dist/services/session-storage.d.ts.map +0 -1
  590. package/dist/services/session-storage.js.map +0 -1
  591. package/dist/services/settings-coordinator.d.ts.map +0 -1
  592. package/dist/services/settings-coordinator.js.map +0 -1
  593. package/dist/services/settings-document-repository.d.ts.map +0 -1
  594. package/dist/services/settings-document-repository.js.map +0 -1
  595. package/dist/services/smart-routing.d.ts.map +0 -1
  596. package/dist/services/smart-routing.js.map +0 -1
  597. package/dist/services/storage-maintenance.d.ts.map +0 -1
  598. package/dist/services/storage-maintenance.js.map +0 -1
  599. package/dist/services/tool-allowlist.d.ts.map +0 -1
  600. package/dist/services/tool-allowlist.js.map +0 -1
  601. package/dist/services/usage-state.d.ts.map +0 -1
  602. package/dist/services/usage-state.js.map +0 -1
  603. package/dist/services/verification-profile.d.ts.map +0 -1
  604. package/dist/services/verification-profile.js.map +0 -1
  605. package/dist/services/web-search-adapters.d.ts.map +0 -1
  606. package/dist/services/web-search-adapters.js.map +0 -1
  607. package/dist/services/web-search-mcp.d.ts.map +0 -1
  608. package/dist/services/web-search-mcp.js.map +0 -1
  609. package/dist/services/web-search-provider.d.ts.map +0 -1
  610. package/dist/services/web-search-provider.js.map +0 -1
  611. package/dist/services/workspace-containment.d.ts.map +0 -1
  612. package/dist/services/workspace-containment.js.map +0 -1
  613. package/dist/services/workspace-diff.d.ts.map +0 -1
  614. package/dist/services/workspace-diff.js.map +0 -1
  615. package/dist/services/workspace-registry.d.ts.map +0 -1
  616. package/dist/services/workspace-registry.js.map +0 -1
  617. package/dist/services/workspace-state.d.ts.map +0 -1
  618. package/dist/services/workspace-state.js.map +0 -1
  619. package/dist/services/yaml-config.d.ts.map +0 -1
  620. package/dist/services/yaml-config.js.map +0 -1
  621. package/dist/terminal-ui/completion.d.ts.map +0 -1
  622. package/dist/terminal-ui/completion.js.map +0 -1
  623. package/dist/terminal-ui/editor.d.ts.map +0 -1
  624. package/dist/terminal-ui/editor.js.map +0 -1
  625. package/dist/terminal-ui/launch.d.ts.map +0 -1
  626. package/dist/terminal-ui/launch.js.map +0 -1
  627. package/dist/terminal-ui/output-queue.d.ts.map +0 -1
  628. package/dist/terminal-ui/output-queue.js.map +0 -1
  629. package/dist/terminal-ui/raw-editor.d.ts.map +0 -1
  630. package/dist/terminal-ui/raw-editor.js.map +0 -1
  631. package/dist/tools/_validate.d.ts.map +0 -1
  632. package/dist/tools/_validate.js.map +0 -1
  633. package/dist/tools/bash_security.d.ts.map +0 -1
  634. package/dist/tools/bash_security.js.map +0 -1
  635. package/dist/tools/core/common.d.ts.map +0 -1
  636. package/dist/tools/core/common.js.map +0 -1
  637. package/dist/tools/core/edit-file.d.ts.map +0 -1
  638. package/dist/tools/core/edit-file.js.map +0 -1
  639. package/dist/tools/core/exec-command.d.ts.map +0 -1
  640. package/dist/tools/core/exec-command.js.map +0 -1
  641. package/dist/tools/core/glob.d.ts.map +0 -1
  642. package/dist/tools/core/glob.js.map +0 -1
  643. package/dist/tools/core/grep.d.ts.map +0 -1
  644. package/dist/tools/core/grep.js.map +0 -1
  645. package/dist/tools/core/index.d.ts.map +0 -1
  646. package/dist/tools/core/index.js.map +0 -1
  647. package/dist/tools/core/list-files.d.ts.map +0 -1
  648. package/dist/tools/core/list-files.js.map +0 -1
  649. package/dist/tools/core/read-file.d.ts.map +0 -1
  650. package/dist/tools/core/read-file.js.map +0 -1
  651. package/dist/tools/core/write-file.d.ts.map +0 -1
  652. package/dist/tools/core/write-file.js.map +0 -1
  653. package/dist/tools/git.d.ts.map +0 -1
  654. package/dist/tools/git.js.map +0 -1
  655. package/dist/tools/lsp.d.ts.map +0 -1
  656. package/dist/tools/lsp.js.map +0 -1
  657. package/dist/tools/sandbox.d.ts.map +0 -1
  658. package/dist/tools/sandbox.js.map +0 -1
  659. package/dist/tools/todo.d.ts.map +0 -1
  660. package/dist/tools/todo.js.map +0 -1
  661. package/dist/tools/web.d.ts.map +0 -1
  662. package/dist/tools/web.js.map +0 -1
  663. package/dist/tui-core/frame.d.ts.map +0 -1
  664. package/dist/tui-core/frame.js.map +0 -1
  665. package/dist/tui-core/input-parser.d.ts.map +0 -1
  666. package/dist/tui-core/input-parser.js.map +0 -1
  667. package/dist/tui-core/style.d.ts.map +0 -1
  668. package/dist/tui-core/style.js.map +0 -1
  669. package/dist/tui-core/terminal-writer.d.ts.map +0 -1
  670. package/dist/tui-core/terminal-writer.js.map +0 -1
  671. package/dist/tui-ui/chrome-view-model.d.ts.map +0 -1
  672. package/dist/tui-ui/chrome-view-model.js.map +0 -1
  673. package/dist/tui-ui/inline-surface.d.ts.map +0 -1
  674. package/dist/tui-ui/inline-surface.js.map +0 -1
  675. package/dist/tui-ui/input-ownership.d.ts.map +0 -1
  676. package/dist/tui-ui/input-ownership.js.map +0 -1
  677. package/dist/tui-ui/launch.d.ts.map +0 -1
  678. package/dist/tui-ui/launch.js.map +0 -1
  679. package/dist/tui-ui/layout.d.ts.map +0 -1
  680. package/dist/tui-ui/layout.js.map +0 -1
  681. package/dist/tui-ui/pickers.d.ts.map +0 -1
  682. package/dist/tui-ui/pickers.js.map +0 -1
  683. package/dist/tui-ui/pixel-mascot.d.ts.map +0 -1
  684. package/dist/tui-ui/pixel-mascot.js.map +0 -1
  685. package/dist/tui-ui/render-scheduler.d.ts.map +0 -1
  686. package/dist/tui-ui/render-scheduler.js.map +0 -1
  687. package/dist/tui-ui/runner.d.ts.map +0 -1
  688. package/dist/tui-ui/runner.js.map +0 -1
  689. package/dist/tui-ui/state.d.ts.map +0 -1
  690. package/dist/tui-ui/state.js.map +0 -1
  691. package/dist/tui-ui/terminal-image.d.ts.map +0 -1
  692. package/dist/tui-ui/terminal-image.js.map +0 -1
  693. package/dist/tui-ui/theme-profile.d.ts.map +0 -1
  694. package/dist/tui-ui/theme-profile.js.map +0 -1
  695. package/dist/tui-ui/theme.d.ts.map +0 -1
  696. package/dist/tui-ui/theme.js.map +0 -1
  697. package/dist/tui-ui/transcript-cache.d.ts.map +0 -1
  698. package/dist/tui-ui/transcript-cache.js.map +0 -1
  699. package/dist/tui-ui/transcript-inspector-layout.d.ts.map +0 -1
  700. package/dist/tui-ui/transcript-inspector-layout.js.map +0 -1
  701. package/dist/tui-ui/transcript-inspector-surface.d.ts.map +0 -1
  702. package/dist/tui-ui/transcript-inspector-surface.js.map +0 -1
  703. package/dist/tui-ui/transcript-inspector.d.ts.map +0 -1
  704. package/dist/tui-ui/transcript-inspector.js.map +0 -1
  705. package/dist/tui-ui/transcript-layout.d.ts.map +0 -1
  706. package/dist/tui-ui/transcript-layout.js.map +0 -1
  707. package/dist/ui/box.d.ts.map +0 -1
  708. package/dist/ui/box.js.map +0 -1
  709. package/dist/ui/command-panel.d.ts.map +0 -1
  710. package/dist/ui/command-panel.js.map +0 -1
  711. package/dist/ui/file-completion.d.ts.map +0 -1
  712. package/dist/ui/file-completion.js.map +0 -1
  713. package/dist/ui/markdown.d.ts.map +0 -1
  714. package/dist/ui/markdown.js.map +0 -1
  715. package/dist/ui/multiline-input.d.ts.map +0 -1
  716. package/dist/ui/multiline-input.js.map +0 -1
  717. package/dist/ui/progress.d.ts.map +0 -1
  718. package/dist/ui/progress.js.map +0 -1
  719. package/dist/ui/shared/command-palette.d.ts.map +0 -1
  720. package/dist/ui/shared/command-palette.js.map +0 -1
  721. package/dist/ui/shared/command-suggestions.d.ts.map +0 -1
  722. package/dist/ui/shared/command-suggestions.js.map +0 -1
  723. package/dist/ui/shared/input-frame.d.ts.map +0 -1
  724. package/dist/ui/shared/input-frame.js.map +0 -1
  725. package/dist/ui/shared/text.d.ts.map +0 -1
  726. package/dist/ui/shared/text.js.map +0 -1
  727. package/dist/ui/shared/types.d.ts.map +0 -1
  728. package/dist/ui/shared/types.js.map +0 -1
  729. package/dist/ui/status-bar.d.ts.map +0 -1
  730. package/dist/ui/status-bar.js.map +0 -1
  731. package/dist/ui/stream-markdown.d.ts.map +0 -1
  732. package/dist/ui/stream-markdown.js.map +0 -1
  733. package/dist/ui/suggestions.d.ts.map +0 -1
  734. package/dist/ui/suggestions.js.map +0 -1
  735. package/dist/ui/tool-preview.d.ts.map +0 -1
  736. package/dist/ui/tool-preview.js.map +0 -1
  737. package/dist/ui/user-input.d.ts.map +0 -1
  738. package/dist/ui/user-input.js.map +0 -1
  739. package/dist/utils/debug-log.d.ts.map +0 -1
  740. package/dist/utils/debug-log.js.map +0 -1
  741. package/dist/utils/errors.d.ts.map +0 -1
  742. package/dist/utils/errors.js.map +0 -1
  743. package/dist/utils/json.d.ts.map +0 -1
  744. package/dist/utils/json.js.map +0 -1
  745. package/dist/utils/mask.d.ts.map +0 -1
  746. package/dist/utils/mask.js.map +0 -1
  747. package/dist/utils/observability.d.ts.map +0 -1
  748. package/dist/utils/observability.js.map +0 -1
  749. package/dist/utils/token-estimate.d.ts.map +0 -1
  750. package/dist/utils/token-estimate.js.map +0 -1
  751. package/dist/web/errors.d.ts.map +0 -1
  752. package/dist/web/errors.js.map +0 -1
  753. package/dist/web/event-hub.d.ts.map +0 -1
  754. package/dist/web/event-hub.js.map +0 -1
  755. package/dist/web/file-read-service.d.ts.map +0 -1
  756. package/dist/web/file-read-service.js.map +0 -1
  757. package/dist/web/git-read-model-service.d.ts.map +0 -1
  758. package/dist/web/git-read-model-service.js.map +0 -1
  759. package/dist/web/index.d.ts.map +0 -1
  760. package/dist/web/index.js.map +0 -1
  761. package/dist/web/launch.d.ts.map +0 -1
  762. package/dist/web/launch.js.map +0 -1
  763. package/dist/web/protocol.d.ts.map +0 -1
  764. package/dist/web/protocol.js.map +0 -1
  765. package/dist/web/review-service.d.ts.map +0 -1
  766. package/dist/web/review-service.js.map +0 -1
  767. package/dist/web/server.d.ts.map +0 -1
  768. package/dist/web/server.js.map +0 -1
  769. package/dist/web/terminal-manager.d.ts.map +0 -1
  770. package/dist/web/terminal-manager.js.map +0 -1
  771. package/dist/web/terminal-server.d.ts.map +0 -1
  772. package/dist/web/terminal-server.js.map +0 -1
  773. package/dist/web/workbench-controller.d.ts.map +0 -1
  774. package/dist/web/workbench-controller.js.map +0 -1
  775. package/dist/web-client/assets/FilesPanel-DYs1MhoM.js +0 -2
  776. package/dist/web-client/assets/ReviewPanel-BDxG670T.js +0 -1
  777. package/dist/web-client/assets/index-BWV5sIvw.css +0 -1
  778. package/dist/web-client/assets/index-VVUKj6FE.js +0 -17
@@ -2,12 +2,14 @@ import type { Store } from '../framework/store';
2
2
  import type { OrionCodeCLIConfig } from '../services/config';
3
3
  import type { CompactCoordinator } from '../services/compact/coordinator';
4
4
  import { LLMService } from '../services/llm';
5
+ import type { ProviderRequestGate } from '../services/provider-resilience/request-gate';
5
6
  import { type BuiltinToolCatalogV1 } from './builtin-tool-provider';
6
7
  import type { McpConnectorV1, McpServerDescriptorInputV1 } from './mcp';
7
8
  import { type OrionRuntimeV1 } from './orion-runtime-v1';
8
9
  import type { SkillProviderV1 } from './skills';
9
10
  import type { FirstPartyApprovalHandlerV1 } from './first-party-tool-services';
10
11
  import type { ThreadSessionRuntimeActivationV1 } from './thread-session-view';
12
+ import { type WorkspaceMutationCoordinatorV1 } from './step-snapshot';
11
13
  import type { SubagentThreadReceiptV1 } from './subagent-thread-runtime';
12
14
  import { type SubagentRole } from './subagents/types';
13
15
  export interface ProductOrionRuntimeOptionsV1 {
@@ -22,6 +24,9 @@ export interface ProductOrionRuntimeOptionsV1 {
22
24
  readonly mcpDescriptors?: readonly McpServerDescriptorInputV1[];
23
25
  readonly mcpConnector?: McpConnectorV1;
24
26
  readonly approvalHandler?: FirstPartyApprovalHandlerV1;
27
+ readonly workspaceMutationCoordinator?: WorkspaceMutationCoordinatorV1;
28
+ /** Workspace-scoped provider concurrency/cooldown authority shared by root and child calls. */
29
+ readonly providerRequestGate?: ProviderRequestGate;
25
30
  /** Must create a distinct mutable provider client for every child request. */
26
31
  readonly createSubagentModelExecutor?: (input: {
27
32
  readonly role: SubagentRole;
@@ -103,6 +103,7 @@ function createProductOrionRuntimeV1(options, sessionId, activation) {
103
103
  connector: options.mcpConnector ?? INERT_MCP_CONNECTOR,
104
104
  },
105
105
  approvalHandler: options.approvalHandler,
106
+ workspaceMutationCoordinator: options.workspaceMutationCoordinator,
106
107
  ...(subagents ? { subagents } : {}),
107
108
  resolveCapabilityConfiguration: async (input, context) => {
108
109
  if (!promptState || promptState.turnId !== input.turnId) {
@@ -365,6 +366,7 @@ function createProductSubagentCompositionV1(options, model) {
365
366
  modelLabel: model.modelId,
366
367
  rootObjectiveSummary: input.input,
367
368
  abortSignal: input.abortSignal,
369
+ sharedGate: options.providerRequestGate,
368
370
  });
369
371
  if (!bundle) {
370
372
  productionRuntime.close('subagent_turn_unavailable');
@@ -6,11 +6,15 @@ export declare const SUPPORTED_RELEASE_VERSION_LINE_V1: "0.3.x";
6
6
  export declare const WEB_E2E_LEGACY_SCENARIOS_V1: readonly ["E2E-P0-01", "E2E-P0-02", "E2E-P0-03", "E2E-P0-04", "E2E-P0-05", "E2E-P0-06", "E2E-P0-07", "E2E-P0-08", "SET-P0-01", "SET-P0-02", "SET-P0-03", "SET-P0-04", "SET-P0-05", "SET-P0-06", "SET-P0-07", "SET-P0-08", "SET-P0-09", "SET-P0-10", "SET-P0-11", "SET-P0-12", "SET-P0-13", "SET-P0-14"];
7
7
  export declare const WEB_E2E_WEB31_SCENARIOS_V1: readonly ["WEB31-P0-01", "WEB31-P0-02", "WEB31-P0-03", "WEB31-P0-04", "WEB31-P0-05", "WEB31-P0-06", "WEB31-P0-07", "WEB31-P0-08", "WEB31-P0-09", "WEB31-P0-10", "WEB31-P0-11", "WEB31-P0-12"];
8
8
  export declare const WEB_E2E_WEB32_SCENARIOS_V1: readonly ["WEB32-P0-01", "WEB32-P0-02", "WEB32-P0-03", "WEB32-P0-04", "WEB32-P0-05", "WEB32-P0-06", "WEB32-P0-07", "WEB32-P0-08", "WEB32-P0-09", "WEB32-P0-10", "WEB32-P0-11", "WEB32-P0-12"];
9
- export declare const WEB_E2E_FULL_SCENARIOS_V1: readonly ("E2E-P0-01" | "E2E-P0-02" | "E2E-P0-03" | "E2E-P0-04" | "E2E-P0-05" | "E2E-P0-06" | "E2E-P0-07" | "E2E-P0-08" | "SET-P0-01" | "SET-P0-02" | "SET-P0-03" | "SET-P0-04" | "SET-P0-05" | "SET-P0-06" | "SET-P0-07" | "SET-P0-08" | "SET-P0-09" | "SET-P0-10" | "SET-P0-11" | "SET-P0-12" | "SET-P0-13" | "SET-P0-14" | "WEB31-P0-01" | "WEB31-P0-02" | "WEB31-P0-03" | "WEB31-P0-04" | "WEB31-P0-05" | "WEB31-P0-06" | "WEB31-P0-07" | "WEB31-P0-08" | "WEB31-P0-09" | "WEB31-P0-10" | "WEB31-P0-11" | "WEB31-P0-12" | "WEB32-P0-01" | "WEB32-P0-02" | "WEB32-P0-03" | "WEB32-P0-04" | "WEB32-P0-05" | "WEB32-P0-06" | "WEB32-P0-07" | "WEB32-P0-08" | "WEB32-P0-09" | "WEB32-P0-10" | "WEB32-P0-11" | "WEB32-P0-12")[];
10
- export declare const WEB_E2E_SETTINGS_SCENARIOS_V1: readonly ("E2E-P0-01" | "E2E-P0-02" | "E2E-P0-03" | "E2E-P0-04" | "E2E-P0-05" | "E2E-P0-06" | "E2E-P0-07" | "E2E-P0-08" | "SET-P0-01" | "SET-P0-02" | "SET-P0-03" | "SET-P0-04" | "SET-P0-05" | "SET-P0-06" | "SET-P0-07" | "SET-P0-08" | "SET-P0-09" | "SET-P0-10" | "SET-P0-11" | "SET-P0-12" | "SET-P0-13" | "SET-P0-14" | "WEB31-P0-01" | "WEB31-P0-02" | "WEB31-P0-03" | "WEB31-P0-04" | "WEB31-P0-05" | "WEB31-P0-06" | "WEB31-P0-07" | "WEB31-P0-08" | "WEB31-P0-09" | "WEB31-P0-10" | "WEB31-P0-11" | "WEB31-P0-12" | "WEB32-P0-01" | "WEB32-P0-02" | "WEB32-P0-03" | "WEB32-P0-04" | "WEB32-P0-05" | "WEB32-P0-06" | "WEB32-P0-07" | "WEB32-P0-08" | "WEB32-P0-09" | "WEB32-P0-10" | "WEB32-P0-11" | "WEB32-P0-12")[];
9
+ export declare const WEB_E2E_WEB33_THEME_SCENARIOS_V1: readonly ["WEB33-P0-01", "WEB33-P0-02", "WEB33-P0-03", "WEB33-P0-04", "WEB33-P0-05", "WEB33-P0-06", "WEB33-P0-07", "WEB33-P0-08", "WEB33-P0-09", "WEB33-P0-10", "WEB33-P0-11", "WEB33-P0-12"];
10
+ export declare const WEB_E2E_WEB33_SESSION_SCENARIOS_V1: readonly ["WEB33-P0-16", "WEB33-P0-17", "WEB33-P0-18", "WEB33-P0-19", "WEB33-P0-20", "WEB33-P0-21", "WEB33-P0-22", "WEB33-P0-23", "WEB33-P0-24"];
11
+ export declare const WEB_E2E_WEB33_SCENARIOS_V1: readonly ("WEB33-P0-01" | "WEB33-P0-02" | "WEB33-P0-03" | "WEB33-P0-04" | "WEB33-P0-05" | "WEB33-P0-06" | "WEB33-P0-07" | "WEB33-P0-08" | "WEB33-P0-09" | "WEB33-P0-10" | "WEB33-P0-11" | "WEB33-P0-12" | "WEB33-P0-16" | "WEB33-P0-17" | "WEB33-P0-18" | "WEB33-P0-19" | "WEB33-P0-20" | "WEB33-P0-21" | "WEB33-P0-22" | "WEB33-P0-23" | "WEB33-P0-24")[];
12
+ export declare const WEB_E2E_FULL_SCENARIOS_V1: readonly ("E2E-P0-01" | "E2E-P0-02" | "E2E-P0-03" | "E2E-P0-04" | "E2E-P0-05" | "E2E-P0-06" | "E2E-P0-07" | "E2E-P0-08" | "SET-P0-01" | "SET-P0-02" | "SET-P0-03" | "SET-P0-04" | "SET-P0-05" | "SET-P0-06" | "SET-P0-07" | "SET-P0-08" | "SET-P0-09" | "SET-P0-10" | "SET-P0-11" | "SET-P0-12" | "SET-P0-13" | "SET-P0-14" | "WEB31-P0-01" | "WEB31-P0-02" | "WEB31-P0-03" | "WEB31-P0-04" | "WEB31-P0-05" | "WEB31-P0-06" | "WEB31-P0-07" | "WEB31-P0-08" | "WEB31-P0-09" | "WEB31-P0-10" | "WEB31-P0-11" | "WEB31-P0-12" | "WEB32-P0-01" | "WEB32-P0-02" | "WEB32-P0-03" | "WEB32-P0-04" | "WEB32-P0-05" | "WEB32-P0-06" | "WEB32-P0-07" | "WEB32-P0-08" | "WEB32-P0-09" | "WEB32-P0-10" | "WEB32-P0-11" | "WEB32-P0-12" | "WEB33-P0-01" | "WEB33-P0-02" | "WEB33-P0-03" | "WEB33-P0-04" | "WEB33-P0-05" | "WEB33-P0-06" | "WEB33-P0-07" | "WEB33-P0-08" | "WEB33-P0-09" | "WEB33-P0-10" | "WEB33-P0-11" | "WEB33-P0-12" | "WEB33-P0-16" | "WEB33-P0-17" | "WEB33-P0-18" | "WEB33-P0-19" | "WEB33-P0-20" | "WEB33-P0-21" | "WEB33-P0-22" | "WEB33-P0-23" | "WEB33-P0-24")[];
13
+ export declare const WEB_E2E_SETTINGS_SCENARIOS_V1: readonly ("E2E-P0-01" | "E2E-P0-02" | "E2E-P0-03" | "E2E-P0-04" | "E2E-P0-05" | "E2E-P0-06" | "E2E-P0-07" | "E2E-P0-08" | "SET-P0-01" | "SET-P0-02" | "SET-P0-03" | "SET-P0-04" | "SET-P0-05" | "SET-P0-06" | "SET-P0-07" | "SET-P0-08" | "SET-P0-09" | "SET-P0-10" | "SET-P0-11" | "SET-P0-12" | "SET-P0-13" | "SET-P0-14" | "WEB31-P0-01" | "WEB31-P0-02" | "WEB31-P0-03" | "WEB31-P0-04" | "WEB31-P0-05" | "WEB31-P0-06" | "WEB31-P0-07" | "WEB31-P0-08" | "WEB31-P0-09" | "WEB31-P0-10" | "WEB31-P0-11" | "WEB31-P0-12" | "WEB32-P0-01" | "WEB32-P0-02" | "WEB32-P0-03" | "WEB32-P0-04" | "WEB32-P0-05" | "WEB32-P0-06" | "WEB32-P0-07" | "WEB32-P0-08" | "WEB32-P0-09" | "WEB32-P0-10" | "WEB32-P0-11" | "WEB32-P0-12" | "WEB33-P0-01" | "WEB33-P0-02" | "WEB33-P0-03" | "WEB33-P0-04" | "WEB33-P0-05" | "WEB33-P0-06" | "WEB33-P0-07" | "WEB33-P0-08" | "WEB33-P0-09" | "WEB33-P0-10" | "WEB33-P0-11" | "WEB33-P0-12" | "WEB33-P0-16" | "WEB33-P0-17" | "WEB33-P0-18" | "WEB33-P0-19" | "WEB33-P0-20" | "WEB33-P0-21" | "WEB33-P0-22" | "WEB33-P0-23" | "WEB33-P0-24")[];
11
14
  export declare const WEB_E2E_WEB31_CRITICAL_SCENARIOS_V1: readonly ["WEB31-P0-01", "WEB31-P0-02", "WEB31-P0-08", "WEB31-P0-09", "WEB31-P0-10", "WEB31-P0-12"];
12
15
  export declare const WEB_E2E_WEB32_CRITICAL_SCENARIOS_V1: readonly ["WEB32-P0-01", "WEB32-P0-04", "WEB32-P0-05", "WEB32-P0-06", "WEB32-P0-09", "WEB32-P0-11", "WEB32-P0-12"];
13
- export declare const WEB_E2E_CRITICAL_SCENARIOS_V1: readonly ("E2E-P0-01" | "E2E-P0-02" | "E2E-P0-03" | "E2E-P0-04" | "E2E-P0-05" | "E2E-P0-06" | "E2E-P0-07" | "E2E-P0-08" | "SET-P0-01" | "SET-P0-02" | "SET-P0-03" | "SET-P0-04" | "SET-P0-05" | "SET-P0-06" | "SET-P0-07" | "SET-P0-08" | "SET-P0-09" | "SET-P0-10" | "SET-P0-11" | "SET-P0-12" | "SET-P0-13" | "SET-P0-14" | "WEB31-P0-01" | "WEB31-P0-02" | "WEB31-P0-03" | "WEB31-P0-04" | "WEB31-P0-05" | "WEB31-P0-06" | "WEB31-P0-07" | "WEB31-P0-08" | "WEB31-P0-09" | "WEB31-P0-10" | "WEB31-P0-11" | "WEB31-P0-12" | "WEB32-P0-01" | "WEB32-P0-02" | "WEB32-P0-03" | "WEB32-P0-04" | "WEB32-P0-05" | "WEB32-P0-06" | "WEB32-P0-07" | "WEB32-P0-08" | "WEB32-P0-09" | "WEB32-P0-10" | "WEB32-P0-11" | "WEB32-P0-12")[];
16
+ export declare const WEB_E2E_WEB33_CRITICAL_SCENARIOS_V1: readonly ["WEB33-P0-01", "WEB33-P0-03", "WEB33-P0-08", "WEB33-P0-10", "WEB33-P0-12", "WEB33-P0-16", "WEB33-P0-17", "WEB33-P0-18", "WEB33-P0-20", "WEB33-P0-21", "WEB33-P0-23", "WEB33-P0-24"];
17
+ export declare const WEB_E2E_CRITICAL_SCENARIOS_V1: readonly ("E2E-P0-01" | "E2E-P0-02" | "E2E-P0-03" | "E2E-P0-04" | "E2E-P0-05" | "E2E-P0-06" | "E2E-P0-07" | "E2E-P0-08" | "SET-P0-01" | "SET-P0-02" | "SET-P0-03" | "SET-P0-04" | "SET-P0-05" | "SET-P0-06" | "SET-P0-07" | "SET-P0-08" | "SET-P0-09" | "SET-P0-10" | "SET-P0-11" | "SET-P0-12" | "SET-P0-13" | "SET-P0-14" | "WEB31-P0-01" | "WEB31-P0-02" | "WEB31-P0-03" | "WEB31-P0-04" | "WEB31-P0-05" | "WEB31-P0-06" | "WEB31-P0-07" | "WEB31-P0-08" | "WEB31-P0-09" | "WEB31-P0-10" | "WEB31-P0-11" | "WEB31-P0-12" | "WEB32-P0-01" | "WEB32-P0-02" | "WEB32-P0-03" | "WEB32-P0-04" | "WEB32-P0-05" | "WEB32-P0-06" | "WEB32-P0-07" | "WEB32-P0-08" | "WEB32-P0-09" | "WEB32-P0-10" | "WEB32-P0-11" | "WEB32-P0-12" | "WEB33-P0-01" | "WEB33-P0-02" | "WEB33-P0-03" | "WEB33-P0-04" | "WEB33-P0-05" | "WEB33-P0-06" | "WEB33-P0-07" | "WEB33-P0-08" | "WEB33-P0-09" | "WEB33-P0-10" | "WEB33-P0-11" | "WEB33-P0-12" | "WEB33-P0-16" | "WEB33-P0-17" | "WEB33-P0-18" | "WEB33-P0-19" | "WEB33-P0-20" | "WEB33-P0-21" | "WEB33-P0-22" | "WEB33-P0-23" | "WEB33-P0-24")[];
14
18
  export type ReleaseGateDecisionV1 = 'GO' | 'NO_GO';
15
19
  export interface TarballArtifactReceiptV1 {
16
20
  readonly version: typeof RELEASE_RECEIPT_VERSION_V1;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WEB_E2E_CRITICAL_SCENARIOS_V1 = exports.WEB_E2E_WEB32_CRITICAL_SCENARIOS_V1 = exports.WEB_E2E_WEB31_CRITICAL_SCENARIOS_V1 = exports.WEB_E2E_SETTINGS_SCENARIOS_V1 = exports.WEB_E2E_FULL_SCENARIOS_V1 = exports.WEB_E2E_WEB32_SCENARIOS_V1 = exports.WEB_E2E_WEB31_SCENARIOS_V1 = exports.WEB_E2E_LEGACY_SCENARIOS_V1 = exports.SUPPORTED_RELEASE_VERSION_LINE_V1 = exports.SUPPORTED_RELEASE_NODE_FLOORS_V1 = exports.SUPPORTED_RELEASE_NODE_MAJORS_V1 = exports.RELEASE_RECEIPT_VERSION_V1 = void 0;
3
+ exports.WEB_E2E_CRITICAL_SCENARIOS_V1 = exports.WEB_E2E_WEB33_CRITICAL_SCENARIOS_V1 = exports.WEB_E2E_WEB32_CRITICAL_SCENARIOS_V1 = exports.WEB_E2E_WEB31_CRITICAL_SCENARIOS_V1 = exports.WEB_E2E_SETTINGS_SCENARIOS_V1 = exports.WEB_E2E_FULL_SCENARIOS_V1 = exports.WEB_E2E_WEB33_SCENARIOS_V1 = exports.WEB_E2E_WEB33_SESSION_SCENARIOS_V1 = exports.WEB_E2E_WEB33_THEME_SCENARIOS_V1 = exports.WEB_E2E_WEB32_SCENARIOS_V1 = exports.WEB_E2E_WEB31_SCENARIOS_V1 = exports.WEB_E2E_LEGACY_SCENARIOS_V1 = exports.SUPPORTED_RELEASE_VERSION_LINE_V1 = exports.SUPPORTED_RELEASE_NODE_FLOORS_V1 = exports.SUPPORTED_RELEASE_NODE_MAJORS_V1 = exports.RELEASE_RECEIPT_VERSION_V1 = void 0;
4
4
  exports.createTarballArtifactReceiptV1 = createTarballArtifactReceiptV1;
5
5
  exports.verifyTarballArtifactReceiptV1 = verifyTarballArtifactReceiptV1;
6
6
  exports.createRuntimeMatrixReceiptV1 = createRuntimeMatrixReceiptV1;
@@ -72,10 +72,40 @@ exports.WEB_E2E_WEB32_SCENARIOS_V1 = Object.freeze([
72
72
  'WEB32-P0-11',
73
73
  'WEB32-P0-12',
74
74
  ]);
75
+ exports.WEB_E2E_WEB33_THEME_SCENARIOS_V1 = Object.freeze([
76
+ 'WEB33-P0-01',
77
+ 'WEB33-P0-02',
78
+ 'WEB33-P0-03',
79
+ 'WEB33-P0-04',
80
+ 'WEB33-P0-05',
81
+ 'WEB33-P0-06',
82
+ 'WEB33-P0-07',
83
+ 'WEB33-P0-08',
84
+ 'WEB33-P0-09',
85
+ 'WEB33-P0-10',
86
+ 'WEB33-P0-11',
87
+ 'WEB33-P0-12',
88
+ ]);
89
+ exports.WEB_E2E_WEB33_SESSION_SCENARIOS_V1 = Object.freeze([
90
+ 'WEB33-P0-16',
91
+ 'WEB33-P0-17',
92
+ 'WEB33-P0-18',
93
+ 'WEB33-P0-19',
94
+ 'WEB33-P0-20',
95
+ 'WEB33-P0-21',
96
+ 'WEB33-P0-22',
97
+ 'WEB33-P0-23',
98
+ 'WEB33-P0-24',
99
+ ]);
100
+ exports.WEB_E2E_WEB33_SCENARIOS_V1 = Object.freeze([
101
+ ...exports.WEB_E2E_WEB33_THEME_SCENARIOS_V1,
102
+ ...exports.WEB_E2E_WEB33_SESSION_SCENARIOS_V1,
103
+ ]);
75
104
  exports.WEB_E2E_FULL_SCENARIOS_V1 = Object.freeze([
76
105
  ...exports.WEB_E2E_LEGACY_SCENARIOS_V1,
77
106
  ...exports.WEB_E2E_WEB31_SCENARIOS_V1,
78
107
  ...exports.WEB_E2E_WEB32_SCENARIOS_V1,
108
+ ...exports.WEB_E2E_WEB33_SCENARIOS_V1,
79
109
  ]);
80
110
  exports.WEB_E2E_SETTINGS_SCENARIOS_V1 = Object.freeze(exports.WEB_E2E_FULL_SCENARIOS_V1.filter(id => id.startsWith('SET-P0-')));
81
111
  exports.WEB_E2E_WEB31_CRITICAL_SCENARIOS_V1 = Object.freeze([
@@ -95,11 +125,26 @@ exports.WEB_E2E_WEB32_CRITICAL_SCENARIOS_V1 = Object.freeze([
95
125
  'WEB32-P0-11',
96
126
  'WEB32-P0-12',
97
127
  ]);
128
+ exports.WEB_E2E_WEB33_CRITICAL_SCENARIOS_V1 = Object.freeze([
129
+ 'WEB33-P0-01',
130
+ 'WEB33-P0-03',
131
+ 'WEB33-P0-08',
132
+ 'WEB33-P0-10',
133
+ 'WEB33-P0-12',
134
+ 'WEB33-P0-16',
135
+ 'WEB33-P0-17',
136
+ 'WEB33-P0-18',
137
+ 'WEB33-P0-20',
138
+ 'WEB33-P0-21',
139
+ 'WEB33-P0-23',
140
+ 'WEB33-P0-24',
141
+ ]);
98
142
  exports.WEB_E2E_CRITICAL_SCENARIOS_V1 = Object.freeze([
99
143
  ...exports.WEB_E2E_LEGACY_SCENARIOS_V1.slice(0, 4),
100
144
  ...exports.WEB_E2E_SETTINGS_SCENARIOS_V1,
101
145
  ...exports.WEB_E2E_WEB31_CRITICAL_SCENARIOS_V1,
102
146
  ...exports.WEB_E2E_WEB32_CRITICAL_SCENARIOS_V1,
147
+ ...exports.WEB_E2E_WEB33_CRITICAL_SCENARIOS_V1,
103
148
  ]);
104
149
  function createTarballArtifactReceiptV1(input) {
105
150
  assertIsoTimestamp(input.createdAt, 'artifact createdAt');
@@ -246,6 +291,8 @@ function createWebE2EReleaseReceiptV1(input) {
246
291
  `consecutive=${primaryTimelineIsConsecutive}`,
247
292
  });
248
293
  const runtimeMajors = runtimeRuns.map(run => run.environment.nodeMajor);
294
+ const runtimeRunIds = new Set(runtimeRuns.map(run => run.runId));
295
+ const runtimeManifestDigests = new Set(runtimeRuns.map(run => run.manifestDigest));
249
296
  checks.push({
250
297
  id: 'node_matrix_complete',
251
298
  status: runtimeRuns.length === exports.SUPPORTED_RELEASE_NODE_MAJORS_V1.length &&
@@ -254,6 +301,21 @@ function createWebE2EReleaseReceiptV1(input) {
254
301
  : 'fail',
255
302
  detail: `expected=${exports.SUPPORTED_RELEASE_NODE_MAJORS_V1.join(',')} observed=${runtimeMajors.join(',') || 'none'}`,
256
303
  });
304
+ checks.push({
305
+ id: 'node_matrix_runs_unique',
306
+ status: runtimeRuns.length === exports.SUPPORTED_RELEASE_NODE_MAJORS_V1.length &&
307
+ runtimeRunIds.size === exports.SUPPORTED_RELEASE_NODE_MAJORS_V1.length &&
308
+ runtimeManifestDigests.size === exports.SUPPORTED_RELEASE_NODE_MAJORS_V1.length
309
+ ? 'pass'
310
+ : 'fail',
311
+ detail: `runs=${runtimeRuns.length} uniqueRunIds=${runtimeRunIds.size} ` +
312
+ `uniqueManifests=${runtimeManifestDigests.size}`,
313
+ });
314
+ checks.push({
315
+ id: 'live_canary',
316
+ status: input.liveCanary === 'FAIL' ? 'fail' : 'pass',
317
+ detail: `observed=${input.liveCanary}`,
318
+ });
257
319
  const primaryCoverage = primaryRuns.length === 3 &&
258
320
  primaryRuns.every(run => run.role === 'primary' && sameOrderedValues(run.scenarioIds, exports.WEB_E2E_FULL_SCENARIOS_V1));
259
321
  const runtimeCoverage = runtimeRuns.length === exports.SUPPORTED_RELEASE_NODE_MAJORS_V1.length &&
@@ -351,6 +413,22 @@ function createWebE2EReleaseReceiptV1(input) {
351
413
  ? `all WEB32 journeys passed in three primary runs; critical Composer/Layout journeys passed on Node ${runtimeMajors.join(',')} using one tgz`
352
414
  : 'WEB32 full or critical exact-tarball coverage is missing, skipped, failed, or dirty',
353
415
  });
416
+ const web33PrimaryComplete = primaryRuns.length === 3 &&
417
+ primaryRuns.every(run => run.decision === 'GO' &&
418
+ run.cleanEvidence &&
419
+ exports.WEB_E2E_WEB33_SCENARIOS_V1.every(id => run.scenarioIds.includes(id)));
420
+ const web33MatrixComplete = runtimeRuns.length === exports.SUPPORTED_RELEASE_NODE_MAJORS_V1.length &&
421
+ runtimeRuns.every(run => run.decision === 'GO' &&
422
+ run.cleanEvidence &&
423
+ run.tarballSha256 === input.tarballSha256 &&
424
+ exports.WEB_E2E_WEB33_CRITICAL_SCENARIOS_V1.every(id => run.scenarioIds.includes(id)));
425
+ checks.push({
426
+ id: 'WEB33-P0-24',
427
+ status: web33PrimaryComplete && web33MatrixComplete ? 'pass' : 'fail',
428
+ detail: web33PrimaryComplete && web33MatrixComplete
429
+ ? `all WEB33 journeys passed in three primary runs; critical theme/session journeys passed on Node ${runtimeMajors.join(',')} using one tgz`
430
+ : 'WEB33 full or critical exact-tarball coverage is missing, skipped, failed, or dirty',
431
+ });
354
432
  const decision = checks.every(check => check.status === 'pass')
355
433
  ? 'GO'
356
434
  : 'NO_GO';
@@ -133,6 +133,7 @@ export declare class ToolRouterSnapshotV1 {
133
133
  assertIntegrity(): void;
134
134
  }
135
135
  export interface BoundToolExecutionRequestV1 {
136
+ readonly invocationId: string;
136
137
  readonly snapshot: StepSnapshotV1;
137
138
  readonly toolName: string;
138
139
  readonly args: Record<string, unknown>;
@@ -140,6 +141,15 @@ export interface BoundToolExecutionRequestV1 {
140
141
  readonly enforcement: 'full' | 'partial' | 'none';
141
142
  readonly abortSignal?: AbortSignal;
142
143
  }
144
+ export interface WorkspaceMutationCoordinatorV1 {
145
+ runWorkspaceMutation<T>(input: {
146
+ readonly workspaceId: string;
147
+ readonly invocationId: string;
148
+ readonly toolName: string;
149
+ readonly args: Readonly<Record<string, unknown>>;
150
+ readonly abortSignal?: AbortSignal;
151
+ }, operation: () => T | Promise<T>): Promise<T>;
152
+ }
143
153
  export interface BoundToolExecutionResultV1 {
144
154
  readonly terminal: 'completed' | 'failed' | 'interrupted' | 'indeterminate';
145
155
  readonly result: ToolResult;
@@ -147,6 +157,8 @@ export interface BoundToolExecutionResultV1 {
147
157
  }
148
158
  /** The only runtime primitive allowed to call a frozen concrete tool executor. */
149
159
  export declare class ExecutionService {
160
+ private readonly workspaceMutations?;
161
+ constructor(workspaceMutations?: WorkspaceMutationCoordinatorV1 | undefined);
150
162
  run(request: BoundToolExecutionRequestV1): Promise<BoundToolExecutionResultV1>;
151
163
  }
152
164
  export interface StepSnapshotV1 {
@@ -105,6 +105,9 @@ class ToolRouterSnapshotV1 {
105
105
  exports.ToolRouterSnapshotV1 = ToolRouterSnapshotV1;
106
106
  /** The only runtime primitive allowed to call a frozen concrete tool executor. */
107
107
  class ExecutionService {
108
+ constructor(workspaceMutations) {
109
+ this.workspaceMutations = workspaceMutations;
110
+ }
108
111
  async run(request) {
109
112
  const startedAt = Date.now();
110
113
  request.snapshot.toolRouter.assertIntegrity();
@@ -132,7 +135,17 @@ class ExecutionService {
132
135
  const timeout = setTimeout(() => timeoutController.abort(new Error('Tool invocation timed out')), request.snapshot.executionPolicy.timeoutMs);
133
136
  timeout.unref?.();
134
137
  try {
135
- const result = await request.snapshot.toolRouter.executeBound(EXECUTION_SERVICE_TOKEN, request.toolName, structuredClone(request.args), { ...request.context, abortSignal: timeoutController.signal });
138
+ const execute = () => request.snapshot.toolRouter.executeBound(EXECUTION_SERVICE_TOKEN, request.toolName, structuredClone(request.args), { ...request.context, abortSignal: timeoutController.signal });
139
+ const descriptor = request.snapshot.toolRouter.resolveDescriptor(request.toolName);
140
+ const result = descriptor?.risk.effect === 'workspace_write' && this.workspaceMutations
141
+ ? await this.workspaceMutations.runWorkspaceMutation({
142
+ workspaceId: request.snapshot.authority.projectRoot,
143
+ invocationId: request.invocationId,
144
+ toolName: request.toolName,
145
+ args: request.args,
146
+ abortSignal: timeoutController.signal,
147
+ }, execute)
148
+ : await execute();
136
149
  const presented = persistLargeToolOutput(request.context.cwd, request.toolName, result);
137
150
  return {
138
151
  terminal: timeoutController.signal.aborted
@@ -624,7 +624,7 @@ function replayAllEvents(store) {
624
624
  const events = [];
625
625
  let cursor = 0;
626
626
  while (true) {
627
- const page = store.replay(cursor);
627
+ const page = store.replay(cursor, undefined, 'subagent_receipt_journal');
628
628
  events.push(...page.events);
629
629
  if (!page.hasMore)
630
630
  return events;
@@ -14,6 +14,7 @@ export interface ThreadEventReplayV1 {
14
14
  readonly nextCursor: number;
15
15
  readonly hasMore: boolean;
16
16
  }
17
+ export type ThreadEventReplayReasonV1 = 'direct' | 'capability_receipt_journal' | 'durable_tool_receipt' | 'legacy_materializer' | 'runtime_diagnostics_legacy' | 'subagent_receipt_journal' | 'thread_session_view' | 'turn_commit_journal' | 'ui_gap_recovery' | 'ui_initial_history';
17
18
  export interface ThreadEventCommitV1 {
18
19
  readonly events: readonly RuntimeEventEnvelopeV1[];
19
20
  readonly projection: ThreadProjectionV1;
@@ -84,11 +85,19 @@ export interface ThreadEventStoreOptionsV1 {
84
85
  readonly events: number;
85
86
  }) => void;
86
87
  }
88
+ export interface ThreadEventStorePerformanceCountersV1 {
89
+ readonly logScans: number;
90
+ readonly bytesScanned: number;
91
+ readonly eventsScanned: number;
92
+ readonly scanReasons: Readonly<Record<string, number>>;
93
+ }
87
94
  export declare class ThreadEventStoreError extends Error {
88
95
  readonly code: 'ORION_THREAD_EVENT_CORRUPT' | 'ORION_THREAD_EVENT_LIMIT' | 'ORION_THREAD_EVENT_CURSOR' | 'ORION_THREAD_EVENT_IDENTITY' | 'ORION_THREAD_COMPACT_INVALID' | 'ORION_THREAD_COMPACT_CONFLICT';
89
96
  readonly offset?: number | undefined;
90
97
  constructor(code: 'ORION_THREAD_EVENT_CORRUPT' | 'ORION_THREAD_EVENT_LIMIT' | 'ORION_THREAD_EVENT_CURSOR' | 'ORION_THREAD_EVENT_IDENTITY' | 'ORION_THREAD_COMPACT_INVALID' | 'ORION_THREAD_COMPACT_CONFLICT', message: string, offset?: number | undefined);
91
98
  }
99
+ /** Process-local monotonic read counters for diagnostics and switch budgets. */
100
+ export declare function threadEventStorePerformanceCountersV1(): ThreadEventStorePerformanceCountersV1;
92
101
  /**
93
102
  * Append-only durable fact store for a single Thread.
94
103
  *
@@ -120,7 +129,7 @@ export declare class ThreadEventStore {
120
129
  createEphemeral<T extends Extract<RuntimeEventV1, {
121
130
  type: 'item.delta';
122
131
  }>>(input: AppendRuntimeEventV1<T>): RuntimeEventEnvelopeV1<T>;
123
- replay(cursor?: number, limit?: number): ThreadEventReplayV1;
132
+ replay(cursor?: number, limit?: number, reason?: ThreadEventReplayReasonV1): ThreadEventReplayV1;
124
133
  /**
125
134
  * Verify and seal an immutable imported prefix. The first call may scan the
126
135
  * authoritative log; later processes reuse the prefix receipt while the
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ThreadEventStore = exports.ThreadEventStoreError = void 0;
4
+ exports.threadEventStorePerformanceCountersV1 = threadEventStorePerformanceCountersV1;
4
5
  const fs_1 = require("fs");
5
6
  const path_1 = require("path");
6
7
  const atomic_write_1 = require("../services/atomic-write");
@@ -21,6 +22,19 @@ exports.ThreadEventStoreError = ThreadEventStoreError;
21
22
  const DEFAULT_MAX_LOG_BYTES = 128 * 1024 * 1024;
22
23
  const DEFAULT_MAX_REPLAY_EVENTS = 10000;
23
24
  const DEFAULT_LOCK_WAIT_MS = 10000;
25
+ const threadEventStorePerformance = {
26
+ logScans: 0,
27
+ bytesScanned: 0,
28
+ eventsScanned: 0,
29
+ scanReasons: {},
30
+ };
31
+ /** Process-local monotonic read counters for diagnostics and switch budgets. */
32
+ function threadEventStorePerformanceCountersV1() {
33
+ return Object.freeze({
34
+ ...threadEventStorePerformance,
35
+ scanReasons: Object.freeze({ ...threadEventStorePerformance.scanReasons }),
36
+ });
37
+ }
24
38
  /**
25
39
  * Append-only durable fact store for a single Thread.
26
40
  *
@@ -172,7 +186,7 @@ class ThreadEventStore {
172
186
  (0, runtime_protocol_v1_1.assertRuntimeEventEnvelopeV1)(event);
173
187
  return deepFreeze(event);
174
188
  }
175
- replay(cursor = 0, limit = this.maxReplayEvents) {
189
+ replay(cursor = 0, limit = this.maxReplayEvents, reason = 'direct') {
176
190
  if (!Number.isSafeInteger(cursor) || cursor < 0) {
177
191
  throw new ThreadEventStoreError('ORION_THREAD_EVENT_CURSOR', 'Replay cursor must be a non-negative safe integer');
178
192
  }
@@ -181,7 +195,7 @@ class ThreadEventStore {
181
195
  throw new ThreadEventStoreError('ORION_THREAD_EVENT_LIMIT', `Replay limit ${safeLimit} exceeds ${this.maxReplayEvents}`);
182
196
  }
183
197
  return this.withLogLock(() => {
184
- const scan = requireVerifiedScan(this.loadVerifiedHead(true));
198
+ const scan = requireVerifiedScan(this.loadVerifiedHead(true, `replay:${reason}`));
185
199
  const lastSeq = scan.events.length;
186
200
  if (cursor > lastSeq) {
187
201
  throw new ThreadEventStoreError('ORION_THREAD_EVENT_CURSOR', `Replay cursor ${cursor} is ahead of durable cursor ${lastSeq}`);
@@ -216,7 +230,7 @@ class ThreadEventStore {
216
230
  const expected = { cursor, eventDigest, projectionDigest };
217
231
  if (head.verifiedPrefixes.some(prefix => sameVerifiedPrefix(prefix, expected)))
218
232
  return true;
219
- head = this.loadVerifiedHead(true);
233
+ head = this.loadVerifiedHead(true, 'verify_durable_prefix');
220
234
  const scan = requireVerifiedScan(head);
221
235
  const events = scan.events.slice(0, cursor);
222
236
  if (events.length !== cursor ||
@@ -333,14 +347,14 @@ class ThreadEventStore {
333
347
  */
334
348
  loadAuthoritativeModelHistory() {
335
349
  return this.withLogLock(() => {
336
- const scan = requireVerifiedScan(this.loadVerifiedHead(true));
350
+ const head = this.loadVerifiedHead();
337
351
  const state = readCompactState(this.compactStatePath, this.threadId);
338
352
  if (state)
339
353
  this.assertCompactCheckpoint(state);
340
- const turnState = readLatestDurableTurnState(scan.events, this.threadId);
354
+ const turnState = readLatestDurableTurnStateFromProjection(head.projection);
341
355
  if (!state && !turnState)
342
356
  return undefined;
343
- return resolveCompactAuthority(scan.events, state, this.threadId).history;
357
+ return resolveCompactAuthorityState(turnState, state).history;
344
358
  });
345
359
  }
346
360
  /**
@@ -350,7 +364,7 @@ class ThreadEventStore {
350
364
  captureCompactSource(turnId) {
351
365
  return this.withLogLock(() => {
352
366
  ensurePrivateDirectory(this.rootDir);
353
- const head = this.loadVerifiedHead(true);
367
+ const head = this.loadVerifiedHead(true, 'capture_compact_source');
354
368
  const scan = requireVerifiedScan(head);
355
369
  const { projection } = head;
356
370
  assertActiveMaintenanceTurn(projection, turnId);
@@ -387,7 +401,7 @@ class ThreadEventStore {
387
401
  ensurePrivateDirectory(this.compactCheckpointsDir);
388
402
  validateCompactCommitInput(input, this.threadId);
389
403
  input.onBoundary('before_cas_recheck');
390
- const head = this.loadVerifiedHead(true);
404
+ const head = this.loadVerifiedHead(true, 'compact_cas');
391
405
  const scan = requireVerifiedScan(head);
392
406
  const { projection } = head;
393
407
  const eventsAfterAnchor = scan.events.slice(input.expectedEventAnchor.cursor);
@@ -454,7 +468,10 @@ class ThreadEventStore {
454
468
  }
455
469
  listCompactEvents() {
456
470
  return this.withLogLock(() => {
457
- const scan = requireVerifiedScan(this.loadVerifiedHead(true));
471
+ const projection = this.loadVerifiedHead().projection;
472
+ if (projection.compactEvents)
473
+ return projection.compactEvents;
474
+ const scan = requireVerifiedScan(this.loadVerifiedHead(true, 'legacy_compact_projection'));
458
475
  return deepFreeze(scan.events.filter((event) => event.payload.type === 'compact.started' ||
459
476
  event.payload.type === 'compact.completed' ||
460
477
  event.payload.type === 'compact.failed'));
@@ -511,7 +528,7 @@ class ThreadEventStore {
511
528
  * projection still match. Callers that need historical events explicitly
512
529
  * request a scan; cursor/projection/append paths stay O(head + projection).
513
530
  */
514
- loadVerifiedHead(requireScan = false) {
531
+ loadVerifiedHead(requireScan = false, scanReason = 'unspecified') {
515
532
  ensurePrivateDirectory(this.rootDir);
516
533
  const logIdentity = readFileIdentity(this.logPath);
517
534
  if (this.cachedHead?.logFingerprint === logIdentity.fingerprint &&
@@ -528,6 +545,11 @@ class ThreadEventStore {
528
545
  }
529
546
  }
530
547
  const scan = scanThreadEventLog(this.logPath, this.threadId, this.maxLogBytes);
548
+ threadEventStorePerformance.logScans += 1;
549
+ threadEventStorePerformance.bytesScanned += scan.safeByteLength + scan.discardedTailBytes;
550
+ threadEventStorePerformance.eventsScanned += scan.events.length;
551
+ threadEventStorePerformance.scanReasons[scanReason] =
552
+ (threadEventStorePerformance.scanReasons[scanReason] ?? 0) + 1;
531
553
  this.onLogScan?.({
532
554
  threadId: this.threadId,
533
555
  bytes: scan.safeByteLength + scan.discardedTailBytes,
@@ -961,6 +983,9 @@ function assertActiveMaintenanceTurn(projection, turnId) {
961
983
  }
962
984
  function resolveCompactAuthority(events, compactState, threadId) {
963
985
  const turnState = readLatestDurableTurnState(events, threadId);
986
+ return resolveCompactAuthorityState(turnState, compactState);
987
+ }
988
+ function resolveCompactAuthorityState(turnState, compactState) {
964
989
  if (!turnState && !compactState) {
965
990
  throw new ThreadEventStoreError('ORION_THREAD_COMPACT_INVALID', 'Compact requires a durable TurnCommitV1 source');
966
991
  }
@@ -981,15 +1006,26 @@ function resolveCompactAuthority(events, compactState, threadId) {
981
1006
  taskContextRevision: taskContextOwner.taskContextRevision,
982
1007
  });
983
1008
  }
1009
+ function readLatestDurableTurnStateFromProjection(projection) {
1010
+ const commit = Object.values(projection.turns)
1011
+ .map(turn => turn.commit)
1012
+ .filter((value) => Boolean(value))
1013
+ .sort((left, right) => left.seq - right.seq)
1014
+ .at(-1);
1015
+ return commit ? parseDurableTurnState(commit.receipt, commit.seq, projection.threadId) : null;
1016
+ }
984
1017
  function readLatestDurableTurnState(events, threadId) {
985
1018
  const event = [...events]
986
1019
  .reverse()
987
1020
  .find(candidate => candidate.payload.type === 'turn.committed');
988
1021
  if (!event || event.payload.type !== 'turn.committed')
989
1022
  return null;
1023
+ return parseDurableTurnState(event.payload.data.receipt, event.seq, threadId);
1024
+ }
1025
+ function parseDurableTurnState(serializedReceipt, eventSeq, threadId) {
990
1026
  let receipt;
991
1027
  try {
992
- receipt = JSON.parse(event.payload.data.receipt);
1028
+ receipt = JSON.parse(serializedReceipt);
993
1029
  }
994
1030
  catch {
995
1031
  throw compactCorrupt('TurnCommitV1 receipt is not valid JSON');
@@ -1022,7 +1058,7 @@ function readLatestDurableTurnState(events, threadId) {
1022
1058
  throw compactCorrupt('TurnCommitV1 history or TaskContext digest changed');
1023
1059
  }
1024
1060
  return deepFreeze({
1025
- eventSeq: event.seq,
1061
+ eventSeq,
1026
1062
  history: structuredClone(history),
1027
1063
  historyDigest: receipt.historyDigest,
1028
1064
  taskContext: structuredClone(taskContext),
@@ -1,4 +1,5 @@
1
1
  import type { RuntimeEventEnvelopeV1, RuntimeEventTypeV1 } from './protocol/runtime-protocol-v1';
2
+ import type { CompactRuntimeEventV1 } from './compact-transaction';
2
3
  export type ThreadProjectionStatusV1 = 'new' | 'active' | 'idle';
3
4
  export type TurnProjectionStatusV1 = 'active' | 'completed' | 'failed' | 'interrupted';
4
5
  export type ItemProjectionStatusV1 = 'started' | 'completed' | 'failed' | 'interrupted' | 'indeterminate';
@@ -66,6 +67,10 @@ export interface PlanReviewProjectionV1 {
66
67
  readonly feedback?: string;
67
68
  readonly feedbackDigest?: string;
68
69
  }
70
+ export interface ThreadDiagnosticEventsV1 {
71
+ readonly latestCapability?: RuntimeEventEnvelopeV1;
72
+ readonly latestStepSnapshot?: RuntimeEventEnvelopeV1;
73
+ }
69
74
  export interface ThreadProjectionV1 {
70
75
  readonly version: 1;
71
76
  readonly threadId: string;
@@ -76,6 +81,15 @@ export interface ThreadProjectionV1 {
76
81
  readonly items: Readonly<Record<string, ItemProjectionV1>>;
77
82
  readonly queue: readonly QueuedTurnProjectionV1[];
78
83
  readonly planReview?: PlanReviewProjectionV1;
84
+ /** Missing only on projections written before diagnostics became head-only. */
85
+ readonly diagnosticEvents?: ThreadDiagnosticEventsV1;
86
+ /**
87
+ * Compact lifecycle facts retained by new projections so fresh-process
88
+ * orphan recovery does not have to replay the full authoritative JSONL.
89
+ * Missing means a projection written by an older Orion version and forces
90
+ * the store to take the verified scan fallback.
91
+ */
92
+ readonly compactEvents?: readonly RuntimeEventEnvelopeV1<CompactRuntimeEventV1>[];
79
93
  readonly stepSnapshotDigests: readonly string[];
80
94
  readonly capabilityReceiptDigests: readonly string[];
81
95
  readonly toolInvocationIds: readonly string[];
@@ -91,6 +105,11 @@ interface MutableThreadProjectionV1 {
91
105
  items: Record<string, ItemProjectionV1>;
92
106
  queue: QueuedTurnProjectionV1[];
93
107
  planReview?: PlanReviewProjectionV1;
108
+ diagnosticEvents: {
109
+ latestCapability?: RuntimeEventEnvelopeV1;
110
+ latestStepSnapshot?: RuntimeEventEnvelopeV1;
111
+ };
112
+ compactEvents: RuntimeEventEnvelopeV1<CompactRuntimeEventV1>[];
94
113
  stepSnapshotDigests: string[];
95
114
  capabilityReceiptDigests: string[];
96
115
  toolInvocationIds: string[];
@@ -25,6 +25,8 @@ function projectThreadEvents(threadId, events) {
25
25
  turns: {},
26
26
  items: {},
27
27
  queue: [],
28
+ diagnosticEvents: {},
29
+ compactEvents: [],
28
30
  stepSnapshotDigests: [],
29
31
  capabilityReceiptDigests: [],
30
32
  toolInvocationIds: [],
@@ -65,6 +67,10 @@ function advanceThreadProjection(projection, events) {
65
67
  items: Object.fromEntries(Object.entries(projection.items).map(([id, item]) => [id, { ...item }])),
66
68
  queue: projection.queue.map(item => ({ ...item })),
67
69
  ...(projection.planReview ? { planReview: { ...projection.planReview } } : {}),
70
+ diagnosticEvents: projection.diagnosticEvents
71
+ ? structuredClone(projection.diagnosticEvents)
72
+ : {},
73
+ compactEvents: (projection.compactEvents ?? []).map(event => structuredClone(event)),
68
74
  stepSnapshotDigests: [...projection.stepSnapshotDigests],
69
75
  capabilityReceiptDigests: [...projection.capabilityReceiptDigests],
70
76
  toolInvocationIds: [...projection.toolInvocationIds],
@@ -148,6 +154,7 @@ function applyThreadEvent(state, event) {
148
154
  throw invariant('step snapshot already exists', event);
149
155
  }
150
156
  state.stepSnapshotDigests.push(event.payload.data.digest);
157
+ state.diagnosticEvents.latestStepSnapshot = structuredClone(event);
151
158
  break;
152
159
  case 'capability.receipt':
153
160
  validateCapabilityReceipt(event);
@@ -155,6 +162,7 @@ function applyThreadEvent(state, event) {
155
162
  throw invariant('capability receipt already exists', event);
156
163
  }
157
164
  state.capabilityReceiptDigests.push(event.payload.data.digest);
165
+ state.diagnosticEvents.latestCapability = structuredClone(event);
158
166
  break;
159
167
  case 'tool.receipt':
160
168
  if (state.toolInvocationIds.includes(event.payload.data.invocationId)) {
@@ -165,6 +173,8 @@ function applyThreadEvent(state, event) {
165
173
  case 'compact.started':
166
174
  case 'compact.completed':
167
175
  case 'compact.failed':
176
+ state.compactEvents.push(structuredClone(event));
177
+ break;
168
178
  case 'approval.requested':
169
179
  break;
170
180
  case 'item.delta':
@@ -517,6 +527,8 @@ function freezeProjection(state) {
517
527
  ])),
518
528
  items: Object.fromEntries(Object.entries(state.items).map(([id, item]) => [id, { ...item }])),
519
529
  queue: state.queue.map(item => ({ ...item })),
530
+ diagnosticEvents: structuredClone(state.diagnosticEvents),
531
+ compactEvents: state.compactEvents.map(event => structuredClone(event)),
520
532
  stepSnapshotDigests: [...state.stepSnapshotDigests],
521
533
  capabilityReceiptDigests: [...state.capabilityReceiptDigests],
522
534
  toolInvocationIds: [...state.toolInvocationIds],
@@ -1,6 +1,6 @@
1
1
  import { RuntimeEventBufferV1, type RuntimeEventBufferOptionsV1 } from './runtime-event-buffer';
2
2
  import { type ThreadAdmissionOptionsV1, type ThreadCommandAdmissionV1, type ThreadTurnRequestV1 } from './thread-admission';
3
- import { ThreadEventStore } from './thread-event-store';
3
+ import { ThreadEventStore, type ThreadEventReplayReasonV1 } from './thread-event-store';
4
4
  import { type AgentRuntimeCommandV1, type RuntimeEventEnvelopeV1 } from './protocol/runtime-protocol-v1';
5
5
  import type { CompactPrepareSourceReceiptV1 } from './compact-transaction';
6
6
  export interface ThreadCompactCandidateDraftV1 {
@@ -143,7 +143,7 @@ export declare class ThreadRuntimeV1 {
143
143
  unsubscribe(consumerId: string): void;
144
144
  /** Observe committed durable facts without acquiring ownership of the Thread lifecycle. */
145
145
  observeCommittedEvents(listener: (events: readonly RuntimeEventEnvelopeV1[]) => void): () => void;
146
- replay(cursor?: number, limit?: number): import("./thread-event-store").ThreadEventReplayV1;
146
+ replay(cursor?: number, limit?: number, reason?: ThreadEventReplayReasonV1): import("./thread-event-store").ThreadEventReplayV1;
147
147
  getProjection(): import("./thread-projection").ThreadProjectionV1;
148
148
  getAdmissionSnapshot(): import("./thread-admission").ThreadAdmissionSnapshotV1;
149
149
  waitForIdle(): Promise<void>;
@@ -252,8 +252,8 @@ class ThreadRuntimeV1 {
252
252
  throw new Error('Closed Thread runtime cannot be observed');
253
253
  return this.store.subscribeCommitted(listener);
254
254
  }
255
- replay(cursor = 0, limit) {
256
- return this.store.replay(cursor, limit);
255
+ replay(cursor = 0, limit, reason) {
256
+ return this.store.replay(cursor, limit, reason);
257
257
  }
258
258
  getProjection() {
259
259
  return this.store.loadProjection();