@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
package/CHANGELOG.md CHANGED
@@ -22,6 +22,132 @@ 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
+
108
+ ## [0.3.2] — CANDIDATE
109
+
110
+ > **Status: candidate.** Source, API and browser qualification are being frozen together. This is
111
+ > not a Git tag, GitHub Release or npm publication until the exact-artifact receipts exist.
112
+
113
+ ### Added
114
+
115
+ - Add an IDE-style left project navigator that expands, collapses to a 48px rail and mouse-resizes
116
+ from 240–480px while preserving a 560px conversation floor and responsive drawer preferences.
117
+ - Add a Composer Control Center for BUILD/PLAN/AUTO, Session permission, model, Effort and
118
+ Runtime-projected Context usage, including pending/last-good/error/retry states.
119
+ - Add structured file/folder/review/session/Skill Context references with Host-side containment,
120
+ sensitive-data, revision, digest and prompt-budget validation.
121
+ - Add durable Plan review with exact-digest approve, continue-planning and cancel operations that
122
+ survive refresh, replay and Host restart without auto-executing an unreviewed Plan.
123
+ - Add revisioned queue edit/move/remove and Session-scoped tab-local draft recovery.
124
+ - Add the v0.3.2 OpenAPI, mode/permission contract, migration guide and exact-artifact
125
+ WEB32-P0-01..12 qualification contract.
126
+
127
+ ### Changed
128
+
129
+ - Replace the three Composer mode buttons with accessible menus and keep workflow mode independent
130
+ from tool authorization; explicit Deny and hard Policy remain stronger than AUTO or Allow.
131
+ - Make active-turn model changes deferred to the next logical request and require verified compact
132
+ before switching to a smaller safe context window, with complete rollback on failure.
133
+ - Project provider or explicitly estimated Context usage from Runtime instead of reconstructing
134
+ token capacity in the browser.
135
+
136
+ ### Fixed
137
+
138
+ - Keep the left/right desktop widths stable across narrow-screen drawers, reloads and 200% zoom;
139
+ bound controls and Context chips without covering the textarea or send action.
140
+ - Consume expected UI mutation rejections after the shared operation layer has projected the error,
141
+ preventing a deliberate 409 CAS conflict from becoming an unhandled browser page error.
142
+ - Require a matching active-session snapshot after replay reset before re-enabling the Composer.
143
+
144
+ ### Security
145
+
146
+ - Bind Composer, queue and Plan mutations to exact Workspace/Session/Context/control revisions and
147
+ fail stale operations with zero provider, ToolGateway, file or queue side effects.
148
+ - Revalidate every structured Context reference at prompt assembly and keep sensitive/raw content
149
+ out of the DOM, SSE, screenshots and release evidence.
150
+
25
151
  ## [0.3.1] — CANDIDATE
26
152
 
27
153
  > **Status: candidate.** This branch carries the v0.3 Web quality and long-session recovery fixes.
package/README.md CHANGED
@@ -2,14 +2,20 @@
2
2
 
3
3
  Local-first, goal-driven coding agent for the terminal and browser.
4
4
 
5
- > v0.3.1 candidate — one Orion runtime with a local Web Workbench, replayable browser state and
6
- > the existing TUI/terminal surfaces. Candidate source is not an npm 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.
7
8
 
8
9
  [中文说明](README.zh-CN.md) ·
9
- [v0.3.1 professional shell plan](docs/plan/v0.3.1-web-workbench-professional-shell-plan.md) ·
10
- [v0.3.1 Web API](docs/architecture/v0.3.1-web-api.yaml) ·
11
- [v0.3.1 E2E plan](docs/test/v0.3.1-web-workbench-e2e-plan.md) ·
12
- [v0.3.1 migration](docs/migration/v0.3.0-to-v0.3.1.md) ·
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) ·
16
+ [mode/permission contract](docs/architecture/agent-mode-permission-contract.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) ·
13
19
  [v0.3.0 Web plan](docs/plan/v0.3.0-web-workbench-plan.md) ·
14
20
  [Settings plan](docs/plan/v0.3.0-settings-integration-plan.md) ·
15
21
  [Node compatibility](docs/plan/v0.3.0-node-runtime-compatibility-plan.md) ·
@@ -18,19 +24,46 @@ Local-first, goal-driven coding agent for the terminal and browser.
18
24
  [Settings migration](docs/migration/v0.2.2-to-v0.3.0-settings.md) ·
19
25
  [real-state gallery](docs/assets/screenshots/v0.3.0-web/README.md)
20
26
 
21
- ## What v0.3.1 includes
22
-
23
- - **One runtime, two interactive surfaces.** `orion web` uses the same product bootstrap,
24
- AgentRuntimeController, Session/Thread stores, ToolGateway, approvals, Goals, Plans, Skills and
25
- 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.
26
53
  - **Recoverable Web workbench.** The React workbench includes workspace/session navigation,
27
54
  transcript and tool activity, BUILD/PLAN/AUTO, follow-ups, interrupt, approvals, Goal/Plan,
28
55
  model/effort settings, Skills/MCP and diagnostics. Snapshots plus cursor replay repair refreshes
29
56
  and SSE reconnects.
30
57
  - **Professional project shell.** The left navigator shows registered projects with lazy Session
31
- pages while the center remains the only Agent conversation. A resizable right dock provides
32
- Agent, Review, Terminal, Files and Git surfaces; files/Git/review are bounded read models and the
33
- terminal is an explicit, ephemeral real PTY isolated from Session history and SSE.
58
+ pages, resizes from 240–480px and collapses to a 48px rail while the center remains the only Agent
59
+ conversation. A resizable right dock provides Agent, Review, Terminal, Files and Git surfaces;
60
+ narrow screens use mutually exclusive drawers without overwriting desktop preferences.
61
+ - **Composer Control Center.** Mode, Session permission, model, Effort and Context are accessible
62
+ menus beside the textarea. Runtime current/last-good/pending/error state is explicit; active-turn
63
+ model changes defer safely and smaller-context switches run verified Compact first.
64
+ - **Reviewable plans and bounded context.** PLAN commits a durable review state and never starts
65
+ implementation before exact-digest approval. Structured file/folder/review/session/Skill refs,
66
+ revisioned queue editing and Session-scoped drafts keep prompt intent visible and recoverable.
34
67
  - **Local security boundary.** The host binds only `127.0.0.1`; writes require an exact Origin,
35
68
  process nonce, JSON body and idempotency key. Responses use a restrictive CSP, browser payloads
36
69
  are redacted, and large tool results are byte-paged instead of placed on the event stream.
@@ -80,10 +113,10 @@ user extension boundaries.
80
113
  Node.js 22.12+, 24, and 26 are supported. Use Node 24 LTS for production or Node 26 Current for
81
114
  current development environments. Node 20 is upstream EOL and is no longer a v0.3 runtime.
82
115
 
83
- After the immutable `0.3.1` npm receipt exists:
116
+ After the immutable `0.3.4` npm receipt exists:
84
117
 
85
118
  ```bash
86
- npm install -g @orion-agents/orion-code@0.3.1
119
+ npm install -g @orion-agents/orion-code@0.3.4
87
120
  orion --version
88
121
  orion doctor
89
122
  ```
@@ -160,15 +193,16 @@ the browser to select a workspace and session, run or steer work, answer approva
160
193
  runtime state. Closing or refreshing a tab leaves pending approvals owned by the runtime; stopping
161
194
  the host aborts them fail-closed.
162
195
 
163
- The browser exposes Plan receipts exactly as committed (`body`, `returnMode`, `digest`). It does not
164
- insert an extra review gate: after PLAN commits, the existing runtime restores BUILD/AUTO and starts
165
- implementation in a separate logical turn.
196
+ The browser exposes Plan receipts exactly as committed and enters a durable `awaiting_review`
197
+ state. Approve starts a separate BUILD logical request, Continue Planning starts a separate PLAN
198
+ request with feedback, and Cancel performs no execution. Each operation binds the exact plan digest
199
+ and survives refresh or Host restart; stale review actions fail with no side effects.
166
200
 
167
201
  The project navigator does not create multiple runtimes. Cross-project Session selection is one
168
- atomic, revision-guarded Context transition. The right dock is 320720px on desktop and is adjusted
169
- with an IDE-style mouse drag; there is no keyboard fine-resize control. Narrow layouts use drawers
170
- without overwriting the saved desktop width. Files, Git and Review are read-only; terminal creation
171
- requires an explicit gesture and its short-lived ticket and output never enter the Workbench SSE.
202
+ atomic, revision-guarded Context transition. The left dock is 240480px or a 48px rail; the right is
203
+ 320–720px. Both use IDE-style mouse drag where applicable and there is no keyboard fine resize.
204
+ Narrow layouts use drawers without overwriting desktop widths. Files, Git and Review are read-only;
205
+ terminal creation requires an explicit gesture and its ticket/output never enter Workbench SSE.
172
206
 
173
207
  #### Host-managed Settings
174
208
 
@@ -189,13 +223,14 @@ legacy appearance import and rollback details.
189
223
 
190
224
  ### BUILD, PLAN, AUTO
191
225
 
192
- Press `Shift+Tab` to cycle `BUILD PLAN AUTO`. The status bar and input border show the current
193
- mode. Mode controls workflow behavior; Authority, approval, containment, and sandbox policy remain
194
- independent.
226
+ Use the Composer mode menu to select `BUILD`, `PLAN` or `AUTO`; the adjacent permission menu selects
227
+ Project default, Ask, Allow or Deny. Mode controls workflow behavior while Authority, approval,
228
+ containment and sandbox policy remain independent. Allow and AUTO require explicit risk handling and
229
+ never override hard policy or explicit Deny.
195
230
 
196
231
  - **BUILD** is normal collaborative implementation.
197
232
  - **PLAN** explores with the same available tool universe, commits a decision-complete PlanReceipt,
198
- exits automatically, restores BUILD/AUTO, and starts implementation in a separate logical turn.
233
+ and waits for durable approve / continue-planning / cancel review.
199
234
  - **AUTO** removes interactive approval prompts within the configured Authority; hard policy and
200
235
  sandbox boundaries still fail closed.
201
236
 
@@ -205,7 +240,8 @@ Start a task-scoped plan with:
205
240
  /plan refactor the storage boundary and verify crash recovery
206
241
  ```
207
242
 
208
- There is no `exit_plan_mode` tool and no `/mode` command.
243
+ There is no `exit_plan_mode` tool. Web users select mode from the Composer; terminal surfaces retain
244
+ their existing mode controls.
209
245
 
210
246
  ### Durable Goal mode
211
247
 
@@ -267,10 +303,13 @@ npm run test:web-e2e -- --grep @settings
267
303
 
268
304
  Release qualification additionally builds one exact tarball and installs that unchanged hash on
269
305
  Node 22/24/26 for package identity, native SQLite, TUI, terminal, print, Web, Goal, subagent, Skill,
270
- MCP, Compact, and resume journeys. WEB31-P0-01..12 additionally qualify the multi-project shell,
271
- read-only engineering panels, real PTY and responsive/accessibility contract. See the
272
- [`v0.3.1 Web Workbench plan`](docs/plan/v0.3.1-web-workbench-professional-shell-plan.md) and
273
- [`v0.3.1 E2E qualification plan`](docs/test/v0.3.1-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.
274
313
 
275
314
  ## Security
276
315
 
package/README.zh-CN.md CHANGED
@@ -2,14 +2,19 @@
2
2
 
3
3
  面向终端与浏览器、本地优先的目标驱动 Coding Agent。
4
4
 
5
- > v0.3.1 候选版本:一套 Orion Runtime,同时提供本地 Web Workbench 与既有 TUI/terminal。
6
- > 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.1 专业工作台方案](docs/plan/v0.3.1-web-workbench-professional-shell-plan.md) ·
10
- [v0.3.1 Web API](docs/architecture/v0.3.1-web-api.yaml) ·
11
- [v0.3.1 E2E 方案](docs/test/v0.3.1-web-workbench-e2e-plan.md) ·
12
- [v0.3.1 迁移](docs/migration/v0.3.0-to-v0.3.1.md) ·
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) ·
15
+ [模式/权限合同](docs/architecture/agent-mode-permission-contract.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) ·
13
18
  [v0.3.0 Web 方案](docs/plan/v0.3.0-web-workbench-plan.md) ·
14
19
  [Settings 方案](docs/plan/v0.3.0-settings-integration-plan.md) ·
15
20
  [Node 兼容方案](docs/plan/v0.3.0-node-runtime-compatibility-plan.md) ·
@@ -18,17 +23,36 @@
18
23
  [Settings 迁移](docs/migration/v0.2.2-to-v0.3.0-settings.md) ·
19
24
  [真实状态图册](docs/assets/screenshots/v0.3.0-web/README.md)
20
25
 
21
- ## v0.3.1 包含什么
22
-
23
- - **一个 Runtime、两个交互界面。** `orion web` 与终端产品共用 product bootstrap、
24
- AgentRuntimeController、Session/Thread、ToolGateway、审批、Goal、Plan、Skills MCP;浏览器不另起
25
- 一套 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 继续作为显式内置风格提供。
26
46
  - **可恢复的 Web 工作台。** React 界面覆盖工作区/会话、对话与工具活动、BUILD/PLAN/AUTO、follow-up、
27
47
  interrupt、审批、Goal/Plan、模型/effort、Skills/MCP 和诊断。快照与 cursor replay 负责刷新和 SSE
28
48
  重连恢复。
29
49
  - **专业项目工作台。** 左侧展示已注册项目并懒加载 Session,中间仍是唯一 Agent 会话。右侧可变宽面板
30
- 提供 Agent、审阅、终端、文件和 Git;文件/Git/审阅是有界只读投影,终端是显式启动、与 Session
31
- history 和 SSE 隔离的临时真实 PTY。
50
+ 提供 Agent、审阅、终端、文件和 Git;左栏可在 240–480px 鼠标调宽或折叠为 48px rail,窄屏使用互斥
51
+ drawer 且不覆盖桌面偏好。
52
+ - **Composer Control Center。** 模式、Session 权限、模型、Effort 与 Context 都在输入框旁的可访问菜单中;
53
+ Runtime 明确投影 current/last-good/pending/error,active turn 模型切换会安全延迟,切小上下文前先 Compact。
54
+ - **可审核 Plan 与有界 Context。** PLAN 写入 durable review 后等待 exact-digest 批准;结构化文件/目录/
55
+ Review/Session/Skill 引用、带 revision 的队列编辑与 Session 草稿恢复让输入意图可见且可恢复。
32
56
  - **本地安全边界。** Host 只绑定 `127.0.0.1`;写请求必须携带精确 Origin、进程 nonce、JSON body 和
33
57
  幂等键。响应设置严格 CSP,浏览器 payload 经过脱敏,大型工具结果按字节分页读取。
34
58
  - **Host 管理的 Settings。** 外观、默认模型、工作区 Effort 与全局工具确认策略统一进入严格、带
@@ -71,10 +95,10 @@ MCP 仍是用户可见的扩展边界。
71
95
  支持 Node.js 22.12+、24 和 26。生产环境建议使用 Node 24 LTS,当前开发环境也支持 Node 26
72
96
  Current。Node 20 已结束上游维护,不再属于 v0.3 Runtime 合同。
73
97
 
74
- 当 npm 已存在不可变的 `0.3.1` 发布凭据后:
98
+ 当 npm 已存在不可变的 `0.3.4` 发布凭据后:
75
99
 
76
100
  ```bash
77
- npm install -g @orion-agents/orion-code@0.3.1
101
+ npm install -g @orion-agents/orion-code@0.3.4
78
102
  orion --version
79
103
  orion doctor
80
104
  ```
@@ -144,18 +168,19 @@ orion commit
144
168
 
145
169
  ### 本地 Web Workbench
146
170
 
147
- `orion web` 在同一个 loopback origin 提供打包后的客户端与 `/api/v1/*`,v0.3.1 不提供 LAN bind。
171
+ `orion web` 在同一个 loopback origin 提供打包后的客户端与 `/api/v1/*`,不提供 LAN bind。
148
172
  Provider 凭据仍通过 Orion 配置/环境变量管理;浏览器负责选择工作区和会话、执行或 steer 任务、回答
149
173
  审批并查看运行态。关闭或刷新 tab 不会替用户批准/拒绝,pending approval 仍由 Runtime 持有;停止
150
174
  Host 时会 abort 并 fail-closed。
151
175
 
152
- 浏览器只展示已提交 Plan receipt `body`、`returnMode`、`digest`,不会额外插入 review gate。
153
- PLAN 提交后仍由既有 Runtime 恢复 BUILD/AUTO,并在新的 logical turn 中启动实现。
176
+ 浏览器展示已提交 Plan receipt,并进入 durable `awaiting_review`。批准会创建独立 BUILD request;继续规划
177
+ 携带反馈创建独立 PLAN request;取消不产生执行副作用。三种操作均绑定 exact digest,刷新或 Host restart
178
+ 后可恢复,stale review fail-closed。
154
179
 
155
180
  多项目导航不会创建多个 Runtime;跨项目 Session 选择是一次带 revision guard 的原子 Context 切换。
156
- 桌面右栏可用 IDE 式鼠标拖动在 320–720px 间调整,不提供键盘精细调宽;窄屏自动使用 drawer,且不覆盖
157
- 桌面宽度偏好。文件、Git 和审阅保持只读;创建终端需要显式 user gesture,短期 ticket 与输出均不进入
158
- Workbench SSE。
181
+ 桌面左栏可在 240–480px 调整或折叠为 48px rail,右栏为 320–720px;均采用 IDE 式鼠标拖动且不提供
182
+ 键盘精细调宽。窄屏自动使用 drawer,且不覆盖桌面宽度偏好。文件、Git 和审阅保持只读;创建终端需要
183
+ 显式 user gesture,短期 ticket 与输出均不进入 Workbench SSE。
159
184
 
160
185
  #### Host 管理的 Settings
161
186
 
@@ -171,12 +196,13 @@ Web API,页面只显示 readiness,打开本地配置文件的动作也不接
171
196
 
172
197
  ### BUILD、PLAN、AUTO
173
198
 
174
- `Shift+Tab` 循环 `BUILDPLAN AUTO`。状态栏和输入框边框会显示当前模式。Mode 决定工作流,
175
- Authority、approval、路径边界和 sandbox policy 是独立状态轴。
199
+ 使用 Composer 模式菜单选择 `BUILD`、`PLAN` `AUTO`;旁边的权限菜单选择 Project default、Ask、
200
+ Allow 或 Deny。Mode 决定工作流,Authority、approval、路径边界和 sandbox policy 是独立状态轴;Allow
201
+ 与 AUTO 不会覆盖 hard policy 或显式 Deny。
176
202
 
177
203
  - **BUILD**:正常协作开发。
178
- - **PLAN**:使用同一套可用工具完成探索;将 decision-complete plan 写入 durable PlanReceipt;自动退出
179
- Plan、恢复 BUILD/AUTO,并在新的 logical turn 中执行。
204
+ - **PLAN**:使用同一套可用工具完成探索;将 decision-complete plan 写入 durable PlanReceipt;等待
205
+ 批准、继续规划或取消。
180
206
  - **AUTO**:在已配置 Authority 内取消交互确认;hard policy 与 sandbox 边界仍然 fail closed。
181
207
 
182
208
  任务式进入:
@@ -185,7 +211,7 @@ Authority、approval、路径边界和 sandbox policy 是独立状态轴。
185
211
  /plan 重构 storage boundary 并验证 crash recovery
186
212
  ```
187
213
 
188
- 不存在 `exit_plan_mode` 工具,也没有 `/mode` 命令。
214
+ 不存在 `exit_plan_mode` 工具。Web 通过 Composer 选择模式;终端界面保留原有模式控制。
189
215
 
190
216
  ### Durable Goal
191
217
 
@@ -244,9 +270,10 @@ npm run test:web-e2e -- --grep @settings
244
270
 
245
271
  正式准出还会只构建一次 exact tarball,并在 Node 22/24/26 安装同一个 hash,验证 package identity、
246
272
  native SQLite、TUI、terminal、print、Web、Goal、subagent、Skill、MCP、Compact 与 resume;
247
- WEB31-P0-01..12 还会验证多项目工作台、只读工程面板、真实 PTY、响应式与无障碍合同。详见
248
- [`v0.3.1 Web Workbench 方案`](docs/plan/v0.3.1-web-workbench-professional-shell-plan.md)与
249
- [`v0.3.1 E2E 资格计划`](docs/test/v0.3.1-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 当成发布凭据。
250
277
 
251
278
  ## 安全
252
279
 
@@ -408,6 +408,24 @@ async function handleModel(ctx, args) {
408
408
  if (!ctx.llm) {
409
409
  return { success: false, error: 'LLM not initialized. Configure a provider first.' };
410
410
  }
411
+ if (ctx.sessionComposerControls) {
412
+ try {
413
+ const receipt = await ctx.sessionComposerControls.selectModel({ modelId: args.trim() });
414
+ const selected = ctx.sessionComposerControls.describe().model;
415
+ write(SUCCESS(`✔ Model changed to ${BRAND(selected.modelId)}`));
416
+ write(DIM(` Context window ${formatTokenCount(selected.contextWindow)} tokens (${selected.providerLabel ?? 'configured provider'})`));
417
+ if (receipt.compacted)
418
+ write(DIM(' Context compacted before switching models.'));
419
+ write();
420
+ return result(true);
421
+ }
422
+ catch (error) {
423
+ return {
424
+ success: false,
425
+ error: error instanceof Error ? error.message : String(error),
426
+ };
427
+ }
428
+ }
411
429
  // 解析别名
412
430
  const registryProfile = resolveModelFromRegistry(ctx.config, args);
413
431
  const resolvedModel = registryProfile ? registryProfile.model : (0, model_catalog_1.resolveModelAlias)(args);
@@ -553,13 +571,35 @@ async function handlePermissions(ctx, args) {
553
571
  ctx.store.setPermissionMode('acceptEdits');
554
572
  return { success: true, output: 'Tool edit policy changed to allow-edits.' };
555
573
  }
556
- if (!['allow', 'ask', 'deny'].includes(value)) {
574
+ if (!['allow', 'ask', 'deny', 'inherit', 'default'].includes(value)) {
557
575
  return {
558
576
  success: false,
559
- error: `Unknown tool policy: ${value}. Use one of: show, ask, allow, deny, allow-edits, audit.`,
577
+ error: `Unknown tool policy: ${value}. Use one of: show, ask, allow, deny, inherit, allow-edits, audit.`,
560
578
  };
561
579
  }
562
- const toolConfirmation = value;
580
+ const toolConfirmation = ['inherit', 'default'].includes(value)
581
+ ? null
582
+ : value;
583
+ if (ctx.sessionComposerControls) {
584
+ try {
585
+ const receipt = await ctx.sessionComposerControls.setPermissionOverride(toolConfirmation);
586
+ if (snapshot.permissionMode === 'acceptEdits')
587
+ ctx.store.setPermissionMode('default');
588
+ return {
589
+ success: true,
590
+ output: `Session tool confirmation changed to ${receipt.current.effective} (${receipt.current.source}).`,
591
+ };
592
+ }
593
+ catch (error) {
594
+ return {
595
+ success: false,
596
+ error: `Tool confirmation was not changed: ${error instanceof Error ? error.message : String(error)}`,
597
+ };
598
+ }
599
+ }
600
+ if (toolConfirmation === null) {
601
+ return { success: false, error: 'Session permission inheritance is unavailable.' };
602
+ }
563
603
  try {
564
604
  await updateDurableSettings(ctx, 'permissions', [
565
605
  { op: 'set', key: 'permissions.toolConfirmation', value: toolConfirmation },
@@ -657,18 +697,23 @@ async function handleEffort(ctx, args) {
657
697
  }
658
698
  try {
659
699
  if (parsed.scope === 'session') {
660
- const activeSession = session ?? ctx.ensureSession?.();
661
- if (!activeSession) {
662
- return { success: false, error: 'Cannot persist effort without an active session.' };
700
+ if (ctx.sessionComposerControls) {
701
+ await ctx.sessionComposerControls.setEffort(parsed.preference);
663
702
  }
664
- const persisted = (0, session_storage_1.updateSessionEffort)(activeSession.id, parsed.preference);
665
- if (!persisted) {
666
- return { success: false, error: `Session ${activeSession.id} is no longer available.` };
703
+ else {
704
+ const activeSession = session ?? ctx.ensureSession?.();
705
+ if (!activeSession) {
706
+ return { success: false, error: 'Cannot persist effort without an active session.' };
707
+ }
708
+ const persisted = (0, session_storage_1.updateSessionEffort)(activeSession.id, parsed.preference);
709
+ if (!persisted) {
710
+ return { success: false, error: `Session ${activeSession.id} is no longer available.` };
711
+ }
712
+ if (persisted.effortPreference === undefined)
713
+ delete activeSession.effortPreference;
714
+ else
715
+ activeSession.effortPreference = persisted.effortPreference;
667
716
  }
668
- if (persisted.effortPreference === undefined)
669
- delete activeSession.effortPreference;
670
- else
671
- activeSession.effortPreference = persisted.effortPreference;
672
717
  }
673
718
  else {
674
719
  const key = parsed.scope === 'project'
@@ -687,7 +732,7 @@ async function handleEffort(ctx, args) {
687
732
  };
688
733
  }
689
734
  let effective = ctx.store.getSnapshot().resolvedEffort ?? current;
690
- if (parsed.scope === 'session') {
735
+ if (parsed.scope === 'session' && !ctx.sessionComposerControls) {
691
736
  effective = (0, effort_1.resolveProfileEffort)(profile, {
692
737
  session: parsed.preference,
693
738
  project: projectConfig.defaultEffort,
@@ -10,6 +10,7 @@ import type { OrionCodeCLIConfig, UIRenderer } from '../services/config';
10
10
  import type { SessionMeta } from '../services/session-storage';
11
11
  import type { CompactCoordinator } from '../services/compact';
12
12
  import type { ModelCoordinator } from '../runtime/model-coordinator';
13
+ import type { SessionComposerControlServiceV1 } from '../runtime/session-composer-control';
13
14
  import type { SessionGoalV1 } from '../runtime/goals/types';
14
15
  import type { OrionRuntimeDiagnosticsV1 } from '../runtime/orion-runtime-v1';
15
16
  import type { ThreadSessionRuntimeActivationV1 } from '../runtime/thread-session-view';
@@ -25,6 +26,8 @@ export interface CommandContext {
25
26
  compactCoordinator?: CompactCoordinator;
26
27
  /** Transactional model/profile switch owner. */
27
28
  modelCoordinator?: ModelCoordinator;
29
+ /** Shared Session-scoped model/effort/permission authority used by Web and slash commands. */
30
+ sessionComposerControls?: SessionComposerControlServiceV1;
28
31
  /** 当前会话 ID(用于记录消息) */
29
32
  sessionId?: string;
30
33
  /** Lazily create or return the active session. */
@@ -69,6 +72,9 @@ export interface CommandContext {
69
72
  updateSettings?: (input: RuntimeSettingsMutationV1) => Promise<SettingsUpdateResultV1>;
70
73
  /** Execute explicit compaction through the v0.2 maintenance transaction. */
71
74
  compact?: (input: import('../runtime/agent-runtime-runner').AgentRuntimeCompactInputV1) => Promise<import('../runtime/agent-runtime-runner').AgentRuntimeCompactResultV1>;
75
+ /** Resolve the latest durable Plan review through the active Session runtime. */
76
+ reviewPlan?: NonNullable<import('../runtime/agent-runtime-runner').AgentRuntimeRunnerV1['reviewPlan']>;
77
+ getPlanReviewState?: NonNullable<import('../runtime/agent-runtime-runner').AgentRuntimeRunnerV1['planReviewState']>;
72
78
  }
73
79
  /** 命令执行结果 */
74
80
  export interface CommandResult {
@@ -1,6 +1,6 @@
1
1
  /** Handler implementations for the workflow-command-handlers boundary. */
2
2
  import { type CommandContext, type CommandResult } from './types';
3
- declare function handlePlan(ctx: CommandContext, args: string): CommandResult;
3
+ declare function handlePlan(ctx: CommandContext, args: string): Promise<CommandResult>;
4
4
  declare function handleDiff(ctx: CommandContext, args: string): CommandResult;
5
5
  declare function handleCommitPlan(ctx: CommandContext, args: string): CommandResult;
6
6
  declare function continueAsSlashChat(name: string, args: string): CommandResult;