orquesta-cli 0.1.13 → 0.1.15

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 (541) hide show
  1. package/README.md +30 -4
  2. package/dist/cli.js +65 -4
  3. package/dist/core/config/config-manager.d.ts +13 -1
  4. package/dist/core/config/config-manager.js +83 -0
  5. package/dist/core/slash-command-handler.d.ts +1 -0
  6. package/dist/core/slash-command-handler.js +129 -0
  7. package/dist/orquesta/config-sync.d.ts +73 -0
  8. package/dist/orquesta/config-sync.js +230 -0
  9. package/dist/orquesta/prompt-reporter.d.ts +16 -0
  10. package/dist/orquesta/prompt-reporter.js +85 -0
  11. package/dist/setup/first-run-setup.d.ts +15 -0
  12. package/dist/setup/first-run-setup.js +238 -0
  13. package/dist/types/index.d.ts +11 -2
  14. package/dist/ui/TodoPanel.d.ts +1 -0
  15. package/dist/ui/TodoPanel.js +6 -1
  16. package/dist/ui/components/LLMSetupWizard.js +381 -7
  17. package/dist/ui/components/Logo.d.ts +2 -0
  18. package/dist/ui/components/Logo.js +10 -3
  19. package/dist/ui/components/OpenRouterModelBrowser.d.ts +13 -0
  20. package/dist/ui/components/OpenRouterModelBrowser.js +221 -0
  21. package/dist/ui/components/PlanExecuteApp.js +30 -4
  22. package/dist/ui/components/ProjectSelector.d.ts +8 -0
  23. package/dist/ui/components/ProjectSelector.js +119 -0
  24. package/dist/ui/components/StatusBar.d.ts +2 -0
  25. package/dist/ui/components/StatusBar.js +6 -1
  26. package/dist/ui/hooks/slashCommandProcessor.js +8 -4
  27. package/package.json +11 -5
  28. package/.eslintrc.json +0 -26
  29. package/.prettierrc.json +0 -10
  30. package/CLAUDE.md +0 -199
  31. package/SECURITY.md +0 -290
  32. package/TEST_LOCAL.md +0 -245
  33. package/dist/agents/base/base-agent.d.ts.map +0 -1
  34. package/dist/agents/base/base-agent.js.map +0 -1
  35. package/dist/agents/docs-search/index.d.ts.map +0 -1
  36. package/dist/agents/docs-search/index.js.map +0 -1
  37. package/dist/agents/index.d.ts.map +0 -1
  38. package/dist/agents/index.js.map +0 -1
  39. package/dist/agents/planner/index.d.ts.map +0 -1
  40. package/dist/agents/planner/index.js.map +0 -1
  41. package/dist/cli.d.ts.map +0 -1
  42. package/dist/cli.js.map +0 -1
  43. package/dist/constants.d.ts.map +0 -1
  44. package/dist/constants.js.map +0 -1
  45. package/dist/core/compact/compact-manager.d.ts.map +0 -1
  46. package/dist/core/compact/compact-manager.js.map +0 -1
  47. package/dist/core/compact/compact-prompts.d.ts.map +0 -1
  48. package/dist/core/compact/compact-prompts.js.map +0 -1
  49. package/dist/core/compact/context-tracker.d.ts.map +0 -1
  50. package/dist/core/compact/context-tracker.js.map +0 -1
  51. package/dist/core/compact/index.d.ts.map +0 -1
  52. package/dist/core/compact/index.js.map +0 -1
  53. package/dist/core/config/config-manager.d.ts.map +0 -1
  54. package/dist/core/config/config-manager.js.map +0 -1
  55. package/dist/core/config/index.d.ts.map +0 -1
  56. package/dist/core/config/index.js.map +0 -1
  57. package/dist/core/docs-manager.d.ts.map +0 -1
  58. package/dist/core/docs-manager.js.map +0 -1
  59. package/dist/core/git-auto-updater.d.ts +0 -58
  60. package/dist/core/git-auto-updater.d.ts.map +0 -1
  61. package/dist/core/git-auto-updater.js +0 -374
  62. package/dist/core/git-auto-updater.js.map +0 -1
  63. package/dist/core/llm/index.d.ts.map +0 -1
  64. package/dist/core/llm/index.js.map +0 -1
  65. package/dist/core/llm/llm-client.d.ts.map +0 -1
  66. package/dist/core/llm/llm-client.js.map +0 -1
  67. package/dist/core/session/index.d.ts.map +0 -1
  68. package/dist/core/session/index.js.map +0 -1
  69. package/dist/core/session/session-manager.d.ts.map +0 -1
  70. package/dist/core/session/session-manager.js.map +0 -1
  71. package/dist/core/slash-command-handler.d.ts.map +0 -1
  72. package/dist/core/slash-command-handler.js.map +0 -1
  73. package/dist/core/usage-tracker.d.ts.map +0 -1
  74. package/dist/core/usage-tracker.js.map +0 -1
  75. package/dist/errors/base.d.ts.map +0 -1
  76. package/dist/errors/base.js.map +0 -1
  77. package/dist/errors/file.d.ts.map +0 -1
  78. package/dist/errors/file.js.map +0 -1
  79. package/dist/errors/index.d.ts.map +0 -1
  80. package/dist/errors/index.js.map +0 -1
  81. package/dist/errors/llm.d.ts.map +0 -1
  82. package/dist/errors/llm.js.map +0 -1
  83. package/dist/errors/network.d.ts.map +0 -1
  84. package/dist/errors/network.js.map +0 -1
  85. package/dist/errors/validation.d.ts.map +0 -1
  86. package/dist/errors/validation.js.map +0 -1
  87. package/dist/eval/eval-runner.d.ts.map +0 -1
  88. package/dist/eval/eval-runner.js.map +0 -1
  89. package/dist/eval/index.d.ts.map +0 -1
  90. package/dist/eval/index.js.map +0 -1
  91. package/dist/eval/types.d.ts.map +0 -1
  92. package/dist/eval/types.js.map +0 -1
  93. package/dist/index.d.ts.map +0 -1
  94. package/dist/index.js.map +0 -1
  95. package/dist/orchestration/index.d.ts.map +0 -1
  96. package/dist/orchestration/index.js.map +0 -1
  97. package/dist/orchestration/plan-executor.d.ts.map +0 -1
  98. package/dist/orchestration/plan-executor.js.map +0 -1
  99. package/dist/orchestration/types.d.ts.map +0 -1
  100. package/dist/orchestration/types.js.map +0 -1
  101. package/dist/orchestration/utils.d.ts.map +0 -1
  102. package/dist/orchestration/utils.js.map +0 -1
  103. package/dist/orquesta/connection.d.ts.map +0 -1
  104. package/dist/orquesta/connection.js.map +0 -1
  105. package/dist/prompts/agents/docs-search-decision.d.ts.map +0 -1
  106. package/dist/prompts/agents/docs-search-decision.js.map +0 -1
  107. package/dist/prompts/agents/docs-search.d.ts.map +0 -1
  108. package/dist/prompts/agents/docs-search.js.map +0 -1
  109. package/dist/prompts/agents/planning.d.ts.map +0 -1
  110. package/dist/prompts/agents/planning.js.map +0 -1
  111. package/dist/prompts/index.d.ts.map +0 -1
  112. package/dist/prompts/index.js.map +0 -1
  113. package/dist/prompts/shared/codebase-rules.d.ts.map +0 -1
  114. package/dist/prompts/shared/codebase-rules.js.map +0 -1
  115. package/dist/prompts/shared/git-rules.d.ts.map +0 -1
  116. package/dist/prompts/shared/git-rules.js.map +0 -1
  117. package/dist/prompts/shared/language-rules.d.ts.map +0 -1
  118. package/dist/prompts/shared/language-rules.js.map +0 -1
  119. package/dist/prompts/shared/tool-usage.d.ts.map +0 -1
  120. package/dist/prompts/shared/tool-usage.js.map +0 -1
  121. package/dist/prompts/system/compact.d.ts.map +0 -1
  122. package/dist/prompts/system/compact.js.map +0 -1
  123. package/dist/prompts/system/plan-execute.d.ts.map +0 -1
  124. package/dist/prompts/system/plan-execute.js.map +0 -1
  125. package/dist/tools/browser/browser-client.d.ts.map +0 -1
  126. package/dist/tools/browser/browser-client.js.map +0 -1
  127. package/dist/tools/browser/browser-tools.d.ts.map +0 -1
  128. package/dist/tools/browser/browser-tools.js.map +0 -1
  129. package/dist/tools/browser/index.d.ts.map +0 -1
  130. package/dist/tools/browser/index.js.map +0 -1
  131. package/dist/tools/index.d.ts.map +0 -1
  132. package/dist/tools/index.js.map +0 -1
  133. package/dist/tools/llm/agents/docs-search-tools.d.ts.map +0 -1
  134. package/dist/tools/llm/agents/docs-search-tools.js.map +0 -1
  135. package/dist/tools/llm/agents/index.d.ts.map +0 -1
  136. package/dist/tools/llm/agents/index.js.map +0 -1
  137. package/dist/tools/llm/index.d.ts.map +0 -1
  138. package/dist/tools/llm/index.js.map +0 -1
  139. package/dist/tools/llm/simple/ask-user-tool.d.ts.map +0 -1
  140. package/dist/tools/llm/simple/ask-user-tool.js.map +0 -1
  141. package/dist/tools/llm/simple/background-bash-tool.d.ts.map +0 -1
  142. package/dist/tools/llm/simple/background-bash-tool.js.map +0 -1
  143. package/dist/tools/llm/simple/background-powershell-tool.d.ts.map +0 -1
  144. package/dist/tools/llm/simple/background-powershell-tool.js.map +0 -1
  145. package/dist/tools/llm/simple/bash-tool.d.ts.map +0 -1
  146. package/dist/tools/llm/simple/bash-tool.js.map +0 -1
  147. package/dist/tools/llm/simple/docs-search-agent-tool.d.ts.map +0 -1
  148. package/dist/tools/llm/simple/docs-search-agent-tool.js.map +0 -1
  149. package/dist/tools/llm/simple/file-tools.d.ts.map +0 -1
  150. package/dist/tools/llm/simple/file-tools.js.map +0 -1
  151. package/dist/tools/llm/simple/final-response-tool.d.ts.map +0 -1
  152. package/dist/tools/llm/simple/final-response-tool.js.map +0 -1
  153. package/dist/tools/llm/simple/index.d.ts.map +0 -1
  154. package/dist/tools/llm/simple/index.js.map +0 -1
  155. package/dist/tools/llm/simple/planning-tools.d.ts.map +0 -1
  156. package/dist/tools/llm/simple/planning-tools.js.map +0 -1
  157. package/dist/tools/llm/simple/powershell-tool.d.ts.map +0 -1
  158. package/dist/tools/llm/simple/powershell-tool.js.map +0 -1
  159. package/dist/tools/llm/simple/simple-tool-executor.d.ts.map +0 -1
  160. package/dist/tools/llm/simple/simple-tool-executor.js.map +0 -1
  161. package/dist/tools/llm/simple/todo-tools.d.ts.map +0 -1
  162. package/dist/tools/llm/simple/todo-tools.js.map +0 -1
  163. package/dist/tools/llm/simple/user-interaction-tools.d.ts.map +0 -1
  164. package/dist/tools/llm/simple/user-interaction-tools.js.map +0 -1
  165. package/dist/tools/office/common/constants.d.ts.map +0 -1
  166. package/dist/tools/office/common/constants.js.map +0 -1
  167. package/dist/tools/office/common/index.d.ts.map +0 -1
  168. package/dist/tools/office/common/index.js.map +0 -1
  169. package/dist/tools/office/common/types.d.ts.map +0 -1
  170. package/dist/tools/office/common/types.js.map +0 -1
  171. package/dist/tools/office/common/utils.d.ts.map +0 -1
  172. package/dist/tools/office/common/utils.js.map +0 -1
  173. package/dist/tools/office/excel-client.d.ts.map +0 -1
  174. package/dist/tools/office/excel-client.js.map +0 -1
  175. package/dist/tools/office/excel-tools/cells.d.ts.map +0 -1
  176. package/dist/tools/office/excel-tools/cells.js.map +0 -1
  177. package/dist/tools/office/excel-tools/charts.d.ts.map +0 -1
  178. package/dist/tools/office/excel-tools/charts.js.map +0 -1
  179. package/dist/tools/office/excel-tools/comments.d.ts.map +0 -1
  180. package/dist/tools/office/excel-tools/comments.js.map +0 -1
  181. package/dist/tools/office/excel-tools/data-ops.d.ts.map +0 -1
  182. package/dist/tools/office/excel-tools/data-ops.js.map +0 -1
  183. package/dist/tools/office/excel-tools/export.d.ts.map +0 -1
  184. package/dist/tools/office/excel-tools/export.js.map +0 -1
  185. package/dist/tools/office/excel-tools/formatting.d.ts.map +0 -1
  186. package/dist/tools/office/excel-tools/formatting.js.map +0 -1
  187. package/dist/tools/office/excel-tools/index.d.ts.map +0 -1
  188. package/dist/tools/office/excel-tools/index.js.map +0 -1
  189. package/dist/tools/office/excel-tools/launch.d.ts.map +0 -1
  190. package/dist/tools/office/excel-tools/launch.js.map +0 -1
  191. package/dist/tools/office/excel-tools/media.d.ts.map +0 -1
  192. package/dist/tools/office/excel-tools/media.js.map +0 -1
  193. package/dist/tools/office/excel-tools/named-ranges.d.ts.map +0 -1
  194. package/dist/tools/office/excel-tools/named-ranges.js.map +0 -1
  195. package/dist/tools/office/excel-tools/protection.d.ts.map +0 -1
  196. package/dist/tools/office/excel-tools/protection.js.map +0 -1
  197. package/dist/tools/office/excel-tools/rows-columns.d.ts.map +0 -1
  198. package/dist/tools/office/excel-tools/rows-columns.js.map +0 -1
  199. package/dist/tools/office/excel-tools/sheets.d.ts.map +0 -1
  200. package/dist/tools/office/excel-tools/sheets.js.map +0 -1
  201. package/dist/tools/office/excel-tools/validation.d.ts.map +0 -1
  202. package/dist/tools/office/excel-tools/validation.js.map +0 -1
  203. package/dist/tools/office/excel-tools.d.ts.map +0 -1
  204. package/dist/tools/office/excel-tools.js.map +0 -1
  205. package/dist/tools/office/index.d.ts.map +0 -1
  206. package/dist/tools/office/index.js.map +0 -1
  207. package/dist/tools/office/office-client-base.d.ts.map +0 -1
  208. package/dist/tools/office/office-client-base.js.map +0 -1
  209. package/dist/tools/office/office-client.d.ts.map +0 -1
  210. package/dist/tools/office/office-client.js.map +0 -1
  211. package/dist/tools/office/powerpoint-client.d.ts.map +0 -1
  212. package/dist/tools/office/powerpoint-client.js.map +0 -1
  213. package/dist/tools/office/powerpoint-tools/effects.d.ts.map +0 -1
  214. package/dist/tools/office/powerpoint-tools/effects.js.map +0 -1
  215. package/dist/tools/office/powerpoint-tools/export.d.ts.map +0 -1
  216. package/dist/tools/office/powerpoint-tools/export.js.map +0 -1
  217. package/dist/tools/office/powerpoint-tools/index.d.ts.map +0 -1
  218. package/dist/tools/office/powerpoint-tools/index.js.map +0 -1
  219. package/dist/tools/office/powerpoint-tools/launch.d.ts.map +0 -1
  220. package/dist/tools/office/powerpoint-tools/launch.js.map +0 -1
  221. package/dist/tools/office/powerpoint-tools/media.d.ts.map +0 -1
  222. package/dist/tools/office/powerpoint-tools/media.js.map +0 -1
  223. package/dist/tools/office/powerpoint-tools/notes.d.ts.map +0 -1
  224. package/dist/tools/office/powerpoint-tools/notes.js.map +0 -1
  225. package/dist/tools/office/powerpoint-tools/sections.d.ts.map +0 -1
  226. package/dist/tools/office/powerpoint-tools/sections.js.map +0 -1
  227. package/dist/tools/office/powerpoint-tools/shapes.d.ts.map +0 -1
  228. package/dist/tools/office/powerpoint-tools/shapes.js.map +0 -1
  229. package/dist/tools/office/powerpoint-tools/slides.d.ts.map +0 -1
  230. package/dist/tools/office/powerpoint-tools/slides.js.map +0 -1
  231. package/dist/tools/office/powerpoint-tools/tables.d.ts.map +0 -1
  232. package/dist/tools/office/powerpoint-tools/tables.js.map +0 -1
  233. package/dist/tools/office/powerpoint-tools/text.d.ts.map +0 -1
  234. package/dist/tools/office/powerpoint-tools/text.js.map +0 -1
  235. package/dist/tools/office/powerpoint-tools.d.ts.map +0 -1
  236. package/dist/tools/office/powerpoint-tools.js.map +0 -1
  237. package/dist/tools/office/word-client.d.ts.map +0 -1
  238. package/dist/tools/office/word-client.js.map +0 -1
  239. package/dist/tools/office/word-tools/bookmarks.d.ts.map +0 -1
  240. package/dist/tools/office/word-tools/bookmarks.js.map +0 -1
  241. package/dist/tools/office/word-tools/comments.d.ts.map +0 -1
  242. package/dist/tools/office/word-tools/comments.js.map +0 -1
  243. package/dist/tools/office/word-tools/content.d.ts.map +0 -1
  244. package/dist/tools/office/word-tools/content.js.map +0 -1
  245. package/dist/tools/office/word-tools/export.d.ts.map +0 -1
  246. package/dist/tools/office/word-tools/export.js.map +0 -1
  247. package/dist/tools/office/word-tools/formatting.d.ts.map +0 -1
  248. package/dist/tools/office/word-tools/formatting.js.map +0 -1
  249. package/dist/tools/office/word-tools/headers-footers.d.ts.map +0 -1
  250. package/dist/tools/office/word-tools/headers-footers.js.map +0 -1
  251. package/dist/tools/office/word-tools/index.d.ts.map +0 -1
  252. package/dist/tools/office/word-tools/index.js.map +0 -1
  253. package/dist/tools/office/word-tools/launch.d.ts.map +0 -1
  254. package/dist/tools/office/word-tools/launch.js.map +0 -1
  255. package/dist/tools/office/word-tools/lists.d.ts.map +0 -1
  256. package/dist/tools/office/word-tools/lists.js.map +0 -1
  257. package/dist/tools/office/word-tools/navigation.d.ts.map +0 -1
  258. package/dist/tools/office/word-tools/navigation.js.map +0 -1
  259. package/dist/tools/office/word-tools/page-setup.d.ts.map +0 -1
  260. package/dist/tools/office/word-tools/page-setup.js.map +0 -1
  261. package/dist/tools/office/word-tools/tables.d.ts.map +0 -1
  262. package/dist/tools/office/word-tools/tables.js.map +0 -1
  263. package/dist/tools/office/word-tools/text.d.ts.map +0 -1
  264. package/dist/tools/office/word-tools/text.js.map +0 -1
  265. package/dist/tools/office/word-tools/undo-redo.d.ts.map +0 -1
  266. package/dist/tools/office/word-tools/undo-redo.js.map +0 -1
  267. package/dist/tools/office/word-tools/watermarks.d.ts.map +0 -1
  268. package/dist/tools/office/word-tools/watermarks.js.map +0 -1
  269. package/dist/tools/office/word-tools.d.ts.map +0 -1
  270. package/dist/tools/office/word-tools.js.map +0 -1
  271. package/dist/tools/registry.d.ts.map +0 -1
  272. package/dist/tools/registry.js.map +0 -1
  273. package/dist/tools/types.d.ts.map +0 -1
  274. package/dist/tools/types.js.map +0 -1
  275. package/dist/types/index.d.ts.map +0 -1
  276. package/dist/types/index.js.map +0 -1
  277. package/dist/ui/PlanExecuteView.d.ts.map +0 -1
  278. package/dist/ui/PlanExecuteView.js.map +0 -1
  279. package/dist/ui/TodoPanel.d.ts.map +0 -1
  280. package/dist/ui/TodoPanel.js.map +0 -1
  281. package/dist/ui/UpdateNotification.d.ts.map +0 -1
  282. package/dist/ui/UpdateNotification.js.map +0 -1
  283. package/dist/ui/components/ActivityIndicator.d.ts.map +0 -1
  284. package/dist/ui/components/ActivityIndicator.js.map +0 -1
  285. package/dist/ui/components/CommandBrowser.d.ts.map +0 -1
  286. package/dist/ui/components/CommandBrowser.js.map +0 -1
  287. package/dist/ui/components/CustomTextInput.d.ts.map +0 -1
  288. package/dist/ui/components/CustomTextInput.js.map +0 -1
  289. package/dist/ui/components/DocsSearchProgress.d.ts.map +0 -1
  290. package/dist/ui/components/DocsSearchProgress.js.map +0 -1
  291. package/dist/ui/components/FileBrowser.d.ts.map +0 -1
  292. package/dist/ui/components/FileBrowser.js.map +0 -1
  293. package/dist/ui/components/LLMSetupWizard.d.ts.map +0 -1
  294. package/dist/ui/components/LLMSetupWizard.js.map +0 -1
  295. package/dist/ui/components/Logo.d.ts.map +0 -1
  296. package/dist/ui/components/Logo.js.map +0 -1
  297. package/dist/ui/components/MarkdownRenderer.d.ts.map +0 -1
  298. package/dist/ui/components/MarkdownRenderer.js.map +0 -1
  299. package/dist/ui/components/ModelSelector.d.ts.map +0 -1
  300. package/dist/ui/components/ModelSelector.js.map +0 -1
  301. package/dist/ui/components/PlanExecuteApp.d.ts.map +0 -1
  302. package/dist/ui/components/PlanExecuteApp.js.map +0 -1
  303. package/dist/ui/components/ProgressBar.d.ts.map +0 -1
  304. package/dist/ui/components/ProgressBar.js.map +0 -1
  305. package/dist/ui/components/StatusBar.d.ts.map +0 -1
  306. package/dist/ui/components/StatusBar.js.map +0 -1
  307. package/dist/ui/components/ThinkingIndicator.d.ts.map +0 -1
  308. package/dist/ui/components/ThinkingIndicator.js.map +0 -1
  309. package/dist/ui/components/TodoListView.d.ts.map +0 -1
  310. package/dist/ui/components/TodoListView.js.map +0 -1
  311. package/dist/ui/components/ToolSelector.d.ts.map +0 -1
  312. package/dist/ui/components/ToolSelector.js.map +0 -1
  313. package/dist/ui/components/dialogs/ApprovalDialog.d.ts.map +0 -1
  314. package/dist/ui/components/dialogs/ApprovalDialog.js.map +0 -1
  315. package/dist/ui/components/dialogs/AskUserDialog.d.ts.map +0 -1
  316. package/dist/ui/components/dialogs/AskUserDialog.js.map +0 -1
  317. package/dist/ui/components/dialogs/DocsBrowser.d.ts.map +0 -1
  318. package/dist/ui/components/dialogs/DocsBrowser.js.map +0 -1
  319. package/dist/ui/components/dialogs/SettingsDialog.d.ts.map +0 -1
  320. package/dist/ui/components/dialogs/SettingsDialog.js.map +0 -1
  321. package/dist/ui/components/dialogs/index.d.ts.map +0 -1
  322. package/dist/ui/components/dialogs/index.js.map +0 -1
  323. package/dist/ui/components/index.d.ts.map +0 -1
  324. package/dist/ui/components/index.js.map +0 -1
  325. package/dist/ui/components/panels/LogPanel.d.ts.map +0 -1
  326. package/dist/ui/components/panels/LogPanel.js.map +0 -1
  327. package/dist/ui/components/panels/SessionPanel.d.ts.map +0 -1
  328. package/dist/ui/components/panels/SessionPanel.js.map +0 -1
  329. package/dist/ui/components/panels/index.d.ts.map +0 -1
  330. package/dist/ui/components/panels/index.js.map +0 -1
  331. package/dist/ui/components/views/ChatView.d.ts.map +0 -1
  332. package/dist/ui/components/views/ChatView.js.map +0 -1
  333. package/dist/ui/components/views/index.d.ts.map +0 -1
  334. package/dist/ui/components/views/index.js.map +0 -1
  335. package/dist/ui/contexts/TokenContext.d.ts.map +0 -1
  336. package/dist/ui/contexts/TokenContext.js.map +0 -1
  337. package/dist/ui/hooks/atFileProcessor.d.ts.map +0 -1
  338. package/dist/ui/hooks/atFileProcessor.js.map +0 -1
  339. package/dist/ui/hooks/index.d.ts.map +0 -1
  340. package/dist/ui/hooks/index.js.map +0 -1
  341. package/dist/ui/hooks/slashCommandProcessor.d.ts.map +0 -1
  342. package/dist/ui/hooks/slashCommandProcessor.js.map +0 -1
  343. package/dist/ui/hooks/useCommandBrowserState.d.ts.map +0 -1
  344. package/dist/ui/hooks/useCommandBrowserState.js.map +0 -1
  345. package/dist/ui/hooks/useFileBrowserState.d.ts.map +0 -1
  346. package/dist/ui/hooks/useFileBrowserState.js.map +0 -1
  347. package/dist/ui/hooks/useFileList.d.ts.map +0 -1
  348. package/dist/ui/hooks/useFileList.js.map +0 -1
  349. package/dist/ui/hooks/useInputHistory.d.ts.map +0 -1
  350. package/dist/ui/hooks/useInputHistory.js.map +0 -1
  351. package/dist/ui/hooks/usePlanExecution.d.ts.map +0 -1
  352. package/dist/ui/hooks/usePlanExecution.js.map +0 -1
  353. package/dist/ui/index.d.ts.map +0 -1
  354. package/dist/ui/index.js.map +0 -1
  355. package/dist/ui/ink-entry.d.ts.map +0 -1
  356. package/dist/ui/ink-entry.js.map +0 -1
  357. package/dist/utils/env-filter.d.ts.map +0 -1
  358. package/dist/utils/env-filter.js.map +0 -1
  359. package/dist/utils/file-system.d.ts.map +0 -1
  360. package/dist/utils/file-system.js.map +0 -1
  361. package/dist/utils/git-utils.d.ts.map +0 -1
  362. package/dist/utils/git-utils.js.map +0 -1
  363. package/dist/utils/json-stream-logger.d.ts.map +0 -1
  364. package/dist/utils/json-stream-logger.js.map +0 -1
  365. package/dist/utils/logger.d.ts.map +0 -1
  366. package/dist/utils/logger.js.map +0 -1
  367. package/dist/utils/platform-utils.d.ts.map +0 -1
  368. package/dist/utils/platform-utils.js.map +0 -1
  369. package/dist/utils/wsl-utils.d.ts.map +0 -1
  370. package/dist/utils/wsl-utils.js.map +0 -1
  371. package/electron.vite.config.ts +0 -63
  372. package/google374b9eba0c52b043.html +0 -1
  373. package/src/agents/base/base-agent.ts +0 -159
  374. package/src/agents/docs-search/index.ts +0 -365
  375. package/src/agents/index.ts +0 -34
  376. package/src/agents/planner/index.ts +0 -544
  377. package/src/cli.ts +0 -201
  378. package/src/constants.ts +0 -47
  379. package/src/core/compact/compact-manager.ts +0 -160
  380. package/src/core/compact/compact-prompts.ts +0 -150
  381. package/src/core/compact/context-tracker.ts +0 -164
  382. package/src/core/compact/index.ts +0 -25
  383. package/src/core/config/config-manager.ts +0 -460
  384. package/src/core/config/index.ts +0 -5
  385. package/src/core/docs-manager.ts +0 -678
  386. package/src/core/llm/index.ts +0 -7
  387. package/src/core/llm/llm-client.ts +0 -1550
  388. package/src/core/session/index.ts +0 -5
  389. package/src/core/session/session-manager.ts +0 -464
  390. package/src/core/slash-command-handler.ts +0 -410
  391. package/src/core/usage-tracker.ts +0 -438
  392. package/src/errors/base.ts +0 -81
  393. package/src/errors/file.ts +0 -183
  394. package/src/errors/index.ts +0 -95
  395. package/src/errors/llm.ts +0 -151
  396. package/src/errors/network.ts +0 -124
  397. package/src/errors/validation.ts +0 -111
  398. package/src/eval/eval-runner.ts +0 -456
  399. package/src/eval/index.ts +0 -8
  400. package/src/eval/types.ts +0 -139
  401. package/src/index.ts +0 -22
  402. package/src/orchestration/index.ts +0 -30
  403. package/src/orchestration/plan-executor.ts +0 -652
  404. package/src/orchestration/types.ts +0 -127
  405. package/src/orchestration/utils.ts +0 -119
  406. package/src/orquesta/connection.ts +0 -291
  407. package/src/prompts/agents/docs-search-decision.ts +0 -74
  408. package/src/prompts/agents/docs-search.ts +0 -84
  409. package/src/prompts/agents/planning.ts +0 -143
  410. package/src/prompts/index.ts +0 -31
  411. package/src/prompts/shared/codebase-rules.ts +0 -29
  412. package/src/prompts/shared/git-rules.ts +0 -94
  413. package/src/prompts/shared/language-rules.ts +0 -36
  414. package/src/prompts/shared/tool-usage.ts +0 -72
  415. package/src/prompts/system/compact.ts +0 -80
  416. package/src/prompts/system/plan-execute.ts +0 -89
  417. package/src/tools/browser/browser-client.ts +0 -1363
  418. package/src/tools/browser/browser-tools.ts +0 -1139
  419. package/src/tools/browser/index.ts +0 -65
  420. package/src/tools/index.ts +0 -23
  421. package/src/tools/llm/agents/docs-search-tools.ts +0 -368
  422. package/src/tools/llm/agents/index.ts +0 -22
  423. package/src/tools/llm/index.ts +0 -11
  424. package/src/tools/llm/simple/ask-user-tool.ts +0 -25
  425. package/src/tools/llm/simple/background-bash-tool.ts +0 -443
  426. package/src/tools/llm/simple/background-powershell-tool.ts +0 -421
  427. package/src/tools/llm/simple/bash-tool.ts +0 -238
  428. package/src/tools/llm/simple/docs-search-agent-tool.ts +0 -146
  429. package/src/tools/llm/simple/file-tools.ts +0 -1051
  430. package/src/tools/llm/simple/final-response-tool.ts +0 -180
  431. package/src/tools/llm/simple/index.ts +0 -42
  432. package/src/tools/llm/simple/planning-tools.ts +0 -143
  433. package/src/tools/llm/simple/powershell-tool.ts +0 -241
  434. package/src/tools/llm/simple/simple-tool-executor.ts +0 -279
  435. package/src/tools/llm/simple/todo-tools.ts +0 -207
  436. package/src/tools/llm/simple/user-interaction-tools.ts +0 -277
  437. package/src/tools/office/common/constants.ts +0 -335
  438. package/src/tools/office/common/index.ts +0 -133
  439. package/src/tools/office/common/types.ts +0 -286
  440. package/src/tools/office/common/utils.ts +0 -116
  441. package/src/tools/office/excel-client.ts +0 -1336
  442. package/src/tools/office/excel-tools/cells.ts +0 -359
  443. package/src/tools/office/excel-tools/charts.ts +0 -166
  444. package/src/tools/office/excel-tools/comments.ts +0 -155
  445. package/src/tools/office/excel-tools/data-ops.ts +0 -349
  446. package/src/tools/office/excel-tools/export.ts +0 -105
  447. package/src/tools/office/excel-tools/formatting.ts +0 -357
  448. package/src/tools/office/excel-tools/index.ts +0 -55
  449. package/src/tools/office/excel-tools/launch.ts +0 -303
  450. package/src/tools/office/excel-tools/media.ts +0 -117
  451. package/src/tools/office/excel-tools/named-ranges.ts +0 -148
  452. package/src/tools/office/excel-tools/protection.ts +0 -105
  453. package/src/tools/office/excel-tools/rows-columns.ts +0 -386
  454. package/src/tools/office/excel-tools/sheets.ts +0 -228
  455. package/src/tools/office/excel-tools/validation.ts +0 -226
  456. package/src/tools/office/excel-tools.ts +0 -9
  457. package/src/tools/office/index.ts +0 -259
  458. package/src/tools/office/office-client-base.ts +0 -242
  459. package/src/tools/office/office-client.ts +0 -377
  460. package/src/tools/office/powerpoint-client.ts +0 -1498
  461. package/src/tools/office/powerpoint-tools/effects.ts +0 -315
  462. package/src/tools/office/powerpoint-tools/export.ts +0 -138
  463. package/src/tools/office/powerpoint-tools/index.ts +0 -45
  464. package/src/tools/office/powerpoint-tools/launch.ts +0 -263
  465. package/src/tools/office/powerpoint-tools/media.ts +0 -291
  466. package/src/tools/office/powerpoint-tools/notes.ts +0 -220
  467. package/src/tools/office/powerpoint-tools/sections.ts +0 -140
  468. package/src/tools/office/powerpoint-tools/shapes.ts +0 -870
  469. package/src/tools/office/powerpoint-tools/slides.ts +0 -350
  470. package/src/tools/office/powerpoint-tools/tables.ts +0 -182
  471. package/src/tools/office/powerpoint-tools/text.ts +0 -473
  472. package/src/tools/office/powerpoint-tools.ts +0 -9
  473. package/src/tools/office/word-client.ts +0 -1697
  474. package/src/tools/office/word-tools/bookmarks.ts +0 -186
  475. package/src/tools/office/word-tools/comments.ts +0 -185
  476. package/src/tools/office/word-tools/content.ts +0 -229
  477. package/src/tools/office/word-tools/export.ts +0 -97
  478. package/src/tools/office/word-tools/formatting.ts +0 -161
  479. package/src/tools/office/word-tools/headers-footers.ts +0 -155
  480. package/src/tools/office/word-tools/index.ts +0 -57
  481. package/src/tools/office/word-tools/launch.ts +0 -312
  482. package/src/tools/office/word-tools/lists.ts +0 -97
  483. package/src/tools/office/word-tools/navigation.ts +0 -114
  484. package/src/tools/office/word-tools/page-setup.ts +0 -195
  485. package/src/tools/office/word-tools/tables.ts +0 -262
  486. package/src/tools/office/word-tools/text.ts +0 -294
  487. package/src/tools/office/word-tools/undo-redo.ts +0 -97
  488. package/src/tools/office/word-tools/watermarks.ts +0 -105
  489. package/src/tools/office/word-tools.ts +0 -9
  490. package/src/tools/registry.ts +0 -527
  491. package/src/tools/types.ts +0 -231
  492. package/src/types/index.ts +0 -181
  493. package/src/ui/PlanExecuteView.tsx +0 -119
  494. package/src/ui/TodoPanel.tsx +0 -240
  495. package/src/ui/UpdateNotification.tsx +0 -105
  496. package/src/ui/components/ActivityIndicator.tsx +0 -234
  497. package/src/ui/components/CommandBrowser.tsx +0 -114
  498. package/src/ui/components/CustomTextInput.tsx +0 -389
  499. package/src/ui/components/DocsSearchProgress.tsx +0 -85
  500. package/src/ui/components/FileBrowser.tsx +0 -93
  501. package/src/ui/components/LLMSetupWizard.tsx +0 -333
  502. package/src/ui/components/Logo.tsx +0 -125
  503. package/src/ui/components/MarkdownRenderer.tsx +0 -358
  504. package/src/ui/components/ModelSelector.tsx +0 -203
  505. package/src/ui/components/PlanExecuteApp.tsx +0 -2007
  506. package/src/ui/components/ProgressBar.tsx +0 -51
  507. package/src/ui/components/StatusBar.tsx +0 -302
  508. package/src/ui/components/ThinkingIndicator.tsx +0 -120
  509. package/src/ui/components/TodoListView.tsx +0 -140
  510. package/src/ui/components/ToolSelector.tsx +0 -215
  511. package/src/ui/components/dialogs/ApprovalDialog.tsx +0 -259
  512. package/src/ui/components/dialogs/AskUserDialog.tsx +0 -159
  513. package/src/ui/components/dialogs/DocsBrowser.tsx +0 -222
  514. package/src/ui/components/dialogs/SettingsDialog.tsx +0 -939
  515. package/src/ui/components/dialogs/index.ts +0 -13
  516. package/src/ui/components/index.ts +0 -27
  517. package/src/ui/components/panels/LogPanel.tsx +0 -385
  518. package/src/ui/components/panels/SessionPanel.tsx +0 -146
  519. package/src/ui/components/panels/index.ts +0 -13
  520. package/src/ui/components/views/ChatView.tsx +0 -447
  521. package/src/ui/components/views/index.ts +0 -5
  522. package/src/ui/contexts/TokenContext.tsx +0 -139
  523. package/src/ui/hooks/atFileProcessor.ts +0 -167
  524. package/src/ui/hooks/index.ts +0 -11
  525. package/src/ui/hooks/slashCommandProcessor.ts +0 -174
  526. package/src/ui/hooks/useCommandBrowserState.ts +0 -97
  527. package/src/ui/hooks/useFileBrowserState.ts +0 -116
  528. package/src/ui/hooks/useFileList.ts +0 -132
  529. package/src/ui/hooks/useInputHistory.ts +0 -89
  530. package/src/ui/hooks/usePlanExecution.ts +0 -339
  531. package/src/ui/index.ts +0 -10
  532. package/src/ui/ink-entry.tsx +0 -36
  533. package/src/utils/env-filter.ts +0 -164
  534. package/src/utils/file-system.ts +0 -133
  535. package/src/utils/git-utils.ts +0 -30
  536. package/src/utils/json-stream-logger.ts +0 -1259
  537. package/src/utils/logger.ts +0 -2767
  538. package/src/utils/platform-utils.ts +0 -256
  539. package/src/utils/wsl-utils.ts +0 -113
  540. package/tsconfig.electron.json +0 -39
  541. 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;