@orion-agents/orion-code 0.2.2 → 0.3.1

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 (217) hide show
  1. package/CHANGELOG.md +82 -0
  2. package/README.md +89 -14
  3. package/README.zh-CN.md +77 -14
  4. package/bin/orion +15 -4
  5. package/dist/cli.js +51 -172
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/model-command-handlers.d.ts +2 -2
  8. package/dist/commands/model-command-handlers.d.ts.map +1 -1
  9. package/dist/commands/model-command-handlers.js +113 -32
  10. package/dist/commands/model-command-handlers.js.map +1 -1
  11. package/dist/commands/session-command-handlers.d.ts.map +1 -1
  12. package/dist/commands/session-command-handlers.js +106 -15
  13. package/dist/commands/session-command-handlers.js.map +1 -1
  14. package/dist/commands/types.d.ts +13 -3
  15. package/dist/commands/types.d.ts.map +1 -1
  16. package/dist/commands/types.js +1 -1
  17. package/dist/commands/types.js.map +1 -1
  18. package/dist/core/tool-artifacts.d.ts +2 -0
  19. package/dist/core/tool-artifacts.d.ts.map +1 -1
  20. package/dist/core/tool-artifacts.js +27 -1
  21. package/dist/core/tool-artifacts.js.map +1 -1
  22. package/dist/index.d.ts +1 -1
  23. package/dist/index.js +1 -1
  24. package/dist/runtime/agent-loop.d.ts.map +1 -1
  25. package/dist/runtime/agent-loop.js +3 -3
  26. package/dist/runtime/agent-loop.js.map +1 -1
  27. package/dist/runtime/agent-runtime-controller.d.ts +32 -1
  28. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  29. package/dist/runtime/agent-runtime-controller.js +241 -27
  30. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  31. package/dist/runtime/agent-runtime-protocol.d.ts +4 -0
  32. package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
  33. package/dist/runtime/agent-runtime-protocol.js.map +1 -1
  34. package/dist/runtime/agent-runtime-runner.d.ts +2 -1
  35. package/dist/runtime/agent-runtime-runner.d.ts.map +1 -1
  36. package/dist/runtime/durable-tool-receipt-reader.d.ts +32 -0
  37. package/dist/runtime/durable-tool-receipt-reader.d.ts.map +1 -0
  38. package/dist/runtime/durable-tool-receipt-reader.js +130 -0
  39. package/dist/runtime/durable-tool-receipt-reader.js.map +1 -0
  40. package/dist/runtime/legacy-thread-materializer.d.ts +31 -0
  41. package/dist/runtime/legacy-thread-materializer.d.ts.map +1 -1
  42. package/dist/runtime/legacy-thread-materializer.js +71 -17
  43. package/dist/runtime/legacy-thread-materializer.js.map +1 -1
  44. package/dist/runtime/orion-runtime-v1.d.ts +2 -0
  45. package/dist/runtime/orion-runtime-v1.d.ts.map +1 -1
  46. package/dist/runtime/orion-runtime-v1.js +7 -1
  47. package/dist/runtime/orion-runtime-v1.js.map +1 -1
  48. package/dist/runtime/orion-session-runner.d.ts +7 -2
  49. package/dist/runtime/orion-session-runner.d.ts.map +1 -1
  50. package/dist/runtime/orion-session-runner.js +16 -6
  51. package/dist/runtime/orion-session-runner.js.map +1 -1
  52. package/dist/runtime/product-bootstrap.d.ts +22 -0
  53. package/dist/runtime/product-bootstrap.d.ts.map +1 -0
  54. package/dist/runtime/product-bootstrap.js +374 -0
  55. package/dist/runtime/product-bootstrap.js.map +1 -0
  56. package/dist/runtime/product-orion-runtime.d.ts +2 -1
  57. package/dist/runtime/product-orion-runtime.d.ts.map +1 -1
  58. package/dist/runtime/product-orion-runtime.js +83 -13
  59. package/dist/runtime/product-orion-runtime.js.map +1 -1
  60. package/dist/runtime/protocol/runtime-protocol-v1.d.ts +1 -1
  61. package/dist/runtime/protocol/runtime-protocol-v1.js +1 -1
  62. package/dist/runtime/protocol/runtime-protocol-v1.js.map +1 -1
  63. package/dist/runtime/release-receipts.d.ts +66 -3
  64. package/dist/runtime/release-receipts.d.ts.map +1 -1
  65. package/dist/runtime/release-receipts.js +340 -7
  66. package/dist/runtime/release-receipts.js.map +1 -1
  67. package/dist/runtime/step-snapshot.d.ts.map +1 -1
  68. package/dist/runtime/step-snapshot.js +22 -2
  69. package/dist/runtime/step-snapshot.js.map +1 -1
  70. package/dist/runtime/subagents/runtime-integration.d.ts +1 -1
  71. package/dist/runtime/subagents/runtime-integration.d.ts.map +1 -1
  72. package/dist/runtime/subagents/runtime-integration.js +5 -2
  73. package/dist/runtime/subagents/runtime-integration.js.map +1 -1
  74. package/dist/runtime/thread-event-store.d.ts +80 -0
  75. package/dist/runtime/thread-event-store.d.ts.map +1 -1
  76. package/dist/runtime/thread-event-store.js +456 -22
  77. package/dist/runtime/thread-event-store.js.map +1 -1
  78. package/dist/runtime/thread-projection.d.ts +10 -0
  79. package/dist/runtime/thread-projection.d.ts.map +1 -1
  80. package/dist/runtime/thread-projection.js +40 -0
  81. package/dist/runtime/thread-projection.js.map +1 -1
  82. package/dist/runtime/thread-runtime.d.ts +3 -1
  83. package/dist/runtime/thread-runtime.d.ts.map +1 -1
  84. package/dist/runtime/thread-runtime.js +6 -0
  85. package/dist/runtime/thread-runtime.js.map +1 -1
  86. package/dist/runtime/thread-session-index.d.ts +84 -0
  87. package/dist/runtime/thread-session-index.d.ts.map +1 -0
  88. package/dist/runtime/thread-session-index.js +503 -0
  89. package/dist/runtime/thread-session-index.js.map +1 -0
  90. package/dist/runtime/thread-session-view.d.ts +70 -9
  91. package/dist/runtime/thread-session-view.d.ts.map +1 -1
  92. package/dist/runtime/thread-session-view.js +200 -82
  93. package/dist/runtime/thread-session-view.js.map +1 -1
  94. package/dist/runtime/thread-ui-adapter.d.ts +2 -0
  95. package/dist/runtime/thread-ui-adapter.d.ts.map +1 -1
  96. package/dist/runtime/thread-ui-adapter.js +86 -4
  97. package/dist/runtime/thread-ui-adapter.js.map +1 -1
  98. package/dist/runtime/tool-detail-repository.d.ts.map +1 -1
  99. package/dist/runtime/tool-detail-repository.js +23 -19
  100. package/dist/runtime/tool-detail-repository.js.map +1 -1
  101. package/dist/runtime/tool-receipt-validator.d.ts +21 -0
  102. package/dist/runtime/tool-receipt-validator.d.ts.map +1 -0
  103. package/dist/runtime/tool-receipt-validator.js +157 -0
  104. package/dist/runtime/tool-receipt-validator.js.map +1 -0
  105. package/dist/runtime/ui-events.d.ts +35 -0
  106. package/dist/runtime/ui-events.d.ts.map +1 -1
  107. package/dist/runtime/ui-events.js +1 -0
  108. package/dist/runtime/ui-events.js.map +1 -1
  109. package/dist/runtime/ui-view-model.d.ts +2 -0
  110. package/dist/runtime/ui-view-model.d.ts.map +1 -1
  111. package/dist/runtime/ui-view-model.js +7 -3
  112. package/dist/runtime/ui-view-model.js.map +1 -1
  113. package/dist/services/global-config.d.ts +25 -0
  114. package/dist/services/global-config.d.ts.map +1 -1
  115. package/dist/services/global-config.js +373 -5
  116. package/dist/services/global-config.js.map +1 -1
  117. package/dist/services/redaction.d.ts +4 -0
  118. package/dist/services/redaction.d.ts.map +1 -1
  119. package/dist/services/redaction.js +63 -0
  120. package/dist/services/redaction.js.map +1 -1
  121. package/dist/services/session-index.d.ts +16 -0
  122. package/dist/services/session-index.d.ts.map +1 -1
  123. package/dist/services/session-index.js +45 -36
  124. package/dist/services/session-index.js.map +1 -1
  125. package/dist/services/session-storage.d.ts +59 -0
  126. package/dist/services/session-storage.d.ts.map +1 -1
  127. package/dist/services/session-storage.js +306 -107
  128. package/dist/services/session-storage.js.map +1 -1
  129. package/dist/services/settings-coordinator.d.ts +174 -0
  130. package/dist/services/settings-coordinator.d.ts.map +1 -0
  131. package/dist/services/settings-coordinator.js +605 -0
  132. package/dist/services/settings-coordinator.js.map +1 -0
  133. package/dist/services/settings-document-repository.d.ts +138 -0
  134. package/dist/services/settings-document-repository.d.ts.map +1 -0
  135. package/dist/services/settings-document-repository.js +551 -0
  136. package/dist/services/settings-document-repository.js.map +1 -0
  137. package/dist/services/workspace-registry.d.ts +42 -0
  138. package/dist/services/workspace-registry.d.ts.map +1 -0
  139. package/dist/services/workspace-registry.js +222 -0
  140. package/dist/services/workspace-registry.js.map +1 -0
  141. package/dist/terminal-ui/launch.d.ts.map +1 -1
  142. package/dist/terminal-ui/launch.js +5 -0
  143. package/dist/terminal-ui/launch.js.map +1 -1
  144. package/dist/tui-ui/state.d.ts.map +1 -1
  145. package/dist/tui-ui/state.js +5 -0
  146. package/dist/tui-ui/state.js.map +1 -1
  147. package/dist/web/errors.d.ts +6 -0
  148. package/dist/web/errors.d.ts.map +1 -0
  149. package/dist/web/errors.js +13 -0
  150. package/dist/web/errors.js.map +1 -0
  151. package/dist/web/event-hub.d.ts +43 -0
  152. package/dist/web/event-hub.d.ts.map +1 -0
  153. package/dist/web/event-hub.js +323 -0
  154. package/dist/web/event-hub.js.map +1 -0
  155. package/dist/web/file-read-service.d.ts +55 -0
  156. package/dist/web/file-read-service.d.ts.map +1 -0
  157. package/dist/web/file-read-service.js +399 -0
  158. package/dist/web/file-read-service.js.map +1 -0
  159. package/dist/web/git-read-model-service.d.ts +77 -0
  160. package/dist/web/git-read-model-service.d.ts.map +1 -0
  161. package/dist/web/git-read-model-service.js +631 -0
  162. package/dist/web/git-read-model-service.js.map +1 -0
  163. package/dist/web/index.d.ts +6 -0
  164. package/dist/web/index.d.ts.map +1 -0
  165. package/dist/web/index.js +28 -0
  166. package/dist/web/index.js.map +1 -0
  167. package/dist/web/launch.d.ts +9 -0
  168. package/dist/web/launch.d.ts.map +1 -0
  169. package/dist/web/launch.js +64 -0
  170. package/dist/web/launch.js.map +1 -0
  171. package/dist/web/protocol.d.ts +408 -0
  172. package/dist/web/protocol.d.ts.map +1 -0
  173. package/dist/web/protocol.js +369 -0
  174. package/dist/web/protocol.js.map +1 -0
  175. package/dist/web/review-service.d.ts +38 -0
  176. package/dist/web/review-service.d.ts.map +1 -0
  177. package/dist/web/review-service.js +74 -0
  178. package/dist/web/review-service.js.map +1 -0
  179. package/dist/web/server.d.ts +20 -0
  180. package/dist/web/server.d.ts.map +1 -0
  181. package/dist/web/server.js +744 -0
  182. package/dist/web/server.js.map +1 -0
  183. package/dist/web/terminal-manager.d.ts +155 -0
  184. package/dist/web/terminal-manager.d.ts.map +1 -0
  185. package/dist/web/terminal-manager.js +728 -0
  186. package/dist/web/terminal-manager.js.map +1 -0
  187. package/dist/web/terminal-server.d.ts +8 -0
  188. package/dist/web/terminal-server.d.ts.map +1 -0
  189. package/dist/web/terminal-server.js +275 -0
  190. package/dist/web/terminal-server.js.map +1 -0
  191. package/dist/web/workbench-controller.d.ts +99 -0
  192. package/dist/web/workbench-controller.d.ts.map +1 -0
  193. package/dist/web/workbench-controller.js +1267 -0
  194. package/dist/web/workbench-controller.js.map +1 -0
  195. package/dist/web-client/assets/DiffViewer-DpKoD07C.js +5 -0
  196. package/dist/web-client/assets/FilesPanel-BkoLmgjR.js +2 -0
  197. package/dist/web-client/assets/GitPanel-D20StcdG.js +1 -0
  198. package/dist/web-client/assets/ReviewPanel-3MVWbMQV.js +1 -0
  199. package/dist/web-client/assets/TerminalPanel-BLQ592Fb.js +21 -0
  200. package/dist/web-client/assets/TerminalPanel-DLuoa74B.css +1 -0
  201. package/dist/web-client/assets/index-BkIDl_xk.js +16 -0
  202. package/dist/web-client/assets/index-DXMpnWE8.css +1 -0
  203. package/dist/web-client/index.html +16 -0
  204. package/docs/architecture/v0.3.0-web-api.yaml +1340 -0
  205. package/docs/architecture/v0.3.1-web-api.yaml +2290 -0
  206. package/docs/migration/v0.2.2-to-v0.3.0-settings.md +114 -0
  207. package/docs/migration/v0.2.2-to-v0.3.0.md +55 -0
  208. package/docs/migration/v0.3.0-to-v0.3.1.md +88 -0
  209. package/docs/orion.example.json +9 -2
  210. package/docs/plan/v0.3.0-node-runtime-compatibility-plan.md +57 -0
  211. package/docs/plan/v0.3.0-settings-integration-plan.md +740 -0
  212. package/docs/plan/v0.3.0-web-workbench-plan.md +376 -0
  213. package/docs/plan/v0.3.1-web-workbench-professional-shell-plan.md +848 -0
  214. package/docs/readme.md +22 -1
  215. package/docs/test/v0.3.1-web-workbench-e2e-plan.md +140 -0
  216. package/npm-shrinkwrap.json +1229 -45
  217. package/package.json +47 -11
package/dist/cli.js CHANGED
@@ -7,32 +7,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  const chalk_1 = __importDefault(require("chalk"));
10
- const llm_1 = require("./services/llm");
11
- const provider_resilience_1 = require("./services/provider-resilience");
12
- const model_coordinator_1 = require("./runtime/model-coordinator");
13
10
  const config_1 = require("./services/config");
14
- const config_dir_1 = require("./services/config-dir");
15
- const global_config_1 = require("./services/global-config");
16
- const usage_state_1 = require("./services/usage-state");
17
- const session_storage_1 = require("./services/session-storage");
18
- const prompt_context_1 = require("./memory/prompt-context");
19
- const project_instructions_1 = require("./services/project-instructions");
20
- const store_1 = require("./framework/store");
21
- const model_context_1 = require("./services/model-context");
22
11
  const launch_1 = require("./tui-ui/launch");
23
12
  const launch_2 = require("./terminal-ui/launch");
24
13
  const launch_3 = require("./print-ui/launch");
25
14
  const doctor_1 = require("./services/doctor");
26
15
  const workspace_diff_1 = require("./services/workspace-diff");
27
16
  const commit_plan_1 = require("./services/commit-plan");
28
- const first_party_tool_universe_1 = require("./runtime/first-party-tool-universe");
29
- const product_orion_runtime_1 = require("./runtime/product-orion-runtime");
30
- const mcp_1 = require("./runtime/mcp");
31
- const skills_1 = require("./runtime/skills");
32
- const orion_session_runner_1 = require("./runtime/orion-session-runner");
33
- const compact_1 = require("./services/compact");
17
+ const product_bootstrap_1 = require("./runtime/product-bootstrap");
34
18
  const command_1 = require("./migration/command");
35
19
  const version_1 = require("./product/version");
20
+ const web_1 = require("./web");
36
21
  const BRAND = chalk_1.default.hex('#FF6B35');
37
22
  const ACCENT = chalk_1.default.hex('#00D4AA');
38
23
  const DIM = chalk_1.default.dim;
@@ -50,6 +35,7 @@ function showCliHelp() {
50
35
  console.log(' orion diff Summarize current git workspace changes');
51
36
  console.log(' orion commit Create a read-only commit plan and suggested message');
52
37
  console.log(' orion migrate openhorse Preview OpenHorse migration; add --yes to execute');
38
+ console.log(' orion web Start the local Web Workbench');
53
39
  console.log(' orion -p "task" Run an experimental non-interactive task');
54
40
  console.log(' orion --help Show this help message');
55
41
  console.log(' orion --version Show version');
@@ -66,6 +52,42 @@ function showCliHelp() {
66
52
  console.log(DIM('tui is the default product UI. terminal is the technical fallback; print is experimental.'));
67
53
  console.log();
68
54
  }
55
+ function parseWebCliOptions(args) {
56
+ let port = 3080;
57
+ let open = true;
58
+ let cwd = process.cwd();
59
+ for (let index = 0; index < args.length; index++) {
60
+ const argument = args[index];
61
+ if (argument === '--no-open') {
62
+ open = false;
63
+ continue;
64
+ }
65
+ if (argument === '--port' || argument.startsWith('--port=')) {
66
+ const portValue = argument === '--port' ? args[++index] : argument.slice('--port='.length);
67
+ if (!portValue || !/^\d+$/u.test(portValue)) {
68
+ throw new Error('--port must be an integer from 0 through 65535.');
69
+ }
70
+ port = Number(portValue);
71
+ if (!Number.isSafeInteger(port) || port < 0 || port > 65535) {
72
+ throw new Error('--port must be an integer from 0 through 65535.');
73
+ }
74
+ continue;
75
+ }
76
+ if (argument === '--cwd' || argument.startsWith('--cwd=')) {
77
+ const cwdValue = argument === '--cwd' ? args[++index] : argument.slice('--cwd='.length);
78
+ if (!cwdValue?.trim())
79
+ throw new Error('--cwd requires a directory path.');
80
+ cwd = cwdValue;
81
+ continue;
82
+ }
83
+ throw new Error(`Unknown orion web option: ${argument}`);
84
+ }
85
+ return { port, open, cwd };
86
+ }
87
+ function showWebHelp() {
88
+ console.log('Usage: orion web [--port <number>] [--no-open] [--cwd <directory>]');
89
+ console.log('Starts the local-only Web Workbench on 127.0.0.1.');
90
+ }
69
91
  function parseCliOptions(args) {
70
92
  let uiRenderer = config_1.DEFAULT_UI_RENDERER;
71
93
  let printMode = false;
@@ -124,165 +146,22 @@ function parseCliOptions(args) {
124
146
  return { uiRenderer, printMode, outputFormat, promptArgs };
125
147
  }
126
148
  async function bootstrapRuntime(uiRenderer) {
127
- (0, config_dir_1.ensureConfigDir)();
128
- (0, global_config_1.recordFirstStartTime)();
129
- const cwd = process.cwd();
130
- const config = (0, config_1.loadConfig)({ ui: { renderer: uiRenderer } });
131
- const memoryContent = (0, prompt_context_1.buildMemoryPromptContext)('', cwd).content;
132
- const projectInstructionsContent = (0, project_instructions_1.loadProjectInstructions)(cwd);
133
- const firstPartyTools = (0, first_party_tool_universe_1.createProductionFirstPartyToolUniverseV1)({
134
- context: { cwd, config: { name: config.name, mode: config.mode } },
135
- });
136
- const toolCatalog = firstPartyTools.catalog;
137
- const skillProvider = (0, skills_1.createProductionFilesystemSkillProviderV1)({
138
- cwd,
139
- configuredPaths: config.skills?.paths,
149
+ return (0, product_bootstrap_1.createProductUiRuntime)({
150
+ cwd: process.cwd(),
151
+ uiRenderer,
152
+ shutdownReason: 'Orion CLI shutdown',
140
153
  });
141
- const mcpAdapter = (0, mcp_1.createFirstPartyMcpAdapterV1)({
142
- config: (0, mcp_1.loadFirstPartyMcpConfigurationV1)(),
143
- baseDirectory: cwd,
144
- });
145
- const store = new store_1.Store({
146
- config,
147
- tools: toolCatalog.entries.map(entry => entry.tool),
148
- currentModel: config.model,
149
- memoryContent,
150
- // Skill descriptors/definitions are selected by the lazy v0.2.0 runtime.
151
- // The presentation Store must never eagerly retain Skill bodies.
152
- skillsContent: '',
153
- projectInstructionsContent,
154
- });
155
- let llm = null;
156
- let modelCoordinator;
157
- // Resolve credentials from the configured model registry or legacy config.
158
- const configured = config.modelRegistry
159
- ? config.modelRegistry.defaultProfile !== null
160
- : (0, config_1.isConfigured)(config);
161
- if (configured) {
162
- const defaultProvider = config.modelRegistry?.defaultProfile
163
- ? config.modelRegistry.providers.get(config.modelRegistry.defaultProfile.provider)
164
- : null;
165
- llm = new llm_1.LLMService({
166
- apiKey: defaultProvider
167
- ? defaultProvider.apiKey.startsWith('$')
168
- ? (process.env[defaultProvider.apiKey.slice(1)] ?? '')
169
- : defaultProvider.apiKey
170
- : config.apiKey,
171
- baseUrl: defaultProvider?.baseUrl ?? config.apiBaseUrl,
172
- model: config.modelRegistry?.defaultProfile?.model ?? config.model,
173
- fallbackModel: config.modelRegistry?.fallbackProfile?.model ?? config.fallbackModel,
174
- providerProtocol: defaultProvider?.protocol,
175
- reasoningCapability: config.modelRegistry?.defaultProfile?.reasoningCapability,
176
- fallbackReasoningCapability: config.modelRegistry?.fallbackProfile?.reasoningCapability,
177
- effortPreference: config.defaultEffort,
178
- });
179
- // Keep chat() and chatStream() on the shared provider-resilience layer.
180
- llm.resilience = new provider_resilience_1.ProviderResilienceCoordinator();
181
- // Initialize ModelCoordinator for /model switching.
182
- modelCoordinator = new model_coordinator_1.ModelCoordinator();
183
- if (config.modelRegistry && config.modelClientPool) {
184
- modelCoordinator.bind(config.modelRegistry, config.modelClientPool);
185
- modelCoordinator.initModel(config.model);
186
- }
187
- if (config.apiBaseUrl) {
188
- (0, model_context_1.discoverModelContexts)(config.apiBaseUrl, config.apiKey).catch(() => undefined);
189
- }
190
- }
191
- const compactCoordinator = new compact_1.CompactCoordinator({
192
- modelId: llm?.getModel() ?? config.model,
193
- llm,
194
- outputReserveTokens: llm?.getMaxTokens?.(),
195
- compactInstructions: (0, global_config_1.getProjectConfig)(cwd).compactInstructions,
196
- getContextCapsule: () => store.getSnapshot().harnessState?.capsule,
197
- getHarnessState: () => store.getSnapshot().harnessState,
198
- });
199
- let currentSession = null;
200
- let sessionRunner;
201
- let shuttingDown = false;
202
- const ensureSession = () => {
203
- if (!currentSession) {
204
- currentSession = (0, session_storage_1.createSession)(cwd, store.getSnapshot().currentModel || store.getSnapshot().config.model);
205
- (0, global_config_1.incrementSessionCount)();
206
- }
207
- return currentSession;
208
- };
209
- const setSession = (session) => {
210
- currentSession = session;
211
- };
212
- const getSession = () => currentSession;
213
- const costTracker = store.getSnapshot().costTracker;
214
- costTracker.setRecordSink(record => {
215
- (0, usage_state_1.appendUsageRecord)(record, {
216
- sessionId: currentSession?.id,
217
- projectPath: cwd,
218
- });
219
- });
220
- const unsubscribeLlmUsage = llm?.subscribeUsage(event => {
221
- costTracker.record(event.usage, {
222
- model: event.model,
223
- requestKind: event.operation,
224
- });
225
- });
226
- const shutdown = async () => {
227
- if (shuttingDown)
228
- return;
229
- shuttingDown = true;
230
- await sessionRunner?.close('Orion CLI shutdown');
231
- if (currentSession) {
232
- const messages = (0, session_storage_1.readSessionMessages)(currentSession.id);
233
- if (messages.length > 0) {
234
- (0, session_storage_1.updateSessionSummary)(currentSession.id, messages);
235
- }
236
- (0, session_storage_1.endSession)(currentSession.id);
237
- }
238
- unsubscribeLlmUsage?.();
239
- };
240
- const createAgentRunner = llm
241
- ? (events, runnerOptions) => {
242
- if (sessionRunner)
243
- return sessionRunner;
244
- sessionRunner = new orion_session_runner_1.OrionSessionRunnerV1({
245
- eventSink: events,
246
- getSessionId: () => ensureSession().id,
247
- createRuntime: sessionId => (0, product_orion_runtime_1.createProductOrionRuntimeV1)({
248
- cwd,
249
- config,
250
- store,
251
- llm: llm,
252
- compactCoordinator,
253
- toolCatalog,
254
- skillProviders: [skillProvider],
255
- mcpDescriptors: mcpAdapter.descriptors,
256
- mcpConnector: mcpAdapter.connector,
257
- approvalHandler: runnerOptions.approvalHandler,
258
- }, sessionId),
259
- mode: () => {
260
- const mode = store.getSnapshot().agentMode;
261
- return mode === 'plan' ? 'plan' : mode === 'auto' ? 'auto' : 'build';
262
- },
263
- });
264
- return sessionRunner;
265
- }
266
- : undefined;
267
- return {
268
- cwd,
269
- version: VERSION,
270
- config,
271
- store,
272
- llm,
273
- compactCoordinator,
274
- modelCoordinator,
275
- createAgentRunner,
276
- getHarnessDiagnostics: async () => sessionRunner?.diagnostics(),
277
- isConfigured: (0, config_1.isConfigured)(config),
278
- ensureSession,
279
- setSession,
280
- getSession,
281
- shutdown,
282
- };
283
154
  }
284
155
  async function main() {
285
156
  const args = process.argv.slice(2);
157
+ if (args[0] === 'web') {
158
+ if (args.includes('--help') || args.includes('-h')) {
159
+ showWebHelp();
160
+ return;
161
+ }
162
+ await (0, web_1.runOrionWeb)(parseWebCliOptions(args.slice(1)));
163
+ return;
164
+ }
286
165
  if (args[0] === 'migrate') {
287
166
  const result = (0, command_1.handleMigrateCommand)({ cwd: process.cwd() }, args.slice(1).join(' '));
288
167
  process.exit(result.success ? 0 : 1);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ declare function handleModel(ctx: CommandContext, args: string): Promise<Command
8
8
  * 非交互式渲染器直接打印候选列表并提示 /model <name|alias>。
9
9
  */
10
10
  declare function handleModels(ctx: CommandContext, _args: string): CommandResult;
11
- declare function handlePermissions(ctx: CommandContext, args: string): CommandResult;
12
- declare function handleEffort(ctx: CommandContext, args: string): CommandResult;
11
+ declare function handlePermissions(ctx: CommandContext, args: string): Promise<CommandResult>;
12
+ declare function handleEffort(ctx: CommandContext, args: string): Promise<CommandResult>;
13
13
  export { handleModel, handleModels, handlePermissions, handleEffort, showConfig };
14
14
  //# sourceMappingURL=model-command-handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-command-handlers.d.ts","sourceRoot":"","sources":["../../src/commands/model-command-handlers.ts"],"names":[],"mappings":"AAAA,uEAAuE;AAGvE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAkS7D,iBAAS,UAAU,CAAC,GAAG,EAAE,cAAc,GAAG,aAAa,CAqDtD;AAED,iBAAe,WAAW,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA0HpF;AAED;;;;GAIG;AACH,iBAAS,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAmDvE;AAED,iBAAS,iBAAiB,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAmC3E;AA4BD,iBAAS,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAoHtE;AAED,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"model-command-handlers.d.ts","sourceRoot":"","sources":["../../src/commands/model-command-handlers.ts"],"names":[],"mappings":"AAAA,uEAAuE;AAIvE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAmT7D,iBAAS,UAAU,CAAC,GAAG,EAAE,cAAc,GAAG,aAAa,CAqDtD;AAED,iBAAe,WAAW,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAyLpF;AAED;;;;GAIG;AACH,iBAAS,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAmDvE;AAED,iBAAe,iBAAiB,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA2C1F;AA4BD,iBAAe,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAsHrF;AAED,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC"}
@@ -9,6 +9,7 @@ exports.handleModels = handleModels;
9
9
  exports.handlePermissions = handlePermissions;
10
10
  exports.handleEffort = handleEffort;
11
11
  exports.showConfig = showConfig;
12
+ const crypto_1 = require("crypto");
12
13
  const chalk_1 = __importDefault(require("chalk"));
13
14
  const ui_view_model_1 = require("../runtime/ui-view-model");
14
15
  const tool_allowlist_1 = require("../services/tool-allowlist");
@@ -19,7 +20,6 @@ const mask_1 = require("../utils/mask");
19
20
  const model_catalog_1 = require("../services/model-catalog");
20
21
  const model_registry_1 = require("../services/model-registry");
21
22
  const global_config_1 = require("../services/global-config");
22
- const global_config_2 = require("../services/global-config");
23
23
  const effort_1 = require("../services/effort");
24
24
  const session_storage_1 = require("../services/session-storage");
25
25
  const token_estimate_1 = require("../utils/token-estimate");
@@ -31,6 +31,17 @@ const ACCENT = chalk_1.default.hex('#00D4AA');
31
31
  const DIM = chalk_1.default.dim;
32
32
  const ERROR = chalk_1.default.red;
33
33
  const WARN = chalk_1.default.yellow;
34
+ async function updateDurableSettings(ctx, command, operations) {
35
+ if (!ctx.describeSettings || !ctx.updateSettings) {
36
+ throw new Error('The product Settings coordinator is unavailable.');
37
+ }
38
+ const before = ctx.describeSettings();
39
+ return ctx.updateSettings({
40
+ requestId: `slash:${command}:${(0, crypto_1.randomUUID)()}`,
41
+ expectedRevision: before.revision,
42
+ operations,
43
+ });
44
+ }
34
45
  const SUCCESS = chalk_1.default.green;
35
46
  const HEADER = chalk_1.default.cyan.bold;
36
47
  function commandUICapabilities(ctx) {
@@ -309,6 +320,38 @@ async function handleModel(ctx, args) {
309
320
  success,
310
321
  ...(lines.length > 0 ? { output: lines.join('\n') } : {}),
311
322
  });
323
+ const modelTokens = args.trim().split(/\s+/u).filter(Boolean);
324
+ const defaultFlagIndex = modelTokens.findIndex(token => token.toLowerCase() === '--default');
325
+ if (defaultFlagIndex >= 0) {
326
+ const selectorTokens = modelTokens.filter((_, index) => index !== defaultFlagIndex);
327
+ if (selectorTokens.length > 1) {
328
+ return { success: false, error: 'Usage: /model [model] --default.' };
329
+ }
330
+ const selector = selectorTokens[0] ?? ctx.store.getSnapshot().currentModel;
331
+ const profile = resolveModelFromRegistry(ctx.config, selector);
332
+ if (ctx.config.modelRegistry && !profile) {
333
+ return {
334
+ success: false,
335
+ error: `Model ${selector} is not enabled in the configured registry.`,
336
+ };
337
+ }
338
+ const defaultModel = profile?.id ?? (0, model_catalog_1.resolveModelAlias)(selector);
339
+ try {
340
+ await updateDurableSettings(ctx, 'model-default', [
341
+ { op: 'set', key: 'defaults.model', value: defaultModel },
342
+ ]);
343
+ }
344
+ catch (error) {
345
+ return {
346
+ success: false,
347
+ error: `Default model was not changed: ${error instanceof Error ? error.message : String(error)}`,
348
+ };
349
+ }
350
+ return {
351
+ success: true,
352
+ output: `Default model changed to ${defaultModel}. Existing sessions keep their current model.`,
353
+ };
354
+ }
312
355
  // 显示当前模型
313
356
  if (trimmedArgs === '?' || trimmedArgs === 'info') {
314
357
  write();
@@ -369,12 +412,43 @@ async function handleModel(ctx, args) {
369
412
  const registryProfile = resolveModelFromRegistry(ctx.config, args);
370
413
  const resolvedModel = registryProfile ? registryProfile.model : (0, model_catalog_1.resolveModelAlias)(args);
371
414
  const resolvedProfileId = registryProfile ? registryProfile.id : resolvedModel;
415
+ const activeSession = ctx.getSession?.() ?? ctx.ensureSession?.();
416
+ const previousCoordinatorModel = ctx.modelCoordinator?.getCurrent()?.id;
372
417
  if (registryProfile && ctx.modelCoordinator) {
373
418
  const switchResult = await ctx.modelCoordinator.switchToWithCompactPreflight(registryProfile.id, request => commitModelSwitchCompact(ctx, request));
374
419
  if (!switchResult.success) {
375
420
  return { success: false, error: switchResult.error ?? 'Model switch failed.' };
376
421
  }
377
422
  }
423
+ if (activeSession) {
424
+ try {
425
+ const persisted = (0, session_storage_1.updateSessionModel)(activeSession.id, resolvedProfileId);
426
+ if (!persisted) {
427
+ if (previousCoordinatorModel)
428
+ ctx.modelCoordinator?.initModel(previousCoordinatorModel);
429
+ return {
430
+ success: false,
431
+ error: `Session ${activeSession.id} is no longer available; model was not changed.`,
432
+ };
433
+ }
434
+ activeSession.model = persisted.model;
435
+ activeSession.updatedAt = persisted.updatedAt;
436
+ activeSession.updatedAtIso = persisted.updatedAtIso;
437
+ }
438
+ catch (error) {
439
+ if (previousCoordinatorModel)
440
+ ctx.modelCoordinator?.initModel(previousCoordinatorModel);
441
+ return {
442
+ success: false,
443
+ error: `Session model was not changed: ${error instanceof Error ? error.message : String(error)}`,
444
+ };
445
+ }
446
+ }
447
+ const effort = (0, effort_1.resolveProfileEffort)(registryProfile, {
448
+ session: activeSession?.effortPreference,
449
+ project: (0, global_config_1.getProjectConfig)(ctx.cwd).defaultEffort,
450
+ global: (0, global_config_1.loadGlobalConfig)().defaultEffort ?? ctx.config.defaultEffort,
451
+ });
378
452
  if (registryProfile) {
379
453
  const provider = ctx.config.modelRegistry?.providers.get(registryProfile.provider);
380
454
  if (provider && ctx.config.modelClientPool && 'setProviderClient' in ctx.llm) {
@@ -386,7 +460,7 @@ async function handleModel(ctx, args) {
386
460
  const provider = ctx.config.modelRegistry?.providers.get(registryProfile.provider);
387
461
  if (provider && typeof ctx.llm.setEffortContext === 'function') {
388
462
  ctx.llm.setEffortContext({
389
- preference: ctx.store.getSnapshot().effortPreference,
463
+ preference: effort.requested,
390
464
  protocol: provider.protocol,
391
465
  capability: registryProfile.reasoningCapability,
392
466
  });
@@ -394,6 +468,7 @@ async function handleModel(ctx, args) {
394
468
  }
395
469
  getCommandAutoCompact(ctx, resolvedModel);
396
470
  ctx.store.setState({ currentModel: resolvedProfileId });
471
+ ctx.store.setEffort(effort.requested, effort);
397
472
  write(SUCCESS(`✔ Model changed to ${BRAND(resolvedProfileId)}`));
398
473
  const contextInfo = registryProfile
399
474
  ? {
@@ -457,7 +532,7 @@ function handleModels(ctx, _args) {
457
532
  lines.push('', DIM('Use /model <name|alias> to switch, e.g. /model sonnet'), '');
458
533
  return { success: true, output: lines.join('\n') };
459
534
  }
460
- function handlePermissions(ctx, args) {
535
+ async function handlePermissions(ctx, args) {
461
536
  const value = args.trim().toLowerCase();
462
537
  const snapshot = ctx.store.getSnapshot();
463
538
  if (!value || value === '?' || value === 'help' || value === 'show' || value === 'audit') {
@@ -485,8 +560,17 @@ function handlePermissions(ctx, args) {
485
560
  };
486
561
  }
487
562
  const toolConfirmation = value;
488
- (0, global_config_1.updateGlobalConfig)({ toolConfirmation });
489
- ctx.config.toolConfirmation = toolConfirmation;
563
+ try {
564
+ await updateDurableSettings(ctx, 'permissions', [
565
+ { op: 'set', key: 'permissions.toolConfirmation', value: toolConfirmation },
566
+ ]);
567
+ }
568
+ catch (error) {
569
+ return {
570
+ success: false,
571
+ error: `Tool confirmation was not changed: ${error instanceof Error ? error.message : String(error)}`,
572
+ };
573
+ }
490
574
  if (snapshot.permissionMode === 'acceptEdits')
491
575
  ctx.store.setPermissionMode('default');
492
576
  return { success: true, output: `Tool confirmation changed to ${toolConfirmation}.` };
@@ -517,20 +601,21 @@ function parseEffortArgs(args) {
517
601
  }
518
602
  return { preference: value, scope };
519
603
  }
520
- function handleEffort(ctx, args) {
604
+ async function handleEffort(ctx, args) {
521
605
  const parsed = parseEffortArgs(args);
522
606
  if ('error' in parsed)
523
607
  return { success: false, error: parsed.error };
524
608
  const profile = activeEffortProfile(ctx);
525
609
  const provider = profile ? ctx.config.modelRegistry?.providers.get(profile.provider) : undefined;
526
610
  const session = ctx.getSession?.() ?? null;
527
- const projectConfig = (0, global_config_2.getProjectConfig)(ctx.cwd);
528
- const globalConfig = (0, global_config_2.loadGlobalConfig)();
611
+ const projectConfig = (0, global_config_1.getProjectConfig)(ctx.cwd);
612
+ const globalConfig = (0, global_config_1.loadGlobalConfig)();
529
613
  const current = (0, effort_1.resolveProfileEffort)(profile, {
530
614
  session: session?.effortPreference ?? ctx.store.getSnapshot().effortPreference,
531
615
  project: projectConfig.defaultEffort,
532
616
  global: globalConfig.defaultEffort ?? ctx.config.defaultEffort,
533
617
  });
618
+ const previous = ctx.store.getSnapshot().effortPreference;
534
619
  if (parsed.preference === 'status') {
535
620
  return {
536
621
  success: true,
@@ -585,17 +670,13 @@ function handleEffort(ctx, args) {
585
670
  else
586
671
  activeSession.effortPreference = persisted.effortPreference;
587
672
  }
588
- else if (parsed.scope === 'project') {
589
- (0, global_config_2.saveProjectConfig)(ctx.cwd, {
590
- ...projectConfig,
591
- defaultEffort: parsed.preference === 'auto' ? undefined : parsed.preference,
592
- });
593
- }
594
673
  else {
595
- (0, global_config_1.updateGlobalConfig)({
596
- defaultEffort: parsed.preference === 'auto' ? undefined : parsed.preference,
597
- });
598
- ctx.config.defaultEffort = parsed.preference === 'auto' ? undefined : parsed.preference;
674
+ const key = parsed.scope === 'project'
675
+ ? 'defaults.effort'
676
+ : 'defaults.globalEffort';
677
+ await updateDurableSettings(ctx, `effort-${parsed.scope}`, parsed.preference === 'auto'
678
+ ? [{ op: 'unset', key }]
679
+ : [{ op: 'set', key, value: parsed.preference }]);
599
680
  }
600
681
  }
601
682
  catch (error) {
@@ -605,21 +686,21 @@ function handleEffort(ctx, args) {
605
686
  error: `Effort ${parsed.scope} preference was not changed: ${message}`,
606
687
  };
607
688
  }
608
- const effective = (0, effort_1.resolveProfileEffort)(profile, {
609
- session: parsed.scope === 'session' ? parsed.preference : session?.effortPreference,
610
- project: parsed.scope === 'project' ? parsed.preference : projectConfig.defaultEffort,
611
- global: parsed.scope === 'global'
612
- ? parsed.preference
613
- : (globalConfig.defaultEffort ?? ctx.config.defaultEffort),
614
- });
615
- const previous = ctx.store.getSnapshot().effortPreference;
616
- ctx.store.setEffort(parsed.preference, effective);
617
- if (provider && typeof ctx.llm?.setEffortContext === 'function') {
618
- ctx.llm?.setEffortContext({
619
- preference: parsed.preference,
620
- protocol: provider.protocol,
621
- capability: profile?.reasoningCapability,
689
+ let effective = ctx.store.getSnapshot().resolvedEffort ?? current;
690
+ if (parsed.scope === 'session') {
691
+ effective = (0, effort_1.resolveProfileEffort)(profile, {
692
+ session: parsed.preference,
693
+ project: projectConfig.defaultEffort,
694
+ global: globalConfig.defaultEffort ?? ctx.config.defaultEffort,
622
695
  });
696
+ ctx.store.setEffort(effective.requested, effective);
697
+ if (provider && typeof ctx.llm?.setEffortContext === 'function') {
698
+ ctx.llm.setEffortContext({
699
+ preference: effective.requested,
700
+ protocol: provider.protocol,
701
+ capability: profile?.reasoningCapability,
702
+ });
703
+ }
623
704
  }
624
705
  return {
625
706
  success: true,