@orion-agents/orion-code 0.1.6 → 0.1.8

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 (320) hide show
  1. package/README.md +80 -46
  2. package/README.zh-CN.md +58 -20
  3. package/dist/cli.js +7 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/core-command-handlers.d.ts.map +1 -1
  6. package/dist/commands/core-command-handlers.js +4 -4
  7. package/dist/commands/core-command-handlers.js.map +1 -1
  8. package/dist/commands/diagnostic-command-handlers.d.ts.map +1 -1
  9. package/dist/commands/diagnostic-command-handlers.js +3 -0
  10. package/dist/commands/diagnostic-command-handlers.js.map +1 -1
  11. package/dist/commands/model-command-handlers.d.ts +2 -3
  12. package/dist/commands/model-command-handlers.d.ts.map +1 -1
  13. package/dist/commands/model-command-handlers.js +0 -54
  14. package/dist/commands/model-command-handlers.js.map +1 -1
  15. package/dist/commands/model-commands.d.ts.map +1 -1
  16. package/dist/commands/model-commands.js +0 -22
  17. package/dist/commands/model-commands.js.map +1 -1
  18. package/dist/commands/registry.d.ts.map +1 -1
  19. package/dist/commands/registry.js +56 -13
  20. package/dist/commands/registry.js.map +1 -1
  21. package/dist/commands/system-commands.d.ts.map +1 -1
  22. package/dist/commands/system-commands.js +76 -2
  23. package/dist/commands/system-commands.js.map +1 -1
  24. package/dist/commands/target-command.js +1 -1
  25. package/dist/commands/target-command.js.map +1 -1
  26. package/dist/commands/types.d.ts +3 -2
  27. package/dist/commands/types.d.ts.map +1 -1
  28. package/dist/commands/types.js +2 -3
  29. package/dist/commands/types.js.map +1 -1
  30. package/dist/commands/workflow-command-handlers.d.ts +2 -1
  31. package/dist/commands/workflow-command-handlers.d.ts.map +1 -1
  32. package/dist/commands/workflow-command-handlers.js +26 -0
  33. package/dist/commands/workflow-command-handlers.js.map +1 -1
  34. package/dist/commands/workflow-commands.d.ts.map +1 -1
  35. package/dist/commands/workflow-commands.js +11 -0
  36. package/dist/commands/workflow-commands.js.map +1 -1
  37. package/dist/core/checkpoint.d.ts.map +1 -1
  38. package/dist/core/checkpoint.js +9 -8
  39. package/dist/core/checkpoint.js.map +1 -1
  40. package/dist/framework/agent-mode.d.ts +47 -0
  41. package/dist/framework/agent-mode.d.ts.map +1 -0
  42. package/dist/framework/agent-mode.js +152 -0
  43. package/dist/framework/agent-mode.js.map +1 -0
  44. package/dist/framework/prompt.d.ts +5 -0
  45. package/dist/framework/prompt.d.ts.map +1 -1
  46. package/dist/framework/prompt.js +46 -9
  47. package/dist/framework/prompt.js.map +1 -1
  48. package/dist/framework/query.d.ts +4 -0
  49. package/dist/framework/query.d.ts.map +1 -1
  50. package/dist/framework/query.js +10 -0
  51. package/dist/framework/query.js.map +1 -1
  52. package/dist/framework/store.d.ts.map +1 -1
  53. package/dist/framework/store.js +4 -4
  54. package/dist/framework/store.js.map +1 -1
  55. package/dist/framework/tool-scheduler.d.ts +18 -12
  56. package/dist/framework/tool-scheduler.d.ts.map +1 -1
  57. package/dist/framework/tool-scheduler.js +74 -50
  58. package/dist/framework/tool-scheduler.js.map +1 -1
  59. package/dist/framework/tool-state.d.ts +2 -0
  60. package/dist/framework/tool-state.d.ts.map +1 -1
  61. package/dist/framework/tool-state.js +1 -0
  62. package/dist/framework/tool-state.js.map +1 -1
  63. package/dist/framework/tool.d.ts +16 -0
  64. package/dist/framework/tool.d.ts.map +1 -1
  65. package/dist/framework/tool.js +9 -0
  66. package/dist/framework/tool.js.map +1 -1
  67. package/dist/print-ui/launch.d.ts +1 -0
  68. package/dist/print-ui/launch.d.ts.map +1 -1
  69. package/dist/print-ui/launch.js +5 -2
  70. package/dist/print-ui/launch.js.map +1 -1
  71. package/dist/runtime/agent-runtime-controller.d.ts +20 -1
  72. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  73. package/dist/runtime/agent-runtime-controller.js +250 -21
  74. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  75. package/dist/runtime/agent-runtime-protocol.d.ts +31 -1
  76. package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
  77. package/dist/runtime/agent-runtime-protocol.js +12 -0
  78. package/dist/runtime/agent-runtime-protocol.js.map +1 -1
  79. package/dist/runtime/chat-checkpoint.d.ts.map +1 -1
  80. package/dist/runtime/chat-checkpoint.js +2 -5
  81. package/dist/runtime/chat-checkpoint.js.map +1 -1
  82. package/dist/runtime/chat-command-scope.d.ts +5 -0
  83. package/dist/runtime/chat-command-scope.d.ts.map +1 -0
  84. package/dist/runtime/chat-command-scope.js +22 -0
  85. package/dist/runtime/chat-command-scope.js.map +1 -0
  86. package/dist/runtime/chat-controller.d.ts +2 -0
  87. package/dist/runtime/chat-controller.d.ts.map +1 -1
  88. package/dist/runtime/chat-controller.js +50 -58
  89. package/dist/runtime/chat-controller.js.map +1 -1
  90. package/dist/runtime/chat-presentation.d.ts +6 -3
  91. package/dist/runtime/chat-presentation.d.ts.map +1 -1
  92. package/dist/runtime/chat-presentation.js +30 -6
  93. package/dist/runtime/chat-presentation.js.map +1 -1
  94. package/dist/runtime/goals/coordinator.d.ts +5 -0
  95. package/dist/runtime/goals/coordinator.d.ts.map +1 -1
  96. package/dist/runtime/goals/coordinator.js +102 -19
  97. package/dist/runtime/goals/coordinator.js.map +1 -1
  98. package/dist/runtime/goals/evidence.d.ts +10 -0
  99. package/dist/runtime/goals/evidence.d.ts.map +1 -1
  100. package/dist/runtime/goals/evidence.js +18 -0
  101. package/dist/runtime/goals/evidence.js.map +1 -1
  102. package/dist/runtime/goals/lifecycle.d.ts +13 -0
  103. package/dist/runtime/goals/lifecycle.d.ts.map +1 -0
  104. package/dist/runtime/goals/lifecycle.js +46 -0
  105. package/dist/runtime/goals/lifecycle.js.map +1 -0
  106. package/dist/runtime/goals/objective.d.ts +18 -0
  107. package/dist/runtime/goals/objective.d.ts.map +1 -0
  108. package/dist/runtime/goals/objective.js +60 -0
  109. package/dist/runtime/goals/objective.js.map +1 -0
  110. package/dist/runtime/goals/presentation.d.ts.map +1 -1
  111. package/dist/runtime/goals/presentation.js +4 -0
  112. package/dist/runtime/goals/presentation.js.map +1 -1
  113. package/dist/runtime/goals/prompt.d.ts.map +1 -1
  114. package/dist/runtime/goals/prompt.js +9 -2
  115. package/dist/runtime/goals/prompt.js.map +1 -1
  116. package/dist/runtime/goals/tools.d.ts +2 -0
  117. package/dist/runtime/goals/tools.d.ts.map +1 -1
  118. package/dist/runtime/goals/tools.js +20 -26
  119. package/dist/runtime/goals/tools.js.map +1 -1
  120. package/dist/runtime/goals/types.d.ts +8 -1
  121. package/dist/runtime/goals/types.d.ts.map +1 -1
  122. package/dist/runtime/goals/types.js +5 -0
  123. package/dist/runtime/goals/types.js.map +1 -1
  124. package/dist/runtime/loop-budget.d.ts +7 -0
  125. package/dist/runtime/loop-budget.d.ts.map +1 -1
  126. package/dist/runtime/loop-budget.js +22 -4
  127. package/dist/runtime/loop-budget.js.map +1 -1
  128. package/dist/runtime/ui-events.d.ts +48 -1
  129. package/dist/runtime/ui-events.d.ts.map +1 -1
  130. package/dist/runtime/ui-events.js.map +1 -1
  131. package/dist/runtime/ui-view-model.d.ts +10 -1
  132. package/dist/runtime/ui-view-model.d.ts.map +1 -1
  133. package/dist/runtime/ui-view-model.js +93 -4
  134. package/dist/runtime/ui-view-model.js.map +1 -1
  135. package/dist/services/bounded-response.d.ts +12 -0
  136. package/dist/services/bounded-response.d.ts.map +1 -0
  137. package/dist/services/bounded-response.js +67 -0
  138. package/dist/services/bounded-response.js.map +1 -0
  139. package/dist/services/concurrent-sessions.d.ts +1 -0
  140. package/dist/services/concurrent-sessions.d.ts.map +1 -1
  141. package/dist/services/concurrent-sessions.js +35 -22
  142. package/dist/services/concurrent-sessions.js.map +1 -1
  143. package/dist/services/config.d.ts.map +1 -1
  144. package/dist/services/config.js +29 -9
  145. package/dist/services/config.js.map +1 -1
  146. package/dist/services/file-lock.d.ts.map +1 -1
  147. package/dist/services/file-lock.js +60 -27
  148. package/dist/services/file-lock.js.map +1 -1
  149. package/dist/services/global-config.d.ts +16 -0
  150. package/dist/services/global-config.d.ts.map +1 -1
  151. package/dist/services/global-config.js +140 -38
  152. package/dist/services/global-config.js.map +1 -1
  153. package/dist/services/goal-storage.d.ts +1 -1
  154. package/dist/services/goal-storage.d.ts.map +1 -1
  155. package/dist/services/goal-storage.js +14 -4
  156. package/dist/services/goal-storage.js.map +1 -1
  157. package/dist/services/project-instructions.d.ts +8 -0
  158. package/dist/services/project-instructions.d.ts.map +1 -1
  159. package/dist/services/project-instructions.js +95 -38
  160. package/dist/services/project-instructions.js.map +1 -1
  161. package/dist/services/provider-resilience/request-gate.d.ts +9 -5
  162. package/dist/services/provider-resilience/request-gate.d.ts.map +1 -1
  163. package/dist/services/provider-resilience/request-gate.js +71 -23
  164. package/dist/services/provider-resilience/request-gate.js.map +1 -1
  165. package/dist/services/session-storage.d.ts +18 -5
  166. package/dist/services/session-storage.d.ts.map +1 -1
  167. package/dist/services/session-storage.js +295 -115
  168. package/dist/services/session-storage.js.map +1 -1
  169. package/dist/services/tool-allowlist.d.ts +4 -4
  170. package/dist/services/tool-allowlist.js +4 -4
  171. package/dist/services/web-search-adapters.d.ts.map +1 -1
  172. package/dist/services/web-search-adapters.js +24 -10
  173. package/dist/services/web-search-adapters.js.map +1 -1
  174. package/dist/services/web-search-mcp.d.ts.map +1 -1
  175. package/dist/services/web-search-mcp.js +13 -3
  176. package/dist/services/web-search-mcp.js.map +1 -1
  177. package/dist/services/workspace-containment.d.ts +8 -0
  178. package/dist/services/workspace-containment.d.ts.map +1 -0
  179. package/dist/services/workspace-containment.js +44 -0
  180. package/dist/services/workspace-containment.js.map +1 -0
  181. package/dist/terminal-ui/completion.d.ts.map +1 -1
  182. package/dist/terminal-ui/completion.js +5 -1
  183. package/dist/terminal-ui/completion.js.map +1 -1
  184. package/dist/terminal-ui/launch.d.ts +5 -0
  185. package/dist/terminal-ui/launch.d.ts.map +1 -1
  186. package/dist/terminal-ui/launch.js +53 -17
  187. package/dist/terminal-ui/launch.js.map +1 -1
  188. package/dist/tools/bash_security.d.ts.map +1 -1
  189. package/dist/tools/bash_security.js +12 -2
  190. package/dist/tools/bash_security.js.map +1 -1
  191. package/dist/tools/git.d.ts.map +1 -1
  192. package/dist/tools/git.js +47 -12
  193. package/dist/tools/git.js.map +1 -1
  194. package/dist/tools/index.d.ts.map +1 -1
  195. package/dist/tools/index.js +128 -54
  196. package/dist/tools/index.js.map +1 -1
  197. package/dist/tools/plan.d.ts +2 -3
  198. package/dist/tools/plan.d.ts.map +1 -1
  199. package/dist/tools/plan.js +36 -34
  200. package/dist/tools/plan.js.map +1 -1
  201. package/dist/tools/web.d.ts.map +1 -1
  202. package/dist/tools/web.js +11 -2
  203. package/dist/tools/web.js.map +1 -1
  204. package/dist/tui-core/input-parser.d.ts +1 -1
  205. package/dist/tui-core/input-parser.d.ts.map +1 -1
  206. package/dist/tui-core/input-parser.js +1 -0
  207. package/dist/tui-core/input-parser.js.map +1 -1
  208. package/dist/tui-core/style.d.ts +11 -0
  209. package/dist/tui-core/style.d.ts.map +1 -1
  210. package/dist/tui-core/style.js +68 -9
  211. package/dist/tui-core/style.js.map +1 -1
  212. package/dist/tui-ui/chrome-view-model.d.ts +19 -0
  213. package/dist/tui-ui/chrome-view-model.d.ts.map +1 -0
  214. package/dist/tui-ui/chrome-view-model.js +168 -0
  215. package/dist/tui-ui/chrome-view-model.js.map +1 -0
  216. package/dist/tui-ui/inline-surface.d.ts +1 -1
  217. package/dist/tui-ui/inline-surface.d.ts.map +1 -1
  218. package/dist/tui-ui/inline-surface.js +24 -16
  219. package/dist/tui-ui/inline-surface.js.map +1 -1
  220. package/dist/tui-ui/launch.d.ts.map +1 -1
  221. package/dist/tui-ui/launch.js +38 -2
  222. package/dist/tui-ui/launch.js.map +1 -1
  223. package/dist/tui-ui/layout.d.ts +5 -1
  224. package/dist/tui-ui/layout.d.ts.map +1 -1
  225. package/dist/tui-ui/layout.js +101 -73
  226. package/dist/tui-ui/layout.js.map +1 -1
  227. package/dist/tui-ui/pixel-mascot.d.ts +5 -0
  228. package/dist/tui-ui/pixel-mascot.d.ts.map +1 -0
  229. package/dist/tui-ui/pixel-mascot.js +33 -0
  230. package/dist/tui-ui/pixel-mascot.js.map +1 -0
  231. package/dist/tui-ui/runner.d.ts +25 -1
  232. package/dist/tui-ui/runner.d.ts.map +1 -1
  233. package/dist/tui-ui/runner.js +181 -0
  234. package/dist/tui-ui/runner.js.map +1 -1
  235. package/dist/tui-ui/state.d.ts +11 -1
  236. package/dist/tui-ui/state.d.ts.map +1 -1
  237. package/dist/tui-ui/state.js +101 -13
  238. package/dist/tui-ui/state.js.map +1 -1
  239. package/dist/tui-ui/terminal-image.d.ts +13 -3
  240. package/dist/tui-ui/terminal-image.d.ts.map +1 -1
  241. package/dist/tui-ui/terminal-image.js +25 -7
  242. package/dist/tui-ui/terminal-image.js.map +1 -1
  243. package/dist/tui-ui/theme-profile.d.ts +4 -0
  244. package/dist/tui-ui/theme-profile.d.ts.map +1 -1
  245. package/dist/tui-ui/theme-profile.js +21 -5
  246. package/dist/tui-ui/theme-profile.js.map +1 -1
  247. package/dist/tui-ui/theme.d.ts +5 -2
  248. package/dist/tui-ui/theme.d.ts.map +1 -1
  249. package/dist/tui-ui/theme.js +21 -1
  250. package/dist/tui-ui/theme.js.map +1 -1
  251. package/dist/tui-ui/transcript-layout.d.ts.map +1 -1
  252. package/dist/tui-ui/transcript-layout.js +38 -29
  253. package/dist/tui-ui/transcript-layout.js.map +1 -1
  254. package/dist/ui/command-panel.d.ts +2 -0
  255. package/dist/ui/command-panel.d.ts.map +1 -1
  256. package/dist/ui/command-panel.js +46 -20
  257. package/dist/ui/command-panel.js.map +1 -1
  258. package/dist/ui/file-completion.d.ts.map +1 -1
  259. package/dist/ui/file-completion.js +12 -6
  260. package/dist/ui/file-completion.js.map +1 -1
  261. package/dist/ui/shared/command-palette.d.ts.map +1 -1
  262. package/dist/ui/shared/command-palette.js +13 -9
  263. package/dist/ui/shared/command-palette.js.map +1 -1
  264. package/dist/ui/shared/text.d.ts +2 -0
  265. package/dist/ui/shared/text.d.ts.map +1 -1
  266. package/dist/ui/shared/text.js +20 -12
  267. package/dist/ui/shared/text.js.map +1 -1
  268. package/dist/ui/suggestions.d.ts.map +1 -1
  269. package/dist/ui/suggestions.js +7 -6
  270. package/dist/ui/suggestions.js.map +1 -1
  271. package/npm-shrinkwrap.json +7148 -0
  272. package/package.json +14 -8
  273. package/dist/ink/index.d.ts +0 -54
  274. package/dist/ink/index.d.ts.map +0 -1
  275. package/dist/ink/index.js +0 -111
  276. package/dist/ink/index.js.map +0 -1
  277. package/dist/ui-v2/components/command-palette.d.ts +0 -2
  278. package/dist/ui-v2/components/command-palette.d.ts.map +0 -1
  279. package/dist/ui-v2/components/command-palette.js +0 -18
  280. package/dist/ui-v2/components/command-palette.js.map +0 -1
  281. package/dist/ui-v2/components/edit-preview-picker.d.ts +0 -26
  282. package/dist/ui-v2/components/edit-preview-picker.d.ts.map +0 -1
  283. package/dist/ui-v2/components/edit-preview-picker.js +0 -79
  284. package/dist/ui-v2/components/edit-preview-picker.js.map +0 -1
  285. package/dist/ui-v2/components/session-picker.d.ts +0 -19
  286. package/dist/ui-v2/components/session-picker.d.ts.map +0 -1
  287. package/dist/ui-v2/components/session-picker.js +0 -52
  288. package/dist/ui-v2/components/session-picker.js.map +0 -1
  289. package/dist/ui-v2/components/shell.d.ts +0 -36
  290. package/dist/ui-v2/components/shell.d.ts.map +0 -1
  291. package/dist/ui-v2/components/shell.js +0 -131
  292. package/dist/ui-v2/components/shell.js.map +0 -1
  293. package/dist/ui-v2/index.d.ts +0 -11
  294. package/dist/ui-v2/index.d.ts.map +0 -1
  295. package/dist/ui-v2/index.js +0 -27
  296. package/dist/ui-v2/index.js.map +0 -1
  297. package/dist/ui-v2/runtime/text.d.ts +0 -2
  298. package/dist/ui-v2/runtime/text.d.ts.map +0 -1
  299. package/dist/ui-v2/runtime/text.js +0 -18
  300. package/dist/ui-v2/runtime/text.js.map +0 -1
  301. package/dist/ui-v2/state/input-reducer.d.ts +0 -39
  302. package/dist/ui-v2/state/input-reducer.d.ts.map +0 -1
  303. package/dist/ui-v2/state/input-reducer.js +0 -82
  304. package/dist/ui-v2/state/input-reducer.js.map +0 -1
  305. package/dist/ui-v2/state/picker.d.ts +0 -16
  306. package/dist/ui-v2/state/picker.d.ts.map +0 -1
  307. package/dist/ui-v2/state/picker.js +0 -52
  308. package/dist/ui-v2/state/picker.js.map +0 -1
  309. package/dist/ui-v2/state/sessions.d.ts +0 -15
  310. package/dist/ui-v2/state/sessions.d.ts.map +0 -1
  311. package/dist/ui-v2/state/sessions.js +0 -70
  312. package/dist/ui-v2/state/sessions.js.map +0 -1
  313. package/dist/ui-v2/state/suggestions.d.ts +0 -2
  314. package/dist/ui-v2/state/suggestions.d.ts.map +0 -1
  315. package/dist/ui-v2/state/suggestions.js +0 -18
  316. package/dist/ui-v2/state/suggestions.js.map +0 -1
  317. package/dist/ui-v2/types.d.ts +0 -2
  318. package/dist/ui-v2/types.d.ts.map +0 -1
  319. package/dist/ui-v2/types.js +0 -18
  320. package/dist/ui-v2/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/services/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/services/config.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,20 @@ const INTERNAL_DEFAULTS = {
68
68
  ui: {
69
69
  renderer: exports.DEFAULT_UI_RENDERER,
70
70
  confirmations: 'config',
71
+ theme: 'orion-pixel',
72
+ motion: 'reduced',
73
+ mascot: true,
74
+ statusLine: [
75
+ 'mode',
76
+ 'goal',
77
+ 'model',
78
+ 'effort',
79
+ 'context',
80
+ 'permission',
81
+ 'queue',
82
+ 'activity',
83
+ ],
84
+ keymap: {},
71
85
  },
72
86
  };
73
87
  function normalizeToolConfirmationPolicy(value) {
@@ -144,6 +158,18 @@ function loadUIConfig(globalConfig, overrides) {
144
158
  confirmations: normalizeUIConfirmationMode(overrides.ui?.confirmations) ??
145
159
  normalizeUIConfirmationMode(globalConfig.ui?.confirmations) ??
146
160
  INTERNAL_DEFAULTS.ui.confirmations,
161
+ theme: overrides.ui?.theme ?? globalConfig.ui?.theme ?? INTERNAL_DEFAULTS.ui.theme,
162
+ motion: overrides.ui?.motion ?? globalConfig.ui?.motion ?? INTERNAL_DEFAULTS.ui.motion,
163
+ mascot: overrides.ui?.mascot ?? globalConfig.ui?.mascot ?? INTERNAL_DEFAULTS.ui.mascot,
164
+ statusLine: [
165
+ ...(overrides.ui?.statusLine ??
166
+ globalConfig.ui?.statusLine ??
167
+ INTERNAL_DEFAULTS.ui.statusLine),
168
+ ],
169
+ keymap: {
170
+ ...globalConfig.ui?.keymap,
171
+ ...overrides.ui?.keymap,
172
+ },
147
173
  };
148
174
  }
149
175
  function loadAgentLoopConfig(globalConfig, overrides) {
@@ -248,21 +274,15 @@ function loadConfig(overrides = {}) {
248
274
  }
249
275
  }
250
276
  resolvedModel =
251
- toNonEmptyString(overrides.model) ??
252
- toNonEmptyString(globalConfig.defaultModel) ??
253
- 'gpt-4o';
277
+ toNonEmptyString(overrides.model) ?? toNonEmptyString(globalConfig.defaultModel) ?? 'gpt-4o';
254
278
  resolvedFallback =
255
279
  toNonEmptyString(overrides.fallbackModel) ??
256
280
  toNonEmptyString(globalConfig.fallbackModel) ??
257
281
  undefined;
258
282
  }
259
283
  const config = {
260
- apiKey: toNonEmptyString(overrides.apiKey) ??
261
- globalConfig.apiKey ??
262
- '',
263
- apiBaseUrl: toNonEmptyString(overrides.apiBaseUrl) ??
264
- globalConfig.apiBaseUrl ??
265
- undefined,
284
+ apiKey: toNonEmptyString(overrides.apiKey) ?? globalConfig.apiKey ?? '',
285
+ apiBaseUrl: toNonEmptyString(overrides.apiBaseUrl) ?? globalConfig.apiBaseUrl ?? undefined,
266
286
  model: resolvedModel,
267
287
  fallbackModel: resolvedFallback,
268
288
  modelRegistry,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/services/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/services/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-lock.d.ts","sourceRoot":"","sources":["../../src/services/file-lock.ts"],"names":[],"mappings":"AA8LA,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,CAAC,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACpE,CAAC,CAmBH"}
1
+ {"version":3,"file":"file-lock.d.ts","sourceRoot":"","sources":["../../src/services/file-lock.ts"],"names":[],"mappings":"AA8OA,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,CAAC,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACpE,CAAC,CAmBH"}
@@ -37,7 +37,7 @@ function processIsAlive(pid) {
37
37
  return error.code === 'EPERM';
38
38
  }
39
39
  }
40
- function recoverStaleLock(lockPath, staleMs) {
40
+ function recoverStaleLock(lockPath, staleMs, options = {}) {
41
41
  let firstStat;
42
42
  try {
43
43
  firstStat = (0, fs_1.statSync)(lockPath);
@@ -46,9 +46,21 @@ function recoverStaleLock(lockPath, staleMs) {
46
46
  return true;
47
47
  }
48
48
  const firstOwner = readOwner(lockPath);
49
- const lastActivity = Math.max(firstStat.mtimeMs, firstOwner?.createdAt ?? 0);
50
- if (Date.now() - lastActivity <= staleMs || (firstOwner && processIsAlive(firstOwner.pid))) {
51
- return false;
49
+ if (firstOwner) {
50
+ const lastActivity = Math.max(firstStat.mtimeMs, firstOwner.createdAt);
51
+ if (Date.now() - lastActivity <= staleMs || processIsAlive(firstOwner.pid)) {
52
+ return false;
53
+ }
54
+ }
55
+ else {
56
+ // An unreadable main lock is never safe to reclaim automatically. The
57
+ // recovery sentinel is different: createLock() now publishes complete
58
+ // metadata atomically, so only legacy/crashed writers can leave this
59
+ // state. Preserve a fresh sentinel in case an older Orion is still in its
60
+ // open-then-write window, and quarantine it only after the stale grace.
61
+ if (!options.quarantineUnreadable || Date.now() - firstStat.mtimeMs <= staleMs) {
62
+ return false;
63
+ }
52
64
  }
53
65
  let currentStat;
54
66
  try {
@@ -58,51 +70,72 @@ function recoverStaleLock(lockPath, staleMs) {
58
70
  return true;
59
71
  }
60
72
  const currentOwner = readOwner(lockPath);
61
- if (currentStat.ino !== firstStat.ino ||
73
+ if (currentStat.dev !== firstStat.dev ||
74
+ currentStat.ino !== firstStat.ino ||
62
75
  currentStat.mtimeMs !== firstStat.mtimeMs ||
63
- currentOwner?.token !== firstOwner?.token) {
76
+ currentStat.ctimeMs !== firstStat.ctimeMs ||
77
+ currentStat.size !== firstStat.size ||
78
+ (firstOwner ? !currentOwner || currentOwner.token !== firstOwner.token : currentOwner !== null)) {
64
79
  return false;
65
80
  }
66
- const stalePath = `${lockPath}.stale-${(0, crypto_1.randomUUID)().slice(0, 8)}`;
81
+ const stalePath = firstOwner
82
+ ? `${lockPath}.stale-${(0, crypto_1.randomUUID)().slice(0, 8)}`
83
+ : `${lockPath}.quarantine-${Date.now()}-${(0, crypto_1.randomUUID)().slice(0, 8)}`;
67
84
  try {
68
85
  (0, fs_1.renameSync)(lockPath, stalePath);
69
86
  }
70
87
  catch (error) {
71
88
  return error.code === 'ENOENT';
72
89
  }
73
- try {
74
- (0, fs_1.unlinkSync)(stalePath);
75
- }
76
- catch (error) {
77
- (0, debug_log_1.debugError)('file-lock.cleanupStale', error, stalePath);
90
+ // Keep malformed legacy bytes for audit/recovery. A normal stale lock has a
91
+ // validated dead owner and can be removed after the atomic rename.
92
+ if (firstOwner) {
93
+ try {
94
+ (0, fs_1.unlinkSync)(stalePath);
95
+ }
96
+ catch (error) {
97
+ (0, debug_log_1.debugError)('file-lock.cleanupStale', error, stalePath);
98
+ }
78
99
  }
79
100
  return true;
80
101
  }
81
102
  function createLock(lockPath) {
82
103
  const owner = { token: (0, crypto_1.randomUUID)(), pid: process.pid, createdAt: Date.now() };
104
+ const candidatePath = `${lockPath}.candidate-${owner.token}`;
105
+ let candidateCreated = false;
83
106
  try {
84
- const fd = (0, fs_1.openSync)(lockPath, 'wx', 0o600);
107
+ // Publish the lock only after its owner record is complete. linkSync is an
108
+ // atomic no-replace operation: contenders see either no lock or a fully
109
+ // initialized lock, never the zero-byte open('wx') crash window.
110
+ const fd = (0, fs_1.openSync)(candidatePath, 'wx', 0o600);
111
+ candidateCreated = true;
85
112
  try {
86
113
  (0, fs_1.writeFileSync)(fd, JSON.stringify(owner));
87
114
  }
88
- catch (error) {
89
- try {
90
- (0, fs_1.unlinkSync)(lockPath);
91
- }
92
- catch (cleanupError) {
93
- (0, debug_log_1.debugError)('file-lock.initializeCleanup', cleanupError, lockPath);
94
- }
95
- throw error;
96
- }
97
115
  finally {
98
116
  (0, fs_1.closeSync)(fd);
99
117
  }
118
+ try {
119
+ (0, fs_1.linkSync)(candidatePath, lockPath);
120
+ }
121
+ catch (error) {
122
+ if (error.code === 'EEXIST')
123
+ return null;
124
+ throw error;
125
+ }
100
126
  return owner;
101
127
  }
102
- catch (error) {
103
- if (error.code === 'EEXIST')
104
- return null;
105
- throw error;
128
+ finally {
129
+ if (candidateCreated) {
130
+ try {
131
+ (0, fs_1.unlinkSync)(candidatePath);
132
+ }
133
+ catch (error) {
134
+ if (error.code !== 'ENOENT') {
135
+ (0, debug_log_1.debugError)('file-lock.candidateCleanup', error, candidatePath);
136
+ }
137
+ }
138
+ }
106
139
  }
107
140
  }
108
141
  function releaseOwnedLock(lockPath, owner, scope) {
@@ -128,7 +161,7 @@ function acquirePrimitiveLock(lockPath, options) {
128
161
  const owner = createLock(lockPath);
129
162
  if (owner)
130
163
  return owner;
131
- if (recoverStaleLock(lockPath, options.staleMs))
164
+ if (recoverStaleLock(lockPath, options.staleMs, { quarantineUnreadable: true }))
132
165
  continue;
133
166
  if (Date.now() >= deadline)
134
167
  throw new Error(`Timed out waiting for file lock ${lockPath}`);
@@ -1 +1 @@
1
- {"version":3,"file":"file-lock.js","sourceRoot":"","sources":["../../src/services/file-lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-lock.js","sourceRoot":"","sources":["../../src/services/file-lock.ts"],"names":[],"mappings":"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"}
@@ -54,12 +54,28 @@ export interface SandboxConfig {
54
54
  export type UIRenderer = 'terminal' | 'tui' | 'ink';
55
55
  /** How UI permission prompts should be handled. */
56
56
  export type UIConfirmationMode = 'config' | 'interactive';
57
+ /** Stable TUI theme ids. Orion Pixel is the product default from v0.1.7. */
58
+ export type TuiThemePreference = 'orion-pixel' | 'classic' | 'high-contrast' | 'auto';
59
+ export type TuiMotionPreference = 'full' | 'reduced' | 'off';
60
+ export type TuiStatusItem = 'mode' | 'goal' | 'model' | 'effort' | 'context' | 'permission' | 'queue' | 'activity';
61
+ /** Semantic keymap actions. Raw escape sequences are deliberately unsupported. */
62
+ export type TuiKeymapAction = 'submit' | 'queue' | 'interrupt' | 'history-search' | 'external-editor' | 'transcript' | 'redraw' | 'exit';
57
63
  /** UI configuration that is safe to persist globally. */
58
64
  export interface UIConfig {
59
65
  /** Runtime-only renderer override. This is ignored in orion.json. */
60
66
  renderer?: UIRenderer;
61
67
  /** Whether confirmations are handled by config fallback or interactive UI. */
62
68
  confirmations?: UIConfirmationMode;
69
+ /** Product theme. Existing configs without this field receive Orion Pixel. */
70
+ theme?: TuiThemePreference;
71
+ /** Motion policy for bounded terminal animations. */
72
+ motion?: TuiMotionPreference;
73
+ /** Show the Orion pixel hunter when space permits. */
74
+ mascot?: boolean;
75
+ /** Ordered, renderer-owned status items. */
76
+ statusLine?: TuiStatusItem[];
77
+ /** Optional semantic key bindings; invalid/conflicting bindings are ignored. */
78
+ keymap?: Partial<Record<TuiKeymapAction, string[]>>;
63
79
  }
64
80
  /** Remote MCP service used by the built-in web_search tool. */
65
81
  export interface WebSearchMcpConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"global-config.d.ts","sourceRoot":"","sources":["../../src/services/global-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"global-config.d.ts","sourceRoot":"","sources":["../../src/services/global-config.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ const crypto_1 = require("crypto");
22
22
  const path_1 = require("path");
23
23
  const config_dir_1 = require("./config-dir");
24
24
  const atomic_write_1 = require("./atomic-write");
25
+ const file_lock_1 = require("./file-lock");
25
26
  const effort_1 = require("./effort");
26
27
  // ============================================================================
27
28
  // 默认配置
@@ -32,6 +33,87 @@ const DEFAULT_CONFIG = {
32
33
  toolConfirmation: 'allow',
33
34
  };
34
35
  const CONFIG_SCHEMA_VERSION = 1;
36
+ const TUI_THEME_PREFERENCES = new Set([
37
+ 'orion-pixel',
38
+ 'classic',
39
+ 'high-contrast',
40
+ 'auto',
41
+ ]);
42
+ const TUI_MOTION_PREFERENCES = new Set(['full', 'reduced', 'off']);
43
+ const TUI_STATUS_ITEMS = new Set([
44
+ 'mode',
45
+ 'goal',
46
+ 'model',
47
+ 'effort',
48
+ 'context',
49
+ 'permission',
50
+ 'queue',
51
+ 'activity',
52
+ ]);
53
+ const TUI_KEYMAP_ACTIONS = new Set([
54
+ 'submit',
55
+ 'queue',
56
+ 'interrupt',
57
+ 'history-search',
58
+ 'external-editor',
59
+ 'transcript',
60
+ 'redraw',
61
+ 'exit',
62
+ ]);
63
+ const TUI_KEY_BINDINGS = new Set([
64
+ 'enter',
65
+ 'tab',
66
+ 'escape',
67
+ 'ctrl+c',
68
+ 'ctrl+d',
69
+ 'ctrl+e',
70
+ 'ctrl+l',
71
+ 'ctrl+o',
72
+ 'ctrl+r',
73
+ ]);
74
+ function sanitizeUiConfig(value) {
75
+ if (!value || typeof value !== 'object' || Array.isArray(value))
76
+ return undefined;
77
+ const raw = value;
78
+ const ui = {};
79
+ if (raw.confirmations === 'config' || raw.confirmations === 'interactive') {
80
+ ui.confirmations = raw.confirmations;
81
+ }
82
+ if (typeof raw.theme === 'string' && TUI_THEME_PREFERENCES.has(raw.theme)) {
83
+ ui.theme = raw.theme;
84
+ }
85
+ if (typeof raw.motion === 'string' &&
86
+ TUI_MOTION_PREFERENCES.has(raw.motion)) {
87
+ ui.motion = raw.motion;
88
+ }
89
+ if (typeof raw.mascot === 'boolean')
90
+ ui.mascot = raw.mascot;
91
+ if (Array.isArray(raw.statusLine)) {
92
+ ui.statusLine = [
93
+ ...new Set(raw.statusLine.filter((item) => typeof item === 'string' && TUI_STATUS_ITEMS.has(item))),
94
+ ];
95
+ }
96
+ if (raw.keymap && typeof raw.keymap === 'object' && !Array.isArray(raw.keymap)) {
97
+ const keymap = {};
98
+ const claimedBindings = new Set();
99
+ for (const [action, bindings] of Object.entries(raw.keymap)) {
100
+ if (!TUI_KEYMAP_ACTIONS.has(action) || !Array.isArray(bindings))
101
+ continue;
102
+ const normalized = bindings.filter((binding) => typeof binding === 'string' && TUI_KEY_BINDINGS.has(binding.trim().toLowerCase()));
103
+ const unique = [...new Set(normalized.map(binding => binding.trim().toLowerCase()))].filter(binding => {
104
+ if (claimedBindings.has(binding))
105
+ return false;
106
+ claimedBindings.add(binding);
107
+ return true;
108
+ });
109
+ if (unique.length > 0)
110
+ keymap[action] = unique;
111
+ }
112
+ if (Object.keys(keymap).length > 0)
113
+ ui.keymap = keymap;
114
+ }
115
+ return Object.keys(ui).length > 0 ? ui : undefined;
116
+ }
35
117
  function sanitizeSandboxConfig(value) {
36
118
  if (!value || typeof value !== 'object' || Array.isArray(value))
37
119
  return undefined;
@@ -104,10 +186,10 @@ function sanitizeGlobalConfig(config) {
104
186
  sanitizeProjectConfig(projectConfig),
105
187
  ]));
106
188
  }
107
- // UI renderer is a runtime choice, not persisted global configuration.
108
- if (ui?.confirmations && ui.confirmations !== 'config') {
109
- sanitized.ui = { confirmations: ui.confirmations };
110
- }
189
+ // UI renderer is a runtime choice, but product preferences are persisted.
190
+ const persistedUi = sanitizeUiConfig(ui);
191
+ if (persistedUi)
192
+ sanitized.ui = persistedUi;
111
193
  return sanitized;
112
194
  }
113
195
  // ============================================================================
@@ -138,6 +220,9 @@ function loadGlobalConfig() {
138
220
  function saveGlobalConfig(config) {
139
221
  (0, config_dir_1.ensureConfigDir)();
140
222
  const path = (0, config_dir_1.getGlobalConfigPath)();
223
+ (0, file_lock_1.withFileLockSync)(path, () => saveGlobalConfigUnlocked(path, config), { waitMs: 10000 });
224
+ }
225
+ function saveGlobalConfigUnlocked(path, config) {
141
226
  // orion.json holds provider credentials; an interrupted in-place write makes
142
227
  // it unparseable and the loader falls back to defaults, wiping the config.
143
228
  (0, atomic_write_1.atomicWriteFileSync)(path, JSON.stringify(sanitizeGlobalConfig(config), null, 2), {
@@ -149,10 +234,14 @@ function saveGlobalConfig(config) {
149
234
  * 更新全局配置(部分更新)
150
235
  */
151
236
  function updateGlobalConfig(updates) {
152
- const config = loadGlobalConfig();
153
- const newConfig = { ...config, ...updates };
154
- saveGlobalConfig(newConfig);
155
- return newConfig;
237
+ (0, config_dir_1.ensureConfigDir)();
238
+ const path = (0, config_dir_1.getGlobalConfigPath)();
239
+ return (0, file_lock_1.withFileLockSync)(path, () => {
240
+ const config = loadGlobalConfig();
241
+ const newConfig = { ...config, ...updates };
242
+ saveGlobalConfigUnlocked(path, newConfig);
243
+ return newConfig;
244
+ }, { waitMs: 10000 });
156
245
  }
157
246
  // ============================================================================
158
247
  // 项目配置
@@ -162,30 +251,41 @@ function getProjectConfig(projectPath) {
162
251
  return sanitizeProjectConfig(config.projects?.[projectPath]);
163
252
  }
164
253
  function saveProjectConfig(projectPath, projectConfig) {
165
- const config = loadGlobalConfig();
166
- config.projects = {
167
- ...config.projects,
168
- [projectPath]: projectConfig,
169
- };
170
- saveGlobalConfig(config);
254
+ (0, config_dir_1.ensureConfigDir)();
255
+ const path = (0, config_dir_1.getGlobalConfigPath)();
256
+ (0, file_lock_1.withFileLockSync)(path, () => {
257
+ const config = loadGlobalConfig();
258
+ config.projects = {
259
+ ...config.projects,
260
+ [projectPath]: projectConfig,
261
+ };
262
+ saveGlobalConfigUnlocked(path, config);
263
+ }, { waitMs: 10000 });
171
264
  }
172
265
  // ============================================================================
173
266
  // 用户 ID
174
267
  // ============================================================================
175
268
  function getOrCreateUserId() {
176
- const config = loadGlobalConfig();
177
- if (config.userId) {
178
- return config.userId;
179
- }
180
- const userId = (0, crypto_1.randomBytes)(16).toString('hex');
181
- updateGlobalConfig({ userId });
182
- return userId;
269
+ (0, config_dir_1.ensureConfigDir)();
270
+ const path = (0, config_dir_1.getGlobalConfigPath)();
271
+ return (0, file_lock_1.withFileLockSync)(path, () => {
272
+ const config = loadGlobalConfig();
273
+ if (config.userId)
274
+ return config.userId;
275
+ const userId = (0, crypto_1.randomBytes)(16).toString('hex');
276
+ saveGlobalConfigUnlocked(path, { ...config, userId });
277
+ return userId;
278
+ }, { waitMs: 10000 });
183
279
  }
184
280
  function recordFirstStartTime() {
185
- const config = loadGlobalConfig();
186
- if (!config.firstStartTime) {
187
- updateGlobalConfig({ firstStartTime: new Date().toISOString() });
188
- }
281
+ (0, config_dir_1.ensureConfigDir)();
282
+ const path = (0, config_dir_1.getGlobalConfigPath)();
283
+ (0, file_lock_1.withFileLockSync)(path, () => {
284
+ const config = loadGlobalConfig();
285
+ if (!config.firstStartTime) {
286
+ saveGlobalConfigUnlocked(path, { ...config, firstStartTime: new Date().toISOString() });
287
+ }
288
+ }, { waitMs: 10000 });
189
289
  }
190
290
  var usage_state_1 = require("./usage-state");
191
291
  Object.defineProperty(exports, "incrementSessionCount", { enumerable: true, get: function () { return usage_state_1.incrementSessionCount; } });
@@ -199,6 +299,9 @@ function getInputHistoryPath() {
199
299
  }
200
300
  function getInputHistory() {
201
301
  const path = getInputHistoryPath();
302
+ return readInputHistory(path);
303
+ }
304
+ function readInputHistory(path) {
202
305
  if (!(0, fs_1.existsSync)(path)) {
203
306
  return [];
204
307
  }
@@ -218,19 +321,18 @@ function saveInputHistory(history) {
218
321
  function addToInputHistory(content) {
219
322
  if (!content.trim())
220
323
  return;
221
- const history = getInputHistory();
222
- const existingIndex = history.findIndex(h => h.content === content);
223
- if (existingIndex >= 0) {
224
- history.splice(existingIndex, 1);
225
- }
226
- history.unshift({
227
- content,
228
- timestamp: Date.now(),
229
- });
230
- if (history.length > MAX_INPUT_HISTORY) {
231
- history.splice(MAX_INPUT_HISTORY);
232
- }
233
- saveInputHistory(history);
324
+ (0, config_dir_1.ensureConfigDir)();
325
+ const path = getInputHistoryPath();
326
+ (0, file_lock_1.withFileLockSync)(path, () => {
327
+ const history = readInputHistory(path);
328
+ const existingIndex = history.findIndex(h => h.content === content);
329
+ if (existingIndex >= 0)
330
+ history.splice(existingIndex, 1);
331
+ history.unshift({ content, timestamp: Date.now() });
332
+ if (history.length > MAX_INPUT_HISTORY)
333
+ history.splice(MAX_INPUT_HISTORY);
334
+ saveInputHistory(history);
335
+ }, { waitMs: 10000 });
234
336
  }
235
337
  function searchInputHistory(query) {
236
338
  const history = getInputHistory();