orquesta-cli 0.1.13 → 0.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -4
- package/dist/cli.js +65 -4
- package/dist/core/config/config-manager.d.ts +13 -1
- package/dist/core/config/config-manager.js +83 -0
- package/dist/core/slash-command-handler.d.ts +1 -0
- package/dist/core/slash-command-handler.js +129 -0
- package/dist/orquesta/config-sync.d.ts +73 -0
- package/dist/orquesta/config-sync.js +230 -0
- package/dist/orquesta/prompt-reporter.d.ts +16 -0
- package/dist/orquesta/prompt-reporter.js +85 -0
- package/dist/setup/first-run-setup.d.ts +15 -0
- package/dist/setup/first-run-setup.js +238 -0
- package/dist/types/index.d.ts +11 -2
- package/dist/ui/TodoPanel.d.ts +1 -0
- package/dist/ui/TodoPanel.js +6 -1
- package/dist/ui/components/LLMSetupWizard.js +381 -7
- package/dist/ui/components/Logo.d.ts +2 -0
- package/dist/ui/components/Logo.js +10 -3
- package/dist/ui/components/OpenRouterModelBrowser.d.ts +13 -0
- package/dist/ui/components/OpenRouterModelBrowser.js +221 -0
- package/dist/ui/components/PlanExecuteApp.js +30 -4
- package/dist/ui/components/ProjectSelector.d.ts +8 -0
- package/dist/ui/components/ProjectSelector.js +119 -0
- package/dist/ui/components/StatusBar.d.ts +2 -0
- package/dist/ui/components/StatusBar.js +6 -1
- package/dist/ui/hooks/slashCommandProcessor.js +8 -4
- package/package.json +11 -5
- package/.eslintrc.json +0 -26
- package/.prettierrc.json +0 -10
- package/CLAUDE.md +0 -199
- package/SECURITY.md +0 -290
- package/TEST_LOCAL.md +0 -245
- package/dist/agents/base/base-agent.d.ts.map +0 -1
- package/dist/agents/base/base-agent.js.map +0 -1
- package/dist/agents/docs-search/index.d.ts.map +0 -1
- package/dist/agents/docs-search/index.js.map +0 -1
- package/dist/agents/index.d.ts.map +0 -1
- package/dist/agents/index.js.map +0 -1
- package/dist/agents/planner/index.d.ts.map +0 -1
- package/dist/agents/planner/index.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js.map +0 -1
- package/dist/core/compact/compact-manager.d.ts.map +0 -1
- package/dist/core/compact/compact-manager.js.map +0 -1
- package/dist/core/compact/compact-prompts.d.ts.map +0 -1
- package/dist/core/compact/compact-prompts.js.map +0 -1
- package/dist/core/compact/context-tracker.d.ts.map +0 -1
- package/dist/core/compact/context-tracker.js.map +0 -1
- package/dist/core/compact/index.d.ts.map +0 -1
- package/dist/core/compact/index.js.map +0 -1
- package/dist/core/config/config-manager.d.ts.map +0 -1
- package/dist/core/config/config-manager.js.map +0 -1
- package/dist/core/config/index.d.ts.map +0 -1
- package/dist/core/config/index.js.map +0 -1
- package/dist/core/docs-manager.d.ts.map +0 -1
- package/dist/core/docs-manager.js.map +0 -1
- package/dist/core/git-auto-updater.d.ts +0 -58
- package/dist/core/git-auto-updater.d.ts.map +0 -1
- package/dist/core/git-auto-updater.js +0 -374
- package/dist/core/git-auto-updater.js.map +0 -1
- package/dist/core/llm/index.d.ts.map +0 -1
- package/dist/core/llm/index.js.map +0 -1
- package/dist/core/llm/llm-client.d.ts.map +0 -1
- package/dist/core/llm/llm-client.js.map +0 -1
- package/dist/core/session/index.d.ts.map +0 -1
- package/dist/core/session/index.js.map +0 -1
- package/dist/core/session/session-manager.d.ts.map +0 -1
- package/dist/core/session/session-manager.js.map +0 -1
- package/dist/core/slash-command-handler.d.ts.map +0 -1
- package/dist/core/slash-command-handler.js.map +0 -1
- package/dist/core/usage-tracker.d.ts.map +0 -1
- package/dist/core/usage-tracker.js.map +0 -1
- package/dist/errors/base.d.ts.map +0 -1
- package/dist/errors/base.js.map +0 -1
- package/dist/errors/file.d.ts.map +0 -1
- package/dist/errors/file.js.map +0 -1
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/errors/index.js.map +0 -1
- package/dist/errors/llm.d.ts.map +0 -1
- package/dist/errors/llm.js.map +0 -1
- package/dist/errors/network.d.ts.map +0 -1
- package/dist/errors/network.js.map +0 -1
- package/dist/errors/validation.d.ts.map +0 -1
- package/dist/errors/validation.js.map +0 -1
- package/dist/eval/eval-runner.d.ts.map +0 -1
- package/dist/eval/eval-runner.js.map +0 -1
- package/dist/eval/index.d.ts.map +0 -1
- package/dist/eval/index.js.map +0 -1
- package/dist/eval/types.d.ts.map +0 -1
- package/dist/eval/types.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/orchestration/index.d.ts.map +0 -1
- package/dist/orchestration/index.js.map +0 -1
- package/dist/orchestration/plan-executor.d.ts.map +0 -1
- package/dist/orchestration/plan-executor.js.map +0 -1
- package/dist/orchestration/types.d.ts.map +0 -1
- package/dist/orchestration/types.js.map +0 -1
- package/dist/orchestration/utils.d.ts.map +0 -1
- package/dist/orchestration/utils.js.map +0 -1
- package/dist/orquesta/connection.d.ts.map +0 -1
- package/dist/orquesta/connection.js.map +0 -1
- package/dist/prompts/agents/docs-search-decision.d.ts.map +0 -1
- package/dist/prompts/agents/docs-search-decision.js.map +0 -1
- package/dist/prompts/agents/docs-search.d.ts.map +0 -1
- package/dist/prompts/agents/docs-search.js.map +0 -1
- package/dist/prompts/agents/planning.d.ts.map +0 -1
- package/dist/prompts/agents/planning.js.map +0 -1
- package/dist/prompts/index.d.ts.map +0 -1
- package/dist/prompts/index.js.map +0 -1
- package/dist/prompts/shared/codebase-rules.d.ts.map +0 -1
- package/dist/prompts/shared/codebase-rules.js.map +0 -1
- package/dist/prompts/shared/git-rules.d.ts.map +0 -1
- package/dist/prompts/shared/git-rules.js.map +0 -1
- package/dist/prompts/shared/language-rules.d.ts.map +0 -1
- package/dist/prompts/shared/language-rules.js.map +0 -1
- package/dist/prompts/shared/tool-usage.d.ts.map +0 -1
- package/dist/prompts/shared/tool-usage.js.map +0 -1
- package/dist/prompts/system/compact.d.ts.map +0 -1
- package/dist/prompts/system/compact.js.map +0 -1
- package/dist/prompts/system/plan-execute.d.ts.map +0 -1
- package/dist/prompts/system/plan-execute.js.map +0 -1
- package/dist/tools/browser/browser-client.d.ts.map +0 -1
- package/dist/tools/browser/browser-client.js.map +0 -1
- package/dist/tools/browser/browser-tools.d.ts.map +0 -1
- package/dist/tools/browser/browser-tools.js.map +0 -1
- package/dist/tools/browser/index.d.ts.map +0 -1
- package/dist/tools/browser/index.js.map +0 -1
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/llm/agents/docs-search-tools.d.ts.map +0 -1
- package/dist/tools/llm/agents/docs-search-tools.js.map +0 -1
- package/dist/tools/llm/agents/index.d.ts.map +0 -1
- package/dist/tools/llm/agents/index.js.map +0 -1
- package/dist/tools/llm/index.d.ts.map +0 -1
- package/dist/tools/llm/index.js.map +0 -1
- package/dist/tools/llm/simple/ask-user-tool.d.ts.map +0 -1
- package/dist/tools/llm/simple/ask-user-tool.js.map +0 -1
- package/dist/tools/llm/simple/background-bash-tool.d.ts.map +0 -1
- package/dist/tools/llm/simple/background-bash-tool.js.map +0 -1
- package/dist/tools/llm/simple/background-powershell-tool.d.ts.map +0 -1
- package/dist/tools/llm/simple/background-powershell-tool.js.map +0 -1
- package/dist/tools/llm/simple/bash-tool.d.ts.map +0 -1
- package/dist/tools/llm/simple/bash-tool.js.map +0 -1
- package/dist/tools/llm/simple/docs-search-agent-tool.d.ts.map +0 -1
- package/dist/tools/llm/simple/docs-search-agent-tool.js.map +0 -1
- package/dist/tools/llm/simple/file-tools.d.ts.map +0 -1
- package/dist/tools/llm/simple/file-tools.js.map +0 -1
- package/dist/tools/llm/simple/final-response-tool.d.ts.map +0 -1
- package/dist/tools/llm/simple/final-response-tool.js.map +0 -1
- package/dist/tools/llm/simple/index.d.ts.map +0 -1
- package/dist/tools/llm/simple/index.js.map +0 -1
- package/dist/tools/llm/simple/planning-tools.d.ts.map +0 -1
- package/dist/tools/llm/simple/planning-tools.js.map +0 -1
- package/dist/tools/llm/simple/powershell-tool.d.ts.map +0 -1
- package/dist/tools/llm/simple/powershell-tool.js.map +0 -1
- package/dist/tools/llm/simple/simple-tool-executor.d.ts.map +0 -1
- package/dist/tools/llm/simple/simple-tool-executor.js.map +0 -1
- package/dist/tools/llm/simple/todo-tools.d.ts.map +0 -1
- package/dist/tools/llm/simple/todo-tools.js.map +0 -1
- package/dist/tools/llm/simple/user-interaction-tools.d.ts.map +0 -1
- package/dist/tools/llm/simple/user-interaction-tools.js.map +0 -1
- package/dist/tools/office/common/constants.d.ts.map +0 -1
- package/dist/tools/office/common/constants.js.map +0 -1
- package/dist/tools/office/common/index.d.ts.map +0 -1
- package/dist/tools/office/common/index.js.map +0 -1
- package/dist/tools/office/common/types.d.ts.map +0 -1
- package/dist/tools/office/common/types.js.map +0 -1
- package/dist/tools/office/common/utils.d.ts.map +0 -1
- package/dist/tools/office/common/utils.js.map +0 -1
- package/dist/tools/office/excel-client.d.ts.map +0 -1
- package/dist/tools/office/excel-client.js.map +0 -1
- package/dist/tools/office/excel-tools/cells.d.ts.map +0 -1
- package/dist/tools/office/excel-tools/cells.js.map +0 -1
- package/dist/tools/office/excel-tools/charts.d.ts.map +0 -1
- package/dist/tools/office/excel-tools/charts.js.map +0 -1
- package/dist/tools/office/excel-tools/comments.d.ts.map +0 -1
- package/dist/tools/office/excel-tools/comments.js.map +0 -1
- package/dist/tools/office/excel-tools/data-ops.d.ts.map +0 -1
- package/dist/tools/office/excel-tools/data-ops.js.map +0 -1
- package/dist/tools/office/excel-tools/export.d.ts.map +0 -1
- package/dist/tools/office/excel-tools/export.js.map +0 -1
- package/dist/tools/office/excel-tools/formatting.d.ts.map +0 -1
- package/dist/tools/office/excel-tools/formatting.js.map +0 -1
- package/dist/tools/office/excel-tools/index.d.ts.map +0 -1
- package/dist/tools/office/excel-tools/index.js.map +0 -1
- package/dist/tools/office/excel-tools/launch.d.ts.map +0 -1
- package/dist/tools/office/excel-tools/launch.js.map +0 -1
- package/dist/tools/office/excel-tools/media.d.ts.map +0 -1
- package/dist/tools/office/excel-tools/media.js.map +0 -1
- package/dist/tools/office/excel-tools/named-ranges.d.ts.map +0 -1
- package/dist/tools/office/excel-tools/named-ranges.js.map +0 -1
- package/dist/tools/office/excel-tools/protection.d.ts.map +0 -1
- package/dist/tools/office/excel-tools/protection.js.map +0 -1
- package/dist/tools/office/excel-tools/rows-columns.d.ts.map +0 -1
- package/dist/tools/office/excel-tools/rows-columns.js.map +0 -1
- package/dist/tools/office/excel-tools/sheets.d.ts.map +0 -1
- package/dist/tools/office/excel-tools/sheets.js.map +0 -1
- package/dist/tools/office/excel-tools/validation.d.ts.map +0 -1
- package/dist/tools/office/excel-tools/validation.js.map +0 -1
- package/dist/tools/office/excel-tools.d.ts.map +0 -1
- package/dist/tools/office/excel-tools.js.map +0 -1
- package/dist/tools/office/index.d.ts.map +0 -1
- package/dist/tools/office/index.js.map +0 -1
- package/dist/tools/office/office-client-base.d.ts.map +0 -1
- package/dist/tools/office/office-client-base.js.map +0 -1
- package/dist/tools/office/office-client.d.ts.map +0 -1
- package/dist/tools/office/office-client.js.map +0 -1
- package/dist/tools/office/powerpoint-client.d.ts.map +0 -1
- package/dist/tools/office/powerpoint-client.js.map +0 -1
- package/dist/tools/office/powerpoint-tools/effects.d.ts.map +0 -1
- package/dist/tools/office/powerpoint-tools/effects.js.map +0 -1
- package/dist/tools/office/powerpoint-tools/export.d.ts.map +0 -1
- package/dist/tools/office/powerpoint-tools/export.js.map +0 -1
- package/dist/tools/office/powerpoint-tools/index.d.ts.map +0 -1
- package/dist/tools/office/powerpoint-tools/index.js.map +0 -1
- package/dist/tools/office/powerpoint-tools/launch.d.ts.map +0 -1
- package/dist/tools/office/powerpoint-tools/launch.js.map +0 -1
- package/dist/tools/office/powerpoint-tools/media.d.ts.map +0 -1
- package/dist/tools/office/powerpoint-tools/media.js.map +0 -1
- package/dist/tools/office/powerpoint-tools/notes.d.ts.map +0 -1
- package/dist/tools/office/powerpoint-tools/notes.js.map +0 -1
- package/dist/tools/office/powerpoint-tools/sections.d.ts.map +0 -1
- package/dist/tools/office/powerpoint-tools/sections.js.map +0 -1
- package/dist/tools/office/powerpoint-tools/shapes.d.ts.map +0 -1
- package/dist/tools/office/powerpoint-tools/shapes.js.map +0 -1
- package/dist/tools/office/powerpoint-tools/slides.d.ts.map +0 -1
- package/dist/tools/office/powerpoint-tools/slides.js.map +0 -1
- package/dist/tools/office/powerpoint-tools/tables.d.ts.map +0 -1
- package/dist/tools/office/powerpoint-tools/tables.js.map +0 -1
- package/dist/tools/office/powerpoint-tools/text.d.ts.map +0 -1
- package/dist/tools/office/powerpoint-tools/text.js.map +0 -1
- package/dist/tools/office/powerpoint-tools.d.ts.map +0 -1
- package/dist/tools/office/powerpoint-tools.js.map +0 -1
- package/dist/tools/office/word-client.d.ts.map +0 -1
- package/dist/tools/office/word-client.js.map +0 -1
- package/dist/tools/office/word-tools/bookmarks.d.ts.map +0 -1
- package/dist/tools/office/word-tools/bookmarks.js.map +0 -1
- package/dist/tools/office/word-tools/comments.d.ts.map +0 -1
- package/dist/tools/office/word-tools/comments.js.map +0 -1
- package/dist/tools/office/word-tools/content.d.ts.map +0 -1
- package/dist/tools/office/word-tools/content.js.map +0 -1
- package/dist/tools/office/word-tools/export.d.ts.map +0 -1
- package/dist/tools/office/word-tools/export.js.map +0 -1
- package/dist/tools/office/word-tools/formatting.d.ts.map +0 -1
- package/dist/tools/office/word-tools/formatting.js.map +0 -1
- package/dist/tools/office/word-tools/headers-footers.d.ts.map +0 -1
- package/dist/tools/office/word-tools/headers-footers.js.map +0 -1
- package/dist/tools/office/word-tools/index.d.ts.map +0 -1
- package/dist/tools/office/word-tools/index.js.map +0 -1
- package/dist/tools/office/word-tools/launch.d.ts.map +0 -1
- package/dist/tools/office/word-tools/launch.js.map +0 -1
- package/dist/tools/office/word-tools/lists.d.ts.map +0 -1
- package/dist/tools/office/word-tools/lists.js.map +0 -1
- package/dist/tools/office/word-tools/navigation.d.ts.map +0 -1
- package/dist/tools/office/word-tools/navigation.js.map +0 -1
- package/dist/tools/office/word-tools/page-setup.d.ts.map +0 -1
- package/dist/tools/office/word-tools/page-setup.js.map +0 -1
- package/dist/tools/office/word-tools/tables.d.ts.map +0 -1
- package/dist/tools/office/word-tools/tables.js.map +0 -1
- package/dist/tools/office/word-tools/text.d.ts.map +0 -1
- package/dist/tools/office/word-tools/text.js.map +0 -1
- package/dist/tools/office/word-tools/undo-redo.d.ts.map +0 -1
- package/dist/tools/office/word-tools/undo-redo.js.map +0 -1
- package/dist/tools/office/word-tools/watermarks.d.ts.map +0 -1
- package/dist/tools/office/word-tools/watermarks.js.map +0 -1
- package/dist/tools/office/word-tools.d.ts.map +0 -1
- package/dist/tools/office/word-tools.js.map +0 -1
- package/dist/tools/registry.d.ts.map +0 -1
- package/dist/tools/registry.js.map +0 -1
- package/dist/tools/types.d.ts.map +0 -1
- package/dist/tools/types.js.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js.map +0 -1
- package/dist/ui/PlanExecuteView.d.ts.map +0 -1
- package/dist/ui/PlanExecuteView.js.map +0 -1
- package/dist/ui/TodoPanel.d.ts.map +0 -1
- package/dist/ui/TodoPanel.js.map +0 -1
- package/dist/ui/UpdateNotification.d.ts.map +0 -1
- package/dist/ui/UpdateNotification.js.map +0 -1
- package/dist/ui/components/ActivityIndicator.d.ts.map +0 -1
- package/dist/ui/components/ActivityIndicator.js.map +0 -1
- package/dist/ui/components/CommandBrowser.d.ts.map +0 -1
- package/dist/ui/components/CommandBrowser.js.map +0 -1
- package/dist/ui/components/CustomTextInput.d.ts.map +0 -1
- package/dist/ui/components/CustomTextInput.js.map +0 -1
- package/dist/ui/components/DocsSearchProgress.d.ts.map +0 -1
- package/dist/ui/components/DocsSearchProgress.js.map +0 -1
- package/dist/ui/components/FileBrowser.d.ts.map +0 -1
- package/dist/ui/components/FileBrowser.js.map +0 -1
- package/dist/ui/components/LLMSetupWizard.d.ts.map +0 -1
- package/dist/ui/components/LLMSetupWizard.js.map +0 -1
- package/dist/ui/components/Logo.d.ts.map +0 -1
- package/dist/ui/components/Logo.js.map +0 -1
- package/dist/ui/components/MarkdownRenderer.d.ts.map +0 -1
- package/dist/ui/components/MarkdownRenderer.js.map +0 -1
- package/dist/ui/components/ModelSelector.d.ts.map +0 -1
- package/dist/ui/components/ModelSelector.js.map +0 -1
- package/dist/ui/components/PlanExecuteApp.d.ts.map +0 -1
- package/dist/ui/components/PlanExecuteApp.js.map +0 -1
- package/dist/ui/components/ProgressBar.d.ts.map +0 -1
- package/dist/ui/components/ProgressBar.js.map +0 -1
- package/dist/ui/components/StatusBar.d.ts.map +0 -1
- package/dist/ui/components/StatusBar.js.map +0 -1
- package/dist/ui/components/ThinkingIndicator.d.ts.map +0 -1
- package/dist/ui/components/ThinkingIndicator.js.map +0 -1
- package/dist/ui/components/TodoListView.d.ts.map +0 -1
- package/dist/ui/components/TodoListView.js.map +0 -1
- package/dist/ui/components/ToolSelector.d.ts.map +0 -1
- package/dist/ui/components/ToolSelector.js.map +0 -1
- package/dist/ui/components/dialogs/ApprovalDialog.d.ts.map +0 -1
- package/dist/ui/components/dialogs/ApprovalDialog.js.map +0 -1
- package/dist/ui/components/dialogs/AskUserDialog.d.ts.map +0 -1
- package/dist/ui/components/dialogs/AskUserDialog.js.map +0 -1
- package/dist/ui/components/dialogs/DocsBrowser.d.ts.map +0 -1
- package/dist/ui/components/dialogs/DocsBrowser.js.map +0 -1
- package/dist/ui/components/dialogs/SettingsDialog.d.ts.map +0 -1
- package/dist/ui/components/dialogs/SettingsDialog.js.map +0 -1
- package/dist/ui/components/dialogs/index.d.ts.map +0 -1
- package/dist/ui/components/dialogs/index.js.map +0 -1
- package/dist/ui/components/index.d.ts.map +0 -1
- package/dist/ui/components/index.js.map +0 -1
- package/dist/ui/components/panels/LogPanel.d.ts.map +0 -1
- package/dist/ui/components/panels/LogPanel.js.map +0 -1
- package/dist/ui/components/panels/SessionPanel.d.ts.map +0 -1
- package/dist/ui/components/panels/SessionPanel.js.map +0 -1
- package/dist/ui/components/panels/index.d.ts.map +0 -1
- package/dist/ui/components/panels/index.js.map +0 -1
- package/dist/ui/components/views/ChatView.d.ts.map +0 -1
- package/dist/ui/components/views/ChatView.js.map +0 -1
- package/dist/ui/components/views/index.d.ts.map +0 -1
- package/dist/ui/components/views/index.js.map +0 -1
- package/dist/ui/contexts/TokenContext.d.ts.map +0 -1
- package/dist/ui/contexts/TokenContext.js.map +0 -1
- package/dist/ui/hooks/atFileProcessor.d.ts.map +0 -1
- package/dist/ui/hooks/atFileProcessor.js.map +0 -1
- package/dist/ui/hooks/index.d.ts.map +0 -1
- package/dist/ui/hooks/index.js.map +0 -1
- package/dist/ui/hooks/slashCommandProcessor.d.ts.map +0 -1
- package/dist/ui/hooks/slashCommandProcessor.js.map +0 -1
- package/dist/ui/hooks/useCommandBrowserState.d.ts.map +0 -1
- package/dist/ui/hooks/useCommandBrowserState.js.map +0 -1
- package/dist/ui/hooks/useFileBrowserState.d.ts.map +0 -1
- package/dist/ui/hooks/useFileBrowserState.js.map +0 -1
- package/dist/ui/hooks/useFileList.d.ts.map +0 -1
- package/dist/ui/hooks/useFileList.js.map +0 -1
- package/dist/ui/hooks/useInputHistory.d.ts.map +0 -1
- package/dist/ui/hooks/useInputHistory.js.map +0 -1
- package/dist/ui/hooks/usePlanExecution.d.ts.map +0 -1
- package/dist/ui/hooks/usePlanExecution.js.map +0 -1
- package/dist/ui/index.d.ts.map +0 -1
- package/dist/ui/index.js.map +0 -1
- package/dist/ui/ink-entry.d.ts.map +0 -1
- package/dist/ui/ink-entry.js.map +0 -1
- package/dist/utils/env-filter.d.ts.map +0 -1
- package/dist/utils/env-filter.js.map +0 -1
- package/dist/utils/file-system.d.ts.map +0 -1
- package/dist/utils/file-system.js.map +0 -1
- package/dist/utils/git-utils.d.ts.map +0 -1
- package/dist/utils/git-utils.js.map +0 -1
- package/dist/utils/json-stream-logger.d.ts.map +0 -1
- package/dist/utils/json-stream-logger.js.map +0 -1
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/platform-utils.d.ts.map +0 -1
- package/dist/utils/platform-utils.js.map +0 -1
- package/dist/utils/wsl-utils.d.ts.map +0 -1
- package/dist/utils/wsl-utils.js.map +0 -1
- package/electron.vite.config.ts +0 -63
- package/google374b9eba0c52b043.html +0 -1
- package/src/agents/base/base-agent.ts +0 -159
- package/src/agents/docs-search/index.ts +0 -365
- package/src/agents/index.ts +0 -34
- package/src/agents/planner/index.ts +0 -544
- package/src/cli.ts +0 -201
- package/src/constants.ts +0 -47
- package/src/core/compact/compact-manager.ts +0 -160
- package/src/core/compact/compact-prompts.ts +0 -150
- package/src/core/compact/context-tracker.ts +0 -164
- package/src/core/compact/index.ts +0 -25
- package/src/core/config/config-manager.ts +0 -460
- package/src/core/config/index.ts +0 -5
- package/src/core/docs-manager.ts +0 -678
- package/src/core/llm/index.ts +0 -7
- package/src/core/llm/llm-client.ts +0 -1550
- package/src/core/session/index.ts +0 -5
- package/src/core/session/session-manager.ts +0 -464
- package/src/core/slash-command-handler.ts +0 -410
- package/src/core/usage-tracker.ts +0 -438
- package/src/errors/base.ts +0 -81
- package/src/errors/file.ts +0 -183
- package/src/errors/index.ts +0 -95
- package/src/errors/llm.ts +0 -151
- package/src/errors/network.ts +0 -124
- package/src/errors/validation.ts +0 -111
- package/src/eval/eval-runner.ts +0 -456
- package/src/eval/index.ts +0 -8
- package/src/eval/types.ts +0 -139
- package/src/index.ts +0 -22
- package/src/orchestration/index.ts +0 -30
- package/src/orchestration/plan-executor.ts +0 -652
- package/src/orchestration/types.ts +0 -127
- package/src/orchestration/utils.ts +0 -119
- package/src/orquesta/connection.ts +0 -291
- package/src/prompts/agents/docs-search-decision.ts +0 -74
- package/src/prompts/agents/docs-search.ts +0 -84
- package/src/prompts/agents/planning.ts +0 -143
- package/src/prompts/index.ts +0 -31
- package/src/prompts/shared/codebase-rules.ts +0 -29
- package/src/prompts/shared/git-rules.ts +0 -94
- package/src/prompts/shared/language-rules.ts +0 -36
- package/src/prompts/shared/tool-usage.ts +0 -72
- package/src/prompts/system/compact.ts +0 -80
- package/src/prompts/system/plan-execute.ts +0 -89
- package/src/tools/browser/browser-client.ts +0 -1363
- package/src/tools/browser/browser-tools.ts +0 -1139
- package/src/tools/browser/index.ts +0 -65
- package/src/tools/index.ts +0 -23
- package/src/tools/llm/agents/docs-search-tools.ts +0 -368
- package/src/tools/llm/agents/index.ts +0 -22
- package/src/tools/llm/index.ts +0 -11
- package/src/tools/llm/simple/ask-user-tool.ts +0 -25
- package/src/tools/llm/simple/background-bash-tool.ts +0 -443
- package/src/tools/llm/simple/background-powershell-tool.ts +0 -421
- package/src/tools/llm/simple/bash-tool.ts +0 -238
- package/src/tools/llm/simple/docs-search-agent-tool.ts +0 -146
- package/src/tools/llm/simple/file-tools.ts +0 -1051
- package/src/tools/llm/simple/final-response-tool.ts +0 -180
- package/src/tools/llm/simple/index.ts +0 -42
- package/src/tools/llm/simple/planning-tools.ts +0 -143
- package/src/tools/llm/simple/powershell-tool.ts +0 -241
- package/src/tools/llm/simple/simple-tool-executor.ts +0 -279
- package/src/tools/llm/simple/todo-tools.ts +0 -207
- package/src/tools/llm/simple/user-interaction-tools.ts +0 -277
- package/src/tools/office/common/constants.ts +0 -335
- package/src/tools/office/common/index.ts +0 -133
- package/src/tools/office/common/types.ts +0 -286
- package/src/tools/office/common/utils.ts +0 -116
- package/src/tools/office/excel-client.ts +0 -1336
- package/src/tools/office/excel-tools/cells.ts +0 -359
- package/src/tools/office/excel-tools/charts.ts +0 -166
- package/src/tools/office/excel-tools/comments.ts +0 -155
- package/src/tools/office/excel-tools/data-ops.ts +0 -349
- package/src/tools/office/excel-tools/export.ts +0 -105
- package/src/tools/office/excel-tools/formatting.ts +0 -357
- package/src/tools/office/excel-tools/index.ts +0 -55
- package/src/tools/office/excel-tools/launch.ts +0 -303
- package/src/tools/office/excel-tools/media.ts +0 -117
- package/src/tools/office/excel-tools/named-ranges.ts +0 -148
- package/src/tools/office/excel-tools/protection.ts +0 -105
- package/src/tools/office/excel-tools/rows-columns.ts +0 -386
- package/src/tools/office/excel-tools/sheets.ts +0 -228
- package/src/tools/office/excel-tools/validation.ts +0 -226
- package/src/tools/office/excel-tools.ts +0 -9
- package/src/tools/office/index.ts +0 -259
- package/src/tools/office/office-client-base.ts +0 -242
- package/src/tools/office/office-client.ts +0 -377
- package/src/tools/office/powerpoint-client.ts +0 -1498
- package/src/tools/office/powerpoint-tools/effects.ts +0 -315
- package/src/tools/office/powerpoint-tools/export.ts +0 -138
- package/src/tools/office/powerpoint-tools/index.ts +0 -45
- package/src/tools/office/powerpoint-tools/launch.ts +0 -263
- package/src/tools/office/powerpoint-tools/media.ts +0 -291
- package/src/tools/office/powerpoint-tools/notes.ts +0 -220
- package/src/tools/office/powerpoint-tools/sections.ts +0 -140
- package/src/tools/office/powerpoint-tools/shapes.ts +0 -870
- package/src/tools/office/powerpoint-tools/slides.ts +0 -350
- package/src/tools/office/powerpoint-tools/tables.ts +0 -182
- package/src/tools/office/powerpoint-tools/text.ts +0 -473
- package/src/tools/office/powerpoint-tools.ts +0 -9
- package/src/tools/office/word-client.ts +0 -1697
- package/src/tools/office/word-tools/bookmarks.ts +0 -186
- package/src/tools/office/word-tools/comments.ts +0 -185
- package/src/tools/office/word-tools/content.ts +0 -229
- package/src/tools/office/word-tools/export.ts +0 -97
- package/src/tools/office/word-tools/formatting.ts +0 -161
- package/src/tools/office/word-tools/headers-footers.ts +0 -155
- package/src/tools/office/word-tools/index.ts +0 -57
- package/src/tools/office/word-tools/launch.ts +0 -312
- package/src/tools/office/word-tools/lists.ts +0 -97
- package/src/tools/office/word-tools/navigation.ts +0 -114
- package/src/tools/office/word-tools/page-setup.ts +0 -195
- package/src/tools/office/word-tools/tables.ts +0 -262
- package/src/tools/office/word-tools/text.ts +0 -294
- package/src/tools/office/word-tools/undo-redo.ts +0 -97
- package/src/tools/office/word-tools/watermarks.ts +0 -105
- package/src/tools/office/word-tools.ts +0 -9
- package/src/tools/registry.ts +0 -527
- package/src/tools/types.ts +0 -231
- package/src/types/index.ts +0 -181
- package/src/ui/PlanExecuteView.tsx +0 -119
- package/src/ui/TodoPanel.tsx +0 -240
- package/src/ui/UpdateNotification.tsx +0 -105
- package/src/ui/components/ActivityIndicator.tsx +0 -234
- package/src/ui/components/CommandBrowser.tsx +0 -114
- package/src/ui/components/CustomTextInput.tsx +0 -389
- package/src/ui/components/DocsSearchProgress.tsx +0 -85
- package/src/ui/components/FileBrowser.tsx +0 -93
- package/src/ui/components/LLMSetupWizard.tsx +0 -333
- package/src/ui/components/Logo.tsx +0 -125
- package/src/ui/components/MarkdownRenderer.tsx +0 -358
- package/src/ui/components/ModelSelector.tsx +0 -203
- package/src/ui/components/PlanExecuteApp.tsx +0 -2007
- package/src/ui/components/ProgressBar.tsx +0 -51
- package/src/ui/components/StatusBar.tsx +0 -302
- package/src/ui/components/ThinkingIndicator.tsx +0 -120
- package/src/ui/components/TodoListView.tsx +0 -140
- package/src/ui/components/ToolSelector.tsx +0 -215
- package/src/ui/components/dialogs/ApprovalDialog.tsx +0 -259
- package/src/ui/components/dialogs/AskUserDialog.tsx +0 -159
- package/src/ui/components/dialogs/DocsBrowser.tsx +0 -222
- package/src/ui/components/dialogs/SettingsDialog.tsx +0 -939
- package/src/ui/components/dialogs/index.ts +0 -13
- package/src/ui/components/index.ts +0 -27
- package/src/ui/components/panels/LogPanel.tsx +0 -385
- package/src/ui/components/panels/SessionPanel.tsx +0 -146
- package/src/ui/components/panels/index.ts +0 -13
- package/src/ui/components/views/ChatView.tsx +0 -447
- package/src/ui/components/views/index.ts +0 -5
- package/src/ui/contexts/TokenContext.tsx +0 -139
- package/src/ui/hooks/atFileProcessor.ts +0 -167
- package/src/ui/hooks/index.ts +0 -11
- package/src/ui/hooks/slashCommandProcessor.ts +0 -174
- package/src/ui/hooks/useCommandBrowserState.ts +0 -97
- package/src/ui/hooks/useFileBrowserState.ts +0 -116
- package/src/ui/hooks/useFileList.ts +0 -132
- package/src/ui/hooks/useInputHistory.ts +0 -89
- package/src/ui/hooks/usePlanExecution.ts +0 -339
- package/src/ui/index.ts +0 -10
- package/src/ui/ink-entry.tsx +0 -36
- package/src/utils/env-filter.ts +0 -164
- package/src/utils/file-system.ts +0 -133
- package/src/utils/git-utils.ts +0 -30
- package/src/utils/json-stream-logger.ts +0 -1259
- package/src/utils/logger.ts +0 -2767
- package/src/utils/platform-utils.ts +0 -256
- package/src/utils/wsl-utils.ts +0 -113
- package/tsconfig.electron.json +0 -39
- package/tsconfig.json +0 -64
package/src/tools/registry.ts
DELETED
|
@@ -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;
|