orquesta-cli 0.1.12 → 0.1.14

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