orquesta-cli 0.1.13 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +373 -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.map +0 -1
- 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
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { configManager } from '../core/config/config-manager.js';
|
|
2
|
+
import { logger } from '../utils/logger.js';
|
|
3
|
+
const ORQUESTA_API = process.env['ORQUESTA_API_URL'] || 'https://orquesta.live';
|
|
4
|
+
export async function fetchOrquestaProjects(token) {
|
|
5
|
+
try {
|
|
6
|
+
const response = await fetch(`${ORQUESTA_API}/api/orquesta-cli/projects`, {
|
|
7
|
+
headers: {
|
|
8
|
+
Authorization: `Bearer ${token}`,
|
|
9
|
+
'Content-Type': 'application/json',
|
|
10
|
+
},
|
|
11
|
+
});
|
|
12
|
+
if (!response.ok) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
return (await response.json());
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export async function validateOrquestaToken(token) {
|
|
22
|
+
try {
|
|
23
|
+
const response = await fetch(`${ORQUESTA_API}/api/agent/validate`, {
|
|
24
|
+
method: 'POST',
|
|
25
|
+
headers: { 'Content-Type': 'application/json' },
|
|
26
|
+
body: JSON.stringify({
|
|
27
|
+
token,
|
|
28
|
+
agentInfo: {
|
|
29
|
+
hostname: (await import('os')).hostname(),
|
|
30
|
+
os: `${(await import('os')).type()} ${(await import('os')).release()}`,
|
|
31
|
+
platform: (await import('os')).platform(),
|
|
32
|
+
type: 'orquesta-cli',
|
|
33
|
+
workingDirectory: process.cwd(),
|
|
34
|
+
},
|
|
35
|
+
}),
|
|
36
|
+
});
|
|
37
|
+
const data = (await response.json());
|
|
38
|
+
if (!response.ok || !data.valid) {
|
|
39
|
+
return {
|
|
40
|
+
valid: false,
|
|
41
|
+
error: data.error || 'Invalid token',
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return data;
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
return {
|
|
48
|
+
valid: false,
|
|
49
|
+
error: error instanceof Error ? error.message : 'Network error',
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export async function syncOrquestaConfigs() {
|
|
54
|
+
const orquestaConfig = configManager.getOrquestaConfig();
|
|
55
|
+
if (!orquestaConfig?.token) {
|
|
56
|
+
return {
|
|
57
|
+
success: false,
|
|
58
|
+
added: 0,
|
|
59
|
+
updated: 0,
|
|
60
|
+
unchanged: 0,
|
|
61
|
+
error: 'Not connected to Orquesta',
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
try {
|
|
65
|
+
logger.flow('Fetching configs from Orquesta');
|
|
66
|
+
const response = await fetch(`${ORQUESTA_API}/api/orquesta-cli/endpoints`, {
|
|
67
|
+
headers: {
|
|
68
|
+
Authorization: `Bearer ${orquestaConfig.token}`,
|
|
69
|
+
'Content-Type': 'application/json',
|
|
70
|
+
},
|
|
71
|
+
});
|
|
72
|
+
if (!response.ok) {
|
|
73
|
+
const errorData = (await response.json());
|
|
74
|
+
return {
|
|
75
|
+
success: false,
|
|
76
|
+
added: 0,
|
|
77
|
+
updated: 0,
|
|
78
|
+
unchanged: 0,
|
|
79
|
+
error: errorData.error || `HTTP ${response.status}`,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
const data = (await response.json());
|
|
83
|
+
const endpoints = data.endpoints || [];
|
|
84
|
+
logger.flow('Received endpoints from Orquesta', { count: endpoints.length });
|
|
85
|
+
const result = await configManager.mergeOrquestaEndpoints(endpoints);
|
|
86
|
+
logger.flow('Sync complete', result);
|
|
87
|
+
return {
|
|
88
|
+
success: true,
|
|
89
|
+
...result,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
logger.error('Failed to sync configs from Orquesta', error);
|
|
94
|
+
return {
|
|
95
|
+
success: false,
|
|
96
|
+
added: 0,
|
|
97
|
+
updated: 0,
|
|
98
|
+
unchanged: 0,
|
|
99
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
export async function pushConfigsToOrquesta() {
|
|
104
|
+
const orquestaConfig = configManager.getOrquestaConfig();
|
|
105
|
+
if (!orquestaConfig?.token) {
|
|
106
|
+
return {
|
|
107
|
+
success: false,
|
|
108
|
+
error: 'Not connected to Orquesta',
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
try {
|
|
112
|
+
const endpoints = configManager.getLocalOnlyEndpoints();
|
|
113
|
+
if (endpoints.length === 0) {
|
|
114
|
+
return {
|
|
115
|
+
success: true,
|
|
116
|
+
results: [],
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
logger.flow('Pushing configs to Orquesta', { count: endpoints.length });
|
|
120
|
+
const response = await fetch(`${ORQUESTA_API}/api/orquesta-cli/config/sync`, {
|
|
121
|
+
method: 'POST',
|
|
122
|
+
headers: {
|
|
123
|
+
Authorization: `Bearer ${orquestaConfig.token}`,
|
|
124
|
+
'Content-Type': 'application/json',
|
|
125
|
+
},
|
|
126
|
+
body: JSON.stringify({ endpoints }),
|
|
127
|
+
});
|
|
128
|
+
if (!response.ok) {
|
|
129
|
+
const errorData = (await response.json());
|
|
130
|
+
return {
|
|
131
|
+
success: false,
|
|
132
|
+
error: errorData.error || `HTTP ${response.status}`,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
const data = (await response.json());
|
|
136
|
+
logger.flow('Push complete', { results: data.results });
|
|
137
|
+
return {
|
|
138
|
+
success: true,
|
|
139
|
+
results: data.results,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
logger.error('Failed to push configs to Orquesta', error);
|
|
144
|
+
return {
|
|
145
|
+
success: false,
|
|
146
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
export async function submitPromptToOrquesta(prompt) {
|
|
151
|
+
const orquestaConfig = configManager.getOrquestaConfig();
|
|
152
|
+
if (!orquestaConfig?.token) {
|
|
153
|
+
return { success: false, error: 'Not connected to Orquesta' };
|
|
154
|
+
}
|
|
155
|
+
try {
|
|
156
|
+
const response = await fetch(`${ORQUESTA_API}/api/orquesta-cli/prompts`, {
|
|
157
|
+
method: 'POST',
|
|
158
|
+
headers: {
|
|
159
|
+
Authorization: `Bearer ${orquestaConfig.token}`,
|
|
160
|
+
'Content-Type': 'application/json',
|
|
161
|
+
},
|
|
162
|
+
body: JSON.stringify({
|
|
163
|
+
content: prompt.content,
|
|
164
|
+
context: prompt.context,
|
|
165
|
+
cliType: 'orquesta-cli',
|
|
166
|
+
llmConfig: prompt.llmConfig,
|
|
167
|
+
}),
|
|
168
|
+
});
|
|
169
|
+
if (!response.ok) {
|
|
170
|
+
const errorData = (await response.json());
|
|
171
|
+
return {
|
|
172
|
+
success: false,
|
|
173
|
+
error: errorData.error || `HTTP ${response.status}`,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
const data = (await response.json());
|
|
177
|
+
return {
|
|
178
|
+
success: true,
|
|
179
|
+
promptId: data.prompt.id,
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
catch (error) {
|
|
183
|
+
logger.warn('Failed to submit prompt to Orquesta', {
|
|
184
|
+
error: error instanceof Error ? error.message : String(error),
|
|
185
|
+
});
|
|
186
|
+
return {
|
|
187
|
+
success: false,
|
|
188
|
+
error: error instanceof Error ? error.message : 'Network error',
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
export async function updatePromptStatus(promptId, update) {
|
|
193
|
+
const orquestaConfig = configManager.getOrquestaConfig();
|
|
194
|
+
if (!orquestaConfig?.token) {
|
|
195
|
+
return { success: false, error: 'Not connected to Orquesta' };
|
|
196
|
+
}
|
|
197
|
+
try {
|
|
198
|
+
const response = await fetch(`${ORQUESTA_API}/api/orquesta-cli/prompts`, {
|
|
199
|
+
method: 'PATCH',
|
|
200
|
+
headers: {
|
|
201
|
+
Authorization: `Bearer ${orquestaConfig.token}`,
|
|
202
|
+
'Content-Type': 'application/json',
|
|
203
|
+
},
|
|
204
|
+
body: JSON.stringify({
|
|
205
|
+
promptId,
|
|
206
|
+
...update,
|
|
207
|
+
}),
|
|
208
|
+
});
|
|
209
|
+
if (!response.ok) {
|
|
210
|
+
const errorData = (await response.json());
|
|
211
|
+
return {
|
|
212
|
+
success: false,
|
|
213
|
+
error: errorData.error || `HTTP ${response.status}`,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
return { success: true };
|
|
217
|
+
}
|
|
218
|
+
catch (error) {
|
|
219
|
+
return {
|
|
220
|
+
success: false,
|
|
221
|
+
error: error instanceof Error ? error.message : 'Network error',
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
export async function fullSync() {
|
|
226
|
+
const pullResult = await syncOrquestaConfigs();
|
|
227
|
+
const pushResult = await pushConfigsToOrquesta();
|
|
228
|
+
return { pullResult, pushResult };
|
|
229
|
+
}
|
|
230
|
+
//# sourceMappingURL=config-sync.js.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare function reportPromptStart(content: string, context?: {
|
|
2
|
+
cwd?: string;
|
|
3
|
+
model?: string;
|
|
4
|
+
endpoint?: string;
|
|
5
|
+
}): Promise<string | null>;
|
|
6
|
+
export declare function reportPromptComplete(trackingId: string, result: {
|
|
7
|
+
success: boolean;
|
|
8
|
+
output?: string;
|
|
9
|
+
error?: string;
|
|
10
|
+
tokensUsed?: number;
|
|
11
|
+
costCents?: number;
|
|
12
|
+
}): Promise<void>;
|
|
13
|
+
export declare function reportPromptCancelled(trackingId: string): Promise<void>;
|
|
14
|
+
export declare function getActivePromptCount(): number;
|
|
15
|
+
export declare function cleanupOldPrompts(maxAgeMs?: number): void;
|
|
16
|
+
//# sourceMappingURL=prompt-reporter.d.ts.map
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { configManager } from '../core/config/config-manager.js';
|
|
2
|
+
import { submitPromptToOrquesta, updatePromptStatus } from './config-sync.js';
|
|
3
|
+
import { logger } from '../utils/logger.js';
|
|
4
|
+
const activePrompts = new Map();
|
|
5
|
+
export async function reportPromptStart(content, context) {
|
|
6
|
+
if (!configManager.hasOrquestaConnection()) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
try {
|
|
10
|
+
const result = await submitPromptToOrquesta({
|
|
11
|
+
content,
|
|
12
|
+
context: {
|
|
13
|
+
cwd: context?.cwd || process.cwd(),
|
|
14
|
+
timestamp: Date.now(),
|
|
15
|
+
},
|
|
16
|
+
llmConfig: context?.model && context?.endpoint
|
|
17
|
+
? { endpoint: context.endpoint, model: context.model }
|
|
18
|
+
: undefined,
|
|
19
|
+
});
|
|
20
|
+
if (result.success && result.promptId) {
|
|
21
|
+
activePrompts.set(result.promptId, {
|
|
22
|
+
promptId: result.promptId,
|
|
23
|
+
startTime: Date.now(),
|
|
24
|
+
content,
|
|
25
|
+
});
|
|
26
|
+
await updatePromptStatus(result.promptId, { status: 'running' });
|
|
27
|
+
return result.promptId;
|
|
28
|
+
}
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
logger.warn('Failed to report prompt start', {
|
|
33
|
+
error: error instanceof Error ? error.message : String(error),
|
|
34
|
+
});
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export async function reportPromptComplete(trackingId, result) {
|
|
39
|
+
if (!trackingId || !configManager.hasOrquestaConnection()) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
await updatePromptStatus(trackingId, {
|
|
44
|
+
status: result.success ? 'completed' : 'failed',
|
|
45
|
+
result: result.output,
|
|
46
|
+
error: result.error,
|
|
47
|
+
tokensUsed: result.tokensUsed,
|
|
48
|
+
costCents: result.costCents,
|
|
49
|
+
});
|
|
50
|
+
activePrompts.delete(trackingId);
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
logger.warn('Failed to report prompt completion', {
|
|
54
|
+
error: error instanceof Error ? error.message : String(error),
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export async function reportPromptCancelled(trackingId) {
|
|
59
|
+
if (!trackingId || !configManager.hasOrquestaConnection()) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
try {
|
|
63
|
+
await updatePromptStatus(trackingId, {
|
|
64
|
+
status: 'cancelled',
|
|
65
|
+
});
|
|
66
|
+
activePrompts.delete(trackingId);
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
logger.warn('Failed to report prompt cancellation', {
|
|
70
|
+
error: error instanceof Error ? error.message : String(error),
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
export function getActivePromptCount() {
|
|
75
|
+
return activePrompts.size;
|
|
76
|
+
}
|
|
77
|
+
export function cleanupOldPrompts(maxAgeMs = 3600000) {
|
|
78
|
+
const now = Date.now();
|
|
79
|
+
for (const [id, prompt] of activePrompts) {
|
|
80
|
+
if (now - prompt.startTime > maxAgeMs) {
|
|
81
|
+
activePrompts.delete(id);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=prompt-reporter.js.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
interface FirstRunResult {
|
|
2
|
+
connected: boolean;
|
|
3
|
+
organizationName?: string;
|
|
4
|
+
projectName?: string;
|
|
5
|
+
configsSynced?: number;
|
|
6
|
+
skipped?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function needsFirstRunSetup(): boolean;
|
|
9
|
+
export declare function runFirstRunSetup(token?: string): Promise<FirstRunResult>;
|
|
10
|
+
export declare function connectWithToken(token: string, projectId?: string): Promise<FirstRunResult>;
|
|
11
|
+
export declare function switchProject(projectId?: string): Promise<boolean>;
|
|
12
|
+
export declare function disconnectFromOrquesta(): Promise<void>;
|
|
13
|
+
export declare function showConnectionStatus(): void;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=first-run-setup.d.ts.map
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import ora from 'ora';
|
|
3
|
+
import { configManager } from '../core/config/config-manager.js';
|
|
4
|
+
import { syncOrquestaConfigs, fetchOrquestaProjects } from '../orquesta/config-sync.js';
|
|
5
|
+
export function needsFirstRunSetup() {
|
|
6
|
+
return !configManager.hasEndpoints() && !configManager.hasOrquestaConnection();
|
|
7
|
+
}
|
|
8
|
+
export async function runFirstRunSetup(token) {
|
|
9
|
+
if (token) {
|
|
10
|
+
return await connectWithToken(token);
|
|
11
|
+
}
|
|
12
|
+
return { connected: false, skipped: true };
|
|
13
|
+
}
|
|
14
|
+
export async function connectWithToken(token, projectId) {
|
|
15
|
+
const spinner = ora({
|
|
16
|
+
text: chalk.cyan('Validating token...'),
|
|
17
|
+
color: 'cyan',
|
|
18
|
+
}).start();
|
|
19
|
+
try {
|
|
20
|
+
const projectsData = await fetchOrquestaProjects(token);
|
|
21
|
+
if (!projectsData) {
|
|
22
|
+
spinner.fail(chalk.red('Invalid token or failed to fetch projects'));
|
|
23
|
+
return { connected: false };
|
|
24
|
+
}
|
|
25
|
+
const { organization, projects } = projectsData;
|
|
26
|
+
if (projects.length === 0) {
|
|
27
|
+
spinner.fail(chalk.red('No projects found in organization'));
|
|
28
|
+
return { connected: false };
|
|
29
|
+
}
|
|
30
|
+
spinner.succeed(chalk.green(`Connected to organization: ${organization.name}`));
|
|
31
|
+
let selectedProject;
|
|
32
|
+
if (projectId) {
|
|
33
|
+
const found = projects.find((p) => p.id === projectId);
|
|
34
|
+
if (!found) {
|
|
35
|
+
console.log(chalk.red(`Project ID ${projectId} not found in organization`));
|
|
36
|
+
return { connected: false };
|
|
37
|
+
}
|
|
38
|
+
selectedProject = found;
|
|
39
|
+
}
|
|
40
|
+
else if (projects.length === 1) {
|
|
41
|
+
selectedProject = projects[0];
|
|
42
|
+
console.log(chalk.cyan(` Auto-selected project: ${selectedProject.name}`));
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
console.log();
|
|
46
|
+
console.log(chalk.cyan(' Select a project to work with:'));
|
|
47
|
+
console.log();
|
|
48
|
+
projects.forEach((project, index) => {
|
|
49
|
+
console.log(chalk.white(` ${index + 1}. ${project.name}`));
|
|
50
|
+
if (project.description) {
|
|
51
|
+
console.log(chalk.dim(` ${project.description}`));
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
console.log();
|
|
55
|
+
console.log(chalk.dim(` Enter project number (1-${projects.length}), or press Enter for ${projects[0].name}:`));
|
|
56
|
+
const readline = await import('readline');
|
|
57
|
+
const rl = readline.createInterface({
|
|
58
|
+
input: process.stdin,
|
|
59
|
+
output: process.stdout,
|
|
60
|
+
});
|
|
61
|
+
const answer = await new Promise((resolve) => {
|
|
62
|
+
rl.question(chalk.cyan(' > '), (ans) => {
|
|
63
|
+
rl.close();
|
|
64
|
+
resolve(ans.trim());
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
if (!answer) {
|
|
68
|
+
selectedProject = projects[0];
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
const num = parseInt(answer, 10);
|
|
72
|
+
if (isNaN(num) || num < 1 || num > projects.length) {
|
|
73
|
+
console.log(chalk.red(`Invalid selection. Using ${projects[0].name}`));
|
|
74
|
+
selectedProject = projects[0];
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
selectedProject = projects[num - 1];
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
console.log(chalk.green(` Selected project: ${selectedProject.name}`));
|
|
82
|
+
await configManager.setOrquestaConfig({
|
|
83
|
+
token,
|
|
84
|
+
organizationId: organization.id,
|
|
85
|
+
organizationName: organization.name,
|
|
86
|
+
projectId: selectedProject.id,
|
|
87
|
+
projectName: selectedProject.name,
|
|
88
|
+
autoSync: true,
|
|
89
|
+
connectedAt: new Date().toISOString(),
|
|
90
|
+
});
|
|
91
|
+
spinner.start(chalk.cyan('Syncing LLM configurations...'));
|
|
92
|
+
const syncResult = await syncOrquestaConfigs();
|
|
93
|
+
if (syncResult.success) {
|
|
94
|
+
const total = syncResult.added + syncResult.updated;
|
|
95
|
+
if (total > 0) {
|
|
96
|
+
spinner.succeed(chalk.green(`Synced ${total} LLM configuration(s) (${syncResult.added} new, ${syncResult.updated} updated)`));
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
spinner.info(chalk.yellow('No LLM configurations found in dashboard. Use /config to add endpoints.'));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
spinner.warn(chalk.yellow(`Sync warning: ${syncResult.error}`));
|
|
104
|
+
}
|
|
105
|
+
console.log();
|
|
106
|
+
console.log(chalk.cyan(' You are now connected to Orquesta!'));
|
|
107
|
+
console.log(chalk.dim(` Organization: ${organization.name}`));
|
|
108
|
+
console.log(chalk.dim(` Project: ${selectedProject.name}`));
|
|
109
|
+
console.log(chalk.dim(` Your prompts and configs will sync with the dashboard.`));
|
|
110
|
+
console.log();
|
|
111
|
+
console.log(chalk.dim(` Use --switch-project to change projects`));
|
|
112
|
+
console.log();
|
|
113
|
+
return {
|
|
114
|
+
connected: true,
|
|
115
|
+
organizationName: organization.name,
|
|
116
|
+
projectName: selectedProject.name,
|
|
117
|
+
configsSynced: syncResult.added + syncResult.updated,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
spinner.fail(chalk.red('Failed to connect to Orquesta'));
|
|
122
|
+
console.error(chalk.red(error instanceof Error ? error.message : String(error)));
|
|
123
|
+
return { connected: false };
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
export async function switchProject(projectId) {
|
|
127
|
+
const orquestaConfig = configManager.getOrquestaConfig();
|
|
128
|
+
if (!orquestaConfig?.token) {
|
|
129
|
+
console.log(chalk.yellow('Not connected to Orquesta.'));
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
const spinner = ora({
|
|
133
|
+
text: chalk.cyan('Fetching projects...'),
|
|
134
|
+
color: 'cyan',
|
|
135
|
+
}).start();
|
|
136
|
+
try {
|
|
137
|
+
const projectsData = await fetchOrquestaProjects(orquestaConfig.token);
|
|
138
|
+
if (!projectsData) {
|
|
139
|
+
spinner.fail(chalk.red('Failed to fetch projects'));
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
const { organization, projects } = projectsData;
|
|
143
|
+
spinner.stop();
|
|
144
|
+
if (projects.length === 0) {
|
|
145
|
+
console.log(chalk.red('No projects found in organization'));
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
let selectedProject;
|
|
149
|
+
if (projectId) {
|
|
150
|
+
const found = projects.find((p) => p.id === projectId);
|
|
151
|
+
if (!found) {
|
|
152
|
+
console.log(chalk.red(`Project ID ${projectId} not found in organization`));
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
selectedProject = found;
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
console.log();
|
|
159
|
+
console.log(chalk.cyan(` Organization: ${organization.name}`));
|
|
160
|
+
console.log(chalk.cyan(` Current project: ${orquestaConfig.projectName || 'None'}`));
|
|
161
|
+
console.log();
|
|
162
|
+
console.log(chalk.cyan(' Select a project:'));
|
|
163
|
+
console.log();
|
|
164
|
+
projects.forEach((project, index) => {
|
|
165
|
+
const current = project.id === orquestaConfig.projectId ? chalk.green(' (current)') : '';
|
|
166
|
+
console.log(chalk.white(` ${index + 1}. ${project.name}${current}`));
|
|
167
|
+
if (project.description) {
|
|
168
|
+
console.log(chalk.dim(` ${project.description}`));
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
console.log();
|
|
172
|
+
const readline = await import('readline');
|
|
173
|
+
const rl = readline.createInterface({
|
|
174
|
+
input: process.stdin,
|
|
175
|
+
output: process.stdout,
|
|
176
|
+
});
|
|
177
|
+
const answer = await new Promise((resolve) => {
|
|
178
|
+
rl.question(chalk.cyan(` Enter project number (1-${projects.length}): `), (ans) => {
|
|
179
|
+
rl.close();
|
|
180
|
+
resolve(ans.trim());
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
const num = parseInt(answer, 10);
|
|
184
|
+
if (isNaN(num) || num < 1 || num > projects.length) {
|
|
185
|
+
console.log(chalk.red('Invalid selection'));
|
|
186
|
+
return false;
|
|
187
|
+
}
|
|
188
|
+
selectedProject = projects[num - 1];
|
|
189
|
+
}
|
|
190
|
+
await configManager.setOrquestaConfig({
|
|
191
|
+
...orquestaConfig,
|
|
192
|
+
projectId: selectedProject.id,
|
|
193
|
+
projectName: selectedProject.name,
|
|
194
|
+
});
|
|
195
|
+
console.log(chalk.green(` Switched to project: ${selectedProject.name}`));
|
|
196
|
+
return true;
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
spinner.fail(chalk.red('Failed to switch project'));
|
|
200
|
+
console.error(chalk.red(error instanceof Error ? error.message : String(error)));
|
|
201
|
+
return false;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
export async function disconnectFromOrquesta() {
|
|
205
|
+
const orquestaConfig = configManager.getOrquestaConfig();
|
|
206
|
+
if (!orquestaConfig?.token) {
|
|
207
|
+
console.log(chalk.yellow('Not connected to Orquesta.'));
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
const spinner = ora({
|
|
211
|
+
text: chalk.cyan('Disconnecting from Orquesta...'),
|
|
212
|
+
color: 'cyan',
|
|
213
|
+
}).start();
|
|
214
|
+
try {
|
|
215
|
+
await configManager.clearOrquestaConnection();
|
|
216
|
+
spinner.succeed(chalk.green('Disconnected from Orquesta'));
|
|
217
|
+
console.log(chalk.dim('Local LLM configurations are preserved.'));
|
|
218
|
+
}
|
|
219
|
+
catch (error) {
|
|
220
|
+
spinner.fail(chalk.red('Failed to disconnect'));
|
|
221
|
+
console.error(chalk.red(error instanceof Error ? error.message : String(error)));
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
export function showConnectionStatus() {
|
|
225
|
+
const orquestaConfig = configManager.getOrquestaConfig();
|
|
226
|
+
if (!orquestaConfig?.token) {
|
|
227
|
+
console.log(chalk.yellow('Not connected to Orquesta'));
|
|
228
|
+
console.log(chalk.dim('Run: orquesta --token <token> to connect'));
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
console.log(chalk.green('Connected to Orquesta'));
|
|
232
|
+
console.log(chalk.dim(` Organization: ${orquestaConfig.organizationName || 'Unknown'}`));
|
|
233
|
+
console.log(chalk.dim(` Project: ${orquestaConfig.projectName || 'Unknown'}`));
|
|
234
|
+
console.log(chalk.dim(` Connected: ${orquestaConfig.connectedAt ? new Date(orquestaConfig.connectedAt).toLocaleString() : 'Unknown'}`));
|
|
235
|
+
console.log(chalk.dim(` Last sync: ${orquestaConfig.lastSyncAt ? new Date(orquestaConfig.lastSyncAt).toLocaleString() : 'Never'}`));
|
|
236
|
+
console.log(chalk.dim(` Auto-sync: ${orquestaConfig.autoSync !== false ? 'Enabled' : 'Disabled'}`));
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=first-run-setup.js.map
|
package/dist/types/index.d.ts
CHANGED
|
@@ -92,6 +92,16 @@ export interface SessionMemory {
|
|
|
92
92
|
includedFiles: string[];
|
|
93
93
|
};
|
|
94
94
|
}
|
|
95
|
+
export interface OrquestaConfig {
|
|
96
|
+
token?: string;
|
|
97
|
+
organizationId?: string;
|
|
98
|
+
organizationName?: string;
|
|
99
|
+
projectId?: string;
|
|
100
|
+
projectName?: string;
|
|
101
|
+
autoSync?: boolean;
|
|
102
|
+
lastSyncAt?: string;
|
|
103
|
+
connectedAt?: string;
|
|
104
|
+
}
|
|
95
105
|
export interface OpenConfig {
|
|
96
106
|
version: string;
|
|
97
107
|
currentEndpoint?: string;
|
|
@@ -105,8 +115,7 @@ export interface OpenConfig {
|
|
|
105
115
|
};
|
|
106
116
|
enabledTools?: string[];
|
|
107
117
|
safeEnvVars?: string[];
|
|
108
|
-
|
|
109
|
-
preferredAgent?: 'local' | 'orquesta' | 'ask';
|
|
118
|
+
orquesta?: OrquestaConfig;
|
|
110
119
|
}
|
|
111
120
|
export interface TodoItem {
|
|
112
121
|
id: string;
|
package/dist/ui/TodoPanel.d.ts
CHANGED
package/dist/ui/TodoPanel.js
CHANGED
|
@@ -100,7 +100,7 @@ export const TodoPanel = React.memo(({ todos, currentTodoId, isProcessing = fals
|
|
|
100
100
|
}
|
|
101
101
|
return true;
|
|
102
102
|
});
|
|
103
|
-
export const TodoStatusBar = React.memo(({ todos }) => {
|
|
103
|
+
export const TodoStatusBar = React.memo(({ todos, projectName }) => {
|
|
104
104
|
useEffect(() => {
|
|
105
105
|
logger.debug('TodoStatusBar rendered', { todoCount: todos.length });
|
|
106
106
|
}, [todos.length]);
|
|
@@ -112,6 +112,11 @@ export const TodoStatusBar = React.memo(({ todos }) => {
|
|
|
112
112
|
const currentTodo = todos.find(t => t.status === 'in_progress');
|
|
113
113
|
const percentage = Math.round((completedCount / todos.length) * 100);
|
|
114
114
|
return (React.createElement(Box, null,
|
|
115
|
+
projectName && (React.createElement(React.Fragment, null,
|
|
116
|
+
React.createElement(Text, { color: "magenta" },
|
|
117
|
+
"\uD83D\uDCC1 ",
|
|
118
|
+
projectName),
|
|
119
|
+
React.createElement(Text, { color: "white" }, " \u2502 "))),
|
|
115
120
|
React.createElement(Text, { color: "greenBright" }, '▓'.repeat(Math.round(percentage / 10))),
|
|
116
121
|
React.createElement(Text, { color: "white" }, '░'.repeat(10 - Math.round(percentage / 10))),
|
|
117
122
|
React.createElement(Text, { color: "cyan" },
|