@orion-agents/orion-code 0.3.1 → 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 (800) hide show
  1. package/CHANGELOG.md +126 -0
  2. package/README.md +71 -32
  3. package/README.zh-CN.md +56 -29
  4. package/dist/commands/model-command-handlers.js +59 -14
  5. package/dist/commands/types.d.ts +6 -0
  6. package/dist/commands/workflow-command-handlers.d.ts +1 -1
  7. package/dist/commands/workflow-command-handlers.js +42 -3
  8. package/dist/commands/workflow-commands.js +2 -2
  9. package/dist/runtime/agent-runtime-controller.d.ts +17 -2
  10. package/dist/runtime/agent-runtime-controller.js +207 -47
  11. package/dist/runtime/agent-runtime-protocol.d.ts +3 -0
  12. package/dist/runtime/agent-runtime-runner.d.ts +8 -0
  13. package/dist/runtime/capability-receipt-journal.js +1 -1
  14. package/dist/runtime/durable-tool-receipt-reader.js +1 -1
  15. package/dist/runtime/legacy-thread-materializer.js +2 -2
  16. package/dist/runtime/orion-runtime-v1.d.ts +2 -1
  17. package/dist/runtime/orion-runtime-v1.js +18 -16
  18. package/dist/runtime/orion-session-runner.d.ts +6 -0
  19. package/dist/runtime/orion-session-runner.js +27 -4
  20. package/dist/runtime/plan-review.d.ts +38 -0
  21. package/dist/runtime/plan-review.js +173 -0
  22. package/dist/runtime/product-bootstrap.d.ts +6 -0
  23. package/dist/runtime/product-bootstrap.js +388 -314
  24. package/dist/runtime/product-orion-runtime.d.ts +5 -0
  25. package/dist/runtime/product-orion-runtime.js +16 -35
  26. package/dist/runtime/protocol/runtime-protocol-v1.d.ts +73 -0
  27. package/dist/runtime/protocol/runtime-protocol-v1.js +37 -0
  28. package/dist/runtime/release-receipts.d.ts +9 -3
  29. package/dist/runtime/release-receipts.js +120 -1
  30. package/dist/runtime/session-composer-control.d.ts +136 -0
  31. package/dist/runtime/session-composer-control.js +532 -0
  32. package/dist/runtime/step-snapshot.d.ts +12 -0
  33. package/dist/runtime/step-snapshot.js +14 -1
  34. package/dist/runtime/subagent-thread-runtime.js +1 -1
  35. package/dist/runtime/thread-event-store.d.ts +10 -1
  36. package/dist/runtime/thread-event-store.js +48 -12
  37. package/dist/runtime/thread-projection.d.ts +36 -0
  38. package/dist/runtime/thread-projection.js +99 -0
  39. package/dist/runtime/thread-runtime.d.ts +2 -2
  40. package/dist/runtime/thread-runtime.js +2 -2
  41. package/dist/runtime/thread-session-index.d.ts +17 -1
  42. package/dist/runtime/thread-session-index.js +89 -6
  43. package/dist/runtime/thread-session-view.d.ts +4 -1
  44. package/dist/runtime/thread-session-view.js +5 -2
  45. package/dist/runtime/thread-ui-adapter.js +10 -3
  46. package/dist/runtime/tool-gateway.js +1 -0
  47. package/dist/runtime/turn-commit.js +1 -1
  48. package/dist/runtime/ui-events.d.ts +9 -1
  49. package/dist/runtime/workspace-runtime-kernel.d.ts +67 -0
  50. package/dist/runtime/workspace-runtime-kernel.js +148 -0
  51. package/dist/services/global-config.d.ts +2 -0
  52. package/dist/services/global-config.js +7 -1
  53. package/dist/services/provider-resilience/coordinator.d.ts +3 -1
  54. package/dist/services/provider-resilience/coordinator.js +23 -1
  55. package/dist/services/provider-resilience/request-gate.js +7 -2
  56. package/dist/services/redaction.js +19 -2
  57. package/dist/services/session-storage.d.ts +36 -0
  58. package/dist/services/session-storage.js +77 -1
  59. package/dist/services/settings-coordinator.d.ts +3 -1
  60. package/dist/services/settings-coordinator.js +40 -8
  61. package/dist/services/settings-document-repository.d.ts +8 -1
  62. package/dist/services/settings-document-repository.js +22 -1
  63. package/dist/tui-ui/transcript-inspector-layout.js +13 -6
  64. package/dist/web/event-hub.d.ts +2 -0
  65. package/dist/web/event-hub.js +53 -6
  66. package/dist/web/file-read-service.d.ts +11 -0
  67. package/dist/web/file-read-service.js +56 -19
  68. package/dist/web/git-read-model-service.d.ts +8 -0
  69. package/dist/web/git-read-model-service.js +35 -2
  70. package/dist/web/protocol.d.ts +193 -3
  71. package/dist/web/protocol.js +245 -2
  72. package/dist/web/review-service.d.ts +1 -0
  73. package/dist/web/review-service.js +1 -0
  74. package/dist/web/server.js +75 -14
  75. package/dist/web/session-runtime-registry.d.ts +124 -0
  76. package/dist/web/session-runtime-registry.js +448 -0
  77. package/dist/web/terminal-manager.d.ts +1 -0
  78. package/dist/web/terminal-manager.js +60 -9
  79. package/dist/web/terminal-server.js +35 -6
  80. package/dist/web/workbench-controller.d.ts +52 -11
  81. package/dist/web/workbench-controller.js +1049 -110
  82. package/dist/web/workspace-mutation-arbiter.d.ts +54 -0
  83. package/dist/web/workspace-mutation-arbiter.js +267 -0
  84. package/dist/web-client/assets/{DiffViewer-DpKoD07C.js → DiffViewer-D6mG729y.js} +1 -1
  85. package/dist/web-client/assets/FilesPanel-CCDoAZ1J.js +2 -0
  86. package/dist/web-client/assets/{GitPanel-D20StcdG.js → GitPanel-DtNgiH7A.js} +1 -1
  87. package/dist/web-client/assets/ReviewPanel-CKEBSt6P.js +1 -0
  88. package/dist/web-client/assets/{TerminalPanel-BLQ592Fb.js → TerminalPanel-CNxMaBLp.js} +15 -13
  89. package/dist/web-client/assets/index-BBvNg3By.css +1 -0
  90. package/dist/web-client/assets/index-C6TDJwMC.js +17 -0
  91. package/dist/web-client/index.html +4 -4
  92. package/docs/architecture/agent-mode-permission-contract.md +87 -0
  93. package/docs/architecture/v0.3.1-web-api.yaml +53 -5
  94. package/docs/architecture/v0.3.2-web-api.yaml +3029 -0
  95. package/docs/architecture/v0.3.3-web-api.yaml +3205 -0
  96. package/docs/architecture/v0.3.4-stabilization-contract.md +32 -0
  97. package/docs/migration/v0.3.1-to-v0.3.2.md +94 -0
  98. package/docs/migration/v0.3.2-to-v0.3.3.md +62 -0
  99. package/docs/migration/v0.3.3-to-v0.3.4.md +36 -0
  100. package/docs/plan/v0.3.1-web-workbench-professional-shell-plan.md +1 -1
  101. package/docs/plan/v0.3.2-web-workbench-layout-and-composer-plan.md +869 -0
  102. package/docs/plan/v0.3.3-plan.md +1113 -0
  103. package/docs/plan/v0.3.4-stabilization-plan.md +89 -0
  104. package/docs/readme.md +12 -2
  105. package/docs/test/v0.3.1-web-workbench-e2e-plan.md +1 -1
  106. package/docs/test/v0.3.2-web-workbench-e2e-plan.md +100 -0
  107. package/docs/test/v0.3.3-web-workbench-e2e-plan.md +79 -0
  108. package/docs/test/v0.3.4-stabilization-e2e-plan.md +54 -0
  109. package/npm-shrinkwrap.json +25 -25
  110. package/package.json +15 -1
  111. package/dist/cli.d.ts.map +0 -1
  112. package/dist/cli.js.map +0 -1
  113. package/dist/commands/context-commands.d.ts.map +0 -1
  114. package/dist/commands/context-commands.js.map +0 -1
  115. package/dist/commands/context-tool-command-handlers.d.ts.map +0 -1
  116. package/dist/commands/context-tool-command-handlers.js.map +0 -1
  117. package/dist/commands/core-command-handlers.d.ts.map +0 -1
  118. package/dist/commands/core-command-handlers.js.map +0 -1
  119. package/dist/commands/diagnostic-command-handlers.d.ts.map +0 -1
  120. package/dist/commands/diagnostic-command-handlers.js.map +0 -1
  121. package/dist/commands/diagnostic-commands.d.ts.map +0 -1
  122. package/dist/commands/diagnostic-commands.js.map +0 -1
  123. package/dist/commands/index.d.ts.map +0 -1
  124. package/dist/commands/index.js.map +0 -1
  125. package/dist/commands/model-command-handlers.d.ts.map +0 -1
  126. package/dist/commands/model-command-handlers.js.map +0 -1
  127. package/dist/commands/model-commands.d.ts.map +0 -1
  128. package/dist/commands/model-commands.js.map +0 -1
  129. package/dist/commands/parser.d.ts.map +0 -1
  130. package/dist/commands/parser.js.map +0 -1
  131. package/dist/commands/registry.d.ts.map +0 -1
  132. package/dist/commands/registry.js.map +0 -1
  133. package/dist/commands/session-command-handlers.d.ts.map +0 -1
  134. package/dist/commands/session-command-handlers.js.map +0 -1
  135. package/dist/commands/session-commands.d.ts.map +0 -1
  136. package/dist/commands/session-commands.js.map +0 -1
  137. package/dist/commands/system-commands.d.ts.map +0 -1
  138. package/dist/commands/system-commands.js.map +0 -1
  139. package/dist/commands/target-command.d.ts.map +0 -1
  140. package/dist/commands/target-command.js.map +0 -1
  141. package/dist/commands/tool-commands.d.ts.map +0 -1
  142. package/dist/commands/tool-commands.js.map +0 -1
  143. package/dist/commands/types.d.ts.map +0 -1
  144. package/dist/commands/types.js.map +0 -1
  145. package/dist/commands/workflow-command-handlers.d.ts.map +0 -1
  146. package/dist/commands/workflow-command-handlers.js.map +0 -1
  147. package/dist/commands/workflow-commands.d.ts.map +0 -1
  148. package/dist/commands/workflow-commands.js.map +0 -1
  149. package/dist/core/checkpoint.d.ts.map +0 -1
  150. package/dist/core/checkpoint.js.map +0 -1
  151. package/dist/core/cost-tracker.d.ts.map +0 -1
  152. package/dist/core/cost-tracker.js.map +0 -1
  153. package/dist/core/security-warning.d.ts.map +0 -1
  154. package/dist/core/security-warning.js.map +0 -1
  155. package/dist/core/strategy-tracker.d.ts.map +0 -1
  156. package/dist/core/strategy-tracker.js.map +0 -1
  157. package/dist/core/tool-artifacts.d.ts.map +0 -1
  158. package/dist/core/tool-artifacts.js.map +0 -1
  159. package/dist/core/warn-dedup.d.ts.map +0 -1
  160. package/dist/core/warn-dedup.js.map +0 -1
  161. package/dist/framework/agent-mode.d.ts.map +0 -1
  162. package/dist/framework/agent-mode.js.map +0 -1
  163. package/dist/framework/external-assertion.d.ts.map +0 -1
  164. package/dist/framework/external-assertion.js.map +0 -1
  165. package/dist/framework/index.d.ts.map +0 -1
  166. package/dist/framework/index.js.map +0 -1
  167. package/dist/framework/loop-budget-contract.d.ts.map +0 -1
  168. package/dist/framework/loop-budget-contract.js.map +0 -1
  169. package/dist/framework/prompt.d.ts.map +0 -1
  170. package/dist/framework/prompt.js.map +0 -1
  171. package/dist/framework/query.d.ts.map +0 -1
  172. package/dist/framework/query.js.map +0 -1
  173. package/dist/framework/stop-decision.d.ts.map +0 -1
  174. package/dist/framework/stop-decision.js.map +0 -1
  175. package/dist/framework/store.d.ts.map +0 -1
  176. package/dist/framework/store.js.map +0 -1
  177. package/dist/framework/tool-call-orchestrator.d.ts.map +0 -1
  178. package/dist/framework/tool-call-orchestrator.js.map +0 -1
  179. package/dist/framework/tool-serializer.d.ts.map +0 -1
  180. package/dist/framework/tool-serializer.js.map +0 -1
  181. package/dist/framework/tool-state.d.ts.map +0 -1
  182. package/dist/framework/tool-state.js.map +0 -1
  183. package/dist/framework/tool.d.ts.map +0 -1
  184. package/dist/framework/tool.js.map +0 -1
  185. package/dist/harness/assembler.d.ts.map +0 -1
  186. package/dist/harness/assembler.js.map +0 -1
  187. package/dist/harness/capability-profile.d.ts.map +0 -1
  188. package/dist/harness/capability-profile.js.map +0 -1
  189. package/dist/harness/capsule.d.ts.map +0 -1
  190. package/dist/harness/capsule.js.map +0 -1
  191. package/dist/harness/compact-benchmark-corpus.d.ts.map +0 -1
  192. package/dist/harness/compact-benchmark-corpus.js.map +0 -1
  193. package/dist/harness/context-harness.d.ts.map +0 -1
  194. package/dist/harness/context-harness.js.map +0 -1
  195. package/dist/harness/contract.d.ts.map +0 -1
  196. package/dist/harness/contract.js.map +0 -1
  197. package/dist/harness/drift-guard.d.ts.map +0 -1
  198. package/dist/harness/drift-guard.js.map +0 -1
  199. package/dist/harness/evidence.d.ts.map +0 -1
  200. package/dist/harness/evidence.js.map +0 -1
  201. package/dist/harness/index.d.ts.map +0 -1
  202. package/dist/harness/index.js.map +0 -1
  203. package/dist/harness/intent.d.ts.map +0 -1
  204. package/dist/harness/intent.js.map +0 -1
  205. package/dist/harness/ledger.d.ts.map +0 -1
  206. package/dist/harness/ledger.js.map +0 -1
  207. package/dist/harness/progress-controller.d.ts.map +0 -1
  208. package/dist/harness/progress-controller.js.map +0 -1
  209. package/dist/harness/state.d.ts.map +0 -1
  210. package/dist/harness/state.js.map +0 -1
  211. package/dist/harness/stop-controller.d.ts.map +0 -1
  212. package/dist/harness/stop-controller.js.map +0 -1
  213. package/dist/harness/turn-summary.d.ts.map +0 -1
  214. package/dist/harness/turn-summary.js.map +0 -1
  215. package/dist/harness/types.d.ts.map +0 -1
  216. package/dist/harness/types.js.map +0 -1
  217. package/dist/harness/verification.d.ts.map +0 -1
  218. package/dist/harness/verification.js.map +0 -1
  219. package/dist/index.d.ts.map +0 -1
  220. package/dist/index.js.map +0 -1
  221. package/dist/memory/embeddings.d.ts.map +0 -1
  222. package/dist/memory/embeddings.js.map +0 -1
  223. package/dist/memory/entrypoint.d.ts.map +0 -1
  224. package/dist/memory/entrypoint.js.map +0 -1
  225. package/dist/memory/index.d.ts.map +0 -1
  226. package/dist/memory/index.js.map +0 -1
  227. package/dist/memory/prompt-context.d.ts.map +0 -1
  228. package/dist/memory/prompt-context.js.map +0 -1
  229. package/dist/memory/prompts.d.ts.map +0 -1
  230. package/dist/memory/prompts.js.map +0 -1
  231. package/dist/memory/relevant-finder.d.ts.map +0 -1
  232. package/dist/memory/relevant-finder.js.map +0 -1
  233. package/dist/memory/semantic-config.d.ts.map +0 -1
  234. package/dist/memory/semantic-config.js.map +0 -1
  235. package/dist/memory/semantic-search.d.ts.map +0 -1
  236. package/dist/memory/semantic-search.js.map +0 -1
  237. package/dist/memory/storage.d.ts.map +0 -1
  238. package/dist/memory/storage.js.map +0 -1
  239. package/dist/memory/store.d.ts.map +0 -1
  240. package/dist/memory/store.js.map +0 -1
  241. package/dist/memory/team-paths.d.ts.map +0 -1
  242. package/dist/memory/team-paths.js.map +0 -1
  243. package/dist/memory/types.d.ts.map +0 -1
  244. package/dist/memory/types.js.map +0 -1
  245. package/dist/memory/validation.d.ts.map +0 -1
  246. package/dist/memory/validation.js.map +0 -1
  247. package/dist/memory/vector-store.d.ts.map +0 -1
  248. package/dist/memory/vector-store.js.map +0 -1
  249. package/dist/migration/command.d.ts.map +0 -1
  250. package/dist/migration/command.js.map +0 -1
  251. package/dist/migration/index.d.ts.map +0 -1
  252. package/dist/migration/index.js.map +0 -1
  253. package/dist/migration/migrate.d.ts.map +0 -1
  254. package/dist/migration/migrate.js.map +0 -1
  255. package/dist/migration/types.d.ts.map +0 -1
  256. package/dist/migration/types.js.map +0 -1
  257. package/dist/print-ui/launch.d.ts.map +0 -1
  258. package/dist/print-ui/launch.js.map +0 -1
  259. package/dist/product/environment.d.ts.map +0 -1
  260. package/dist/product/environment.js.map +0 -1
  261. package/dist/product/identity.d.ts.map +0 -1
  262. package/dist/product/identity.js.map +0 -1
  263. package/dist/product/index.d.ts.map +0 -1
  264. package/dist/product/index.js.map +0 -1
  265. package/dist/product/paths.d.ts.map +0 -1
  266. package/dist/product/paths.js.map +0 -1
  267. package/dist/product/version.d.ts.map +0 -1
  268. package/dist/product/version.js.map +0 -1
  269. package/dist/runtime/agent-loop.d.ts.map +0 -1
  270. package/dist/runtime/agent-loop.js.map +0 -1
  271. package/dist/runtime/agent-runtime-controller.d.ts.map +0 -1
  272. package/dist/runtime/agent-runtime-controller.js.map +0 -1
  273. package/dist/runtime/agent-runtime-protocol.d.ts.map +0 -1
  274. package/dist/runtime/agent-runtime-protocol.js.map +0 -1
  275. package/dist/runtime/agent-runtime-runner.d.ts.map +0 -1
  276. package/dist/runtime/agent-runtime-runner.js.map +0 -1
  277. package/dist/runtime/agent-status.d.ts.map +0 -1
  278. package/dist/runtime/agent-status.js.map +0 -1
  279. package/dist/runtime/aggregate-tool-presenter.d.ts.map +0 -1
  280. package/dist/runtime/aggregate-tool-presenter.js.map +0 -1
  281. package/dist/runtime/batch-read-service.d.ts.map +0 -1
  282. package/dist/runtime/batch-read-service.js.map +0 -1
  283. package/dist/runtime/builtin-tool-provider.d.ts.map +0 -1
  284. package/dist/runtime/builtin-tool-provider.js.map +0 -1
  285. package/dist/runtime/capabilities/compiler.d.ts.map +0 -1
  286. package/dist/runtime/capabilities/compiler.js.map +0 -1
  287. package/dist/runtime/capabilities/index.d.ts.map +0 -1
  288. package/dist/runtime/capabilities/index.js.map +0 -1
  289. package/dist/runtime/capabilities/types.d.ts.map +0 -1
  290. package/dist/runtime/capabilities/types.js.map +0 -1
  291. package/dist/runtime/capability-receipt-journal.d.ts.map +0 -1
  292. package/dist/runtime/capability-receipt-journal.js.map +0 -1
  293. package/dist/runtime/capability-step-factory.d.ts.map +0 -1
  294. package/dist/runtime/capability-step-factory.js.map +0 -1
  295. package/dist/runtime/compact-transaction.d.ts.map +0 -1
  296. package/dist/runtime/compact-transaction.js.map +0 -1
  297. package/dist/runtime/composer/buffer.d.ts.map +0 -1
  298. package/dist/runtime/composer/buffer.js.map +0 -1
  299. package/dist/runtime/composer/grapheme.d.ts.map +0 -1
  300. package/dist/runtime/composer/grapheme.js.map +0 -1
  301. package/dist/runtime/composer/history.d.ts.map +0 -1
  302. package/dist/runtime/composer/history.js.map +0 -1
  303. package/dist/runtime/composer/layout.d.ts.map +0 -1
  304. package/dist/runtime/composer/layout.js.map +0 -1
  305. package/dist/runtime/core-tools/descriptors.d.ts.map +0 -1
  306. package/dist/runtime/core-tools/descriptors.js.map +0 -1
  307. package/dist/runtime/durable-tool-receipt-reader.d.ts.map +0 -1
  308. package/dist/runtime/durable-tool-receipt-reader.js.map +0 -1
  309. package/dist/runtime/first-party-core-provider.d.ts.map +0 -1
  310. package/dist/runtime/first-party-core-provider.js.map +0 -1
  311. package/dist/runtime/first-party-long-tail-provider.d.ts.map +0 -1
  312. package/dist/runtime/first-party-long-tail-provider.js.map +0 -1
  313. package/dist/runtime/first-party-tool-services.d.ts.map +0 -1
  314. package/dist/runtime/first-party-tool-services.js.map +0 -1
  315. package/dist/runtime/first-party-tool-universe.d.ts.map +0 -1
  316. package/dist/runtime/first-party-tool-universe.js.map +0 -1
  317. package/dist/runtime/goal-lifecycle-v2.d.ts.map +0 -1
  318. package/dist/runtime/goal-lifecycle-v2.js.map +0 -1
  319. package/dist/runtime/goal-runtime-coordinator.d.ts.map +0 -1
  320. package/dist/runtime/goal-runtime-coordinator.js.map +0 -1
  321. package/dist/runtime/goals/completion-audit.d.ts.map +0 -1
  322. package/dist/runtime/goals/completion-audit.js.map +0 -1
  323. package/dist/runtime/goals/evidence.d.ts.map +0 -1
  324. package/dist/runtime/goals/evidence.js.map +0 -1
  325. package/dist/runtime/goals/objective.d.ts.map +0 -1
  326. package/dist/runtime/goals/objective.js.map +0 -1
  327. package/dist/runtime/goals/presentation.d.ts.map +0 -1
  328. package/dist/runtime/goals/presentation.js.map +0 -1
  329. package/dist/runtime/goals/types.d.ts.map +0 -1
  330. package/dist/runtime/goals/types.js.map +0 -1
  331. package/dist/runtime/harness-confluence.d.ts.map +0 -1
  332. package/dist/runtime/harness-confluence.js.map +0 -1
  333. package/dist/runtime/harness-eval.d.ts.map +0 -1
  334. package/dist/runtime/harness-eval.js.map +0 -1
  335. package/dist/runtime/harness-metrics.d.ts.map +0 -1
  336. package/dist/runtime/harness-metrics.js.map +0 -1
  337. package/dist/runtime/legacy-session-importer.d.ts.map +0 -1
  338. package/dist/runtime/legacy-session-importer.js.map +0 -1
  339. package/dist/runtime/legacy-thread-materializer.d.ts.map +0 -1
  340. package/dist/runtime/legacy-thread-materializer.js.map +0 -1
  341. package/dist/runtime/long-tail-tools/descriptors.d.ts.map +0 -1
  342. package/dist/runtime/long-tail-tools/descriptors.js.map +0 -1
  343. package/dist/runtime/loop-budget.d.ts.map +0 -1
  344. package/dist/runtime/loop-budget.js.map +0 -1
  345. package/dist/runtime/mcp/first-party-mcp-adapter.d.ts.map +0 -1
  346. package/dist/runtime/mcp/first-party-mcp-adapter.js.map +0 -1
  347. package/dist/runtime/mcp/first-party-mcp-config.d.ts.map +0 -1
  348. package/dist/runtime/mcp/first-party-mcp-config.js.map +0 -1
  349. package/dist/runtime/mcp/index.d.ts.map +0 -1
  350. package/dist/runtime/mcp/index.js.map +0 -1
  351. package/dist/runtime/mcp/lazy-mcp-runtime.d.ts.map +0 -1
  352. package/dist/runtime/mcp/lazy-mcp-runtime.js.map +0 -1
  353. package/dist/runtime/mcp/types.d.ts.map +0 -1
  354. package/dist/runtime/mcp/types.js.map +0 -1
  355. package/dist/runtime/model-coordinator.d.ts.map +0 -1
  356. package/dist/runtime/model-coordinator.js.map +0 -1
  357. package/dist/runtime/orion-runtime-v1.d.ts.map +0 -1
  358. package/dist/runtime/orion-runtime-v1.js.map +0 -1
  359. package/dist/runtime/orion-session-runner.d.ts.map +0 -1
  360. package/dist/runtime/orion-session-runner.js.map +0 -1
  361. package/dist/runtime/product-bootstrap.d.ts.map +0 -1
  362. package/dist/runtime/product-bootstrap.js.map +0 -1
  363. package/dist/runtime/product-orion-runtime.d.ts.map +0 -1
  364. package/dist/runtime/product-orion-runtime.js.map +0 -1
  365. package/dist/runtime/prompts/index.d.ts.map +0 -1
  366. package/dist/runtime/prompts/index.js.map +0 -1
  367. package/dist/runtime/prompts/prompt-registry.d.ts.map +0 -1
  368. package/dist/runtime/prompts/prompt-registry.js.map +0 -1
  369. package/dist/runtime/prompts/types.d.ts.map +0 -1
  370. package/dist/runtime/prompts/types.js.map +0 -1
  371. package/dist/runtime/protocol/canonical.d.ts.map +0 -1
  372. package/dist/runtime/protocol/canonical.js.map +0 -1
  373. package/dist/runtime/protocol/index.d.ts.map +0 -1
  374. package/dist/runtime/protocol/index.js.map +0 -1
  375. package/dist/runtime/protocol/runtime-protocol-v1.d.ts.map +0 -1
  376. package/dist/runtime/protocol/runtime-protocol-v1.js.map +0 -1
  377. package/dist/runtime/release-receipts.d.ts.map +0 -1
  378. package/dist/runtime/release-receipts.js.map +0 -1
  379. package/dist/runtime/resource-scope.d.ts.map +0 -1
  380. package/dist/runtime/resource-scope.js.map +0 -1
  381. package/dist/runtime/rich-text/ansi-parser.d.ts.map +0 -1
  382. package/dist/runtime/rich-text/ansi-parser.js.map +0 -1
  383. package/dist/runtime/rich-text/layout.d.ts.map +0 -1
  384. package/dist/runtime/rich-text/layout.js.map +0 -1
  385. package/dist/runtime/rich-text/markdown-parser.d.ts.map +0 -1
  386. package/dist/runtime/rich-text/markdown-parser.js.map +0 -1
  387. package/dist/runtime/rich-text/sanitizer.d.ts.map +0 -1
  388. package/dist/runtime/rich-text/sanitizer.js.map +0 -1
  389. package/dist/runtime/rich-text/types.d.ts.map +0 -1
  390. package/dist/runtime/rich-text/types.js.map +0 -1
  391. package/dist/runtime/runtime-event-buffer.d.ts.map +0 -1
  392. package/dist/runtime/runtime-event-buffer.js.map +0 -1
  393. package/dist/runtime/runtime-services.d.ts.map +0 -1
  394. package/dist/runtime/runtime-services.js.map +0 -1
  395. package/dist/runtime/session-history-recovery.d.ts.map +0 -1
  396. package/dist/runtime/session-history-recovery.js.map +0 -1
  397. package/dist/runtime/skills/bounded-lru-cache.d.ts.map +0 -1
  398. package/dist/runtime/skills/bounded-lru-cache.js.map +0 -1
  399. package/dist/runtime/skills/filesystem-skill-provider.d.ts.map +0 -1
  400. package/dist/runtime/skills/filesystem-skill-provider.js.map +0 -1
  401. package/dist/runtime/skills/index.d.ts.map +0 -1
  402. package/dist/runtime/skills/index.js.map +0 -1
  403. package/dist/runtime/skills/lazy-skill-runtime.d.ts.map +0 -1
  404. package/dist/runtime/skills/lazy-skill-runtime.js.map +0 -1
  405. package/dist/runtime/skills/types.d.ts.map +0 -1
  406. package/dist/runtime/skills/types.js.map +0 -1
  407. package/dist/runtime/step-snapshot.d.ts.map +0 -1
  408. package/dist/runtime/step-snapshot.js.map +0 -1
  409. package/dist/runtime/subagent-thread-runtime.d.ts.map +0 -1
  410. package/dist/runtime/subagent-thread-runtime.js.map +0 -1
  411. package/dist/runtime/subagents/budget.d.ts.map +0 -1
  412. package/dist/runtime/subagents/budget.js.map +0 -1
  413. package/dist/runtime/subagents/child-executor-guard.d.ts.map +0 -1
  414. package/dist/runtime/subagents/child-executor-guard.js.map +0 -1
  415. package/dist/runtime/subagents/context-builder.d.ts.map +0 -1
  416. package/dist/runtime/subagents/context-builder.js.map +0 -1
  417. package/dist/runtime/subagents/index.d.ts.map +0 -1
  418. package/dist/runtime/subagents/index.js.map +0 -1
  419. package/dist/runtime/subagents/parent-step-fork.d.ts.map +0 -1
  420. package/dist/runtime/subagents/parent-step-fork.js.map +0 -1
  421. package/dist/runtime/subagents/policy.d.ts.map +0 -1
  422. package/dist/runtime/subagents/policy.js.map +0 -1
  423. package/dist/runtime/subagents/presets.d.ts.map +0 -1
  424. package/dist/runtime/subagents/presets.js.map +0 -1
  425. package/dist/runtime/subagents/production.d.ts.map +0 -1
  426. package/dist/runtime/subagents/production.js.map +0 -1
  427. package/dist/runtime/subagents/provider-gate.d.ts.map +0 -1
  428. package/dist/runtime/subagents/provider-gate.js.map +0 -1
  429. package/dist/runtime/subagents/receipt-journal.d.ts.map +0 -1
  430. package/dist/runtime/subagents/receipt-journal.js.map +0 -1
  431. package/dist/runtime/subagents/research-artifact.d.ts.map +0 -1
  432. package/dist/runtime/subagents/research-artifact.js.map +0 -1
  433. package/dist/runtime/subagents/research-citation.d.ts.map +0 -1
  434. package/dist/runtime/subagents/research-citation.js.map +0 -1
  435. package/dist/runtime/subagents/research-contract.d.ts.map +0 -1
  436. package/dist/runtime/subagents/research-contract.js.map +0 -1
  437. package/dist/runtime/subagents/research-quality.d.ts.map +0 -1
  438. package/dist/runtime/subagents/research-quality.js.map +0 -1
  439. package/dist/runtime/subagents/research-renderer.d.ts.map +0 -1
  440. package/dist/runtime/subagents/research-renderer.js.map +0 -1
  441. package/dist/runtime/subagents/research-types.d.ts.map +0 -1
  442. package/dist/runtime/subagents/research-types.js.map +0 -1
  443. package/dist/runtime/subagents/result-parser.d.ts.map +0 -1
  444. package/dist/runtime/subagents/result-parser.js.map +0 -1
  445. package/dist/runtime/subagents/runner.d.ts.map +0 -1
  446. package/dist/runtime/subagents/runner.js.map +0 -1
  447. package/dist/runtime/subagents/runtime-contract.d.ts.map +0 -1
  448. package/dist/runtime/subagents/runtime-contract.js.map +0 -1
  449. package/dist/runtime/subagents/runtime-integration.d.ts.map +0 -1
  450. package/dist/runtime/subagents/runtime-integration.js.map +0 -1
  451. package/dist/runtime/subagents/supervisor.d.ts.map +0 -1
  452. package/dist/runtime/subagents/supervisor.js.map +0 -1
  453. package/dist/runtime/subagents/tool.d.ts.map +0 -1
  454. package/dist/runtime/subagents/tool.js.map +0 -1
  455. package/dist/runtime/subagents/types.d.ts.map +0 -1
  456. package/dist/runtime/subagents/types.js.map +0 -1
  457. package/dist/runtime/subagents/web-research-adapter.d.ts.map +0 -1
  458. package/dist/runtime/subagents/web-research-adapter.js.map +0 -1
  459. package/dist/runtime/task-context-service.d.ts.map +0 -1
  460. package/dist/runtime/task-context-service.js.map +0 -1
  461. package/dist/runtime/thread-admission.d.ts.map +0 -1
  462. package/dist/runtime/thread-admission.js.map +0 -1
  463. package/dist/runtime/thread-compact-persistence.d.ts.map +0 -1
  464. package/dist/runtime/thread-compact-persistence.js.map +0 -1
  465. package/dist/runtime/thread-event-store.d.ts.map +0 -1
  466. package/dist/runtime/thread-event-store.js.map +0 -1
  467. package/dist/runtime/thread-projection.d.ts.map +0 -1
  468. package/dist/runtime/thread-projection.js.map +0 -1
  469. package/dist/runtime/thread-runtime.d.ts.map +0 -1
  470. package/dist/runtime/thread-runtime.js.map +0 -1
  471. package/dist/runtime/thread-session-index.d.ts.map +0 -1
  472. package/dist/runtime/thread-session-index.js.map +0 -1
  473. package/dist/runtime/thread-session-view.d.ts.map +0 -1
  474. package/dist/runtime/thread-session-view.js.map +0 -1
  475. package/dist/runtime/thread-tool-journal.d.ts.map +0 -1
  476. package/dist/runtime/thread-tool-journal.js.map +0 -1
  477. package/dist/runtime/thread-ui-adapter.d.ts.map +0 -1
  478. package/dist/runtime/thread-ui-adapter.js.map +0 -1
  479. package/dist/runtime/tool-detail-repository.d.ts.map +0 -1
  480. package/dist/runtime/tool-detail-repository.js.map +0 -1
  481. package/dist/runtime/tool-gateway.d.ts.map +0 -1
  482. package/dist/runtime/tool-gateway.js.map +0 -1
  483. package/dist/runtime/tool-output-presentation.d.ts.map +0 -1
  484. package/dist/runtime/tool-output-presentation.js.map +0 -1
  485. package/dist/runtime/tool-receipt-validator.d.ts.map +0 -1
  486. package/dist/runtime/tool-receipt-validator.js.map +0 -1
  487. package/dist/runtime/turn-commit.d.ts.map +0 -1
  488. package/dist/runtime/turn-commit.js.map +0 -1
  489. package/dist/runtime/turn-controller.d.ts.map +0 -1
  490. package/dist/runtime/turn-controller.js.map +0 -1
  491. package/dist/runtime/ui-events.d.ts.map +0 -1
  492. package/dist/runtime/ui-events.js.map +0 -1
  493. package/dist/runtime/ui-view-model.d.ts.map +0 -1
  494. package/dist/runtime/ui-view-model.js.map +0 -1
  495. package/dist/services/atomic-write.d.ts.map +0 -1
  496. package/dist/services/atomic-write.js.map +0 -1
  497. package/dist/services/auth/auth.d.ts.map +0 -1
  498. package/dist/services/auth/auth.js.map +0 -1
  499. package/dist/services/auth/aws.d.ts.map +0 -1
  500. package/dist/services/auth/aws.js.map +0 -1
  501. package/dist/services/auth/index.d.ts.map +0 -1
  502. package/dist/services/auth/index.js.map +0 -1
  503. package/dist/services/auto-fix/autoFixConfig.d.ts.map +0 -1
  504. package/dist/services/auto-fix/autoFixConfig.js.map +0 -1
  505. package/dist/services/auto-fix/autoFixHook.d.ts.map +0 -1
  506. package/dist/services/auto-fix/autoFixHook.js.map +0 -1
  507. package/dist/services/auto-fix/autoFixRunner.d.ts.map +0 -1
  508. package/dist/services/auto-fix/autoFixRunner.js.map +0 -1
  509. package/dist/services/auto-fix/index.d.ts.map +0 -1
  510. package/dist/services/auto-fix/index.js.map +0 -1
  511. package/dist/services/bounded-response.d.ts.map +0 -1
  512. package/dist/services/bounded-response.js.map +0 -1
  513. package/dist/services/commit-plan.d.ts.map +0 -1
  514. package/dist/services/commit-plan.js.map +0 -1
  515. package/dist/services/compact/auto-compact.d.ts.map +0 -1
  516. package/dist/services/compact/auto-compact.js.map +0 -1
  517. package/dist/services/compact/compact.d.ts.map +0 -1
  518. package/dist/services/compact/compact.js.map +0 -1
  519. package/dist/services/compact/coordinator.d.ts.map +0 -1
  520. package/dist/services/compact/coordinator.js.map +0 -1
  521. package/dist/services/compact/fingerprint.d.ts.map +0 -1
  522. package/dist/services/compact/fingerprint.js.map +0 -1
  523. package/dist/services/compact/index.d.ts.map +0 -1
  524. package/dist/services/compact/index.js.map +0 -1
  525. package/dist/services/compact/planner.d.ts.map +0 -1
  526. package/dist/services/compact/planner.js.map +0 -1
  527. package/dist/services/compact/semantic-summary.d.ts.map +0 -1
  528. package/dist/services/compact/semantic-summary.js.map +0 -1
  529. package/dist/services/compact/summary-generator.d.ts.map +0 -1
  530. package/dist/services/compact/summary-generator.js.map +0 -1
  531. package/dist/services/compact/tool-call-groups.d.ts.map +0 -1
  532. package/dist/services/compact/tool-call-groups.js.map +0 -1
  533. package/dist/services/concurrent-sessions.d.ts.map +0 -1
  534. package/dist/services/concurrent-sessions.js.map +0 -1
  535. package/dist/services/config-dir.d.ts.map +0 -1
  536. package/dist/services/config-dir.js.map +0 -1
  537. package/dist/services/config.d.ts.map +0 -1
  538. package/dist/services/config.js.map +0 -1
  539. package/dist/services/diagnostic-tracking/diagnosticTracking.d.ts.map +0 -1
  540. package/dist/services/diagnostic-tracking/diagnosticTracking.js.map +0 -1
  541. package/dist/services/diagnostic-tracking/formatter.d.ts.map +0 -1
  542. package/dist/services/diagnostic-tracking/formatter.js.map +0 -1
  543. package/dist/services/diagnostic-tracking/index.d.ts.map +0 -1
  544. package/dist/services/diagnostic-tracking/index.js.map +0 -1
  545. package/dist/services/diagnostic-tracking/types.d.ts.map +0 -1
  546. package/dist/services/diagnostic-tracking/types.js.map +0 -1
  547. package/dist/services/doctor.d.ts.map +0 -1
  548. package/dist/services/doctor.js.map +0 -1
  549. package/dist/services/effort.d.ts.map +0 -1
  550. package/dist/services/effort.js.map +0 -1
  551. package/dist/services/file-context.d.ts.map +0 -1
  552. package/dist/services/file-context.js.map +0 -1
  553. package/dist/services/file-glob.d.ts.map +0 -1
  554. package/dist/services/file-glob.js.map +0 -1
  555. package/dist/services/file-lock.d.ts.map +0 -1
  556. package/dist/services/file-lock.js.map +0 -1
  557. package/dist/services/format.d.ts.map +0 -1
  558. package/dist/services/format.js.map +0 -1
  559. package/dist/services/global-config.d.ts.map +0 -1
  560. package/dist/services/global-config.js.map +0 -1
  561. package/dist/services/goal-storage.d.ts.map +0 -1
  562. package/dist/services/goal-storage.js.map +0 -1
  563. package/dist/services/llm.d.ts.map +0 -1
  564. package/dist/services/llm.js.map +0 -1
  565. package/dist/services/mcp/index.d.ts.map +0 -1
  566. package/dist/services/mcp/index.js.map +0 -1
  567. package/dist/services/mcp/transports.d.ts.map +0 -1
  568. package/dist/services/mcp/transports.js.map +0 -1
  569. package/dist/services/memory.d.ts.map +0 -1
  570. package/dist/services/memory.js.map +0 -1
  571. package/dist/services/model-catalog.d.ts.map +0 -1
  572. package/dist/services/model-catalog.js.map +0 -1
  573. package/dist/services/model-client-pool.d.ts.map +0 -1
  574. package/dist/services/model-client-pool.js.map +0 -1
  575. package/dist/services/model-context.d.ts.map +0 -1
  576. package/dist/services/model-context.js.map +0 -1
  577. package/dist/services/model-registry.d.ts.map +0 -1
  578. package/dist/services/model-registry.js.map +0 -1
  579. package/dist/services/project-instructions.d.ts.map +0 -1
  580. package/dist/services/project-instructions.js.map +0 -1
  581. package/dist/services/prompt-context.d.ts.map +0 -1
  582. package/dist/services/prompt-context.js.map +0 -1
  583. package/dist/services/provider-diagnostics.d.ts.map +0 -1
  584. package/dist/services/provider-diagnostics.js.map +0 -1
  585. package/dist/services/provider-resilience/circuit-breaker.d.ts.map +0 -1
  586. package/dist/services/provider-resilience/circuit-breaker.js.map +0 -1
  587. package/dist/services/provider-resilience/coordinator.d.ts.map +0 -1
  588. package/dist/services/provider-resilience/coordinator.js.map +0 -1
  589. package/dist/services/provider-resilience/error-classifier.d.ts.map +0 -1
  590. package/dist/services/provider-resilience/error-classifier.js.map +0 -1
  591. package/dist/services/provider-resilience/index.d.ts.map +0 -1
  592. package/dist/services/provider-resilience/index.js.map +0 -1
  593. package/dist/services/provider-resilience/request-gate.d.ts.map +0 -1
  594. package/dist/services/provider-resilience/request-gate.js.map +0 -1
  595. package/dist/services/provider-resilience/stream-recovery.d.ts.map +0 -1
  596. package/dist/services/provider-resilience/stream-recovery.js.map +0 -1
  597. package/dist/services/provider-resilience/types.d.ts.map +0 -1
  598. package/dist/services/provider-resilience/types.js.map +0 -1
  599. package/dist/services/redaction.d.ts.map +0 -1
  600. package/dist/services/redaction.js.map +0 -1
  601. package/dist/services/safe-project-reader.d.ts.map +0 -1
  602. package/dist/services/safe-project-reader.js.map +0 -1
  603. package/dist/services/session-index.d.ts.map +0 -1
  604. package/dist/services/session-index.js.map +0 -1
  605. package/dist/services/session-memory/index.d.ts.map +0 -1
  606. package/dist/services/session-memory/index.js.map +0 -1
  607. package/dist/services/session-memory/prompts.d.ts.map +0 -1
  608. package/dist/services/session-memory/prompts.js.map +0 -1
  609. package/dist/services/session-memory/sessionMemory.d.ts.map +0 -1
  610. package/dist/services/session-memory/sessionMemory.js.map +0 -1
  611. package/dist/services/session-storage.d.ts.map +0 -1
  612. package/dist/services/session-storage.js.map +0 -1
  613. package/dist/services/settings-coordinator.d.ts.map +0 -1
  614. package/dist/services/settings-coordinator.js.map +0 -1
  615. package/dist/services/settings-document-repository.d.ts.map +0 -1
  616. package/dist/services/settings-document-repository.js.map +0 -1
  617. package/dist/services/smart-routing.d.ts.map +0 -1
  618. package/dist/services/smart-routing.js.map +0 -1
  619. package/dist/services/storage-maintenance.d.ts.map +0 -1
  620. package/dist/services/storage-maintenance.js.map +0 -1
  621. package/dist/services/tool-allowlist.d.ts.map +0 -1
  622. package/dist/services/tool-allowlist.js.map +0 -1
  623. package/dist/services/usage-state.d.ts.map +0 -1
  624. package/dist/services/usage-state.js.map +0 -1
  625. package/dist/services/verification-profile.d.ts.map +0 -1
  626. package/dist/services/verification-profile.js.map +0 -1
  627. package/dist/services/web-search-adapters.d.ts.map +0 -1
  628. package/dist/services/web-search-adapters.js.map +0 -1
  629. package/dist/services/web-search-mcp.d.ts.map +0 -1
  630. package/dist/services/web-search-mcp.js.map +0 -1
  631. package/dist/services/web-search-provider.d.ts.map +0 -1
  632. package/dist/services/web-search-provider.js.map +0 -1
  633. package/dist/services/workspace-containment.d.ts.map +0 -1
  634. package/dist/services/workspace-containment.js.map +0 -1
  635. package/dist/services/workspace-diff.d.ts.map +0 -1
  636. package/dist/services/workspace-diff.js.map +0 -1
  637. package/dist/services/workspace-registry.d.ts.map +0 -1
  638. package/dist/services/workspace-registry.js.map +0 -1
  639. package/dist/services/workspace-state.d.ts.map +0 -1
  640. package/dist/services/workspace-state.js.map +0 -1
  641. package/dist/services/yaml-config.d.ts.map +0 -1
  642. package/dist/services/yaml-config.js.map +0 -1
  643. package/dist/terminal-ui/completion.d.ts.map +0 -1
  644. package/dist/terminal-ui/completion.js.map +0 -1
  645. package/dist/terminal-ui/editor.d.ts.map +0 -1
  646. package/dist/terminal-ui/editor.js.map +0 -1
  647. package/dist/terminal-ui/launch.d.ts.map +0 -1
  648. package/dist/terminal-ui/launch.js.map +0 -1
  649. package/dist/terminal-ui/output-queue.d.ts.map +0 -1
  650. package/dist/terminal-ui/output-queue.js.map +0 -1
  651. package/dist/terminal-ui/raw-editor.d.ts.map +0 -1
  652. package/dist/terminal-ui/raw-editor.js.map +0 -1
  653. package/dist/tools/_validate.d.ts.map +0 -1
  654. package/dist/tools/_validate.js.map +0 -1
  655. package/dist/tools/bash_security.d.ts.map +0 -1
  656. package/dist/tools/bash_security.js.map +0 -1
  657. package/dist/tools/core/common.d.ts.map +0 -1
  658. package/dist/tools/core/common.js.map +0 -1
  659. package/dist/tools/core/edit-file.d.ts.map +0 -1
  660. package/dist/tools/core/edit-file.js.map +0 -1
  661. package/dist/tools/core/exec-command.d.ts.map +0 -1
  662. package/dist/tools/core/exec-command.js.map +0 -1
  663. package/dist/tools/core/glob.d.ts.map +0 -1
  664. package/dist/tools/core/glob.js.map +0 -1
  665. package/dist/tools/core/grep.d.ts.map +0 -1
  666. package/dist/tools/core/grep.js.map +0 -1
  667. package/dist/tools/core/index.d.ts.map +0 -1
  668. package/dist/tools/core/index.js.map +0 -1
  669. package/dist/tools/core/list-files.d.ts.map +0 -1
  670. package/dist/tools/core/list-files.js.map +0 -1
  671. package/dist/tools/core/read-file.d.ts.map +0 -1
  672. package/dist/tools/core/read-file.js.map +0 -1
  673. package/dist/tools/core/write-file.d.ts.map +0 -1
  674. package/dist/tools/core/write-file.js.map +0 -1
  675. package/dist/tools/git.d.ts.map +0 -1
  676. package/dist/tools/git.js.map +0 -1
  677. package/dist/tools/lsp.d.ts.map +0 -1
  678. package/dist/tools/lsp.js.map +0 -1
  679. package/dist/tools/sandbox.d.ts.map +0 -1
  680. package/dist/tools/sandbox.js.map +0 -1
  681. package/dist/tools/todo.d.ts.map +0 -1
  682. package/dist/tools/todo.js.map +0 -1
  683. package/dist/tools/web.d.ts.map +0 -1
  684. package/dist/tools/web.js.map +0 -1
  685. package/dist/tui-core/frame.d.ts.map +0 -1
  686. package/dist/tui-core/frame.js.map +0 -1
  687. package/dist/tui-core/input-parser.d.ts.map +0 -1
  688. package/dist/tui-core/input-parser.js.map +0 -1
  689. package/dist/tui-core/style.d.ts.map +0 -1
  690. package/dist/tui-core/style.js.map +0 -1
  691. package/dist/tui-core/terminal-writer.d.ts.map +0 -1
  692. package/dist/tui-core/terminal-writer.js.map +0 -1
  693. package/dist/tui-ui/chrome-view-model.d.ts.map +0 -1
  694. package/dist/tui-ui/chrome-view-model.js.map +0 -1
  695. package/dist/tui-ui/inline-surface.d.ts.map +0 -1
  696. package/dist/tui-ui/inline-surface.js.map +0 -1
  697. package/dist/tui-ui/input-ownership.d.ts.map +0 -1
  698. package/dist/tui-ui/input-ownership.js.map +0 -1
  699. package/dist/tui-ui/launch.d.ts.map +0 -1
  700. package/dist/tui-ui/launch.js.map +0 -1
  701. package/dist/tui-ui/layout.d.ts.map +0 -1
  702. package/dist/tui-ui/layout.js.map +0 -1
  703. package/dist/tui-ui/pickers.d.ts.map +0 -1
  704. package/dist/tui-ui/pickers.js.map +0 -1
  705. package/dist/tui-ui/pixel-mascot.d.ts.map +0 -1
  706. package/dist/tui-ui/pixel-mascot.js.map +0 -1
  707. package/dist/tui-ui/render-scheduler.d.ts.map +0 -1
  708. package/dist/tui-ui/render-scheduler.js.map +0 -1
  709. package/dist/tui-ui/runner.d.ts.map +0 -1
  710. package/dist/tui-ui/runner.js.map +0 -1
  711. package/dist/tui-ui/state.d.ts.map +0 -1
  712. package/dist/tui-ui/state.js.map +0 -1
  713. package/dist/tui-ui/terminal-image.d.ts.map +0 -1
  714. package/dist/tui-ui/terminal-image.js.map +0 -1
  715. package/dist/tui-ui/theme-profile.d.ts.map +0 -1
  716. package/dist/tui-ui/theme-profile.js.map +0 -1
  717. package/dist/tui-ui/theme.d.ts.map +0 -1
  718. package/dist/tui-ui/theme.js.map +0 -1
  719. package/dist/tui-ui/transcript-cache.d.ts.map +0 -1
  720. package/dist/tui-ui/transcript-cache.js.map +0 -1
  721. package/dist/tui-ui/transcript-inspector-layout.d.ts.map +0 -1
  722. package/dist/tui-ui/transcript-inspector-layout.js.map +0 -1
  723. package/dist/tui-ui/transcript-inspector-surface.d.ts.map +0 -1
  724. package/dist/tui-ui/transcript-inspector-surface.js.map +0 -1
  725. package/dist/tui-ui/transcript-inspector.d.ts.map +0 -1
  726. package/dist/tui-ui/transcript-inspector.js.map +0 -1
  727. package/dist/tui-ui/transcript-layout.d.ts.map +0 -1
  728. package/dist/tui-ui/transcript-layout.js.map +0 -1
  729. package/dist/ui/box.d.ts.map +0 -1
  730. package/dist/ui/box.js.map +0 -1
  731. package/dist/ui/command-panel.d.ts.map +0 -1
  732. package/dist/ui/command-panel.js.map +0 -1
  733. package/dist/ui/file-completion.d.ts.map +0 -1
  734. package/dist/ui/file-completion.js.map +0 -1
  735. package/dist/ui/markdown.d.ts.map +0 -1
  736. package/dist/ui/markdown.js.map +0 -1
  737. package/dist/ui/multiline-input.d.ts.map +0 -1
  738. package/dist/ui/multiline-input.js.map +0 -1
  739. package/dist/ui/progress.d.ts.map +0 -1
  740. package/dist/ui/progress.js.map +0 -1
  741. package/dist/ui/shared/command-palette.d.ts.map +0 -1
  742. package/dist/ui/shared/command-palette.js.map +0 -1
  743. package/dist/ui/shared/command-suggestions.d.ts.map +0 -1
  744. package/dist/ui/shared/command-suggestions.js.map +0 -1
  745. package/dist/ui/shared/input-frame.d.ts.map +0 -1
  746. package/dist/ui/shared/input-frame.js.map +0 -1
  747. package/dist/ui/shared/text.d.ts.map +0 -1
  748. package/dist/ui/shared/text.js.map +0 -1
  749. package/dist/ui/shared/types.d.ts.map +0 -1
  750. package/dist/ui/shared/types.js.map +0 -1
  751. package/dist/ui/status-bar.d.ts.map +0 -1
  752. package/dist/ui/status-bar.js.map +0 -1
  753. package/dist/ui/stream-markdown.d.ts.map +0 -1
  754. package/dist/ui/stream-markdown.js.map +0 -1
  755. package/dist/ui/suggestions.d.ts.map +0 -1
  756. package/dist/ui/suggestions.js.map +0 -1
  757. package/dist/ui/tool-preview.d.ts.map +0 -1
  758. package/dist/ui/tool-preview.js.map +0 -1
  759. package/dist/ui/user-input.d.ts.map +0 -1
  760. package/dist/ui/user-input.js.map +0 -1
  761. package/dist/utils/debug-log.d.ts.map +0 -1
  762. package/dist/utils/debug-log.js.map +0 -1
  763. package/dist/utils/errors.d.ts.map +0 -1
  764. package/dist/utils/errors.js.map +0 -1
  765. package/dist/utils/json.d.ts.map +0 -1
  766. package/dist/utils/json.js.map +0 -1
  767. package/dist/utils/mask.d.ts.map +0 -1
  768. package/dist/utils/mask.js.map +0 -1
  769. package/dist/utils/observability.d.ts.map +0 -1
  770. package/dist/utils/observability.js.map +0 -1
  771. package/dist/utils/token-estimate.d.ts.map +0 -1
  772. package/dist/utils/token-estimate.js.map +0 -1
  773. package/dist/web/errors.d.ts.map +0 -1
  774. package/dist/web/errors.js.map +0 -1
  775. package/dist/web/event-hub.d.ts.map +0 -1
  776. package/dist/web/event-hub.js.map +0 -1
  777. package/dist/web/file-read-service.d.ts.map +0 -1
  778. package/dist/web/file-read-service.js.map +0 -1
  779. package/dist/web/git-read-model-service.d.ts.map +0 -1
  780. package/dist/web/git-read-model-service.js.map +0 -1
  781. package/dist/web/index.d.ts.map +0 -1
  782. package/dist/web/index.js.map +0 -1
  783. package/dist/web/launch.d.ts.map +0 -1
  784. package/dist/web/launch.js.map +0 -1
  785. package/dist/web/protocol.d.ts.map +0 -1
  786. package/dist/web/protocol.js.map +0 -1
  787. package/dist/web/review-service.d.ts.map +0 -1
  788. package/dist/web/review-service.js.map +0 -1
  789. package/dist/web/server.d.ts.map +0 -1
  790. package/dist/web/server.js.map +0 -1
  791. package/dist/web/terminal-manager.d.ts.map +0 -1
  792. package/dist/web/terminal-manager.js.map +0 -1
  793. package/dist/web/terminal-server.d.ts.map +0 -1
  794. package/dist/web/terminal-server.js.map +0 -1
  795. package/dist/web/workbench-controller.d.ts.map +0 -1
  796. package/dist/web/workbench-controller.js.map +0 -1
  797. package/dist/web-client/assets/FilesPanel-BkoLmgjR.js +0 -2
  798. package/dist/web-client/assets/ReviewPanel-3MVWbMQV.js +0 -1
  799. package/dist/web-client/assets/index-BkIDl_xk.js +0 -16
  800. package/dist/web-client/assets/index-DXMpnWE8.css +0 -1
@@ -4,9 +4,11 @@ exports.WebProtocolError = exports.WEB_MAX_BODY_BYTES = exports.WEB_USER_GESTURE
4
4
  exports.parseWebSettingsUpdate = parseWebSettingsUpdate;
5
5
  exports.parseWebOpenSettingsDocument = parseWebOpenSettingsDocument;
6
6
  exports.parseWebContextActivate = parseWebContextActivate;
7
+ exports.parseWebComposerAction = parseWebComposerAction;
7
8
  exports.parseWebCommand = parseWebCommand;
8
9
  exports.toAgentRuntimeInput = toAgentRuntimeInput;
9
10
  exports.projectSessionSummary = projectSessionSummary;
11
+ const canonical_1 = require("../runtime/protocol/canonical");
10
12
  exports.WEB_API_VERSION = 1;
11
13
  exports.WEB_NONCE_HEADER = 'x-orion-web-nonce';
12
14
  exports.WEB_USER_GESTURE_HEADER = 'x-orion-user-gesture';
@@ -59,15 +61,145 @@ function parseWebContextActivate(value) {
59
61
  const sessionId = row.sessionId === null ? null : requireBoundedString(row.sessionId, 'sessionId', 256);
60
62
  return Object.freeze({ requestId, expectedContextRevision, workspaceId, sessionId });
61
63
  }
64
+ function parseWebComposerAction(value) {
65
+ const row = requireRecord(value, 'Composer action request');
66
+ const type = requireEnum(row.type, 'type', [
67
+ 'set_agent_mode',
68
+ 'set_permission_override',
69
+ 'clear_permission_override',
70
+ 'select_model',
71
+ 'compact_context',
72
+ 'review_plan',
73
+ 'edit_queue_item',
74
+ 'move_queue_item',
75
+ 'remove_queue_item',
76
+ ]);
77
+ const baseKeys = [
78
+ 'requestId',
79
+ 'workspaceId',
80
+ 'expectedContextRevision',
81
+ 'expectedSessionId',
82
+ 'expectedSessionRuntimeRevision',
83
+ 'expectedControlRevision',
84
+ 'type',
85
+ ];
86
+ const keysByType = {
87
+ set_agent_mode: ['mode'],
88
+ set_permission_override: ['value'],
89
+ clear_permission_override: [],
90
+ select_model: ['modelId', 'effort'],
91
+ compact_context: [],
92
+ review_plan: ['planDigest', 'action', 'feedback'],
93
+ edit_queue_item: ['itemId', 'expectedItemRevision', 'text'],
94
+ move_queue_item: ['itemId', 'expectedItemRevision', 'targetIndex'],
95
+ remove_queue_item: ['itemId', 'expectedItemRevision'],
96
+ };
97
+ assertOnlyKeys(row, [...baseKeys, ...keysByType[type]], 'Composer action');
98
+ const requestId = requireUuidString(row.requestId, 'requestId');
99
+ const workspaceId = requireUuidString(row.workspaceId, 'workspaceId');
100
+ const expectedContextRevision = requireUuidString(row.expectedContextRevision, 'expectedContextRevision');
101
+ const expectedSessionId = requireUuidString(row.expectedSessionId, 'expectedSessionId');
102
+ const expectedSessionRuntimeRevision = requireUuidString(row.expectedSessionRuntimeRevision, 'expectedSessionRuntimeRevision');
103
+ const expectedControlRevision = requireUuidString(row.expectedControlRevision, 'expectedControlRevision');
104
+ const base = {
105
+ requestId,
106
+ workspaceId,
107
+ expectedContextRevision,
108
+ expectedSessionId,
109
+ expectedSessionRuntimeRevision,
110
+ expectedControlRevision,
111
+ };
112
+ switch (type) {
113
+ case 'set_agent_mode':
114
+ return Object.freeze({
115
+ ...base,
116
+ type,
117
+ mode: requireEnum(row.mode, 'mode', ['interactive', 'plan', 'auto']),
118
+ });
119
+ case 'set_permission_override':
120
+ return Object.freeze({
121
+ ...base,
122
+ type,
123
+ value: requireEnum(row.value, 'value', ['ask', 'allow', 'deny']),
124
+ });
125
+ case 'clear_permission_override':
126
+ case 'compact_context':
127
+ return Object.freeze({ ...base, type });
128
+ case 'select_model':
129
+ return Object.freeze({
130
+ ...base,
131
+ type,
132
+ modelId: requireBoundedString(row.modelId, 'modelId', 256),
133
+ ...(row.effort === undefined
134
+ ? {}
135
+ : {
136
+ effort: requireEnum(row.effort, 'effort', [
137
+ 'auto',
138
+ 'none',
139
+ 'minimal',
140
+ 'low',
141
+ 'medium',
142
+ 'high',
143
+ 'xhigh',
144
+ 'max',
145
+ ]),
146
+ }),
147
+ });
148
+ case 'review_plan': {
149
+ const action = requireEnum(row.action, 'action', ['approve', 'continue', 'cancel']);
150
+ const feedback = row.feedback === undefined
151
+ ? undefined
152
+ : requireBoundedString(row.feedback, 'feedback', exports.WEB_MAX_BODY_BYTES);
153
+ if (action === 'continue' && !feedback) {
154
+ throw new WebProtocolError('continue plan review requires feedback');
155
+ }
156
+ if (action !== 'continue' && feedback) {
157
+ throw new WebProtocolError('feedback is accepted only when continuing plan review');
158
+ }
159
+ return Object.freeze({
160
+ ...base,
161
+ type,
162
+ planDigest: requireBoundedString(row.planDigest, 'planDigest', 128),
163
+ action,
164
+ ...(feedback ? { feedback } : {}),
165
+ });
166
+ }
167
+ case 'edit_queue_item':
168
+ return Object.freeze({
169
+ ...base,
170
+ type,
171
+ itemId: requireBoundedString(row.itemId, 'itemId', 256),
172
+ expectedItemRevision: requirePositiveInteger(row.expectedItemRevision, 'expectedItemRevision'),
173
+ text: requireBoundedString(row.text, 'text', exports.WEB_MAX_BODY_BYTES),
174
+ });
175
+ case 'move_queue_item':
176
+ return Object.freeze({
177
+ ...base,
178
+ type,
179
+ itemId: requireBoundedString(row.itemId, 'itemId', 256),
180
+ expectedItemRevision: requirePositiveInteger(row.expectedItemRevision, 'expectedItemRevision'),
181
+ targetIndex: requireNonNegativeInteger(row.targetIndex, 'targetIndex'),
182
+ });
183
+ case 'remove_queue_item':
184
+ return Object.freeze({
185
+ ...base,
186
+ type,
187
+ itemId: requireBoundedString(row.itemId, 'itemId', 256),
188
+ expectedItemRevision: requirePositiveInteger(row.expectedItemRevision, 'expectedItemRevision'),
189
+ });
190
+ }
191
+ }
62
192
  function parseWebSettingsUpdateValue(value) {
63
193
  const row = requireRecord(value, 'Settings request');
64
- assertOnlyKeys(row, ['requestId', 'expectedRevision', 'operations'], 'settings');
194
+ assertOnlyKeys(row, ['requestId', 'workspaceId', 'expectedContextRevision', 'expectedRevision', 'operations'], 'settings');
65
195
  if (Buffer.byteLength(JSON.stringify(row), 'utf8') > SETTINGS_MAX_BODY_BYTES) {
66
196
  throw new WebProtocolError(`Settings request exceeds ${SETTINGS_MAX_BODY_BYTES} bytes`);
67
197
  }
68
198
  const requestId = requireBoundedString(row.requestId, 'requestId', 128);
69
199
  if (!UUID_PATTERN.test(requestId))
70
200
  throw new WebProtocolError('requestId must be a UUID');
201
+ const workspaceId = requireUuidString(row.workspaceId, 'workspaceId');
202
+ const expectedContextRevision = requireUuidString(row.expectedContextRevision, 'expectedContextRevision');
71
203
  const expectedRevision = requireBoundedString(row.expectedRevision, 'expectedRevision', 128);
72
204
  if (!SETTINGS_REVISION_PATTERN.test(expectedRevision)) {
73
205
  throw new WebProtocolError('expectedRevision is not a valid Settings revision');
@@ -88,6 +220,8 @@ function parseWebSettingsUpdateValue(value) {
88
220
  });
89
221
  return Object.freeze({
90
222
  requestId,
223
+ workspaceId,
224
+ expectedContextRevision,
91
225
  expectedRevision,
92
226
  operations: Object.freeze(operations),
93
227
  });
@@ -96,6 +230,7 @@ function parseSettingsOperation(value, index) {
96
230
  const row = requireRecord(value, `operations[${index}]`);
97
231
  const op = requireEnum(row.op, `operations[${index}].op`, ['set', 'unset']);
98
232
  const key = requireEnum(row.key, `operations[${index}].key`, [
233
+ 'appearance.style',
99
234
  'appearance.theme',
100
235
  'appearance.motion',
101
236
  'defaults.model',
@@ -109,6 +244,15 @@ function parseSettingsOperation(value, index) {
109
244
  throw new WebProtocolError(`operations[${index}].value is required for set`);
110
245
  }
111
246
  switch (key) {
247
+ case 'appearance.style':
248
+ return {
249
+ op,
250
+ key,
251
+ value: requireEnum(row.value, `operations[${index}].value`, [
252
+ 'classic',
253
+ 'orion-blocksmith',
254
+ ]),
255
+ };
112
256
  case 'appearance.theme':
113
257
  return {
114
258
  op,
@@ -158,9 +302,13 @@ function parseWebCommand(value) {
158
302
  const row = requireRecord(value, 'Command body');
159
303
  assertOnlyKeys(row, [
160
304
  'requestId',
305
+ 'workspaceId',
306
+ 'expectedContextRevision',
161
307
  'expectedSessionId',
308
+ 'expectedSessionRuntimeRevision',
162
309
  'type',
163
310
  'text',
311
+ 'queueId',
164
312
  'itemId',
165
313
  'requestPermissionId',
166
314
  'approved',
@@ -169,11 +317,18 @@ function parseWebCommand(value) {
169
317
  'objective',
170
318
  'toolConfirmation',
171
319
  'agentMode',
320
+ 'contextReferences',
172
321
  ]);
173
322
  const requestId = requireBoundedString(row.requestId, 'requestId', 128);
174
- const expectedSessionId = requireBoundedString(row.expectedSessionId, 'expectedSessionId', 256);
323
+ if (!UUID_PATTERN.test(requestId))
324
+ throw new WebProtocolError('requestId must be a UUID');
325
+ const workspaceId = requireUuidString(row.workspaceId, 'workspaceId');
326
+ const expectedContextRevision = requireUuidString(row.expectedContextRevision, 'expectedContextRevision');
327
+ const expectedSessionId = requireUuidString(row.expectedSessionId, 'expectedSessionId');
328
+ const expectedSessionRuntimeRevision = requireUuidString(row.expectedSessionRuntimeRevision, 'expectedSessionRuntimeRevision');
175
329
  const type = requireEnum(row.type, 'type', [
176
330
  'submit',
331
+ 'cancel_queued_turn',
177
332
  'queue_followup',
178
333
  'remove_followup',
179
334
  'clear_followups',
@@ -186,11 +341,15 @@ function parseWebCommand(value) {
186
341
  ]);
187
342
  const command = {
188
343
  requestId,
344
+ workspaceId,
345
+ expectedContextRevision,
189
346
  expectedSessionId,
347
+ expectedSessionRuntimeRevision,
190
348
  type,
191
349
  ...(row.text === undefined
192
350
  ? {}
193
351
  : { text: requireBoundedString(row.text, 'text', exports.WEB_MAX_BODY_BYTES) }),
352
+ ...(row.queueId === undefined ? {} : { queueId: requireUuidString(row.queueId, 'queueId') }),
194
353
  ...(row.itemId === undefined
195
354
  ? {}
196
355
  : { itemId: requireBoundedString(row.itemId, 'itemId', 256) }),
@@ -235,6 +394,9 @@ function parseWebCommand(value) {
235
394
  'auto',
236
395
  ]),
237
396
  }),
397
+ ...(row.contextReferences === undefined
398
+ ? {}
399
+ : { contextReferences: parseContextReferences(row.contextReferences) }),
238
400
  };
239
401
  validateCommandFields(command);
240
402
  return Object.freeze(command);
@@ -243,6 +405,8 @@ function toAgentRuntimeInput(command) {
243
405
  switch (command.type) {
244
406
  case 'submit':
245
407
  return { type: 'submit', text: command.text, source: 'programmatic' };
408
+ case 'cancel_queued_turn':
409
+ throw new WebProtocolError('cancel_queued_turn is handled by the Web Session registry');
246
410
  case 'queue_followup':
247
411
  return { type: 'queue_followup', text: command.text, source: 'programmatic' };
248
412
  case 'remove_followup':
@@ -293,6 +457,12 @@ function projectSessionSummary(session) {
293
457
  createdAt,
294
458
  updatedAt,
295
459
  messageCount: session.messageCount ?? 0,
460
+ contextDigest: session.threadReadModel?.projectionDigest ??
461
+ (0, canonical_1.digestRuntimeValue)({
462
+ sessionId: session.id,
463
+ updatedAt,
464
+ messageCount: session.messageCount ?? 0,
465
+ }),
296
466
  ...(session.taskSummary ? { taskSummary: session.taskSummary } : {}),
297
467
  ...(session.activeGoalId ? { activeGoalId: session.activeGoalId } : {}),
298
468
  ...(session.activeGoalObjective ? { activeGoalObjective: session.activeGoalObjective } : {}),
@@ -311,9 +481,17 @@ function goalControlInput(command) {
311
481
  return { type: 'goal_control', action, source: 'programmatic' };
312
482
  }
313
483
  function validateCommandFields(command) {
484
+ if (command.contextReferences?.length &&
485
+ command.type !== 'submit' &&
486
+ command.type !== 'queue_followup') {
487
+ throw new WebProtocolError('contextReferences are only valid for submit or queue_followup');
488
+ }
314
489
  if ((command.type === 'submit' || command.type === 'queue_followup') && !command.text?.trim()) {
315
490
  throw new WebProtocolError(`${command.type} requires non-empty text`);
316
491
  }
492
+ if (command.type === 'cancel_queued_turn' && !command.queueId) {
493
+ throw new WebProtocolError('cancel_queued_turn requires queueId');
494
+ }
317
495
  if (command.type === 'remove_followup' && !command.itemId) {
318
496
  throw new WebProtocolError('remove_followup requires itemId');
319
497
  }
@@ -335,6 +513,53 @@ function validateCommandFields(command) {
335
513
  throw new WebProtocolError('set_agent_mode requires agentMode');
336
514
  }
337
515
  }
516
+ function parseContextReferences(value) {
517
+ if (!Array.isArray(value) || value.length > 20) {
518
+ throw new WebProtocolError('contextReferences must contain at most 20 entries');
519
+ }
520
+ const seen = new Set();
521
+ return Object.freeze(value.map((entry, index) => {
522
+ const row = requireRecord(entry, `contextReferences[${index}]`);
523
+ const kind = requireEnum(row.kind, `contextReferences[${index}].kind`, [
524
+ 'file',
525
+ 'folder',
526
+ 'review',
527
+ 'session',
528
+ 'skill',
529
+ ]);
530
+ const id = requireBoundedString(row.id, `contextReferences[${index}].id`, 256);
531
+ if (seen.has(`${kind}:${id}`)) {
532
+ throw new WebProtocolError(`Duplicate Context reference: ${kind}:${id}`);
533
+ }
534
+ seen.add(`${kind}:${id}`);
535
+ const label = requireBoundedString(row.label, `contextReferences[${index}].label`, 200);
536
+ if (kind === 'file' || kind === 'folder') {
537
+ assertOnlyKeys(row, ['kind', 'id', 'label', 'revision'], 'Context reference');
538
+ return Object.freeze({
539
+ kind,
540
+ id,
541
+ label,
542
+ revision: requireBoundedString(row.revision, `contextReferences[${index}].revision`, 256),
543
+ });
544
+ }
545
+ if (kind === 'review') {
546
+ assertOnlyKeys(row, ['kind', 'id', 'label', 'gitRevision'], 'Context reference');
547
+ return Object.freeze({
548
+ kind,
549
+ id,
550
+ label,
551
+ gitRevision: requireBoundedString(row.gitRevision, `contextReferences[${index}].gitRevision`, 256),
552
+ });
553
+ }
554
+ assertOnlyKeys(row, ['kind', 'id', 'label', 'digest'], 'Context reference');
555
+ return Object.freeze({
556
+ kind,
557
+ id,
558
+ label,
559
+ digest: requireBoundedString(row.digest, `contextReferences[${index}].digest`, 128),
560
+ });
561
+ }));
562
+ }
338
563
  function requireRecord(value, name) {
339
564
  if (!value || typeof value !== 'object' || Array.isArray(value)) {
340
565
  throw new WebProtocolError(`${name} must be an object`);
@@ -355,6 +580,24 @@ function requireBoundedString(value, name, maxLength) {
355
580
  throw new WebProtocolError(`${name} exceeds ${maxLength} bytes`);
356
581
  return value;
357
582
  }
583
+ function requireUuidString(value, name) {
584
+ const result = requireBoundedString(value, name, 128);
585
+ if (!UUID_PATTERN.test(result))
586
+ throw new WebProtocolError(`${name} must be a UUID`);
587
+ return result;
588
+ }
589
+ function requireNonNegativeInteger(value, name) {
590
+ if (!Number.isSafeInteger(value) || value < 0) {
591
+ throw new WebProtocolError(`${name} must be a non-negative safe integer`);
592
+ }
593
+ return value;
594
+ }
595
+ function requirePositiveInteger(value, name) {
596
+ if (!Number.isSafeInteger(value) || value <= 0) {
597
+ throw new WebProtocolError(`${name} must be a positive safe integer`);
598
+ }
599
+ return value;
600
+ }
358
601
  function requireBoolean(value, name) {
359
602
  if (typeof value !== 'boolean')
360
603
  throw new WebProtocolError(`${name} must be a boolean`);
@@ -20,6 +20,7 @@ export interface WebReviewSnapshotV1 {
20
20
  readonly isRepository: boolean;
21
21
  readonly clean: boolean;
22
22
  readonly changedFiles: readonly WebGitFileV1[];
23
+ readonly totalChangedFiles: number;
23
24
  readonly stagedCount: number;
24
25
  readonly unstagedCount: number;
25
26
  readonly untrackedCount: number;
@@ -45,6 +45,7 @@ class ReviewServiceV1 {
45
45
  isRepository: status.isRepository,
46
46
  clean: status.clean,
47
47
  changedFiles: Object.freeze(changedFiles),
48
+ totalChangedFiles: status.totalFiles,
48
49
  stagedCount: status.staged.length,
49
50
  unstagedCount: status.unstaged.length,
50
51
  untrackedCount: status.untracked.length,
@@ -55,14 +55,28 @@ async function startOrionWebServer(options) {
55
55
  return closing;
56
56
  closing = (async () => {
57
57
  clearInterval(heartbeat);
58
- await terminalSockets.close();
59
- await workbench.shutdown();
60
- await closeServer(server);
58
+ const failures = [];
59
+ await captureCloseFailure(failures, () => terminalSockets.close());
60
+ await captureCloseFailure(failures, () => workbench.shutdown());
61
+ await captureCloseFailure(failures, () => closeServer(server));
62
+ if (failures.length > 0) {
63
+ const error = new Error('Orion Web Host shutdown was incomplete.');
64
+ Object.defineProperty(error, 'failures', { value: Object.freeze([...failures]) });
65
+ throw error;
66
+ }
61
67
  })();
62
68
  return closing;
63
69
  };
64
70
  return Object.freeze({ host: HOST, port, url: origin, nonce, workbench, server, close });
65
71
  }
72
+ async function captureCloseFailure(failures, operation) {
73
+ try {
74
+ await operation();
75
+ }
76
+ catch (error) {
77
+ failures.push(error);
78
+ }
79
+ }
66
80
  async function handleRequest(context) {
67
81
  const { request, response } = context;
68
82
  applySecurityHeaders(response, context.nonce);
@@ -87,19 +101,21 @@ async function handleRequest(context) {
87
101
  return;
88
102
  }
89
103
  if (method === 'GET' && path === '/workspaces') {
90
- sendJson(response, 200, collectionPage(url, 'workspaces', context.workbench.listWorkspaces(), workspace => workspace.id));
104
+ const contextGuard = requireContextGuardQuery(url);
105
+ sendJson(response, 200, collectionPage(url, 'workspaces', context.workbench.listWorkspaces(contextGuard), workspace => workspace.id));
91
106
  return;
92
107
  }
93
108
  const workspaceSessionsMatch = path.match(/^\/workspaces\/([^/]+)\/sessions$/);
94
109
  if (method === 'GET' && workspaceSessionsMatch) {
95
110
  const workspaceId = safeDecodePathSegment(workspaceSessionsMatch[1]);
96
- sendJson(response, 200, collectionPage(url, `workspace-sessions-${workspaceId}`, context.workbench.listWorkspaceSessions(workspaceId), session => session.id));
111
+ const contextGuard = requireContextGuardQuery(url);
112
+ sendJson(response, 200, collectionPage(url, `workspace-sessions-${workspaceId}`, context.workbench.listWorkspaceSessions(workspaceId, contextGuard), session => session.id));
97
113
  return;
98
114
  }
99
115
  const workspaceSummaryMatch = path.match(/^\/workspaces\/([^/]+)\/summary$/);
100
116
  if (method === 'GET' && workspaceSummaryMatch) {
101
117
  const workspaceId = requireUuid(safeDecodePathSegment(workspaceSummaryMatch[1]), 'workspaceId');
102
- sendJson(response, 200, await context.workbench.workspaceProjectSummary(workspaceId));
118
+ sendJson(response, 200, await context.workbench.workspaceProjectSummary(workspaceId, requireContextGuardQuery(url)));
103
119
  return;
104
120
  }
105
121
  const workspacePinMatch = path.match(/^\/workspaces\/([^/]+)\/pin$/);
@@ -208,7 +224,43 @@ async function handleRequest(context) {
208
224
  const snapshotMatch = path.match(/^\/sessions\/([^/]+)\/snapshot$/);
209
225
  if (method === 'GET' && snapshotMatch) {
210
226
  const contextGuard = requireContextGuardQuery(url);
211
- sendJson(response, 200, context.workbench.sessionSnapshot(safeDecodePathSegment(snapshotMatch[1]), url.searchParams.get('cursor') ?? undefined, pageSize(url), url.searchParams.get('tail') === '1', contextGuard));
227
+ sendJson(response, 200, context.workbench.sessionSnapshot(safeDecodePathSegment(snapshotMatch[1]), url.searchParams.get('cursor') ?? undefined, pageSize(url),
228
+ // A recovery snapshot starts at the latest bounded transcript page and
229
+ // pages backward. Older clients did not send the internal `tail=1`
230
+ // hint, so absence must still use the indexed tail path rather than
231
+ // reopening and replaying the complete Thread.
232
+ url.searchParams.get('tail') !== '0', contextGuard));
233
+ return;
234
+ }
235
+ const composerStateMatch = path.match(/^\/sessions\/([^/]+)\/composer-state$/);
236
+ if (method === 'GET' && composerStateMatch) {
237
+ const contextGuard = requireContextGuardQuery(url);
238
+ sendJson(response, 200, context.workbench.composerState(safeDecodePathSegment(composerStateMatch[1]), contextGuard));
239
+ return;
240
+ }
241
+ const modelCatalogMatch = path.match(/^\/sessions\/([^/]+)\/model-catalog$/);
242
+ if (method === 'GET' && modelCatalogMatch) {
243
+ const contextGuard = requireContextGuardQuery(url);
244
+ const sessionId = safeDecodePathSegment(modelCatalogMatch[1]);
245
+ const catalog = context.workbench.modelCatalog(sessionId, contextGuard);
246
+ const page = (0, workbench_controller_1.pageCollectionItems)('composer_models', catalog.models, url.searchParams.get('cursor') ?? undefined, pageSize(url), model => model.id);
247
+ sendJson(response, 200, {
248
+ revision: catalog.revision,
249
+ unavailableProviders: catalog.unavailableProviders,
250
+ ...page,
251
+ });
252
+ return;
253
+ }
254
+ const composerActionMatch = path.match(/^\/sessions\/([^/]+)\/composer-actions$/);
255
+ if (method === 'POST' && composerActionMatch) {
256
+ assertMutation(request, context.nonce, context.origin);
257
+ const sessionId = safeDecodePathSegment(composerActionMatch[1]);
258
+ const body = (0, protocol_1.parseWebComposerAction)(await readJson(request));
259
+ if (body.expectedSessionId !== sessionId) {
260
+ throw new protocol_1.WebProtocolError('expectedSessionId must match the Composer action route');
261
+ }
262
+ const result = await context.workbench.executeMutation(body.requestId, 'composer.action', body, () => context.workbench.applyComposerAction(body));
263
+ sendJson(response, 200, result);
212
264
  return;
213
265
  }
214
266
  const sessionMatch = path.match(/^\/sessions\/([^/]+)$/);
@@ -218,7 +270,7 @@ async function handleRequest(context) {
218
270
  assertOnlyKeys(body, ['requestId', 'name', 'expectedContextRevision', 'workspaceId']);
219
271
  const requestId = requireUuid(body.requestId, 'requestId');
220
272
  const contextGuard = requireContextGuardRecord(body);
221
- const name = typeof body.name === 'string' ? body.name : '';
273
+ const name = requireText(body.name, 'name', 120);
222
274
  const sessionId = safeDecodePathSegment(sessionMatch[1]);
223
275
  const result = await context.workbench.executeMutation(requestId, 'session.rename', { sessionId, name, ...contextGuard }, () => ({
224
276
  requestId,
@@ -239,7 +291,12 @@ async function handleRequest(context) {
239
291
  if (method === 'PATCH' && path === '/settings') {
240
292
  assertMutation(request, context.nonce, context.origin, 'settings_write_forbidden');
241
293
  const body = (0, protocol_1.parseWebSettingsUpdate)(await readJson(request));
242
- const result = await context.workbench.executeMutation(body.requestId, 'settings.update', { expectedRevision: body.expectedRevision, operations: body.operations }, async () => ({ requestId: body.requestId, ...(await context.workbench.updateSettings(body)) }));
294
+ const result = await context.workbench.executeMutation(body.requestId, 'settings.update', {
295
+ workspaceId: body.workspaceId,
296
+ expectedContextRevision: body.expectedContextRevision,
297
+ expectedRevision: body.expectedRevision,
298
+ operations: body.operations,
299
+ }, async () => ({ requestId: body.requestId, ...(await context.workbench.updateSettings(body)) }));
243
300
  sendJson(response, 200, result);
244
301
  return;
245
302
  }
@@ -251,11 +308,13 @@ async function handleRequest(context) {
251
308
  return;
252
309
  }
253
310
  if (method === 'GET' && path === '/skills') {
254
- sendJson(response, 200, collectionPage(url, 'skills', await context.workbench.skills(), skill => skill.id));
311
+ const contextGuard = requireContextGuardQuery(url);
312
+ sendJson(response, 200, collectionPage(url, 'skills', await context.workbench.skills(contextGuard), skill => skill.id));
255
313
  return;
256
314
  }
257
315
  if (method === 'GET' && path === '/mcp') {
258
- sendJson(response, 200, collectionPage(url, 'mcp', context.workbench.mcp(), server => server.id));
316
+ const contextGuard = requireContextGuardQuery(url);
317
+ sendJson(response, 200, collectionPage(url, 'mcp', context.workbench.mcp(contextGuard), server => server.id));
259
318
  return;
260
319
  }
261
320
  if (method === 'GET' && path === '/files') {
@@ -388,18 +447,20 @@ async function handleRequest(context) {
388
447
  return;
389
448
  }
390
449
  if (method === 'GET' && path === '/tool-details') {
391
- sendJson(response, 200, collectionPage(url, 'tool-details', await context.workbench.listToolDetails(), detail => `${detail.sequence}:${detail.callId}`));
450
+ const contextGuard = requireContextGuardQuery(url);
451
+ sendJson(response, 200, collectionPage(url, 'tool-details', await context.workbench.listToolDetails(contextGuard), detail => `${detail.sequence}:${detail.callId}`));
392
452
  return;
393
453
  }
394
454
  const toolDetailMatch = path.match(/^\/tool-details\/([^/]+)$/);
395
455
  if (method === 'GET' && toolDetailMatch) {
456
+ const contextGuard = requireContextGuardQuery(url);
396
457
  const offsetBytes = boundedInteger(url.searchParams.get('offsetBytes'), 0, 0, 2 ** 31 - 1);
397
458
  const limitBytes = boundedInteger(url.searchParams.get('limitBytes'), 64 * 1024, 1, 1024 * 1024);
398
- sendJson(response, 200, await context.workbench.readToolDetail(safeDecodePathSegment(toolDetailMatch[1]), offsetBytes, limitBytes));
459
+ sendJson(response, 200, await context.workbench.readToolDetail(safeDecodePathSegment(toolDetailMatch[1]), offsetBytes, limitBytes, contextGuard));
399
460
  return;
400
461
  }
401
462
  if (method === 'GET' && path === '/diagnostics') {
402
- sendJson(response, 200, await context.workbench.diagnostics());
463
+ sendJson(response, 200, await context.workbench.diagnostics(requireContextGuardQuery(url)));
403
464
  return;
404
465
  }
405
466
  throw new HttpProblem(404, 'Route not found.');
@@ -0,0 +1,124 @@
1
+ export interface WebSessionActorKeyV1 {
2
+ readonly workspaceId: string;
3
+ readonly sessionId: string;
4
+ }
5
+ export type WebSessionActorPhaseV1 = 'cold' | 'starting' | 'idle' | 'queued' | 'running' | 'waiting_approval' | 'stopping' | 'interrupted' | 'failed';
6
+ export interface WebSessionRuntimeSummaryV1 extends WebSessionActorKeyV1 {
7
+ readonly runtimeRevision: string;
8
+ readonly phase: WebSessionActorPhaseV1;
9
+ readonly queueId?: string;
10
+ readonly queuePosition?: number;
11
+ readonly pendingApprovalCount: number;
12
+ readonly resident: boolean;
13
+ readonly estimatedBytes: number;
14
+ readonly updatedAt: string;
15
+ }
16
+ export interface WebSessionTurnStartV1<T> {
17
+ /** Synchronous command admission returned to the HTTP caller. */
18
+ readonly accepted: T;
19
+ /** Resolves only after the logical turn, including approval waits, is terminal. */
20
+ readonly settled: Promise<void>;
21
+ }
22
+ export type WebSessionTurnAdmissionV1<T> = {
23
+ readonly status: 'started';
24
+ readonly accepted: T;
25
+ readonly runtime: WebSessionRuntimeSummaryV1;
26
+ } | {
27
+ readonly status: 'queued';
28
+ readonly queueId: string;
29
+ readonly queuePosition: number;
30
+ readonly runtime: WebSessionRuntimeSummaryV1;
31
+ };
32
+ export interface WebSessionRuntimeRegistryOptionsV1<TActor extends object> {
33
+ readonly createActor: (key: WebSessionActorKeyV1) => Promise<TActor>;
34
+ /**
35
+ * Finish actor startup only after the registry owns the returned resource.
36
+ * This lets the registry quarantine and retry cleanup when initialization
37
+ * fails instead of losing the only handle to a partially started actor.
38
+ */
39
+ readonly initializeActor?: (actor: TActor, key: WebSessionActorKeyV1) => Promise<void>;
40
+ readonly closeActor: (actor: TActor, reason: string) => Promise<void>;
41
+ readonly estimateActorBytes?: (actor: TActor) => number;
42
+ readonly maxRunningSessions?: number;
43
+ readonly maxResidentSessionActors?: number;
44
+ readonly now?: () => number;
45
+ readonly createRevision?: () => string;
46
+ readonly onSummaryChanged?: (summary: WebSessionRuntimeSummaryV1) => void;
47
+ }
48
+ /**
49
+ * Bounded Web-only Session actor pool.
50
+ *
51
+ * It owns concurrency admission and actor lifetime, but deliberately knows
52
+ * nothing about React, HTTP, OrionRuntime, or TUI semantics. Callers provide a
53
+ * Session-scoped actor and a logical-turn terminal promise. This keeps Web
54
+ * parallelism out of the single-session CLI/TUI runner.
55
+ */
56
+ export declare class WebSessionRuntimeRegistryV1<TActor extends object> {
57
+ private readonly options;
58
+ private readonly records;
59
+ private readonly queue;
60
+ private readonly maxRunningSessions;
61
+ private readonly maxResidentSessionActors;
62
+ private readonly now;
63
+ private readonly createRevision;
64
+ private capacityQueue;
65
+ private ordinal;
66
+ private runningCountValue;
67
+ private closed;
68
+ constructor(options: WebSessionRuntimeRegistryOptionsV1<TActor>);
69
+ get runningCount(): number;
70
+ get residentCount(): number;
71
+ summary(key: WebSessionActorKeyV1): WebSessionRuntimeSummaryV1;
72
+ summaries(): readonly WebSessionRuntimeSummaryV1[];
73
+ /**
74
+ * Return the current resident actor without starting a cold Session.
75
+ *
76
+ * Snapshot/read paths use this to project live state while preserving the
77
+ * cold-read invariant: merely selecting or inspecting a Session must not
78
+ * allocate a Runtime or consume a running slot.
79
+ */
80
+ residentActor(key: WebSessionActorKeyV1): {
81
+ readonly actor: TActor;
82
+ readonly runtime: WebSessionRuntimeSummaryV1;
83
+ } | undefined;
84
+ ensureResident(key: WebSessionActorKeyV1, expectedRuntimeRevision?: string): Promise<{
85
+ readonly actor: TActor;
86
+ readonly runtime: WebSessionRuntimeSummaryV1;
87
+ }>;
88
+ withActor<T>(key: WebSessionActorKeyV1, expectedRuntimeRevision: string, action: (actor: TActor) => T | Promise<T>): Promise<{
89
+ readonly result: T;
90
+ readonly runtime: WebSessionRuntimeSummaryV1;
91
+ }>;
92
+ admitTurn<T>(input: {
93
+ readonly key: WebSessionActorKeyV1;
94
+ readonly expectedRuntimeRevision: string;
95
+ readonly start: (actor: TActor) => Promise<WebSessionTurnStartV1<T>>;
96
+ }): Promise<WebSessionTurnAdmissionV1<T>>;
97
+ cancelQueued(key: WebSessionActorKeyV1, queueId: string, expectedRuntimeRevision: string): WebSessionRuntimeSummaryV1;
98
+ setPendingApprovalCount(key: WebSessionActorKeyV1, count: number): WebSessionRuntimeSummaryV1;
99
+ evict(key: WebSessionActorKeyV1, reason?: string): Promise<void>;
100
+ shutdown(reason?: string): Promise<void>;
101
+ private record;
102
+ private ensureResidentLocked;
103
+ private makeCapacityLocked;
104
+ private isEvictable;
105
+ private closeResidentLocked;
106
+ private startTurn;
107
+ private finishTurn;
108
+ private drainQueue;
109
+ private publishQueuePositions;
110
+ private snapshot;
111
+ private assertRevision;
112
+ private transition;
113
+ private touch;
114
+ private bump;
115
+ private publish;
116
+ private withCapacityLock;
117
+ private assertOpen;
118
+ }
119
+ export declare class WebSessionRuntimeRegistryError extends Error {
120
+ readonly status: number;
121
+ readonly code: string;
122
+ constructor(status: number, code: string, message: string);
123
+ }
124
+ //# sourceMappingURL=session-runtime-registry.d.ts.map