@orion-agents/orion-code 0.1.4 → 0.1.5

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 (525) hide show
  1. package/README.md +52 -21
  2. package/README.zh-CN.md +14 -7
  3. package/dist/agents/coder.d.ts.map +1 -1
  4. package/dist/agents/coder.js.map +1 -1
  5. package/dist/agents/fork.d.ts +12 -4
  6. package/dist/agents/fork.d.ts.map +1 -1
  7. package/dist/agents/fork.js +28 -32
  8. package/dist/agents/fork.js.map +1 -1
  9. package/dist/agents/leader.d.ts.map +1 -1
  10. package/dist/agents/leader.js.map +1 -1
  11. package/dist/agents/worker-pool.d.ts.map +1 -1
  12. package/dist/agents/worker-pool.js +38 -29
  13. package/dist/agents/worker-pool.js.map +1 -1
  14. package/dist/cli.d.ts +1 -1
  15. package/dist/cli.d.ts.map +1 -1
  16. package/dist/cli.js +4 -1
  17. package/dist/cli.js.map +1 -1
  18. package/dist/commands/context-commands.d.ts +4 -0
  19. package/dist/commands/context-commands.d.ts.map +1 -0
  20. package/dist/commands/context-commands.js +74 -0
  21. package/dist/commands/context-commands.js.map +1 -0
  22. package/dist/commands/context-tool-command-handlers.d.ts +13 -0
  23. package/dist/commands/context-tool-command-handlers.d.ts.map +1 -0
  24. package/dist/commands/context-tool-command-handlers.js +580 -0
  25. package/dist/commands/context-tool-command-handlers.js.map +1 -0
  26. package/dist/commands/core-command-handlers.d.ts +12 -0
  27. package/dist/commands/core-command-handlers.d.ts.map +1 -0
  28. package/dist/commands/core-command-handlers.js +805 -0
  29. package/dist/commands/core-command-handlers.js.map +1 -0
  30. package/dist/commands/diagnostic-command-handlers.d.ts +14 -0
  31. package/dist/commands/diagnostic-command-handlers.d.ts.map +1 -0
  32. package/dist/commands/diagnostic-command-handlers.js +1043 -0
  33. package/dist/commands/diagnostic-command-handlers.js.map +1 -0
  34. package/dist/commands/diagnostic-commands.d.ts +4 -0
  35. package/dist/commands/diagnostic-commands.d.ts.map +1 -0
  36. package/dist/commands/diagnostic-commands.js +175 -0
  37. package/dist/commands/diagnostic-commands.js.map +1 -0
  38. package/dist/commands/index.d.ts +9 -10
  39. package/dist/commands/index.d.ts.map +1 -1
  40. package/dist/commands/index.js +42 -3563
  41. package/dist/commands/index.js.map +1 -1
  42. package/dist/commands/legacy-commands.d.ts +4 -0
  43. package/dist/commands/legacy-commands.d.ts.map +1 -0
  44. package/dist/commands/legacy-commands.js +44 -0
  45. package/dist/commands/legacy-commands.js.map +1 -0
  46. package/dist/commands/model-command-handlers.d.ts +15 -0
  47. package/dist/commands/model-command-handlers.d.ts.map +1 -0
  48. package/dist/commands/model-command-handlers.js +526 -0
  49. package/dist/commands/model-command-handlers.js.map +1 -0
  50. package/dist/commands/model-commands.d.ts +4 -0
  51. package/dist/commands/model-commands.d.ts.map +1 -0
  52. package/dist/commands/model-commands.js +85 -0
  53. package/dist/commands/model-commands.js.map +1 -0
  54. package/dist/commands/parser.d.ts +12 -0
  55. package/dist/commands/parser.d.ts.map +1 -1
  56. package/dist/commands/parser.js +48 -7
  57. package/dist/commands/parser.js.map +1 -1
  58. package/dist/commands/registry.d.ts +4 -0
  59. package/dist/commands/registry.d.ts.map +1 -0
  60. package/dist/commands/registry.js +566 -0
  61. package/dist/commands/registry.js.map +1 -0
  62. package/dist/commands/session-command-handlers.d.ts +10 -0
  63. package/dist/commands/session-command-handlers.d.ts.map +1 -0
  64. package/dist/commands/session-command-handlers.js +626 -0
  65. package/dist/commands/session-command-handlers.js.map +1 -0
  66. package/dist/commands/session-commands.d.ts +4 -0
  67. package/dist/commands/session-commands.d.ts.map +1 -0
  68. package/dist/commands/session-commands.js +102 -0
  69. package/dist/commands/session-commands.js.map +1 -0
  70. package/dist/commands/system-commands.d.ts +4 -0
  71. package/dist/commands/system-commands.d.ts.map +1 -0
  72. package/dist/commands/system-commands.js +80 -0
  73. package/dist/commands/system-commands.js.map +1 -0
  74. package/dist/commands/target-command.d.ts.map +1 -1
  75. package/dist/commands/target-command.js +29 -2
  76. package/dist/commands/target-command.js.map +1 -1
  77. package/dist/commands/tool-commands.d.ts +4 -0
  78. package/dist/commands/tool-commands.d.ts.map +1 -0
  79. package/dist/commands/tool-commands.js +49 -0
  80. package/dist/commands/tool-commands.js.map +1 -0
  81. package/dist/commands/types.d.ts +69 -5
  82. package/dist/commands/types.d.ts.map +1 -1
  83. package/dist/commands/types.js +3 -4
  84. package/dist/commands/types.js.map +1 -1
  85. package/dist/commands/workflow-command-handlers.d.ts +7 -0
  86. package/dist/commands/workflow-command-handlers.d.ts.map +1 -0
  87. package/dist/commands/workflow-command-handlers.js +32 -0
  88. package/dist/commands/workflow-command-handlers.js.map +1 -0
  89. package/dist/commands/workflow-commands.d.ts +4 -0
  90. package/dist/commands/workflow-commands.d.ts.map +1 -0
  91. package/dist/commands/workflow-commands.js +124 -0
  92. package/dist/commands/workflow-commands.js.map +1 -0
  93. package/dist/core/checkpoint.d.ts +12 -4
  94. package/dist/core/checkpoint.d.ts.map +1 -1
  95. package/dist/core/checkpoint.js +114 -28
  96. package/dist/core/checkpoint.js.map +1 -1
  97. package/dist/core/cost-tracker.d.ts +17 -1
  98. package/dist/core/cost-tracker.d.ts.map +1 -1
  99. package/dist/core/cost-tracker.js +24 -8
  100. package/dist/core/cost-tracker.js.map +1 -1
  101. package/dist/core/warn-dedup.d.ts +3 -0
  102. package/dist/core/warn-dedup.d.ts.map +1 -1
  103. package/dist/core/warn-dedup.js +6 -6
  104. package/dist/core/warn-dedup.js.map +1 -1
  105. package/dist/framework/index.d.ts +1 -1
  106. package/dist/framework/index.d.ts.map +1 -1
  107. package/dist/framework/index.js.map +1 -1
  108. package/dist/framework/prompt.d.ts +2 -2
  109. package/dist/framework/query.d.ts +2 -2
  110. package/dist/framework/query.d.ts.map +1 -1
  111. package/dist/framework/query.js +57 -10
  112. package/dist/framework/query.js.map +1 -1
  113. package/dist/framework/store.d.ts +15 -6
  114. package/dist/framework/store.d.ts.map +1 -1
  115. package/dist/framework/store.js +18 -0
  116. package/dist/framework/store.js.map +1 -1
  117. package/dist/framework/tool-scheduler.d.ts +16 -13
  118. package/dist/framework/tool-scheduler.d.ts.map +1 -1
  119. package/dist/framework/tool-scheduler.js +155 -38
  120. package/dist/framework/tool-scheduler.js.map +1 -1
  121. package/dist/framework/tool.d.ts +39 -2
  122. package/dist/framework/tool.d.ts.map +1 -1
  123. package/dist/framework/tool.js +27 -1
  124. package/dist/framework/tool.js.map +1 -1
  125. package/dist/harness/assembler.d.ts.map +1 -1
  126. package/dist/harness/assembler.js +4 -2
  127. package/dist/harness/assembler.js.map +1 -1
  128. package/dist/harness/evidence.d.ts.map +1 -1
  129. package/dist/harness/evidence.js +3 -2
  130. package/dist/harness/evidence.js.map +1 -1
  131. package/dist/harness/safety.d.ts +11 -1
  132. package/dist/harness/safety.d.ts.map +1 -1
  133. package/dist/harness/safety.js +112 -16
  134. package/dist/harness/safety.js.map +1 -1
  135. package/dist/index.d.ts +1 -4
  136. package/dist/index.d.ts.map +1 -1
  137. package/dist/index.js.map +1 -1
  138. package/dist/init.d.ts +4 -8
  139. package/dist/init.d.ts.map +1 -1
  140. package/dist/init.js +4 -4
  141. package/dist/init.js.map +1 -1
  142. package/dist/ink-ui/App.d.ts +2 -2
  143. package/dist/ink-ui/components/Markdown.d.ts.map +1 -1
  144. package/dist/ink-ui/components/Markdown.js.map +1 -1
  145. package/dist/ink-ui/components/PixelHorseBanner.d.ts +2 -2
  146. package/dist/ink-ui/components/StatusLine.d.ts +2 -2
  147. package/dist/ink-ui/launch.d.ts +2 -2
  148. package/dist/ink-ui/screens/ReplScreen.d.ts +4 -3
  149. package/dist/ink-ui/screens/ReplScreen.d.ts.map +1 -1
  150. package/dist/ink-ui/screens/ReplScreen.js +103 -31
  151. package/dist/ink-ui/screens/ReplScreen.js.map +1 -1
  152. package/dist/memory/relevant-finder.d.ts +2 -1
  153. package/dist/memory/relevant-finder.d.ts.map +1 -1
  154. package/dist/memory/relevant-finder.js +17 -8
  155. package/dist/memory/relevant-finder.js.map +1 -1
  156. package/dist/memory/semantic-config.d.ts +9 -0
  157. package/dist/memory/semantic-config.d.ts.map +1 -0
  158. package/dist/memory/semantic-config.js +16 -0
  159. package/dist/memory/semantic-config.js.map +1 -0
  160. package/dist/memory/semantic-search.d.ts +1 -6
  161. package/dist/memory/semantic-search.d.ts.map +1 -1
  162. package/dist/memory/semantic-search.js +3 -15
  163. package/dist/memory/semantic-search.js.map +1 -1
  164. package/dist/memory/storage.d.ts +23 -0
  165. package/dist/memory/storage.d.ts.map +1 -1
  166. package/dist/memory/storage.js +116 -9
  167. package/dist/memory/storage.js.map +1 -1
  168. package/dist/memory/vector-store.d.ts +30 -0
  169. package/dist/memory/vector-store.d.ts.map +1 -1
  170. package/dist/memory/vector-store.js +160 -21
  171. package/dist/memory/vector-store.js.map +1 -1
  172. package/dist/migration/command.d.ts.map +1 -1
  173. package/dist/migration/command.js +0 -1
  174. package/dist/migration/command.js.map +1 -1
  175. package/dist/migration/migrate.d.ts.map +1 -1
  176. package/dist/migration/migrate.js +47 -103
  177. package/dist/migration/migrate.js.map +1 -1
  178. package/dist/migration/types.d.ts +0 -1
  179. package/dist/migration/types.d.ts.map +1 -1
  180. package/dist/print-ui/launch.d.ts +13 -3
  181. package/dist/print-ui/launch.d.ts.map +1 -1
  182. package/dist/print-ui/launch.js +28 -3
  183. package/dist/print-ui/launch.js.map +1 -1
  184. package/dist/product/environment.d.ts +3 -5
  185. package/dist/product/environment.d.ts.map +1 -1
  186. package/dist/product/environment.js +4 -32
  187. package/dist/product/environment.js.map +1 -1
  188. package/dist/product/index.d.ts +1 -1
  189. package/dist/product/index.d.ts.map +1 -1
  190. package/dist/product/index.js +1 -3
  191. package/dist/product/index.js.map +1 -1
  192. package/dist/product/paths.d.ts.map +1 -1
  193. package/dist/product/paths.js +16 -11
  194. package/dist/product/paths.js.map +1 -1
  195. package/dist/runtime/agent-runtime-controller.d.ts +4 -2
  196. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  197. package/dist/runtime/agent-runtime-controller.js +127 -14
  198. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  199. package/dist/runtime/agent-runtime-protocol.d.ts +15 -0
  200. package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
  201. package/dist/runtime/agent-runtime-protocol.js +6 -0
  202. package/dist/runtime/agent-runtime-protocol.js.map +1 -1
  203. package/dist/runtime/chat-checkpoint.d.ts +17 -0
  204. package/dist/runtime/chat-checkpoint.d.ts.map +1 -0
  205. package/dist/runtime/chat-checkpoint.js +108 -0
  206. package/dist/runtime/chat-checkpoint.js.map +1 -0
  207. package/dist/runtime/chat-controller.d.ts +10 -51
  208. package/dist/runtime/chat-controller.d.ts.map +1 -1
  209. package/dist/runtime/chat-controller.js +256 -1070
  210. package/dist/runtime/chat-controller.js.map +1 -1
  211. package/dist/runtime/chat-effort.d.ts +5 -0
  212. package/dist/runtime/chat-effort.d.ts.map +1 -0
  213. package/dist/runtime/chat-effort.js +47 -0
  214. package/dist/runtime/chat-effort.js.map +1 -0
  215. package/dist/runtime/chat-presentation.d.ts +60 -0
  216. package/dist/runtime/chat-presentation.d.ts.map +1 -0
  217. package/dist/runtime/chat-presentation.js +537 -0
  218. package/dist/runtime/chat-presentation.js.map +1 -0
  219. package/dist/runtime/chat-trace.d.ts +52 -0
  220. package/dist/runtime/chat-trace.d.ts.map +1 -0
  221. package/dist/runtime/chat-trace.js +234 -0
  222. package/dist/runtime/chat-trace.js.map +1 -0
  223. package/dist/runtime/chat-workspace.d.ts +22 -0
  224. package/dist/runtime/chat-workspace.d.ts.map +1 -0
  225. package/dist/runtime/chat-workspace.js +154 -0
  226. package/dist/runtime/chat-workspace.js.map +1 -0
  227. package/dist/runtime/goals/accounting.js +1 -1
  228. package/dist/runtime/goals/accounting.js.map +1 -1
  229. package/dist/runtime/goals/completion-audit.d.ts.map +1 -1
  230. package/dist/runtime/goals/completion-audit.js +5 -4
  231. package/dist/runtime/goals/completion-audit.js.map +1 -1
  232. package/dist/runtime/goals/coordinator.d.ts +3 -0
  233. package/dist/runtime/goals/coordinator.d.ts.map +1 -1
  234. package/dist/runtime/goals/coordinator.js +30 -2
  235. package/dist/runtime/goals/coordinator.js.map +1 -1
  236. package/dist/runtime/goals/prompt.d.ts +1 -1
  237. package/dist/runtime/goals/prompt.d.ts.map +1 -1
  238. package/dist/runtime/goals/prompt.js +4 -3
  239. package/dist/runtime/goals/prompt.js.map +1 -1
  240. package/dist/runtime/goals/tools.d.ts +21 -8
  241. package/dist/runtime/goals/tools.d.ts.map +1 -1
  242. package/dist/runtime/goals/tools.js +141 -10
  243. package/dist/runtime/goals/tools.js.map +1 -1
  244. package/dist/runtime/loop-budget.d.ts +2 -2
  245. package/dist/runtime/rich-text/markdown-parser.d.ts +2 -0
  246. package/dist/runtime/rich-text/markdown-parser.d.ts.map +1 -1
  247. package/dist/runtime/rich-text/markdown-parser.js +50 -10
  248. package/dist/runtime/rich-text/markdown-parser.js.map +1 -1
  249. package/dist/runtime/subagents/index.d.ts +2 -2
  250. package/dist/runtime/subagents/index.d.ts.map +1 -1
  251. package/dist/runtime/subagents/index.js +2 -1
  252. package/dist/runtime/subagents/index.js.map +1 -1
  253. package/dist/runtime/subagents/policy.d.ts +1 -1
  254. package/dist/runtime/subagents/policy.d.ts.map +1 -1
  255. package/dist/runtime/subagents/policy.js.map +1 -1
  256. package/dist/runtime/subagents/presets.d.ts +2 -2
  257. package/dist/runtime/subagents/research-artifact.d.ts +7 -0
  258. package/dist/runtime/subagents/research-artifact.d.ts.map +1 -1
  259. package/dist/runtime/subagents/research-artifact.js +73 -27
  260. package/dist/runtime/subagents/research-artifact.js.map +1 -1
  261. package/dist/runtime/subagents/research-contract.d.ts +18 -4
  262. package/dist/runtime/subagents/research-contract.d.ts.map +1 -1
  263. package/dist/runtime/subagents/research-contract.js +122 -17
  264. package/dist/runtime/subagents/research-contract.js.map +1 -1
  265. package/dist/runtime/subagents/research-renderer.d.ts +27 -11
  266. package/dist/runtime/subagents/research-renderer.d.ts.map +1 -1
  267. package/dist/runtime/subagents/research-renderer.js +34 -2
  268. package/dist/runtime/subagents/research-renderer.js.map +1 -1
  269. package/dist/runtime/subagents/result-parser.d.ts +1 -5
  270. package/dist/runtime/subagents/result-parser.d.ts.map +1 -1
  271. package/dist/runtime/subagents/result-parser.js +5 -72
  272. package/dist/runtime/subagents/result-parser.js.map +1 -1
  273. package/dist/runtime/subagents/runtime-integration.d.ts +13 -7
  274. package/dist/runtime/subagents/runtime-integration.d.ts.map +1 -1
  275. package/dist/runtime/subagents/runtime-integration.js +112 -2
  276. package/dist/runtime/subagents/runtime-integration.js.map +1 -1
  277. package/dist/runtime/subagents/supervisor.d.ts +15 -1
  278. package/dist/runtime/subagents/supervisor.d.ts.map +1 -1
  279. package/dist/runtime/subagents/supervisor.js +58 -3
  280. package/dist/runtime/subagents/supervisor.js.map +1 -1
  281. package/dist/runtime/subagents/tool.d.ts +2 -2
  282. package/dist/runtime/subagents/tool.d.ts.map +1 -1
  283. package/dist/runtime/subagents/tool.js +129 -9
  284. package/dist/runtime/subagents/tool.js.map +1 -1
  285. package/dist/runtime/subagents/types.d.ts +20 -0
  286. package/dist/runtime/subagents/types.d.ts.map +1 -1
  287. package/dist/runtime/subagents/types.js.map +1 -1
  288. package/dist/runtime/subagents/web-research-adapter.d.ts +4 -2
  289. package/dist/runtime/subagents/web-research-adapter.d.ts.map +1 -1
  290. package/dist/runtime/subagents/web-research-adapter.js +81 -15
  291. package/dist/runtime/subagents/web-research-adapter.js.map +1 -1
  292. package/dist/runtime/ui-events.d.ts +36 -8
  293. package/dist/runtime/ui-events.d.ts.map +1 -1
  294. package/dist/runtime/ui-events.js.map +1 -1
  295. package/dist/runtime/ui-view-model.d.ts +53 -4
  296. package/dist/runtime/ui-view-model.d.ts.map +1 -1
  297. package/dist/runtime/ui-view-model.js +190 -10
  298. package/dist/runtime/ui-view-model.js.map +1 -1
  299. package/dist/services/agent-runner.d.ts +5 -2
  300. package/dist/services/agent-runner.d.ts.map +1 -1
  301. package/dist/services/agent-runner.js +18 -18
  302. package/dist/services/agent-runner.js.map +1 -1
  303. package/dist/services/atomic-write.d.ts +9 -1
  304. package/dist/services/atomic-write.d.ts.map +1 -1
  305. package/dist/services/atomic-write.js +55 -2
  306. package/dist/services/atomic-write.js.map +1 -1
  307. package/dist/services/auth/auth.d.ts +11 -7
  308. package/dist/services/auth/auth.d.ts.map +1 -1
  309. package/dist/services/auth/auth.js +117 -31
  310. package/dist/services/auth/auth.js.map +1 -1
  311. package/dist/services/auth/aws.d.ts +2 -0
  312. package/dist/services/auth/aws.d.ts.map +1 -1
  313. package/dist/services/auth/aws.js +126 -12
  314. package/dist/services/auth/aws.js.map +1 -1
  315. package/dist/services/auth/index.d.ts +1 -1
  316. package/dist/services/auth/index.d.ts.map +1 -1
  317. package/dist/services/auth/index.js +2 -1
  318. package/dist/services/auth/index.js.map +1 -1
  319. package/dist/services/auto-fix/autoFixConfig.d.ts +0 -3
  320. package/dist/services/auto-fix/autoFixConfig.d.ts.map +1 -1
  321. package/dist/services/auto-fix/autoFixConfig.js +25 -8
  322. package/dist/services/auto-fix/autoFixConfig.js.map +1 -1
  323. package/dist/services/auto-fix/autoFixHook.d.ts +7 -0
  324. package/dist/services/auto-fix/autoFixHook.d.ts.map +1 -1
  325. package/dist/services/auto-fix/autoFixHook.js +10 -1
  326. package/dist/services/auto-fix/autoFixHook.js.map +1 -1
  327. package/dist/services/compact/auto-compact.d.ts +2 -0
  328. package/dist/services/compact/auto-compact.d.ts.map +1 -1
  329. package/dist/services/compact/auto-compact.js +15 -1
  330. package/dist/services/compact/auto-compact.js.map +1 -1
  331. package/dist/services/compact/compact.d.ts.map +1 -1
  332. package/dist/services/compact/compact.js +9 -11
  333. package/dist/services/compact/compact.js.map +1 -1
  334. package/dist/services/compact/summary-generator.d.ts.map +1 -1
  335. package/dist/services/compact/summary-generator.js +28 -4
  336. package/dist/services/compact/summary-generator.js.map +1 -1
  337. package/dist/services/compact/tool-call-groups.d.ts +19 -0
  338. package/dist/services/compact/tool-call-groups.d.ts.map +1 -0
  339. package/dist/services/compact/tool-call-groups.js +105 -0
  340. package/dist/services/compact/tool-call-groups.js.map +1 -0
  341. package/dist/services/concurrent-sessions.d.ts +4 -0
  342. package/dist/services/concurrent-sessions.d.ts.map +1 -1
  343. package/dist/services/concurrent-sessions.js +59 -12
  344. package/dist/services/concurrent-sessions.js.map +1 -1
  345. package/dist/services/config.d.ts +8 -4
  346. package/dist/services/config.d.ts.map +1 -1
  347. package/dist/services/config.js +15 -71
  348. package/dist/services/config.js.map +1 -1
  349. package/dist/services/doctor.d.ts +2 -2
  350. package/dist/services/doctor.js.map +1 -1
  351. package/dist/services/effort.d.ts +40 -0
  352. package/dist/services/effort.d.ts.map +1 -0
  353. package/dist/services/effort.js +88 -0
  354. package/dist/services/effort.js.map +1 -0
  355. package/dist/services/file-glob.d.ts.map +1 -1
  356. package/dist/services/file-glob.js +22 -2
  357. package/dist/services/file-glob.js.map +1 -1
  358. package/dist/services/file-lock.d.ts +7 -0
  359. package/dist/services/file-lock.d.ts.map +1 -0
  360. package/dist/services/file-lock.js +193 -0
  361. package/dist/services/file-lock.js.map +1 -0
  362. package/dist/services/global-config.d.ts +9 -0
  363. package/dist/services/global-config.d.ts.map +1 -1
  364. package/dist/services/global-config.js +79 -4
  365. package/dist/services/global-config.js.map +1 -1
  366. package/dist/services/goal-storage.d.ts.map +1 -1
  367. package/dist/services/goal-storage.js +30 -11
  368. package/dist/services/goal-storage.js.map +1 -1
  369. package/dist/services/llm.d.ts +35 -17
  370. package/dist/services/llm.d.ts.map +1 -1
  371. package/dist/services/llm.js +249 -113
  372. package/dist/services/llm.js.map +1 -1
  373. package/dist/services/mcp/transports.d.ts +0 -1
  374. package/dist/services/mcp/transports.d.ts.map +1 -1
  375. package/dist/services/mcp/transports.js +12 -13
  376. package/dist/services/mcp/transports.js.map +1 -1
  377. package/dist/services/model-context.d.ts +8 -0
  378. package/dist/services/model-context.d.ts.map +1 -1
  379. package/dist/services/model-context.js +111 -7
  380. package/dist/services/model-context.js.map +1 -1
  381. package/dist/services/model-registry.d.ts +3 -0
  382. package/dist/services/model-registry.d.ts.map +1 -1
  383. package/dist/services/model-registry.js +59 -2
  384. package/dist/services/model-registry.js.map +1 -1
  385. package/dist/services/provider-diagnostics.d.ts +1 -1
  386. package/dist/services/provider-diagnostics.d.ts.map +1 -1
  387. package/dist/services/provider-diagnostics.js +30 -16
  388. package/dist/services/provider-diagnostics.js.map +1 -1
  389. package/dist/services/provider-resilience/coordinator.d.ts +8 -3
  390. package/dist/services/provider-resilience/coordinator.d.ts.map +1 -1
  391. package/dist/services/provider-resilience/coordinator.js +86 -19
  392. package/dist/services/provider-resilience/coordinator.js.map +1 -1
  393. package/dist/services/provider-resilience/error-classifier.d.ts +1 -0
  394. package/dist/services/provider-resilience/error-classifier.d.ts.map +1 -1
  395. package/dist/services/provider-resilience/error-classifier.js +50 -26
  396. package/dist/services/provider-resilience/error-classifier.js.map +1 -1
  397. package/dist/services/provider-resilience/index.d.ts +3 -3
  398. package/dist/services/provider-resilience/index.d.ts.map +1 -1
  399. package/dist/services/provider-resilience/index.js +3 -1
  400. package/dist/services/provider-resilience/index.js.map +1 -1
  401. package/dist/services/provider-resilience/request-gate.d.ts +6 -0
  402. package/dist/services/provider-resilience/request-gate.d.ts.map +1 -1
  403. package/dist/services/provider-resilience/request-gate.js +24 -9
  404. package/dist/services/provider-resilience/request-gate.js.map +1 -1
  405. package/dist/services/provider-resilience/types.d.ts +10 -1
  406. package/dist/services/provider-resilience/types.d.ts.map +1 -1
  407. package/dist/services/provider-resilience/types.js.map +1 -1
  408. package/dist/services/redaction.d.ts.map +1 -1
  409. package/dist/services/redaction.js +29 -1
  410. package/dist/services/redaction.js.map +1 -1
  411. package/dist/services/session-index.d.ts.map +1 -1
  412. package/dist/services/session-index.js +75 -44
  413. package/dist/services/session-index.js.map +1 -1
  414. package/dist/services/session-memory/sessionMemory.d.ts.map +1 -1
  415. package/dist/services/session-memory/sessionMemory.js +6 -3
  416. package/dist/services/session-memory/sessionMemory.js.map +1 -1
  417. package/dist/services/session-storage.d.ts +12 -0
  418. package/dist/services/session-storage.d.ts.map +1 -1
  419. package/dist/services/session-storage.js +301 -230
  420. package/dist/services/session-storage.js.map +1 -1
  421. package/dist/services/storage-maintenance.d.ts.map +1 -1
  422. package/dist/services/storage-maintenance.js +25 -7
  423. package/dist/services/storage-maintenance.js.map +1 -1
  424. package/dist/services/task-manager.d.ts +6 -1
  425. package/dist/services/task-manager.d.ts.map +1 -1
  426. package/dist/services/task-manager.js +18 -4
  427. package/dist/services/task-manager.js.map +1 -1
  428. package/dist/services/tool-allowlist.d.ts +20 -10
  429. package/dist/services/tool-allowlist.d.ts.map +1 -1
  430. package/dist/services/tool-allowlist.js +64 -15
  431. package/dist/services/tool-allowlist.js.map +1 -1
  432. package/dist/services/usage-state.d.ts +10 -0
  433. package/dist/services/usage-state.d.ts.map +1 -1
  434. package/dist/services/usage-state.js +116 -45
  435. package/dist/services/usage-state.js.map +1 -1
  436. package/dist/services/verification-profile.d.ts.map +1 -1
  437. package/dist/services/verification-profile.js +23 -3
  438. package/dist/services/verification-profile.js.map +1 -1
  439. package/dist/services/workspace-diff.d.ts +14 -0
  440. package/dist/services/workspace-diff.d.ts.map +1 -1
  441. package/dist/services/workspace-diff.js +60 -11
  442. package/dist/services/workspace-diff.js.map +1 -1
  443. package/dist/skills/loader.d.ts.map +1 -1
  444. package/dist/skills/loader.js +23 -9
  445. package/dist/skills/loader.js.map +1 -1
  446. package/dist/skills/runtime.d.ts +3 -3
  447. package/dist/skills/runtime.d.ts.map +1 -1
  448. package/dist/skills/runtime.js +37 -4
  449. package/dist/skills/runtime.js.map +1 -1
  450. package/dist/skills/types.d.ts +1 -1
  451. package/dist/skills/types.d.ts.map +1 -1
  452. package/dist/terminal-ui/launch.d.ts +26 -8
  453. package/dist/terminal-ui/launch.d.ts.map +1 -1
  454. package/dist/terminal-ui/launch.js +79 -37
  455. package/dist/terminal-ui/launch.js.map +1 -1
  456. package/dist/tools/bash_security.d.ts +17 -0
  457. package/dist/tools/bash_security.d.ts.map +1 -1
  458. package/dist/tools/bash_security.js +233 -27
  459. package/dist/tools/bash_security.js.map +1 -1
  460. package/dist/tools/git.d.ts +8 -8
  461. package/dist/tools/git.d.ts.map +1 -1
  462. package/dist/tools/git.js +248 -55
  463. package/dist/tools/git.js.map +1 -1
  464. package/dist/tools/index.d.ts +13 -3
  465. package/dist/tools/index.d.ts.map +1 -1
  466. package/dist/tools/index.js +245 -25
  467. package/dist/tools/index.js.map +1 -1
  468. package/dist/tools/lsp.d.ts +74 -6
  469. package/dist/tools/lsp.d.ts.map +1 -1
  470. package/dist/tools/lsp.js +24 -5
  471. package/dist/tools/lsp.js.map +1 -1
  472. package/dist/tools/mcp.d.ts +11 -4
  473. package/dist/tools/mcp.d.ts.map +1 -1
  474. package/dist/tools/mcp.js +99 -3
  475. package/dist/tools/mcp.js.map +1 -1
  476. package/dist/tools/plan.d.ts +4 -4
  477. package/dist/tools/sandbox.d.ts +3 -1
  478. package/dist/tools/sandbox.d.ts.map +1 -1
  479. package/dist/tools/sandbox.js +28 -13
  480. package/dist/tools/sandbox.js.map +1 -1
  481. package/dist/tools/todo.d.ts +3 -3
  482. package/dist/tools/web.d.ts +15 -4
  483. package/dist/tools/web.d.ts.map +1 -1
  484. package/dist/tools/web.js +240 -26
  485. package/dist/tools/web.js.map +1 -1
  486. package/dist/tui-ui/launch.d.ts +3 -3
  487. package/dist/tui-ui/launch.d.ts.map +1 -1
  488. package/dist/tui-ui/launch.js +3 -3
  489. package/dist/tui-ui/launch.js.map +1 -1
  490. package/dist/tui-ui/layout.d.ts.map +1 -1
  491. package/dist/tui-ui/layout.js +9 -3
  492. package/dist/tui-ui/layout.js.map +1 -1
  493. package/dist/tui-ui/pickers.d.ts.map +1 -1
  494. package/dist/tui-ui/pickers.js +1 -0
  495. package/dist/tui-ui/pickers.js.map +1 -1
  496. package/dist/tui-ui/runner.d.ts +2 -1
  497. package/dist/tui-ui/runner.d.ts.map +1 -1
  498. package/dist/tui-ui/runner.js +18 -29
  499. package/dist/tui-ui/runner.js.map +1 -1
  500. package/dist/tui-ui/state.d.ts +13 -1
  501. package/dist/tui-ui/state.d.ts.map +1 -1
  502. package/dist/tui-ui/state.js +28 -1
  503. package/dist/tui-ui/state.js.map +1 -1
  504. package/dist/ui/markdown.js.map +1 -1
  505. package/dist/utils/debug-log.d.ts +3 -3
  506. package/dist/utils/debug-log.d.ts.map +1 -1
  507. package/dist/utils/debug-log.js +7 -4
  508. package/dist/utils/debug-log.js.map +1 -1
  509. package/dist/utils/json.d.ts +6 -0
  510. package/dist/utils/json.d.ts.map +1 -0
  511. package/dist/utils/json.js +66 -0
  512. package/dist/utils/json.js.map +1 -0
  513. package/dist/utils/mask.d.ts +8 -1
  514. package/dist/utils/mask.d.ts.map +1 -1
  515. package/dist/utils/mask.js +10 -12
  516. package/dist/utils/mask.js.map +1 -1
  517. package/dist/utils/observability.d.ts +22 -0
  518. package/dist/utils/observability.d.ts.map +1 -0
  519. package/dist/utils/observability.js +80 -0
  520. package/dist/utils/observability.js.map +1 -0
  521. package/dist/utils/token-estimate.d.ts +8 -0
  522. package/dist/utils/token-estimate.d.ts.map +1 -1
  523. package/dist/utils/token-estimate.js +30 -17
  524. package/dist/utils/token-estimate.js.map +1 -1
  525. package/package.json +9 -8
@@ -0,0 +1,526 @@
1
+ "use strict";
2
+ /** Handler implementations for the model-command-handlers boundary. */
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.handleModel = handleModel;
8
+ exports.handleModels = handleModels;
9
+ exports.handleMode = handleMode;
10
+ exports.handlePermissions = handlePermissions;
11
+ exports.handleEffort = handleEffort;
12
+ exports.showConfig = showConfig;
13
+ const chalk_1 = __importDefault(require("chalk"));
14
+ const types_1 = require("./types");
15
+ const ui_view_model_1 = require("../runtime/ui-view-model");
16
+ const tool_allowlist_1 = require("../services/tool-allowlist");
17
+ const auto_compact_1 = require("../services/compact/auto-compact");
18
+ const model_context_1 = require("../services/model-context");
19
+ const mask_1 = require("../utils/mask");
20
+ const model_catalog_1 = require("../services/model-catalog");
21
+ const model_registry_1 = require("../services/model-registry");
22
+ const global_config_1 = require("../services/global-config");
23
+ const global_config_2 = require("../services/global-config");
24
+ const effort_1 = require("../services/effort");
25
+ const session_storage_1 = require("../services/session-storage");
26
+ // ============================================================================
27
+ // 颜色常量
28
+ // ============================================================================
29
+ const BRAND = chalk_1.default.hex('#FF6B35');
30
+ const ACCENT = chalk_1.default.hex('#00D4AA');
31
+ const DIM = chalk_1.default.dim;
32
+ const ERROR = chalk_1.default.red;
33
+ const WARN = chalk_1.default.yellow;
34
+ const SUCCESS = chalk_1.default.green;
35
+ const HEADER = chalk_1.default.cyan.bold;
36
+ function commandUICapabilities(ctx) {
37
+ return (0, ui_view_model_1.createStatusSnapshot)({
38
+ renderer: ctx.uiRenderer ?? ctx.config.ui?.renderer ?? 'terminal',
39
+ capabilities: ctx.uiCapabilities,
40
+ }).renderer.capabilities;
41
+ }
42
+ function formatTokenCount(tokens) {
43
+ if (tokens >= 1000000)
44
+ return `${(tokens / 1000000).toFixed(1)}M`;
45
+ if (tokens >= 1000)
46
+ return `${Math.round(tokens / 1000)}K`;
47
+ return String(tokens);
48
+ }
49
+ function formatThreshold(value) {
50
+ return `${Math.round(value * 100)}%`;
51
+ }
52
+ function getProfileByModelId(registry, modelId) {
53
+ if (!registry)
54
+ return undefined;
55
+ const normalized = modelId.trim();
56
+ if (!normalized)
57
+ return undefined;
58
+ if (registry.profiles.has(normalized))
59
+ return registry.profiles.get(normalized);
60
+ for (const profile of registry.profiles.values()) {
61
+ if (modelId === profile.model)
62
+ return profile;
63
+ }
64
+ return undefined;
65
+ }
66
+ function resolveModelFromRegistry(config, selector) {
67
+ if (!config.modelRegistry)
68
+ return undefined;
69
+ const trimmed = selector.trim();
70
+ if (!trimmed)
71
+ return undefined;
72
+ return (0, model_registry_1.lookupProfile)(config.modelRegistry, trimmed) ?? undefined;
73
+ }
74
+ function listConfiguredModelCatalogEntries(registry) {
75
+ if (!registry)
76
+ return [];
77
+ return registry.enabledProfiles.map(profile => {
78
+ const provider = registry.providers.get(profile.provider);
79
+ return {
80
+ name: profile.id,
81
+ alias: profile.aliases?.[0],
82
+ provider: provider?.displayName ?? profile.provider,
83
+ contextWindow: profile.resolvedContextWindow,
84
+ maxOutputTokens: profile.resolvedMaxOutputTokens,
85
+ source: `${profile.contextSource}/${profile.outputSource}`,
86
+ effortSupportedLevels: profile.reasoningCapability?.supportedLevels,
87
+ };
88
+ });
89
+ }
90
+ function getCommandAutoCompact(ctx, modelId) {
91
+ if (ctx.compactCoordinator) {
92
+ ctx.compactCoordinator.configure({
93
+ modelId,
94
+ llm: ctx.llm,
95
+ outputReserveTokens: ctx.llm?.getMaxTokens?.(),
96
+ });
97
+ return ctx.compactCoordinator.getAutomatic();
98
+ }
99
+ return (0, auto_compact_1.getAutoCompact)({ modelId });
100
+ }
101
+ function showConfig(ctx) {
102
+ console.log();
103
+ console.log(HEADER('Configuration'));
104
+ console.log(DIM('─'.repeat(40)));
105
+ const allowlist = (0, tool_allowlist_1.resolveProjectToolAllowlist)(ctx.cwd);
106
+ const allowlistSummary = allowlist.rules.length === 0 && allowlist.invalid.length === 0
107
+ ? '(none)'
108
+ : `${allowlist.rules.length} rule(s)` +
109
+ (allowlist.invalid.length > 0 ? `, ${allowlist.invalid.length} invalid (ignored)` : '');
110
+ const summary = {
111
+ name: ctx.config.name,
112
+ model: ctx.config.model,
113
+ apiBaseUrl: ctx.config.apiBaseUrl || '(default OpenAI)',
114
+ apiKey: (0, mask_1.maskSecret)(ctx.config.apiKey),
115
+ mode: ctx.config.mode,
116
+ logLevel: ctx.config.logLevel,
117
+ toolConfirmation: ctx.config.toolConfirmation,
118
+ allowedTools: allowlistSummary,
119
+ };
120
+ const llmSummary = ctx.llm?.getConfigSummary() ?? {};
121
+ for (const [key, val] of Object.entries(summary)) {
122
+ console.log(` ${ACCENT(key.padEnd(16))} ${DIM(val)}`);
123
+ }
124
+ if (allowlist.rules.length > 0 || allowlist.invalid.length > 0) {
125
+ console.log();
126
+ for (const [label, parsed] of [
127
+ ['Machine-wide allowedTools', allowlist.global],
128
+ ['Project allowedTools', allowlist.project],
129
+ ]) {
130
+ if (parsed.rules.length === 0 && parsed.invalid.length === 0)
131
+ continue;
132
+ console.log(HEADER(` ${label}:`));
133
+ for (const rule of parsed.rules) {
134
+ console.log(` ${ACCENT(rule.effect.padEnd(6))} ${DIM(rule.tool)}${DIM(rule.pattern ? `(${rule.pattern})` : '')}`);
135
+ }
136
+ for (const entry of parsed.invalid) {
137
+ console.log(` ${WARN('invalid')} ${DIM(entry)}`);
138
+ }
139
+ }
140
+ }
141
+ console.log();
142
+ console.log(HEADER(' LLM Settings:'));
143
+ for (const [key, val] of Object.entries(llmSummary)) {
144
+ console.log(` ${ACCENT(key.padEnd(16))} ${DIM(val)}`);
145
+ }
146
+ console.log();
147
+ return { success: true };
148
+ }
149
+ function handleModel(ctx, args) {
150
+ const trimmedArgs = args.trim().toLowerCase();
151
+ if (!trimmedArgs)
152
+ return handleModels(ctx, args);
153
+ const lines = [];
154
+ const write = (line = '') => {
155
+ lines.push(line);
156
+ };
157
+ const result = (success) => ({
158
+ success,
159
+ ...(lines.length > 0 ? { output: lines.join('\n') } : {}),
160
+ });
161
+ // 显示当前模型
162
+ if (trimmedArgs === '?' || trimmedArgs === 'info') {
163
+ write();
164
+ if (ctx.llm) {
165
+ const currentModel = ctx.store.getSnapshot().currentModel || ctx.llm.getModel();
166
+ const profile = getProfileByModelId(ctx.config.modelRegistry, currentModel);
167
+ const aliasEntry = (0, model_catalog_1.getModelCatalogEntry)(currentModel);
168
+ const contextInfo = profile
169
+ ? {
170
+ id: profile.model,
171
+ label: profile.displayName || profile.id,
172
+ contextWindow: profile.resolvedContextWindow,
173
+ maxOutputTokens: profile.resolvedMaxOutputTokens,
174
+ source: 'config',
175
+ matchedId: profile.model,
176
+ }
177
+ : (0, model_context_1.resolveModelContext)(currentModel);
178
+ const compactStats = getCommandAutoCompact(ctx, currentModel).getStats();
179
+ write(HEADER('Current Model'));
180
+ write(DIM('─'.repeat(40)));
181
+ write(` Model ${BRAND(currentModel)}`);
182
+ if (profile) {
183
+ write(` Alias ${ACCENT(profile.aliases?.[0] ? `(${profile.aliases[0]})` : 'none')}`);
184
+ const provider = ctx.config.modelRegistry?.providers.get(profile.provider);
185
+ write(` Provider ${DIM(provider?.displayName || profile.provider)}`);
186
+ }
187
+ else if (aliasEntry) {
188
+ write(` Alias ${ACCENT(aliasEntry.alias)}`);
189
+ write(` Provider ${DIM(aliasEntry.provider)}`);
190
+ }
191
+ write(` Context ${DIM(`${formatTokenCount(contextInfo.contextWindow)} tokens`)}`);
192
+ if (contextInfo.maxOutputTokens) {
193
+ write(` Output ${DIM(`${formatTokenCount(contextInfo.maxOutputTokens)} tokens`)}`);
194
+ }
195
+ write(` Source ${DIM(`${contextInfo.source}${contextInfo.source === 'fuzzy' ? `:${contextInfo.matchedId}` : ''}`)}`);
196
+ write(` Compact ${compactStats.enabled ? SUCCESS('auto') : WARN('off')} ${DIM(`predict ${formatThreshold(compactStats.predictiveCompactThreshold)}, hard ${formatThreshold(compactStats.threshold)}`)}`);
197
+ }
198
+ else {
199
+ write(ERROR('LLM not initialized. Set ORION_CODE_API_KEY first.'));
200
+ }
201
+ write();
202
+ return result(true);
203
+ }
204
+ // /model list|ls|help 已移除,统一由 /models 承接(交互式选择切换)
205
+ if (trimmedArgs === 'list' || trimmedArgs === 'ls' || trimmedArgs === 'help') {
206
+ write();
207
+ write(WARN(`/model ${trimmedArgs} was removed.`));
208
+ write(DIM('Use /model without arguments to open the model picker,'));
209
+ write(DIM('or /model <name|alias> to switch directly, e.g. /model sonnet'));
210
+ write();
211
+ return result(true);
212
+ }
213
+ // 设置模型
214
+ if (!ctx.llm) {
215
+ return { success: false, error: 'LLM not initialized. Configure a provider first.' };
216
+ }
217
+ // 解析别名
218
+ const registryProfile = resolveModelFromRegistry(ctx.config, args);
219
+ const resolvedModel = registryProfile ? registryProfile.model : (0, model_catalog_1.resolveModelAlias)(args);
220
+ const resolvedProfileId = registryProfile ? registryProfile.id : resolvedModel;
221
+ ctx.llm.setModel(resolvedModel);
222
+ if (registryProfile) {
223
+ const provider = ctx.config.modelRegistry?.providers.get(registryProfile.provider);
224
+ if (provider && typeof ctx.llm.setEffortContext === 'function') {
225
+ ctx.llm.setEffortContext({
226
+ preference: ctx.store.getSnapshot().effortPreference,
227
+ protocol: provider.protocol,
228
+ capability: registryProfile.reasoningCapability,
229
+ });
230
+ }
231
+ }
232
+ getCommandAutoCompact(ctx, resolvedModel);
233
+ ctx.store.setState({ currentModel: resolvedProfileId });
234
+ write(SUCCESS(`✔ Model changed to ${BRAND(resolvedProfileId)}`));
235
+ const contextInfo = registryProfile
236
+ ? {
237
+ contextWindow: registryProfile.resolvedContextWindow,
238
+ maxOutputTokens: registryProfile.resolvedMaxOutputTokens,
239
+ source: 'resolved',
240
+ }
241
+ : (0, model_context_1.resolveModelContext)(resolvedModel);
242
+ write(DIM(` Context window ${formatTokenCount(contextInfo.contextWindow)} tokens (${contextInfo.source})`));
243
+ write();
244
+ return result(true);
245
+ }
246
+ /**
247
+ * /models — 交互式选择切换模型。
248
+ * 交互式渲染器返回结构化 modelPicker 请求(渲染器弹出选择层,选中即 /model <id>);
249
+ * 非交互式渲染器直接打印候选列表并提示 /model <name|alias>。
250
+ */
251
+ function handleModels(ctx, _args) {
252
+ const currentModel = ctx.store.getSnapshot().currentModel || ctx.llm?.getModel() || '';
253
+ const configuredModels = listConfiguredModelCatalogEntries(ctx.config.modelRegistry);
254
+ const baseCandidates = configuredModels.length > 0
255
+ ? configuredModels
256
+ : (0, model_catalog_1.listModelCatalogEntries)().map(model => {
257
+ const contextInfo = (0, model_context_1.resolveModelContext)(model.name);
258
+ return {
259
+ name: model.name,
260
+ alias: model.alias,
261
+ provider: model.provider,
262
+ contextWindow: contextInfo.contextWindow,
263
+ maxOutputTokens: contextInfo.maxOutputTokens,
264
+ source: contextInfo.source,
265
+ };
266
+ });
267
+ const currentEffort = ctx.store.getSnapshot().resolvedEffort;
268
+ const candidates = baseCandidates.map(candidate => candidate.name === currentModel && currentEffort
269
+ ? { ...candidate, effortCurrent: currentEffort.requested }
270
+ : candidate);
271
+ const ui = commandUICapabilities(ctx);
272
+ if (ui.structuredPickers) {
273
+ return {
274
+ success: true,
275
+ modelPicker: {
276
+ models: candidates,
277
+ currentModel,
278
+ title: 'Switch Model',
279
+ maxVisibleItems: 12,
280
+ },
281
+ };
282
+ }
283
+ // Non-interactive renderers consume the same structured text result.
284
+ const lines = ['', HEADER('Available Models'), DIM('─'.repeat(40))];
285
+ const modelPicker = (0, ui_view_model_1.createModelPickerState)({ currentModel, models: candidates });
286
+ for (const item of modelPicker.visibleItems) {
287
+ const marker = item.isCurrent ? SUCCESS('●') : DIM('○');
288
+ const alias = item.alias ? `(${item.alias})` : '';
289
+ const context = `${formatTokenCount(item.contextWindow ?? 0)} ctx`;
290
+ const current = item.isCurrent ? BRAND('(current)') : '';
291
+ lines.push(` ${marker} ${ACCENT(item.name)} ${DIM(alias)} ${DIM(context)} ${current}`);
292
+ lines.push(` ${DIM(item.provider ?? 'unknown')}`);
293
+ }
294
+ lines.push('', DIM('Use /model <name|alias> to switch, e.g. /model sonnet'), '');
295
+ return { success: true, output: lines.join('\n') };
296
+ }
297
+ function handleMode(ctx, args) {
298
+ const current = ctx.store.getSnapshot().agentMode;
299
+ const trimmed = args.trim();
300
+ if (!trimmed || trimmed === '?' || trimmed === 'help') {
301
+ return {
302
+ success: true,
303
+ output: [
304
+ '',
305
+ HEADER('Agent Mode'),
306
+ DIM('─'.repeat(40)),
307
+ ` Current ${ACCENT(current)} ${DIM((0, types_1.getModeDisplayText)(current))}`,
308
+ '',
309
+ ` ${ACCENT('/mode interactive')} Normal agent workflow`,
310
+ ` ${ACCENT('/mode plan')} Plan first; block execution and edits`,
311
+ ` ${ACCENT('/mode auto')} Auto-run actions allowed by tool policy`,
312
+ ` ${DIM('Tool approval is configured separately with /permissions.')}`,
313
+ '',
314
+ ].join('\n'),
315
+ };
316
+ }
317
+ const normalized = trimmed.toLowerCase();
318
+ if (['accept', 'acceptedits', 'accept-edits', 'edit'].includes(normalized)) {
319
+ ctx.store.setPermissionMode('acceptEdits');
320
+ return {
321
+ success: true,
322
+ output: 'Legacy /mode accept-edits mapped to tool policy only. Agent mode was unchanged. Use /permissions allow-edits.',
323
+ };
324
+ }
325
+ const next = normalized === 'next'
326
+ ? types_1.AGENT_MODES[(types_1.AGENT_MODES.indexOf(current) + 1) % types_1.AGENT_MODES.length]
327
+ : normalized === 'default'
328
+ ? 'interactive'
329
+ : normalized === 'readonly' || normalized === 'read-only'
330
+ ? 'plan'
331
+ : normalized === 'full-auto'
332
+ ? 'auto'
333
+ : types_1.AGENT_MODES.includes(normalized)
334
+ ? normalized
335
+ : null;
336
+ if (!next) {
337
+ return {
338
+ success: false,
339
+ error: `Unknown agent mode: ${trimmed}. Use one of: interactive, plan, auto, next.`,
340
+ };
341
+ }
342
+ ctx.store.setAgentMode(next);
343
+ const display = (0, types_1.getModeDisplayText)(next);
344
+ return {
345
+ success: true,
346
+ output: `Mode changed to ${next}${display ? ` (${display})` : ''}.`,
347
+ };
348
+ }
349
+ function handlePermissions(ctx, args) {
350
+ const value = args.trim().toLowerCase();
351
+ const snapshot = ctx.store.getSnapshot();
352
+ if (!value || value === '?' || value === 'help' || value === 'show' || value === 'audit') {
353
+ const allowlist = (0, tool_allowlist_1.resolveProjectToolAllowlist)(ctx.cwd);
354
+ return {
355
+ success: true,
356
+ output: [
357
+ `Tool confirmation: ${ctx.config.toolConfirmation}`,
358
+ `Edit policy: ${snapshot.permissionMode === 'acceptEdits' ? 'allow-edits' : 'confirm'}`,
359
+ `Agent mode: ${snapshot.agentMode}`,
360
+ `Machine-wide tool rules: ${allowlist.global.rules.length} (${allowlist.global.invalid.length} invalid)`,
361
+ `Project tool rules: ${allowlist.project.rules.length} (${allowlist.project.invalid.length} invalid)`,
362
+ 'Interactive approval: once | this project | all projects | deny',
363
+ ].join('\n'),
364
+ };
365
+ }
366
+ if (value === 'allow-edits') {
367
+ ctx.store.setPermissionMode('acceptEdits');
368
+ return { success: true, output: 'Tool edit policy changed to allow-edits.' };
369
+ }
370
+ if (!['allow', 'ask', 'deny'].includes(value)) {
371
+ return {
372
+ success: false,
373
+ error: `Unknown tool policy: ${value}. Use one of: show, ask, allow, deny, allow-edits, audit.`,
374
+ };
375
+ }
376
+ const toolConfirmation = value;
377
+ (0, global_config_1.updateGlobalConfig)({ toolConfirmation });
378
+ ctx.config.toolConfirmation = toolConfirmation;
379
+ if (snapshot.permissionMode === 'acceptEdits')
380
+ ctx.store.setPermissionMode('default');
381
+ return { success: true, output: `Tool confirmation changed to ${toolConfirmation}.` };
382
+ }
383
+ function activeEffortProfile(ctx) {
384
+ return getProfileByModelId(ctx.config.modelRegistry, ctx.store.getSnapshot().currentModel);
385
+ }
386
+ function parseEffortArgs(args) {
387
+ const tokens = args.trim().split(/\s+/u).filter(Boolean);
388
+ let scope = 'session';
389
+ if (tokens.includes('--project') && tokens.includes('--global')) {
390
+ return { error: 'Choose only one effort scope: --project or --global.' };
391
+ }
392
+ if (tokens.includes('--project'))
393
+ scope = 'project';
394
+ if (tokens.includes('--global'))
395
+ scope = 'global';
396
+ const values = tokens.filter(token => token !== '--project' && token !== '--global');
397
+ if (values.length > 1)
398
+ return { error: 'Usage: /effort <level> [--project|--global].' };
399
+ const value = values[0]?.toLowerCase() ?? 'status';
400
+ if (value === 'status')
401
+ return { preference: 'status', scope };
402
+ if (!(0, effort_1.isEffortPreference)(value)) {
403
+ return {
404
+ error: `Unknown effort: ${value}. Use auto, none, minimal, low, medium, high, xhigh, or max.`,
405
+ };
406
+ }
407
+ return { preference: value, scope };
408
+ }
409
+ function handleEffort(ctx, args) {
410
+ const parsed = parseEffortArgs(args);
411
+ if ('error' in parsed)
412
+ return { success: false, error: parsed.error };
413
+ const profile = activeEffortProfile(ctx);
414
+ const provider = profile ? ctx.config.modelRegistry?.providers.get(profile.provider) : undefined;
415
+ const session = ctx.getSession?.() ?? null;
416
+ const projectConfig = (0, global_config_2.getProjectConfig)(ctx.cwd);
417
+ const globalConfig = (0, global_config_2.loadGlobalConfig)();
418
+ const current = (0, effort_1.resolveProfileEffort)(profile, {
419
+ session: session?.effortPreference ?? ctx.store.getSnapshot().effortPreference,
420
+ project: projectConfig.defaultEffort,
421
+ global: globalConfig.defaultEffort ?? ctx.config.defaultEffort,
422
+ });
423
+ if (parsed.preference === 'status') {
424
+ return {
425
+ success: true,
426
+ output: [
427
+ `Model: ${profile?.id ?? ctx.store.getSnapshot().currentModel}`,
428
+ `Provider/protocol: ${provider?.id ?? 'legacy'}/${provider?.protocol ?? 'unknown'}`,
429
+ `Requested/effective: ${current.requested}/${current.effective ?? 'provider-default'}`,
430
+ `Supported: ${current.supported ? current.supportedLevels.join(', ') : 'unavailable'}`,
431
+ ...(current.warning ? [`Reason: ${current.warning}`] : []),
432
+ ].join('\n'),
433
+ effortEvent: current.supported
434
+ ? {
435
+ type: 'effort_resolved',
436
+ model: profile?.id ?? ctx.store.getSnapshot().currentModel,
437
+ provider: provider?.id ?? 'legacy',
438
+ requested: current.requested,
439
+ effective: current.effective,
440
+ supportedLevels: current.supportedLevels,
441
+ }
442
+ : {
443
+ type: 'effort_unavailable',
444
+ model: profile?.id ?? ctx.store.getSnapshot().currentModel,
445
+ provider: provider?.id ?? 'legacy',
446
+ requested: current.requested,
447
+ reason: current.warning ?? 'capability not configured',
448
+ },
449
+ };
450
+ }
451
+ const next = (0, effort_1.resolveProfileEffort)(profile, {
452
+ ...(parsed.scope === 'session' ? { session: parsed.preference } : {}),
453
+ ...(parsed.scope === 'project' ? { project: parsed.preference } : {}),
454
+ ...(parsed.scope === 'global' ? { global: parsed.preference } : {}),
455
+ });
456
+ if (parsed.preference !== 'auto' && !next.supported) {
457
+ return {
458
+ success: false,
459
+ error: `Effort is unavailable for ${profile?.id ?? 'the active model'}: ${next.warning ?? 'capability not configured'}.`,
460
+ };
461
+ }
462
+ try {
463
+ if (parsed.scope === 'session') {
464
+ const activeSession = session ?? ctx.ensureSession?.();
465
+ if (!activeSession) {
466
+ return { success: false, error: 'Cannot persist effort without an active session.' };
467
+ }
468
+ const persisted = (0, session_storage_1.updateSessionEffort)(activeSession.id, parsed.preference);
469
+ if (!persisted) {
470
+ return { success: false, error: `Session ${activeSession.id} is no longer available.` };
471
+ }
472
+ if (persisted.effortPreference === undefined)
473
+ delete activeSession.effortPreference;
474
+ else
475
+ activeSession.effortPreference = persisted.effortPreference;
476
+ }
477
+ else if (parsed.scope === 'project') {
478
+ (0, global_config_2.saveProjectConfig)(ctx.cwd, {
479
+ ...projectConfig,
480
+ defaultEffort: parsed.preference === 'auto' ? undefined : parsed.preference,
481
+ });
482
+ }
483
+ else {
484
+ (0, global_config_1.updateGlobalConfig)({
485
+ defaultEffort: parsed.preference === 'auto' ? undefined : parsed.preference,
486
+ });
487
+ ctx.config.defaultEffort = parsed.preference === 'auto' ? undefined : parsed.preference;
488
+ }
489
+ }
490
+ catch (error) {
491
+ const message = error instanceof Error ? error.message : String(error);
492
+ return {
493
+ success: false,
494
+ error: `Effort ${parsed.scope} preference was not changed: ${message}`,
495
+ };
496
+ }
497
+ const effective = (0, effort_1.resolveProfileEffort)(profile, {
498
+ session: parsed.scope === 'session' ? parsed.preference : session?.effortPreference,
499
+ project: parsed.scope === 'project' ? parsed.preference : projectConfig.defaultEffort,
500
+ global: parsed.scope === 'global'
501
+ ? parsed.preference
502
+ : (globalConfig.defaultEffort ?? ctx.config.defaultEffort),
503
+ });
504
+ const previous = ctx.store.getSnapshot().effortPreference;
505
+ ctx.store.setEffort(parsed.preference, effective);
506
+ if (provider && typeof ctx.llm?.setEffortContext === 'function') {
507
+ ctx.llm?.setEffortContext({
508
+ preference: parsed.preference,
509
+ protocol: provider.protocol,
510
+ capability: profile?.reasoningCapability,
511
+ });
512
+ }
513
+ return {
514
+ success: true,
515
+ output: `Effort ${parsed.scope} preference changed to ${parsed.preference}; effective ${effective.effective ?? 'provider-default'}. Applies to the next logical request.`,
516
+ effortEvent: {
517
+ type: 'effort_changed',
518
+ requested: parsed.preference,
519
+ scope: parsed.scope,
520
+ previous,
521
+ effective: effective.effective,
522
+ appliesFrom: 'next-logical-request',
523
+ },
524
+ };
525
+ }
526
+ //# sourceMappingURL=model-command-handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-command-handlers.js","sourceRoot":"","sources":["../../src/commands/model-command-handlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /** Command definitions extracted from the stable slash-command registry. */
2
+ import type { SlashCommand } from './types';
3
+ export declare const MODEL_COMMANDS: SlashCommand[];
4
+ //# sourceMappingURL=model-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-commands.d.ts","sourceRoot":"","sources":["../../src/commands/model-commands.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAU5C,eAAO,MAAM,cAAc,EAAE,YAAY,EA8ExC,CAAC"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ /** Command definitions extracted from the stable slash-command registry. */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.MODEL_COMMANDS = void 0;
5
+ const model_command_handlers_1 = require("./model-command-handlers");
6
+ exports.MODEL_COMMANDS = [
7
+ {
8
+ name: 'model',
9
+ description: 'Show or change the current model',
10
+ argumentHint: '[model|info]',
11
+ category: 'model',
12
+ priority: 10,
13
+ type: 'builtin',
14
+ execution: 'builtin',
15
+ risk: 'state-write',
16
+ execute: (ctx, args) => (0, model_command_handlers_1.handleModel)(ctx, args),
17
+ },
18
+ {
19
+ name: 'models',
20
+ description: 'Switch the current model interactively',
21
+ argumentHint: '',
22
+ category: 'model',
23
+ priority: 10,
24
+ type: 'builtin',
25
+ execution: 'builtin',
26
+ risk: 'state-write',
27
+ execute: (ctx, args) => (0, model_command_handlers_1.handleModels)(ctx, args),
28
+ },
29
+ {
30
+ name: 'mode',
31
+ compatibilityAliases: [
32
+ {
33
+ name: 'perm',
34
+ lifecycle: {
35
+ status: 'deprecated',
36
+ since: 'v0.1.5',
37
+ removeIn: 'v0.3.0',
38
+ replacement: '/mode',
39
+ },
40
+ },
41
+ ],
42
+ description: 'Show or change the agent working mode',
43
+ argumentHint: '[interactive|plan|auto|next]',
44
+ category: 'model',
45
+ priority: 20,
46
+ type: 'builtin',
47
+ execution: 'builtin',
48
+ risk: 'state-write',
49
+ execute: (ctx, args) => (0, model_command_handlers_1.handleMode)(ctx, args),
50
+ },
51
+ {
52
+ name: 'permissions',
53
+ description: 'Show or change tool confirmation and edit policy',
54
+ argumentHint: '[show|ask|allow|deny|allow-edits|audit]',
55
+ category: 'model',
56
+ priority: 25,
57
+ type: 'builtin',
58
+ execution: 'builtin',
59
+ risk: 'state-write',
60
+ execute: (ctx, args) => (0, model_command_handlers_1.handlePermissions)(ctx, args),
61
+ },
62
+ {
63
+ name: 'effort',
64
+ aliases: ['reasoning'],
65
+ description: 'Show or change reasoning effort for the active model',
66
+ argumentHint: '[status|auto|none|minimal|low|medium|high|xhigh|max] [--project|--global]',
67
+ category: 'model',
68
+ priority: 22,
69
+ type: 'builtin',
70
+ execution: 'builtin',
71
+ risk: 'state-write',
72
+ execute: (ctx, args) => (0, model_command_handlers_1.handleEffort)(ctx, args),
73
+ },
74
+ {
75
+ name: 'config',
76
+ description: 'Show current configuration',
77
+ category: 'model',
78
+ priority: 30,
79
+ type: 'builtin',
80
+ execution: 'builtin',
81
+ risk: 'read-only',
82
+ execute: ctx => (0, model_command_handlers_1.showConfig)(ctx),
83
+ },
84
+ ];
85
+ //# sourceMappingURL=model-commands.js.map