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
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Base Agent
|
|
3
|
-
*
|
|
4
|
-
* Abstract base class for all LLM-powered agents.
|
|
5
|
-
* Provides common interface and utilities.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { LLMClient } from '../../core/llm/llm-client.js';
|
|
9
|
-
import { Message, ToolDefinition } from '../../types/index.js';
|
|
10
|
-
import { logger } from '../../utils/logger.js';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Agent execution context
|
|
14
|
-
*/
|
|
15
|
-
export interface AgentContext {
|
|
16
|
-
/** Working directory */
|
|
17
|
-
workingDirectory?: string;
|
|
18
|
-
/** Additional context data */
|
|
19
|
-
metadata?: Record<string, unknown>;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Agent execution result
|
|
24
|
-
*/
|
|
25
|
-
export interface AgentResult {
|
|
26
|
-
/** Whether execution succeeded */
|
|
27
|
-
success: boolean;
|
|
28
|
-
/** Result content */
|
|
29
|
-
result?: string;
|
|
30
|
-
/** Error message if failed */
|
|
31
|
-
error?: string;
|
|
32
|
-
/** Execution metadata */
|
|
33
|
-
metadata?: {
|
|
34
|
-
iterations?: number;
|
|
35
|
-
toolCalls?: number;
|
|
36
|
-
duration?: number;
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Agent configuration
|
|
42
|
-
*/
|
|
43
|
-
export interface AgentConfig {
|
|
44
|
-
/** Maximum iterations for tool loop */
|
|
45
|
-
maxIterations?: number;
|
|
46
|
-
/** LLM temperature */
|
|
47
|
-
temperature?: number;
|
|
48
|
-
/** Maximum tokens for response */
|
|
49
|
-
maxTokens?: number;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Abstract base class for agents
|
|
54
|
-
*/
|
|
55
|
-
export abstract class BaseAgent {
|
|
56
|
-
/** Agent name for logging */
|
|
57
|
-
abstract readonly name: string;
|
|
58
|
-
/** Agent description */
|
|
59
|
-
abstract readonly description: string;
|
|
60
|
-
|
|
61
|
-
protected llmClient: LLMClient;
|
|
62
|
-
protected config: AgentConfig;
|
|
63
|
-
|
|
64
|
-
constructor(llmClient: LLMClient, config?: AgentConfig) {
|
|
65
|
-
this.llmClient = llmClient;
|
|
66
|
-
this.config = {
|
|
67
|
-
maxIterations: config?.maxIterations ?? 10,
|
|
68
|
-
temperature: config?.temperature ?? 0.3,
|
|
69
|
-
maxTokens: config?.maxTokens ?? 4000,
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Execute the agent
|
|
75
|
-
*/
|
|
76
|
-
abstract execute(input: string, context?: AgentContext): Promise<AgentResult>;
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Get tools available to this agent
|
|
80
|
-
*/
|
|
81
|
-
protected abstract getTools(): ToolDefinition[];
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Build system prompt for this agent
|
|
85
|
-
*/
|
|
86
|
-
protected abstract buildSystemPrompt(context?: AgentContext): string;
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Run tool loop with LLM
|
|
90
|
-
*/
|
|
91
|
-
protected async runToolLoop(
|
|
92
|
-
messages: Message[],
|
|
93
|
-
toolExecutor: (toolName: string, args: Record<string, unknown>) => Promise<string>
|
|
94
|
-
): Promise<{ success: boolean; result: string; iterations: number }> {
|
|
95
|
-
const tools = this.getTools();
|
|
96
|
-
let iterations = 0;
|
|
97
|
-
let finalResult = '';
|
|
98
|
-
|
|
99
|
-
logger.enter(`${this.name}.runToolLoop`);
|
|
100
|
-
|
|
101
|
-
while (iterations < this.config.maxIterations!) {
|
|
102
|
-
iterations++;
|
|
103
|
-
logger.flow(`${this.name} iteration ${iterations}`);
|
|
104
|
-
|
|
105
|
-
const response = await this.llmClient.chatCompletion({
|
|
106
|
-
messages,
|
|
107
|
-
tools: tools.length > 0 ? tools : undefined,
|
|
108
|
-
temperature: this.config.temperature,
|
|
109
|
-
max_tokens: this.config.maxTokens,
|
|
110
|
-
});
|
|
111
|
-
|
|
112
|
-
const assistantMessage = response.choices[0]?.message;
|
|
113
|
-
if (!assistantMessage) {
|
|
114
|
-
throw new Error('No response from LLM');
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
messages.push(assistantMessage);
|
|
118
|
-
|
|
119
|
-
// Execute tool calls if present
|
|
120
|
-
if (assistantMessage.tool_calls && assistantMessage.tool_calls.length > 0) {
|
|
121
|
-
for (const toolCall of assistantMessage.tool_calls) {
|
|
122
|
-
let args: Record<string, unknown>;
|
|
123
|
-
try {
|
|
124
|
-
args = JSON.parse(toolCall.function.arguments);
|
|
125
|
-
} catch (error) {
|
|
126
|
-
logger.warn('Failed to parse tool arguments', { error, arguments: toolCall.function.arguments });
|
|
127
|
-
messages.push({
|
|
128
|
-
role: 'tool',
|
|
129
|
-
content: 'Error: Invalid tool arguments. The arguments must be a valid JSON object.',
|
|
130
|
-
tool_call_id: toolCall.id,
|
|
131
|
-
});
|
|
132
|
-
continue;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
const result = await toolExecutor(toolCall.function.name, args);
|
|
136
|
-
messages.push({
|
|
137
|
-
role: 'tool',
|
|
138
|
-
content: result,
|
|
139
|
-
tool_call_id: toolCall.id,
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
} else {
|
|
143
|
-
// No tool call - LLM provided final response
|
|
144
|
-
finalResult = assistantMessage.content || '';
|
|
145
|
-
break;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
logger.exit(`${this.name}.runToolLoop`, { iterations });
|
|
150
|
-
|
|
151
|
-
return {
|
|
152
|
-
success: true,
|
|
153
|
-
result: finalResult,
|
|
154
|
-
iterations,
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
export default BaseAgent;
|
|
@@ -1,365 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Documentation Search Agent
|
|
3
|
-
*
|
|
4
|
-
* Redesigned agent that navigates hierarchical documentation structure.
|
|
5
|
-
* Uses explicit termination via submit_findings tool.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import { BaseAgent, AgentContext, AgentResult, AgentConfig } from '../base/base-agent.js';
|
|
9
|
-
import { LLMClient } from '../../core/llm/llm-client.js';
|
|
10
|
-
import { Message, ToolDefinition } from '../../types/index.js';
|
|
11
|
-
import { DOCS_SEARCH_SYSTEM_PROMPT, buildDocsSearchUserMessage } from '../../prompts/agents/docs-search.js';
|
|
12
|
-
import { DOCS_SEARCH_TOOLS, createDocsToolExecutor } from '../../tools/llm/agents/docs-search-tools.js';
|
|
13
|
-
import { logger } from '../../utils/logger.js';
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Progress callback for docs search (for UI updates)
|
|
17
|
-
*/
|
|
18
|
-
export type DocsSearchProgressCallback = (
|
|
19
|
-
type: 'info' | 'tell_user' | 'complete',
|
|
20
|
-
message: string,
|
|
21
|
-
data?: { summary?: string; findings?: string; sources?: string[] }
|
|
22
|
-
) => void;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Global progress callback (set from UI)
|
|
26
|
-
*/
|
|
27
|
-
let globalProgressCallback: DocsSearchProgressCallback | null = null;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Set the global docs search progress callback
|
|
31
|
-
*/
|
|
32
|
-
export function setDocsSearchProgressCallback(callback: DocsSearchProgressCallback | null): void {
|
|
33
|
-
globalProgressCallback = callback;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Default configuration
|
|
38
|
-
*/
|
|
39
|
-
const DEFAULT_CONFIG: AgentConfig = {
|
|
40
|
-
temperature: 0.3,
|
|
41
|
-
maxTokens: 4000,
|
|
42
|
-
// No maxIterations - agent terminates via submit_findings
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Safety limits
|
|
47
|
-
*/
|
|
48
|
-
const SOFT_ITERATION_LIMIT = 50; // Warn after this many iterations
|
|
49
|
-
const HARD_ITERATION_LIMIT = 100; // Force stop after this many
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Documentation Search Agent
|
|
53
|
-
*/
|
|
54
|
-
export class DocsSearchAgent extends BaseAgent {
|
|
55
|
-
readonly name = 'DocsSearchAgent';
|
|
56
|
-
readonly description = 'Searches ~/.local-cli/docs using hierarchical navigation';
|
|
57
|
-
|
|
58
|
-
constructor(llmClient: LLMClient, config?: Partial<AgentConfig>) {
|
|
59
|
-
super(llmClient, { ...DEFAULT_CONFIG, ...config });
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
protected getTools(): ToolDefinition[] {
|
|
63
|
-
return DOCS_SEARCH_TOOLS;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
protected buildSystemPrompt(_context?: AgentContext): string {
|
|
67
|
-
return DOCS_SEARCH_SYSTEM_PROMPT;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
async execute(input: string, _context?: AgentContext): Promise<AgentResult> {
|
|
71
|
-
logger.enter('DocsSearchAgent.execute', { query: input });
|
|
72
|
-
logger.startTimer('docs-search-total');
|
|
73
|
-
|
|
74
|
-
const progressCallback = globalProgressCallback;
|
|
75
|
-
progressCallback?.('info', `Searching: "${input.slice(0, 50)}${input.length > 50 ? '...' : ''}"`);
|
|
76
|
-
|
|
77
|
-
// Result container for submit_findings
|
|
78
|
-
let finalResult: {
|
|
79
|
-
summary: string;
|
|
80
|
-
findings: string;
|
|
81
|
-
sources: string[];
|
|
82
|
-
} | null = null;
|
|
83
|
-
|
|
84
|
-
// Create tool executor with callbacks
|
|
85
|
-
const toolExecutor = createDocsToolExecutor(
|
|
86
|
-
// onTellUser callback
|
|
87
|
-
(message: string) => {
|
|
88
|
-
progressCallback?.('tell_user', message);
|
|
89
|
-
logger.debug('tell_to_user', { message });
|
|
90
|
-
},
|
|
91
|
-
// onComplete callback (submit_findings)
|
|
92
|
-
(summary: string, findings: string, sources: string[]) => {
|
|
93
|
-
finalResult = { summary, findings, sources };
|
|
94
|
-
progressCallback?.('complete', summary, { summary, findings, sources });
|
|
95
|
-
logger.debug('submit_findings', { summary, sourcesCount: sources.length });
|
|
96
|
-
}
|
|
97
|
-
);
|
|
98
|
-
|
|
99
|
-
try {
|
|
100
|
-
const messages: Message[] = [
|
|
101
|
-
{ role: 'system', content: DOCS_SEARCH_SYSTEM_PROMPT },
|
|
102
|
-
{ role: 'user', content: buildDocsSearchUserMessage(input) },
|
|
103
|
-
];
|
|
104
|
-
|
|
105
|
-
let iterations = 0;
|
|
106
|
-
|
|
107
|
-
// Main execution loop - terminates when submit_findings is called
|
|
108
|
-
while (!finalResult) {
|
|
109
|
-
iterations++;
|
|
110
|
-
|
|
111
|
-
// Soft limit warning
|
|
112
|
-
if (iterations === SOFT_ITERATION_LIMIT) {
|
|
113
|
-
messages.push({
|
|
114
|
-
role: 'system',
|
|
115
|
-
content: `You have made ${SOFT_ITERATION_LIMIT} tool calls. Please wrap up your search and call submit_findings soon.`,
|
|
116
|
-
});
|
|
117
|
-
logger.warn('Docs search soft limit reached', { iterations });
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
// Hard limit - force stop
|
|
121
|
-
if (iterations > HARD_ITERATION_LIMIT) {
|
|
122
|
-
logger.error('Docs search hard limit exceeded', { iterations });
|
|
123
|
-
return {
|
|
124
|
-
success: false,
|
|
125
|
-
error: `Search exceeded maximum iterations (${HARD_ITERATION_LIMIT}). Please try a more specific query.`,
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
logger.flow(`Search iteration ${iterations}`);
|
|
130
|
-
|
|
131
|
-
// Call LLM
|
|
132
|
-
const response = await this.llmClient.chatCompletion({
|
|
133
|
-
messages,
|
|
134
|
-
tools: DOCS_SEARCH_TOOLS,
|
|
135
|
-
temperature: this.config.temperature,
|
|
136
|
-
max_tokens: this.config.maxTokens,
|
|
137
|
-
});
|
|
138
|
-
|
|
139
|
-
const assistantMessage = response.choices[0]?.message;
|
|
140
|
-
if (!assistantMessage) {
|
|
141
|
-
throw new Error('No response from LLM');
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
messages.push(assistantMessage);
|
|
145
|
-
|
|
146
|
-
// Process tool calls
|
|
147
|
-
if (assistantMessage.tool_calls && assistantMessage.tool_calls.length > 0) {
|
|
148
|
-
for (const toolCall of assistantMessage.tool_calls) {
|
|
149
|
-
const toolName = toolCall.function.name;
|
|
150
|
-
let args: Record<string, unknown>;
|
|
151
|
-
|
|
152
|
-
try {
|
|
153
|
-
args = JSON.parse(toolCall.function.arguments);
|
|
154
|
-
} catch {
|
|
155
|
-
logger.warn('Failed to parse tool arguments', { toolName });
|
|
156
|
-
messages.push({
|
|
157
|
-
role: 'tool',
|
|
158
|
-
content: 'Error: Invalid tool arguments',
|
|
159
|
-
tool_call_id: toolCall.id,
|
|
160
|
-
});
|
|
161
|
-
continue;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
// Log tool call for UI
|
|
165
|
-
progressCallback?.('info', `${toolName}: ${this.formatToolArgs(toolName, args)}`);
|
|
166
|
-
|
|
167
|
-
// Execute tool
|
|
168
|
-
const result = await toolExecutor(toolName, args);
|
|
169
|
-
|
|
170
|
-
messages.push({
|
|
171
|
-
role: 'tool',
|
|
172
|
-
content: result.success ? (result.result || 'Success') : `Error: ${result.error}`,
|
|
173
|
-
tool_call_id: toolCall.id,
|
|
174
|
-
});
|
|
175
|
-
|
|
176
|
-
// Check if this was the termination tool
|
|
177
|
-
if (result.terminate) {
|
|
178
|
-
break;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
} else {
|
|
182
|
-
// No tool calls - LLM responded with text only
|
|
183
|
-
// This shouldn't happen with proper prompting, but handle it
|
|
184
|
-
logger.warn('LLM responded without tool calls');
|
|
185
|
-
messages.push({
|
|
186
|
-
role: 'system',
|
|
187
|
-
content: 'You must use tools to search documentation. Call list_directory to explore, or submit_findings to complete.',
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
const totalElapsed = logger.endTimer('docs-search-total');
|
|
193
|
-
logger.exit('DocsSearchAgent.execute', { success: true, iterations });
|
|
194
|
-
|
|
195
|
-
return {
|
|
196
|
-
success: true,
|
|
197
|
-
result: finalResult ? this.formatFinalResult(finalResult) : 'Error: Search completed without findings.',
|
|
198
|
-
metadata: {
|
|
199
|
-
iterations,
|
|
200
|
-
duration: totalElapsed,
|
|
201
|
-
},
|
|
202
|
-
};
|
|
203
|
-
} catch (error) {
|
|
204
|
-
logger.endTimer('docs-search-total');
|
|
205
|
-
logger.error('Documentation Search Failed', error instanceof Error ? error : new Error(String(error)));
|
|
206
|
-
progressCallback?.('complete', 'Search failed', { summary: 'Error occurred', findings: '', sources: [] });
|
|
207
|
-
|
|
208
|
-
return {
|
|
209
|
-
success: false,
|
|
210
|
-
error: error instanceof Error ? error.message : 'Unknown error in docs search',
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
/**
|
|
216
|
-
* Format tool arguments for display
|
|
217
|
-
* Uses the reason if provided, otherwise falls back to path
|
|
218
|
-
*/
|
|
219
|
-
private formatToolArgs(toolName: string, args: Record<string, unknown>): string {
|
|
220
|
-
const reason = args['reason'] as string | undefined;
|
|
221
|
-
|
|
222
|
-
switch (toolName) {
|
|
223
|
-
case 'list_directory':
|
|
224
|
-
return reason || (args['path'] ? `"${args['path']}"` : '(root)');
|
|
225
|
-
case 'read_docs_file':
|
|
226
|
-
case 'preview_file':
|
|
227
|
-
return reason || `"${args['path']}"`;
|
|
228
|
-
case 'tell_to_user':
|
|
229
|
-
return (args['message'] as string)?.slice(0, 50) || '';
|
|
230
|
-
case 'submit_findings':
|
|
231
|
-
return 'Submitting report...';
|
|
232
|
-
default:
|
|
233
|
-
return JSON.stringify(args).slice(0, 50);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
/**
|
|
238
|
-
* Format final result for display
|
|
239
|
-
*/
|
|
240
|
-
private formatFinalResult(result: { summary: string; findings: string; sources: string[] }): string {
|
|
241
|
-
const parts: string[] = [];
|
|
242
|
-
|
|
243
|
-
parts.push(`## Summary\n${result.summary}`);
|
|
244
|
-
parts.push(`\n## Findings\n${result.findings}`);
|
|
245
|
-
|
|
246
|
-
if (result.sources.length > 0) {
|
|
247
|
-
parts.push(`\n## Sources`);
|
|
248
|
-
result.sources.forEach(source => {
|
|
249
|
-
parts.push(`- ${source}`);
|
|
250
|
-
});
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
return parts.join('\n');
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
/**
|
|
258
|
-
* Factory function to create DocsSearchAgent
|
|
259
|
-
*/
|
|
260
|
-
export function createDocsSearchAgent(llmClient: LLMClient, config?: Partial<AgentConfig>): DocsSearchAgent {
|
|
261
|
-
return new DocsSearchAgent(llmClient, config);
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
/**
|
|
265
|
-
* Execute documentation search (convenience wrapper)
|
|
266
|
-
*/
|
|
267
|
-
export async function executeDocsSearchAgent(
|
|
268
|
-
llmClient: LLMClient,
|
|
269
|
-
query: string
|
|
270
|
-
): Promise<{ success: boolean; result?: string; error?: string }> {
|
|
271
|
-
const agent = new DocsSearchAgent(llmClient);
|
|
272
|
-
return agent.execute(query);
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
/**
|
|
276
|
-
* Initialize docs directory with sample documentation
|
|
277
|
-
*/
|
|
278
|
-
export async function initializeDocsDirectory(): Promise<void> {
|
|
279
|
-
const fs = await import('fs/promises');
|
|
280
|
-
const path = await import('path');
|
|
281
|
-
const os = await import('os');
|
|
282
|
-
|
|
283
|
-
const docsPath = path.join(os.homedir(), '.local-cli', 'docs');
|
|
284
|
-
|
|
285
|
-
try {
|
|
286
|
-
await fs.mkdir(docsPath, { recursive: true });
|
|
287
|
-
|
|
288
|
-
const readmePath = path.join(docsPath, 'README.md');
|
|
289
|
-
try {
|
|
290
|
-
await fs.access(readmePath);
|
|
291
|
-
} catch {
|
|
292
|
-
const sampleReadme = `# LOCAL-CLI Documentation
|
|
293
|
-
|
|
294
|
-
Welcome to the LOCAL-CLI documentation directory!
|
|
295
|
-
|
|
296
|
-
## Overview
|
|
297
|
-
|
|
298
|
-
This directory contains local documentation that can be searched by the AI assistant.
|
|
299
|
-
|
|
300
|
-
## Adding Documentation
|
|
301
|
-
|
|
302
|
-
Simply place your markdown (.md) files in this directory. The AI will be able to search and reference them.
|
|
303
|
-
|
|
304
|
-
## Folder Structure
|
|
305
|
-
|
|
306
|
-
Organize your documentation hierarchically:
|
|
307
|
-
- Create folders for major categories
|
|
308
|
-
- Use sub-folders for specific topics
|
|
309
|
-
- Place .md files at appropriate levels
|
|
310
|
-
|
|
311
|
-
Example:
|
|
312
|
-
\`\`\`
|
|
313
|
-
~/.local-cli/docs/
|
|
314
|
-
├── README.md
|
|
315
|
-
├── tutorials/
|
|
316
|
-
│ ├── getting-started.md
|
|
317
|
-
│ └── advanced-usage.md
|
|
318
|
-
├── reference/
|
|
319
|
-
│ ├── api.md
|
|
320
|
-
│ └── configuration.md
|
|
321
|
-
└── agent_framework/
|
|
322
|
-
├── agno/
|
|
323
|
-
│ ├── overview.md
|
|
324
|
-
│ └── examples.md
|
|
325
|
-
└── langchain/
|
|
326
|
-
└── setup.md
|
|
327
|
-
\`\`\`
|
|
328
|
-
`;
|
|
329
|
-
await fs.writeFile(readmePath, sampleReadme, 'utf-8');
|
|
330
|
-
}
|
|
331
|
-
} catch (error) {
|
|
332
|
-
logger.error('Failed to initialize docs directory', error instanceof Error ? error : new Error(String(error)));
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
|
|
336
|
-
/**
|
|
337
|
-
* Add documentation file to the docs directory
|
|
338
|
-
*/
|
|
339
|
-
export async function addDocumentationFile(
|
|
340
|
-
filename: string,
|
|
341
|
-
content: string
|
|
342
|
-
): Promise<{ success: boolean; path?: string; error?: string }> {
|
|
343
|
-
try {
|
|
344
|
-
const fs = await import('fs/promises');
|
|
345
|
-
const pathModule = await import('path');
|
|
346
|
-
const os = await import('os');
|
|
347
|
-
|
|
348
|
-
const docsPath = pathModule.join(os.homedir(), '.local-cli', 'docs');
|
|
349
|
-
await fs.mkdir(docsPath, { recursive: true });
|
|
350
|
-
|
|
351
|
-
const sanitizedFilename = pathModule.basename(filename);
|
|
352
|
-
const filePath = pathModule.join(docsPath, sanitizedFilename);
|
|
353
|
-
|
|
354
|
-
await fs.writeFile(filePath, content, 'utf-8');
|
|
355
|
-
|
|
356
|
-
return { success: true, path: filePath };
|
|
357
|
-
} catch (error) {
|
|
358
|
-
return {
|
|
359
|
-
success: false,
|
|
360
|
-
error: error instanceof Error ? error.message : 'Failed to add documentation',
|
|
361
|
-
};
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
export default DocsSearchAgent;
|
package/src/agents/index.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agents Index
|
|
3
|
-
*
|
|
4
|
-
* Central export for all LLM-powered agents.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
// Base agent
|
|
8
|
-
export {
|
|
9
|
-
BaseAgent,
|
|
10
|
-
type AgentContext,
|
|
11
|
-
type AgentResult,
|
|
12
|
-
type AgentConfig,
|
|
13
|
-
} from './base/base-agent.js';
|
|
14
|
-
|
|
15
|
-
// RequestClassifier removed - all requests now go through planning
|
|
16
|
-
|
|
17
|
-
// Planning agent
|
|
18
|
-
export {
|
|
19
|
-
PlanningLLM,
|
|
20
|
-
type PlanningWithDocsResult,
|
|
21
|
-
} from './planner/index.js';
|
|
22
|
-
|
|
23
|
-
// Documentation search agent
|
|
24
|
-
export {
|
|
25
|
-
DocsSearchAgent,
|
|
26
|
-
createDocsSearchAgent,
|
|
27
|
-
executeDocsSearchAgent,
|
|
28
|
-
initializeDocsDirectory,
|
|
29
|
-
addDocumentationFile,
|
|
30
|
-
setDocsSearchProgressCallback,
|
|
31
|
-
type DocsSearchProgressCallback,
|
|
32
|
-
} from './docs-search/index.js';
|
|
33
|
-
|
|
34
|
-
// performDocsSearchIfNeeded removed - docs search now integrated into planning
|