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,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;