@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
package/CHANGELOG.md CHANGED
@@ -22,6 +22,89 @@ which is **not** a pass.
22
22
 
23
23
  ## [Unreleased]
24
24
 
25
+ ## [0.3.4] — CANDIDATE
26
+
27
+ > **Status: candidate.** This stabilization work is isolated on the v0.3.4 worktree. It is not
28
+ > merged, tagged or published to npm, and exact-artifact qualification remains a separate gate.
29
+
30
+ ### Changed
31
+
32
+ - Bind Settings writes to the active Workspace and Context revision in addition to the Settings
33
+ document revision, so a stale browser tab cannot apply a valid patch to another Workspace.
34
+ - Preserve lexical symbolic-link identity while projecting a contained target as a file or
35
+ directory, and expose the true changed-file total separately from the bounded Review page.
36
+ - Split exact-tgz qualification into a script-disabled identity stage and a separate lifecycle-
37
+ enabled consumer/native stage.
38
+
39
+ ### Fixed
40
+
41
+ - Keep split terminal surrogate pairs intact across delayed PTY callbacks, wait for browser write
42
+ capacity without animation-frame spin, and drain reconnect data in replay, live-tail, exit order.
43
+ - Reject blank Session renames without changing durable metadata, and keep active-turn state intact
44
+ when a busy-rejected slash command fails.
45
+ - Isolate concurrent command transcript capture so interleaved output cannot cross Sessions or
46
+ leave the process-wide console bridge installed.
47
+ - Project cold and resident Composer model, Effort and permission changes from the actor Runtime's
48
+ canonical Session instead of a pre-actor metadata copy.
49
+ - Detect binary content on every file page, render contained directory symlinks as expandable and
50
+ label Review truncation against the true repository total.
51
+
52
+ ### Security
53
+
54
+ - Redact URL userinfo and structured sensitive keys before browser/evidence projection; evaluate
55
+ file aliases plus canonical targets and block sensitive current or rename-source Git diffs before
56
+ starting a content process.
57
+ - Require matching, canonical-digest-verified terminal receipts and durable receipt facts before a
58
+ modern tool result can project success.
59
+ - Fail release qualification for a failed live canary or duplicated runtime run and manifest
60
+ evidence instead of accepting a structurally complete but non-independent matrix.
61
+
62
+ ## [0.3.3] — CANDIDATE
63
+
64
+ > **Status: candidate.** The implementation and local qualification remain isolated on the v0.3.3
65
+ > worktree. It is not merged, tagged, published to npm or represented as a completed release receipt.
66
+
67
+ ### Added
68
+
69
+ - Add the bundled `orion-blocksmith` pixel-workshop style as a closed built-in appearance option,
70
+ composed with system/light/dark themes and reduced motion without remote assets or executable
71
+ theme packages.
72
+ - Add a bounded Web Session actor registry with three running slots, four resident actors, FIFO
73
+ overflow admission, cancellable queued turns, idle LRU eviction and explicit per-Session runtime
74
+ revisions.
75
+ - Add the v0.3.3 OpenAPI, migration guide and exact-artifact WEB33-P0-01..12 plus
76
+ WEB33-P0-16..24 qualification contract.
77
+
78
+ ### Changed
79
+
80
+ - Make foreground Session selection browser-tab-local so a running, approval-waiting or queued
81
+ Session continues while another Session is viewed or submitted.
82
+ - Route Session commands and Composer mutations through exact Workspace, Context, Session runtime
83
+ and control revisions; stale operations fail closed instead of following a global active Session.
84
+ - Keep a single Workbench SSE connection while projecting Session-tagged runtime state into bounded
85
+ per-Session browser caches.
86
+ - Package runtime JavaScript and declarations without generated source-map files, preserving local
87
+ build maps while keeping the published artifact within the existing unpacked-size budget.
88
+
89
+ ### Fixed
90
+
91
+ - Remove the global pending barrier from warm same-Workspace Session selection and restore cached
92
+ content immediately while a guarded snapshot refreshes in the background.
93
+ - Keep the collapsed Work Panel as a right-side full-height 48px rail across desktop and drawer
94
+ breakpoints without moving it below the conversation or creating horizontal page overflow.
95
+ - Keep the only persistent Settings entry at the lower-left project rail and restore focus after a
96
+ successful Settings save.
97
+ - Raise Orion Blocksmith light-theme muted text contrast to WCAG AA for small labels and empty-state
98
+ copy.
99
+
100
+ ### Security
101
+
102
+ - Serialize same-Workspace mutating Tool steps through a shared arbiter while preserving independent
103
+ actors for non-conflicting work; stale file baselines are rejected before side effects.
104
+ - Bind queued-turn cancellation, approvals, Goal/Plan controls and structured Context references to
105
+ the intended Session actor, with zero cross-Session provider, Tool, journal or file effects on
106
+ revision conflict.
107
+
25
108
  ## [0.3.2] — CANDIDATE
26
109
 
27
110
  > **Status: candidate.** Source, API and browser qualification are being frozen together. This is
package/README.md CHANGED
@@ -2,16 +2,20 @@
2
2
 
3
3
  Local-first, goal-driven coding agent for the terminal and browser.
4
4
 
5
- > v0.3.2 candidate — one Orion runtime with a resizable local Web Workbench, a Session-scoped
6
- > Composer Control Center and the existing TUI/terminal surfaces. Candidate source is not an npm
7
- > publication or Git tag.
5
+ > v0.3.4 candidate — a compatible security, terminal-ordering and release-evidence stabilization of
6
+ > the v0.3.3 multi-Session Web Workbench. Candidate source is not an npm publication, Git tag, or
7
+ > merge-ready release.
8
8
 
9
9
  [中文说明](README.zh-CN.md) ·
10
- [v0.3.2 Workbench plan](docs/plan/v0.3.2-web-workbench-layout-and-composer-plan.md) ·
11
- [v0.3.2 Web API](docs/architecture/v0.3.2-web-api.yaml) ·
10
+ [v0.3.4 stabilization plan](docs/plan/v0.3.4-stabilization-plan.md) ·
11
+ [v0.3.4 contract](docs/architecture/v0.3.4-stabilization-contract.md) ·
12
+ [v0.3.4 E2E plan](docs/test/v0.3.4-stabilization-e2e-plan.md) ·
13
+ [v0.3.4 migration](docs/migration/v0.3.3-to-v0.3.4.md) ·
14
+ [v0.3.3 plan](docs/plan/v0.3.3-plan.md) ·
15
+ [v0.3.3 Web API](docs/architecture/v0.3.3-web-api.yaml) ·
12
16
  [mode/permission contract](docs/architecture/agent-mode-permission-contract.md) ·
13
- [v0.3.2 E2E plan](docs/test/v0.3.2-web-workbench-e2e-plan.md) ·
14
- [v0.3.2 migration](docs/migration/v0.3.1-to-v0.3.2.md) ·
17
+ [v0.3.3 E2E plan](docs/test/v0.3.3-web-workbench-e2e-plan.md) ·
18
+ [v0.3.3 migration](docs/migration/v0.3.2-to-v0.3.3.md) ·
15
19
  [v0.3.0 Web plan](docs/plan/v0.3.0-web-workbench-plan.md) ·
16
20
  [Settings plan](docs/plan/v0.3.0-settings-integration-plan.md) ·
17
21
  [Node compatibility](docs/plan/v0.3.0-node-runtime-compatibility-plan.md) ·
@@ -20,11 +24,32 @@ Local-first, goal-driven coding agent for the terminal and browser.
20
24
  [Settings migration](docs/migration/v0.2.2-to-v0.3.0-settings.md) ·
21
25
  [real-state gallery](docs/assets/screenshots/v0.3.0-web/README.md)
22
26
 
23
- ## What v0.3.2 includes
24
-
25
- - **One runtime, two interactive surfaces.** `orion web` uses the same product bootstrap,
26
- AgentRuntimeController, Session/Thread stores, ToolGateway, approvals, Goals, Plans, Skills and
27
- MCP boundaries as the terminal product; the browser does not run a second agent loop.
27
+ ## What v0.3.4 stabilizes
28
+
29
+ - **Context-bound writes.** Settings mutations now carry the active Workspace and Context revision;
30
+ stale tabs fail with no write or Runtime apply. Blank Session renames and busy slash commands also
31
+ fail without corrupting durable or active-turn state.
32
+ - **One sensitive-data boundary.** Structured credentials, URL userinfo, canonical file targets,
33
+ Git diff paths, tool artifacts and concurrent command output are checked and redacted before they
34
+ reach browser or evidence surfaces.
35
+ - **Deterministic Terminal transport.** Split surrogate pairs, browser write backpressure and
36
+ reconnect races preserve complete Unicode and the required replay, live-tail, exit and close
37
+ order.
38
+ - **Honest durable/read projections.** Tool receipt and journal facts must validate as a pair;
39
+ symbolic links expose an effective target kind without losing lexical identity, and Review
40
+ distinguishes total changed files from its bounded visible page.
41
+ - **Fail-closed release proof.** Failed live canaries, duplicate runtime evidence and lifecycle
42
+ scripts hidden inside a supposedly safe package-install stage are release blockers.
43
+
44
+ ## What v0.3.3 includes
45
+
46
+ - **One execution spine, bounded Web Session actors.** Web Sessions use the same product bootstrap,
47
+ AgentRuntimeController, Session/Thread stores, ToolGateway, approvals, Goals, Plans, Skills and MCP
48
+ boundaries as the terminal product. Up to three Session turns may run concurrently with four
49
+ resident actors; the TUI and terminal surfaces keep their single-active-Session contract.
50
+ - **Orion Blocksmith.** A bundled pixel-workshop style combines with system/light/dark themes without
51
+ remote assets, dynamic theme code or a second settings source. Classic remains available as an
52
+ explicit built-in style.
28
53
  - **Recoverable Web workbench.** The React workbench includes workspace/session navigation,
29
54
  transcript and tool activity, BUILD/PLAN/AUTO, follow-ups, interrupt, approvals, Goal/Plan,
30
55
  model/effort settings, Skills/MCP and diagnostics. Snapshots plus cursor replay repair refreshes
@@ -88,10 +113,10 @@ user extension boundaries.
88
113
  Node.js 22.12+, 24, and 26 are supported. Use Node 24 LTS for production or Node 26 Current for
89
114
  current development environments. Node 20 is upstream EOL and is no longer a v0.3 runtime.
90
115
 
91
- After the immutable `0.3.2` npm receipt exists:
116
+ After the immutable `0.3.4` npm receipt exists:
92
117
 
93
118
  ```bash
94
- npm install -g @orion-agents/orion-code@0.3.2
119
+ npm install -g @orion-agents/orion-code@0.3.4
95
120
  orion --version
96
121
  orion doctor
97
122
  ```
@@ -278,10 +303,13 @@ npm run test:web-e2e -- --grep @settings
278
303
 
279
304
  Release qualification additionally builds one exact tarball and installs that unchanged hash on
280
305
  Node 22/24/26 for package identity, native SQLite, TUI, terminal, print, Web, Goal, subagent, Skill,
281
- MCP, Compact, and resume journeys. WEB32-P0-01..12 additionally qualify the resizable project rail,
282
- Composer controls, Context, durable Plan review, queue/drafts and recovery/accessibility contract.
283
- See the [`v0.3.2 Workbench plan`](docs/plan/v0.3.2-web-workbench-layout-and-composer-plan.md) and
284
- [`v0.3.2 E2E qualification plan`](docs/test/v0.3.2-web-workbench-e2e-plan.md).
306
+ MCP, Compact, and resume journeys. WEB33-P0-01..12 qualify the built-in appearance contract, while
307
+ WEB33-P0-16..24 qualify parallel Session actors, foreground-local switching, bounded queues, the
308
+ right rail and the single Settings entry. See the [`v0.3.3 plan`](docs/plan/v0.3.3-plan.md) and
309
+ [`v0.3.3 E2E qualification plan`](docs/test/v0.3.3-web-workbench-e2e-plan.md). The security and
310
+ stabilization delta is defined by the
311
+ [`v0.3.4 test plan`](docs/test/v0.3.4-stabilization-e2e-plan.md), which does not treat source gates
312
+ as release evidence.
285
313
 
286
314
  ## Security
287
315
 
package/README.zh-CN.md CHANGED
@@ -2,15 +2,19 @@
2
2
 
3
3
  面向终端与浏览器、本地优先的目标驱动 Coding Agent。
4
4
 
5
- > v0.3.2 候选版本:一套 Orion Runtime,同时提供可调宽本地 Web Workbench、Session
6
- > Composer Control Center 与既有 TUI/terminal。Candidate 源码不代表已创建 npm 发布或 Git tag
5
+ > v0.3.4 候选版本:对 v0.3.3 Session Web Workbench 进行兼容的安全、终端顺序与发布证据
6
+ > 稳定化。Candidate 源码不代表已创建 npm 发布、Git tag 或达到可合并状态。
7
7
 
8
8
  [English](README.md) ·
9
- [v0.3.2 Workbench 方案](docs/plan/v0.3.2-web-workbench-layout-and-composer-plan.md) ·
10
- [v0.3.2 Web API](docs/architecture/v0.3.2-web-api.yaml) ·
9
+ [v0.3.4 稳定化方案](docs/plan/v0.3.4-stabilization-plan.md) ·
10
+ [v0.3.4 合同](docs/architecture/v0.3.4-stabilization-contract.md) ·
11
+ [v0.3.4 E2E 方案](docs/test/v0.3.4-stabilization-e2e-plan.md) ·
12
+ [v0.3.4 迁移](docs/migration/v0.3.3-to-v0.3.4.md) ·
13
+ [v0.3.3 方案](docs/plan/v0.3.3-plan.md) ·
14
+ [v0.3.3 Web API](docs/architecture/v0.3.3-web-api.yaml) ·
11
15
  [模式/权限合同](docs/architecture/agent-mode-permission-contract.md) ·
12
- [v0.3.2 E2E 方案](docs/test/v0.3.2-web-workbench-e2e-plan.md) ·
13
- [v0.3.2 迁移](docs/migration/v0.3.1-to-v0.3.2.md) ·
16
+ [v0.3.3 E2E 方案](docs/test/v0.3.3-web-workbench-e2e-plan.md) ·
17
+ [v0.3.3 迁移](docs/migration/v0.3.2-to-v0.3.3.md) ·
14
18
  [v0.3.0 Web 方案](docs/plan/v0.3.0-web-workbench-plan.md) ·
15
19
  [Settings 方案](docs/plan/v0.3.0-settings-integration-plan.md) ·
16
20
  [Node 兼容方案](docs/plan/v0.3.0-node-runtime-compatibility-plan.md) ·
@@ -19,11 +23,26 @@
19
23
  [Settings 迁移](docs/migration/v0.2.2-to-v0.3.0-settings.md) ·
20
24
  [真实状态图册](docs/assets/screenshots/v0.3.0-web/README.md)
21
25
 
22
- ## v0.3.2 包含什么
23
-
24
- - **一个 Runtime、两个交互界面。** `orion web` 与终端产品共用 product bootstrap、
25
- AgentRuntimeController、Session/Thread、ToolGateway、审批、Goal、Plan、Skills MCP;浏览器不另起
26
- 一套 agent loop。
26
+ ## v0.3.4 稳定了什么
27
+
28
+ - **Context 绑定写入。** Settings mutation 现在同时携带活动 Workspace 与 Context revision;陈旧页面
29
+ 不会写入或应用到另一个 Runtime。空 Session 名称和 busy slash command 也会保持持久态与活动回合不变。
30
+ - **统一敏感数据边界。** 结构化凭据、URL userinfo、canonical 文件目标、Git diff 路径、tool artifact
31
+ 和并发命令输出在进入浏览器或证据前统一检查与脱敏。
32
+ - **确定的 Terminal 传输。** PTY 代理对分片、浏览器写入背压与重连竞态都保持完整 Unicode,以及
33
+ replay、live tail、exit、close 的严格顺序。
34
+ - **诚实的 durable/read 投影。** Tool receipt 与 journal fact 必须成对校验;symlink 在保留 lexical
35
+ 类型的同时投影有效目标类型;Review 将仓库真实总数与有界可见页分开显示。
36
+ - **Fail-closed 发布证据。** live canary 失败、重复 Runtime 证据,或混入“安全安装阶段”的生命周期
37
+ script 都会阻止发布。
38
+
39
+ ## v0.3.3 包含什么
40
+
41
+ - **一条执行主干、有界 Web Session actors。** Web Session 与终端产品共用 product bootstrap、
42
+ AgentRuntimeController、Session/Thread、ToolGateway、审批、Goal、Plan、Skills 和 MCP。Web 最多允许
43
+ 3 个 Session turn 并行、4 个 actor 常驻;TUI/terminal 继续保持单活动 Session 合同。
44
+ - **Orion 方块工坊。** 内置像素工坊风格可与 system/light/dark 组合,不加载远程资产、动态主题代码或
45
+ 第二份 Settings 真相;classic 继续作为显式内置风格提供。
27
46
  - **可恢复的 Web 工作台。** React 界面覆盖工作区/会话、对话与工具活动、BUILD/PLAN/AUTO、follow-up、
28
47
  interrupt、审批、Goal/Plan、模型/effort、Skills/MCP 和诊断。快照与 cursor replay 负责刷新和 SSE
29
48
  重连恢复。
@@ -76,10 +95,10 @@ MCP 仍是用户可见的扩展边界。
76
95
  支持 Node.js 22.12+、24 和 26。生产环境建议使用 Node 24 LTS,当前开发环境也支持 Node 26
77
96
  Current。Node 20 已结束上游维护,不再属于 v0.3 Runtime 合同。
78
97
 
79
- 当 npm 已存在不可变的 `0.3.2` 发布凭据后:
98
+ 当 npm 已存在不可变的 `0.3.4` 发布凭据后:
80
99
 
81
100
  ```bash
82
- npm install -g @orion-agents/orion-code@0.3.2
101
+ npm install -g @orion-agents/orion-code@0.3.4
83
102
  orion --version
84
103
  orion doctor
85
104
  ```
@@ -251,9 +270,10 @@ npm run test:web-e2e -- --grep @settings
251
270
 
252
271
  正式准出还会只构建一次 exact tarball,并在 Node 22/24/26 安装同一个 hash,验证 package identity、
253
272
  native SQLite、TUI、terminal、print、Web、Goal、subagent、Skill、MCP、Compact 与 resume;
254
- WEB32-P0-01..12 还会验证可调项目栏、Composer 控制、Context、durable Plan review、队列/草稿、恢复与
255
- 无障碍合同。详见 [`v0.3.2 Workbench 方案`](docs/plan/v0.3.2-web-workbench-layout-and-composer-plan.md)与
256
- [`v0.3.2 E2E 资格计划`](docs/test/v0.3.2-web-workbench-e2e-plan.md)。
273
+ WEB33-P0-01..12 验证内置外观合同,WEB33-P0-16..24 验证并行 Session actors、标签页本地前台切换、
274
+ 有界队列、右侧 rail 与唯一 Settings 入口。详见 [`v0.3.3 方案`](docs/plan/v0.3.3-plan.md)与
275
+ [`v0.3.3 E2E 资格计划`](docs/test/v0.3.3-web-workbench-e2e-plan.md)。v0.3.4 的安全与稳定化增量见
276
+ [`v0.3.4 测试计划`](docs/test/v0.3.4-stabilization-e2e-plan.md);它不会把 source gate 当成发布凭据。
257
277
 
258
278
  ## 安全
259
279
 
@@ -132,6 +132,7 @@ export declare class AgentRuntimeController {
132
132
  reviewPlan(input: Parameters<NonNullable<import('./agent-runtime-runner').AgentRuntimeRunnerV1['reviewPlan']>>[0]): Promise<import('./plan-review').PlanReviewResolutionReceiptV1>;
133
133
  private runTurn;
134
134
  private handleRunLoopError;
135
+ private handleCommandError;
135
136
  private synchronizeSettingsAtLogicalBoundary;
136
137
  private emitAppend;
137
138
  private emitStatus;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AgentRuntimeController = exports.FollowupQueueConflictError = void 0;
4
+ const async_hooks_1 = require("async_hooks");
4
5
  const crypto_1 = require("crypto");
5
6
  const commands_1 = require("../commands");
6
7
  const parser_1 = require("../commands/parser");
@@ -333,21 +334,7 @@ class AgentRuntimeController {
333
334
  }
334
335
  if (parsedInput.isCommand) {
335
336
  const command = (0, commands_1.findCommand)(parsedInput.name);
336
- this.activeRun = this.runCommand(command, parsedInput.args)
337
- .catch(error => this.handleRunLoopError(error))
338
- .finally(() => {
339
- this.activeRun = null;
340
- });
341
- return { type: 'command_handled' };
342
- }
343
- if (this.turnController.hasActiveTurn()) {
344
- const parsed = (0, parser_1.parseInput)(submitted);
345
- if (parsed.isCommand) {
346
- const command = (0, commands_1.findCommand)(parsed.name);
347
- if (!command) {
348
- this.emitStatus(`Unknown command /${parsed.name}; active turn continues.`);
349
- return { type: 'command_ignored' };
350
- }
337
+ if (this.turnController.hasActiveTurn()) {
351
338
  if (command.busyPolicy === 'reject-busy') {
352
339
  this.emitStatus(`/${command.name} rejected: an agent turn is active.`);
353
340
  return { type: 'command_rejected_busy', commandId: command.id };
@@ -365,6 +352,16 @@ class AgentRuntimeController {
365
352
  this.emitStatus(`Queued /${command.name}; it will apply after the active logical request.`);
366
353
  return { type: 'command_queued', commandId: command.id };
367
354
  }
355
+ const run = this.runCommand(command, parsedInput.args)
356
+ .catch(error => this.handleCommandError(command, error))
357
+ .finally(() => {
358
+ if (this.activeRun === run)
359
+ this.activeRun = null;
360
+ });
361
+ this.activeRun = run;
362
+ return { type: 'command_handled' };
363
+ }
364
+ if (this.turnController.hasActiveTurn()) {
368
365
  this.turnController.clearExitIntent();
369
366
  this.turnController.requestRevision(submitted);
370
367
  // v0.1.3 (G1): echo the incremental input to the transcript immediately,
@@ -731,6 +728,17 @@ class AgentRuntimeController {
731
728
  this.emitStatus(readyStatus);
732
729
  this.options.afterTurnLoop?.();
733
730
  }
731
+ handleCommandError(command, error) {
732
+ const message = (0, style_1.sanitizeTerminalText)((0, redaction_1.redactTraceText)(error instanceof Error ? error.message : String(error)));
733
+ this.emitAppend({
734
+ role: 'error',
735
+ title: `/${command.name}`,
736
+ content: message,
737
+ errorLayer: 'runtime',
738
+ command: commandIdentity(command, false),
739
+ });
740
+ this.emitStatus(`/${command.name} failed; the active turn state was not changed.`);
741
+ }
734
742
  async synchronizeSettingsAtLogicalBoundary() {
735
743
  const synchronize = this.options.runtime.synchronizeSettings;
736
744
  if (!synchronize)
@@ -1076,37 +1084,80 @@ function commandIdentity(command, success) {
1076
1084
  };
1077
1085
  }
1078
1086
  async function captureCommandOutput(execute) {
1079
- const lines = [];
1080
- const originalLog = console.log;
1081
- const originalError = console.error;
1082
- const originalWarn = console.warn;
1083
- const capture = (...values) => {
1084
- const line = values
1085
- .map(value => {
1086
- if (typeof value === 'string')
1087
- return value;
1088
- try {
1089
- return JSON.stringify(value);
1090
- }
1091
- catch {
1092
- return String(value);
1093
- }
1094
- })
1095
- .join(' ');
1096
- lines.push((0, style_1.sanitizeTerminalText)(line));
1097
- };
1098
- console.log = capture;
1099
- console.error = capture;
1100
- console.warn = capture;
1087
+ const capture = { active: true, lines: [] };
1088
+ acquireCommandConsoleBridge();
1101
1089
  try {
1102
- return { result: await execute(), output: lines.join('\n').trim() };
1090
+ const result = await commandOutputCaptureStorage.run(capture, execute);
1091
+ return { result, output: capture.lines.join('\n').trim() };
1103
1092
  }
1104
1093
  finally {
1105
- console.log = originalLog;
1106
- console.error = originalError;
1107
- console.warn = originalWarn;
1094
+ capture.active = false;
1095
+ releaseCommandConsoleBridge();
1096
+ }
1097
+ }
1098
+ const commandOutputCaptureStorage = new async_hooks_1.AsyncLocalStorage();
1099
+ let commandConsoleBridgeReferences = 0;
1100
+ let commandConsoleOriginalMethods;
1101
+ const commandConsoleBridge = {
1102
+ log: (...values) => routeCommandConsole('log', values),
1103
+ error: (...values) => routeCommandConsole('error', values),
1104
+ warn: (...values) => routeCommandConsole('warn', values),
1105
+ };
1106
+ function acquireCommandConsoleBridge() {
1107
+ if (commandConsoleBridgeReferences === 0) {
1108
+ commandConsoleOriginalMethods = {
1109
+ log: originalConsoleMethod('log'),
1110
+ error: originalConsoleMethod('error'),
1111
+ warn: originalConsoleMethod('warn'),
1112
+ };
1113
+ console.log = commandConsoleBridge.log;
1114
+ console.error = commandConsoleBridge.error;
1115
+ console.warn = commandConsoleBridge.warn;
1116
+ }
1117
+ commandConsoleBridgeReferences += 1;
1118
+ }
1119
+ function releaseCommandConsoleBridge() {
1120
+ commandConsoleBridgeReferences = Math.max(0, commandConsoleBridgeReferences - 1);
1121
+ if (commandConsoleBridgeReferences !== 0 || !commandConsoleOriginalMethods)
1122
+ return;
1123
+ if (console.log === commandConsoleBridge.log)
1124
+ console.log = commandConsoleOriginalMethods.log;
1125
+ if (console.error === commandConsoleBridge.error)
1126
+ console.error = commandConsoleOriginalMethods.error;
1127
+ if (console.warn === commandConsoleBridge.warn)
1128
+ console.warn = commandConsoleOriginalMethods.warn;
1129
+ }
1130
+ function originalConsoleMethod(method) {
1131
+ const current = console[method];
1132
+ if (current !== commandConsoleBridge[method] || !commandConsoleOriginalMethods)
1133
+ return current;
1134
+ return commandConsoleOriginalMethods[method];
1135
+ }
1136
+ function routeCommandConsole(method, values) {
1137
+ const capture = commandOutputCaptureStorage.getStore();
1138
+ if (capture?.active) {
1139
+ capture.lines.push((0, style_1.sanitizeTerminalText)((0, redaction_1.redactTraceText)(formatConsoleValues(values))));
1140
+ return;
1141
+ }
1142
+ const original = commandConsoleOriginalMethods?.[method];
1143
+ if (original && original !== commandConsoleBridge[method]) {
1144
+ Reflect.apply(original, console, values);
1108
1145
  }
1109
1146
  }
1147
+ function formatConsoleValues(values) {
1148
+ return values
1149
+ .map(value => {
1150
+ if (typeof value === 'string')
1151
+ return value;
1152
+ try {
1153
+ return JSON.stringify(value) ?? String(value);
1154
+ }
1155
+ catch {
1156
+ return String(value);
1157
+ }
1158
+ })
1159
+ .join(' ');
1160
+ }
1110
1161
  function projectFollowupQueueItem(item) {
1111
1162
  return Object.freeze({
1112
1163
  id: item.id,
@@ -223,7 +223,7 @@ function replayAll(store) {
223
223
  const events = [];
224
224
  let cursor = 0;
225
225
  while (true) {
226
- const page = store.replay(cursor);
226
+ const page = store.replay(cursor, undefined, 'capability_receipt_journal');
227
227
  events.push(...page.events);
228
228
  if (!page.hasMore)
229
229
  return events;
@@ -72,7 +72,7 @@ function readItemReceipt(sessionId, store, item) {
72
72
  if (!terminalSeq || terminalSeq < 2 || !toolName || !item.receipt) {
73
73
  throw new tool_receipt_validator_1.DurableToolReceiptValidationError('Terminal tool projection is missing its canonical receipt identity.');
74
74
  }
75
- const pair = store.replay(terminalSeq - 2, 2).events;
75
+ const pair = store.replay(terminalSeq - 2, 2, 'durable_tool_receipt').events;
76
76
  const factEvent = pair.find(event => event.seq === terminalSeq - 1);
77
77
  const terminalEvent = pair.find(event => event.seq === terminalSeq);
78
78
  if (!factEvent || !terminalEvent || terminalEvent.itemId !== item.itemId) {
@@ -477,7 +477,7 @@ function materializeFacts(threadsDir, plan) {
477
477
  if (cursor > plan.events.length) {
478
478
  throw diverged(`Existing Thread has ${cursor} events, expected ${plan.events.length}`);
479
479
  }
480
- const existing = cursor === 0 ? [] : store.replay(0, cursor).events;
480
+ const existing = cursor === 0 ? [] : store.replay(0, cursor, 'legacy_materializer').events;
481
481
  for (let index = 0; index < existing.length; index += 1) {
482
482
  if ((0, canonical_1.canonicalRuntimeJson)(existing[index]) !== (0, canonical_1.canonicalRuntimeJson)(plan.events[index])) {
483
483
  throw diverged(`Existing Thread diverges from import plan at seq ${index + 1}`);
@@ -490,7 +490,7 @@ function materializeFacts(threadsDir, plan) {
490
490
  return store;
491
491
  }
492
492
  function verifyMaterializedStore(store, plan) {
493
- const replay = store.replay(0, Math.max(1, plan.events.length));
493
+ const replay = store.replay(0, Math.max(1, plan.events.length), 'legacy_materializer');
494
494
  if (replay.hasMore ||
495
495
  replay.events.length !== plan.events.length ||
496
496
  (0, canonical_1.digestRuntimeValue)(replay.events) !== plan.eventDigest) {
@@ -14,7 +14,7 @@ import { PromptRegistryV1 } from './prompts';
14
14
  import { ResourceScope, type ResourceScopeCloseReport } from './resource-scope';
15
15
  import { type RuntimeContributorSlots, type RuntimeContributors, type RuntimeServicePort, type RuntimeServices, type RuntimeServiceSlots } from './runtime-services';
16
16
  import { LazySkillRuntime, type LazySkillRuntimeOptions, type LazySkillRuntimeStatsV1 } from './skills';
17
- import { ExecutionService, type AuthoritySnapshotV1, type ToolBindingV1 } from './step-snapshot';
17
+ import { ExecutionService, type AuthoritySnapshotV1, type ToolBindingV1, type WorkspaceMutationCoordinatorV1 } from './step-snapshot';
18
18
  import { ThreadCompactMaintenanceRunnerV1, ThreadCompactTransactionPersistenceV1, type ThreadCompactMaintenanceRunnerOptionsV1 } from './thread-compact-persistence';
19
19
  import { type TaskContextService, type TaskContextServiceOptions } from './task-context-service';
20
20
  import { ThreadEventStore, type ThreadEventStoreOptionsV1 } from './thread-event-store';
@@ -116,6 +116,7 @@ export interface OrionRuntimeV1Options {
116
116
  readonly mcp: Omit<LazyMcpRuntimeOptions, 'signal'>;
117
117
  readonly resolveCapabilityConfiguration: OrionCapabilityConfigurationResolverV1;
118
118
  readonly approvalHandler?: FirstPartyApprovalHandlerV1;
119
+ readonly workspaceMutationCoordinator?: WorkspaceMutationCoordinatorV1;
119
120
  readonly contributors?: RuntimeContributorSlots;
120
121
  readonly subagents?: OrionSubagentCompositionV1;
121
122
  readonly thread?: Omit<ThreadRuntimeOptionsV1, 'store' | 'runner' | 'maintenanceRunner' | 'projectPath' | 'requireTurnCommit'>;
@@ -82,22 +82,24 @@ class OrionRuntimeV1 {
82
82
  const projection = graph.thread.getProjection();
83
83
  const admission = graph.thread.getAdmissionSnapshot();
84
84
  const eventCursor = graph.eventStore.getCursor();
85
- const recent = graph.eventStore.replay(Math.max(0, eventCursor - 256), 256).events;
86
- const latestCapabilityEvent = [...recent]
87
- .reverse()
88
- .find(event => event.payload.type === 'capability.receipt');
89
- const latestSnapshotEvent = [...recent]
90
- .reverse()
91
- .find(event => event.payload.type === 'step.snapshot');
92
- const latestCommitEvent = [...recent]
93
- .reverse()
94
- .find(event => event.payload.type === 'turn.committed');
95
- const latestCompactEvent = [...recent]
96
- .reverse()
97
- .find(event => event.payload.type.startsWith('compact.'));
85
+ const legacyRecent = projection.diagnosticEvents && projection.compactEvents
86
+ ? []
87
+ : graph.eventStore.replay(Math.max(0, eventCursor - 256), 256, 'runtime_diagnostics_legacy')
88
+ .events;
89
+ const latestCapabilityEvent = projection.diagnosticEvents?.latestCapability ??
90
+ [...legacyRecent].reverse().find(event => event.payload.type === 'capability.receipt');
91
+ const latestSnapshotEvent = projection.diagnosticEvents?.latestStepSnapshot ??
92
+ [...legacyRecent].reverse().find(event => event.payload.type === 'step.snapshot');
93
+ const latestCommitProjection = Object.values(projection.turns)
94
+ .map(turn => turn.commit)
95
+ .filter((commit) => Boolean(commit))
96
+ .sort((left, right) => left.seq - right.seq)
97
+ .at(-1);
98
+ const latestCompactEvent = projection.compactEvents?.at(-1) ??
99
+ [...legacyRecent].reverse().find(event => event.payload.type.startsWith('compact.'));
98
100
  const capability = parseCapabilityDiagnostics(latestCapabilityEvent, latestSnapshotEvent);
99
- const latestCommit = latestCommitEvent?.payload.type === 'turn.committed'
100
- ? (0, turn_commit_1.parseTurnCommitV1)(latestCommitEvent.payload.data.receipt)
101
+ const latestCommit = latestCommitProjection
102
+ ? (0, turn_commit_1.parseTurnCommitV1)(latestCommitProjection.receipt)
101
103
  : undefined;
102
104
  const task = graph.taskContext.snapshot();
103
105
  const activeTurn = projection.activeTurnId
@@ -354,7 +356,7 @@ class OrionRuntimeV1 {
354
356
  });
355
357
  const approval = new first_party_tool_services_1.FirstPartyToolApprovalServiceV1(this.options.approvalHandler);
356
358
  const sandbox = new first_party_tool_services_1.FirstPartySandboxServiceV1();
357
- const execution = new step_snapshot_1.ExecutionService();
359
+ const execution = new step_snapshot_1.ExecutionService(this.options.workspaceMutationCoordinator);
358
360
  const toolJournal = new thread_tool_journal_1.ThreadToolInvocationJournalV1(eventStore);
359
361
  const gateway = new tool_gateway_1.ToolGateway({
360
362
  policy,
@@ -27,6 +27,7 @@ export declare class OrionSessionRunnerV1 implements AgentRuntimeRunnerV1 {
27
27
  private transition;
28
28
  private readonly backgroundDrains;
29
29
  private closed;
30
+ private closeFlight?;
30
31
  constructor(options: OrionSessionRunnerOptionsV1);
31
32
  runInput(input: string, options?: AgentRuntimeRunInputOptionsV1): Promise<void>;
32
33
  runRequest(request: AgentTurnRequest, options?: AgentRuntimeRunInputOptionsV1): Promise<void>;
@@ -38,6 +39,7 @@ export declare class OrionSessionRunnerV1 implements AgentRuntimeRunnerV1 {
38
39
  reviewPlan(input: Parameters<typeof resolvePlanReviewV1>[1]): Promise<ReturnType<typeof resolvePlanReviewV1>>;
39
40
  interrupt(reason?: string): void;
40
41
  close(reason?: string): Promise<void>;
42
+ private performClose;
41
43
  private ensureActive;
42
44
  private switchTo;
43
45
  private closeActive;
@@ -99,10 +99,14 @@ class OrionSessionRunnerV1 {
99
99
  interrupt(reason = 'user interrupted') {
100
100
  this.active?.adapter.interrupt(reason);
101
101
  }
102
- async close(reason = 'session runner closed') {
103
- if (this.closed)
104
- return;
102
+ close(reason = 'session runner closed') {
103
+ if (this.closeFlight)
104
+ return this.closeFlight;
105
105
  this.closed = true;
106
+ this.closeFlight = this.performClose(reason);
107
+ return this.closeFlight;
108
+ }
109
+ async performClose(reason) {
106
110
  const transitioning = this.transition;
107
111
  if (transitioning) {
108
112
  try {
@@ -161,7 +165,11 @@ class OrionSessionRunnerV1 {
161
165
  return;
162
166
  active.disposeObserver?.();
163
167
  active.adapter.close(reason);
164
- await active.runtime.close(reason);
168
+ const report = await active.runtime.close(reason);
169
+ if (report.timedOut || report.leaseTimedOut || report.errors.length > 0) {
170
+ throw new Error(`Orion Session Runtime cleanup was incomplete (${report.errors.length} error(s), ` +
171
+ `timedOut=${report.timedOut}, leaseTimedOut=${report.leaseTimedOut}).`);
172
+ }
165
173
  }
166
174
  async drainUntilIdle(active) {
167
175
  let idle = false;
@@ -3,6 +3,8 @@ import { type SettingsInvalidationV1 } from '../services/settings-coordinator';
3
3
  import type { OrionRuntimeV1 } from './orion-runtime-v1';
4
4
  import type { ThreadSessionRuntimeActivationV1 } from './thread-session-view';
5
5
  import type { OrionCodeUiRuntime } from './ui-events';
6
+ import type { WorkspaceMutationCoordinatorV1 } from './step-snapshot';
7
+ import { WorkspaceRuntimeKernelV1 } from './workspace-runtime-kernel';
6
8
  export interface ProductUiRuntimeBootstrapOptions {
7
9
  readonly cwd: string;
8
10
  readonly uiRenderer?: UIRenderer;
@@ -11,6 +13,10 @@ export interface ProductUiRuntimeBootstrapOptions {
11
13
  readonly onActiveSessionRuntime?: (runtime: OrionRuntimeV1, sessionId: string, activation?: ThreadSessionRuntimeActivationV1) => void | (() => void);
12
14
  /** Secret-free Settings invalidations projected by the renderer-owned host. */
13
15
  readonly onSettingsInvalidated?: (event: SettingsInvalidationV1) => void;
16
+ /** Optional Web-hosted FIFO for side effects shared by concurrent Session actors. */
17
+ readonly workspaceMutationCoordinator?: WorkspaceMutationCoordinatorV1;
18
+ /** Workspace-owned resources reused by Web Session actors. */
19
+ readonly workspaceRuntimeKernel?: WorkspaceRuntimeKernelV1;
14
20
  }
15
21
  /**
16
22
  * Shared product composition root for TUI, terminal, print and Web surfaces.