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/README.md
CHANGED
|
@@ -144,14 +144,14 @@ Every file modification requires your explicit approval:
|
|
|
144
144
|
### Slash Commands
|
|
145
145
|
| Command | Description |
|
|
146
146
|
|---------|-------------|
|
|
147
|
-
| `/help` |
|
|
147
|
+
| `/help` | Show available commands |
|
|
148
148
|
| `/clear` | Reset conversation |
|
|
149
149
|
| `/compact` | Compress conversation |
|
|
150
150
|
| `/load` | Load saved session |
|
|
151
|
-
| `/model` | Switch model |
|
|
151
|
+
| `/model` | Switch LLM model |
|
|
152
152
|
| `/settings` | Settings menu |
|
|
153
|
-
| `/usage` | Token usage |
|
|
154
|
-
| `/
|
|
153
|
+
| `/usage` | Token usage statistics |
|
|
154
|
+
| `/sync` | Sync LLM configs with Orquesta dashboard |
|
|
155
155
|
| `/tool` | Toggle optional tools (browser/office) |
|
|
156
156
|
|
|
157
157
|
### Keyboard Shortcuts
|
|
@@ -172,6 +172,11 @@ orquesta [options]
|
|
|
172
172
|
|
|
173
173
|
Options:
|
|
174
174
|
-p, --print <prompt> Execute a prompt and exit (non-interactive)
|
|
175
|
+
--token <token> Connect to Orquesta with CLI token (oclt_xxx)
|
|
176
|
+
--switch-project [projectId] Switch to different project
|
|
177
|
+
--status Show Orquesta connection status
|
|
178
|
+
--disconnect Disconnect from Orquesta
|
|
179
|
+
--sync Sync LLM configs with dashboard
|
|
175
180
|
--dangerously-skip-permissions Skip all permission prompts (auto-approve)
|
|
176
181
|
--verbose Enable verbose logging
|
|
177
182
|
--debug Enable debug logging
|
|
@@ -180,6 +185,27 @@ Options:
|
|
|
180
185
|
-V, --version Output version number
|
|
181
186
|
```
|
|
182
187
|
|
|
188
|
+
### Orquesta Dashboard Integration
|
|
189
|
+
|
|
190
|
+
Connect to [Orquesta](https://orquesta.live) to sync LLM configurations across your team:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
# First time: Connect with token (get from https://orquesta.live/dashboard/orquesta-cli)
|
|
194
|
+
orquesta --token oclt_xxxxx
|
|
195
|
+
|
|
196
|
+
# You'll see a project selector - choose your project
|
|
197
|
+
# LLM endpoints will auto-sync from dashboard
|
|
198
|
+
|
|
199
|
+
# Later: Switch to different project
|
|
200
|
+
orquesta --switch-project
|
|
201
|
+
|
|
202
|
+
# Check connection status
|
|
203
|
+
orquesta --status
|
|
204
|
+
|
|
205
|
+
# Manual sync (also available via /sync command while running)
|
|
206
|
+
orquesta --sync
|
|
207
|
+
```
|
|
208
|
+
|
|
183
209
|
---
|
|
184
210
|
|
|
185
211
|
## Office Automation (60+ Tools)
|
package/dist/cli.js
CHANGED
|
@@ -11,6 +11,8 @@ import { setupLogging, logger } from './utils/logger.js';
|
|
|
11
11
|
import { runEvalMode } from './eval/index.js';
|
|
12
12
|
import { initializeOptionalTools } from './tools/registry.js';
|
|
13
13
|
import { sessionManager } from './core/session/session-manager.js';
|
|
14
|
+
import { connectWithToken, showConnectionStatus, disconnectFromOrquesta, switchProject } from './setup/first-run-setup.js';
|
|
15
|
+
import { syncOrquestaConfigs } from './orquesta/config-sync.js';
|
|
14
16
|
const require = createRequire(import.meta.url);
|
|
15
17
|
const packageJson = require('../package.json');
|
|
16
18
|
const program = new Command();
|
|
@@ -26,11 +28,53 @@ program
|
|
|
26
28
|
.option('--debug', 'Enable debug logging')
|
|
27
29
|
.option('--llm-log', 'Enable LLM logging')
|
|
28
30
|
.option('--eval', 'Evaluation mode: read JSON from stdin, output NDJSON events')
|
|
31
|
+
.option('--token <token>', 'Connect to Orquesta dashboard with CLI token')
|
|
32
|
+
.option('--project <projectId>', 'Select project ID when connecting with token')
|
|
33
|
+
.option('--switch-project [projectId]', 'Switch to a different project')
|
|
34
|
+
.option('--status', 'Show Orquesta connection status and exit')
|
|
35
|
+
.option('--disconnect', 'Disconnect from Orquesta and exit')
|
|
36
|
+
.option('--sync', 'Sync configurations with Orquesta and exit')
|
|
29
37
|
.action(async (options) => {
|
|
30
38
|
if (options.eval) {
|
|
31
39
|
await runEvalMode();
|
|
32
40
|
return;
|
|
33
41
|
}
|
|
42
|
+
await configManager.initialize();
|
|
43
|
+
if (options.status) {
|
|
44
|
+
showConnectionStatus();
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (options.disconnect) {
|
|
48
|
+
await disconnectFromOrquesta();
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (options.switchProject !== undefined) {
|
|
52
|
+
const projectId = typeof options.switchProject === 'string' ? options.switchProject : undefined;
|
|
53
|
+
const success = await switchProject(projectId);
|
|
54
|
+
process.exit(success ? 0 : 1);
|
|
55
|
+
}
|
|
56
|
+
if (options.token) {
|
|
57
|
+
const result = await connectWithToken(options.token, options.project);
|
|
58
|
+
if (!result.connected) {
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (options.sync) {
|
|
63
|
+
if (!configManager.hasOrquestaConnection()) {
|
|
64
|
+
console.log(chalk.yellow('Not connected to Orquesta. Use --token to connect first.'));
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
const ora = (await import('ora')).default;
|
|
68
|
+
const spinner = ora({ text: chalk.cyan('Syncing configurations...'), color: 'cyan' }).start();
|
|
69
|
+
const result = await syncOrquestaConfigs();
|
|
70
|
+
if (result.success) {
|
|
71
|
+
spinner.succeed(chalk.green(`Synced: ${result.added} added, ${result.updated} updated, ${result.unchanged} unchanged`));
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
spinner.fail(chalk.red(`Sync failed: ${result.error}`));
|
|
75
|
+
}
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
34
78
|
if (options.print) {
|
|
35
79
|
const { EvalRunner } = await import('./eval/eval-runner.js');
|
|
36
80
|
const runner = new EvalRunner();
|
|
@@ -63,13 +107,24 @@ program
|
|
|
63
107
|
platform: process.platform,
|
|
64
108
|
nodeVersion: process.version,
|
|
65
109
|
});
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
await configManager.initialize();
|
|
69
|
-
logger.flow('Config manager initialized');
|
|
110
|
+
logger.flow('Config manager already initialized');
|
|
111
|
+
spinner.text = chalk.cyan('Loading tools...');
|
|
70
112
|
logger.flow('Initializing optional tools');
|
|
71
113
|
await initializeOptionalTools();
|
|
72
114
|
logger.flow('Optional tools initialized');
|
|
115
|
+
if (configManager.hasOrquestaConnection() && configManager.shouldAutoSync()) {
|
|
116
|
+
spinner.text = chalk.cyan('Syncing with Orquesta...');
|
|
117
|
+
logger.flow('Auto-syncing with Orquesta');
|
|
118
|
+
try {
|
|
119
|
+
const syncResult = await syncOrquestaConfigs();
|
|
120
|
+
if (syncResult.success && (syncResult.added > 0 || syncResult.updated > 0)) {
|
|
121
|
+
logger.flow('Orquesta sync complete', { added: syncResult.added, updated: syncResult.updated });
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
logger.warn('Orquesta sync failed', { error: error instanceof Error ? error.message : String(error) });
|
|
126
|
+
}
|
|
127
|
+
}
|
|
73
128
|
spinner.text = chalk.cyan('Connecting to LLM...');
|
|
74
129
|
let llmClient = null;
|
|
75
130
|
let modelInfo = { model: 'Not configured', endpoint: 'Not configured' };
|
|
@@ -135,6 +190,12 @@ program.on('command:*', () => {
|
|
|
135
190
|
console.error(chalk.red('⚠️ Unknown command.'));
|
|
136
191
|
console.log(chalk.white('Usage: orquesta [options]\n'));
|
|
137
192
|
console.log(chalk.white(' -p, --print <prompt> Execute a prompt and exit\n'));
|
|
193
|
+
console.log(chalk.white(' --token <token> Connect to Orquesta dashboard\n'));
|
|
194
|
+
console.log(chalk.white(' --project <id> Select project when connecting\n'));
|
|
195
|
+
console.log(chalk.white(' --switch-project [id] Switch to a different project\n'));
|
|
196
|
+
console.log(chalk.white(' --status Show Orquesta connection status\n'));
|
|
197
|
+
console.log(chalk.white(' --sync Sync configurations with Orquesta\n'));
|
|
198
|
+
console.log(chalk.white(' --disconnect Disconnect from Orquesta\n'));
|
|
138
199
|
console.log(chalk.white(' --verbose Enable verbose logging\n'));
|
|
139
200
|
console.log(chalk.white(' --debug Enable debug logging\n'));
|
|
140
201
|
console.log(chalk.white('\nUse /help in interactive mode for more help.\n'));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OpenConfig, EndpointConfig, ModelInfo } from '../../types/index.js';
|
|
1
|
+
import { OpenConfig, EndpointConfig, ModelInfo, OrquestaConfig } from '../../types/index.js';
|
|
2
2
|
export declare class ConfigManager {
|
|
3
3
|
private config;
|
|
4
4
|
private initialized;
|
|
@@ -39,6 +39,18 @@ export declare class ConfigManager {
|
|
|
39
39
|
setEnabledTools(toolIds: string[]): Promise<void>;
|
|
40
40
|
enableTool(toolId: string): Promise<void>;
|
|
41
41
|
disableTool(toolId: string): Promise<void>;
|
|
42
|
+
hasOrquestaConnection(): boolean;
|
|
43
|
+
shouldAutoSync(): boolean;
|
|
44
|
+
getOrquestaConfig(): OrquestaConfig | undefined;
|
|
45
|
+
setOrquestaConfig(orquestaConfig: OrquestaConfig): Promise<void>;
|
|
46
|
+
clearOrquestaConnection(): Promise<void>;
|
|
47
|
+
updateLastSync(): Promise<void>;
|
|
48
|
+
mergeOrquestaEndpoints(orquestaEndpoints: EndpointConfig[]): Promise<{
|
|
49
|
+
added: number;
|
|
50
|
+
updated: number;
|
|
51
|
+
unchanged: number;
|
|
52
|
+
}>;
|
|
53
|
+
getLocalOnlyEndpoints(): EndpointConfig[];
|
|
42
54
|
}
|
|
43
55
|
export declare const configManager: ConfigManager;
|
|
44
56
|
//# sourceMappingURL=config-manager.d.ts.map
|
|
@@ -254,6 +254,89 @@ export class ConfigManager {
|
|
|
254
254
|
await this.saveConfig();
|
|
255
255
|
}
|
|
256
256
|
}
|
|
257
|
+
hasOrquestaConnection() {
|
|
258
|
+
if (!this.config) {
|
|
259
|
+
return false;
|
|
260
|
+
}
|
|
261
|
+
return !!this.config.orquesta?.token;
|
|
262
|
+
}
|
|
263
|
+
shouldAutoSync() {
|
|
264
|
+
if (!this.config?.orquesta) {
|
|
265
|
+
return false;
|
|
266
|
+
}
|
|
267
|
+
return this.config.orquesta.autoSync !== false;
|
|
268
|
+
}
|
|
269
|
+
getOrquestaConfig() {
|
|
270
|
+
return this.config?.orquesta;
|
|
271
|
+
}
|
|
272
|
+
async setOrquestaConfig(orquestaConfig) {
|
|
273
|
+
const config = this.getConfig();
|
|
274
|
+
config.orquesta = {
|
|
275
|
+
...config.orquesta,
|
|
276
|
+
...orquestaConfig,
|
|
277
|
+
};
|
|
278
|
+
await this.saveConfig();
|
|
279
|
+
}
|
|
280
|
+
async clearOrquestaConnection() {
|
|
281
|
+
const config = this.getConfig();
|
|
282
|
+
config.orquesta = undefined;
|
|
283
|
+
await this.saveConfig();
|
|
284
|
+
}
|
|
285
|
+
async updateLastSync() {
|
|
286
|
+
if (!this.config?.orquesta) {
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
289
|
+
this.config.orquesta.lastSyncAt = new Date().toISOString();
|
|
290
|
+
await this.saveConfig();
|
|
291
|
+
}
|
|
292
|
+
async mergeOrquestaEndpoints(orquestaEndpoints) {
|
|
293
|
+
const config = this.getConfig();
|
|
294
|
+
let added = 0;
|
|
295
|
+
let updated = 0;
|
|
296
|
+
let unchanged = 0;
|
|
297
|
+
for (const remoteEndpoint of orquestaEndpoints) {
|
|
298
|
+
const existingIndex = config.endpoints.findIndex((ep) => ep.id === remoteEndpoint.id || ep.name === remoteEndpoint.name);
|
|
299
|
+
if (existingIndex >= 0) {
|
|
300
|
+
const existing = config.endpoints[existingIndex];
|
|
301
|
+
const hasChanges = existing.baseUrl !== remoteEndpoint.baseUrl ||
|
|
302
|
+
existing.apiKey !== remoteEndpoint.apiKey ||
|
|
303
|
+
JSON.stringify(existing.models) !== JSON.stringify(remoteEndpoint.models);
|
|
304
|
+
if (hasChanges) {
|
|
305
|
+
config.endpoints[existingIndex] = {
|
|
306
|
+
...remoteEndpoint,
|
|
307
|
+
id: existing.id,
|
|
308
|
+
updatedAt: new Date(),
|
|
309
|
+
};
|
|
310
|
+
updated++;
|
|
311
|
+
}
|
|
312
|
+
else {
|
|
313
|
+
unchanged++;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
config.endpoints.push({
|
|
318
|
+
...remoteEndpoint,
|
|
319
|
+
createdAt: new Date(),
|
|
320
|
+
updatedAt: new Date(),
|
|
321
|
+
});
|
|
322
|
+
added++;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
if (!config.currentEndpoint && config.endpoints.length > 0) {
|
|
326
|
+
config.currentEndpoint = config.endpoints[0].id;
|
|
327
|
+
const firstModel = config.endpoints[0].models.find((m) => m.enabled);
|
|
328
|
+
if (firstModel) {
|
|
329
|
+
config.currentModel = firstModel.id;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
await this.saveConfig();
|
|
333
|
+
await this.updateLastSync();
|
|
334
|
+
return { added, updated, unchanged };
|
|
335
|
+
}
|
|
336
|
+
getLocalOnlyEndpoints() {
|
|
337
|
+
const config = this.getConfig();
|
|
338
|
+
return config.endpoints;
|
|
339
|
+
}
|
|
257
340
|
}
|
|
258
341
|
export const configManager = new ConfigManager();
|
|
259
342
|
//# sourceMappingURL=config-manager.js.map
|
|
@@ -18,6 +18,7 @@ export interface CommandHandlerContext {
|
|
|
18
18
|
onShowSessionBrowser?: () => void;
|
|
19
19
|
onShowSettings?: () => void;
|
|
20
20
|
onShowModelSelector?: () => void;
|
|
21
|
+
onShowProjectSelector?: () => void;
|
|
21
22
|
onShowToolSelector?: () => void;
|
|
22
23
|
onCompact?: () => Promise<CompactResult>;
|
|
23
24
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { sessionManager } from './session/session-manager.js';
|
|
2
2
|
import { usageTracker } from './usage-tracker.js';
|
|
3
3
|
import { logger } from '../utils/logger.js';
|
|
4
|
+
import { fullSync } from '../orquesta/config-sync.js';
|
|
5
|
+
import { configManager } from './config/config-manager.js';
|
|
4
6
|
export async function executeSlashCommand(command, context) {
|
|
5
7
|
const trimmedCommand = command.trim();
|
|
6
8
|
logger.enter('executeSlashCommand', { command: trimmedCommand });
|
|
@@ -144,6 +146,124 @@ export async function executeSlashCommand(command, context) {
|
|
|
144
146
|
},
|
|
145
147
|
};
|
|
146
148
|
}
|
|
149
|
+
if (trimmedCommand === '/sync') {
|
|
150
|
+
logger.flow('Sync command received');
|
|
151
|
+
const orquestaConfig = configManager.getOrquestaConfig();
|
|
152
|
+
if (!orquestaConfig?.token) {
|
|
153
|
+
const notConnectedMessage = `❌ Not connected to Orquesta.\n\nTo sync configurations, first connect using an Orquesta CLI token:\n1. Go to https://orquesta.live/dashboard/orquesta-cli\n2. Generate a CLI token\n3. Run orquesta-cli again and enter your token`;
|
|
154
|
+
const updatedMessages = [
|
|
155
|
+
...context.messages,
|
|
156
|
+
{ role: 'assistant', content: notConnectedMessage },
|
|
157
|
+
];
|
|
158
|
+
context.setMessages(updatedMessages);
|
|
159
|
+
return {
|
|
160
|
+
handled: true,
|
|
161
|
+
shouldContinue: false,
|
|
162
|
+
updatedContext: {
|
|
163
|
+
messages: updatedMessages,
|
|
164
|
+
},
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
const syncingMessage = `🔄 Syncing with Orquesta (${orquestaConfig.projectName || 'project'})...`;
|
|
168
|
+
const inProgressMessages = [
|
|
169
|
+
...context.messages,
|
|
170
|
+
{ role: 'assistant', content: syncingMessage },
|
|
171
|
+
];
|
|
172
|
+
context.setMessages(inProgressMessages);
|
|
173
|
+
try {
|
|
174
|
+
const { pullResult, pushResult } = await fullSync();
|
|
175
|
+
let resultMessage = '';
|
|
176
|
+
if (pullResult.success) {
|
|
177
|
+
if (pullResult.added > 0 || pullResult.updated > 0) {
|
|
178
|
+
resultMessage += `✅ Pulled from dashboard: ${pullResult.added} added, ${pullResult.updated} updated\n`;
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
resultMessage += `✅ Pulled from dashboard: No changes\n`;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
resultMessage += `⚠️ Pull failed: ${pullResult.error}\n`;
|
|
186
|
+
}
|
|
187
|
+
if (pushResult.success) {
|
|
188
|
+
const pushed = pushResult.results?.length || 0;
|
|
189
|
+
if (pushed > 0) {
|
|
190
|
+
resultMessage += `✅ Pushed to dashboard: ${pushed} endpoint(s)`;
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
resultMessage += `✅ Pushed to dashboard: No local changes`;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
resultMessage += `⚠️ Push failed: ${pushResult.error}`;
|
|
198
|
+
}
|
|
199
|
+
const updatedMessages = [
|
|
200
|
+
...context.messages,
|
|
201
|
+
{ role: 'assistant', content: resultMessage },
|
|
202
|
+
];
|
|
203
|
+
context.setMessages(updatedMessages);
|
|
204
|
+
return {
|
|
205
|
+
handled: true,
|
|
206
|
+
shouldContinue: false,
|
|
207
|
+
updatedContext: {
|
|
208
|
+
messages: updatedMessages,
|
|
209
|
+
},
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
catch (error) {
|
|
213
|
+
const errorMessage = `❌ Sync failed: ${error instanceof Error ? error.message : 'Unknown error'}`;
|
|
214
|
+
const updatedMessages = [
|
|
215
|
+
...context.messages,
|
|
216
|
+
{ role: 'assistant', content: errorMessage },
|
|
217
|
+
];
|
|
218
|
+
context.setMessages(updatedMessages);
|
|
219
|
+
return {
|
|
220
|
+
handled: true,
|
|
221
|
+
shouldContinue: false,
|
|
222
|
+
updatedContext: {
|
|
223
|
+
messages: updatedMessages,
|
|
224
|
+
},
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
if (trimmedCommand === '/project') {
|
|
229
|
+
logger.flow('Project command received');
|
|
230
|
+
const orquestaConfig = configManager.getOrquestaConfig();
|
|
231
|
+
if (!orquestaConfig?.token) {
|
|
232
|
+
const notConnectedMessage = `❌ Not connected to Orquesta.\n\nTo switch projects, first connect using an Orquesta CLI token:\n1. Go to https://orquesta.live/dashboard/orquesta-cli\n2. Generate a CLI token\n3. Restart with: orquesta --token <your-token>`;
|
|
233
|
+
const updatedMessages = [
|
|
234
|
+
...context.messages,
|
|
235
|
+
{ role: 'assistant', content: notConnectedMessage },
|
|
236
|
+
];
|
|
237
|
+
context.setMessages(updatedMessages);
|
|
238
|
+
return {
|
|
239
|
+
handled: true,
|
|
240
|
+
shouldContinue: false,
|
|
241
|
+
updatedContext: {
|
|
242
|
+
messages: updatedMessages,
|
|
243
|
+
},
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
if (context.onShowProjectSelector) {
|
|
247
|
+
context.onShowProjectSelector();
|
|
248
|
+
return {
|
|
249
|
+
handled: true,
|
|
250
|
+
shouldContinue: false,
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
const projectMessage = `Use /project in interactive mode to switch between projects.\n\nCurrent project: ${orquestaConfig.projectName || 'Unknown'}`;
|
|
254
|
+
const updatedMessages = [
|
|
255
|
+
...context.messages,
|
|
256
|
+
{ role: 'assistant', content: projectMessage },
|
|
257
|
+
];
|
|
258
|
+
context.setMessages(updatedMessages);
|
|
259
|
+
return {
|
|
260
|
+
handled: true,
|
|
261
|
+
shouldContinue: false,
|
|
262
|
+
updatedContext: {
|
|
263
|
+
messages: updatedMessages,
|
|
264
|
+
},
|
|
265
|
+
};
|
|
266
|
+
}
|
|
147
267
|
if (trimmedCommand === '/help') {
|
|
148
268
|
const helpMessage = `
|
|
149
269
|
Available commands:
|
|
@@ -152,14 +272,23 @@ Available commands:
|
|
|
152
272
|
/compact - Compact conversation to free up context
|
|
153
273
|
/settings - Open settings menu
|
|
154
274
|
/model - Switch between LLM models
|
|
275
|
+
/project - Switch between Orquesta projects
|
|
155
276
|
/tool - Enable/disable optional tools (Browser, Background)
|
|
156
277
|
/load - Load a saved session
|
|
157
278
|
/usage - Show token usage statistics
|
|
279
|
+
/sync - Bidirectional sync with Orquesta dashboard (pull & push LLM configs)
|
|
280
|
+
|
|
281
|
+
CLI Options (restart required):
|
|
282
|
+
--token <token> - Connect to Orquesta with CLI token
|
|
283
|
+
--status - Show Orquesta connection status
|
|
284
|
+
--disconnect - Disconnect from Orquesta
|
|
158
285
|
|
|
159
286
|
Keyboard shortcuts:
|
|
160
287
|
Ctrl+C - Exit
|
|
161
288
|
Ctrl+T - Toggle TODO details
|
|
162
289
|
ESC - Interrupt current execution
|
|
290
|
+
@ - File browser
|
|
291
|
+
/ - Command autocomplete
|
|
163
292
|
|
|
164
293
|
Note: All conversations are automatically saved.
|
|
165
294
|
`;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
interface ValidationResponse {
|
|
2
|
+
valid: boolean;
|
|
3
|
+
projectId?: string;
|
|
4
|
+
projectName?: string;
|
|
5
|
+
organizationId?: string;
|
|
6
|
+
organizationName?: string;
|
|
7
|
+
tokenName?: string;
|
|
8
|
+
supabaseUrl?: string;
|
|
9
|
+
supabaseAnonKey?: string;
|
|
10
|
+
channelName?: string;
|
|
11
|
+
error?: string;
|
|
12
|
+
}
|
|
13
|
+
interface OrquestaProject {
|
|
14
|
+
id: string;
|
|
15
|
+
name: string;
|
|
16
|
+
slug?: string;
|
|
17
|
+
description?: string;
|
|
18
|
+
}
|
|
19
|
+
interface ProjectsResponse {
|
|
20
|
+
organization: {
|
|
21
|
+
id: string;
|
|
22
|
+
name: string;
|
|
23
|
+
};
|
|
24
|
+
projects: OrquestaProject[];
|
|
25
|
+
}
|
|
26
|
+
interface SyncResult {
|
|
27
|
+
success: boolean;
|
|
28
|
+
added: number;
|
|
29
|
+
updated: number;
|
|
30
|
+
unchanged: number;
|
|
31
|
+
error?: string;
|
|
32
|
+
}
|
|
33
|
+
interface PushResult {
|
|
34
|
+
success: boolean;
|
|
35
|
+
results?: Array<{
|
|
36
|
+
id: string;
|
|
37
|
+
status?: string;
|
|
38
|
+
error?: string;
|
|
39
|
+
}>;
|
|
40
|
+
error?: string;
|
|
41
|
+
}
|
|
42
|
+
export declare function fetchOrquestaProjects(token: string): Promise<ProjectsResponse | null>;
|
|
43
|
+
export declare function validateOrquestaToken(token: string): Promise<ValidationResponse>;
|
|
44
|
+
export declare function syncOrquestaConfigs(): Promise<SyncResult>;
|
|
45
|
+
export declare function pushConfigsToOrquesta(): Promise<PushResult>;
|
|
46
|
+
export declare function submitPromptToOrquesta(prompt: {
|
|
47
|
+
content: string;
|
|
48
|
+
context?: Record<string, unknown>;
|
|
49
|
+
llmConfig?: {
|
|
50
|
+
endpoint: string;
|
|
51
|
+
model: string;
|
|
52
|
+
};
|
|
53
|
+
}): Promise<{
|
|
54
|
+
success: boolean;
|
|
55
|
+
promptId?: string;
|
|
56
|
+
error?: string;
|
|
57
|
+
}>;
|
|
58
|
+
export declare function updatePromptStatus(promptId: string, update: {
|
|
59
|
+
status?: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
|
|
60
|
+
result?: string;
|
|
61
|
+
error?: string;
|
|
62
|
+
tokensUsed?: number;
|
|
63
|
+
costCents?: number;
|
|
64
|
+
}): Promise<{
|
|
65
|
+
success: boolean;
|
|
66
|
+
error?: string;
|
|
67
|
+
}>;
|
|
68
|
+
export declare function fullSync(): Promise<{
|
|
69
|
+
pullResult: SyncResult;
|
|
70
|
+
pushResult: PushResult;
|
|
71
|
+
}>;
|
|
72
|
+
export {};
|
|
73
|
+
//# sourceMappingURL=config-sync.d.ts.map
|