orquesta-cli 0.1.12 → 0.1.14

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 +30 -4
  2. package/dist/cli.js +65 -4
  3. package/dist/constants.js +1 -1
  4. package/dist/core/config/config-manager.d.ts +13 -1
  5. package/dist/core/config/config-manager.js +83 -0
  6. package/dist/core/slash-command-handler.d.ts +1 -0
  7. package/dist/core/slash-command-handler.js +129 -0
  8. package/dist/orquesta/config-sync.d.ts +73 -0
  9. package/dist/orquesta/config-sync.js +230 -0
  10. package/dist/orquesta/prompt-reporter.d.ts +16 -0
  11. package/dist/orquesta/prompt-reporter.js +85 -0
  12. package/dist/setup/first-run-setup.d.ts +15 -0
  13. package/dist/setup/first-run-setup.js +238 -0
  14. package/dist/types/index.d.ts +11 -2
  15. package/dist/ui/TodoPanel.d.ts +1 -0
  16. package/dist/ui/TodoPanel.js +6 -1
  17. package/dist/ui/components/LLMSetupWizard.js +373 -7
  18. package/dist/ui/components/Logo.d.ts +2 -0
  19. package/dist/ui/components/Logo.js +10 -3
  20. package/dist/ui/components/OpenRouterModelBrowser.d.ts +13 -0
  21. package/dist/ui/components/OpenRouterModelBrowser.js +221 -0
  22. package/dist/ui/components/PlanExecuteApp.js +30 -4
  23. package/dist/ui/components/ProjectSelector.d.ts +8 -0
  24. package/dist/ui/components/ProjectSelector.js +119 -0
  25. package/dist/ui/components/StatusBar.d.ts +2 -0
  26. package/dist/ui/components/StatusBar.js +6 -1
  27. package/dist/ui/hooks/slashCommandProcessor.js +8 -4
  28. package/package.json +11 -5
  29. package/.eslintrc.json +0 -26
  30. package/.prettierrc.json +0 -10
  31. package/CLAUDE.md +0 -199
  32. package/SECURITY.md +0 -290
  33. package/TEST_LOCAL.md +0 -245
  34. package/dist/agents/base/base-agent.d.ts.map +0 -1
  35. package/dist/agents/base/base-agent.js.map +0 -1
  36. package/dist/agents/docs-search/index.d.ts.map +0 -1
  37. package/dist/agents/docs-search/index.js.map +0 -1
  38. package/dist/agents/index.d.ts.map +0 -1
  39. package/dist/agents/index.js.map +0 -1
  40. package/dist/agents/planner/index.d.ts.map +0 -1
  41. package/dist/agents/planner/index.js.map +0 -1
  42. package/dist/cli.d.ts.map +0 -1
  43. package/dist/cli.js.map +0 -1
  44. package/dist/constants.d.ts.map +0 -1
  45. package/dist/constants.js.map +0 -1
  46. package/dist/core/compact/compact-manager.d.ts.map +0 -1
  47. package/dist/core/compact/compact-manager.js.map +0 -1
  48. package/dist/core/compact/compact-prompts.d.ts.map +0 -1
  49. package/dist/core/compact/compact-prompts.js.map +0 -1
  50. package/dist/core/compact/context-tracker.d.ts.map +0 -1
  51. package/dist/core/compact/context-tracker.js.map +0 -1
  52. package/dist/core/compact/index.d.ts.map +0 -1
  53. package/dist/core/compact/index.js.map +0 -1
  54. package/dist/core/config/config-manager.d.ts.map +0 -1
  55. package/dist/core/config/config-manager.js.map +0 -1
  56. package/dist/core/config/index.d.ts.map +0 -1
  57. package/dist/core/config/index.js.map +0 -1
  58. package/dist/core/docs-manager.d.ts.map +0 -1
  59. package/dist/core/docs-manager.js.map +0 -1
  60. package/dist/core/git-auto-updater.d.ts.map +0 -1
  61. package/dist/core/git-auto-updater.js.map +0 -1
  62. package/dist/core/llm/index.d.ts.map +0 -1
  63. package/dist/core/llm/index.js.map +0 -1
  64. package/dist/core/llm/llm-client.d.ts.map +0 -1
  65. package/dist/core/llm/llm-client.js.map +0 -1
  66. package/dist/core/session/index.d.ts.map +0 -1
  67. package/dist/core/session/index.js.map +0 -1
  68. package/dist/core/session/session-manager.d.ts.map +0 -1
  69. package/dist/core/session/session-manager.js.map +0 -1
  70. package/dist/core/slash-command-handler.d.ts.map +0 -1
  71. package/dist/core/slash-command-handler.js.map +0 -1
  72. package/dist/core/usage-tracker.d.ts.map +0 -1
  73. package/dist/core/usage-tracker.js.map +0 -1
  74. package/dist/errors/base.d.ts.map +0 -1
  75. package/dist/errors/base.js.map +0 -1
  76. package/dist/errors/file.d.ts.map +0 -1
  77. package/dist/errors/file.js.map +0 -1
  78. package/dist/errors/index.d.ts.map +0 -1
  79. package/dist/errors/index.js.map +0 -1
  80. package/dist/errors/llm.d.ts.map +0 -1
  81. package/dist/errors/llm.js.map +0 -1
  82. package/dist/errors/network.d.ts.map +0 -1
  83. package/dist/errors/network.js.map +0 -1
  84. package/dist/errors/validation.d.ts.map +0 -1
  85. package/dist/errors/validation.js.map +0 -1
  86. package/dist/eval/eval-runner.d.ts.map +0 -1
  87. package/dist/eval/eval-runner.js.map +0 -1
  88. package/dist/eval/index.d.ts.map +0 -1
  89. package/dist/eval/index.js.map +0 -1
  90. package/dist/eval/types.d.ts.map +0 -1
  91. package/dist/eval/types.js.map +0 -1
  92. package/dist/index.d.ts.map +0 -1
  93. package/dist/index.js.map +0 -1
  94. package/dist/orchestration/index.d.ts.map +0 -1
  95. package/dist/orchestration/index.js.map +0 -1
  96. package/dist/orchestration/plan-executor.d.ts.map +0 -1
  97. package/dist/orchestration/plan-executor.js.map +0 -1
  98. package/dist/orchestration/types.d.ts.map +0 -1
  99. package/dist/orchestration/types.js.map +0 -1
  100. package/dist/orchestration/utils.d.ts.map +0 -1
  101. package/dist/orchestration/utils.js.map +0 -1
  102. package/dist/orquesta/connection.d.ts.map +0 -1
  103. package/dist/orquesta/connection.js.map +0 -1
  104. package/dist/prompts/agents/docs-search-decision.d.ts.map +0 -1
  105. package/dist/prompts/agents/docs-search-decision.js.map +0 -1
  106. package/dist/prompts/agents/docs-search.d.ts.map +0 -1
  107. package/dist/prompts/agents/docs-search.js.map +0 -1
  108. package/dist/prompts/agents/planning.d.ts.map +0 -1
  109. package/dist/prompts/agents/planning.js.map +0 -1
  110. package/dist/prompts/index.d.ts.map +0 -1
  111. package/dist/prompts/index.js.map +0 -1
  112. package/dist/prompts/shared/codebase-rules.d.ts.map +0 -1
  113. package/dist/prompts/shared/codebase-rules.js.map +0 -1
  114. package/dist/prompts/shared/git-rules.d.ts.map +0 -1
  115. package/dist/prompts/shared/git-rules.js.map +0 -1
  116. package/dist/prompts/shared/language-rules.d.ts.map +0 -1
  117. package/dist/prompts/shared/language-rules.js.map +0 -1
  118. package/dist/prompts/shared/tool-usage.d.ts.map +0 -1
  119. package/dist/prompts/shared/tool-usage.js.map +0 -1
  120. package/dist/prompts/system/compact.d.ts.map +0 -1
  121. package/dist/prompts/system/compact.js.map +0 -1
  122. package/dist/prompts/system/plan-execute.d.ts.map +0 -1
  123. package/dist/prompts/system/plan-execute.js.map +0 -1
  124. package/dist/tools/browser/browser-client.d.ts.map +0 -1
  125. package/dist/tools/browser/browser-client.js.map +0 -1
  126. package/dist/tools/browser/browser-tools.d.ts.map +0 -1
  127. package/dist/tools/browser/browser-tools.js.map +0 -1
  128. package/dist/tools/browser/index.d.ts.map +0 -1
  129. package/dist/tools/browser/index.js.map +0 -1
  130. package/dist/tools/index.d.ts.map +0 -1
  131. package/dist/tools/index.js.map +0 -1
  132. package/dist/tools/llm/agents/docs-search-tools.d.ts.map +0 -1
  133. package/dist/tools/llm/agents/docs-search-tools.js.map +0 -1
  134. package/dist/tools/llm/agents/index.d.ts.map +0 -1
  135. package/dist/tools/llm/agents/index.js.map +0 -1
  136. package/dist/tools/llm/index.d.ts.map +0 -1
  137. package/dist/tools/llm/index.js.map +0 -1
  138. package/dist/tools/llm/simple/ask-user-tool.d.ts.map +0 -1
  139. package/dist/tools/llm/simple/ask-user-tool.js.map +0 -1
  140. package/dist/tools/llm/simple/background-bash-tool.d.ts.map +0 -1
  141. package/dist/tools/llm/simple/background-bash-tool.js.map +0 -1
  142. package/dist/tools/llm/simple/background-powershell-tool.d.ts.map +0 -1
  143. package/dist/tools/llm/simple/background-powershell-tool.js.map +0 -1
  144. package/dist/tools/llm/simple/bash-tool.d.ts.map +0 -1
  145. package/dist/tools/llm/simple/bash-tool.js.map +0 -1
  146. package/dist/tools/llm/simple/docs-search-agent-tool.d.ts.map +0 -1
  147. package/dist/tools/llm/simple/docs-search-agent-tool.js.map +0 -1
  148. package/dist/tools/llm/simple/file-tools.d.ts.map +0 -1
  149. package/dist/tools/llm/simple/file-tools.js.map +0 -1
  150. package/dist/tools/llm/simple/final-response-tool.d.ts.map +0 -1
  151. package/dist/tools/llm/simple/final-response-tool.js.map +0 -1
  152. package/dist/tools/llm/simple/index.d.ts.map +0 -1
  153. package/dist/tools/llm/simple/index.js.map +0 -1
  154. package/dist/tools/llm/simple/planning-tools.d.ts.map +0 -1
  155. package/dist/tools/llm/simple/planning-tools.js.map +0 -1
  156. package/dist/tools/llm/simple/powershell-tool.d.ts.map +0 -1
  157. package/dist/tools/llm/simple/powershell-tool.js.map +0 -1
  158. package/dist/tools/llm/simple/simple-tool-executor.d.ts.map +0 -1
  159. package/dist/tools/llm/simple/simple-tool-executor.js.map +0 -1
  160. package/dist/tools/llm/simple/todo-tools.d.ts.map +0 -1
  161. package/dist/tools/llm/simple/todo-tools.js.map +0 -1
  162. package/dist/tools/llm/simple/user-interaction-tools.d.ts.map +0 -1
  163. package/dist/tools/llm/simple/user-interaction-tools.js.map +0 -1
  164. package/dist/tools/office/common/constants.d.ts.map +0 -1
  165. package/dist/tools/office/common/constants.js.map +0 -1
  166. package/dist/tools/office/common/index.d.ts.map +0 -1
  167. package/dist/tools/office/common/index.js.map +0 -1
  168. package/dist/tools/office/common/types.d.ts.map +0 -1
  169. package/dist/tools/office/common/types.js.map +0 -1
  170. package/dist/tools/office/common/utils.d.ts.map +0 -1
  171. package/dist/tools/office/common/utils.js.map +0 -1
  172. package/dist/tools/office/excel-client.d.ts.map +0 -1
  173. package/dist/tools/office/excel-client.js.map +0 -1
  174. package/dist/tools/office/excel-tools/cells.d.ts.map +0 -1
  175. package/dist/tools/office/excel-tools/cells.js.map +0 -1
  176. package/dist/tools/office/excel-tools/charts.d.ts.map +0 -1
  177. package/dist/tools/office/excel-tools/charts.js.map +0 -1
  178. package/dist/tools/office/excel-tools/comments.d.ts.map +0 -1
  179. package/dist/tools/office/excel-tools/comments.js.map +0 -1
  180. package/dist/tools/office/excel-tools/data-ops.d.ts.map +0 -1
  181. package/dist/tools/office/excel-tools/data-ops.js.map +0 -1
  182. package/dist/tools/office/excel-tools/export.d.ts.map +0 -1
  183. package/dist/tools/office/excel-tools/export.js.map +0 -1
  184. package/dist/tools/office/excel-tools/formatting.d.ts.map +0 -1
  185. package/dist/tools/office/excel-tools/formatting.js.map +0 -1
  186. package/dist/tools/office/excel-tools/index.d.ts.map +0 -1
  187. package/dist/tools/office/excel-tools/index.js.map +0 -1
  188. package/dist/tools/office/excel-tools/launch.d.ts.map +0 -1
  189. package/dist/tools/office/excel-tools/launch.js.map +0 -1
  190. package/dist/tools/office/excel-tools/media.d.ts.map +0 -1
  191. package/dist/tools/office/excel-tools/media.js.map +0 -1
  192. package/dist/tools/office/excel-tools/named-ranges.d.ts.map +0 -1
  193. package/dist/tools/office/excel-tools/named-ranges.js.map +0 -1
  194. package/dist/tools/office/excel-tools/protection.d.ts.map +0 -1
  195. package/dist/tools/office/excel-tools/protection.js.map +0 -1
  196. package/dist/tools/office/excel-tools/rows-columns.d.ts.map +0 -1
  197. package/dist/tools/office/excel-tools/rows-columns.js.map +0 -1
  198. package/dist/tools/office/excel-tools/sheets.d.ts.map +0 -1
  199. package/dist/tools/office/excel-tools/sheets.js.map +0 -1
  200. package/dist/tools/office/excel-tools/validation.d.ts.map +0 -1
  201. package/dist/tools/office/excel-tools/validation.js.map +0 -1
  202. package/dist/tools/office/excel-tools.d.ts.map +0 -1
  203. package/dist/tools/office/excel-tools.js.map +0 -1
  204. package/dist/tools/office/index.d.ts.map +0 -1
  205. package/dist/tools/office/index.js.map +0 -1
  206. package/dist/tools/office/office-client-base.d.ts.map +0 -1
  207. package/dist/tools/office/office-client-base.js.map +0 -1
  208. package/dist/tools/office/office-client.d.ts.map +0 -1
  209. package/dist/tools/office/office-client.js.map +0 -1
  210. package/dist/tools/office/powerpoint-client.d.ts.map +0 -1
  211. package/dist/tools/office/powerpoint-client.js.map +0 -1
  212. package/dist/tools/office/powerpoint-tools/effects.d.ts.map +0 -1
  213. package/dist/tools/office/powerpoint-tools/effects.js.map +0 -1
  214. package/dist/tools/office/powerpoint-tools/export.d.ts.map +0 -1
  215. package/dist/tools/office/powerpoint-tools/export.js.map +0 -1
  216. package/dist/tools/office/powerpoint-tools/index.d.ts.map +0 -1
  217. package/dist/tools/office/powerpoint-tools/index.js.map +0 -1
  218. package/dist/tools/office/powerpoint-tools/launch.d.ts.map +0 -1
  219. package/dist/tools/office/powerpoint-tools/launch.js.map +0 -1
  220. package/dist/tools/office/powerpoint-tools/media.d.ts.map +0 -1
  221. package/dist/tools/office/powerpoint-tools/media.js.map +0 -1
  222. package/dist/tools/office/powerpoint-tools/notes.d.ts.map +0 -1
  223. package/dist/tools/office/powerpoint-tools/notes.js.map +0 -1
  224. package/dist/tools/office/powerpoint-tools/sections.d.ts.map +0 -1
  225. package/dist/tools/office/powerpoint-tools/sections.js.map +0 -1
  226. package/dist/tools/office/powerpoint-tools/shapes.d.ts.map +0 -1
  227. package/dist/tools/office/powerpoint-tools/shapes.js.map +0 -1
  228. package/dist/tools/office/powerpoint-tools/slides.d.ts.map +0 -1
  229. package/dist/tools/office/powerpoint-tools/slides.js.map +0 -1
  230. package/dist/tools/office/powerpoint-tools/tables.d.ts.map +0 -1
  231. package/dist/tools/office/powerpoint-tools/tables.js.map +0 -1
  232. package/dist/tools/office/powerpoint-tools/text.d.ts.map +0 -1
  233. package/dist/tools/office/powerpoint-tools/text.js.map +0 -1
  234. package/dist/tools/office/powerpoint-tools.d.ts.map +0 -1
  235. package/dist/tools/office/powerpoint-tools.js.map +0 -1
  236. package/dist/tools/office/word-client.d.ts.map +0 -1
  237. package/dist/tools/office/word-client.js.map +0 -1
  238. package/dist/tools/office/word-tools/bookmarks.d.ts.map +0 -1
  239. package/dist/tools/office/word-tools/bookmarks.js.map +0 -1
  240. package/dist/tools/office/word-tools/comments.d.ts.map +0 -1
  241. package/dist/tools/office/word-tools/comments.js.map +0 -1
  242. package/dist/tools/office/word-tools/content.d.ts.map +0 -1
  243. package/dist/tools/office/word-tools/content.js.map +0 -1
  244. package/dist/tools/office/word-tools/export.d.ts.map +0 -1
  245. package/dist/tools/office/word-tools/export.js.map +0 -1
  246. package/dist/tools/office/word-tools/formatting.d.ts.map +0 -1
  247. package/dist/tools/office/word-tools/formatting.js.map +0 -1
  248. package/dist/tools/office/word-tools/headers-footers.d.ts.map +0 -1
  249. package/dist/tools/office/word-tools/headers-footers.js.map +0 -1
  250. package/dist/tools/office/word-tools/index.d.ts.map +0 -1
  251. package/dist/tools/office/word-tools/index.js.map +0 -1
  252. package/dist/tools/office/word-tools/launch.d.ts.map +0 -1
  253. package/dist/tools/office/word-tools/launch.js.map +0 -1
  254. package/dist/tools/office/word-tools/lists.d.ts.map +0 -1
  255. package/dist/tools/office/word-tools/lists.js.map +0 -1
  256. package/dist/tools/office/word-tools/navigation.d.ts.map +0 -1
  257. package/dist/tools/office/word-tools/navigation.js.map +0 -1
  258. package/dist/tools/office/word-tools/page-setup.d.ts.map +0 -1
  259. package/dist/tools/office/word-tools/page-setup.js.map +0 -1
  260. package/dist/tools/office/word-tools/tables.d.ts.map +0 -1
  261. package/dist/tools/office/word-tools/tables.js.map +0 -1
  262. package/dist/tools/office/word-tools/text.d.ts.map +0 -1
  263. package/dist/tools/office/word-tools/text.js.map +0 -1
  264. package/dist/tools/office/word-tools/undo-redo.d.ts.map +0 -1
  265. package/dist/tools/office/word-tools/undo-redo.js.map +0 -1
  266. package/dist/tools/office/word-tools/watermarks.d.ts.map +0 -1
  267. package/dist/tools/office/word-tools/watermarks.js.map +0 -1
  268. package/dist/tools/office/word-tools.d.ts.map +0 -1
  269. package/dist/tools/office/word-tools.js.map +0 -1
  270. package/dist/tools/registry.d.ts.map +0 -1
  271. package/dist/tools/registry.js.map +0 -1
  272. package/dist/tools/types.d.ts.map +0 -1
  273. package/dist/tools/types.js.map +0 -1
  274. package/dist/types/index.d.ts.map +0 -1
  275. package/dist/types/index.js.map +0 -1
  276. package/dist/ui/PlanExecuteView.d.ts.map +0 -1
  277. package/dist/ui/PlanExecuteView.js.map +0 -1
  278. package/dist/ui/TodoPanel.d.ts.map +0 -1
  279. package/dist/ui/TodoPanel.js.map +0 -1
  280. package/dist/ui/UpdateNotification.d.ts.map +0 -1
  281. package/dist/ui/UpdateNotification.js.map +0 -1
  282. package/dist/ui/components/ActivityIndicator.d.ts.map +0 -1
  283. package/dist/ui/components/ActivityIndicator.js.map +0 -1
  284. package/dist/ui/components/CommandBrowser.d.ts.map +0 -1
  285. package/dist/ui/components/CommandBrowser.js.map +0 -1
  286. package/dist/ui/components/CustomTextInput.d.ts.map +0 -1
  287. package/dist/ui/components/CustomTextInput.js.map +0 -1
  288. package/dist/ui/components/DocsSearchProgress.d.ts.map +0 -1
  289. package/dist/ui/components/DocsSearchProgress.js.map +0 -1
  290. package/dist/ui/components/FileBrowser.d.ts.map +0 -1
  291. package/dist/ui/components/FileBrowser.js.map +0 -1
  292. package/dist/ui/components/LLMSetupWizard.d.ts.map +0 -1
  293. package/dist/ui/components/LLMSetupWizard.js.map +0 -1
  294. package/dist/ui/components/Logo.d.ts.map +0 -1
  295. package/dist/ui/components/Logo.js.map +0 -1
  296. package/dist/ui/components/MarkdownRenderer.d.ts.map +0 -1
  297. package/dist/ui/components/MarkdownRenderer.js.map +0 -1
  298. package/dist/ui/components/ModelSelector.d.ts.map +0 -1
  299. package/dist/ui/components/ModelSelector.js.map +0 -1
  300. package/dist/ui/components/PlanExecuteApp.d.ts.map +0 -1
  301. package/dist/ui/components/PlanExecuteApp.js.map +0 -1
  302. package/dist/ui/components/ProgressBar.d.ts.map +0 -1
  303. package/dist/ui/components/ProgressBar.js.map +0 -1
  304. package/dist/ui/components/StatusBar.d.ts.map +0 -1
  305. package/dist/ui/components/StatusBar.js.map +0 -1
  306. package/dist/ui/components/ThinkingIndicator.d.ts.map +0 -1
  307. package/dist/ui/components/ThinkingIndicator.js.map +0 -1
  308. package/dist/ui/components/TodoListView.d.ts.map +0 -1
  309. package/dist/ui/components/TodoListView.js.map +0 -1
  310. package/dist/ui/components/ToolSelector.d.ts.map +0 -1
  311. package/dist/ui/components/ToolSelector.js.map +0 -1
  312. package/dist/ui/components/dialogs/ApprovalDialog.d.ts.map +0 -1
  313. package/dist/ui/components/dialogs/ApprovalDialog.js.map +0 -1
  314. package/dist/ui/components/dialogs/AskUserDialog.d.ts.map +0 -1
  315. package/dist/ui/components/dialogs/AskUserDialog.js.map +0 -1
  316. package/dist/ui/components/dialogs/DocsBrowser.d.ts.map +0 -1
  317. package/dist/ui/components/dialogs/DocsBrowser.js.map +0 -1
  318. package/dist/ui/components/dialogs/SettingsDialog.d.ts.map +0 -1
  319. package/dist/ui/components/dialogs/SettingsDialog.js.map +0 -1
  320. package/dist/ui/components/dialogs/index.d.ts.map +0 -1
  321. package/dist/ui/components/dialogs/index.js.map +0 -1
  322. package/dist/ui/components/index.d.ts.map +0 -1
  323. package/dist/ui/components/index.js.map +0 -1
  324. package/dist/ui/components/panels/LogPanel.d.ts.map +0 -1
  325. package/dist/ui/components/panels/LogPanel.js.map +0 -1
  326. package/dist/ui/components/panels/SessionPanel.d.ts.map +0 -1
  327. package/dist/ui/components/panels/SessionPanel.js.map +0 -1
  328. package/dist/ui/components/panels/index.d.ts.map +0 -1
  329. package/dist/ui/components/panels/index.js.map +0 -1
  330. package/dist/ui/components/views/ChatView.d.ts.map +0 -1
  331. package/dist/ui/components/views/ChatView.js.map +0 -1
  332. package/dist/ui/components/views/index.d.ts.map +0 -1
  333. package/dist/ui/components/views/index.js.map +0 -1
  334. package/dist/ui/contexts/TokenContext.d.ts.map +0 -1
  335. package/dist/ui/contexts/TokenContext.js.map +0 -1
  336. package/dist/ui/hooks/atFileProcessor.d.ts.map +0 -1
  337. package/dist/ui/hooks/atFileProcessor.js.map +0 -1
  338. package/dist/ui/hooks/index.d.ts.map +0 -1
  339. package/dist/ui/hooks/index.js.map +0 -1
  340. package/dist/ui/hooks/slashCommandProcessor.d.ts.map +0 -1
  341. package/dist/ui/hooks/slashCommandProcessor.js.map +0 -1
  342. package/dist/ui/hooks/useCommandBrowserState.d.ts.map +0 -1
  343. package/dist/ui/hooks/useCommandBrowserState.js.map +0 -1
  344. package/dist/ui/hooks/useFileBrowserState.d.ts.map +0 -1
  345. package/dist/ui/hooks/useFileBrowserState.js.map +0 -1
  346. package/dist/ui/hooks/useFileList.d.ts.map +0 -1
  347. package/dist/ui/hooks/useFileList.js.map +0 -1
  348. package/dist/ui/hooks/useInputHistory.d.ts.map +0 -1
  349. package/dist/ui/hooks/useInputHistory.js.map +0 -1
  350. package/dist/ui/hooks/usePlanExecution.d.ts.map +0 -1
  351. package/dist/ui/hooks/usePlanExecution.js.map +0 -1
  352. package/dist/ui/index.d.ts.map +0 -1
  353. package/dist/ui/index.js.map +0 -1
  354. package/dist/ui/ink-entry.d.ts.map +0 -1
  355. package/dist/ui/ink-entry.js.map +0 -1
  356. package/dist/utils/env-filter.d.ts.map +0 -1
  357. package/dist/utils/env-filter.js.map +0 -1
  358. package/dist/utils/file-system.d.ts.map +0 -1
  359. package/dist/utils/file-system.js.map +0 -1
  360. package/dist/utils/git-utils.d.ts.map +0 -1
  361. package/dist/utils/git-utils.js.map +0 -1
  362. package/dist/utils/json-stream-logger.d.ts.map +0 -1
  363. package/dist/utils/json-stream-logger.js.map +0 -1
  364. package/dist/utils/logger.d.ts.map +0 -1
  365. package/dist/utils/logger.js.map +0 -1
  366. package/dist/utils/platform-utils.d.ts.map +0 -1
  367. package/dist/utils/platform-utils.js.map +0 -1
  368. package/dist/utils/wsl-utils.d.ts.map +0 -1
  369. package/dist/utils/wsl-utils.js.map +0 -1
  370. package/electron.vite.config.ts +0 -63
  371. package/google374b9eba0c52b043.html +0 -1
  372. package/src/agents/base/base-agent.ts +0 -159
  373. package/src/agents/docs-search/index.ts +0 -365
  374. package/src/agents/index.ts +0 -34
  375. package/src/agents/planner/index.ts +0 -544
  376. package/src/cli.ts +0 -201
  377. package/src/constants.ts +0 -47
  378. package/src/core/compact/compact-manager.ts +0 -160
  379. package/src/core/compact/compact-prompts.ts +0 -150
  380. package/src/core/compact/context-tracker.ts +0 -164
  381. package/src/core/compact/index.ts +0 -25
  382. package/src/core/config/config-manager.ts +0 -460
  383. package/src/core/config/index.ts +0 -5
  384. package/src/core/docs-manager.ts +0 -678
  385. package/src/core/llm/index.ts +0 -7
  386. package/src/core/llm/llm-client.ts +0 -1550
  387. package/src/core/session/index.ts +0 -5
  388. package/src/core/session/session-manager.ts +0 -464
  389. package/src/core/slash-command-handler.ts +0 -410
  390. package/src/core/usage-tracker.ts +0 -438
  391. package/src/errors/base.ts +0 -81
  392. package/src/errors/file.ts +0 -183
  393. package/src/errors/index.ts +0 -95
  394. package/src/errors/llm.ts +0 -151
  395. package/src/errors/network.ts +0 -124
  396. package/src/errors/validation.ts +0 -111
  397. package/src/eval/eval-runner.ts +0 -456
  398. package/src/eval/index.ts +0 -8
  399. package/src/eval/types.ts +0 -139
  400. package/src/index.ts +0 -22
  401. package/src/orchestration/index.ts +0 -30
  402. package/src/orchestration/plan-executor.ts +0 -652
  403. package/src/orchestration/types.ts +0 -127
  404. package/src/orchestration/utils.ts +0 -119
  405. package/src/orquesta/connection.ts +0 -291
  406. package/src/prompts/agents/docs-search-decision.ts +0 -74
  407. package/src/prompts/agents/docs-search.ts +0 -84
  408. package/src/prompts/agents/planning.ts +0 -143
  409. package/src/prompts/index.ts +0 -31
  410. package/src/prompts/shared/codebase-rules.ts +0 -29
  411. package/src/prompts/shared/git-rules.ts +0 -94
  412. package/src/prompts/shared/language-rules.ts +0 -36
  413. package/src/prompts/shared/tool-usage.ts +0 -72
  414. package/src/prompts/system/compact.ts +0 -80
  415. package/src/prompts/system/plan-execute.ts +0 -89
  416. package/src/tools/browser/browser-client.ts +0 -1363
  417. package/src/tools/browser/browser-tools.ts +0 -1139
  418. package/src/tools/browser/index.ts +0 -65
  419. package/src/tools/index.ts +0 -23
  420. package/src/tools/llm/agents/docs-search-tools.ts +0 -368
  421. package/src/tools/llm/agents/index.ts +0 -22
  422. package/src/tools/llm/index.ts +0 -11
  423. package/src/tools/llm/simple/ask-user-tool.ts +0 -25
  424. package/src/tools/llm/simple/background-bash-tool.ts +0 -443
  425. package/src/tools/llm/simple/background-powershell-tool.ts +0 -421
  426. package/src/tools/llm/simple/bash-tool.ts +0 -238
  427. package/src/tools/llm/simple/docs-search-agent-tool.ts +0 -146
  428. package/src/tools/llm/simple/file-tools.ts +0 -1051
  429. package/src/tools/llm/simple/final-response-tool.ts +0 -180
  430. package/src/tools/llm/simple/index.ts +0 -42
  431. package/src/tools/llm/simple/planning-tools.ts +0 -143
  432. package/src/tools/llm/simple/powershell-tool.ts +0 -241
  433. package/src/tools/llm/simple/simple-tool-executor.ts +0 -279
  434. package/src/tools/llm/simple/todo-tools.ts +0 -207
  435. package/src/tools/llm/simple/user-interaction-tools.ts +0 -277
  436. package/src/tools/office/common/constants.ts +0 -335
  437. package/src/tools/office/common/index.ts +0 -133
  438. package/src/tools/office/common/types.ts +0 -286
  439. package/src/tools/office/common/utils.ts +0 -116
  440. package/src/tools/office/excel-client.ts +0 -1336
  441. package/src/tools/office/excel-tools/cells.ts +0 -359
  442. package/src/tools/office/excel-tools/charts.ts +0 -166
  443. package/src/tools/office/excel-tools/comments.ts +0 -155
  444. package/src/tools/office/excel-tools/data-ops.ts +0 -349
  445. package/src/tools/office/excel-tools/export.ts +0 -105
  446. package/src/tools/office/excel-tools/formatting.ts +0 -357
  447. package/src/tools/office/excel-tools/index.ts +0 -55
  448. package/src/tools/office/excel-tools/launch.ts +0 -303
  449. package/src/tools/office/excel-tools/media.ts +0 -117
  450. package/src/tools/office/excel-tools/named-ranges.ts +0 -148
  451. package/src/tools/office/excel-tools/protection.ts +0 -105
  452. package/src/tools/office/excel-tools/rows-columns.ts +0 -386
  453. package/src/tools/office/excel-tools/sheets.ts +0 -228
  454. package/src/tools/office/excel-tools/validation.ts +0 -226
  455. package/src/tools/office/excel-tools.ts +0 -9
  456. package/src/tools/office/index.ts +0 -259
  457. package/src/tools/office/office-client-base.ts +0 -242
  458. package/src/tools/office/office-client.ts +0 -377
  459. package/src/tools/office/powerpoint-client.ts +0 -1498
  460. package/src/tools/office/powerpoint-tools/effects.ts +0 -315
  461. package/src/tools/office/powerpoint-tools/export.ts +0 -138
  462. package/src/tools/office/powerpoint-tools/index.ts +0 -45
  463. package/src/tools/office/powerpoint-tools/launch.ts +0 -263
  464. package/src/tools/office/powerpoint-tools/media.ts +0 -291
  465. package/src/tools/office/powerpoint-tools/notes.ts +0 -220
  466. package/src/tools/office/powerpoint-tools/sections.ts +0 -140
  467. package/src/tools/office/powerpoint-tools/shapes.ts +0 -870
  468. package/src/tools/office/powerpoint-tools/slides.ts +0 -350
  469. package/src/tools/office/powerpoint-tools/tables.ts +0 -182
  470. package/src/tools/office/powerpoint-tools/text.ts +0 -473
  471. package/src/tools/office/powerpoint-tools.ts +0 -9
  472. package/src/tools/office/word-client.ts +0 -1697
  473. package/src/tools/office/word-tools/bookmarks.ts +0 -186
  474. package/src/tools/office/word-tools/comments.ts +0 -185
  475. package/src/tools/office/word-tools/content.ts +0 -229
  476. package/src/tools/office/word-tools/export.ts +0 -97
  477. package/src/tools/office/word-tools/formatting.ts +0 -161
  478. package/src/tools/office/word-tools/headers-footers.ts +0 -155
  479. package/src/tools/office/word-tools/index.ts +0 -57
  480. package/src/tools/office/word-tools/launch.ts +0 -312
  481. package/src/tools/office/word-tools/lists.ts +0 -97
  482. package/src/tools/office/word-tools/navigation.ts +0 -114
  483. package/src/tools/office/word-tools/page-setup.ts +0 -195
  484. package/src/tools/office/word-tools/tables.ts +0 -262
  485. package/src/tools/office/word-tools/text.ts +0 -294
  486. package/src/tools/office/word-tools/undo-redo.ts +0 -97
  487. package/src/tools/office/word-tools/watermarks.ts +0 -105
  488. package/src/tools/office/word-tools.ts +0 -9
  489. package/src/tools/registry.ts +0 -527
  490. package/src/tools/types.ts +0 -231
  491. package/src/types/index.ts +0 -181
  492. package/src/ui/PlanExecuteView.tsx +0 -119
  493. package/src/ui/TodoPanel.tsx +0 -240
  494. package/src/ui/UpdateNotification.tsx +0 -105
  495. package/src/ui/components/ActivityIndicator.tsx +0 -234
  496. package/src/ui/components/CommandBrowser.tsx +0 -114
  497. package/src/ui/components/CustomTextInput.tsx +0 -389
  498. package/src/ui/components/DocsSearchProgress.tsx +0 -85
  499. package/src/ui/components/FileBrowser.tsx +0 -93
  500. package/src/ui/components/LLMSetupWizard.tsx +0 -333
  501. package/src/ui/components/Logo.tsx +0 -125
  502. package/src/ui/components/MarkdownRenderer.tsx +0 -358
  503. package/src/ui/components/ModelSelector.tsx +0 -203
  504. package/src/ui/components/PlanExecuteApp.tsx +0 -2007
  505. package/src/ui/components/ProgressBar.tsx +0 -51
  506. package/src/ui/components/StatusBar.tsx +0 -302
  507. package/src/ui/components/ThinkingIndicator.tsx +0 -120
  508. package/src/ui/components/TodoListView.tsx +0 -140
  509. package/src/ui/components/ToolSelector.tsx +0 -215
  510. package/src/ui/components/dialogs/ApprovalDialog.tsx +0 -259
  511. package/src/ui/components/dialogs/AskUserDialog.tsx +0 -159
  512. package/src/ui/components/dialogs/DocsBrowser.tsx +0 -222
  513. package/src/ui/components/dialogs/SettingsDialog.tsx +0 -939
  514. package/src/ui/components/dialogs/index.ts +0 -13
  515. package/src/ui/components/index.ts +0 -27
  516. package/src/ui/components/panels/LogPanel.tsx +0 -385
  517. package/src/ui/components/panels/SessionPanel.tsx +0 -146
  518. package/src/ui/components/panels/index.ts +0 -13
  519. package/src/ui/components/views/ChatView.tsx +0 -447
  520. package/src/ui/components/views/index.ts +0 -5
  521. package/src/ui/contexts/TokenContext.tsx +0 -139
  522. package/src/ui/hooks/atFileProcessor.ts +0 -167
  523. package/src/ui/hooks/index.ts +0 -11
  524. package/src/ui/hooks/slashCommandProcessor.ts +0 -174
  525. package/src/ui/hooks/useCommandBrowserState.ts +0 -97
  526. package/src/ui/hooks/useFileBrowserState.ts +0 -116
  527. package/src/ui/hooks/useFileList.ts +0 -132
  528. package/src/ui/hooks/useInputHistory.ts +0 -89
  529. package/src/ui/hooks/usePlanExecution.ts +0 -339
  530. package/src/ui/index.ts +0 -10
  531. package/src/ui/ink-entry.tsx +0 -36
  532. package/src/utils/env-filter.ts +0 -164
  533. package/src/utils/file-system.ts +0 -133
  534. package/src/utils/git-utils.ts +0 -30
  535. package/src/utils/json-stream-logger.ts +0 -1259
  536. package/src/utils/logger.ts +0 -2767
  537. package/src/utils/platform-utils.ts +0 -256
  538. package/src/utils/wsl-utils.ts +0 -113
  539. package/tsconfig.electron.json +0 -39
  540. package/tsconfig.json +0 -64
@@ -1,180 +0,0 @@
1
- /**
2
- * Final Response Tool
3
- *
4
- * Tool used by LLM to deliver final response
5
- * - Only succeeds if all TODOs are completed
6
- * - Returns error if incomplete TODOs exist (doesn't exit, LLM retries)
7
- * - Shows as assistant message on success
8
- */
9
-
10
- import { LLMSimpleTool, ToolResult, ToolCategory } from '../../types.js';
11
- import { ToolDefinition } from '../../../types/index.js';
12
- import { logger } from '../../../utils/logger.js';
13
- import { TodoItem } from '../../../types/index.js';
14
-
15
- /**
16
- * TODO status query callback type
17
- */
18
- export type GetTodosCallback = () => TodoItem[];
19
-
20
- /**
21
- * Final response completion callback type
22
- * Returns true to exit execution
23
- */
24
- export type FinalResponseCallback = (message: string) => void;
25
-
26
- // Global callbacks - set by orchestrator
27
- let getTodosCallback: GetTodosCallback | null = null;
28
- let finalResponseCallback: FinalResponseCallback | null = null;
29
-
30
- /**
31
- * Set the TODO getter callback
32
- */
33
- export function setGetTodosCallback(callback: GetTodosCallback): void {
34
- logger.flow('Setting getTodos callback for final_response');
35
- getTodosCallback = callback;
36
- }
37
-
38
- /**
39
- * Set the final response callback
40
- */
41
- export function setFinalResponseCallback(callback: FinalResponseCallback): void {
42
- logger.flow('Setting finalResponse callback');
43
- finalResponseCallback = callback;
44
- }
45
-
46
- /**
47
- * Clear callbacks
48
- */
49
- export function clearFinalResponseCallbacks(): void {
50
- logger.flow('Clearing final response callbacks');
51
- getTodosCallback = null;
52
- finalResponseCallback = null;
53
- }
54
-
55
- /**
56
- * Check if all todos are completed
57
- */
58
- function areAllTodosCompleted(todos: TodoItem[]): boolean {
59
- if (todos.length === 0) return true;
60
- return todos.every(t => t.status === 'completed' || t.status === 'failed');
61
- }
62
-
63
- /**
64
- * Get incomplete todos summary
65
- */
66
- function getIncompleteTodosSummary(todos: TodoItem[]): string {
67
- const incomplete = todos.filter(t => t.status !== 'completed' && t.status !== 'failed');
68
- if (incomplete.length === 0) return '';
69
-
70
- const list = incomplete.map(t => `- [${t.status}] ${t.title}`).join('\n');
71
- return `Incomplete TODOs:\n${list}`;
72
- }
73
-
74
- /**
75
- * final_response Tool Definition
76
- */
77
- const FINAL_RESPONSE_DEFINITION: ToolDefinition = {
78
- type: 'function',
79
- function: {
80
- name: 'final_response',
81
- description: `Use this tool to deliver your final response to the user after completing all tasks.
82
-
83
- IMPORTANT:
84
- - You MUST complete all TODOs before calling this tool
85
- - If any TODO is not completed, this tool will return an error
86
- - After all tasks are done, use this tool to summarize what was accomplished
87
-
88
- Example:
89
- {
90
- "message": "I've completed all the requested tasks:\\n\\n1. Fixed the bug in the login form\\n2. Added input validation\\n3. Updated the tests\\n\\nAll changes have been committed."
91
- }`,
92
- parameters: {
93
- type: 'object',
94
- properties: {
95
- message: {
96
- type: 'string',
97
- description: 'Your final response message to the user. Summarize what was accomplished.',
98
- },
99
- },
100
- required: ['message'],
101
- },
102
- },
103
- };
104
-
105
- /**
106
- * final_response Tool Implementation
107
- */
108
- async function executeFinalResponse(args: Record<string, unknown>): Promise<ToolResult> {
109
- logger.enter('executeFinalResponse', args);
110
-
111
- const message = args['message'] as string;
112
-
113
- if (!message || typeof message !== 'string') {
114
- logger.warn('Missing or invalid message');
115
- return {
116
- success: false,
117
- error: 'Missing required parameter: message is required',
118
- };
119
- }
120
-
121
- // Get current todos
122
- if (!getTodosCallback) {
123
- logger.warn('getTodos callback not set');
124
- // If no callback, allow final response (might be in a context without todos)
125
- if (finalResponseCallback) {
126
- finalResponseCallback(message);
127
- }
128
- return {
129
- success: true,
130
- result: message,
131
- metadata: { isFinalResponse: true },
132
- };
133
- }
134
-
135
- const todos = getTodosCallback();
136
-
137
- // Check if all todos are completed
138
- if (!areAllTodosCompleted(todos)) {
139
- const incompleteSummary = getIncompleteTodosSummary(todos);
140
- logger.flow('Final response rejected - incomplete TODOs');
141
- logger.debug('Incomplete TODOs', { count: todos.filter(t => t.status !== 'completed' && t.status !== 'failed').length });
142
-
143
- return {
144
- success: false,
145
- error: `Cannot deliver final response: Please complete all TODOs first.\n\n${incompleteSummary}\n\nMark each TODO as "completed" or "failed" using write_todos before calling final_response.`,
146
- };
147
- }
148
-
149
- // All todos completed - deliver final response
150
- logger.flow('All TODOs completed - delivering final response');
151
-
152
- if (finalResponseCallback) {
153
- finalResponseCallback(message);
154
- }
155
-
156
- return {
157
- success: true,
158
- result: message,
159
- metadata: { isFinalResponse: true },
160
- };
161
- }
162
-
163
- /**
164
- * LLM Simple Tool: final_response
165
- */
166
- export const FinalResponseTool: LLMSimpleTool = {
167
- definition: FINAL_RESPONSE_DEFINITION,
168
- execute: executeFinalResponse,
169
- categories: ['llm-simple'] as ToolCategory[],
170
- description: 'Deliver final response to user (requires all TODOs completed)',
171
- };
172
-
173
- /**
174
- * Get final_response tool definition for LLM
175
- */
176
- export function getFinalResponseToolDefinition(): ToolDefinition {
177
- return FINAL_RESPONSE_DEFINITION;
178
- }
179
-
180
- export default FinalResponseTool;
@@ -1,42 +0,0 @@
1
- /**
2
- * LLM Simple Tools Index
3
- *
4
- * Tools called by LLM via tool_call (no Sub-LLM)
5
- * Exports appropriate shell tools based on platform
6
- */
7
-
8
- import { isNativeWindows } from '../../../utils/platform-utils.js';
9
- import { LLMSimpleTool } from '../../types.js';
10
-
11
- // Common tools (all platforms)
12
- export * from './file-tools.js';
13
- export * from './todo-tools.js';
14
- export * from './ask-user-tool.js';
15
- export * from './final-response-tool.js';
16
-
17
- // Bash tools (WSL/Linux)
18
- export * from './bash-tool.js';
19
- import { bashTool } from './bash-tool.js';
20
- import { BACKGROUND_BASH_TOOLS } from './background-bash-tool.js';
21
- export { BACKGROUND_BASH_TOOLS } from './background-bash-tool.js';
22
-
23
- // PowerShell tools (Native Windows)
24
- export * from './powershell-tool.js';
25
- import { powershellTool } from './powershell-tool.js';
26
- import { BACKGROUND_POWERSHELL_TOOLS } from './background-powershell-tool.js';
27
- export { BACKGROUND_POWERSHELL_TOOLS } from './background-powershell-tool.js';
28
-
29
- /**
30
- * Get shell tools based on current platform
31
- *
32
- * - Native Windows: powershell + powershell_background_*
33
- * - WSL/Linux: bash + bash_background_*
34
- */
35
- export function getShellTools(): LLMSimpleTool[] {
36
- if (isNativeWindows()) {
37
- return [powershellTool, ...BACKGROUND_POWERSHELL_TOOLS];
38
- }
39
-
40
- // WSL/Linux
41
- return [bashTool, ...BACKGROUND_BASH_TOOLS];
42
- }
@@ -1,143 +0,0 @@
1
- /**
2
- * Planning Tools
3
- *
4
- * Tools exclusive to Planning LLM
5
- * - create_todos: Create TODO list (when action/implementation needed)
6
- * - respond_to_user: Direct response (for simple questions/conversation)
7
- *
8
- * Planning LLM must choose one of these two tools
9
- */
10
-
11
- import { LLMSimpleTool, ToolResult } from '../../types.js';
12
-
13
- /**
14
- * create_todos tool
15
- * Create TODO list for tasks requiring planning
16
- */
17
- export const createTodosTool: LLMSimpleTool = {
18
- definition: {
19
- type: 'function',
20
- function: {
21
- name: 'create_todos',
22
- description: `Use this tool ONLY when the task requires code changes, file operations, or multi-step implementation work.
23
-
24
- When to use:
25
- - Code implementation tasks
26
- - Bug fixes
27
- - File modifications
28
- - Multi-step operations
29
-
30
- DO NOT use for:
31
- - Simple questions or explanations
32
- - Greetings or casual conversation
33
- - Clarifications that don't require code changes
34
-
35
- Guidelines:
36
- - 1-5 TODOs (even 1 is fine for simple actions!)
37
- - Actionable titles that clearly describe what to do
38
- - Sequential order (execution order)
39
- - Include details in title
40
-
41
- IMPORTANT: Write TODO titles in the user's language.`,
42
- parameters: {
43
- type: 'object',
44
- properties: {
45
- todos: {
46
- type: 'array',
47
- description: 'List of TODO items',
48
- items: {
49
- type: 'object',
50
- properties: {
51
- id: {
52
- type: 'string',
53
- description: 'Unique identifier (e.g., "1", "2", "3")',
54
- },
55
- title: {
56
- type: 'string',
57
- description: 'Clear, actionable task title (in user language)',
58
- },
59
- },
60
- required: ['id', 'title'],
61
- },
62
- },
63
- complexity: {
64
- type: 'string',
65
- enum: ['simple', 'moderate', 'complex'],
66
- description: 'Estimated complexity of the overall task',
67
- },
68
- },
69
- required: ['todos', 'complexity'],
70
- },
71
- },
72
- },
73
- // NOTE: This execute function is never called because PlanningLLM handles tool_call directly.
74
- // It exists solely to provide tool definition.
75
- execute: async (args: Record<string, unknown>): Promise<ToolResult> => {
76
- const todos = args['todos'] as Array<{ id: string; title: string }>;
77
- const complexity = args['complexity'] as string;
78
- return {
79
- success: true,
80
- result: JSON.stringify({ todos, complexity }),
81
- };
82
- },
83
- categories: ['llm-planning'],
84
- };
85
-
86
- /**
87
- * respond_to_user tool
88
- * Respond directly with text for simple questions or conversations
89
- */
90
- export const respondToUserTool: LLMSimpleTool = {
91
- definition: {
92
- type: 'function',
93
- function: {
94
- name: 'respond_to_user',
95
- description: `Use this tool when the user's request does NOT require any actions or code changes.
96
-
97
- When to use:
98
- - Pure knowledge questions (e.g., "What is a React hook?", "Explain async/await")
99
- - Greetings or casual conversation (e.g., "Hello", "How are you?")
100
- - Conceptual explanations that don't need code execution
101
- - Questions about general programming concepts
102
-
103
- DO NOT use for:
104
- - ANY task that requires code changes, file operations, or command execution
105
- - Bug fixes, implementation, refactoring, testing
106
- - Exploring codebase or searching files
107
- - Running commands or builds
108
-
109
- Guidelines:
110
- - Provide a clear, helpful response in the user's language
111
- - Keep explanations concise but complete
112
- - Use examples if helpful
113
-
114
- IMPORTANT: Write your response in the user's language.`,
115
- parameters: {
116
- type: 'object',
117
- properties: {
118
- response: {
119
- type: 'string',
120
- description: 'Your direct response to the user (in their language)',
121
- },
122
- },
123
- required: ['response'],
124
- },
125
- },
126
- },
127
- execute: async (args: Record<string, unknown>): Promise<ToolResult> => {
128
- const response = args['response'] as string;
129
- return {
130
- success: true,
131
- result: response,
132
- };
133
- },
134
- categories: ['llm-planning'],
135
- };
136
-
137
- /**
138
- * All Planning tools
139
- */
140
- export const PLANNING_TOOLS: LLMSimpleTool[] = [
141
- createTodosTool,
142
- respondToUserTool,
143
- ];
@@ -1,241 +0,0 @@
1
- /**
2
- * PowerShell Tool (Native Windows Only)
3
- *
4
- * Tool that allows LLM to execute PowerShell commands
5
- * Only registered in Native Windows environments
6
- */
7
-
8
- import { spawn } from 'child_process';
9
- import * as fs from 'fs';
10
- import { ToolDefinition } from '../../../types/index.js';
11
- import { LLMSimpleTool, ToolResult, ToolCategory } from '../../types.js';
12
- import { logger } from '../../../utils/logger.js';
13
- import {
14
- isNativeWindows,
15
- findNativePowerShellPath,
16
- isDangerousPowerShellCommand,
17
- } from '../../../utils/platform-utils.js';
18
- import { filterSafeEnv } from '../../../utils/env-filter.js';
19
- import { configManager } from '../../../core/config/config-manager.js';
20
-
21
- /**
22
- * Execute PowerShell command
23
- */
24
- async function executePowerShell(
25
- command: string,
26
- cwd?: string,
27
- timeout: number = 30000,
28
- explicitEnv?: Record<string, string>
29
- ): Promise<{ stdout: string; stderr: string; exitCode: number }> {
30
- return new Promise((resolve, reject) => {
31
- const psPath = findNativePowerShellPath();
32
-
33
- // Get user-configured safe env vars
34
- const userSafeVars = configManager.getSafeEnvVars();
35
-
36
- // Use -NoProfile for faster startup, -Command for direct execution
37
- const child = spawn(psPath, ['-NoProfile', '-Command', command], {
38
- cwd: cwd || process.cwd(),
39
- env: filterSafeEnv(process.env, userSafeVars, explicitEnv || {}), // Merge: filtered process.env + user config + explicit vars
40
- });
41
-
42
- let stdout = '';
43
- let stderr = '';
44
- let killed = false;
45
-
46
- child.stdout?.on('data', (data) => {
47
- stdout += data.toString();
48
- });
49
-
50
- child.stderr?.on('data', (data) => {
51
- stderr += data.toString();
52
- });
53
-
54
- child.on('close', (code) => {
55
- if (!killed) {
56
- resolve({
57
- stdout: stdout.trim(),
58
- stderr: stderr.trim(),
59
- exitCode: code ?? 0,
60
- });
61
- }
62
- });
63
-
64
- child.on('error', (error) => {
65
- reject(error);
66
- });
67
-
68
- // Timeout handling
69
- const timer = setTimeout(() => {
70
- killed = true;
71
- child.kill('SIGTERM');
72
- reject(new Error(`Command timed out after ${timeout}ms`));
73
- }, timeout);
74
-
75
- child.on('close', () => {
76
- clearTimeout(timer);
77
- });
78
- });
79
- }
80
-
81
- /**
82
- * PowerShell Tool Definition
83
- */
84
- const POWERSHELL_TOOL_DEFINITION: ToolDefinition = {
85
- type: 'function',
86
- function: {
87
- name: 'powershell',
88
- description: `Execute a PowerShell command on Windows. Use this to run terminal commands like git, npm, docker, python, etc.
89
-
90
- IMPORTANT:
91
- - Do NOT use for file reading/writing - use read_file, create_file, edit_file instead
92
- - Commands have a 30 second timeout by default
93
- - Dangerous commands (Remove-Item -Recurse -Force C:\\, Stop-Computer, etc.) are blocked
94
- - Output is truncated if too long
95
- - PowerShell 7 (pwsh) is used if available, otherwise PowerShell 5.1`,
96
- parameters: {
97
- type: 'object',
98
- properties: {
99
- reason: {
100
- type: 'string',
101
- description: `A natural, conversational explanation for the user about what you're doing (in user's language).
102
- Write as if you're talking to the user directly.
103
- Examples:
104
- - "Installing project dependencies"
105
- - "Running tests to check the results"
106
- - "Checking git status"
107
- - "Running the build"`,
108
- },
109
- command: {
110
- type: 'string',
111
- description: 'The PowerShell command to execute',
112
- },
113
- cwd: {
114
- type: 'string',
115
- description: 'Working directory for the command (optional, defaults to current directory)',
116
- },
117
- timeout: {
118
- type: 'number',
119
- description: 'Timeout in milliseconds (optional, default: 30000)',
120
- },
121
- env: {
122
- type: 'object',
123
- description: 'Environment variables to set for this command (optional). These will be merged with safe system env vars.',
124
- additionalProperties: {
125
- type: 'string',
126
- },
127
- },
128
- },
129
- required: ['reason', 'command'],
130
- },
131
- },
132
- };
133
-
134
- /**
135
- * PowerShell Tool (LLM Simple)
136
- */
137
- export const powershellTool: LLMSimpleTool = {
138
- definition: POWERSHELL_TOOL_DEFINITION,
139
- categories: ['llm-simple'] as ToolCategory[],
140
-
141
- async execute(args: Record<string, unknown>): Promise<ToolResult> {
142
- const command = args['command'] as string;
143
- const cwd = args['cwd'] as string | undefined;
144
- const timeout = (args['timeout'] as number) || 30000;
145
- const env = args['env'] as Record<string, string> | undefined;
146
-
147
- logger.enter('powershellTool.execute', { command, cwd, timeout, envKeys: env ? Object.keys(env) : [] });
148
-
149
- // Check platform - should only run on Native Windows
150
- if (!isNativeWindows()) {
151
- return {
152
- success: false,
153
- error: 'powershell tool is only available on Native Windows. Use bash instead.',
154
- };
155
- }
156
-
157
- // Validate command
158
- if (!command || typeof command !== 'string') {
159
- return {
160
- success: false,
161
- error: 'command is required and must be a string',
162
- };
163
- }
164
-
165
- // Check for dangerous commands
166
- if (isDangerousPowerShellCommand(command)) {
167
- logger.warn('Dangerous PowerShell command blocked', { command });
168
- return {
169
- success: false,
170
- error: 'This command is blocked for safety reasons',
171
- };
172
- }
173
-
174
- // Validate cwd exists and is a directory
175
- if (cwd) {
176
- if (!fs.existsSync(cwd)) {
177
- logger.warn('Invalid cwd provided (does not exist)', { cwd });
178
- return {
179
- success: false,
180
- error: `Working directory does not exist: ${cwd}`,
181
- };
182
- }
183
- if (!fs.statSync(cwd).isDirectory()) {
184
- logger.warn('Invalid cwd provided (not a directory)', { cwd });
185
- return {
186
- success: false,
187
- error: `Working directory path is not a directory: ${cwd}`,
188
- };
189
- }
190
- }
191
-
192
- try {
193
- const execResult = await executePowerShell(command, cwd, timeout, env);
194
-
195
- // Combine output
196
- let output = '';
197
- if (execResult.stdout) {
198
- output += execResult.stdout;
199
- }
200
- if (execResult.stderr) {
201
- output += (output ? '\n\n' : '') + `stderr:\n${execResult.stderr}`;
202
- }
203
-
204
- // Truncate if too long
205
- const MAX_OUTPUT_LENGTH = 50000;
206
- if (output.length > MAX_OUTPUT_LENGTH) {
207
- output = output.slice(0, MAX_OUTPUT_LENGTH) + '\n\n... [output truncated]';
208
- }
209
-
210
- // Add exit code if non-zero
211
- if (execResult.exitCode !== 0) {
212
- output += `\n\n[Exit code: ${execResult.exitCode}]`;
213
- }
214
-
215
- logger.exit('powershellTool.execute', { exitCode: execResult.exitCode, outputLength: output.length });
216
-
217
- // Return with error field when command fails
218
- if (execResult.exitCode !== 0) {
219
- return {
220
- success: false,
221
- error: output || '(no output)',
222
- };
223
- }
224
-
225
- return {
226
- success: true,
227
- result: output || '(no output)',
228
- };
229
- } catch (error) {
230
- const errorMessage = error instanceof Error ? error.message : String(error);
231
- logger.error('powershellTool.execute failed', error as Error);
232
-
233
- return {
234
- success: false,
235
- error: `Error executing command: ${errorMessage}`,
236
- };
237
- }
238
- },
239
- };
240
-
241
- export default powershellTool;