@orion-agents/orion-code 0.3.1 → 0.3.2

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 (109) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +39 -28
  3. package/README.zh-CN.md +32 -25
  4. package/dist/commands/model-command-handlers.d.ts.map +1 -1
  5. package/dist/commands/model-command-handlers.js +59 -14
  6. package/dist/commands/model-command-handlers.js.map +1 -1
  7. package/dist/commands/types.d.ts +6 -0
  8. package/dist/commands/types.d.ts.map +1 -1
  9. package/dist/commands/types.js.map +1 -1
  10. package/dist/commands/workflow-command-handlers.d.ts +1 -1
  11. package/dist/commands/workflow-command-handlers.d.ts.map +1 -1
  12. package/dist/commands/workflow-command-handlers.js +42 -3
  13. package/dist/commands/workflow-command-handlers.js.map +1 -1
  14. package/dist/commands/workflow-commands.d.ts.map +1 -1
  15. package/dist/commands/workflow-commands.js +2 -2
  16. package/dist/commands/workflow-commands.js.map +1 -1
  17. package/dist/runtime/agent-runtime-controller.d.ts +16 -2
  18. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  19. package/dist/runtime/agent-runtime-controller.js +115 -6
  20. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  21. package/dist/runtime/agent-runtime-protocol.d.ts +3 -0
  22. package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
  23. package/dist/runtime/agent-runtime-protocol.js.map +1 -1
  24. package/dist/runtime/agent-runtime-runner.d.ts +8 -0
  25. package/dist/runtime/agent-runtime-runner.d.ts.map +1 -1
  26. package/dist/runtime/orion-session-runner.d.ts +4 -0
  27. package/dist/runtime/orion-session-runner.d.ts.map +1 -1
  28. package/dist/runtime/orion-session-runner.js +15 -0
  29. package/dist/runtime/orion-session-runner.js.map +1 -1
  30. package/dist/runtime/plan-review.d.ts +38 -0
  31. package/dist/runtime/plan-review.d.ts.map +1 -0
  32. package/dist/runtime/plan-review.js +173 -0
  33. package/dist/runtime/plan-review.js.map +1 -0
  34. package/dist/runtime/product-bootstrap.d.ts.map +1 -1
  35. package/dist/runtime/product-bootstrap.js +28 -6
  36. package/dist/runtime/product-bootstrap.js.map +1 -1
  37. package/dist/runtime/product-orion-runtime.d.ts.map +1 -1
  38. package/dist/runtime/product-orion-runtime.js +14 -35
  39. package/dist/runtime/product-orion-runtime.js.map +1 -1
  40. package/dist/runtime/protocol/runtime-protocol-v1.d.ts +73 -0
  41. package/dist/runtime/protocol/runtime-protocol-v1.d.ts.map +1 -1
  42. package/dist/runtime/protocol/runtime-protocol-v1.js +37 -0
  43. package/dist/runtime/protocol/runtime-protocol-v1.js.map +1 -1
  44. package/dist/runtime/release-receipts.d.ts +5 -3
  45. package/dist/runtime/release-receipts.d.ts.map +1 -1
  46. package/dist/runtime/release-receipts.js +42 -1
  47. package/dist/runtime/release-receipts.js.map +1 -1
  48. package/dist/runtime/session-composer-control.d.ts +136 -0
  49. package/dist/runtime/session-composer-control.d.ts.map +1 -0
  50. package/dist/runtime/session-composer-control.js +532 -0
  51. package/dist/runtime/session-composer-control.js.map +1 -0
  52. package/dist/runtime/thread-projection.d.ts +17 -0
  53. package/dist/runtime/thread-projection.d.ts.map +1 -1
  54. package/dist/runtime/thread-projection.js +87 -0
  55. package/dist/runtime/thread-projection.js.map +1 -1
  56. package/dist/runtime/ui-events.d.ts +6 -1
  57. package/dist/runtime/ui-events.d.ts.map +1 -1
  58. package/dist/runtime/ui-events.js.map +1 -1
  59. package/dist/services/session-storage.d.ts +36 -0
  60. package/dist/services/session-storage.d.ts.map +1 -1
  61. package/dist/services/session-storage.js +77 -1
  62. package/dist/services/session-storage.js.map +1 -1
  63. package/dist/web/event-hub.js +10 -0
  64. package/dist/web/event-hub.js.map +1 -1
  65. package/dist/web/file-read-service.d.ts +9 -0
  66. package/dist/web/file-read-service.d.ts.map +1 -1
  67. package/dist/web/file-read-service.js +17 -7
  68. package/dist/web/file-read-service.js.map +1 -1
  69. package/dist/web/git-read-model-service.d.ts +8 -0
  70. package/dist/web/git-read-model-service.d.ts.map +1 -1
  71. package/dist/web/git-read-model-service.js +28 -2
  72. package/dist/web/git-read-model-service.js.map +1 -1
  73. package/dist/web/protocol.d.ts +142 -0
  74. package/dist/web/protocol.d.ts.map +1 -1
  75. package/dist/web/protocol.js +207 -0
  76. package/dist/web/protocol.js.map +1 -1
  77. package/dist/web/server.d.ts.map +1 -1
  78. package/dist/web/server.js +45 -8
  79. package/dist/web/server.js.map +1 -1
  80. package/dist/web/terminal-manager.d.ts +1 -0
  81. package/dist/web/terminal-manager.d.ts.map +1 -1
  82. package/dist/web/terminal-manager.js +41 -9
  83. package/dist/web/terminal-manager.js.map +1 -1
  84. package/dist/web/workbench-controller.d.ts +26 -9
  85. package/dist/web/workbench-controller.d.ts.map +1 -1
  86. package/dist/web/workbench-controller.js +545 -29
  87. package/dist/web/workbench-controller.js.map +1 -1
  88. package/dist/web-client/assets/{DiffViewer-DpKoD07C.js → DiffViewer-eaQNsnCh.js} +1 -1
  89. package/dist/web-client/assets/FilesPanel-DYs1MhoM.js +2 -0
  90. package/dist/web-client/assets/{GitPanel-D20StcdG.js → GitPanel-CnU4XVr7.js} +1 -1
  91. package/dist/web-client/assets/{ReviewPanel-3MVWbMQV.js → ReviewPanel-BDxG670T.js} +1 -1
  92. package/dist/web-client/assets/{TerminalPanel-BLQ592Fb.js → TerminalPanel-Q5mSSsoK.js} +15 -13
  93. package/dist/web-client/assets/index-BWV5sIvw.css +1 -0
  94. package/dist/web-client/assets/index-VVUKj6FE.js +17 -0
  95. package/dist/web-client/index.html +2 -2
  96. package/docs/architecture/agent-mode-permission-contract.md +87 -0
  97. package/docs/architecture/v0.3.1-web-api.yaml +53 -5
  98. package/docs/architecture/v0.3.2-web-api.yaml +3029 -0
  99. package/docs/migration/v0.3.1-to-v0.3.2.md +94 -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/readme.md +12 -2
  103. package/docs/test/v0.3.1-web-workbench-e2e-plan.md +1 -1
  104. package/docs/test/v0.3.2-web-workbench-e2e-plan.md +100 -0
  105. package/npm-shrinkwrap.json +2 -2
  106. package/package.json +6 -1
  107. package/dist/web-client/assets/FilesPanel-BkoLmgjR.js +0 -2
  108. package/dist/web-client/assets/index-BkIDl_xk.js +0 -16
  109. package/dist/web-client/assets/index-DXMpnWE8.css +0 -1
@@ -0,0 +1,94 @@
1
+ # Orion Code v0.3.1 → v0.3.2 Web Workbench 迁移说明
2
+
3
+ v0.3.2 在 v0.3.1 专业工作台基础上增加可调左侧项目栏、Composer Control Center、
4
+ Session 级模型与权限、可解释 Context、结构化引用、durable Plan review、队列编辑和
5
+ Session 草稿恢复。升级保留现有 Workspace、Session、Thread、Goal、Settings 和项目文件。
6
+
7
+ ## 升级前准备
8
+
9
+ 1. 停止旧 `orion web` Host;如有活动 terminal,先在页面中关闭并确认子进程已退出。
10
+ 2. 备份 `$ORION_CODE_CONFIG_DIR/orion.json` 和 Session/Thread 数据目录。
11
+ 3. 记录当前 Workspace、Session、模型与项目默认权限。不要把绝对路径、凭据或真实 terminal
12
+ 输出粘贴到问题报告。
13
+ 4. 使用 Node 22.12+、24 或 26;安装后执行 `orion --version` 与 `orion doctor`。
14
+
15
+ ## 布局偏好迁移
16
+
17
+ v0.3.2 将旧布局偏好迁移为 `WorkbenchLayoutPreferenceV2`:
18
+
19
+ - 左栏展开宽度默认 280px,可用鼠标指针在 240–480px 范围拖动,双击分隔条复位;
20
+ - 左栏可折叠为 48px rail;右栏继续使用 320–720px 桌面宽度;
21
+ - 中央对话区最小 560px,空间不足时先收缩右栏,再切换为 drawer;
22
+ - `<=760px` 时左右栏是互斥 drawer,窄屏不会覆盖保存的桌面宽度;
23
+ - 旧值无效或越界时会被 clamp/忽略,不会阻止 Workbench 启动。
24
+
25
+ 精细调宽只有鼠标指针入口;键盘仍可展开、折叠、打开 drawer 并操作全部内容。
26
+
27
+ ## Composer Control Center
28
+
29
+ 原先独立的 BUILD/PLAN/AUTO 按钮改为 Composer 下拉控制,并新增权限、模型、Effort 和
30
+ Context 入口。Host 是 current/last-good/pending/error 的权威源,浏览器不会自行推断运行态。
31
+
32
+ - **模式**:BUILD、PLAN、AUTO 是工作流模式;不等同于权限。
33
+ - **权限**:Session 可选 project default、Ask、Allow 或 Deny。Allow 需要风险确认,且不会绕过
34
+ hard policy、sandbox、capability 或 workspace containment。
35
+ - **模型**:模型和 Effort 是 Session 偏好;active turn 中的变更延迟到下一个 logical request。
36
+ - **Context**:显示 Runtime 提供的 token 使用量、容量和来源;estimated 数据带 `~`,模型切换后
37
+ 不沿用旧模型容量。
38
+ - **Compact**:切换到更小上下文模型前,Host 先执行可验证 compact;失败时模型、Effort、
39
+ Session metadata 和下一次请求保持原值。
40
+
41
+ 模式与权限是两个独立轴。AUTO 不能覆盖显式 Deny,也不能把权限提升为全局设置。
42
+
43
+ ## Durable Plan review
44
+
45
+ 这是 v0.3.2 最重要的行为变化:PLAN 提交后不再自动开始实现。
46
+
47
+ 1. Runtime 提交 PlanReceipt,并写入 `awaiting_review` 的 durable review state;
48
+ 2. 浏览器显示 exact plan digest;刷新或 Host restart 后仍可恢复;
49
+ 3. “批准并进入 BUILD”只接受当前 exact digest,并创建独立 BUILD logical request;
50
+ 4. “继续规划”要求反馈并创建新的 PLAN request;
51
+ 5. “取消”结束 review,不产生执行副作用;
52
+ 6. stale revision/digest 返回 409,客户端不得自动重放。
53
+
54
+ TUI、slash command 与 Web 共享同一 Plan review authority;UI 文案不是审批真源。
55
+
56
+ ## Context 引用、队列和草稿
57
+
58
+ - `+` 可添加 workspace 文件/目录、Review hunk、历史 Session 和 Skill 引用;
59
+ - 引用只传 opaque id、revision 和 digest,Host 在组装 prompt 时重新验证 containment、敏感文件、
60
+ stale revision 与预算;单引用最大 64KiB,总引用最大 256KiB;
61
+ - 队列项可编辑、移动和删除,每次 mutation 需要 item revision;冲突返回 409 且零副作用;
62
+ - Steer 与 follow-up 保持不同 admission 语义;队列使用执行时的最新 Composer 控制;
63
+ - 未发送草稿按 Session 存在当前 tab 的 `sessionStorage`,切换/刷新可恢复,发送或显式清除后删除;
64
+ 草稿不是 durable Session history,也不会跨浏览器重启恢复。
65
+
66
+ ## API 客户端变化
67
+
68
+ 自定义 Web 客户端应升级到
69
+ [`v0.3.2 OpenAPI`](../architecture/v0.3.2-web-api.yaml)并遵守以下规则:
70
+
71
+ - composer control mutation 携带 `requestId`、`expectedSessionId`、`expectedContextRevision` 和
72
+ control revision;
73
+ - queue edit/move/remove 携带 queue revision 与 item revision;
74
+ - Plan review 携带 exact plan digest/revision,不接受 last-write-wins;
75
+ - Context reference 是 discriminated union,未知类型和未知字段 fail-closed;
76
+ - replay reset 是硬屏障;matching active snapshot 恢复前 Composer 保持禁用;
77
+ - 409 后先重新读取 bootstrap/snapshot,再让用户确认目标,不自动重放高风险操作。
78
+
79
+ ## 回滚到 v0.3.1
80
+
81
+ 1. 停止 v0.3.2 Host,并关闭所有显式启动的 terminal。
82
+ 2. 备份 v0.3.2 布局偏好、Session composer preference 和 Thread events 供排查。
83
+ 3. 安装 exact v0.3.1 artifact,并显式选择原 Workspace/Session。
84
+ 4. v0.3.1 会忽略新的布局/Composer 投影,但不会删除项目文件或旧 Thread history。
85
+ 5. 不要在 v0.3.1 中批准 v0.3.2 创建的 pending Plan review;需要继续时重新在 v0.3.2 打开,
86
+ 或明确取消后再回滚。
87
+
88
+ 回滚不会恢复已关闭/lost terminal,也不会把浏览器 `sessionStorage` 草稿写入 Session。
89
+
90
+ ## 升级验证
91
+
92
+ 按 [`v0.3.2 Web E2E 资格计划`](../test/v0.3.2-web-workbench-e2e-plan.md)执行
93
+ WEB32-P0-01..12。只有 source-clean `@orion-agents/orion-code@0.3.2` exact tgz、真实 Chrome、
94
+ Node 22.12/24/26 和最终 digest-bound receipt 全部 GO,才能把候选标记为发布完成。
@@ -1,7 +1,7 @@
1
1
  # v0.3.1 Web Workbench 专业工作台优化计划
2
2
 
3
3
  - 版本:v0.3.1
4
- - 状态:待实施
4
+ - 状态:实施完成;发布资格以同一 source-clean 提交生成的 release receipt 为准
5
5
  - 日期:2026-08-29
6
6
  - 范围:Web Workbench 左侧项目导航、右侧工作面板、布局系统、专业化 UI
7
7
  - 参考:Codex 的工作台信息架构与交互密度;不复制其品牌、视觉资产或私有实现