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,421 +0,0 @@
1
- /**
2
- * Background PowerShell Tool (Native Windows Only)
3
- *
4
- * Tool for running and managing PowerShell processes in the background
5
- * Useful for long-running commands like npm run dev, npm start, etc.
6
- */
7
-
8
- import { spawn, ChildProcess } from 'child_process';
9
- import { ToolDefinition } from '../../../types/index.js';
10
- import { LLMSimpleTool, ToolResult, ToolCategory } from '../../types.js';
11
- import { logger } from '../../../utils/logger.js';
12
- import { isNativeWindows, findNativePowerShellPath } from '../../../utils/platform-utils.js';
13
- import { filterSafeEnv } from '../../../utils/env-filter.js';
14
- import { configManager } from '../../../core/config/config-manager.js';
15
-
16
- /**
17
- * Background process info
18
- */
19
- interface BackgroundProcess {
20
- id: string;
21
- command: string;
22
- process: ChildProcess;
23
- startedAt: Date;
24
- cwd: string;
25
- output: string[];
26
- maxOutputLines: number;
27
- }
28
-
29
- /**
30
- * Background PowerShell Process Manager
31
- */
32
- class BackgroundPowerShellProcessManager {
33
- private processes: Map<string, BackgroundProcess> = new Map();
34
- private nextId = 1;
35
-
36
- /**
37
- * Start a background process
38
- */
39
- start(command: string, cwd?: string, explicitEnv?: Record<string, string>): { id: string; pid: number } {
40
- const id = `ps-bg-${this.nextId++}`;
41
- const workingDir = cwd || process.cwd();
42
-
43
- const psPath = findNativePowerShellPath();
44
-
45
- // Get user-configured safe env vars
46
- const userSafeVars = configManager.getSafeEnvVars();
47
-
48
- const child = spawn(psPath, ['-NoProfile', '-Command', command], {
49
- cwd: workingDir,
50
- env: filterSafeEnv(process.env, userSafeVars, explicitEnv || {}), // Merge: filtered process.env + user config + explicit vars
51
- detached: false,
52
- stdio: ['ignore', 'pipe', 'pipe'],
53
- });
54
-
55
- const bgProcess: BackgroundProcess = {
56
- id,
57
- command,
58
- process: child,
59
- startedAt: new Date(),
60
- cwd: workingDir,
61
- output: [],
62
- maxOutputLines: 100,
63
- };
64
-
65
- // Capture output
66
- child.stdout?.on('data', (data) => {
67
- const lines = data.toString().split('\n').filter((l: string) => l.trim());
68
- bgProcess.output.push(...lines);
69
- // Keep only last N lines
70
- if (bgProcess.output.length > bgProcess.maxOutputLines) {
71
- bgProcess.output = bgProcess.output.slice(-bgProcess.maxOutputLines);
72
- }
73
- });
74
-
75
- child.stderr?.on('data', (data) => {
76
- const lines = data.toString().split('\n').filter((l: string) => l.trim());
77
- bgProcess.output.push(...lines.map((l: string) => `[stderr] ${l}`));
78
- if (bgProcess.output.length > bgProcess.maxOutputLines) {
79
- bgProcess.output = bgProcess.output.slice(-bgProcess.maxOutputLines);
80
- }
81
- });
82
-
83
- child.on('close', (code) => {
84
- bgProcess.output.push(`[Process exited with code ${code}]`);
85
- });
86
-
87
- child.on('error', (error) => {
88
- bgProcess.output.push(`[Error: ${error.message}]`);
89
- });
90
-
91
- this.processes.set(id, bgProcess);
92
-
93
- return { id, pid: child.pid || 0 };
94
- }
95
-
96
- /**
97
- * Kill a background process
98
- */
99
- kill(id: string): boolean {
100
- const bgProcess = this.processes.get(id);
101
- if (!bgProcess) {
102
- return false;
103
- }
104
-
105
- try {
106
- bgProcess.process.kill('SIGTERM');
107
- // Give it a moment, then force kill if needed
108
- setTimeout(() => {
109
- if (!bgProcess.process.killed) {
110
- bgProcess.process.kill('SIGKILL');
111
- }
112
- }, 2000);
113
- this.processes.delete(id);
114
- return true;
115
- } catch {
116
- return false;
117
- }
118
- }
119
-
120
- /**
121
- * Get process status
122
- */
123
- getStatus(id: string): { running: boolean; output: string[] } | null {
124
- const bgProcess = this.processes.get(id);
125
- if (!bgProcess) {
126
- return null;
127
- }
128
-
129
- return {
130
- running: !bgProcess.process.killed && bgProcess.process.exitCode === null,
131
- output: bgProcess.output.slice(-20), // Last 20 lines
132
- };
133
- }
134
-
135
- /**
136
- * List all processes
137
- */
138
- list(): Array<{
139
- id: string;
140
- command: string;
141
- pid: number;
142
- running: boolean;
143
- startedAt: Date;
144
- cwd: string;
145
- }> {
146
- return Array.from(this.processes.values()).map(p => ({
147
- id: p.id,
148
- command: p.command,
149
- pid: p.process.pid || 0,
150
- running: !p.process.killed && p.process.exitCode === null,
151
- startedAt: p.startedAt,
152
- cwd: p.cwd,
153
- }));
154
- }
155
-
156
- /**
157
- * Kill all processes
158
- */
159
- killAll(): number {
160
- let killed = 0;
161
- for (const [id] of this.processes) {
162
- if (this.kill(id)) {
163
- killed++;
164
- }
165
- }
166
- return killed;
167
- }
168
- }
169
-
170
- // Global instance
171
- export const backgroundPowerShellProcessManager = new BackgroundPowerShellProcessManager();
172
-
173
- /**
174
- * powershell_background Tool Definition
175
- */
176
- const POWERSHELL_BACKGROUND_DEFINITION: ToolDefinition = {
177
- type: 'function',
178
- function: {
179
- name: 'powershell_background',
180
- description: `Start a PowerShell command in the background on Windows. Use this for long-running processes like:
181
- - npm run dev (development server)
182
- - npm start (application server)
183
- - python -m http.server (simple HTTP server)
184
- - docker-compose up
185
-
186
- The command will continue running after this tool returns.
187
- Use powershell_background_status to check output, or powershell_background_kill to stop it.`,
188
- parameters: {
189
- type: 'object',
190
- properties: {
191
- reason: {
192
- type: 'string',
193
- description: 'Explanation of why you are running this in background',
194
- },
195
- command: {
196
- type: 'string',
197
- description: 'The PowerShell command to run in background',
198
- },
199
- cwd: {
200
- type: 'string',
201
- description: 'Working directory (optional)',
202
- },
203
- },
204
- required: ['reason', 'command'],
205
- },
206
- },
207
- };
208
-
209
- async function executePowerShellBackground(args: Record<string, unknown>): Promise<ToolResult> {
210
- const command = args['command'] as string;
211
- const cwd = args['cwd'] as string | undefined;
212
-
213
- logger.enter('powershellBackground.execute', { command, cwd });
214
-
215
- // Check platform - should only run on Native Windows
216
- if (!isNativeWindows()) {
217
- return {
218
- success: false,
219
- error: 'powershell_background tool is only available on Native Windows. Use bash_background instead.',
220
- };
221
- }
222
-
223
- try {
224
- const { id, pid } = backgroundPowerShellProcessManager.start(command, cwd);
225
-
226
- // Wait a moment to check if it started successfully
227
- await new Promise(r => setTimeout(r, 1000));
228
-
229
- const status = backgroundPowerShellProcessManager.getStatus(id);
230
- const running = status?.running ?? false;
231
-
232
- if (!running) {
233
- const output = status?.output.join('\n') || '(no output)';
234
- return {
235
- success: false,
236
- error: `Process failed to start or exited immediately.\nOutput:\n${output}`,
237
- };
238
- }
239
-
240
- logger.exit('powershellBackground.execute', { id, pid });
241
-
242
- return {
243
- success: true,
244
- result: `Background process started\nID: ${id}\nPID: ${pid}\nCommand: ${command}\n\nUse powershell_background_status with id="${id}" to check output.\nUse powershell_background_kill with id="${id}" to stop it.`,
245
- };
246
- } catch (error) {
247
- const errorMessage = error instanceof Error ? error.message : String(error);
248
- return {
249
- success: false,
250
- error: `Failed to start background process: ${errorMessage}`,
251
- };
252
- }
253
- }
254
-
255
- export const powershellBackgroundTool: LLMSimpleTool = {
256
- definition: POWERSHELL_BACKGROUND_DEFINITION,
257
- execute: executePowerShellBackground,
258
- categories: ['llm-simple'] as ToolCategory[],
259
- description: 'Run PowerShell command in background',
260
- };
261
-
262
- /**
263
- * powershell_background_status Tool Definition
264
- */
265
- const POWERSHELL_BACKGROUND_STATUS_DEFINITION: ToolDefinition = {
266
- type: 'function',
267
- function: {
268
- name: 'powershell_background_status',
269
- description: `Check the status and recent output of a background PowerShell process.
270
- Use this to see if a server started successfully or to check for errors.`,
271
- parameters: {
272
- type: 'object',
273
- properties: {
274
- reason: {
275
- type: 'string',
276
- description: 'Explanation of why you are checking status',
277
- },
278
- id: {
279
- type: 'string',
280
- description: 'The process ID (e.g., "ps-bg-1") returned by powershell_background',
281
- },
282
- },
283
- required: ['reason', 'id'],
284
- },
285
- },
286
- };
287
-
288
- async function executePowerShellBackgroundStatus(args: Record<string, unknown>): Promise<ToolResult> {
289
- const id = args['id'] as string;
290
-
291
- // Check platform
292
- if (!isNativeWindows()) {
293
- return {
294
- success: false,
295
- error: 'powershell_background_status tool is only available on Native Windows.',
296
- };
297
- }
298
-
299
- const status = backgroundPowerShellProcessManager.getStatus(id);
300
-
301
- if (!status) {
302
- // Check if it's a list request
303
- if (!id || id === 'list') {
304
- const processes = backgroundPowerShellProcessManager.list();
305
- if (processes.length === 0) {
306
- return {
307
- success: true,
308
- result: 'No background PowerShell processes running.',
309
- };
310
- }
311
-
312
- const list = processes.map(p => {
313
- const status = p.running ? 'running' : 'stopped';
314
- return `- ${p.id}: ${p.command} (PID: ${p.pid}, ${status})`;
315
- }).join('\n');
316
-
317
- return {
318
- success: true,
319
- result: `Background PowerShell processes:\n${list}`,
320
- };
321
- }
322
-
323
- return {
324
- success: false,
325
- error: `No background process found with ID: ${id}`,
326
- };
327
- }
328
-
329
- const statusStr = status.running ? 'Running' : 'Stopped';
330
- const output = status.output.length > 0
331
- ? status.output.join('\n')
332
- : '(no output yet)';
333
-
334
- return {
335
- success: true,
336
- result: `Process ${id}:\nStatus: ${statusStr}\n\nRecent output:\n${output}`,
337
- };
338
- }
339
-
340
- export const powershellBackgroundStatusTool: LLMSimpleTool = {
341
- definition: POWERSHELL_BACKGROUND_STATUS_DEFINITION,
342
- execute: executePowerShellBackgroundStatus,
343
- categories: ['llm-simple'] as ToolCategory[],
344
- description: 'Check background PowerShell process status',
345
- };
346
-
347
- /**
348
- * powershell_background_kill Tool Definition
349
- */
350
- const POWERSHELL_BACKGROUND_KILL_DEFINITION: ToolDefinition = {
351
- type: 'function',
352
- function: {
353
- name: 'powershell_background_kill',
354
- description: `Stop a background PowerShell process.
355
- Use this to stop development servers, watchers, or other long-running processes.`,
356
- parameters: {
357
- type: 'object',
358
- properties: {
359
- reason: {
360
- type: 'string',
361
- description: 'Explanation of why you are killing this process',
362
- },
363
- id: {
364
- type: 'string',
365
- description: 'The process ID (e.g., "ps-bg-1") to kill, or "all" to kill all background processes',
366
- },
367
- },
368
- required: ['reason', 'id'],
369
- },
370
- },
371
- };
372
-
373
- async function executePowerShellBackgroundKill(args: Record<string, unknown>): Promise<ToolResult> {
374
- const id = args['id'] as string;
375
-
376
- // Check platform
377
- if (!isNativeWindows()) {
378
- return {
379
- success: false,
380
- error: 'powershell_background_kill tool is only available on Native Windows.',
381
- };
382
- }
383
-
384
- if (id === 'all') {
385
- const killed = backgroundPowerShellProcessManager.killAll();
386
- return {
387
- success: true,
388
- result: `Killed ${killed} background PowerShell process(es).`,
389
- };
390
- }
391
-
392
- const success = backgroundPowerShellProcessManager.kill(id);
393
-
394
- if (!success) {
395
- return {
396
- success: false,
397
- error: `No background process found with ID: ${id}`,
398
- };
399
- }
400
-
401
- return {
402
- success: true,
403
- result: `Background process ${id} has been killed.`,
404
- };
405
- }
406
-
407
- export const powershellBackgroundKillTool: LLMSimpleTool = {
408
- definition: POWERSHELL_BACKGROUND_KILL_DEFINITION,
409
- execute: executePowerShellBackgroundKill,
410
- categories: ['llm-simple'] as ToolCategory[],
411
- description: 'Kill background PowerShell process',
412
- };
413
-
414
- /**
415
- * All background PowerShell tools
416
- */
417
- export const BACKGROUND_POWERSHELL_TOOLS: LLMSimpleTool[] = [
418
- powershellBackgroundTool,
419
- powershellBackgroundStatusTool,
420
- powershellBackgroundKillTool,
421
- ];
@@ -1,238 +0,0 @@
1
- /**
2
- * Bash Tool (WSL/Linux Only)
3
- *
4
- * Tool that allows LLM to execute bash shell commands
5
- * Only registered in WSL and Native Linux environments
6
- * Native Windows uses powershell tool instead
7
- */
8
-
9
- import { spawn } from 'child_process';
10
- import * as fs from 'fs';
11
- import { ToolDefinition } from '../../../types/index.js';
12
- import { LLMSimpleTool, ToolResult, ToolCategory } from '../../types.js';
13
- import { logger } from '../../../utils/logger.js';
14
- import { isNativeWindows, isDangerousBashCommand } from '../../../utils/platform-utils.js';
15
- import { filterSafeEnv } from '../../../utils/env-filter.js';
16
- import { configManager } from '../../../core/config/config-manager.js';
17
-
18
- /**
19
- * Execute bash command (WSL/Linux only)
20
- */
21
- async function executeBash(
22
- command: string,
23
- cwd?: string,
24
- timeout: number = 30000,
25
- explicitEnv?: Record<string, string>
26
- ): Promise<{ stdout: string; stderr: string; exitCode: number }> {
27
- return new Promise((resolve, reject) => {
28
- // Always use bash on WSL/Linux
29
- const shell = '/bin/bash';
30
- const shellArgs = ['-c', command];
31
-
32
- // Get user-configured safe env vars
33
- const userSafeVars = configManager.getSafeEnvVars();
34
-
35
- const child = spawn(shell, shellArgs, {
36
- cwd: cwd || process.cwd(),
37
- env: filterSafeEnv(process.env, userSafeVars, explicitEnv || {}), // Merge: filtered process.env + user config + explicit vars
38
- });
39
-
40
- let stdout = '';
41
- let stderr = '';
42
- let killed = false;
43
-
44
- child.stdout?.on('data', (data) => {
45
- stdout += data.toString();
46
- });
47
-
48
- child.stderr?.on('data', (data) => {
49
- stderr += data.toString();
50
- });
51
-
52
- child.on('close', (code) => {
53
- if (!killed) {
54
- resolve({
55
- stdout: stdout.trim(),
56
- stderr: stderr.trim(),
57
- exitCode: code ?? 0,
58
- });
59
- }
60
- });
61
-
62
- child.on('error', (error) => {
63
- reject(error);
64
- });
65
-
66
- // Timeout handling
67
- const timer = setTimeout(() => {
68
- killed = true;
69
- child.kill('SIGTERM');
70
- reject(new Error(`Command timed out after ${timeout}ms`));
71
- }, timeout);
72
-
73
- child.on('close', () => {
74
- clearTimeout(timer);
75
- });
76
- });
77
- }
78
-
79
- /**
80
- * Bash Tool Definition
81
- */
82
- const BASH_TOOL_DEFINITION: ToolDefinition = {
83
- type: 'function',
84
- function: {
85
- name: 'bash',
86
- description: `Execute a shell command. Use this to run terminal commands like git, npm, docker, python, etc.
87
-
88
- IMPORTANT:
89
- - Do NOT use for file reading/writing - use read_file, create_file, edit_file instead
90
- - Commands have a 30 second timeout by default
91
- - Dangerous commands (rm -rf /, sudo rm, etc.) are blocked
92
- - Output is truncated if too long`,
93
- parameters: {
94
- type: 'object',
95
- properties: {
96
- reason: {
97
- type: 'string',
98
- description: `A natural, conversational explanation for the user about what you're doing (in user's language).
99
- Write as if you're talking to the user directly.
100
- Examples:
101
- - "Installing project dependencies"
102
- - "Running tests to check the results"
103
- - "Checking git status"
104
- - "Running the build"`,
105
- },
106
- command: {
107
- type: 'string',
108
- description: 'The shell command to execute',
109
- },
110
- cwd: {
111
- type: 'string',
112
- description: 'Working directory for the command (optional, defaults to current directory)',
113
- },
114
- timeout: {
115
- type: 'number',
116
- description: 'Timeout in milliseconds (optional, default: 30000)',
117
- },
118
- env: {
119
- type: 'object',
120
- description: 'Environment variables to set for this command (optional). These will be merged with safe system env vars.',
121
- additionalProperties: {
122
- type: 'string',
123
- },
124
- },
125
- },
126
- required: ['reason', 'command'],
127
- },
128
- },
129
- };
130
-
131
- /**
132
- * Bash Tool (LLM Simple)
133
- */
134
- export const bashTool: LLMSimpleTool = {
135
- definition: BASH_TOOL_DEFINITION,
136
- categories: ['llm-simple'] as ToolCategory[],
137
-
138
- async execute(args: Record<string, unknown>): Promise<ToolResult> {
139
- const command = args['command'] as string;
140
- const cwd = args['cwd'] as string | undefined;
141
- const timeout = (args['timeout'] as number) || 30000;
142
- const env = args['env'] as Record<string, string> | undefined;
143
-
144
- logger.enter('bashTool.execute', { command, cwd, timeout, envKeys: env ? Object.keys(env) : [] });
145
-
146
- // Check platform - should only run on WSL/Linux
147
- if (isNativeWindows()) {
148
- return {
149
- success: false,
150
- error: 'bash tool is not available on Native Windows. Use powershell instead.',
151
- };
152
- }
153
-
154
- // Validate command
155
- if (!command || typeof command !== 'string') {
156
- return {
157
- success: false,
158
- error: 'command is required and must be a string',
159
- };
160
- }
161
-
162
- // Check for dangerous commands
163
- if (isDangerousBashCommand(command)) {
164
- logger.warn('Dangerous command blocked', { command });
165
- return {
166
- success: false,
167
- error: 'This command is blocked for safety reasons',
168
- };
169
- }
170
-
171
- // Validate cwd exists and is a directory
172
- if (cwd) {
173
- if (!fs.existsSync(cwd)) {
174
- logger.warn('Invalid cwd provided (does not exist)', { cwd });
175
- return {
176
- success: false,
177
- error: `Working directory does not exist: ${cwd}`,
178
- };
179
- }
180
- if (!fs.statSync(cwd).isDirectory()) {
181
- logger.warn('Invalid cwd provided (not a directory)', { cwd });
182
- return {
183
- success: false,
184
- error: `Working directory path is not a directory: ${cwd}`,
185
- };
186
- }
187
- }
188
-
189
- try {
190
- const execResult = await executeBash(command, cwd, timeout, env);
191
-
192
- // Combine output
193
- let output = '';
194
- if (execResult.stdout) {
195
- output += execResult.stdout;
196
- }
197
- if (execResult.stderr) {
198
- output += (output ? '\n\n' : '') + `stderr:\n${execResult.stderr}`;
199
- }
200
-
201
- // Truncate if too long
202
- const MAX_OUTPUT_LENGTH = 50000;
203
- if (output.length > MAX_OUTPUT_LENGTH) {
204
- output = output.slice(0, MAX_OUTPUT_LENGTH) + '\n\n... [output truncated]';
205
- }
206
-
207
- // Add exit code if non-zero
208
- if (execResult.exitCode !== 0) {
209
- output += `\n\n[Exit code: ${execResult.exitCode}]`;
210
- }
211
-
212
- logger.exit('bashTool.execute', { exitCode: execResult.exitCode, outputLength: output.length });
213
-
214
- // Return with error field when command fails
215
- if (execResult.exitCode !== 0) {
216
- return {
217
- success: false,
218
- error: output || '(no output)',
219
- };
220
- }
221
-
222
- return {
223
- success: true,
224
- result: output || '(no output)',
225
- };
226
- } catch (error) {
227
- const errorMessage = error instanceof Error ? error.message : String(error);
228
- logger.error('bashTool.execute failed', error as Error);
229
-
230
- return {
231
- success: false,
232
- error: `Error executing command: ${errorMessage}`,
233
- };
234
- }
235
- },
236
- };
237
-
238
- export default bashTool;