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,527 +0,0 @@
1
- /**
2
- * Tool Registry
3
- *
4
- * Central tool registration system
5
- * Register and manage all tools by category
6
- *
7
- * Features:
8
- * - Multi-category registration (one tool can be registered in multiple categories)
9
- * - Type-safe tool retrieval
10
- * - LLM tool definitions export
11
- * - Optional tools with enable/disable support
12
- * - Persistent tool state across sessions
13
- */
14
-
15
- import { ToolDefinition } from '../types/index.js';
16
- import {
17
- AnyTool,
18
- ToolCategory,
19
- LLMSimpleTool,
20
- LLMAgentTool,
21
- isLLMSimpleTool,
22
- isLLMAgentTool,
23
- } from './types.js';
24
- import { configManager } from '../core/config/config-manager.js';
25
- import { logger } from '../utils/logger.js';
26
-
27
- // Import platform utilities
28
- import { hasWindowsAccess } from '../utils/platform-utils.js';
29
-
30
- // Import active tools
31
- import { FILE_TOOLS, SYSTEM_TOOLS } from './llm/simple/file-tools.js';
32
- import { USER_INTERACTION_TOOLS } from './llm/simple/user-interaction-tools.js';
33
- import { TODO_TOOLS } from './llm/simple/todo-tools.js';
34
- import { PLANNING_TOOLS } from './llm/simple/planning-tools.js';
35
- import { FinalResponseTool } from './llm/simple/final-response-tool.js';
36
- // DISABLED: docs-search feature temporarily disabled
37
- // import { docsSearchAgentTool } from './llm/simple/docs-search-agent-tool.js';
38
- // import { LLM_AGENT_TOOLS } from './llm/agents/index.js';
39
- import { getShellTools } from './llm/simple/index.js';
40
-
41
- // Import optional tools
42
- import { BROWSER_TOOLS, startBrowserServer, shutdownBrowserServer } from './browser/index.js';
43
- import { WORD_TOOLS, EXCEL_TOOLS, POWERPOINT_TOOLS } from './office/index.js';
44
-
45
- /**
46
- * Enable result with optional error message
47
- */
48
- export interface EnableResult {
49
- success: boolean;
50
- error?: string;
51
- }
52
-
53
- /**
54
- * Optional tool group definition
55
- */
56
- export interface OptionalToolGroup {
57
- id: string;
58
- name: string;
59
- description: string;
60
- tools: LLMSimpleTool[];
61
- enabled: boolean;
62
- onEnable?: () => Promise<EnableResult>; // Validation callback when enabling
63
- onDisable?: () => Promise<void>; // Cleanup callback when disabled
64
- }
65
-
66
- /**
67
- * Validation: Check if browser tools are available
68
- * CDP approach doesn't require separate server
69
- */
70
- async function validateBrowserTools(): Promise<EnableResult> {
71
- // CDP approach doesn't need server.exe
72
- // Available if browser (Chrome/Edge) is installed
73
- // Actual browser availability is verified at launch
74
- try {
75
- // startBrowserServer always returns true in CDP approach
76
- await startBrowserServer();
77
- return { success: true };
78
- } catch (error) {
79
- return {
80
- success: false,
81
- error: `Failed to enable browser tools: ${error instanceof Error ? error.message : String(error)}`,
82
- };
83
- }
84
- }
85
-
86
- /**
87
- * Available optional tool groups
88
- * Note: Browser tools require Chrome to be installed, so they are optional
89
- * Note: Office tools require Windows + Microsoft Office (PowerShell COM automation)
90
- *
91
- * Office tools are only available on Native Windows and WSL (where Windows access is possible)
92
- */
93
- function getOptionalToolGroupsConfig(): OptionalToolGroup[] {
94
- const groups: OptionalToolGroup[] = [
95
- {
96
- id: 'browser',
97
- name: 'Browser Automation',
98
- description: 'Control Chrome/Edge browser for web testing (navigate, click, screenshot, etc.)',
99
- tools: BROWSER_TOOLS,
100
- enabled: false,
101
- onEnable: validateBrowserTools,
102
- onDisable: shutdownBrowserServer,
103
- },
104
- ];
105
-
106
- // Office tools only available with Windows access
107
- if (hasWindowsAccess()) {
108
- groups.push(
109
- {
110
- id: 'word',
111
- name: 'Microsoft Word',
112
- description: 'Control Word for document editing (write, read, save, export PDF, header/footer)',
113
- tools: WORD_TOOLS,
114
- enabled: false,
115
- },
116
- {
117
- id: 'excel',
118
- name: 'Microsoft Excel',
119
- description: 'Control Excel for spreadsheet editing (cells, ranges, formulas, charts)',
120
- tools: EXCEL_TOOLS,
121
- enabled: false,
122
- },
123
- {
124
- id: 'powerpoint',
125
- name: 'Microsoft PowerPoint',
126
- description: 'Control PowerPoint for presentations (slides, shapes, transitions, PDF export)',
127
- tools: POWERPOINT_TOOLS,
128
- enabled: false,
129
- }
130
- );
131
- }
132
-
133
- return groups;
134
- }
135
-
136
- export const OPTIONAL_TOOL_GROUPS: OptionalToolGroup[] = getOptionalToolGroupsConfig();
137
-
138
- /**
139
- * Tool Registry class
140
- */
141
- class ToolRegistry {
142
- private tools: Map<string, AnyTool> = new Map();
143
- private categoryIndex: Map<ToolCategory, Set<string>> = new Map();
144
- private optionalToolGroups: Map<string, OptionalToolGroup> = new Map();
145
- private enabledOptionalTools: Set<string> = new Set();
146
-
147
- constructor() {
148
- // Initialize category index for active categories
149
- const categories: ToolCategory[] = [
150
- 'llm-simple',
151
- 'llm-agent',
152
- 'llm-planning',
153
- ];
154
- for (const category of categories) {
155
- this.categoryIndex.set(category, new Set());
156
- }
157
-
158
- // Initialize optional tool groups
159
- for (const group of OPTIONAL_TOOL_GROUPS) {
160
- this.optionalToolGroups.set(group.id, { ...group });
161
- }
162
- }
163
-
164
- /**
165
- * Register a tool
166
- */
167
- register(tool: AnyTool): void {
168
- // Get tool name
169
- let name: string;
170
- if ('definition' in tool) {
171
- name = tool.definition.function.name;
172
- } else if ('name' in tool) {
173
- name = tool.name;
174
- } else {
175
- throw new Error('Tool must have a name or definition');
176
- }
177
-
178
- // Store tool
179
- this.tools.set(name, tool);
180
-
181
- // Index by categories
182
- if ('categories' in tool) {
183
- for (const category of tool.categories) {
184
- this.categoryIndex.get(category)?.add(name);
185
- }
186
- }
187
- }
188
-
189
- /**
190
- * Register multiple tools
191
- */
192
- registerAll(tools: AnyTool[]): void {
193
- for (const tool of tools) {
194
- this.register(tool);
195
- }
196
- }
197
-
198
- /**
199
- * Get tool by name
200
- */
201
- get(name: string): AnyTool | undefined {
202
- return this.tools.get(name);
203
- }
204
-
205
- /**
206
- * Check if a tool is registered
207
- */
208
- has(name: string): boolean {
209
- return this.tools.has(name);
210
- }
211
-
212
- /**
213
- * Get all tools in a category
214
- */
215
- getByCategory(category: ToolCategory): AnyTool[] {
216
- const names = this.categoryIndex.get(category) || new Set();
217
- return Array.from(names)
218
- .map((name) => this.tools.get(name))
219
- .filter((tool): tool is AnyTool => tool !== undefined);
220
- }
221
-
222
- /**
223
- * Get all LLM Simple tools
224
- */
225
- getLLMSimpleTools(): LLMSimpleTool[] {
226
- return this.getByCategory('llm-simple').filter(isLLMSimpleTool);
227
- }
228
-
229
- /**
230
- * Get all LLM Agent tools
231
- */
232
- getLLMAgentTools(): LLMAgentTool[] {
233
- return this.getByCategory('llm-agent').filter(isLLMAgentTool);
234
- }
235
-
236
- /**
237
- * Get all LLM Planning tools
238
- */
239
- getLLMPlanningTools(): LLMSimpleTool[] {
240
- return this.getByCategory('llm-planning').filter(isLLMSimpleTool);
241
- }
242
-
243
- /**
244
- * Get LLM Planning tool definitions (for Planning LLM)
245
- */
246
- getLLMPlanningToolDefinitions(): ToolDefinition[] {
247
- return this.getLLMPlanningTools().map((tool) => tool.definition);
248
- }
249
-
250
- /**
251
- * Get all LLM tool definitions (for chatCompletion)
252
- * Includes both LLM Simple and LLM Agent tools (excludes Planning tools)
253
- * Note: Enabled optional tools are already included via enableToolGroup() registration
254
- */
255
- getLLMToolDefinitions(): ToolDefinition[] {
256
- const llmTools = [
257
- ...this.getLLMSimpleTools(),
258
- ...this.getLLMAgentTools(),
259
- ];
260
-
261
- return llmTools.map((tool) => tool.definition);
262
- }
263
-
264
- /**
265
- * Enable an optional tool group
266
- * @param persist - If true, saves state to config (default: true)
267
- * @param skipValidation - If true, skip onEnable validation (for restoring from config)
268
- * @returns EnableResult with success status and optional error message
269
- */
270
- async enableToolGroup(groupId: string, persist: boolean = true, skipValidation: boolean = false): Promise<EnableResult> {
271
- logger.enter('enableToolGroup', { groupId, persist, skipValidation });
272
- const group = this.optionalToolGroups.get(groupId);
273
- if (!group) {
274
- logger.error('Tool group not found', { groupId });
275
- return { success: false, error: `Tool group '${groupId}' not found` };
276
- }
277
-
278
- // Run validation if onEnable callback exists (unless skipped)
279
- if (!skipValidation && group.onEnable) {
280
- const result = await group.onEnable();
281
- if (!result.success) {
282
- return result;
283
- }
284
- }
285
-
286
- group.enabled = true;
287
-
288
- // Register tools to the main registry
289
- for (const tool of group.tools) {
290
- this.register(tool);
291
- this.enabledOptionalTools.add(tool.definition.function.name);
292
- }
293
-
294
- // Persist state to config
295
- if (persist) {
296
- configManager.enableTool(groupId).catch(() => {
297
- // Ignore errors if config not initialized
298
- });
299
- }
300
-
301
- logger.info(`Tool group enabled: ${groupId}`, { toolCount: group.tools.length });
302
- logger.exit('enableToolGroup', { success: true });
303
- return { success: true };
304
- }
305
-
306
- /**
307
- * Disable an optional tool group
308
- * @param persist - If true, saves state to config (default: true)
309
- */
310
- async disableToolGroup(groupId: string, persist: boolean = true): Promise<boolean> {
311
- logger.enter('disableToolGroup', { groupId, persist });
312
- const group = this.optionalToolGroups.get(groupId);
313
- if (!group) {
314
- logger.warn('Tool group not found for disable', { groupId });
315
- return false;
316
- }
317
-
318
- group.enabled = false;
319
-
320
- // Remove tools from the main registry
321
- for (const tool of group.tools) {
322
- const toolName = tool.definition.function.name;
323
- this.tools.delete(toolName);
324
- this.enabledOptionalTools.delete(toolName);
325
-
326
- // Remove from category index
327
- for (const category of tool.categories) {
328
- this.categoryIndex.get(category)?.delete(toolName);
329
- }
330
- }
331
-
332
- // Call onDisable callback (e.g., shutdown Office server)
333
- if (group.onDisable) {
334
- try {
335
- await group.onDisable();
336
- } catch {
337
- // Ignore cleanup errors
338
- }
339
- }
340
-
341
- // Persist state to config
342
- if (persist) {
343
- configManager.disableTool(groupId).catch(() => {
344
- // Ignore errors if config not initialized
345
- });
346
- }
347
-
348
- logger.info(`Tool group disabled: ${groupId}`);
349
- logger.exit('disableToolGroup', { success: true });
350
- return true;
351
- }
352
-
353
- /**
354
- * Toggle an optional tool group
355
- * @returns EnableResult with success status and optional error message
356
- */
357
- async toggleToolGroup(groupId: string): Promise<EnableResult> {
358
- const group = this.optionalToolGroups.get(groupId);
359
- if (!group) {
360
- return { success: false, error: `Tool group '${groupId}' not found` };
361
- }
362
-
363
- if (group.enabled) {
364
- const success = await this.disableToolGroup(groupId);
365
- return { success };
366
- } else {
367
- return await this.enableToolGroup(groupId);
368
- }
369
- }
370
-
371
- /**
372
- * Get all optional tool groups with their current state
373
- */
374
- getOptionalToolGroups(): OptionalToolGroup[] {
375
- return Array.from(this.optionalToolGroups.values());
376
- }
377
-
378
- /**
379
- * Check if an optional tool group is enabled
380
- */
381
- isToolGroupEnabled(groupId: string): boolean {
382
- return this.optionalToolGroups.get(groupId)?.enabled ?? false;
383
- }
384
-
385
- /**
386
- * Get IDs of all enabled optional tool groups
387
- */
388
- getEnabledToolGroupIds(): string[] {
389
- return Array.from(this.optionalToolGroups.values())
390
- .filter(g => g.enabled)
391
- .map(g => g.id);
392
- }
393
-
394
- /**
395
- * Get tool count statistics
396
- */
397
- getStats(): { total: number; core: number; optional: number; categories: Record<string, number> } {
398
- const stats: Record<string, number> = {};
399
- for (const [category, names] of this.categoryIndex) {
400
- stats[category] = names.size;
401
- }
402
-
403
- const coreCount = FILE_TOOLS.length + USER_INTERACTION_TOOLS.length + TODO_TOOLS.length + SYSTEM_TOOLS.length + 2; // +2 for final_response and docs_search
404
- const optionalCount = this.enabledOptionalTools.size;
405
-
406
- return {
407
- total: this.tools.size,
408
- core: coreCount,
409
- optional: optionalCount,
410
- categories: stats,
411
- };
412
- }
413
-
414
- /**
415
- * List all registered tool names
416
- */
417
- listAll(): string[] {
418
- return Array.from(this.tools.keys());
419
- }
420
-
421
- /**
422
- * Get tool summary for planning prompt
423
- * Returns formatted string with tool names and descriptions
424
- * Includes: always-on tools + enabled optional tools
425
- */
426
- getToolSummaryForPlanning(): string {
427
- const lines: string[] = [];
428
-
429
- // Get all LLM Simple tools (always-on)
430
- const simpleTools = this.getLLMSimpleTools();
431
-
432
- for (const tool of simpleTools) {
433
- const name = tool.definition.function.name;
434
- const desc = tool.definition.function.description?.split('\n')[0] || '';
435
- // Truncate long descriptions
436
- const shortDesc = desc.length > 80 ? desc.slice(0, 77) + '...' : desc;
437
- lines.push(`- \`${name}\`: ${shortDesc}`);
438
- }
439
-
440
- return lines.join('\n');
441
- }
442
-
443
- /**
444
- * Get enabled optional tools info for planning prompt
445
- */
446
- getEnabledOptionalToolsInfo(): string {
447
- const enabledGroups = Array.from(this.optionalToolGroups.values())
448
- .filter(g => g.enabled);
449
-
450
- if (enabledGroups.length === 0) {
451
- return '';
452
- }
453
-
454
- const lines: string[] = ['', '**Currently enabled optional tools:**'];
455
- for (const group of enabledGroups) {
456
- lines.push(`- **${group.name}**: ${group.description}`);
457
- }
458
- return lines.join('\n');
459
- }
460
- }
461
-
462
- /**
463
- * Global tool registry instance
464
- */
465
- export const toolRegistry = new ToolRegistry();
466
-
467
- /**
468
- * Initialize registry with all built-in tools
469
- */
470
- export function initializeToolRegistry(): void {
471
- // LLM Simple Tools - File operations (read, create, edit, list, find)
472
- toolRegistry.registerAll(FILE_TOOLS);
473
-
474
- // LLM Simple Tools - User interaction (tell_to_user, ask_to_user)
475
- toolRegistry.registerAll(USER_INTERACTION_TOOLS);
476
-
477
- // LLM Simple Tools - System utilities (bash on WSL/Linux, or powershell on Native Windows)
478
- toolRegistry.registerAll(SYSTEM_TOOLS);
479
-
480
- // LLM Simple Tools - Shell tools (platform-specific)
481
- // Native Windows: powershell + powershell_background_*
482
- // WSL/Linux: bash + bash_background_*
483
- const shellTools = getShellTools();
484
- toolRegistry.registerAll(shellTools);
485
-
486
- // LLM Simple Tools - TODO management
487
- toolRegistry.registerAll(TODO_TOOLS);
488
-
489
- // LLM Simple Tools - Final response (required for completing tasks)
490
- toolRegistry.register(FinalResponseTool);
491
-
492
- // LLM Planning Tools - create_todos (for task planning)
493
- toolRegistry.registerAll(PLANNING_TOOLS);
494
-
495
- // LLM Simple Tools - Docs Search Agent (callable by main LLM)
496
- // DISABLED: docs-search feature temporarily disabled
497
- // toolRegistry.register(docsSearchAgentTool);
498
-
499
- // LLM Agent Tools (docs-search internal tools)
500
- // DISABLED: docs-search feature temporarily disabled
501
- // toolRegistry.registerAll(LLM_AGENT_TOOLS);
502
-
503
- // Note: Optional tools (Browser, Word, Excel, PowerPoint) are registered via /tool command
504
- // Office tools only available when hasWindowsAccess() is true
505
- }
506
-
507
- /**
508
- * Initialize optional tool groups from saved config
509
- * Call this AFTER configManager.initialize() is complete
510
- */
511
- export async function initializeOptionalTools(): Promise<void> {
512
- try {
513
- const enabledToolIds = configManager.getEnabledTools();
514
- for (const toolId of enabledToolIds) {
515
- // Skip validation when restoring from config
516
- // persist=false to avoid re-saving, skipValidation=true for fast startup
517
- await toolRegistry.enableToolGroup(toolId, false, true);
518
- }
519
- } catch {
520
- // Config not initialized yet, skip loading saved state
521
- }
522
- }
523
-
524
- // Auto-initialize on import
525
- initializeToolRegistry();
526
-
527
- export default toolRegistry;