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