@orion-agents/orion-code 0.3.2 → 0.3.7

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 (834) hide show
  1. package/CHANGELOG.md +207 -0
  2. package/README.md +102 -18
  3. package/README.zh-CN.md +40 -16
  4. package/dist/commands/context-tool-command-handlers.js +1 -5
  5. package/dist/commands/registry.js +1 -4
  6. package/dist/harness/intent.js +69 -16
  7. package/dist/harness/turn-summary.js +3 -1
  8. package/dist/memory/embeddings.js +2 -3
  9. package/dist/memory/prompts.js +1 -1
  10. package/dist/memory/relevant-finder.js +125 -15
  11. package/dist/memory/vector-store.js +13 -8
  12. package/dist/migration/migrate.js +8 -12
  13. package/dist/runtime/agent-runtime-controller.d.ts +1 -0
  14. package/dist/runtime/agent-runtime-controller.js +92 -41
  15. package/dist/runtime/capability-receipt-journal.js +1 -1
  16. package/dist/runtime/composer/history.js +1 -3
  17. package/dist/runtime/composer/layout.js +7 -4
  18. package/dist/runtime/durable-tool-receipt-reader.js +1 -1
  19. package/dist/runtime/legacy-thread-materializer.d.ts +3 -1
  20. package/dist/runtime/legacy-thread-materializer.js +17 -5
  21. package/dist/runtime/orion-runtime-v1.d.ts +2 -1
  22. package/dist/runtime/orion-runtime-v1.js +18 -16
  23. package/dist/runtime/orion-session-runner.d.ts +2 -0
  24. package/dist/runtime/orion-session-runner.js +12 -4
  25. package/dist/runtime/product-bootstrap.d.ts +18 -0
  26. package/dist/runtime/product-bootstrap.js +402 -335
  27. package/dist/runtime/product-orion-runtime.d.ts +5 -0
  28. package/dist/runtime/product-orion-runtime.js +2 -0
  29. package/dist/runtime/release-receipts.d.ts +7 -3
  30. package/dist/runtime/release-receipts.js +79 -1
  31. package/dist/runtime/rich-text/ansi-parser.js +12 -2
  32. package/dist/runtime/rich-text/layout.js +15 -19
  33. package/dist/runtime/step-snapshot.d.ts +12 -0
  34. package/dist/runtime/step-snapshot.js +14 -1
  35. package/dist/runtime/subagent-thread-runtime.js +1 -1
  36. package/dist/runtime/subagents/budget.js +4 -1
  37. package/dist/runtime/subagents/policy.js +11 -4
  38. package/dist/runtime/subagents/provider-gate.js +6 -4
  39. package/dist/runtime/subagents/research-quality.js +3 -1
  40. package/dist/runtime/subagents/research-renderer.js +9 -2
  41. package/dist/runtime/subagents/result-parser.js +18 -7
  42. package/dist/runtime/thread-event-store.d.ts +14 -3
  43. package/dist/runtime/thread-event-store.js +77 -20
  44. package/dist/runtime/thread-projection.d.ts +36 -0
  45. package/dist/runtime/thread-projection.js +54 -1
  46. package/dist/runtime/thread-runtime.d.ts +2 -2
  47. package/dist/runtime/thread-runtime.js +2 -2
  48. package/dist/runtime/thread-session-index.d.ts +17 -1
  49. package/dist/runtime/thread-session-index.js +89 -6
  50. package/dist/runtime/thread-session-view.d.ts +4 -1
  51. package/dist/runtime/thread-session-view.js +5 -2
  52. package/dist/runtime/thread-ui-adapter.js +10 -3
  53. package/dist/runtime/tool-gateway.js +1 -0
  54. package/dist/runtime/tool-output-presentation.js +7 -7
  55. package/dist/runtime/turn-commit.js +1 -1
  56. package/dist/runtime/turn-controller.js +1 -2
  57. package/dist/runtime/ui-events.d.ts +3 -0
  58. package/dist/runtime/workspace-runtime-kernel.d.ts +67 -0
  59. package/dist/runtime/workspace-runtime-kernel.js +148 -0
  60. package/dist/services/auth/auth.js +1 -4
  61. package/dist/services/auth/aws.js +24 -14
  62. package/dist/services/auto-fix/autoFixRunner.js +1 -1
  63. package/dist/services/auto-fix/index.d.ts +1 -1
  64. package/dist/services/diagnostic-tracking/diagnosticTracking.js +4 -2
  65. package/dist/services/diagnostic-tracking/index.d.ts +1 -1
  66. package/dist/services/effort.js +1 -9
  67. package/dist/services/file-glob.js +3 -4
  68. package/dist/services/global-config.d.ts +2 -0
  69. package/dist/services/global-config.js +7 -1
  70. package/dist/services/mcp/transports.js +4 -4
  71. package/dist/services/model-catalog.js +179 -30
  72. package/dist/services/model-context.js +1 -1
  73. package/dist/services/provider-resilience/coordinator.d.ts +3 -1
  74. package/dist/services/provider-resilience/coordinator.js +23 -1
  75. package/dist/services/provider-resilience/request-gate.js +7 -2
  76. package/dist/services/provider-resilience/stream-recovery.js +1 -3
  77. package/dist/services/redaction.js +19 -2
  78. package/dist/services/session-storage.d.ts +28 -3
  79. package/dist/services/session-storage.js +70 -6
  80. package/dist/services/settings-coordinator.d.ts +3 -1
  81. package/dist/services/settings-coordinator.js +40 -8
  82. package/dist/services/settings-document-repository.d.ts +8 -1
  83. package/dist/services/settings-document-repository.js +22 -1
  84. package/dist/services/smart-routing.js +19 -11
  85. package/dist/services/verification-profile.js +17 -22
  86. package/dist/services/web-search-provider.js +21 -9
  87. package/dist/services/workspace-diff.js +10 -4
  88. package/dist/skills/builtin/code-review/SKILL.md +1 -1
  89. package/dist/skills/builtin/security-check/SKILL.md +1 -1
  90. package/dist/skills/builtin/test-gen/SKILL.md +1 -1
  91. package/dist/terminal-ui/editor.js +6 -2
  92. package/dist/terminal-ui/output-queue.js +9 -3
  93. package/dist/tools/lsp.js +12 -6
  94. package/dist/tui-core/frame.js +9 -7
  95. package/dist/tui-ui/transcript-cache.js +6 -6
  96. package/dist/tui-ui/transcript-inspector-layout.js +13 -6
  97. package/dist/tui-ui/transcript-inspector-surface.js +4 -1
  98. package/dist/tui-ui/transcript-inspector.js +3 -8
  99. package/dist/ui/box.js +14 -7
  100. package/dist/ui/markdown.js +4 -2
  101. package/dist/ui/shared/input-frame.js +12 -8
  102. package/dist/ui/stream-markdown.js +1 -1
  103. package/dist/ui/tool-preview.js +11 -3
  104. package/dist/ui/user-input.js +16 -10
  105. package/dist/web/event-hub.d.ts +2 -0
  106. package/dist/web/event-hub.js +43 -6
  107. package/dist/web/file-read-service.d.ts +2 -0
  108. package/dist/web/file-read-service.js +39 -12
  109. package/dist/web/git-read-model-service.js +7 -0
  110. package/dist/web/protocol.d.ts +53 -3
  111. package/dist/web/protocol.js +39 -2
  112. package/dist/web/review-service.d.ts +1 -0
  113. package/dist/web/review-service.js +1 -0
  114. package/dist/web/server.js +99 -6
  115. package/dist/web/session-runtime-registry.d.ts +138 -0
  116. package/dist/web/session-runtime-registry.js +471 -0
  117. package/dist/web/terminal-manager.js +23 -4
  118. package/dist/web/terminal-server.js +35 -6
  119. package/dist/web/workbench-controller.d.ts +82 -3
  120. package/dist/web/workbench-controller.js +771 -138
  121. package/dist/web/workspace-mutation-arbiter.d.ts +54 -0
  122. package/dist/web/workspace-mutation-arbiter.js +267 -0
  123. package/dist/web-client/assets/{DiffViewer-eaQNsnCh.js → DiffViewer-DqbZ02RN.js} +1 -1
  124. package/dist/web-client/assets/FilesPanel-Bu1Ab2kJ.js +2 -0
  125. package/dist/web-client/assets/{GitPanel-CnU4XVr7.js → GitPanel-BixIWb4k.js} +1 -1
  126. package/dist/web-client/assets/ReviewPanel-DsqJpku_.js +1 -0
  127. package/dist/web-client/assets/{TerminalPanel-Q5mSSsoK.js → TerminalPanel-DdjQP2mp.js} +14 -14
  128. package/dist/web-client/assets/index-30GT9Vnx.js +17 -0
  129. package/dist/web-client/assets/index-DQfpqPTD.css +1 -0
  130. package/dist/web-client/index.html +4 -4
  131. package/docs/architecture/v0.3.3-web-api.yaml +3205 -0
  132. package/docs/architecture/v0.3.4-stabilization-contract.md +32 -0
  133. package/docs/migration/v0.3.2-to-v0.3.3.md +62 -0
  134. package/docs/migration/v0.3.3-to-v0.3.4.md +36 -0
  135. package/docs/plan/v0.3.3-plan.md +1113 -0
  136. package/docs/plan/v0.3.4-stabilization-plan.md +89 -0
  137. package/docs/test/v0.3.3-web-workbench-e2e-plan.md +79 -0
  138. package/docs/test/v0.3.4-stabilization-e2e-plan.md +54 -0
  139. package/npm-shrinkwrap.json +379 -143
  140. package/package.json +12 -1
  141. package/dist/cli.d.ts.map +0 -1
  142. package/dist/cli.js.map +0 -1
  143. package/dist/commands/context-commands.d.ts.map +0 -1
  144. package/dist/commands/context-commands.js.map +0 -1
  145. package/dist/commands/context-tool-command-handlers.d.ts.map +0 -1
  146. package/dist/commands/context-tool-command-handlers.js.map +0 -1
  147. package/dist/commands/core-command-handlers.d.ts.map +0 -1
  148. package/dist/commands/core-command-handlers.js.map +0 -1
  149. package/dist/commands/diagnostic-command-handlers.d.ts.map +0 -1
  150. package/dist/commands/diagnostic-command-handlers.js.map +0 -1
  151. package/dist/commands/diagnostic-commands.d.ts.map +0 -1
  152. package/dist/commands/diagnostic-commands.js.map +0 -1
  153. package/dist/commands/index.d.ts.map +0 -1
  154. package/dist/commands/index.js.map +0 -1
  155. package/dist/commands/model-command-handlers.d.ts.map +0 -1
  156. package/dist/commands/model-command-handlers.js.map +0 -1
  157. package/dist/commands/model-commands.d.ts.map +0 -1
  158. package/dist/commands/model-commands.js.map +0 -1
  159. package/dist/commands/parser.d.ts.map +0 -1
  160. package/dist/commands/parser.js.map +0 -1
  161. package/dist/commands/registry.d.ts.map +0 -1
  162. package/dist/commands/registry.js.map +0 -1
  163. package/dist/commands/session-command-handlers.d.ts.map +0 -1
  164. package/dist/commands/session-command-handlers.js.map +0 -1
  165. package/dist/commands/session-commands.d.ts.map +0 -1
  166. package/dist/commands/session-commands.js.map +0 -1
  167. package/dist/commands/system-commands.d.ts.map +0 -1
  168. package/dist/commands/system-commands.js.map +0 -1
  169. package/dist/commands/target-command.d.ts.map +0 -1
  170. package/dist/commands/target-command.js.map +0 -1
  171. package/dist/commands/tool-commands.d.ts.map +0 -1
  172. package/dist/commands/tool-commands.js.map +0 -1
  173. package/dist/commands/types.d.ts.map +0 -1
  174. package/dist/commands/types.js.map +0 -1
  175. package/dist/commands/workflow-command-handlers.d.ts.map +0 -1
  176. package/dist/commands/workflow-command-handlers.js.map +0 -1
  177. package/dist/commands/workflow-commands.d.ts.map +0 -1
  178. package/dist/commands/workflow-commands.js.map +0 -1
  179. package/dist/core/checkpoint.d.ts.map +0 -1
  180. package/dist/core/checkpoint.js.map +0 -1
  181. package/dist/core/cost-tracker.d.ts.map +0 -1
  182. package/dist/core/cost-tracker.js.map +0 -1
  183. package/dist/core/security-warning.d.ts.map +0 -1
  184. package/dist/core/security-warning.js.map +0 -1
  185. package/dist/core/strategy-tracker.d.ts.map +0 -1
  186. package/dist/core/strategy-tracker.js.map +0 -1
  187. package/dist/core/tool-artifacts.d.ts.map +0 -1
  188. package/dist/core/tool-artifacts.js.map +0 -1
  189. package/dist/core/warn-dedup.d.ts.map +0 -1
  190. package/dist/core/warn-dedup.js.map +0 -1
  191. package/dist/framework/agent-mode.d.ts.map +0 -1
  192. package/dist/framework/agent-mode.js.map +0 -1
  193. package/dist/framework/external-assertion.d.ts.map +0 -1
  194. package/dist/framework/external-assertion.js.map +0 -1
  195. package/dist/framework/index.d.ts.map +0 -1
  196. package/dist/framework/index.js.map +0 -1
  197. package/dist/framework/loop-budget-contract.d.ts.map +0 -1
  198. package/dist/framework/loop-budget-contract.js.map +0 -1
  199. package/dist/framework/prompt.d.ts.map +0 -1
  200. package/dist/framework/prompt.js.map +0 -1
  201. package/dist/framework/query.d.ts.map +0 -1
  202. package/dist/framework/query.js.map +0 -1
  203. package/dist/framework/stop-decision.d.ts.map +0 -1
  204. package/dist/framework/stop-decision.js.map +0 -1
  205. package/dist/framework/store.d.ts.map +0 -1
  206. package/dist/framework/store.js.map +0 -1
  207. package/dist/framework/tool-call-orchestrator.d.ts.map +0 -1
  208. package/dist/framework/tool-call-orchestrator.js.map +0 -1
  209. package/dist/framework/tool-serializer.d.ts.map +0 -1
  210. package/dist/framework/tool-serializer.js.map +0 -1
  211. package/dist/framework/tool-state.d.ts.map +0 -1
  212. package/dist/framework/tool-state.js.map +0 -1
  213. package/dist/framework/tool.d.ts.map +0 -1
  214. package/dist/framework/tool.js.map +0 -1
  215. package/dist/harness/assembler.d.ts.map +0 -1
  216. package/dist/harness/assembler.js.map +0 -1
  217. package/dist/harness/capability-profile.d.ts.map +0 -1
  218. package/dist/harness/capability-profile.js.map +0 -1
  219. package/dist/harness/capsule.d.ts.map +0 -1
  220. package/dist/harness/capsule.js.map +0 -1
  221. package/dist/harness/compact-benchmark-corpus.d.ts.map +0 -1
  222. package/dist/harness/compact-benchmark-corpus.js.map +0 -1
  223. package/dist/harness/context-harness.d.ts.map +0 -1
  224. package/dist/harness/context-harness.js.map +0 -1
  225. package/dist/harness/contract.d.ts.map +0 -1
  226. package/dist/harness/contract.js.map +0 -1
  227. package/dist/harness/drift-guard.d.ts.map +0 -1
  228. package/dist/harness/drift-guard.js.map +0 -1
  229. package/dist/harness/evidence.d.ts.map +0 -1
  230. package/dist/harness/evidence.js.map +0 -1
  231. package/dist/harness/index.d.ts.map +0 -1
  232. package/dist/harness/index.js.map +0 -1
  233. package/dist/harness/intent.d.ts.map +0 -1
  234. package/dist/harness/intent.js.map +0 -1
  235. package/dist/harness/ledger.d.ts.map +0 -1
  236. package/dist/harness/ledger.js.map +0 -1
  237. package/dist/harness/progress-controller.d.ts.map +0 -1
  238. package/dist/harness/progress-controller.js.map +0 -1
  239. package/dist/harness/state.d.ts.map +0 -1
  240. package/dist/harness/state.js.map +0 -1
  241. package/dist/harness/stop-controller.d.ts.map +0 -1
  242. package/dist/harness/stop-controller.js.map +0 -1
  243. package/dist/harness/turn-summary.d.ts.map +0 -1
  244. package/dist/harness/turn-summary.js.map +0 -1
  245. package/dist/harness/types.d.ts.map +0 -1
  246. package/dist/harness/types.js.map +0 -1
  247. package/dist/harness/verification.d.ts.map +0 -1
  248. package/dist/harness/verification.js.map +0 -1
  249. package/dist/index.d.ts.map +0 -1
  250. package/dist/index.js.map +0 -1
  251. package/dist/memory/embeddings.d.ts.map +0 -1
  252. package/dist/memory/embeddings.js.map +0 -1
  253. package/dist/memory/entrypoint.d.ts.map +0 -1
  254. package/dist/memory/entrypoint.js.map +0 -1
  255. package/dist/memory/index.d.ts.map +0 -1
  256. package/dist/memory/index.js.map +0 -1
  257. package/dist/memory/prompt-context.d.ts.map +0 -1
  258. package/dist/memory/prompt-context.js.map +0 -1
  259. package/dist/memory/prompts.d.ts.map +0 -1
  260. package/dist/memory/prompts.js.map +0 -1
  261. package/dist/memory/relevant-finder.d.ts.map +0 -1
  262. package/dist/memory/relevant-finder.js.map +0 -1
  263. package/dist/memory/semantic-config.d.ts.map +0 -1
  264. package/dist/memory/semantic-config.js.map +0 -1
  265. package/dist/memory/semantic-search.d.ts.map +0 -1
  266. package/dist/memory/semantic-search.js.map +0 -1
  267. package/dist/memory/storage.d.ts.map +0 -1
  268. package/dist/memory/storage.js.map +0 -1
  269. package/dist/memory/store.d.ts.map +0 -1
  270. package/dist/memory/store.js.map +0 -1
  271. package/dist/memory/team-paths.d.ts.map +0 -1
  272. package/dist/memory/team-paths.js.map +0 -1
  273. package/dist/memory/types.d.ts.map +0 -1
  274. package/dist/memory/types.js.map +0 -1
  275. package/dist/memory/validation.d.ts.map +0 -1
  276. package/dist/memory/validation.js.map +0 -1
  277. package/dist/memory/vector-store.d.ts.map +0 -1
  278. package/dist/memory/vector-store.js.map +0 -1
  279. package/dist/migration/command.d.ts.map +0 -1
  280. package/dist/migration/command.js.map +0 -1
  281. package/dist/migration/index.d.ts.map +0 -1
  282. package/dist/migration/index.js.map +0 -1
  283. package/dist/migration/migrate.d.ts.map +0 -1
  284. package/dist/migration/migrate.js.map +0 -1
  285. package/dist/migration/types.d.ts.map +0 -1
  286. package/dist/migration/types.js.map +0 -1
  287. package/dist/print-ui/launch.d.ts.map +0 -1
  288. package/dist/print-ui/launch.js.map +0 -1
  289. package/dist/product/environment.d.ts.map +0 -1
  290. package/dist/product/environment.js.map +0 -1
  291. package/dist/product/identity.d.ts.map +0 -1
  292. package/dist/product/identity.js.map +0 -1
  293. package/dist/product/index.d.ts.map +0 -1
  294. package/dist/product/index.js.map +0 -1
  295. package/dist/product/paths.d.ts.map +0 -1
  296. package/dist/product/paths.js.map +0 -1
  297. package/dist/product/version.d.ts.map +0 -1
  298. package/dist/product/version.js.map +0 -1
  299. package/dist/runtime/agent-loop.d.ts.map +0 -1
  300. package/dist/runtime/agent-loop.js.map +0 -1
  301. package/dist/runtime/agent-runtime-controller.d.ts.map +0 -1
  302. package/dist/runtime/agent-runtime-controller.js.map +0 -1
  303. package/dist/runtime/agent-runtime-protocol.d.ts.map +0 -1
  304. package/dist/runtime/agent-runtime-protocol.js.map +0 -1
  305. package/dist/runtime/agent-runtime-runner.d.ts.map +0 -1
  306. package/dist/runtime/agent-runtime-runner.js.map +0 -1
  307. package/dist/runtime/agent-status.d.ts.map +0 -1
  308. package/dist/runtime/agent-status.js.map +0 -1
  309. package/dist/runtime/aggregate-tool-presenter.d.ts.map +0 -1
  310. package/dist/runtime/aggregate-tool-presenter.js.map +0 -1
  311. package/dist/runtime/batch-read-service.d.ts.map +0 -1
  312. package/dist/runtime/batch-read-service.js.map +0 -1
  313. package/dist/runtime/builtin-tool-provider.d.ts.map +0 -1
  314. package/dist/runtime/builtin-tool-provider.js.map +0 -1
  315. package/dist/runtime/capabilities/compiler.d.ts.map +0 -1
  316. package/dist/runtime/capabilities/compiler.js.map +0 -1
  317. package/dist/runtime/capabilities/index.d.ts.map +0 -1
  318. package/dist/runtime/capabilities/index.js.map +0 -1
  319. package/dist/runtime/capabilities/types.d.ts.map +0 -1
  320. package/dist/runtime/capabilities/types.js.map +0 -1
  321. package/dist/runtime/capability-receipt-journal.d.ts.map +0 -1
  322. package/dist/runtime/capability-receipt-journal.js.map +0 -1
  323. package/dist/runtime/capability-step-factory.d.ts.map +0 -1
  324. package/dist/runtime/capability-step-factory.js.map +0 -1
  325. package/dist/runtime/compact-transaction.d.ts.map +0 -1
  326. package/dist/runtime/compact-transaction.js.map +0 -1
  327. package/dist/runtime/composer/buffer.d.ts.map +0 -1
  328. package/dist/runtime/composer/buffer.js.map +0 -1
  329. package/dist/runtime/composer/grapheme.d.ts.map +0 -1
  330. package/dist/runtime/composer/grapheme.js.map +0 -1
  331. package/dist/runtime/composer/history.d.ts.map +0 -1
  332. package/dist/runtime/composer/history.js.map +0 -1
  333. package/dist/runtime/composer/layout.d.ts.map +0 -1
  334. package/dist/runtime/composer/layout.js.map +0 -1
  335. package/dist/runtime/core-tools/descriptors.d.ts.map +0 -1
  336. package/dist/runtime/core-tools/descriptors.js.map +0 -1
  337. package/dist/runtime/durable-tool-receipt-reader.d.ts.map +0 -1
  338. package/dist/runtime/durable-tool-receipt-reader.js.map +0 -1
  339. package/dist/runtime/first-party-core-provider.d.ts.map +0 -1
  340. package/dist/runtime/first-party-core-provider.js.map +0 -1
  341. package/dist/runtime/first-party-long-tail-provider.d.ts.map +0 -1
  342. package/dist/runtime/first-party-long-tail-provider.js.map +0 -1
  343. package/dist/runtime/first-party-tool-services.d.ts.map +0 -1
  344. package/dist/runtime/first-party-tool-services.js.map +0 -1
  345. package/dist/runtime/first-party-tool-universe.d.ts.map +0 -1
  346. package/dist/runtime/first-party-tool-universe.js.map +0 -1
  347. package/dist/runtime/goal-lifecycle-v2.d.ts.map +0 -1
  348. package/dist/runtime/goal-lifecycle-v2.js.map +0 -1
  349. package/dist/runtime/goal-runtime-coordinator.d.ts.map +0 -1
  350. package/dist/runtime/goal-runtime-coordinator.js.map +0 -1
  351. package/dist/runtime/goals/completion-audit.d.ts.map +0 -1
  352. package/dist/runtime/goals/completion-audit.js.map +0 -1
  353. package/dist/runtime/goals/evidence.d.ts.map +0 -1
  354. package/dist/runtime/goals/evidence.js.map +0 -1
  355. package/dist/runtime/goals/objective.d.ts.map +0 -1
  356. package/dist/runtime/goals/objective.js.map +0 -1
  357. package/dist/runtime/goals/presentation.d.ts.map +0 -1
  358. package/dist/runtime/goals/presentation.js.map +0 -1
  359. package/dist/runtime/goals/types.d.ts.map +0 -1
  360. package/dist/runtime/goals/types.js.map +0 -1
  361. package/dist/runtime/harness-confluence.d.ts.map +0 -1
  362. package/dist/runtime/harness-confluence.js.map +0 -1
  363. package/dist/runtime/harness-eval.d.ts.map +0 -1
  364. package/dist/runtime/harness-eval.js.map +0 -1
  365. package/dist/runtime/harness-metrics.d.ts.map +0 -1
  366. package/dist/runtime/harness-metrics.js.map +0 -1
  367. package/dist/runtime/legacy-session-importer.d.ts.map +0 -1
  368. package/dist/runtime/legacy-session-importer.js.map +0 -1
  369. package/dist/runtime/legacy-thread-materializer.d.ts.map +0 -1
  370. package/dist/runtime/legacy-thread-materializer.js.map +0 -1
  371. package/dist/runtime/long-tail-tools/descriptors.d.ts.map +0 -1
  372. package/dist/runtime/long-tail-tools/descriptors.js.map +0 -1
  373. package/dist/runtime/loop-budget.d.ts.map +0 -1
  374. package/dist/runtime/loop-budget.js.map +0 -1
  375. package/dist/runtime/mcp/first-party-mcp-adapter.d.ts.map +0 -1
  376. package/dist/runtime/mcp/first-party-mcp-adapter.js.map +0 -1
  377. package/dist/runtime/mcp/first-party-mcp-config.d.ts.map +0 -1
  378. package/dist/runtime/mcp/first-party-mcp-config.js.map +0 -1
  379. package/dist/runtime/mcp/index.d.ts.map +0 -1
  380. package/dist/runtime/mcp/index.js.map +0 -1
  381. package/dist/runtime/mcp/lazy-mcp-runtime.d.ts.map +0 -1
  382. package/dist/runtime/mcp/lazy-mcp-runtime.js.map +0 -1
  383. package/dist/runtime/mcp/types.d.ts.map +0 -1
  384. package/dist/runtime/mcp/types.js.map +0 -1
  385. package/dist/runtime/model-coordinator.d.ts.map +0 -1
  386. package/dist/runtime/model-coordinator.js.map +0 -1
  387. package/dist/runtime/orion-runtime-v1.d.ts.map +0 -1
  388. package/dist/runtime/orion-runtime-v1.js.map +0 -1
  389. package/dist/runtime/orion-session-runner.d.ts.map +0 -1
  390. package/dist/runtime/orion-session-runner.js.map +0 -1
  391. package/dist/runtime/plan-review.d.ts.map +0 -1
  392. package/dist/runtime/plan-review.js.map +0 -1
  393. package/dist/runtime/product-bootstrap.d.ts.map +0 -1
  394. package/dist/runtime/product-bootstrap.js.map +0 -1
  395. package/dist/runtime/product-orion-runtime.d.ts.map +0 -1
  396. package/dist/runtime/product-orion-runtime.js.map +0 -1
  397. package/dist/runtime/prompts/index.d.ts.map +0 -1
  398. package/dist/runtime/prompts/index.js.map +0 -1
  399. package/dist/runtime/prompts/prompt-registry.d.ts.map +0 -1
  400. package/dist/runtime/prompts/prompt-registry.js.map +0 -1
  401. package/dist/runtime/prompts/types.d.ts.map +0 -1
  402. package/dist/runtime/prompts/types.js.map +0 -1
  403. package/dist/runtime/protocol/canonical.d.ts.map +0 -1
  404. package/dist/runtime/protocol/canonical.js.map +0 -1
  405. package/dist/runtime/protocol/index.d.ts.map +0 -1
  406. package/dist/runtime/protocol/index.js.map +0 -1
  407. package/dist/runtime/protocol/runtime-protocol-v1.d.ts.map +0 -1
  408. package/dist/runtime/protocol/runtime-protocol-v1.js.map +0 -1
  409. package/dist/runtime/release-receipts.d.ts.map +0 -1
  410. package/dist/runtime/release-receipts.js.map +0 -1
  411. package/dist/runtime/resource-scope.d.ts.map +0 -1
  412. package/dist/runtime/resource-scope.js.map +0 -1
  413. package/dist/runtime/rich-text/ansi-parser.d.ts.map +0 -1
  414. package/dist/runtime/rich-text/ansi-parser.js.map +0 -1
  415. package/dist/runtime/rich-text/layout.d.ts.map +0 -1
  416. package/dist/runtime/rich-text/layout.js.map +0 -1
  417. package/dist/runtime/rich-text/markdown-parser.d.ts.map +0 -1
  418. package/dist/runtime/rich-text/markdown-parser.js.map +0 -1
  419. package/dist/runtime/rich-text/sanitizer.d.ts.map +0 -1
  420. package/dist/runtime/rich-text/sanitizer.js.map +0 -1
  421. package/dist/runtime/rich-text/types.d.ts.map +0 -1
  422. package/dist/runtime/rich-text/types.js.map +0 -1
  423. package/dist/runtime/runtime-event-buffer.d.ts.map +0 -1
  424. package/dist/runtime/runtime-event-buffer.js.map +0 -1
  425. package/dist/runtime/runtime-services.d.ts.map +0 -1
  426. package/dist/runtime/runtime-services.js.map +0 -1
  427. package/dist/runtime/session-composer-control.d.ts.map +0 -1
  428. package/dist/runtime/session-composer-control.js.map +0 -1
  429. package/dist/runtime/session-history-recovery.d.ts.map +0 -1
  430. package/dist/runtime/session-history-recovery.js.map +0 -1
  431. package/dist/runtime/skills/bounded-lru-cache.d.ts.map +0 -1
  432. package/dist/runtime/skills/bounded-lru-cache.js.map +0 -1
  433. package/dist/runtime/skills/filesystem-skill-provider.d.ts.map +0 -1
  434. package/dist/runtime/skills/filesystem-skill-provider.js.map +0 -1
  435. package/dist/runtime/skills/index.d.ts.map +0 -1
  436. package/dist/runtime/skills/index.js.map +0 -1
  437. package/dist/runtime/skills/lazy-skill-runtime.d.ts.map +0 -1
  438. package/dist/runtime/skills/lazy-skill-runtime.js.map +0 -1
  439. package/dist/runtime/skills/types.d.ts.map +0 -1
  440. package/dist/runtime/skills/types.js.map +0 -1
  441. package/dist/runtime/step-snapshot.d.ts.map +0 -1
  442. package/dist/runtime/step-snapshot.js.map +0 -1
  443. package/dist/runtime/subagent-thread-runtime.d.ts.map +0 -1
  444. package/dist/runtime/subagent-thread-runtime.js.map +0 -1
  445. package/dist/runtime/subagents/budget.d.ts.map +0 -1
  446. package/dist/runtime/subagents/budget.js.map +0 -1
  447. package/dist/runtime/subagents/child-executor-guard.d.ts.map +0 -1
  448. package/dist/runtime/subagents/child-executor-guard.js.map +0 -1
  449. package/dist/runtime/subagents/context-builder.d.ts.map +0 -1
  450. package/dist/runtime/subagents/context-builder.js.map +0 -1
  451. package/dist/runtime/subagents/index.d.ts.map +0 -1
  452. package/dist/runtime/subagents/index.js.map +0 -1
  453. package/dist/runtime/subagents/parent-step-fork.d.ts.map +0 -1
  454. package/dist/runtime/subagents/parent-step-fork.js.map +0 -1
  455. package/dist/runtime/subagents/policy.d.ts.map +0 -1
  456. package/dist/runtime/subagents/policy.js.map +0 -1
  457. package/dist/runtime/subagents/presets.d.ts.map +0 -1
  458. package/dist/runtime/subagents/presets.js.map +0 -1
  459. package/dist/runtime/subagents/production.d.ts.map +0 -1
  460. package/dist/runtime/subagents/production.js.map +0 -1
  461. package/dist/runtime/subagents/provider-gate.d.ts.map +0 -1
  462. package/dist/runtime/subagents/provider-gate.js.map +0 -1
  463. package/dist/runtime/subagents/receipt-journal.d.ts.map +0 -1
  464. package/dist/runtime/subagents/receipt-journal.js.map +0 -1
  465. package/dist/runtime/subagents/research-artifact.d.ts.map +0 -1
  466. package/dist/runtime/subagents/research-artifact.js.map +0 -1
  467. package/dist/runtime/subagents/research-citation.d.ts.map +0 -1
  468. package/dist/runtime/subagents/research-citation.js.map +0 -1
  469. package/dist/runtime/subagents/research-contract.d.ts.map +0 -1
  470. package/dist/runtime/subagents/research-contract.js.map +0 -1
  471. package/dist/runtime/subagents/research-quality.d.ts.map +0 -1
  472. package/dist/runtime/subagents/research-quality.js.map +0 -1
  473. package/dist/runtime/subagents/research-renderer.d.ts.map +0 -1
  474. package/dist/runtime/subagents/research-renderer.js.map +0 -1
  475. package/dist/runtime/subagents/research-types.d.ts.map +0 -1
  476. package/dist/runtime/subagents/research-types.js.map +0 -1
  477. package/dist/runtime/subagents/result-parser.d.ts.map +0 -1
  478. package/dist/runtime/subagents/result-parser.js.map +0 -1
  479. package/dist/runtime/subagents/runner.d.ts.map +0 -1
  480. package/dist/runtime/subagents/runner.js.map +0 -1
  481. package/dist/runtime/subagents/runtime-contract.d.ts.map +0 -1
  482. package/dist/runtime/subagents/runtime-contract.js.map +0 -1
  483. package/dist/runtime/subagents/runtime-integration.d.ts.map +0 -1
  484. package/dist/runtime/subagents/runtime-integration.js.map +0 -1
  485. package/dist/runtime/subagents/supervisor.d.ts.map +0 -1
  486. package/dist/runtime/subagents/supervisor.js.map +0 -1
  487. package/dist/runtime/subagents/tool.d.ts.map +0 -1
  488. package/dist/runtime/subagents/tool.js.map +0 -1
  489. package/dist/runtime/subagents/types.d.ts.map +0 -1
  490. package/dist/runtime/subagents/types.js.map +0 -1
  491. package/dist/runtime/subagents/web-research-adapter.d.ts.map +0 -1
  492. package/dist/runtime/subagents/web-research-adapter.js.map +0 -1
  493. package/dist/runtime/task-context-service.d.ts.map +0 -1
  494. package/dist/runtime/task-context-service.js.map +0 -1
  495. package/dist/runtime/thread-admission.d.ts.map +0 -1
  496. package/dist/runtime/thread-admission.js.map +0 -1
  497. package/dist/runtime/thread-compact-persistence.d.ts.map +0 -1
  498. package/dist/runtime/thread-compact-persistence.js.map +0 -1
  499. package/dist/runtime/thread-event-store.d.ts.map +0 -1
  500. package/dist/runtime/thread-event-store.js.map +0 -1
  501. package/dist/runtime/thread-projection.d.ts.map +0 -1
  502. package/dist/runtime/thread-projection.js.map +0 -1
  503. package/dist/runtime/thread-runtime.d.ts.map +0 -1
  504. package/dist/runtime/thread-runtime.js.map +0 -1
  505. package/dist/runtime/thread-session-index.d.ts.map +0 -1
  506. package/dist/runtime/thread-session-index.js.map +0 -1
  507. package/dist/runtime/thread-session-view.d.ts.map +0 -1
  508. package/dist/runtime/thread-session-view.js.map +0 -1
  509. package/dist/runtime/thread-tool-journal.d.ts.map +0 -1
  510. package/dist/runtime/thread-tool-journal.js.map +0 -1
  511. package/dist/runtime/thread-ui-adapter.d.ts.map +0 -1
  512. package/dist/runtime/thread-ui-adapter.js.map +0 -1
  513. package/dist/runtime/tool-detail-repository.d.ts.map +0 -1
  514. package/dist/runtime/tool-detail-repository.js.map +0 -1
  515. package/dist/runtime/tool-gateway.d.ts.map +0 -1
  516. package/dist/runtime/tool-gateway.js.map +0 -1
  517. package/dist/runtime/tool-output-presentation.d.ts.map +0 -1
  518. package/dist/runtime/tool-output-presentation.js.map +0 -1
  519. package/dist/runtime/tool-receipt-validator.d.ts.map +0 -1
  520. package/dist/runtime/tool-receipt-validator.js.map +0 -1
  521. package/dist/runtime/turn-commit.d.ts.map +0 -1
  522. package/dist/runtime/turn-commit.js.map +0 -1
  523. package/dist/runtime/turn-controller.d.ts.map +0 -1
  524. package/dist/runtime/turn-controller.js.map +0 -1
  525. package/dist/runtime/ui-events.d.ts.map +0 -1
  526. package/dist/runtime/ui-events.js.map +0 -1
  527. package/dist/runtime/ui-view-model.d.ts.map +0 -1
  528. package/dist/runtime/ui-view-model.js.map +0 -1
  529. package/dist/services/atomic-write.d.ts.map +0 -1
  530. package/dist/services/atomic-write.js.map +0 -1
  531. package/dist/services/auth/auth.d.ts.map +0 -1
  532. package/dist/services/auth/auth.js.map +0 -1
  533. package/dist/services/auth/aws.d.ts.map +0 -1
  534. package/dist/services/auth/aws.js.map +0 -1
  535. package/dist/services/auth/index.d.ts.map +0 -1
  536. package/dist/services/auth/index.js.map +0 -1
  537. package/dist/services/auto-fix/autoFixConfig.d.ts.map +0 -1
  538. package/dist/services/auto-fix/autoFixConfig.js.map +0 -1
  539. package/dist/services/auto-fix/autoFixHook.d.ts.map +0 -1
  540. package/dist/services/auto-fix/autoFixHook.js.map +0 -1
  541. package/dist/services/auto-fix/autoFixRunner.d.ts.map +0 -1
  542. package/dist/services/auto-fix/autoFixRunner.js.map +0 -1
  543. package/dist/services/auto-fix/index.d.ts.map +0 -1
  544. package/dist/services/auto-fix/index.js.map +0 -1
  545. package/dist/services/bounded-response.d.ts.map +0 -1
  546. package/dist/services/bounded-response.js.map +0 -1
  547. package/dist/services/commit-plan.d.ts.map +0 -1
  548. package/dist/services/commit-plan.js.map +0 -1
  549. package/dist/services/compact/auto-compact.d.ts.map +0 -1
  550. package/dist/services/compact/auto-compact.js.map +0 -1
  551. package/dist/services/compact/compact.d.ts.map +0 -1
  552. package/dist/services/compact/compact.js.map +0 -1
  553. package/dist/services/compact/coordinator.d.ts.map +0 -1
  554. package/dist/services/compact/coordinator.js.map +0 -1
  555. package/dist/services/compact/fingerprint.d.ts.map +0 -1
  556. package/dist/services/compact/fingerprint.js.map +0 -1
  557. package/dist/services/compact/index.d.ts.map +0 -1
  558. package/dist/services/compact/index.js.map +0 -1
  559. package/dist/services/compact/planner.d.ts.map +0 -1
  560. package/dist/services/compact/planner.js.map +0 -1
  561. package/dist/services/compact/semantic-summary.d.ts.map +0 -1
  562. package/dist/services/compact/semantic-summary.js.map +0 -1
  563. package/dist/services/compact/summary-generator.d.ts.map +0 -1
  564. package/dist/services/compact/summary-generator.js.map +0 -1
  565. package/dist/services/compact/tool-call-groups.d.ts.map +0 -1
  566. package/dist/services/compact/tool-call-groups.js.map +0 -1
  567. package/dist/services/concurrent-sessions.d.ts.map +0 -1
  568. package/dist/services/concurrent-sessions.js.map +0 -1
  569. package/dist/services/config-dir.d.ts.map +0 -1
  570. package/dist/services/config-dir.js.map +0 -1
  571. package/dist/services/config.d.ts.map +0 -1
  572. package/dist/services/config.js.map +0 -1
  573. package/dist/services/diagnostic-tracking/diagnosticTracking.d.ts.map +0 -1
  574. package/dist/services/diagnostic-tracking/diagnosticTracking.js.map +0 -1
  575. package/dist/services/diagnostic-tracking/formatter.d.ts.map +0 -1
  576. package/dist/services/diagnostic-tracking/formatter.js.map +0 -1
  577. package/dist/services/diagnostic-tracking/index.d.ts.map +0 -1
  578. package/dist/services/diagnostic-tracking/index.js.map +0 -1
  579. package/dist/services/diagnostic-tracking/types.d.ts.map +0 -1
  580. package/dist/services/diagnostic-tracking/types.js.map +0 -1
  581. package/dist/services/doctor.d.ts.map +0 -1
  582. package/dist/services/doctor.js.map +0 -1
  583. package/dist/services/effort.d.ts.map +0 -1
  584. package/dist/services/effort.js.map +0 -1
  585. package/dist/services/file-context.d.ts.map +0 -1
  586. package/dist/services/file-context.js.map +0 -1
  587. package/dist/services/file-glob.d.ts.map +0 -1
  588. package/dist/services/file-glob.js.map +0 -1
  589. package/dist/services/file-lock.d.ts.map +0 -1
  590. package/dist/services/file-lock.js.map +0 -1
  591. package/dist/services/format.d.ts.map +0 -1
  592. package/dist/services/format.js.map +0 -1
  593. package/dist/services/global-config.d.ts.map +0 -1
  594. package/dist/services/global-config.js.map +0 -1
  595. package/dist/services/goal-storage.d.ts.map +0 -1
  596. package/dist/services/goal-storage.js.map +0 -1
  597. package/dist/services/llm.d.ts.map +0 -1
  598. package/dist/services/llm.js.map +0 -1
  599. package/dist/services/mcp/index.d.ts.map +0 -1
  600. package/dist/services/mcp/index.js.map +0 -1
  601. package/dist/services/mcp/transports.d.ts.map +0 -1
  602. package/dist/services/mcp/transports.js.map +0 -1
  603. package/dist/services/memory.d.ts.map +0 -1
  604. package/dist/services/memory.js.map +0 -1
  605. package/dist/services/model-catalog.d.ts.map +0 -1
  606. package/dist/services/model-catalog.js.map +0 -1
  607. package/dist/services/model-client-pool.d.ts.map +0 -1
  608. package/dist/services/model-client-pool.js.map +0 -1
  609. package/dist/services/model-context.d.ts.map +0 -1
  610. package/dist/services/model-context.js.map +0 -1
  611. package/dist/services/model-registry.d.ts.map +0 -1
  612. package/dist/services/model-registry.js.map +0 -1
  613. package/dist/services/project-instructions.d.ts.map +0 -1
  614. package/dist/services/project-instructions.js.map +0 -1
  615. package/dist/services/prompt-context.d.ts.map +0 -1
  616. package/dist/services/prompt-context.js.map +0 -1
  617. package/dist/services/provider-diagnostics.d.ts.map +0 -1
  618. package/dist/services/provider-diagnostics.js.map +0 -1
  619. package/dist/services/provider-resilience/circuit-breaker.d.ts.map +0 -1
  620. package/dist/services/provider-resilience/circuit-breaker.js.map +0 -1
  621. package/dist/services/provider-resilience/coordinator.d.ts.map +0 -1
  622. package/dist/services/provider-resilience/coordinator.js.map +0 -1
  623. package/dist/services/provider-resilience/error-classifier.d.ts.map +0 -1
  624. package/dist/services/provider-resilience/error-classifier.js.map +0 -1
  625. package/dist/services/provider-resilience/index.d.ts.map +0 -1
  626. package/dist/services/provider-resilience/index.js.map +0 -1
  627. package/dist/services/provider-resilience/request-gate.d.ts.map +0 -1
  628. package/dist/services/provider-resilience/request-gate.js.map +0 -1
  629. package/dist/services/provider-resilience/stream-recovery.d.ts.map +0 -1
  630. package/dist/services/provider-resilience/stream-recovery.js.map +0 -1
  631. package/dist/services/provider-resilience/types.d.ts.map +0 -1
  632. package/dist/services/provider-resilience/types.js.map +0 -1
  633. package/dist/services/redaction.d.ts.map +0 -1
  634. package/dist/services/redaction.js.map +0 -1
  635. package/dist/services/safe-project-reader.d.ts.map +0 -1
  636. package/dist/services/safe-project-reader.js.map +0 -1
  637. package/dist/services/session-index.d.ts.map +0 -1
  638. package/dist/services/session-index.js.map +0 -1
  639. package/dist/services/session-memory/index.d.ts.map +0 -1
  640. package/dist/services/session-memory/index.js.map +0 -1
  641. package/dist/services/session-memory/prompts.d.ts.map +0 -1
  642. package/dist/services/session-memory/prompts.js.map +0 -1
  643. package/dist/services/session-memory/sessionMemory.d.ts.map +0 -1
  644. package/dist/services/session-memory/sessionMemory.js.map +0 -1
  645. package/dist/services/session-storage.d.ts.map +0 -1
  646. package/dist/services/session-storage.js.map +0 -1
  647. package/dist/services/settings-coordinator.d.ts.map +0 -1
  648. package/dist/services/settings-coordinator.js.map +0 -1
  649. package/dist/services/settings-document-repository.d.ts.map +0 -1
  650. package/dist/services/settings-document-repository.js.map +0 -1
  651. package/dist/services/smart-routing.d.ts.map +0 -1
  652. package/dist/services/smart-routing.js.map +0 -1
  653. package/dist/services/storage-maintenance.d.ts.map +0 -1
  654. package/dist/services/storage-maintenance.js.map +0 -1
  655. package/dist/services/tool-allowlist.d.ts.map +0 -1
  656. package/dist/services/tool-allowlist.js.map +0 -1
  657. package/dist/services/usage-state.d.ts.map +0 -1
  658. package/dist/services/usage-state.js.map +0 -1
  659. package/dist/services/verification-profile.d.ts.map +0 -1
  660. package/dist/services/verification-profile.js.map +0 -1
  661. package/dist/services/web-search-adapters.d.ts.map +0 -1
  662. package/dist/services/web-search-adapters.js.map +0 -1
  663. package/dist/services/web-search-mcp.d.ts.map +0 -1
  664. package/dist/services/web-search-mcp.js.map +0 -1
  665. package/dist/services/web-search-provider.d.ts.map +0 -1
  666. package/dist/services/web-search-provider.js.map +0 -1
  667. package/dist/services/workspace-containment.d.ts.map +0 -1
  668. package/dist/services/workspace-containment.js.map +0 -1
  669. package/dist/services/workspace-diff.d.ts.map +0 -1
  670. package/dist/services/workspace-diff.js.map +0 -1
  671. package/dist/services/workspace-registry.d.ts.map +0 -1
  672. package/dist/services/workspace-registry.js.map +0 -1
  673. package/dist/services/workspace-state.d.ts.map +0 -1
  674. package/dist/services/workspace-state.js.map +0 -1
  675. package/dist/services/yaml-config.d.ts.map +0 -1
  676. package/dist/services/yaml-config.js.map +0 -1
  677. package/dist/terminal-ui/completion.d.ts.map +0 -1
  678. package/dist/terminal-ui/completion.js.map +0 -1
  679. package/dist/terminal-ui/editor.d.ts.map +0 -1
  680. package/dist/terminal-ui/editor.js.map +0 -1
  681. package/dist/terminal-ui/launch.d.ts.map +0 -1
  682. package/dist/terminal-ui/launch.js.map +0 -1
  683. package/dist/terminal-ui/output-queue.d.ts.map +0 -1
  684. package/dist/terminal-ui/output-queue.js.map +0 -1
  685. package/dist/terminal-ui/raw-editor.d.ts.map +0 -1
  686. package/dist/terminal-ui/raw-editor.js.map +0 -1
  687. package/dist/tools/_validate.d.ts.map +0 -1
  688. package/dist/tools/_validate.js.map +0 -1
  689. package/dist/tools/bash_security.d.ts.map +0 -1
  690. package/dist/tools/bash_security.js.map +0 -1
  691. package/dist/tools/core/common.d.ts.map +0 -1
  692. package/dist/tools/core/common.js.map +0 -1
  693. package/dist/tools/core/edit-file.d.ts.map +0 -1
  694. package/dist/tools/core/edit-file.js.map +0 -1
  695. package/dist/tools/core/exec-command.d.ts.map +0 -1
  696. package/dist/tools/core/exec-command.js.map +0 -1
  697. package/dist/tools/core/glob.d.ts.map +0 -1
  698. package/dist/tools/core/glob.js.map +0 -1
  699. package/dist/tools/core/grep.d.ts.map +0 -1
  700. package/dist/tools/core/grep.js.map +0 -1
  701. package/dist/tools/core/index.d.ts.map +0 -1
  702. package/dist/tools/core/index.js.map +0 -1
  703. package/dist/tools/core/list-files.d.ts.map +0 -1
  704. package/dist/tools/core/list-files.js.map +0 -1
  705. package/dist/tools/core/read-file.d.ts.map +0 -1
  706. package/dist/tools/core/read-file.js.map +0 -1
  707. package/dist/tools/core/write-file.d.ts.map +0 -1
  708. package/dist/tools/core/write-file.js.map +0 -1
  709. package/dist/tools/git.d.ts.map +0 -1
  710. package/dist/tools/git.js.map +0 -1
  711. package/dist/tools/lsp.d.ts.map +0 -1
  712. package/dist/tools/lsp.js.map +0 -1
  713. package/dist/tools/sandbox.d.ts.map +0 -1
  714. package/dist/tools/sandbox.js.map +0 -1
  715. package/dist/tools/todo.d.ts.map +0 -1
  716. package/dist/tools/todo.js.map +0 -1
  717. package/dist/tools/web.d.ts.map +0 -1
  718. package/dist/tools/web.js.map +0 -1
  719. package/dist/tui-core/frame.d.ts.map +0 -1
  720. package/dist/tui-core/frame.js.map +0 -1
  721. package/dist/tui-core/input-parser.d.ts.map +0 -1
  722. package/dist/tui-core/input-parser.js.map +0 -1
  723. package/dist/tui-core/style.d.ts.map +0 -1
  724. package/dist/tui-core/style.js.map +0 -1
  725. package/dist/tui-core/terminal-writer.d.ts.map +0 -1
  726. package/dist/tui-core/terminal-writer.js.map +0 -1
  727. package/dist/tui-ui/chrome-view-model.d.ts.map +0 -1
  728. package/dist/tui-ui/chrome-view-model.js.map +0 -1
  729. package/dist/tui-ui/inline-surface.d.ts.map +0 -1
  730. package/dist/tui-ui/inline-surface.js.map +0 -1
  731. package/dist/tui-ui/input-ownership.d.ts.map +0 -1
  732. package/dist/tui-ui/input-ownership.js.map +0 -1
  733. package/dist/tui-ui/launch.d.ts.map +0 -1
  734. package/dist/tui-ui/launch.js.map +0 -1
  735. package/dist/tui-ui/layout.d.ts.map +0 -1
  736. package/dist/tui-ui/layout.js.map +0 -1
  737. package/dist/tui-ui/pickers.d.ts.map +0 -1
  738. package/dist/tui-ui/pickers.js.map +0 -1
  739. package/dist/tui-ui/pixel-mascot.d.ts.map +0 -1
  740. package/dist/tui-ui/pixel-mascot.js.map +0 -1
  741. package/dist/tui-ui/render-scheduler.d.ts.map +0 -1
  742. package/dist/tui-ui/render-scheduler.js.map +0 -1
  743. package/dist/tui-ui/runner.d.ts.map +0 -1
  744. package/dist/tui-ui/runner.js.map +0 -1
  745. package/dist/tui-ui/state.d.ts.map +0 -1
  746. package/dist/tui-ui/state.js.map +0 -1
  747. package/dist/tui-ui/terminal-image.d.ts.map +0 -1
  748. package/dist/tui-ui/terminal-image.js.map +0 -1
  749. package/dist/tui-ui/theme-profile.d.ts.map +0 -1
  750. package/dist/tui-ui/theme-profile.js.map +0 -1
  751. package/dist/tui-ui/theme.d.ts.map +0 -1
  752. package/dist/tui-ui/theme.js.map +0 -1
  753. package/dist/tui-ui/transcript-cache.d.ts.map +0 -1
  754. package/dist/tui-ui/transcript-cache.js.map +0 -1
  755. package/dist/tui-ui/transcript-inspector-layout.d.ts.map +0 -1
  756. package/dist/tui-ui/transcript-inspector-layout.js.map +0 -1
  757. package/dist/tui-ui/transcript-inspector-surface.d.ts.map +0 -1
  758. package/dist/tui-ui/transcript-inspector-surface.js.map +0 -1
  759. package/dist/tui-ui/transcript-inspector.d.ts.map +0 -1
  760. package/dist/tui-ui/transcript-inspector.js.map +0 -1
  761. package/dist/tui-ui/transcript-layout.d.ts.map +0 -1
  762. package/dist/tui-ui/transcript-layout.js.map +0 -1
  763. package/dist/ui/box.d.ts.map +0 -1
  764. package/dist/ui/box.js.map +0 -1
  765. package/dist/ui/command-panel.d.ts.map +0 -1
  766. package/dist/ui/command-panel.js.map +0 -1
  767. package/dist/ui/file-completion.d.ts.map +0 -1
  768. package/dist/ui/file-completion.js.map +0 -1
  769. package/dist/ui/markdown.d.ts.map +0 -1
  770. package/dist/ui/markdown.js.map +0 -1
  771. package/dist/ui/multiline-input.d.ts.map +0 -1
  772. package/dist/ui/multiline-input.js.map +0 -1
  773. package/dist/ui/progress.d.ts.map +0 -1
  774. package/dist/ui/progress.js.map +0 -1
  775. package/dist/ui/shared/command-palette.d.ts.map +0 -1
  776. package/dist/ui/shared/command-palette.js.map +0 -1
  777. package/dist/ui/shared/command-suggestions.d.ts.map +0 -1
  778. package/dist/ui/shared/command-suggestions.js.map +0 -1
  779. package/dist/ui/shared/input-frame.d.ts.map +0 -1
  780. package/dist/ui/shared/input-frame.js.map +0 -1
  781. package/dist/ui/shared/text.d.ts.map +0 -1
  782. package/dist/ui/shared/text.js.map +0 -1
  783. package/dist/ui/shared/types.d.ts.map +0 -1
  784. package/dist/ui/shared/types.js.map +0 -1
  785. package/dist/ui/status-bar.d.ts.map +0 -1
  786. package/dist/ui/status-bar.js.map +0 -1
  787. package/dist/ui/stream-markdown.d.ts.map +0 -1
  788. package/dist/ui/stream-markdown.js.map +0 -1
  789. package/dist/ui/suggestions.d.ts.map +0 -1
  790. package/dist/ui/suggestions.js.map +0 -1
  791. package/dist/ui/tool-preview.d.ts.map +0 -1
  792. package/dist/ui/tool-preview.js.map +0 -1
  793. package/dist/ui/user-input.d.ts.map +0 -1
  794. package/dist/ui/user-input.js.map +0 -1
  795. package/dist/utils/debug-log.d.ts.map +0 -1
  796. package/dist/utils/debug-log.js.map +0 -1
  797. package/dist/utils/errors.d.ts.map +0 -1
  798. package/dist/utils/errors.js.map +0 -1
  799. package/dist/utils/json.d.ts.map +0 -1
  800. package/dist/utils/json.js.map +0 -1
  801. package/dist/utils/mask.d.ts.map +0 -1
  802. package/dist/utils/mask.js.map +0 -1
  803. package/dist/utils/observability.d.ts.map +0 -1
  804. package/dist/utils/observability.js.map +0 -1
  805. package/dist/utils/token-estimate.d.ts.map +0 -1
  806. package/dist/utils/token-estimate.js.map +0 -1
  807. package/dist/web/errors.d.ts.map +0 -1
  808. package/dist/web/errors.js.map +0 -1
  809. package/dist/web/event-hub.d.ts.map +0 -1
  810. package/dist/web/event-hub.js.map +0 -1
  811. package/dist/web/file-read-service.d.ts.map +0 -1
  812. package/dist/web/file-read-service.js.map +0 -1
  813. package/dist/web/git-read-model-service.d.ts.map +0 -1
  814. package/dist/web/git-read-model-service.js.map +0 -1
  815. package/dist/web/index.d.ts.map +0 -1
  816. package/dist/web/index.js.map +0 -1
  817. package/dist/web/launch.d.ts.map +0 -1
  818. package/dist/web/launch.js.map +0 -1
  819. package/dist/web/protocol.d.ts.map +0 -1
  820. package/dist/web/protocol.js.map +0 -1
  821. package/dist/web/review-service.d.ts.map +0 -1
  822. package/dist/web/review-service.js.map +0 -1
  823. package/dist/web/server.d.ts.map +0 -1
  824. package/dist/web/server.js.map +0 -1
  825. package/dist/web/terminal-manager.d.ts.map +0 -1
  826. package/dist/web/terminal-manager.js.map +0 -1
  827. package/dist/web/terminal-server.d.ts.map +0 -1
  828. package/dist/web/terminal-server.js.map +0 -1
  829. package/dist/web/workbench-controller.d.ts.map +0 -1
  830. package/dist/web/workbench-controller.js.map +0 -1
  831. package/dist/web-client/assets/FilesPanel-DYs1MhoM.js +0 -2
  832. package/dist/web-client/assets/ReviewPanel-BDxG670T.js +0 -1
  833. package/dist/web-client/assets/index-BWV5sIvw.css +0 -1
  834. package/dist/web-client/assets/index-VVUKj6FE.js +0 -17
package/CHANGELOG.md CHANGED
@@ -22,6 +22,213 @@ which is **not** a pass.
22
22
 
23
23
  ## [Unreleased]
24
24
 
25
+ ## [0.3.7] — CANDIDATE
26
+
27
+ > **Status: candidate.** This work is isolated on the codex/v0.3.7 worktree (left project
28
+ > rail interaction quality). It is not merged, tagged or published to npm.
29
+
30
+ ### Added
31
+
32
+ - Session **tags**: up to 8 user-assigned tags per Session (each ≤ 32 chars), persisted on
33
+ the Session record (`SessionMeta.tags`), projected into `WebSessionSummaryV1.tags`,
34
+ managed from a new "管理标签…" dialog (chip add via Enter/comma, per-chip remove) and
35
+ rendered as small badges on rail rows. Host endpoint `POST /sessions/:id/tags`.
36
+ - Session **archive / restore**: soft delete via `SessionMeta.archivedAt` that keeps every
37
+ file, hides the Session from default listings and counts, and surfaces it under a new
38
+ "已归档" rail section with a 还原 action (`POST /sessions/:id/archive|restore`;
39
+ `GET /workspaces/:id/sessions/archived`).
40
+ - Session **delete** from the web workbench: destructive confirmation dialog (explicit
41
+ "永久删除" guard, 不可恢复 copy) wired to the existing storage `deleteSession` through a
42
+ new `DELETE /sessions/:id` endpoint; refuse-while-busy checks in the controller.
43
+ - The rail rename affordance becomes a general **overflow menu** (`SessionRowMenu`,
44
+ keyboard navigable ↑↓/Home/End/Esc with focus restore) hosting 重命名… / 管理标签… /
45
+ 归档 / 删除… so future per-Session actions have a stable home.
46
+
47
+ ### Changed
48
+
49
+ - Active-workspace session listings (`listProjectSessions`, `listSessions`,
50
+ `countSessionsByProject`) exclude archived Sessions by default.
51
+ - Rail footer status copy is shortened to 已连接 / 离线 / … with full sentences moved to a
52
+ tooltip (`connectionTitle`); the collapsed rail dot keeps an accessible short label.
53
+ - Project tag chips, archived-section rows and the two new dialogs ship with their own
54
+ styles; stale `.session-rename`/`.session-row` rules were removed.
55
+
56
+ ### Fixed
57
+
58
+ - Rename failures are no longer silent: `RenameDialog` surfaces the server error inline
59
+ (`field-error`) instead of closing without feedback.
60
+ - Session-row menu hint ids are instance-unique (`useId`) so `aria-describedby` can never
61
+ point at another row's hint.
62
+ - The archived rail listing is bound to its owning Workspace: switching projects drops stale
63
+ foreign archive rows immediately and never flashes another project's archive while loading;
64
+ `session_deleted` also clears the stale runtime projection.
65
+
66
+ ### Tests
67
+
68
+ - New contract suites: `web-reducer-session-lifecycle` (14, incl. owner-binding + runtime
69
+ cleanup regression), `web-ui-SessionDialogs` (7), `web-ui-SessionRowMenu` (3),
70
+ `web-ui-WorkspaceDialog` (6), `session-storage-tags-archive` (5, incl. delete),
71
+ plus controller-level guards (tags validation / archive-restore / delete-while-busy /
72
+ foreign-workspace rejection / 404) in `web-workbench-controller.test.ts`; `web-ui-*` now
73
+ 112 cases green. E2E: `web-v037-session-lifecycle.spec.ts` (archive/restore, delete-confirm,
74
+ tags round-trip) runs in CI.
75
+
76
+
77
+ ## [0.3.6] — CANDIDATE
78
+
79
+ > **Status: candidate.** This work is isolated on the codex/v0.3.6 worktree (pure web
80
+ > workbench interaction quality). It is not merged, tagged or published to npm.
81
+
82
+ ### Added
83
+
84
+ - Component rendering contract layer for the web workbench: six `.test.tsx` suites
85
+ (89 cases) assert on `react-dom/server.renderToStaticMarkup` output without jsdom —
86
+ Markdown / StateDot / ShortcutHelp / DiffViewer / ApprovalCard / PanelResize.
87
+ - `StateDot` status indicator that never relies on colour alone (WCAG 1.4.1): every dot
88
+ carries a shape channel via `data-tone` (square / circle / pulsing ring / hollow ring /
89
+ triangle) plus a visually-hidden text label for assistive tech; applied to reasoning,
90
+ research sources, review evidence and the work-panel rail.
91
+ - Single-source keyboard binding table (`shortcuts.ts`) plus a `⌘/` shortcut help dialog
92
+ rendered from it, so the panel cannot drift from the live bindings; `matchesShortcut`
93
+ now resolves `Esc` → `Escape` so the help vocabulary matches real key events.
94
+ - Header theme-cycle button (system → light → dark, persisted through the settings
95
+ document); the `SettingsDialog` entry stays intact.
96
+ - Stacked notification toasts (P1-C): multiple notices queue without overwriting, each
97
+ non-recoverable non-error notice auto-dismisses after 5s, error / recovery notices stay
98
+ until acted on, and `aria-live` is graded (alert for errors, status otherwise).
99
+
100
+ ### Changed
101
+
102
+ - `PanelResizeHandle` is keyboard reachable with full separator semantics: `role=separator`
103
+ with live `aria-valuenow`/`aria-valuetext`, ←/→ steps of 2% (Shift 10%), Home/End jump,
104
+ Enter/Space reset to default; stepping logic is extracted as pure functions.
105
+ - Notification region becomes a stacked container (`.workbench-notice-stack`); cards slide
106
+ in on `opacity`/`transform` only and the whole stack is inert while drawers are open.
107
+ - Icon set gains `sun` / `moon` / `monitor` / `keyboard` glyphs.
108
+
109
+ ### Fixed
110
+
111
+ - Markdown heading off-by-one: `##` renders as `<h2>` (was `<h3>`), a lone `#` no longer
112
+ collapses to `<h6>`; >6 hashes stay a plain paragraph per GFM.
113
+
114
+
115
+ ## [0.3.5] — CANDIDATE
116
+
117
+ > **Status: candidate.** This work is isolated on the codex/v0.3.5 worktree. It is not
118
+ > merged, tagged or published to npm, and exact-artifact qualification remains a separate gate.
119
+
120
+ ### Added
121
+
122
+ - Version thread projection digests so v0.3.2/v0.3.3 cutover receipts keep verifying while new
123
+ projections carry the full diagnostic/compact shape; forged digests fail closed.
124
+ - Session snapshot sync state is decoupled from the Host transport: a Session snapshot failure
125
+ can no longer flip the live SSE to `replay-required`; Composer and command gates require both
126
+ transport live and the foreground Session snapshot ready.
127
+ - Host and browser diagnostics counters for Session switches, snapshot cache hits/loads/latency,
128
+ and Session actor allocation/eviction/closure, so "pure selection allocates no Runtime" is
129
+ provable from counters instead of prose.
130
+ - Runtime ownership across Workspace Context switches: the Host-level Session registry is created
131
+ once and preserved; control planes and Session actors borrow per-Workspace shared kernels, and
132
+ only Host shutdown closes every actor and kernel.
133
+
134
+ ### Changed
135
+
136
+ - Instant Session switching renders a cached projection immediately, refreshes with a bounded
137
+ tail snapshot in the background, and prefetches the most recent Sessions after a baseline.
138
+ - Version and release hygiene: package identity moves to 0.3.5, `release:check` recognizes
139
+ `codex/vX.Y.Z` and `GITHUB_HEAD_REF` release branches, and the Web rail no longer falls back to
140
+ a hardcoded version string.
141
+
142
+ ### Fixed
143
+
144
+ - Workspace Context activation no longer shuts down resident Session actors of other Workspaces
145
+ or requires every actor to be idle before switching the active control plane.
146
+ - A failed Context activation restores the previous control plane without rebuilding the Session
147
+ registry, so resident actors and their Runtime revisions survive the rollback.
148
+
149
+ ## [0.3.4] — CANDIDATE
150
+
151
+ > **Status: candidate.** This stabilization work is isolated on the v0.3.4 worktree. It is not
152
+ > merged, tagged or published to npm, and exact-artifact qualification remains a separate gate.
153
+
154
+ ### Changed
155
+
156
+ - Bind Settings writes to the active Workspace and Context revision in addition to the Settings
157
+ document revision, so a stale browser tab cannot apply a valid patch to another Workspace.
158
+ - Preserve lexical symbolic-link identity while projecting a contained target as a file or
159
+ directory, and expose the true changed-file total separately from the bounded Review page.
160
+ - Split exact-tgz qualification into a script-disabled identity stage and a separate lifecycle-
161
+ enabled consumer/native stage.
162
+
163
+ ### Fixed
164
+
165
+ - Keep split terminal surrogate pairs intact across delayed PTY callbacks, wait for browser write
166
+ capacity without animation-frame spin, and drain reconnect data in replay, live-tail, exit order.
167
+ - Reject blank Session renames without changing durable metadata, and keep active-turn state intact
168
+ when a busy-rejected slash command fails.
169
+ - Isolate concurrent command transcript capture so interleaved output cannot cross Sessions or
170
+ leave the process-wide console bridge installed.
171
+ - Project cold and resident Composer model, Effort and permission changes from the actor Runtime's
172
+ canonical Session instead of a pre-actor metadata copy.
173
+ - Detect binary content on every file page, render contained directory symlinks as expandable and
174
+ label Review truncation against the true repository total.
175
+
176
+ ### Security
177
+
178
+ - Redact URL userinfo and structured sensitive keys before browser/evidence projection; evaluate
179
+ file aliases plus canonical targets and block sensitive current or rename-source Git diffs before
180
+ starting a content process.
181
+ - Require matching, canonical-digest-verified terminal receipts and durable receipt facts before a
182
+ modern tool result can project success.
183
+ - Fail release qualification for a failed live canary or duplicated runtime run and manifest
184
+ evidence instead of accepting a structurally complete but non-independent matrix.
185
+
186
+ ## [0.3.3] — CANDIDATE
187
+
188
+ > **Status: candidate.** The implementation and local qualification remain isolated on the v0.3.3
189
+ > worktree. It is not merged, tagged, published to npm or represented as a completed release receipt.
190
+
191
+ ### Added
192
+
193
+ - Add the bundled `orion-blocksmith` pixel-workshop style as a closed built-in appearance option,
194
+ composed with system/light/dark themes and reduced motion without remote assets or executable
195
+ theme packages.
196
+ - Add a bounded Web Session actor registry with three running slots, four resident actors, FIFO
197
+ overflow admission, cancellable queued turns, idle LRU eviction and explicit per-Session runtime
198
+ revisions.
199
+ - Add the v0.3.3 OpenAPI, migration guide and exact-artifact WEB33-P0-01..12 plus
200
+ WEB33-P0-16..24 qualification contract.
201
+
202
+ ### Changed
203
+
204
+ - Make foreground Session selection browser-tab-local so a running, approval-waiting or queued
205
+ Session continues while another Session is viewed or submitted.
206
+ - Route Session commands and Composer mutations through exact Workspace, Context, Session runtime
207
+ and control revisions; stale operations fail closed instead of following a global active Session.
208
+ - Keep a single Workbench SSE connection while projecting Session-tagged runtime state into bounded
209
+ per-Session browser caches.
210
+ - Package runtime JavaScript and declarations without generated source-map files, preserving local
211
+ build maps while keeping the published artifact within the existing unpacked-size budget.
212
+
213
+ ### Fixed
214
+
215
+ - Remove the global pending barrier from warm same-Workspace Session selection and restore cached
216
+ content immediately while a guarded snapshot refreshes in the background.
217
+ - Keep the collapsed Work Panel as a right-side full-height 48px rail across desktop and drawer
218
+ breakpoints without moving it below the conversation or creating horizontal page overflow.
219
+ - Keep the only persistent Settings entry at the lower-left project rail and restore focus after a
220
+ successful Settings save.
221
+ - Raise Orion Blocksmith light-theme muted text contrast to WCAG AA for small labels and empty-state
222
+ copy.
223
+
224
+ ### Security
225
+
226
+ - Serialize same-Workspace mutating Tool steps through a shared arbiter while preserving independent
227
+ actors for non-conflicting work; stale file baselines are rejected before side effects.
228
+ - Bind queued-turn cancellation, approvals, Goal/Plan controls and structured Context references to
229
+ the intended Session actor, with zero cross-Session provider, Tool, journal or file effects on
230
+ revision conflict.
231
+
25
232
  ## [0.3.2] — CANDIDATE
26
233
 
27
234
  > **Status: candidate.** Source, API and browser qualification are being frozen together. This is
package/README.md CHANGED
@@ -2,16 +2,26 @@
2
2
 
3
3
  Local-first, goal-driven coding agent for the terminal and browser.
4
4
 
5
- > v0.3.2 candidate — one Orion runtime with a resizable local Web Workbench, a Session-scoped
6
- > Composer Control Center and the existing TUI/terminal surfaces. Candidate source is not an npm
7
- > publication or Git tag.
5
+ > v0.3.7 candidate — a left project-rail interaction release on top of the v0.3.6 work:
6
+ > shortened connection copy, a keyboard-reachable per-Session overflow menu
7
+ > (rename / tags / archive / delete with confirmation), persisted Session tags with
8
+ > rail badges, an archived-Session section with restore, and a friendlier
9
+ > "打开或新增项目" workspace dialog. Candidate source is not an npm publication,
10
+ > Git tag, or merge-ready release.
8
11
 
9
12
  [中文说明](README.zh-CN.md) ·
10
- [v0.3.2 Workbench plan](docs/plan/v0.3.2-web-workbench-layout-and-composer-plan.md) ·
11
- [v0.3.2 Web API](docs/architecture/v0.3.2-web-api.yaml) ·
13
+ [v0.3.7 plan](docs/plan/v0.3.7-left-rail-improvement-plan.md) ·
14
+ [v0.3.6 plan](docs/plan/v0.3.6-plan.md) ·
15
+ [v0.3.5 plan](docs/plan/v0.3.5-plan.md) ·
16
+ [v0.3.4 stabilization plan](docs/plan/v0.3.4-stabilization-plan.md) ·
17
+ [v0.3.4 contract](docs/architecture/v0.3.4-stabilization-contract.md) ·
18
+ [v0.3.4 E2E plan](docs/test/v0.3.4-stabilization-e2e-plan.md) ·
19
+ [v0.3.4 migration](docs/migration/v0.3.3-to-v0.3.4.md) ·
20
+ [v0.3.3 plan](docs/plan/v0.3.3-plan.md) ·
21
+ [v0.3.3 Web API](docs/architecture/v0.3.3-web-api.yaml) ·
12
22
  [mode/permission contract](docs/architecture/agent-mode-permission-contract.md) ·
13
- [v0.3.2 E2E plan](docs/test/v0.3.2-web-workbench-e2e-plan.md) ·
14
- [v0.3.2 migration](docs/migration/v0.3.1-to-v0.3.2.md) ·
23
+ [v0.3.3 E2E plan](docs/test/v0.3.3-web-workbench-e2e-plan.md) ·
24
+ [v0.3.3 migration](docs/migration/v0.3.2-to-v0.3.3.md) ·
15
25
  [v0.3.0 Web plan](docs/plan/v0.3.0-web-workbench-plan.md) ·
16
26
  [Settings plan](docs/plan/v0.3.0-settings-integration-plan.md) ·
17
27
  [Node compatibility](docs/plan/v0.3.0-node-runtime-compatibility-plan.md) ·
@@ -20,11 +30,82 @@ Local-first, goal-driven coding agent for the terminal and browser.
20
30
  [Settings migration](docs/migration/v0.2.2-to-v0.3.0-settings.md) ·
21
31
  [real-state gallery](docs/assets/screenshots/v0.3.0-web/README.md)
22
32
 
23
- ## What v0.3.2 includes
24
-
25
- - **One runtime, two interactive surfaces.** `orion web` uses the same product bootstrap,
26
- AgentRuntimeController, Session/Thread stores, ToolGateway, approvals, Goals, Plans, Skills and
27
- MCP boundaries as the terminal product; the browser does not run a second agent loop.
33
+ ## What v0.3.7 changes
34
+
35
+ - **Left rail status copy** is shortened (已连接 / 离线 / …) with full sentences on hover.
36
+ - **Per-Session overflow menu** replaces the rename icon — 重命名… / 管理标签… / 归档 /
37
+ 删除…, fully keyboard navigable, deleting requires an explicit confirmation dialog.
38
+ - **Session tags**: up to 8 persisted tags per Session, edited as chips and shown as
39
+ badges on rows; archive hides a Session (all files kept) into a rail 已归档 section
40
+ with one-click restore.
41
+ - **Workspace dialog** rework: "打开或新增项目" with suggested workspaces, a collapsible
42
+ "其他工作区" list and busy/validation feedback.
43
+
44
+ ## What v0.3.6 changes
45
+
46
+ - **A component-rendering contract layer.** Six `.test.tsx` suites (89 cases) assert the web
47
+ workbench UI through `renderToStaticMarkup` — no jsdom needed — pinning Markdown tables and
48
+ headings, status dots, the shortcut help dialog, the diff viewer, the permission card and the
49
+ resize separator keyboard contract.
50
+ - **Keyboard-reachable resize separators.** Project navigation and work-panel splitters expose
51
+ full separator semantics (`aria-valuenow`/`aria-valuetext`) and answer ←/→ (±2%, Shift ±10%),
52
+ Home/End and Enter/Space from the keyboard.
53
+ - **Status without colour alone.** A shared `StateDot` adds a shape channel (`data-tone`) and a
54
+ screen-reader label to every status dot — reasoning, research sources, review evidence and the
55
+ work-panel rail.
56
+ - **Single-source shortcut help.** `⌘/` opens a help dialog rendered from the same binding table
57
+ the live handlers match against.
58
+ - **Theme cycle in the header.** One click walks system → light → dark and persists through the
59
+ settings document; light tokens stay consolidated in the blocksmith token sheet.
60
+ - **Stacked notifications.** Toasts queue instead of overwriting, auto-dismiss after 5s unless
61
+ error/recovery, and grade `aria-live` by severity.
62
+
63
+ ## What v0.3.5 changes
64
+
65
+ - **Session snapshot state is its own machine.** A failed HTTP snapshot marks only the foreground
66
+ Session `failed` and never flips the live SSE into `replay-required`; Composer and command gates
67
+ require both a live transport and a ready foreground Session snapshot.
68
+ - **Instant Session switching.** A cached projection renders synchronously, a bounded tail snapshot
69
+ refreshes it in the background, the most recent Sessions are prefetched after a baseline, and stale
70
+ responses can never overwrite the browser-local foreground.
71
+ - **Runtime ownership across Workspaces.** The Host-level Session actor registry is created once per
72
+ Host. A Workspace Context switch swaps only the active control plane; Session actors of other
73
+ Workspaces keep running on the Workspace kernel they were created with, and only Host shutdown
74
+ closes every actor and kernel. Failed switches roll back without rebuilding the registry.
75
+ - **Provable runtime ownership.** Host and browser diagnostics count Session snapshot requests,
76
+ latency and failures, Session switches and cache hits, and actor allocation/eviction/closure — so a
77
+ pure selection provably allocates zero Session Runtimes.
78
+ - **Release hygiene.** Version identity moves to 0.3.5; `release:check` understands `codex/vX.Y.Z`
79
+ and `GITHUB_HEAD_REF`; the Web rail no longer hardcodes a fallback version.
80
+
81
+ This branch also carries the merged [v0.3.4 stabilization](#what-v034-stabilizes) below.
82
+
83
+ ## What v0.3.4 stabilizes
84
+
85
+ - **Context-bound writes.** Settings mutations now carry the active Workspace and Context revision;
86
+ stale tabs fail with no write or Runtime apply. Blank Session renames and busy slash commands also
87
+ fail without corrupting durable or active-turn state.
88
+ - **One sensitive-data boundary.** Structured credentials, URL userinfo, canonical file targets,
89
+ Git diff paths, tool artifacts and concurrent command output are checked and redacted before they
90
+ reach browser or evidence surfaces.
91
+ - **Deterministic Terminal transport.** Split surrogate pairs, browser write backpressure and
92
+ reconnect races preserve complete Unicode and the required replay, live-tail, exit and close
93
+ order.
94
+ - **Honest durable/read projections.** Tool receipt and journal facts must validate as a pair;
95
+ symbolic links expose an effective target kind without losing lexical identity, and Review
96
+ distinguishes total changed files from its bounded visible page.
97
+ - **Fail-closed release proof.** Failed live canaries, duplicate runtime evidence and lifecycle
98
+ scripts hidden inside a supposedly safe package-install stage are release blockers.
99
+
100
+ ## What v0.3.3 includes
101
+
102
+ - **One execution spine, bounded Web Session actors.** Web Sessions use the same product bootstrap,
103
+ AgentRuntimeController, Session/Thread stores, ToolGateway, approvals, Goals, Plans, Skills and MCP
104
+ boundaries as the terminal product. Up to three Session turns may run concurrently with four
105
+ resident actors; the TUI and terminal surfaces keep their single-active-Session contract.
106
+ - **Orion Blocksmith.** A bundled pixel-workshop style combines with system/light/dark themes without
107
+ remote assets, dynamic theme code or a second settings source. Classic remains available as an
108
+ explicit built-in style.
28
109
  - **Recoverable Web workbench.** The React workbench includes workspace/session navigation,
29
110
  transcript and tool activity, BUILD/PLAN/AUTO, follow-ups, interrupt, approvals, Goal/Plan,
30
111
  model/effort settings, Skills/MCP and diagnostics. Snapshots plus cursor replay repair refreshes
@@ -88,10 +169,10 @@ user extension boundaries.
88
169
  Node.js 22.12+, 24, and 26 are supported. Use Node 24 LTS for production or Node 26 Current for
89
170
  current development environments. Node 20 is upstream EOL and is no longer a v0.3 runtime.
90
171
 
91
- After the immutable `0.3.2` npm receipt exists:
172
+ After the immutable `0.3.5` npm receipt exists:
92
173
 
93
174
  ```bash
94
- npm install -g @orion-agents/orion-code@0.3.2
175
+ npm install -g @orion-agents/orion-code@0.3.7
95
176
  orion --version
96
177
  orion doctor
97
178
  ```
@@ -278,10 +359,13 @@ npm run test:web-e2e -- --grep @settings
278
359
 
279
360
  Release qualification additionally builds one exact tarball and installs that unchanged hash on
280
361
  Node 22/24/26 for package identity, native SQLite, TUI, terminal, print, Web, Goal, subagent, Skill,
281
- MCP, Compact, and resume journeys. WEB32-P0-01..12 additionally qualify the resizable project rail,
282
- Composer controls, Context, durable Plan review, queue/drafts and recovery/accessibility contract.
283
- See the [`v0.3.2 Workbench plan`](docs/plan/v0.3.2-web-workbench-layout-and-composer-plan.md) and
284
- [`v0.3.2 E2E qualification plan`](docs/test/v0.3.2-web-workbench-e2e-plan.md).
362
+ MCP, Compact, and resume journeys. WEB33-P0-01..12 qualify the built-in appearance contract, while
363
+ WEB33-P0-16..24 qualify parallel Session actors, foreground-local switching, bounded queues, the
364
+ right rail and the single Settings entry. See the [`v0.3.3 plan`](docs/plan/v0.3.3-plan.md) and
365
+ [`v0.3.3 E2E qualification plan`](docs/test/v0.3.3-web-workbench-e2e-plan.md). The security and
366
+ stabilization delta is defined by the
367
+ [`v0.3.4 test plan`](docs/test/v0.3.4-stabilization-e2e-plan.md), which does not treat source gates
368
+ as release evidence.
285
369
 
286
370
  ## Security
287
371
 
package/README.zh-CN.md CHANGED
@@ -2,15 +2,23 @@
2
2
 
3
3
  面向终端与浏览器、本地优先的目标驱动 Coding Agent。
4
4
 
5
- > v0.3.2 候选版本:一套 Orion Runtime,同时提供可调宽本地 Web Workbench、Session 级
6
- > Composer Control Center 与既有 TUI/terminal。Candidate 源码不代表已创建 npm 发布或 Git tag。
5
+ > v0.3.7 候选版本:左侧项目栏交互发布(基于 v0.3.6 之上)—— 状态文案精简、会话行键盘可达
6
+ > 操作菜单(重命名 / 标签 / 归档 / 删除含确认)、可持久化会话标签与行内徽章、已归档会话区一键还原、
7
+ > 以及更友好的「打开或新增项目」工作区对话框。Candidate 源码不代表已创建 npm 发布、Git tag 或达到
8
+ > 可合并状态。
7
9
 
8
10
  [English](README.md) ·
9
- [v0.3.2 Workbench 方案](docs/plan/v0.3.2-web-workbench-layout-and-composer-plan.md) ·
10
- [v0.3.2 Web API](docs/architecture/v0.3.2-web-api.yaml) ·
11
+ [v0.3.7 方案](docs/plan/v0.3.7-left-rail-improvement-plan.md) ·
12
+ [v0.3.6 方案](docs/plan/v0.3.6-plan.md) ·
13
+ [v0.3.4 稳定化方案](docs/plan/v0.3.4-stabilization-plan.md) ·
14
+ [v0.3.4 合同](docs/architecture/v0.3.4-stabilization-contract.md) ·
15
+ [v0.3.4 E2E 方案](docs/test/v0.3.4-stabilization-e2e-plan.md) ·
16
+ [v0.3.4 迁移](docs/migration/v0.3.3-to-v0.3.4.md) ·
17
+ [v0.3.3 方案](docs/plan/v0.3.3-plan.md) ·
18
+ [v0.3.3 Web API](docs/architecture/v0.3.3-web-api.yaml) ·
11
19
  [模式/权限合同](docs/architecture/agent-mode-permission-contract.md) ·
12
- [v0.3.2 E2E 方案](docs/test/v0.3.2-web-workbench-e2e-plan.md) ·
13
- [v0.3.2 迁移](docs/migration/v0.3.1-to-v0.3.2.md) ·
20
+ [v0.3.3 E2E 方案](docs/test/v0.3.3-web-workbench-e2e-plan.md) ·
21
+ [v0.3.3 迁移](docs/migration/v0.3.2-to-v0.3.3.md) ·
14
22
  [v0.3.0 Web 方案](docs/plan/v0.3.0-web-workbench-plan.md) ·
15
23
  [Settings 方案](docs/plan/v0.3.0-settings-integration-plan.md) ·
16
24
  [Node 兼容方案](docs/plan/v0.3.0-node-runtime-compatibility-plan.md) ·
@@ -19,11 +27,26 @@
19
27
  [Settings 迁移](docs/migration/v0.2.2-to-v0.3.0-settings.md) ·
20
28
  [真实状态图册](docs/assets/screenshots/v0.3.0-web/README.md)
21
29
 
22
- ## v0.3.2 包含什么
23
-
24
- - **一个 Runtime、两个交互界面。** `orion web` 与终端产品共用 product bootstrap、
25
- AgentRuntimeController、Session/Thread、ToolGateway、审批、Goal、Plan、Skills MCP;浏览器不另起
26
- 一套 agent loop。
30
+ ## v0.3.4 稳定了什么
31
+
32
+ - **Context 绑定写入。** Settings mutation 现在同时携带活动 Workspace 与 Context revision;陈旧页面
33
+ 不会写入或应用到另一个 Runtime。空 Session 名称和 busy slash command 也会保持持久态与活动回合不变。
34
+ - **统一敏感数据边界。** 结构化凭据、URL userinfo、canonical 文件目标、Git diff 路径、tool artifact
35
+ 和并发命令输出在进入浏览器或证据前统一检查与脱敏。
36
+ - **确定的 Terminal 传输。** PTY 代理对分片、浏览器写入背压与重连竞态都保持完整 Unicode,以及
37
+ replay、live tail、exit、close 的严格顺序。
38
+ - **诚实的 durable/read 投影。** Tool receipt 与 journal fact 必须成对校验;symlink 在保留 lexical
39
+ 类型的同时投影有效目标类型;Review 将仓库真实总数与有界可见页分开显示。
40
+ - **Fail-closed 发布证据。** live canary 失败、重复 Runtime 证据,或混入“安全安装阶段”的生命周期
41
+ script 都会阻止发布。
42
+
43
+ ## v0.3.3 包含什么
44
+
45
+ - **一条执行主干、有界 Web Session actors。** Web Session 与终端产品共用 product bootstrap、
46
+ AgentRuntimeController、Session/Thread、ToolGateway、审批、Goal、Plan、Skills 和 MCP。Web 最多允许
47
+ 3 个 Session turn 并行、4 个 actor 常驻;TUI/terminal 继续保持单活动 Session 合同。
48
+ - **Orion 方块工坊。** 内置像素工坊风格可与 system/light/dark 组合,不加载远程资产、动态主题代码或
49
+ 第二份 Settings 真相;classic 继续作为显式内置风格提供。
27
50
  - **可恢复的 Web 工作台。** React 界面覆盖工作区/会话、对话与工具活动、BUILD/PLAN/AUTO、follow-up、
28
51
  interrupt、审批、Goal/Plan、模型/effort、Skills/MCP 和诊断。快照与 cursor replay 负责刷新和 SSE
29
52
  重连恢复。
@@ -76,10 +99,10 @@ MCP 仍是用户可见的扩展边界。
76
99
  支持 Node.js 22.12+、24 和 26。生产环境建议使用 Node 24 LTS,当前开发环境也支持 Node 26
77
100
  Current。Node 20 已结束上游维护,不再属于 v0.3 Runtime 合同。
78
101
 
79
- 当 npm 已存在不可变的 `0.3.2` 发布凭据后:
102
+ 当 npm 已存在不可变的 `0.3.4` 发布凭据后:
80
103
 
81
104
  ```bash
82
- npm install -g @orion-agents/orion-code@0.3.2
105
+ npm install -g @orion-agents/orion-code@0.3.7
83
106
  orion --version
84
107
  orion doctor
85
108
  ```
@@ -251,9 +274,10 @@ npm run test:web-e2e -- --grep @settings
251
274
 
252
275
  正式准出还会只构建一次 exact tarball,并在 Node 22/24/26 安装同一个 hash,验证 package identity、
253
276
  native SQLite、TUI、terminal、print、Web、Goal、subagent、Skill、MCP、Compact 与 resume;
254
- WEB32-P0-01..12 还会验证可调项目栏、Composer 控制、Context、durable Plan review、队列/草稿、恢复与
255
- 无障碍合同。详见 [`v0.3.2 Workbench 方案`](docs/plan/v0.3.2-web-workbench-layout-and-composer-plan.md)与
256
- [`v0.3.2 E2E 资格计划`](docs/test/v0.3.2-web-workbench-e2e-plan.md)。
277
+ WEB33-P0-01..12 验证内置外观合同,WEB33-P0-16..24 验证并行 Session actors、标签页本地前台切换、
278
+ 有界队列、右侧 rail 与唯一 Settings 入口。详见 [`v0.3.3 方案`](docs/plan/v0.3.3-plan.md)与
279
+ [`v0.3.3 E2E 资格计划`](docs/test/v0.3.3-web-workbench-e2e-plan.md)。v0.3.4 的安全与稳定化增量见
280
+ [`v0.3.4 测试计划`](docs/test/v0.3.4-stabilization-e2e-plan.md);它不会把 source gate 当成发布凭据。
257
281
 
258
282
  ## 安全
259
283
 
@@ -206,11 +206,7 @@ async function showHarness(ctx, args = '') {
206
206
  },
207
207
  };
208
208
  const result = () => ({ success: true, output: lines.join('\n') });
209
- const tokens = args
210
- .trim()
211
- .toLowerCase()
212
- .split(/\s+/u)
213
- .filter(Boolean);
209
+ const tokens = args.trim().toLowerCase().split(/\s+/u).filter(Boolean);
214
210
  const explain = tokens[0] === 'explain';
215
211
  const json = tokens.includes('--json');
216
212
  if (tokens.some(token => token !== 'explain' && token !== '--json')) {
@@ -448,10 +448,7 @@ function registerBuiltinCommands(definitions) {
448
448
  if (ids.has(command.id))
449
449
  throw new Error(`Duplicate command id: ${command.id}`);
450
450
  ids.add(command.id);
451
- for (const value of [
452
- command.name,
453
- ...(command.aliases ?? []),
454
- ]) {
451
+ for (const value of [command.name, ...(command.aliases ?? [])]) {
455
452
  const normalized = value.toLowerCase();
456
453
  const owner = names.get(normalized);
457
454
  if (owner)
@@ -38,14 +38,24 @@ function extractTools(input) {
38
38
  return known.filter(tool => lower.includes(tool.toLowerCase()));
39
39
  }
40
40
  function extractConstraints(input) {
41
- const lines = input.split(/\r?\n/).map(line => line.trim()).filter(Boolean);
41
+ const lines = input
42
+ .split(/\r?\n/)
43
+ .map(line => line.trim())
44
+ .filter(Boolean);
42
45
  const constraintPattern = /(必须|要求|确保|保持|不要|不能|不准|避免|只|仅|must|should|required|ensure|keep|avoid|without|do not|don't|never|only)/i;
43
- return [...new Set(lines.filter(line => constraintPattern.test(line)).map(line => truncate(line, 180)))].slice(0, 10);
46
+ return [
47
+ ...new Set(lines.filter(line => constraintPattern.test(line)).map(line => truncate(line, 180))),
48
+ ].slice(0, 10);
44
49
  }
45
50
  function extractNonGoals(input) {
46
- const lines = input.split(/\r?\n/).map(line => line.trim()).filter(Boolean);
51
+ const lines = input
52
+ .split(/\r?\n/)
53
+ .map(line => line.trim())
54
+ .filter(Boolean);
47
55
  const nonGoalPattern = /(不要|不能|不准|避免|不引入|不新增|禁止|do not|don't|never|avoid|without)/i;
48
- return [...new Set(lines.filter(line => nonGoalPattern.test(line)).map(line => truncate(line, 180)))].slice(0, 8);
56
+ return [
57
+ ...new Set(lines.filter(line => nonGoalPattern.test(line)).map(line => truncate(line, 180))),
58
+ ].slice(0, 8);
49
59
  }
50
60
  function extractQuestions(input) {
51
61
  return input
@@ -75,45 +85,86 @@ function classifyKind(input, state) {
75
85
  return { kind: 'casual_or_feedback', confidence: 0.5, reason: 'empty input' };
76
86
  }
77
87
  if (isGenericContinue(text)) {
78
- return { kind: 'continue_current_task', confidence: 0.78, reason: 'generic continuation request' };
88
+ return {
89
+ kind: 'continue_current_task',
90
+ confidence: 0.78,
91
+ reason: 'generic continuation request',
92
+ };
79
93
  }
80
94
  if (isShortFeedback(text)) {
81
- return { kind: 'casual_or_feedback', confidence: 0.72, reason: 'short feedback should not replace the root objective' };
95
+ return {
96
+ kind: 'casual_or_feedback',
97
+ confidence: 0.72,
98
+ reason: 'short feedback should not replace the root objective',
99
+ };
82
100
  }
83
- if (matches(lower, /\b(verify|test|run tests?|check|lint|typecheck|build)\b/) || matches(text, /(验证|测试|检查|跑一下|运行测试|构建|编译)/)) {
101
+ if (matches(lower, /\b(verify|test|run tests?|check|lint|typecheck|build)\b/) ||
102
+ matches(text, /(验证|测试|检查|跑一下|运行测试|构建|编译)/)) {
84
103
  return { kind: 'verify_or_test', confidence: 0.82, reason: 'verification-oriented wording' };
85
104
  }
86
105
  if (hasRoot && isVersionScopedRefinement(text)) {
87
- return { kind: 'refine_current_task', confidence: 0.78, reason: 'version-scoped refinement within the active task' };
106
+ return {
107
+ kind: 'refine_current_task',
108
+ confidence: 0.78,
109
+ reason: 'version-scoped refinement within the active task',
110
+ };
88
111
  }
89
112
  if (matches(lower, /\b(harness|mcp|session|resume|compact|config|configuration|ui|npm|publish|push|pull request|pr)\b/) ||
90
113
  matches(text, /(配置|会话|恢复|压缩|版本|分支|发布|新ui|界面|工具|权限|确认|配置文件)/)) {
91
114
  if (matches(text, /(基于当前|切\s*v|切到|这个版本|新版本|开始按|完整开发|实现这个方案)/) ||
92
115
  matches(lower, /\b(please implement|implement this plan|start implementing|new version)\b/)) {
93
- return { kind: 'new_task', confidence: 0.88, reason: 'explicit versioned implementation task' };
116
+ return {
117
+ kind: 'new_task',
118
+ confidence: 0.88,
119
+ reason: 'explicit versioned implementation task',
120
+ };
94
121
  }
95
- return { kind: 'meta_configuration', confidence: 0.75, reason: 'configuration or CLI meta request' };
122
+ return {
123
+ kind: 'meta_configuration',
124
+ confidence: 0.75,
125
+ reason: 'configuration or CLI meta request',
126
+ };
96
127
  }
97
128
  if (matches(text, /(不对|不是|错了|改成|改为|换成|重新|重做|不要.+而是|应该.+而不是)/) ||
98
129
  matches(lower, /\b(instead|replace|switch to|redo|wrong)\b/)) {
99
- return { kind: 'interrupt_and_replace_current_step', confidence: 0.8, reason: 'correction or replacement wording' };
130
+ return {
131
+ kind: 'interrupt_and_replace_current_step',
132
+ confidence: 0.8,
133
+ reason: 'correction or replacement wording',
134
+ };
100
135
  }
101
136
  if (matches(text, /(基于|切到|这个版本|新版本|开始|实现|开发|生成|创建|写文档|完成本次|按这个计划|完整支持|帮我完成)/) ||
102
137
  matches(lower, /\b(generate|create|implement|build|start|complete this|write a|please implement)\b/)) {
103
- return { kind: 'new_task', confidence: hasRoot ? 0.76 : 0.86, reason: 'explicit task creation wording' };
138
+ return {
139
+ kind: 'new_task',
140
+ confidence: hasRoot ? 0.76 : 0.86,
141
+ reason: 'explicit task creation wording',
142
+ };
104
143
  }
105
144
  // Clarification: user is asking for explanation or asking about meaning
106
145
  // Must be checked BEFORE refinement since clarification phrases may contain "这个"
107
146
  if (matches(text, /(什么意思|解释一下|解释说明|clarify|explain to me|what does.*mean|what is.*for|can you explain|meaning of)/) ||
108
147
  matches(lower, /^(what|why|how|explain|clarify|could you explain|can you explain)\b/)) {
109
- return { kind: 'clarification', confidence: 0.7, reason: 'clarification or explanation request' };
148
+ return {
149
+ kind: 'clarification',
150
+ confidence: 0.7,
151
+ reason: 'clarification or explanation request',
152
+ };
110
153
  }
111
154
  if (matches(text, /(补充|另外|同时|还有|希望|可以|顺便|完善|优化|灰色|填充|这个|这里|如图|也|继续)/) ||
112
155
  matches(lower, /\b(also|additionally|please also|refine|improve|continue)\b/)) {
113
- return { kind: 'refine_current_task', confidence: hasRoot ? 0.76 : 0.58, reason: 'refinement or addition wording' };
156
+ return {
157
+ kind: 'refine_current_task',
158
+ confidence: hasRoot ? 0.76 : 0.58,
159
+ reason: 'refinement or addition wording',
160
+ };
114
161
  }
115
162
  return hasRoot
116
- ? { kind: 'refine_current_task', confidence: 0.55, reason: 'existing task makes ambiguous input a refinement' }
163
+ ? {
164
+ kind: 'refine_current_task',
165
+ confidence: 0.55,
166
+ reason: 'existing task makes ambiguous input a refinement',
167
+ }
117
168
  : { kind: 'new_task', confidence: 0.62, reason: 'first meaningful user task' };
118
169
  }
119
170
  function classifyIntent(input, state) {
@@ -121,7 +172,9 @@ function classifyIntent(input, state) {
121
172
  const baseEpoch = state?.taskEpoch ?? (state?.contract ? 1 : 0);
122
173
  const classified = classifyKind(input, state);
123
174
  const rootObjectiveChanged = classified.kind === 'new_task' || !state?.contract;
124
- const taskEpoch = rootObjectiveChanged ? Math.max(1, baseEpoch + (state?.contract ? 1 : 0)) : Math.max(1, baseEpoch || 1);
175
+ const taskEpoch = rootObjectiveChanged
176
+ ? Math.max(1, baseEpoch + (state?.contract ? 1 : 0))
177
+ : Math.max(1, baseEpoch || 1);
125
178
  const summary = truncate(input || 'Continue the current task');
126
179
  return {
127
180
  id: (0, crypto_1.randomUUID)(),
@@ -12,7 +12,9 @@ function unique(items) {
12
12
  function parseJsonObject(text) {
13
13
  try {
14
14
  const parsed = JSON.parse(text);
15
- return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : null;
15
+ return parsed && typeof parsed === 'object' && !Array.isArray(parsed)
16
+ ? parsed
17
+ : null;
16
18
  }
17
19
  catch {
18
20
  return null;