@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
@@ -6,9 +6,10 @@
6
6
  * 非 `/` 前缀的输入直接作为 chat 消息处理。
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.DEFAULT_COMMAND_RISK = exports.ALL_RENDERER_SCOPES = exports.PERMISSION_MODES = void 0;
9
+ exports.DEFAULT_COMMAND_RISK = exports.ALL_RENDERER_SCOPES = exports.PERMISSION_MODES = exports.AGENT_MODES = void 0;
10
10
  exports.getNextPermissionMode = getNextPermissionMode;
11
11
  exports.getModeDisplayText = getModeDisplayText;
12
+ exports.AGENT_MODES = ['interactive', 'plan', 'auto'];
12
13
  /** Permission mode cycle order */
13
14
  exports.PERMISSION_MODES = ['default', 'acceptEdits', 'plan', 'auto'];
14
15
  /** Get next permission mode in cycle order */
@@ -21,12 +22,10 @@ function getModeDisplayText(mode) {
21
22
  switch (mode) {
22
23
  case 'plan':
23
24
  return 'plan mode on';
24
- case 'acceptEdits':
25
- return 'auto-accept edits';
26
25
  case 'auto':
27
26
  return 'auto mode';
28
27
  default:
29
- return '';
28
+ return 'interactive mode';
30
29
  }
31
30
  }
32
31
  /** List of renderers that a command scope can apply to. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/commands/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAuGH,sDAGC;AAGD,gDAWC;AArBD,kCAAkC;AACrB,QAAA,gBAAgB,GAAqB,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7F,8CAA8C;AAC9C,SAAgB,qBAAqB,CAAC,OAAuB;IAC3D,MAAM,GAAG,GAAG,wBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,wBAAgB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,wBAAgB,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,4BAA4B;AAC5B,SAAgB,kBAAkB,CAAC,IAAoB;IACrD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,cAAc,CAAC;QACxB,KAAK,aAAa;YAChB,OAAO,mBAAmB,CAAC;QAC7B,KAAK,MAAM;YACT,OAAO,WAAW,CAAC;QACrB;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAkDD,2DAA2D;AAC9C,QAAA,mBAAmB,GAAwB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAE5F,sEAAsE;AACzD,QAAA,oBAAoB,GAAgB,aAAa,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/commands/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA8GH,sDAGC;AAGD,gDASC;AArBY,QAAA,WAAW,GAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAExE,kCAAkC;AACrB,QAAA,gBAAgB,GAAqB,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7F,8CAA8C;AAC9C,SAAgB,qBAAqB,CAAC,OAAuB;IAC3D,MAAM,GAAG,GAAG,wBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,wBAAgB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,wBAAgB,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,4BAA4B;AAC5B,SAAgB,kBAAkB,CAAC,IAAe;IAChD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,cAAc,CAAC;QACxB,KAAK,MAAM;YACT,OAAO,WAAW,CAAC;QACrB;YACE,OAAO,kBAAkB,CAAC;IAC9B,CAAC;AACH,CAAC;AA6HD,2DAA2D;AAC9C,QAAA,mBAAmB,GAAwB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAE5F,sEAAsE;AACzD,QAAA,oBAAoB,GAAgB,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ /** Handler implementations for the workflow-command-handlers boundary. */
2
+ import { type CommandContext, type CommandResult } from './types';
3
+ declare function handleDiff(ctx: CommandContext, args: string): CommandResult;
4
+ declare function handleCommitPlan(ctx: CommandContext, args: string): CommandResult;
5
+ declare function continueAsSlashChat(name: string, args: string): CommandResult;
6
+ export { handleDiff, handleCommitPlan, continueAsSlashChat };
7
+ //# sourceMappingURL=workflow-command-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-command-handlers.d.ts","sourceRoot":"","sources":["../../src/commands/workflow-command-handlers.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAIlE,iBAAS,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAQpE;AAED,iBAAS,gBAAgB,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAK1E;AAED,iBAAS,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAOtE;AAED,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ /** Handler implementations for the workflow-command-handlers boundary. */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.handleDiff = handleDiff;
5
+ exports.handleCommitPlan = handleCommitPlan;
6
+ exports.continueAsSlashChat = continueAsSlashChat;
7
+ const workspace_diff_1 = require("../services/workspace-diff");
8
+ const commit_plan_1 = require("../services/commit-plan");
9
+ function handleDiff(ctx, args) {
10
+ const maxFilesMatch = args.match(/--max-files(?:=|\s+)(\d+)/);
11
+ const maxFiles = maxFilesMatch ? Number(maxFilesMatch[1]) : 40;
12
+ const report = (0, workspace_diff_1.collectWorkspaceDiff)({ cwd: ctx.cwd, maxFiles });
13
+ return {
14
+ success: report.isGitRepo,
15
+ output: (0, workspace_diff_1.formatWorkspaceDiff)(report, { maxFiles }),
16
+ };
17
+ }
18
+ function handleCommitPlan(ctx, args) {
19
+ const maxFilesMatch = args.match(/--max-files(?:=|\s+)(\d+)/);
20
+ const maxFiles = maxFilesMatch ? Number(maxFilesMatch[1]) : 20;
21
+ const plan = (0, commit_plan_1.createCommitPlan)({ cwd: ctx.cwd, maxFiles });
22
+ return { success: plan.diff.isGitRepo, output: (0, commit_plan_1.formatCommitPlan)(plan) };
23
+ }
24
+ function continueAsSlashChat(name, args) {
25
+ const trimmed = args.trim();
26
+ return {
27
+ success: true,
28
+ continueAsChat: true,
29
+ chatInput: `/${name}${trimmed ? ` ${trimmed}` : ''}`,
30
+ };
31
+ }
32
+ //# sourceMappingURL=workflow-command-handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-command-handlers.js","sourceRoot":"","sources":["../../src/commands/workflow-command-handlers.ts"],"names":[],"mappings":";AAAA,0EAA0E;;AAgCjE,gCAAU;AAAE,4CAAgB;AAAE,kDAAmB;AA7B1D,+DAAuF;AACvF,yDAA6E;AAE7E,SAAS,UAAU,CAAC,GAAmB,EAAE,IAAY;IACnD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,MAAM,GAAG,IAAA,qCAAoB,EAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChE,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,SAAS;QACzB,MAAM,EAAE,IAAA,oCAAmB,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC;KAClD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAmB,EAAE,IAAY;IACzD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAA,8BAAgB,EAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1D,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAA,8BAAgB,EAAC,IAAI,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,IAAY;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,OAAO;QACL,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;KACrD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ /** Command definitions extracted from the stable slash-command registry. */
2
+ import type { SlashCommand } from './types';
3
+ export declare const WORKFLOW_COMMANDS: SlashCommand[];
4
+ //# sourceMappingURL=workflow-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-commands.d.ts","sourceRoot":"","sources":["../../src/commands/workflow-commands.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI5C,eAAO,MAAM,iBAAiB,EAAE,YAAY,EAqH3C,CAAC"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ /** Command definitions extracted from the stable slash-command registry. */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.WORKFLOW_COMMANDS = void 0;
5
+ const workflow_command_handlers_1 = require("./workflow-command-handlers");
6
+ const context_tool_command_handlers_1 = require("./context-tool-command-handlers");
7
+ exports.WORKFLOW_COMMANDS = [
8
+ {
9
+ name: 'goal',
10
+ compatibilityAliases: [
11
+ {
12
+ name: 'target',
13
+ lifecycle: {
14
+ status: 'deprecated',
15
+ since: 'v0.1.5',
16
+ removeIn: 'v0.3.0',
17
+ replacement: '/goal',
18
+ },
19
+ },
20
+ ],
21
+ description: 'Create, view, pause, resume, or exit a persistent goal target',
22
+ argumentHint: '[objective | pause | resume | exit | status | edit <text> | replace <text> | confirm <criterion-id> | budget <tokens>]',
23
+ category: 'workflow',
24
+ priority: 3,
25
+ type: 'builtin',
26
+ execution: 'builtin',
27
+ risk: 'state-write',
28
+ execute: () => ({
29
+ success: false,
30
+ error: '/goal must be routed through the shared AgentRuntimeController.',
31
+ }),
32
+ },
33
+ {
34
+ name: 'diff',
35
+ description: 'Summarize current git workspace changes and touched files',
36
+ argumentHint: '[--max-files N]',
37
+ category: 'workflow',
38
+ priority: 5,
39
+ type: 'builtin',
40
+ execution: 'builtin',
41
+ risk: 'read-only',
42
+ execute: (ctx, args) => (0, workflow_command_handlers_1.handleDiff)(ctx, args),
43
+ },
44
+ {
45
+ name: 'commit-plan',
46
+ compatibilityAliases: [
47
+ {
48
+ name: 'commit',
49
+ lifecycle: {
50
+ status: 'deprecated',
51
+ since: 'v0.1.5',
52
+ removeIn: 'v0.3.0',
53
+ replacement: '/commit-plan',
54
+ },
55
+ },
56
+ ],
57
+ description: 'Create a read-only commit plan and suggested message for current changes',
58
+ argumentHint: '[--max-files N]',
59
+ category: 'workflow',
60
+ priority: 8,
61
+ type: 'builtin',
62
+ execution: 'builtin',
63
+ risk: 'read-only',
64
+ execute: (ctx, args) => (0, workflow_command_handlers_1.handleCommitPlan)(ctx, args),
65
+ },
66
+ {
67
+ name: 'review',
68
+ description: 'Review the current change or requested files',
69
+ argumentHint: '[scope]',
70
+ category: 'workflow',
71
+ priority: 10,
72
+ type: 'chat',
73
+ execution: 'agent-workflow',
74
+ risk: 'read-only',
75
+ execute: (_ctx, args) => (0, workflow_command_handlers_1.continueAsSlashChat)('review', args),
76
+ },
77
+ {
78
+ name: 'research',
79
+ description: 'Run repository or web research through the shared subagent runtime',
80
+ argumentHint: '[local|web|mixed] <objective>',
81
+ category: 'workflow',
82
+ priority: 15,
83
+ type: 'chat',
84
+ execution: 'agent-workflow',
85
+ risk: 'read-only',
86
+ execute: (_ctx, args) => (0, workflow_command_handlers_1.continueAsSlashChat)('research', args),
87
+ },
88
+ {
89
+ name: 'security',
90
+ aliases: ['audit'],
91
+ description: 'Review code or dependencies for security risks',
92
+ argumentHint: '[scope]',
93
+ category: 'workflow',
94
+ priority: 20,
95
+ type: 'chat',
96
+ execution: 'agent-workflow',
97
+ risk: 'read-only',
98
+ execute: (_ctx, args) => (0, workflow_command_handlers_1.continueAsSlashChat)('security', args),
99
+ },
100
+ {
101
+ name: 'test-gen',
102
+ aliases: ['tests'],
103
+ description: 'Generate or improve tests for a target area',
104
+ argumentHint: '[scope]',
105
+ category: 'workflow',
106
+ priority: 30,
107
+ type: 'chat',
108
+ execution: 'agent-workflow',
109
+ risk: 'state-write',
110
+ execute: (_ctx, args) => (0, workflow_command_handlers_1.continueAsSlashChat)('test-gen', args),
111
+ },
112
+ {
113
+ name: 'todos',
114
+ aliases: ['todo'],
115
+ description: 'Show current agent todo state',
116
+ category: 'workflow',
117
+ priority: 40,
118
+ type: 'builtin',
119
+ execution: 'builtin',
120
+ risk: 'read-only',
121
+ execute: ctx => (0, context_tool_command_handlers_1.handleTodos)(ctx),
122
+ },
123
+ ];
124
+ //# sourceMappingURL=workflow-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-commands.js","sourceRoot":"","sources":["../../src/commands/workflow-commands.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,17 @@ export interface Checkpoint {
19
19
  createdAt: number;
20
20
  files: CheckpointFile[];
21
21
  }
22
+ export interface CheckpointRestoreFailure {
23
+ path: string;
24
+ error: string;
25
+ }
26
+ export interface CheckpointRestoreResult {
27
+ restored: string[];
28
+ error?: string;
29
+ failures?: CheckpointRestoreFailure[];
30
+ rolledBack?: string[];
31
+ rollbackFailures?: CheckpointRestoreFailure[];
32
+ }
22
33
  /**
23
34
  * Create a checkpoint for the given files at the current state.
24
35
  * Files are saved individually so they can be restored independently.
@@ -28,10 +39,7 @@ export declare function createCheckpoint(projectPath: string | undefined, turnId
28
39
  * Restore a checkpoint — overwrite current files with checkpointed content.
29
40
  * Returns the list of restored files.
30
41
  */
31
- export declare function restoreCheckpoint(projectPath: string | undefined, turnId: string): {
32
- restored: string[];
33
- error?: string;
34
- };
42
+ export declare function restoreCheckpoint(projectPath: string | undefined, turnId: string): CheckpointRestoreResult;
35
43
  /**
36
44
  * List available checkpoints for a project.
37
45
  */
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/core/checkpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,eAAO,MAAM,iBAAiB,QAA0B,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAoDD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EAAE,GAClB,UAAU,GAAG,IAAI,CA8CnB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,GACb;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA0DxC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,EAAE,CAwB7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAkC1E;AAOD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,gBAAgB,EAAE,MAAM,EAAE,SAAS,SAAI,GAAG,OAAO,CAEhG"}
1
+ {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/core/checkpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,eAAO,MAAM,iBAAiB,QAA0B,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,CAAC,EAAE,wBAAwB,EAAE,CAAC;CAC/C;AAoDD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EAAE,GAClB,UAAU,GAAG,IAAI,CAkEnB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,GACb,uBAAuB,CAoIzB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,EAAE,CAwB7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAkC1E;AAOD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,gBAAgB,EAAE,MAAM,EAAE,SAAS,SAAI,GAAG,OAAO,CAEhG"}
@@ -50,6 +50,7 @@ exports.cleanupCheckpoints = cleanupCheckpoints;
50
50
  exports.shouldCreateMultiFileCheckpoint = shouldCreateMultiFileCheckpoint;
51
51
  const fs = __importStar(require("fs"));
52
52
  const path = __importStar(require("path"));
53
+ const atomic_write_1 = require("../services/atomic-write");
53
54
  const config_dir_1 = require("../services/config-dir");
54
55
  exports.CHECKPOINT_TTL_MS = 7 * 24 * 60 * 60 * 1000; // 7 days
55
56
  function getCheckpointDir(projectPath) {
@@ -103,9 +104,22 @@ function createCheckpoint(projectPath, turnId, filePaths) {
103
104
  if (!projectPath || filePaths.length === 0)
104
105
  return null;
105
106
  const dir = getTurnDir(projectPath, turnId);
106
- if (fs.existsSync(dir))
107
- return null; // Already exists
108
- fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
107
+ // Issue #83: avoid the existsSync -> mkdirSync TOCTOU. Creating the turn dir
108
+ // with a single non-recursive mkdir is atomic: if another process already
109
+ // created this checkpoint, mkdir throws EEXIST and we treat it as "already
110
+ // exists" rather than racing to overwrite it.
111
+ try {
112
+ fs.mkdirSync(dir, { mode: 0o700 });
113
+ }
114
+ catch (err) {
115
+ if (err &&
116
+ typeof err === 'object' &&
117
+ 'code' in err &&
118
+ err.code === 'EEXIST') {
119
+ return null; // checkpoint already created
120
+ }
121
+ throw err;
122
+ }
109
123
  const files = [];
110
124
  for (const filePath of filePaths) {
111
125
  try {
@@ -121,16 +135,18 @@ function createCheckpoint(projectPath, turnId, filePaths) {
121
135
  });
122
136
  continue;
123
137
  }
124
- const content = fs.readFileSync(target.absolutePath, 'utf8');
138
+ const content = fs.readFileSync(target.absolutePath);
125
139
  const checkpointPath = resolveCheckpointSourcePath(dir, target.relativePath);
126
140
  if (!checkpointPath)
127
141
  continue;
128
142
  fs.mkdirSync(path.dirname(checkpointPath), { recursive: true });
129
- fs.writeFileSync(checkpointPath, content, { mode: 0o600 });
143
+ // Issue #83: atomic write (temp + rename) so a crash mid-write cannot
144
+ // leave a half-written snapshot that restore() can't read.
145
+ (0, atomic_write_1.atomicWriteFileSync)(checkpointPath, content, { mode: 0o600 });
130
146
  files.push({
131
147
  path: target.relativePath,
132
- content: content.slice(0, 200), // Preview only
133
- sizeBytes: Buffer.byteLength(content, 'utf8'),
148
+ content: content.subarray(0, 150).toString('base64'), // Binary-safe preview only
149
+ sizeBytes: content.byteLength,
134
150
  existed: true,
135
151
  });
136
152
  }
@@ -140,7 +156,11 @@ function createCheckpoint(projectPath, turnId, filePaths) {
140
156
  }
141
157
  // Write checkpoint metadata
142
158
  const meta = { turnId, createdAt: Date.now(), files };
143
- fs.writeFileSync(path.join(dir, '.checkpoint.json'), JSON.stringify(meta, null, 2), { mode: 0o600 });
159
+ // Issue #83: atomic write so a crash between files and meta can never leave a
160
+ // meta referencing snapshots that aren't on disk yet.
161
+ (0, atomic_write_1.atomicWriteFileSync)(path.join(dir, '.checkpoint.json'), JSON.stringify(meta, null, 2), {
162
+ mode: 0o600,
163
+ });
144
164
  return meta;
145
165
  }
146
166
  /**
@@ -168,37 +188,103 @@ function restoreCheckpoint(projectPath, turnId) {
168
188
  if (!Array.isArray(meta.files)) {
169
189
  return { restored: [], error: 'Checkpoint metadata missing files array' };
170
190
  }
171
- const restored = [];
191
+ const plans = [];
172
192
  for (const file of meta.files) {
173
193
  const target = resolveCheckpointTarget(projectPath, file.path);
174
194
  if (!target) {
175
- return { restored, error: `Invalid checkpoint path: ${file.path}` };
195
+ return { restored: [], error: `Invalid checkpoint path: ${file.path}` };
176
196
  }
177
197
  const checkpointFile = resolveCheckpointSourcePath(dir, target.relativePath);
178
198
  if (!checkpointFile) {
179
- return { restored, error: `Invalid checkpoint source path: ${file.path}` };
199
+ return { restored: [], error: `Invalid checkpoint source path: ${file.path}` };
180
200
  }
181
201
  try {
182
- if (file.existed === false) {
183
- if (fs.existsSync(target.absolutePath)) {
184
- const stat = fs.statSync(target.absolutePath);
185
- if (stat.isDirectory()) {
186
- return { restored, error: `Refusing to remove directory from checkpoint restore: ${file.path}` };
187
- }
188
- fs.rmSync(target.absolutePath, { force: true });
202
+ let previous;
203
+ let previousMode;
204
+ if (fs.existsSync(target.absolutePath)) {
205
+ const stat = fs.statSync(target.absolutePath);
206
+ if (stat.isDirectory()) {
207
+ return {
208
+ restored: [],
209
+ error: `Refusing to overwrite directory from checkpoint restore: ${file.path}`,
210
+ };
189
211
  }
190
- restored.push(target.relativePath);
191
- continue;
212
+ previous = fs.readFileSync(target.absolutePath);
213
+ previousMode = stat.mode & 0o777;
192
214
  }
193
- if (!fs.existsSync(checkpointFile))
194
- continue;
195
- const content = fs.readFileSync(checkpointFile, 'utf8');
196
- fs.mkdirSync(path.dirname(target.absolutePath), { recursive: true });
197
- fs.writeFileSync(target.absolutePath, content, { mode: 0o600 });
198
- restored.push(target.relativePath);
215
+ if (file.existed !== false && !fs.existsSync(checkpointFile)) {
216
+ return { restored: [], error: `Checkpoint snapshot missing: ${file.path}` };
217
+ }
218
+ plans.push({
219
+ relativePath: target.relativePath,
220
+ absolutePath: target.absolutePath,
221
+ snapshot: file.existed === false ? undefined : fs.readFileSync(checkpointFile),
222
+ previous,
223
+ previousMode,
224
+ });
199
225
  }
200
- catch {
201
- // Skip files that can't be restored
226
+ catch (error) {
227
+ const message = error instanceof Error ? error.message : String(error);
228
+ return {
229
+ restored: [],
230
+ error: `Unable to prepare checkpoint restore for ${file.path}: ${message}`,
231
+ failures: [{ path: file.path, error: message }],
232
+ };
233
+ }
234
+ }
235
+ const restored = [];
236
+ const applied = [];
237
+ for (const plan of plans) {
238
+ try {
239
+ if (plan.snapshot) {
240
+ fs.mkdirSync(path.dirname(plan.absolutePath), { recursive: true });
241
+ // Issue #83: atomic write so an interrupted restore cannot leave a torn
242
+ // file at the user's real path.
243
+ (0, atomic_write_1.atomicWriteFileSync)(plan.absolutePath, plan.snapshot, { mode: 0o600 });
244
+ }
245
+ else if (fs.existsSync(plan.absolutePath)) {
246
+ fs.rmSync(plan.absolutePath, { force: true });
247
+ }
248
+ applied.push(plan);
249
+ restored.push(plan.relativePath);
250
+ }
251
+ catch (error) {
252
+ const failure = {
253
+ path: plan.relativePath,
254
+ error: error instanceof Error ? error.message : String(error),
255
+ };
256
+ const rolledBack = [];
257
+ const rollbackFailures = [];
258
+ for (const completed of [...applied].reverse()) {
259
+ try {
260
+ if (completed.previous) {
261
+ fs.mkdirSync(path.dirname(completed.absolutePath), { recursive: true });
262
+ (0, atomic_write_1.atomicWriteFileSync)(completed.absolutePath, completed.previous, {
263
+ mode: completed.previousMode ?? 0o600,
264
+ });
265
+ }
266
+ else if (fs.existsSync(completed.absolutePath)) {
267
+ fs.rmSync(completed.absolutePath, { force: true });
268
+ }
269
+ rolledBack.push(completed.relativePath);
270
+ }
271
+ catch (rollbackError) {
272
+ rollbackFailures.push({
273
+ path: completed.relativePath,
274
+ error: rollbackError instanceof Error ? rollbackError.message : String(rollbackError),
275
+ });
276
+ }
277
+ }
278
+ const rollbackStatus = rollbackFailures.length
279
+ ? `; rollback also failed for ${rollbackFailures.map(item => item.path).join(', ')}`
280
+ : `; rolled back ${rolledBack.length} previously restored file(s)`;
281
+ return {
282
+ restored,
283
+ error: `Checkpoint restore failed for ${failure.path}: ${failure.error}${rollbackStatus}`,
284
+ failures: [failure],
285
+ rolledBack,
286
+ rollbackFailures,
287
+ };
202
288
  }
203
289
  }
204
290
  return { restored };
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/core/checkpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../../src/core/checkpoint.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,12 @@ export interface TokenUsage {
22
22
  costUsd?: number;
23
23
  /** Stable provider request id used to suppress duplicate accounting. */
24
24
  requestId?: string;
25
+ /** Provider-reported reasoning tokens; included in completionTokens. */
26
+ reasoningTokens?: number;
27
+ effortRequested?: import('../services/effort').EffortPreference;
28
+ effortEffective?: import('../services/effort').EffortLevel;
29
+ effortSource?: import('../services/effort').ResolvedEffort['source'];
30
+ providerProtocol?: import('../services/model-registry').ProviderProtocol;
25
31
  }
26
32
  export interface UsageRecord {
27
33
  timestamp: Date;
@@ -39,6 +45,12 @@ export interface UsageRecord {
39
45
  requestKind?: string;
40
46
  agentId?: string;
41
47
  taskId?: string;
48
+ /** Subset of completionTokens, retained separately for diagnostics. */
49
+ reasoningTokens?: number;
50
+ effortRequested?: import('../services/effort').EffortPreference;
51
+ effortEffective?: import('../services/effort').EffortLevel;
52
+ effortSource?: import('../services/effort').ResolvedEffort['source'];
53
+ providerProtocol?: import('../services/model-registry').ProviderProtocol;
42
54
  }
43
55
  /** 统计结果 */
44
56
  export interface CostStats {
@@ -117,8 +129,12 @@ export declare class CostTracker {
117
129
  };
118
130
  /**
119
131
  * 设置预算限制
132
+ *
133
+ * Accepts only finite, non-negative numbers. Anything else (undefined, NaN,
134
+ * Infinity, negatives) is treated as "no budget" (null) instead of corrupting
135
+ * checkBudget into `ok: false, remaining: NaN` (Issue #30).
120
136
  */
121
- setBudget(limit: number): void;
137
+ setBudget(limit: number | null | undefined): void;
122
138
  /**
123
139
  * 获取预算限制
124
140
  */
@@ -1 +1 @@
1
- {"version":3,"file":"cost-tracker.d.ts","sourceRoot":"","sources":["../../src/core/cost-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost-tracker.d.ts","sourceRoot":"","sources":["../../src/core/cost-tracker.ts"],"names":[],"mappings":"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"}
@@ -72,6 +72,7 @@ class CostTracker {
72
72
  }
73
73
  const promptTokens = normalizeTokenCount(usage.promptTokens);
74
74
  const completionTokens = normalizeTokenCount(usage.completionTokens);
75
+ const reasoningTokens = Math.min(completionTokens, normalizeTokenCount(usage.reasoningTokens ?? 0));
75
76
  const cachedPromptTokens = Math.min(promptTokens, normalizeTokenCount(usage.cachedPromptTokens ?? 0));
76
77
  const totalTokens = promptTokens + completionTokens;
77
78
  const providerCost = normalizeProviderCost(usage.costUsd);
@@ -86,9 +87,11 @@ class CostTracker {
86
87
  ? 'builtin'
87
88
  : 'fallback';
88
89
  const nonCachedPromptTokens = promptTokens - cachedPromptTokens;
89
- const costUsd = providerCost ?? (nonCachedPromptTokens * pricing.input
90
- + cachedPromptTokens * (pricing.cachedInput ?? pricing.input)
91
- + completionTokens * pricing.output) / 1000000;
90
+ const costUsd = providerCost ??
91
+ (nonCachedPromptTokens * pricing.input +
92
+ cachedPromptTokens * (pricing.cachedInput ?? pricing.input) +
93
+ completionTokens * pricing.output) /
94
+ 1000000;
92
95
  const record = {
93
96
  timestamp: new Date(),
94
97
  model: meta.model,
@@ -103,6 +106,11 @@ class CostTracker {
103
106
  requestKind: meta.requestKind,
104
107
  agentId: meta.agentId,
105
108
  taskId: meta.taskId,
109
+ ...(usage.reasoningTokens !== undefined ? { reasoningTokens } : {}),
110
+ ...(usage.effortRequested !== undefined ? { effortRequested: usage.effortRequested } : {}),
111
+ ...(usage.effortEffective !== undefined ? { effortEffective: usage.effortEffective } : {}),
112
+ ...(usage.effortSource !== undefined ? { effortSource: usage.effortSource } : {}),
113
+ ...(usage.providerProtocol !== undefined ? { providerProtocol: usage.providerProtocol } : {}),
106
114
  };
107
115
  this.records.push(record);
108
116
  if (record.requestId)
@@ -194,7 +202,8 @@ class CostTracker {
194
202
  * 检查预算
195
203
  */
196
204
  checkBudget() {
197
- if (this.budgetLimit === null) {
205
+ // Cover both `null` and `undefined` so an unset/invalid budget reads as "no budget".
206
+ if (this.budgetLimit == null) {
198
207
  return { ok: true, remaining: Infinity, used: 0 };
199
208
  }
200
209
  const stats = this.getSessionStats();
@@ -204,9 +213,18 @@ class CostTracker {
204
213
  }
205
214
  /**
206
215
  * 设置预算限制
216
+ *
217
+ * Accepts only finite, non-negative numbers. Anything else (undefined, NaN,
218
+ * Infinity, negatives) is treated as "no budget" (null) instead of corrupting
219
+ * checkBudget into `ok: false, remaining: NaN` (Issue #30).
207
220
  */
208
221
  setBudget(limit) {
209
- this.budgetLimit = limit;
222
+ if (typeof limit === 'number' && Number.isFinite(limit) && limit >= 0) {
223
+ this.budgetLimit = limit;
224
+ }
225
+ else {
226
+ this.budgetLimit = null;
227
+ }
210
228
  }
211
229
  /**
212
230
  * 获取预算限制
@@ -268,8 +286,6 @@ function normalizeTokenCount(value) {
268
286
  return Number.isFinite(value) ? Math.max(0, Math.floor(value)) : 0;
269
287
  }
270
288
  function normalizeProviderCost(value) {
271
- return typeof value === 'number' && Number.isFinite(value) && value >= 0
272
- ? value
273
- : undefined;
289
+ return typeof value === 'number' && Number.isFinite(value) && value >= 0 ? value : undefined;
274
290
  }
275
291
  //# sourceMappingURL=cost-tracker.js.map