@orion-agents/orion-code 0.1.4 → 0.1.6

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 (540) hide show
  1. package/README.md +73 -38
  2. package/README.zh-CN.md +32 -10
  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 +617 -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 +1 -1
  75. package/dist/commands/target-command.d.ts.map +1 -1
  76. package/dist/commands/target-command.js +42 -6
  77. package/dist/commands/target-command.js.map +1 -1
  78. package/dist/commands/tool-commands.d.ts +4 -0
  79. package/dist/commands/tool-commands.d.ts.map +1 -0
  80. package/dist/commands/tool-commands.js +49 -0
  81. package/dist/commands/tool-commands.js.map +1 -0
  82. package/dist/commands/types.d.ts +69 -5
  83. package/dist/commands/types.d.ts.map +1 -1
  84. package/dist/commands/types.js +3 -4
  85. package/dist/commands/types.js.map +1 -1
  86. package/dist/commands/workflow-command-handlers.d.ts +7 -0
  87. package/dist/commands/workflow-command-handlers.d.ts.map +1 -0
  88. package/dist/commands/workflow-command-handlers.js +32 -0
  89. package/dist/commands/workflow-command-handlers.js.map +1 -0
  90. package/dist/commands/workflow-commands.d.ts +4 -0
  91. package/dist/commands/workflow-commands.d.ts.map +1 -0
  92. package/dist/commands/workflow-commands.js +124 -0
  93. package/dist/commands/workflow-commands.js.map +1 -0
  94. package/dist/core/checkpoint.d.ts +12 -4
  95. package/dist/core/checkpoint.d.ts.map +1 -1
  96. package/dist/core/checkpoint.js +114 -28
  97. package/dist/core/checkpoint.js.map +1 -1
  98. package/dist/core/cost-tracker.d.ts +17 -1
  99. package/dist/core/cost-tracker.d.ts.map +1 -1
  100. package/dist/core/cost-tracker.js +24 -8
  101. package/dist/core/cost-tracker.js.map +1 -1
  102. package/dist/core/warn-dedup.d.ts +3 -0
  103. package/dist/core/warn-dedup.d.ts.map +1 -1
  104. package/dist/core/warn-dedup.js +6 -6
  105. package/dist/core/warn-dedup.js.map +1 -1
  106. package/dist/framework/index.d.ts +1 -1
  107. package/dist/framework/index.d.ts.map +1 -1
  108. package/dist/framework/index.js.map +1 -1
  109. package/dist/framework/prompt.d.ts +2 -2
  110. package/dist/framework/query.d.ts +2 -2
  111. package/dist/framework/query.d.ts.map +1 -1
  112. package/dist/framework/query.js +57 -10
  113. package/dist/framework/query.js.map +1 -1
  114. package/dist/framework/store.d.ts +15 -6
  115. package/dist/framework/store.d.ts.map +1 -1
  116. package/dist/framework/store.js +18 -0
  117. package/dist/framework/store.js.map +1 -1
  118. package/dist/framework/tool-scheduler.d.ts +16 -13
  119. package/dist/framework/tool-scheduler.d.ts.map +1 -1
  120. package/dist/framework/tool-scheduler.js +155 -38
  121. package/dist/framework/tool-scheduler.js.map +1 -1
  122. package/dist/framework/tool.d.ts +39 -2
  123. package/dist/framework/tool.d.ts.map +1 -1
  124. package/dist/framework/tool.js +27 -1
  125. package/dist/framework/tool.js.map +1 -1
  126. package/dist/harness/assembler.d.ts.map +1 -1
  127. package/dist/harness/assembler.js +4 -2
  128. package/dist/harness/assembler.js.map +1 -1
  129. package/dist/harness/drift-guard.d.ts.map +1 -1
  130. package/dist/harness/drift-guard.js +9 -1
  131. package/dist/harness/drift-guard.js.map +1 -1
  132. package/dist/harness/evidence.d.ts.map +1 -1
  133. package/dist/harness/evidence.js +3 -2
  134. package/dist/harness/evidence.js.map +1 -1
  135. package/dist/harness/safety.d.ts +11 -1
  136. package/dist/harness/safety.d.ts.map +1 -1
  137. package/dist/harness/safety.js +112 -16
  138. package/dist/harness/safety.js.map +1 -1
  139. package/dist/index.d.ts +1 -4
  140. package/dist/index.d.ts.map +1 -1
  141. package/dist/index.js.map +1 -1
  142. package/dist/init.d.ts +4 -8
  143. package/dist/init.d.ts.map +1 -1
  144. package/dist/init.js +4 -4
  145. package/dist/init.js.map +1 -1
  146. package/dist/ink-ui/App.d.ts +2 -2
  147. package/dist/ink-ui/components/Markdown.d.ts.map +1 -1
  148. package/dist/ink-ui/components/Markdown.js.map +1 -1
  149. package/dist/ink-ui/components/PixelHorseBanner.d.ts +2 -2
  150. package/dist/ink-ui/components/StatusLine.d.ts +2 -2
  151. package/dist/ink-ui/launch.d.ts +2 -2
  152. package/dist/ink-ui/screens/ReplScreen.d.ts +4 -3
  153. package/dist/ink-ui/screens/ReplScreen.d.ts.map +1 -1
  154. package/dist/ink-ui/screens/ReplScreen.js +103 -31
  155. package/dist/ink-ui/screens/ReplScreen.js.map +1 -1
  156. package/dist/memory/relevant-finder.d.ts +2 -1
  157. package/dist/memory/relevant-finder.d.ts.map +1 -1
  158. package/dist/memory/relevant-finder.js +17 -8
  159. package/dist/memory/relevant-finder.js.map +1 -1
  160. package/dist/memory/semantic-config.d.ts +9 -0
  161. package/dist/memory/semantic-config.d.ts.map +1 -0
  162. package/dist/memory/semantic-config.js +16 -0
  163. package/dist/memory/semantic-config.js.map +1 -0
  164. package/dist/memory/semantic-search.d.ts +1 -6
  165. package/dist/memory/semantic-search.d.ts.map +1 -1
  166. package/dist/memory/semantic-search.js +3 -15
  167. package/dist/memory/semantic-search.js.map +1 -1
  168. package/dist/memory/storage.d.ts +23 -0
  169. package/dist/memory/storage.d.ts.map +1 -1
  170. package/dist/memory/storage.js +116 -9
  171. package/dist/memory/storage.js.map +1 -1
  172. package/dist/memory/validation.d.ts +3 -0
  173. package/dist/memory/validation.d.ts.map +1 -1
  174. package/dist/memory/validation.js +123 -10
  175. package/dist/memory/validation.js.map +1 -1
  176. package/dist/memory/vector-store.d.ts +30 -0
  177. package/dist/memory/vector-store.d.ts.map +1 -1
  178. package/dist/memory/vector-store.js +160 -21
  179. package/dist/memory/vector-store.js.map +1 -1
  180. package/dist/migration/command.d.ts.map +1 -1
  181. package/dist/migration/command.js +0 -1
  182. package/dist/migration/command.js.map +1 -1
  183. package/dist/migration/migrate.d.ts.map +1 -1
  184. package/dist/migration/migrate.js +59 -107
  185. package/dist/migration/migrate.js.map +1 -1
  186. package/dist/migration/types.d.ts +0 -1
  187. package/dist/migration/types.d.ts.map +1 -1
  188. package/dist/print-ui/launch.d.ts +13 -3
  189. package/dist/print-ui/launch.d.ts.map +1 -1
  190. package/dist/print-ui/launch.js +28 -3
  191. package/dist/print-ui/launch.js.map +1 -1
  192. package/dist/product/environment.d.ts +3 -5
  193. package/dist/product/environment.d.ts.map +1 -1
  194. package/dist/product/environment.js +4 -32
  195. package/dist/product/environment.js.map +1 -1
  196. package/dist/product/index.d.ts +1 -1
  197. package/dist/product/index.d.ts.map +1 -1
  198. package/dist/product/index.js +1 -3
  199. package/dist/product/index.js.map +1 -1
  200. package/dist/product/paths.d.ts.map +1 -1
  201. package/dist/product/paths.js +16 -11
  202. package/dist/product/paths.js.map +1 -1
  203. package/dist/runtime/agent-runtime-controller.d.ts +4 -2
  204. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  205. package/dist/runtime/agent-runtime-controller.js +129 -15
  206. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  207. package/dist/runtime/agent-runtime-protocol.d.ts +15 -0
  208. package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
  209. package/dist/runtime/agent-runtime-protocol.js +6 -0
  210. package/dist/runtime/agent-runtime-protocol.js.map +1 -1
  211. package/dist/runtime/chat-checkpoint.d.ts +17 -0
  212. package/dist/runtime/chat-checkpoint.d.ts.map +1 -0
  213. package/dist/runtime/chat-checkpoint.js +108 -0
  214. package/dist/runtime/chat-checkpoint.js.map +1 -0
  215. package/dist/runtime/chat-controller.d.ts +10 -51
  216. package/dist/runtime/chat-controller.d.ts.map +1 -1
  217. package/dist/runtime/chat-controller.js +256 -1070
  218. package/dist/runtime/chat-controller.js.map +1 -1
  219. package/dist/runtime/chat-effort.d.ts +5 -0
  220. package/dist/runtime/chat-effort.d.ts.map +1 -0
  221. package/dist/runtime/chat-effort.js +47 -0
  222. package/dist/runtime/chat-effort.js.map +1 -0
  223. package/dist/runtime/chat-presentation.d.ts +60 -0
  224. package/dist/runtime/chat-presentation.d.ts.map +1 -0
  225. package/dist/runtime/chat-presentation.js +537 -0
  226. package/dist/runtime/chat-presentation.js.map +1 -0
  227. package/dist/runtime/chat-trace.d.ts +52 -0
  228. package/dist/runtime/chat-trace.d.ts.map +1 -0
  229. package/dist/runtime/chat-trace.js +234 -0
  230. package/dist/runtime/chat-trace.js.map +1 -0
  231. package/dist/runtime/chat-workspace.d.ts +22 -0
  232. package/dist/runtime/chat-workspace.d.ts.map +1 -0
  233. package/dist/runtime/chat-workspace.js +154 -0
  234. package/dist/runtime/chat-workspace.js.map +1 -0
  235. package/dist/runtime/goals/accounting.js +1 -1
  236. package/dist/runtime/goals/accounting.js.map +1 -1
  237. package/dist/runtime/goals/completion-audit.d.ts.map +1 -1
  238. package/dist/runtime/goals/completion-audit.js +5 -4
  239. package/dist/runtime/goals/completion-audit.js.map +1 -1
  240. package/dist/runtime/goals/coordinator.d.ts +3 -0
  241. package/dist/runtime/goals/coordinator.d.ts.map +1 -1
  242. package/dist/runtime/goals/coordinator.js +56 -2
  243. package/dist/runtime/goals/coordinator.js.map +1 -1
  244. package/dist/runtime/goals/prompt.d.ts +1 -1
  245. package/dist/runtime/goals/prompt.d.ts.map +1 -1
  246. package/dist/runtime/goals/prompt.js +4 -3
  247. package/dist/runtime/goals/prompt.js.map +1 -1
  248. package/dist/runtime/goals/tools.d.ts +32 -8
  249. package/dist/runtime/goals/tools.d.ts.map +1 -1
  250. package/dist/runtime/goals/tools.js +187 -11
  251. package/dist/runtime/goals/tools.js.map +1 -1
  252. package/dist/runtime/goals/types.d.ts +9 -0
  253. package/dist/runtime/goals/types.d.ts.map +1 -1
  254. package/dist/runtime/goals/types.js +1 -0
  255. package/dist/runtime/goals/types.js.map +1 -1
  256. package/dist/runtime/loop-budget.d.ts +2 -2
  257. package/dist/runtime/rich-text/markdown-parser.d.ts +2 -0
  258. package/dist/runtime/rich-text/markdown-parser.d.ts.map +1 -1
  259. package/dist/runtime/rich-text/markdown-parser.js +50 -10
  260. package/dist/runtime/rich-text/markdown-parser.js.map +1 -1
  261. package/dist/runtime/subagents/index.d.ts +2 -2
  262. package/dist/runtime/subagents/index.d.ts.map +1 -1
  263. package/dist/runtime/subagents/index.js +2 -1
  264. package/dist/runtime/subagents/index.js.map +1 -1
  265. package/dist/runtime/subagents/policy.d.ts +1 -1
  266. package/dist/runtime/subagents/policy.d.ts.map +1 -1
  267. package/dist/runtime/subagents/policy.js.map +1 -1
  268. package/dist/runtime/subagents/presets.d.ts +2 -2
  269. package/dist/runtime/subagents/research-artifact.d.ts +7 -0
  270. package/dist/runtime/subagents/research-artifact.d.ts.map +1 -1
  271. package/dist/runtime/subagents/research-artifact.js +73 -27
  272. package/dist/runtime/subagents/research-artifact.js.map +1 -1
  273. package/dist/runtime/subagents/research-contract.d.ts +18 -4
  274. package/dist/runtime/subagents/research-contract.d.ts.map +1 -1
  275. package/dist/runtime/subagents/research-contract.js +122 -17
  276. package/dist/runtime/subagents/research-contract.js.map +1 -1
  277. package/dist/runtime/subagents/research-renderer.d.ts +27 -11
  278. package/dist/runtime/subagents/research-renderer.d.ts.map +1 -1
  279. package/dist/runtime/subagents/research-renderer.js +34 -2
  280. package/dist/runtime/subagents/research-renderer.js.map +1 -1
  281. package/dist/runtime/subagents/result-parser.d.ts +1 -5
  282. package/dist/runtime/subagents/result-parser.d.ts.map +1 -1
  283. package/dist/runtime/subagents/result-parser.js +5 -72
  284. package/dist/runtime/subagents/result-parser.js.map +1 -1
  285. package/dist/runtime/subagents/runtime-integration.d.ts +13 -7
  286. package/dist/runtime/subagents/runtime-integration.d.ts.map +1 -1
  287. package/dist/runtime/subagents/runtime-integration.js +112 -2
  288. package/dist/runtime/subagents/runtime-integration.js.map +1 -1
  289. package/dist/runtime/subagents/supervisor.d.ts +15 -1
  290. package/dist/runtime/subagents/supervisor.d.ts.map +1 -1
  291. package/dist/runtime/subagents/supervisor.js +58 -3
  292. package/dist/runtime/subagents/supervisor.js.map +1 -1
  293. package/dist/runtime/subagents/tool.d.ts +2 -2
  294. package/dist/runtime/subagents/tool.d.ts.map +1 -1
  295. package/dist/runtime/subagents/tool.js +129 -9
  296. package/dist/runtime/subagents/tool.js.map +1 -1
  297. package/dist/runtime/subagents/types.d.ts +20 -0
  298. package/dist/runtime/subagents/types.d.ts.map +1 -1
  299. package/dist/runtime/subagents/types.js.map +1 -1
  300. package/dist/runtime/subagents/web-research-adapter.d.ts +4 -2
  301. package/dist/runtime/subagents/web-research-adapter.d.ts.map +1 -1
  302. package/dist/runtime/subagents/web-research-adapter.js +81 -15
  303. package/dist/runtime/subagents/web-research-adapter.js.map +1 -1
  304. package/dist/runtime/ui-events.d.ts +36 -8
  305. package/dist/runtime/ui-events.d.ts.map +1 -1
  306. package/dist/runtime/ui-events.js.map +1 -1
  307. package/dist/runtime/ui-view-model.d.ts +53 -4
  308. package/dist/runtime/ui-view-model.d.ts.map +1 -1
  309. package/dist/runtime/ui-view-model.js +190 -10
  310. package/dist/runtime/ui-view-model.js.map +1 -1
  311. package/dist/services/agent-runner.d.ts +5 -2
  312. package/dist/services/agent-runner.d.ts.map +1 -1
  313. package/dist/services/agent-runner.js +18 -18
  314. package/dist/services/agent-runner.js.map +1 -1
  315. package/dist/services/atomic-write.d.ts +9 -1
  316. package/dist/services/atomic-write.d.ts.map +1 -1
  317. package/dist/services/atomic-write.js +55 -2
  318. package/dist/services/atomic-write.js.map +1 -1
  319. package/dist/services/auth/auth.d.ts +11 -7
  320. package/dist/services/auth/auth.d.ts.map +1 -1
  321. package/dist/services/auth/auth.js +117 -31
  322. package/dist/services/auth/auth.js.map +1 -1
  323. package/dist/services/auth/aws.d.ts +2 -0
  324. package/dist/services/auth/aws.d.ts.map +1 -1
  325. package/dist/services/auth/aws.js +126 -12
  326. package/dist/services/auth/aws.js.map +1 -1
  327. package/dist/services/auth/index.d.ts +1 -1
  328. package/dist/services/auth/index.d.ts.map +1 -1
  329. package/dist/services/auth/index.js +2 -1
  330. package/dist/services/auth/index.js.map +1 -1
  331. package/dist/services/auto-fix/autoFixConfig.d.ts +0 -3
  332. package/dist/services/auto-fix/autoFixConfig.d.ts.map +1 -1
  333. package/dist/services/auto-fix/autoFixConfig.js +25 -8
  334. package/dist/services/auto-fix/autoFixConfig.js.map +1 -1
  335. package/dist/services/auto-fix/autoFixHook.d.ts +7 -0
  336. package/dist/services/auto-fix/autoFixHook.d.ts.map +1 -1
  337. package/dist/services/auto-fix/autoFixHook.js +10 -1
  338. package/dist/services/auto-fix/autoFixHook.js.map +1 -1
  339. package/dist/services/compact/auto-compact.d.ts +2 -0
  340. package/dist/services/compact/auto-compact.d.ts.map +1 -1
  341. package/dist/services/compact/auto-compact.js +15 -1
  342. package/dist/services/compact/auto-compact.js.map +1 -1
  343. package/dist/services/compact/compact.d.ts.map +1 -1
  344. package/dist/services/compact/compact.js +9 -11
  345. package/dist/services/compact/compact.js.map +1 -1
  346. package/dist/services/compact/summary-generator.d.ts.map +1 -1
  347. package/dist/services/compact/summary-generator.js +28 -4
  348. package/dist/services/compact/summary-generator.js.map +1 -1
  349. package/dist/services/compact/tool-call-groups.d.ts +19 -0
  350. package/dist/services/compact/tool-call-groups.d.ts.map +1 -0
  351. package/dist/services/compact/tool-call-groups.js +105 -0
  352. package/dist/services/compact/tool-call-groups.js.map +1 -0
  353. package/dist/services/concurrent-sessions.d.ts +4 -0
  354. package/dist/services/concurrent-sessions.d.ts.map +1 -1
  355. package/dist/services/concurrent-sessions.js +59 -12
  356. package/dist/services/concurrent-sessions.js.map +1 -1
  357. package/dist/services/config.d.ts +8 -4
  358. package/dist/services/config.d.ts.map +1 -1
  359. package/dist/services/config.js +15 -71
  360. package/dist/services/config.js.map +1 -1
  361. package/dist/services/doctor.d.ts +2 -2
  362. package/dist/services/doctor.js.map +1 -1
  363. package/dist/services/effort.d.ts +40 -0
  364. package/dist/services/effort.d.ts.map +1 -0
  365. package/dist/services/effort.js +88 -0
  366. package/dist/services/effort.js.map +1 -0
  367. package/dist/services/file-glob.d.ts.map +1 -1
  368. package/dist/services/file-glob.js +22 -2
  369. package/dist/services/file-glob.js.map +1 -1
  370. package/dist/services/file-lock.d.ts +7 -0
  371. package/dist/services/file-lock.d.ts.map +1 -0
  372. package/dist/services/file-lock.js +193 -0
  373. package/dist/services/file-lock.js.map +1 -0
  374. package/dist/services/global-config.d.ts +9 -0
  375. package/dist/services/global-config.d.ts.map +1 -1
  376. package/dist/services/global-config.js +79 -4
  377. package/dist/services/global-config.js.map +1 -1
  378. package/dist/services/goal-storage.d.ts.map +1 -1
  379. package/dist/services/goal-storage.js +35 -11
  380. package/dist/services/goal-storage.js.map +1 -1
  381. package/dist/services/llm.d.ts +35 -17
  382. package/dist/services/llm.d.ts.map +1 -1
  383. package/dist/services/llm.js +249 -113
  384. package/dist/services/llm.js.map +1 -1
  385. package/dist/services/mcp/transports.d.ts +0 -1
  386. package/dist/services/mcp/transports.d.ts.map +1 -1
  387. package/dist/services/mcp/transports.js +12 -13
  388. package/dist/services/mcp/transports.js.map +1 -1
  389. package/dist/services/model-context.d.ts +8 -0
  390. package/dist/services/model-context.d.ts.map +1 -1
  391. package/dist/services/model-context.js +111 -7
  392. package/dist/services/model-context.js.map +1 -1
  393. package/dist/services/model-registry.d.ts +3 -0
  394. package/dist/services/model-registry.d.ts.map +1 -1
  395. package/dist/services/model-registry.js +59 -2
  396. package/dist/services/model-registry.js.map +1 -1
  397. package/dist/services/provider-diagnostics.d.ts +1 -1
  398. package/dist/services/provider-diagnostics.d.ts.map +1 -1
  399. package/dist/services/provider-diagnostics.js +30 -16
  400. package/dist/services/provider-diagnostics.js.map +1 -1
  401. package/dist/services/provider-resilience/coordinator.d.ts +8 -3
  402. package/dist/services/provider-resilience/coordinator.d.ts.map +1 -1
  403. package/dist/services/provider-resilience/coordinator.js +86 -19
  404. package/dist/services/provider-resilience/coordinator.js.map +1 -1
  405. package/dist/services/provider-resilience/error-classifier.d.ts +1 -0
  406. package/dist/services/provider-resilience/error-classifier.d.ts.map +1 -1
  407. package/dist/services/provider-resilience/error-classifier.js +50 -26
  408. package/dist/services/provider-resilience/error-classifier.js.map +1 -1
  409. package/dist/services/provider-resilience/index.d.ts +3 -3
  410. package/dist/services/provider-resilience/index.d.ts.map +1 -1
  411. package/dist/services/provider-resilience/index.js +3 -1
  412. package/dist/services/provider-resilience/index.js.map +1 -1
  413. package/dist/services/provider-resilience/request-gate.d.ts +6 -0
  414. package/dist/services/provider-resilience/request-gate.d.ts.map +1 -1
  415. package/dist/services/provider-resilience/request-gate.js +24 -9
  416. package/dist/services/provider-resilience/request-gate.js.map +1 -1
  417. package/dist/services/provider-resilience/types.d.ts +10 -1
  418. package/dist/services/provider-resilience/types.d.ts.map +1 -1
  419. package/dist/services/provider-resilience/types.js.map +1 -1
  420. package/dist/services/redaction.d.ts.map +1 -1
  421. package/dist/services/redaction.js +29 -1
  422. package/dist/services/redaction.js.map +1 -1
  423. package/dist/services/session-index.d.ts.map +1 -1
  424. package/dist/services/session-index.js +75 -44
  425. package/dist/services/session-index.js.map +1 -1
  426. package/dist/services/session-memory/sessionMemory.d.ts.map +1 -1
  427. package/dist/services/session-memory/sessionMemory.js +6 -3
  428. package/dist/services/session-memory/sessionMemory.js.map +1 -1
  429. package/dist/services/session-storage.d.ts +12 -0
  430. package/dist/services/session-storage.d.ts.map +1 -1
  431. package/dist/services/session-storage.js +301 -230
  432. package/dist/services/session-storage.js.map +1 -1
  433. package/dist/services/storage-maintenance.d.ts.map +1 -1
  434. package/dist/services/storage-maintenance.js +25 -7
  435. package/dist/services/storage-maintenance.js.map +1 -1
  436. package/dist/services/task-manager.d.ts +6 -1
  437. package/dist/services/task-manager.d.ts.map +1 -1
  438. package/dist/services/task-manager.js +18 -4
  439. package/dist/services/task-manager.js.map +1 -1
  440. package/dist/services/tool-allowlist.d.ts +20 -10
  441. package/dist/services/tool-allowlist.d.ts.map +1 -1
  442. package/dist/services/tool-allowlist.js +64 -15
  443. package/dist/services/tool-allowlist.js.map +1 -1
  444. package/dist/services/usage-state.d.ts +10 -0
  445. package/dist/services/usage-state.d.ts.map +1 -1
  446. package/dist/services/usage-state.js +116 -45
  447. package/dist/services/usage-state.js.map +1 -1
  448. package/dist/services/verification-profile.d.ts.map +1 -1
  449. package/dist/services/verification-profile.js +23 -3
  450. package/dist/services/verification-profile.js.map +1 -1
  451. package/dist/services/workspace-diff.d.ts +14 -0
  452. package/dist/services/workspace-diff.d.ts.map +1 -1
  453. package/dist/services/workspace-diff.js +60 -11
  454. package/dist/services/workspace-diff.js.map +1 -1
  455. package/dist/services/yaml-config.d.ts.map +1 -1
  456. package/dist/services/yaml-config.js +2 -1
  457. package/dist/services/yaml-config.js.map +1 -1
  458. package/dist/skills/loader.d.ts.map +1 -1
  459. package/dist/skills/loader.js +23 -9
  460. package/dist/skills/loader.js.map +1 -1
  461. package/dist/skills/runtime.d.ts +3 -3
  462. package/dist/skills/runtime.d.ts.map +1 -1
  463. package/dist/skills/runtime.js +37 -4
  464. package/dist/skills/runtime.js.map +1 -1
  465. package/dist/skills/types.d.ts +1 -1
  466. package/dist/skills/types.d.ts.map +1 -1
  467. package/dist/terminal-ui/launch.d.ts +26 -8
  468. package/dist/terminal-ui/launch.d.ts.map +1 -1
  469. package/dist/terminal-ui/launch.js +82 -39
  470. package/dist/terminal-ui/launch.js.map +1 -1
  471. package/dist/tools/bash_security.d.ts +17 -0
  472. package/dist/tools/bash_security.d.ts.map +1 -1
  473. package/dist/tools/bash_security.js +233 -27
  474. package/dist/tools/bash_security.js.map +1 -1
  475. package/dist/tools/git.d.ts +8 -8
  476. package/dist/tools/git.d.ts.map +1 -1
  477. package/dist/tools/git.js +248 -55
  478. package/dist/tools/git.js.map +1 -1
  479. package/dist/tools/index.d.ts +13 -3
  480. package/dist/tools/index.d.ts.map +1 -1
  481. package/dist/tools/index.js +262 -30
  482. package/dist/tools/index.js.map +1 -1
  483. package/dist/tools/lsp.d.ts +74 -6
  484. package/dist/tools/lsp.d.ts.map +1 -1
  485. package/dist/tools/lsp.js +24 -5
  486. package/dist/tools/lsp.js.map +1 -1
  487. package/dist/tools/mcp.d.ts +11 -4
  488. package/dist/tools/mcp.d.ts.map +1 -1
  489. package/dist/tools/mcp.js +99 -3
  490. package/dist/tools/mcp.js.map +1 -1
  491. package/dist/tools/plan.d.ts +4 -4
  492. package/dist/tools/sandbox.d.ts +5 -1
  493. package/dist/tools/sandbox.d.ts.map +1 -1
  494. package/dist/tools/sandbox.js +29 -13
  495. package/dist/tools/sandbox.js.map +1 -1
  496. package/dist/tools/todo.d.ts +3 -3
  497. package/dist/tools/web.d.ts +15 -4
  498. package/dist/tools/web.d.ts.map +1 -1
  499. package/dist/tools/web.js +240 -26
  500. package/dist/tools/web.js.map +1 -1
  501. package/dist/tui-ui/launch.d.ts +3 -3
  502. package/dist/tui-ui/launch.d.ts.map +1 -1
  503. package/dist/tui-ui/launch.js +3 -3
  504. package/dist/tui-ui/launch.js.map +1 -1
  505. package/dist/tui-ui/layout.d.ts.map +1 -1
  506. package/dist/tui-ui/layout.js +19 -5
  507. package/dist/tui-ui/layout.js.map +1 -1
  508. package/dist/tui-ui/pickers.d.ts.map +1 -1
  509. package/dist/tui-ui/pickers.js +1 -0
  510. package/dist/tui-ui/pickers.js.map +1 -1
  511. package/dist/tui-ui/runner.d.ts +2 -1
  512. package/dist/tui-ui/runner.d.ts.map +1 -1
  513. package/dist/tui-ui/runner.js +18 -29
  514. package/dist/tui-ui/runner.js.map +1 -1
  515. package/dist/tui-ui/state.d.ts +13 -1
  516. package/dist/tui-ui/state.d.ts.map +1 -1
  517. package/dist/tui-ui/state.js +28 -1
  518. package/dist/tui-ui/state.js.map +1 -1
  519. package/dist/ui/markdown.js.map +1 -1
  520. package/dist/utils/debug-log.d.ts +3 -3
  521. package/dist/utils/debug-log.d.ts.map +1 -1
  522. package/dist/utils/debug-log.js +7 -4
  523. package/dist/utils/debug-log.js.map +1 -1
  524. package/dist/utils/json.d.ts +6 -0
  525. package/dist/utils/json.d.ts.map +1 -0
  526. package/dist/utils/json.js +66 -0
  527. package/dist/utils/json.js.map +1 -0
  528. package/dist/utils/mask.d.ts +8 -1
  529. package/dist/utils/mask.d.ts.map +1 -1
  530. package/dist/utils/mask.js +10 -12
  531. package/dist/utils/mask.js.map +1 -1
  532. package/dist/utils/observability.d.ts +22 -0
  533. package/dist/utils/observability.d.ts.map +1 -0
  534. package/dist/utils/observability.js +80 -0
  535. package/dist/utils/observability.js.map +1 -0
  536. package/dist/utils/token-estimate.d.ts +8 -0
  537. package/dist/utils/token-estimate.d.ts.map +1 -1
  538. package/dist/utils/token-estimate.js +30 -17
  539. package/dist/utils/token-estimate.js.map +1 -1
  540. package/package.json +9 -8
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > **Goal-driven coding agent for the terminal.**
4
4
  >
5
- > v0.1.4 — Goal continuity, model config & shell sandbox POC
5
+ > v0.1.6bounded Goal control, deterministic release gates, terminal hardening
6
6
 
7
7
  [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
8
8
  [![Node.js](https://img.shields.io/badge/node-%3E%3D20.0-green.svg)](https://nodejs.org)
@@ -29,14 +29,16 @@ Orion Code is a terminal-based coding agent. It wraps LLM APIs in a harness of s
29
29
 
30
30
  ### Requirements
31
31
 
32
- - Node.js >= 20.0
32
+ - Node.js 20, 22, or 24 LTS
33
33
  - npm >= 9.0
34
34
 
35
35
  ### Install & Run
36
36
 
37
37
  ```bash
38
- # Install the v0.1.4 release:
39
- npm install -g @orion-agents/orion-code@0.1.4
38
+ # Install the exact audited version:
39
+ npm install -g @orion-agents/orion-code@0.1.6
40
+ # Or use the prerelease channel (next=0.1.6):
41
+ npm install -g @orion-agents/orion-code@next
40
42
 
41
43
  # Or run from a checked-out source tree:
42
44
  npm ci
@@ -66,16 +68,16 @@ orion doctor
66
68
  orion diff
67
69
 
68
70
  # Commit plan
69
- orion commit
71
+ orion commit-plan
70
72
 
71
73
  # Experimental non-interactive print mode
72
74
  orion -p "review the current git diff"
73
75
  echo "summarize this project" | orion --print
74
76
  ```
75
77
 
76
- > **Pre-release note.** `0.1.4` is the in-development line on the `v0.1.4` branch and is
77
- > not on npm yet — `0.1.3` is the current published release. Until `v0.1.4` is tagged and
78
- > published, install from a source checkout. This note is removed at release.
78
+ > **Release status.** `0.1.6` is published through npm `next`; stable `latest` remains
79
+ > `0.1.4`. The merge, Git tag/GitHub Release, npm publication, registry installation,
80
+ > and stable promotion are recorded as separate delivery states.
79
81
 
80
82
  ### TUI startup banner
81
83
 
@@ -108,7 +110,7 @@ Terminal validation remains part of the release gate.
108
110
  | Feature | Description |
109
111
  | ---------------------- | ----------------------------------------------------------------------------- |
110
112
  | **Tool Orchestration** | 29 built-in tools: file I/O, shell, web, memory, git, LSP, Goal, and planning |
111
- | **Multi-Model** | OpenAI-compatible providers with model switching |
113
+ | **Multi-Model** | Provider profiles, model switching, and explicit effort capabilities |
112
114
  | **Context Awareness** | Per-model context windows, token-based auto-compact |
113
115
  | **MCP Protocol** | stdio MCP servers with heartbeat + reconnect |
114
116
  | **Memory System** | User / Project / Session memory with semantic search |
@@ -117,7 +119,7 @@ Terminal validation remains part of the release gate.
117
119
  | **Safety Boundaries** | Bash safety checks, audit logging, permission modes |
118
120
  | **Skills System** | Builtin + user + project-level skill extensions |
119
121
  | **Multi-Agent** | Subagent fork/worker-pool with smart routing |
120
- | **CLI Utilities** | `doctor`, `diff`, `commit`, experimental `-p` print mode |
122
+ | **CLI Utilities** | `doctor`, `diff`, `commit-plan`, experimental `-p` print mode |
121
123
 
122
124
  ## Configuration
123
125
 
@@ -137,10 +139,18 @@ Terminal validation remains part of the release gate.
137
139
  "provider": "my-provider",
138
140
  "model": "model-name",
139
141
  "contextWindow": 200000,
140
- "maxOutputTokens": 64000
142
+ "maxOutputTokens": 64000,
143
+ "reasoningCapability": {
144
+ "kind": "effort-level",
145
+ "supportedLevels": ["low", "medium", "high"],
146
+ "defaultLevel": "medium",
147
+ "adapter": "openai-chat-reasoning-effort",
148
+ "source": "config"
149
+ }
141
150
  }
142
151
  ],
143
152
  "defaultModel": "my-model",
153
+ "defaultEffort": "auto",
144
154
  "toolConfirmation": "deny",
145
155
  "subagents": { "mode": "auto", "maxParallel": 3 }
146
156
  }
@@ -148,17 +158,32 @@ Terminal validation remains part of the release gate.
148
158
 
149
159
  Configuration: `~/.orion-code/orion.json` | Priority: `CLI flags > config > env vars > defaults`
150
160
 
161
+ `reasoningCapability` is an explicit provider contract, not a model-name guess. Only add it
162
+ after the configured endpoint is known to accept the selected adapter and levels. A legacy
163
+ `"reasoning": true` flag does not enable a wire parameter. With no explicit capability Orion
164
+ keeps `/effort` unavailable and sends no reasoning-effort override. Project defaults can be set
165
+ with `projects["<absolute path>"].defaultEffort`; session overrides are changed with `/effort`.
166
+
151
167
  The renderer is a runtime choice rather than a persisted setting: `orion` starts
152
168
  the TUI, while `--ui terminal` selects the technical renderer.
153
169
 
154
- ### Project tool rules (`allowedTools`)
170
+ ### Interactive and scoped tool permissions (`allowedTools`)
171
+
172
+ When a tool needs confirmation, the TUI, Ink UI, and technical Terminal renderer wait for one
173
+ of four explicit decisions: allow once, always allow this tool in the current project, always
174
+ allow it on this machine for every project, or deny. Persistent approvals are written before
175
+ the waiting tool continues. A write failure denies the call.
155
176
 
156
- Per-project permission rules live under `projects["<absolute path>"].allowedTools`.
157
- They are scoped to a single repository and are evaluated on top of each tool's own
158
- policy they can tighten the gate, never loosen it.
177
+ Machine-wide rules live at root `allowedTools`; project rules live under
178
+ `projects["<absolute path>"].allowedTools`. Both sets are evaluated, and the most restrictive
179
+ matching effect wins (`deny` > `ask` > `allow`). A durable `allow` can skip repeated prompts for
180
+ a tool with known risk metadata, including external tools and explicit file edits, but it cannot
181
+ auto-approve destructive shell/system operations or override a hard tool-policy denial, plan mode,
182
+ an explicit `ask`/`deny` rule, or missing risk metadata.
159
183
 
160
184
  ```json
161
185
  {
186
+ "allowedTools": ["allow:web_fetch"],
162
187
  "projects": {
163
188
  "/Users/me/work/api": {
164
189
  "allowedTools": [
@@ -177,8 +202,11 @@ policy — they can tighten the gate, never loosen it.
177
202
  - The subject is the call's `command` / `file_path` / `path` / `url` / `pattern` / `query`
178
203
  argument, whichever comes first.
179
204
  - Conflicts resolve most-restrictive-first (`deny` > `ask` > `allow`), independent of order.
205
+ - Interactive persistent choices add an exact tool rule such as `allow:exec_command`; edit
206
+ `~/.orion-code/orion.json` to audit or revoke a stored rule. `/permissions show` reports the
207
+ active machine-wide and project rule counts.
180
208
  - `allow` only skips an interactive confirmation. It never overrides a tool's own `deny`,
181
- never escapes plan mode, and never auto-approves a destructive invocation.
209
+ never escapes plan mode, and never applies when risk metadata is missing.
182
210
  - Malformed entries are ignored and listed by `/config` rather than silently applied.
183
211
 
184
212
  ### Shell execution sandbox (`sandbox`)
@@ -225,26 +253,29 @@ backend is probed at runtime and a configured-but-unusable sandbox **fails close
225
253
 
226
254
  ## Interactive Commands
227
255
 
228
- | Command | Description |
229
- | ---------------------- | --------------------------------------------------------------------------- |
230
- | `/help` | Show help |
231
- | `/target` (`/goal`) | Create, inspect, pause, resume, replace, budget, or clear a persistent goal |
232
- | `/status` | System status |
233
- | `/model` | View or switch models |
234
- | `/config` | Show configuration |
235
- | `/usage` | Token usage and cost |
236
- | `/compact` | Trigger context compact |
237
- | `/sessions` | List recent sessions |
238
- | `/resume` | Resume last session |
239
- | `/memory` | Memory system status |
240
- | `/skills` | List loaded skills |
241
- | `/mcp` | MCP server status |
242
- | `/doctor` | Run diagnostics |
243
- | `/diff` | Workspace diff |
244
- | `/commit` | Commit plan |
245
- | `/clear` | Clear screen |
246
- | `/context-clear --yes` | Clear in-memory model context; preserve the saved session |
247
- | `/exit` | Exit |
256
+ | Command | Description |
257
+ | ---------------------- | -------------------------------------------------------------------------- |
258
+ | `/help` | Show help |
259
+ | `/goal` (`/target`) | Create, inspect, pause, resume, replace, budget, or exit a persistent goal |
260
+ | `/status` | System status |
261
+ | `/model` | View or switch models |
262
+ | `/effort` | View or change supported reasoning effort |
263
+ | `/mode` | View or change agent working mode |
264
+ | `/permissions` | View or change tool confirmation and edit policy |
265
+ | `/config` | Show configuration |
266
+ | `/usage` | Token usage and cost |
267
+ | `/compact` | Trigger context compact |
268
+ | `/session` | List, inspect, or rename sessions |
269
+ | `/resume` | Resume last session |
270
+ | `/memory` | Memory status, reference validation, and semantic reindexing |
271
+ | `/skills` | List loaded skills |
272
+ | `/mcp` | MCP server status |
273
+ | `/doctor` | Run diagnostics |
274
+ | `/diff` | Workspace diff |
275
+ | `/commit-plan` | Create a read-only commit plan |
276
+ | `/clear` | Clear screen |
277
+ | `/context clear --yes` | Clear in-memory model context; preserve the saved session |
278
+ | `/exit` | Exit |
248
279
 
249
280
  TUI is the public product interface and the default launch path. `terminal-ui`
250
281
  is maintained as a technical diagnostics/compatibility renderer, not a second
@@ -253,7 +284,7 @@ scheduled for removal in v0.2.0.
253
284
 
254
285
  ### Persistent Goal safety contract
255
286
 
256
- `/target <objective>` creates one active Goal for the current session. Automatic
287
+ `/goal <objective>` creates one active Goal for the current session. Automatic
257
288
  continuations are typed runtime requests: they are not echoed or stored as fake
258
289
  user messages. After a process restart or `/resume`, an active Goal is restored
259
290
  in a visible paused state; run `/target resume` to continue deliberately.
@@ -262,10 +293,14 @@ The model may request `complete` or `blocked`, but cannot set either terminal
262
293
  state directly. Orion records runtime/tool evidence and audits every success
263
294
  criterion. Missing, failed, unmapped, wrong-kind, expired, or stale evidence keeps the
264
295
  Goal open. Criteria that require human acceptance can only receive trusted
265
- `user` evidence from `/target confirm <criterion-id>`; model tools cannot mint
296
+ `user` evidence from `/goal confirm <criterion-id>`; model tools cannot mint
266
297
  that confirmation. v0.1.2 remains single-session and single-active-Goal; it does not
267
298
  promise multi-Goal scheduling or unattended background execution.
268
299
 
300
+ Use `/goal exit` to abort the active turn, reject any pending permission request,
301
+ and clear the persisted Goal. The old `/goal clear --yes` and `/target clear --yes`
302
+ syntax is intentionally unsupported in v0.1.6.
303
+
269
304
  ## Migration from OpenHorse
270
305
 
271
306
  ```bash
package/README.zh-CN.md CHANGED
@@ -3,7 +3,7 @@
3
3
  > **Orion Code — 通用 Agent 驾驭框架**
4
4
  > 一个 CLI 驱动的编码 Agent,具备安全边界、工具编排、记忆系统和上下文管理。
5
5
  >
6
- > v0.1.4 — Goal 连续性、模型配置与命令沙箱 POC
6
+ > v0.1.6有界 Goal 控制、确定性发布门与终端安全加固
7
7
 
8
8
  [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
9
9
  [![Node.js](https://img.shields.io/badge/node-%3E%3D20.0-green.svg)](https://nodejs.org)
@@ -60,7 +60,7 @@
60
60
 
61
61
  ### 环境要求
62
62
 
63
- - Node.js >= 20.0
63
+ - Node.js 20、22 或 24 LTS
64
64
  - npm >= 9.0
65
65
 
66
66
  ### 安装运行
@@ -104,18 +104,20 @@ npm start -- --print "review the current git diff"
104
104
 
105
105
  ### 全局安装
106
106
 
107
- 固定安装 v0.1.4:
107
+ 固定安装审计过的精确版本:
108
108
 
109
109
  ```bash
110
- npm install -g @orion-agents/orion-code@0.1.4
110
+ npm install -g @orion-agents/orion-code@0.1.6
111
+ # 或使用预发布渠道(next=0.1.6):
112
+ npm install -g @orion-agents/orion-code@next
111
113
  # 任意目录运行
112
114
  orion
113
115
  ```
114
116
 
115
117
  也可以在源码工作树中使用 `npm ci && npm run build && npm start`。
116
118
 
117
- > **预发布说明**:`0.1.4` `v0.1.4` 分支上的开发版本,尚未发布到 npm——当前已发布版本
118
- > 仍是 `0.1.3`。在 `v0.1.4` tag 并发布之前,请从源码工作树安装。该说明将在发版时移除。
119
+ > **发布状态**:`0.1.6` 已通过 npm `next` 发布;稳定版 `latest` 仍为 `0.1.4`。
120
+ > PR 合并、Git tag/GitHub Release、npm 发布、registry 安装和稳定版提升分别记录。
119
121
 
120
122
  公众体验、交互优化和新增工作流优先落在 TUI。`terminal-ui` 不作为与
121
123
  TUI 并行发展的公众产品;Ink 只保留迁移期兼容,不再增加产品能力。
@@ -132,6 +134,9 @@ TUI 并行发展的公众产品;Ink 只保留迁移期兼容,不再增加产
132
134
  evidence,模型工具不能伪造该确认。
133
135
  v0.1.2 只覆盖单 Session、单 Active Goal,不承诺多 Goal 调度或无人值守后台执行。
134
136
 
137
+ 使用 `/goal exit` 会中止当前 turn、拒绝待确认工具并清除持久 Goal。v0.1.6
138
+ 明确不再支持旧 `/goal clear --yes` 与 `/target clear --yes` 语法。
139
+
135
140
  ---
136
141
 
137
142
  ## 配置
@@ -409,7 +414,7 @@ ctxPercent = (promptTokens / 模型上下文窗口) × 100
409
414
  | 命令 | 说明 |
410
415
  | ---------------------- | --------------------------------------------------- |
411
416
  | `/help` | 显示当前 renderer 可用的完整命令列表 |
412
- | `/target`(`/goal`) | 创建、查看、暂停、恢复、替换或清除持久 Goal |
417
+ | `/target`(`/goal`) | 创建、查看、暂停、恢复、替换、预算或退出持久 Goal |
413
418
  | `/status` | 系统状态总览 |
414
419
  | `/model` | 查看或切换模型 |
415
420
  | `/config` | 显示当前生效配置 |
@@ -417,7 +422,7 @@ ctxPercent = (promptTokens / 模型上下文窗口) × 100
417
422
  | `/compact` | 手动触发上下文压缩 |
418
423
  | `/sessions` | 列出或搜索最近会话 |
419
424
  | `/resume` | 恢复已有会话 |
420
- | `/memory` | 查看记忆状态;`/memory reindex` 重建语义索引 |
425
+ | `/memory` | 记忆状态、引用漂移校验与语义索引重建 |
421
426
  | `/skills` | 列出已加载技能 |
422
427
  | `/tools` | 列出内置和 MCP 工具 |
423
428
  | `/mcp` | 查看 MCP Server 状态 |
@@ -465,7 +470,24 @@ orion-code/
465
470
 
466
471
  ## 版本历史
467
472
 
468
- ### v0.1.4(开发中,未发布)
473
+ ### v0.1.6(已发布至 next)
474
+
475
+ - Goal 创建需要显式用户授权,自动 continuation 有界,`/goal exit` 提供确定退出路径;
476
+ - 修复 native migration、测试确定性、seatbelt/exec cwd 与 terminal control-sequence 安全问题;
477
+ - 已合并、创建 `v0.1.6` tag 和 GitHub Release,并通过 npm `next` 发布;未移动稳定版 `latest`。
478
+
479
+ ### v0.1.5(已发布至 next)
480
+
481
+ - 统一类型化命令描述、TUI 命令控制面与 Provider-aware Effort;
482
+ - 修复 Goal/TUI 展示与授权边界,并加强跨进程持久化、安全和发布门禁;
483
+ - 以 npm `next` dist-tag 发布,不移动稳定版 `latest`。
484
+
485
+ ### v0.1.4-2(已发布至 next)
486
+
487
+ - 汇总 v0.1.4 后续的安全、持久化、Goal/runtime、Research、依赖与发布门禁修复;
488
+ - 以 npm `next` dist-tag 发布,不移动稳定版 `latest`。
489
+
490
+ ### v0.1.4(已发布)
469
491
 
470
492
  - 版本元数据对齐:`package.json` / `package-lock.json` 升至 `0.1.4`,`orion --version`、
471
493
  出站 `User-Agent` 与崩溃/遥测上报不再误报 `0.1.3`;
@@ -473,7 +495,7 @@ orion-code/
473
495
  类型守卫,顺带修复被 `any` 掩盖的真实缺陷;
474
496
  - 可靠性:持久化与鉴权路径不再静默吞掉异常,ESLint 启用 `no-empty` 门禁。
475
497
 
476
- ### v0.1.3(最新已发布版本)
498
+ ### v0.1.3(已发布)
477
499
 
478
500
  - `/model` 与 `/models` 拆分:`/model` 只显示当前模型信息,`/models` 承接交互式切换;
479
501
  - `modelRegistry` 成为模型展示与切换的唯一事实源,静态 catalog 退为 legacy fallback;
@@ -1 +1 @@
1
- {"version":3,"file":"coder.d.ts","sourceRoot":"","sources":["../../src/agents/coder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEzE,qBAAa,UAAW,SAAQ,SAAS;gBAC3B,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAUnC,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;YAwBhC,aAAa;CAO5B"}
1
+ {"version":3,"file":"coder.d.ts","sourceRoot":"","sources":["../../src/agents/coder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAkB,MAAM,eAAe,CAAC;AAOzF,qBAAa,UAAW,SAAQ,SAAS;gBAC3B,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAUnC,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;YAwBhC,aAAa;CAO5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"coder.js","sourceRoot":"","sources":["../../src/agents/coder.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,yCAAyE;AAEzE,MAAa,UAAW,SAAQ,iBAAS;IACvC,YAAY,MAA6B;QACvC,KAAK,CAAC;YACJ,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,OAAO;YACzB,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,OAAO;YAC7B,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,8BAA8B;YAClE,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,CAAC;YAC3F,GAAG,MAAM;SACV,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAU;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAEhC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE9C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAExD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAE1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC5D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,IAAU;QACpC,OAAO;QACP,OAAO;YACL,OAAO,EAAE,gBAAgB,IAAI,CAAC,IAAI,aAAa;YAC/C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC;CACF;AA1CD,gCA0CC"}
1
+ {"version":3,"file":"coder.js","sourceRoot":"","sources":["../../src/agents/coder.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,yCAAyF;AAOzF,MAAa,UAAW,SAAQ,iBAAS;IACvC,YAAY,MAA6B;QACvC,KAAK,CAAC;YACJ,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,OAAO;YACzB,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,OAAO;YAC7B,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,8BAA8B;YAClE,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,CAAC;YAC3F,GAAG,MAAM;SACV,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAU;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAEhC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAE9C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAExD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAE1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC5D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,IAAU;QACpC,OAAO;QACP,OAAO;YACL,OAAO,EAAE,gBAAgB,IAAI,CAAC,IAAI,aAAa;YAC/C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC;CACF;AA1CD,gCA0CC"}
@@ -4,16 +4,24 @@
4
4
  * Fork 一个子 Agent 继承父上下文,执行独立任务后返回结果。
5
5
  * 参考 OpenClaude 的 forkSubagent.ts 实现。
6
6
  */
7
- import type { Message } from '../services/llm';
8
- import type { OpenHorseTool } from '../framework/tool';
7
+ import type { LLMService, Message } from '../services/llm';
8
+ import type { OrionCodeTool } from '../framework/tool';
9
9
  import type { PermissionMode } from '../commands/types';
10
+ import type { ToolConfirmationPolicy } from '../services/config';
11
+ import type { ToolAllowlistEvaluator } from '../services/tool-allowlist';
10
12
  export interface ForkOptions {
11
13
  /** 继承父上下文(messages + systemPrompt) */
12
14
  inheritContext: boolean;
13
15
  /** 权限模式 */
14
16
  permissionMode?: PermissionMode;
15
- /** 可用工具(默认 TOOLS) */
16
- tools?: OpenHorseTool[];
17
+ /** LLM 服务实例。Fork 不会从 CLI 单例中隐式加载。 */
18
+ llm?: LLMService;
19
+ /** 可用工具(默认最小只读工具集) */
20
+ tools?: OrionCodeTool[];
21
+ /** 需要交互确认时的无 UI 回退策略 */
22
+ toolConfirmation?: ToolConfirmationPolicy;
23
+ /** 项目级工具 allow/ask/deny 规则 */
24
+ toolAllowlist?: ToolAllowlistEvaluator;
17
25
  /** 最大轮次 */
18
26
  maxTurns?: number;
19
27
  /** 后台执行(不阻塞父 Agent) */
@@ -1 +1 @@
1
- {"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../src/agents/fork.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAQxD,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW;IACX,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,qBAAqB;IACrB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY;IACZ,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC;IAC3B,YAAY;IACZ,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE;AAMD;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA+H5E;AA6BD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/D;AAMD,OAAO,EAAE,WAAW,IAAI,mBAAmB,EAAE,UAAU,IAAI,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../src/agents/fork.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAQzE,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW;IACX,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,qCAAqC;IACrC,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,sBAAsB;IACtB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,8BAA8B;IAC9B,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY;IACZ,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC;IAC3B,YAAY;IACZ,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE;AAMD;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA0I5E;AAoBD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/D;AAMD,OAAO,EAAE,WAAW,IAAI,mBAAmB,EAAE,UAAU,IAAI,kBAAkB,EAAE,CAAC"}
@@ -18,7 +18,7 @@ const tools_1 = require("../tools");
18
18
  * Fork 子 Agent 执行任务
19
19
  */
20
20
  async function forkSubagent(options) {
21
- const { inheritContext = true, tools = tools_1.TOOLS, maxTurns = 5, background = false, taskDescription, parentMessages = [], parentSystemPrompt, cwd = process.cwd(), memoryContent = '', skillsContent = '', } = options;
21
+ const { inheritContext = true, llm, tools = getDefaultForkTools(), permissionMode = 'plan', toolConfirmation, toolAllowlist, maxTurns = 5, background = false, taskDescription, parentMessages = [], parentSystemPrompt, cwd = process.cwd(), memoryContent = '', skillsContent = '', } = options;
22
22
  const startTime = Date.now();
23
23
  // 构建子 Agent 的消息历史
24
24
  let messages;
@@ -47,26 +47,27 @@ async function forkSubagent(options) {
47
47
  { role: 'user', content: taskDescription },
48
48
  ];
49
49
  }
50
- // 工具执行器
50
+ const toolContext = {
51
+ cwd,
52
+ config: { name: 'orion-code', mode: 'development' },
53
+ permissionMode,
54
+ toolAllowlist,
55
+ };
56
+ // query scheduler 在调用执行器前统一应用 tool policy、permission mode 与 allowlist。
51
57
  const toolExecutor = async (name, args) => {
52
- // 简化版:直接执行工具
53
58
  const tool = tools.find(t => t.name === name);
54
59
  if (!tool) {
55
60
  return JSON.stringify({ success: false, error: `Unknown tool: ${name}` });
56
61
  }
57
- // 调用工具的 execute
58
- const context = { cwd, config: { name: 'orion-code', mode: 'development' } };
59
62
  try {
60
- const result = await tool.execute(args, context);
63
+ const result = await tool.execute(args, toolContext);
61
64
  return JSON.stringify(result);
62
65
  }
63
- catch (err) {
64
- return JSON.stringify({ success: false, error: err.message });
66
+ catch (error) {
67
+ const message = error instanceof Error ? error.message : String(error);
68
+ return JSON.stringify({ success: false, error: message });
65
69
  }
66
70
  };
67
- // 简化的 LLM(不使用完整 LLMService,避免依赖)
68
- // 这里假设有全局的 llm 实例可用
69
- const llm = getGlobalLLM();
70
71
  if (!llm) {
71
72
  return {
72
73
  success: false,
@@ -86,6 +87,10 @@ async function forkSubagent(options) {
86
87
  toolExecutor,
87
88
  llm,
88
89
  maxTurns,
90
+ permissionMode,
91
+ toolConfirmation,
92
+ toolAllowlist,
93
+ toolContext,
89
94
  streamCallbacks: {
90
95
  onChunk: (chunk) => {
91
96
  if (!background) {
@@ -120,34 +125,25 @@ async function forkSubagent(options) {
120
125
  tokenUsage: finalUsage,
121
126
  };
122
127
  }
123
- catch (err) {
128
+ catch (error) {
129
+ const message = error instanceof Error ? error.message : String(error);
124
130
  return {
125
131
  success: false,
126
132
  content: '',
127
- error: err.message,
133
+ error: message,
128
134
  duration: Date.now() - startTime,
129
135
  };
130
136
  }
131
137
  }
132
- // ============================================================================
133
- // 辅助函数
134
- // ============================================================================
135
- /**
136
- * 获取全局 LLM 实例(从 CLI 模块)
137
- * 注意:这是一个简化实现,实际应该通过参数传递 LLM
138
- */
139
- function getGlobalLLM() {
140
- // 尝试从全局获取
141
- try {
142
- const cliModule = require('../cli');
143
- if (cliModule.llm) {
144
- return cliModule.llm;
145
- }
146
- }
147
- catch {
148
- // ignore
149
- }
150
- return null;
138
+ const DEFAULT_FORK_TOOL_NAMES = new Set([
139
+ 'read_file',
140
+ 'list_files',
141
+ 'glob',
142
+ 'grep',
143
+ 'batch_read',
144
+ ]);
145
+ function getDefaultForkTools() {
146
+ return tools_1.TOOLS.filter(tool => DEFAULT_FORK_TOOL_NAMES.has(tool.name));
151
147
  }
152
148
  // ============================================================================
153
149
  // 防递归保护
@@ -1 +1 @@
1
- {"version":3,"file":"fork.js","sourceRoot":"","sources":["../../src/agents/fork.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fork.js","sourceRoot":"","sources":["../../src/agents/fork.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"leader.d.ts","sourceRoot":"","sources":["../../src/agents/leader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEzE,qBAAa,WAAY,SAAQ,SAAS;gBAC5B,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAUnC,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;YAyBhC,cAAc;CAO7B"}
1
+ {"version":3,"file":"leader.d.ts","sourceRoot":"","sources":["../../src/agents/leader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAkB,MAAM,eAAe,CAAC;AAOzF,qBAAa,WAAY,SAAQ,SAAS;gBAC5B,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAUnC,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;YAyBhC,cAAc;CAO7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"leader.js","sourceRoot":"","sources":["../../src/agents/leader.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,yCAAyE;AAEzE,MAAa,WAAY,SAAQ,iBAAS;IACxC,YAAY,MAA6B;QACvC,KAAK,CAAC;YACJ,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,QAAQ;YAC1B,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,QAAQ;YAC9B,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,yBAAyB;YAC7D,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,CAAC,mBAAmB,EAAE,cAAc,EAAE,YAAY,CAAC;YACzF,GAAG,MAAM;SACV,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAU;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAEhC,IAAI,CAAC;YACH,qBAAqB;YACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAE/C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAExD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAE1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC5D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAU;QACrC,cAAc;QACd,OAAO;YACL,OAAO,EAAE,SAAS,IAAI,CAAC,IAAI,yBAAyB;YACpD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC;CACF;AA3CD,kCA2CC"}
1
+ {"version":3,"file":"leader.js","sourceRoot":"","sources":["../../src/agents/leader.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,yCAAyF;AAOzF,MAAa,WAAY,SAAQ,iBAAS;IACxC,YAAY,MAA6B;QACvC,KAAK,CAAC;YACJ,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,QAAQ;YAC1B,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,QAAQ;YAC9B,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,yBAAyB;YAC7D,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,CAAC,mBAAmB,EAAE,cAAc,EAAE,YAAY,CAAC;YACzF,GAAG,MAAM;SACV,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAU;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAEhC,IAAI,CAAC;YACH,qBAAqB;YACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAE/C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAExD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAE1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC5D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAU;QACrC,cAAc;QACd,OAAO;YACL,OAAO,EAAE,SAAS,IAAI,CAAC,IAAI,yBAAyB;YACpD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC;CACF;AA3CD,kCA2CC"}
@@ -1 +1 @@
1
- {"version":3,"file":"worker-pool.d.ts","sourceRoot":"","sources":["../../src/agents/worker-pool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAgB,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAMzE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACpD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAC3C;AAMD,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,YAAY,CAAK;gBAEb,MAAM,CAAC,EAAE,gBAAgB;IAMrC;;;OAGG;IACG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAqCjF;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAetG;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAShC;;OAEG;IACH,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAIzC;;OAEG;IACH,YAAY,IAAI,IAAI;IAQpB;;OAEG;IACH,SAAS,IAAI;QACX,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB;IAUD;;OAEG;IACH,OAAO,IAAI,IAAI;IAaf,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,cAAc;YAyBR,WAAW;CAwD1B;AAQD,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAKnE;AAED,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
1
+ {"version":3,"file":"worker-pool.d.ts","sourceRoot":"","sources":["../../src/agents/worker-pool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAgB,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAMzE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACpD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAC3C;AAaD,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,YAAY,CAAK;gBAEb,MAAM,CAAC,EAAE,gBAAgB;IAMrC;;;OAGG;IACG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAmCjF;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAetG;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAShC;;OAEG;IACH,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAIzC;;OAEG;IACH,YAAY,IAAI,IAAI;IAQpB;;OAEG;IACH,SAAS,IAAI;QACX,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB;IAUD;;OAEG;IACH,OAAO,IAAI,IAAI;IAsBf,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,cAAc;YAyBR,WAAW;CAwD1B;AAQD,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAKnE;AAED,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
@@ -32,29 +32,28 @@ class WorkerPool {
32
32
  if (idleWorkers.length > 0 || this.workers.size < this.maxWorkers) {
33
33
  // 有空闲 Worker 或未达到上限:直接执行
34
34
  const workerId = this.allocateWorker(task);
35
- const result = await this.executeTask(workerId, task, forkOptions);
36
- return result;
35
+ return this.executeTask(workerId, task, forkOptions);
37
36
  }
38
- // 无空闲 Worker:加入队列
39
- this.taskQueue.push(task);
40
- // 等待有空闲 Worker
37
+ // 无空闲 Worker:入队,待某个 Worker 完成任务后由 drainQueue 取出执行。
38
+ // 每个入队任务携带自己的 resolver,确保只被执行一次,避免重复执行。
41
39
  return new Promise((resolve) => {
42
- const checkInterval = setInterval(() => {
43
- if (this.getIdleWorkers().length > 0) {
44
- clearInterval(checkInterval);
45
- const workerId = this.allocateWorker(task);
46
- this.executeTask(workerId, task, forkOptions).then(resolve);
40
+ const finish = (result) => {
41
+ clearTimeout(timer);
42
+ resolve(result);
43
+ };
44
+ this.taskQueue.push({ task, forkOptions, resolve: finish });
45
+ // 超时保护:仍未被取出执行时才以超时失败结束。
46
+ const timer = setTimeout(() => {
47
+ const idx = this.taskQueue.findIndex(q => q.task === task && q.resolve === finish);
48
+ if (idx !== -1) {
49
+ this.taskQueue.splice(idx, 1);
50
+ finish({
51
+ success: false,
52
+ content: '',
53
+ error: 'Task queue timeout',
54
+ duration: this.taskTimeout,
55
+ });
47
56
  }
48
- }, 100);
49
- // 超时处理
50
- setTimeout(() => {
51
- clearInterval(checkInterval);
52
- resolve({
53
- success: false,
54
- content: '',
55
- error: 'Task queue timeout',
56
- duration: this.taskTimeout,
57
- });
58
57
  }, this.taskTimeout);
59
58
  });
60
59
  }
@@ -119,7 +118,16 @@ class WorkerPool {
119
118
  this.workers.set(workerId, { ...info, status: 'failed' });
120
119
  }
121
120
  }
122
- this.taskQueue = [];
121
+ // 解除仍在队列中的任务,避免 submit 返回的 Promise 永远挂起。
122
+ while (this.taskQueue.length > 0) {
123
+ const item = this.taskQueue.shift();
124
+ item.resolve({
125
+ success: false,
126
+ content: '',
127
+ error: 'Worker pool stopped',
128
+ duration: 0,
129
+ });
130
+ }
123
131
  }
124
132
  // ============================================================================
125
133
  // 内部方法
@@ -169,14 +177,15 @@ class WorkerPool {
169
177
  });
170
178
  // 保存结果
171
179
  this.results.set(task.id, result);
172
- // 处理队列中的下一个任务
180
+ // 处理队列中的下一个任务(每个任务只会被 shift 一次,保证只执行一次)
173
181
  if (this.taskQueue.length > 0) {
174
- const nextTask = this.taskQueue.shift();
175
- if (nextTask) {
176
- this.executeTask(workerId, nextTask, forkOptions).catch(() => {
177
- // Prevent unhandled rejection from recursive call.
178
- });
179
- }
182
+ const next = this.taskQueue.shift();
183
+ if (!next)
184
+ return result;
185
+ const nextWorkerId = this.allocateWorker(next.task);
186
+ this.executeTask(nextWorkerId, next.task, next.forkOptions)
187
+ .then(next.resolve)
188
+ .catch(next.resolve);
180
189
  }
181
190
  return result;
182
191
  }
@@ -190,7 +199,7 @@ class WorkerPool {
190
199
  const result = {
191
200
  success: false,
192
201
  content: '',
193
- error: err.message,
202
+ error: err instanceof Error ? err.message : String(err),
194
203
  duration: Date.now() - (this.workers.get(workerId)?.startTime || Date.now()),
195
204
  };
196
205
  this.results.set(task.id, result);