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/CLAUDE.md
DELETED
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
# CLAUDE.md
|
|
2
|
-
|
|
3
|
-
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
-
|
|
5
|
-
## Project Overview
|
|
6
|
-
|
|
7
|
-
Local-CLI is an OpenAI-compatible local CLI coding agent for offline enterprise environments. It works with any OpenAI-compatible API (vLLM, Ollama, LM Studio, Azure OpenAI, Google Gemini).
|
|
8
|
-
|
|
9
|
-
## Build, Test, and Lint Commands
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
# Build
|
|
13
|
-
npm run build # Compile TypeScript
|
|
14
|
-
npm run watch # Watch mode compilation
|
|
15
|
-
npm run dev # Run with ts-node (development)
|
|
16
|
-
npm run start # Run compiled dist/cli.js
|
|
17
|
-
|
|
18
|
-
# Test
|
|
19
|
-
npm run test # Full pytest suite (tests/test_eval.py)
|
|
20
|
-
npm run test:quick # Quick tests (skip slow tests)
|
|
21
|
-
|
|
22
|
-
# Code Quality
|
|
23
|
-
npm run lint # Run ESLint on src/**/*.ts
|
|
24
|
-
npm run lint:fix # Auto-fix ESLint issues
|
|
25
|
-
npm run format # Format with Prettier
|
|
26
|
-
npm run prepr # Pre-PR check: lint + build
|
|
27
|
-
|
|
28
|
-
# Electron (optional desktop app)
|
|
29
|
-
npm run electron:dev # Electron development mode
|
|
30
|
-
npm run electron:build # Build Electron app
|
|
31
|
-
npm run electron:package # Package for Windows (creates app.asar)
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Electron Build & Deploy (IMPORTANT)
|
|
35
|
-
|
|
36
|
-
**빌드 후 Windows 배포 시 반드시 확인:**
|
|
37
|
-
|
|
38
|
-
1. `npm run electron:build` - renderer/main/preload 빌드 (dist-electron/)
|
|
39
|
-
2. `npm run electron:package` - app.asar 생성 (release/win-unpacked/resources/)
|
|
40
|
-
3. `cp release/win-unpacked/resources/app.asar /mnt/c/LOCAL-CLI/resources/` - Windows에 배포
|
|
41
|
-
|
|
42
|
-
**주의사항:**
|
|
43
|
-
- `electron:build`만 실행하면 app.asar가 업데이트되지 않음
|
|
44
|
-
- Windows의 app.asar 파일 시간을 확인해서 최신 빌드인지 반드시 검증
|
|
45
|
-
- CSS 변경이 반영 안되면 app.asar 배포 여부 먼저 확인
|
|
46
|
-
- **IMPORTANT**: `npm run electron:package`는 WSL에서 wine 오류가 발생하지만, app.asar는 오류 전에 이미 생성됨. wine 오류는 서명 단계에서 발생하므로 무시해도 됨
|
|
47
|
-
- **절대 금지**: `npx asar pack`으로 수동 패키징하면 node_modules 의존성이 빠져서 앱이 실행 안됨. 반드시 electron-builder가 생성한 app.asar 사용
|
|
48
|
-
|
|
49
|
-
## WSL에서 Windows Electron 앱 실행하기 (IMPORTANT)
|
|
50
|
-
|
|
51
|
-
**잘못된 방법 (절대 사용 금지):**
|
|
52
|
-
```bash
|
|
53
|
-
# 이 방법들은 모두 실패함:
|
|
54
|
-
cmd.exe /c "start C:\LOCAL-CLI\..." # UNC 경로 오류
|
|
55
|
-
cmd.exe /c 'C:\LOCAL-CLI\...' # 작업 디렉토리가 WSL UNC 경로라서 실패
|
|
56
|
-
"/mnt/c/LOCAL-CLI/앱이름.exe" & # 백그라운드에서 조용히 실패
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
**왜 실패하는가:**
|
|
60
|
-
- WSL에서 cmd.exe를 실행하면 현재 작업 디렉토리가 `\\wsl.localhost\Ubuntu-22.04\...` (UNC 경로)로 설정됨
|
|
61
|
-
- CMD.EXE는 UNC 경로를 작업 디렉토리로 지원하지 않음
|
|
62
|
-
- 경로에 공백이 있으면 이스케이핑이 복잡해져서 추가 오류 발생
|
|
63
|
-
|
|
64
|
-
**올바른 방법:**
|
|
65
|
-
```bash
|
|
66
|
-
# PowerShell 사용 (권장)
|
|
67
|
-
powershell.exe -Command "& 'C:\LOCAL-CLI\LOCAL-CLI PowerShell UI.exe'"
|
|
68
|
-
|
|
69
|
-
# 또는 Start-Process 사용
|
|
70
|
-
powershell.exe -Command "Start-Process 'C:\LOCAL-CLI\LOCAL-CLI PowerShell UI.exe'"
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
**앱 실행 확인:**
|
|
74
|
-
```bash
|
|
75
|
-
# 프로세스 확인
|
|
76
|
-
tasklist.exe | grep -i "LOCAL-CLI\|Electron"
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
**주의:** 앱이 실행 후 바로 종료되면 앱 자체의 초기화 오류일 가능성이 높음. 로그 확인 필요.
|
|
80
|
-
|
|
81
|
-
## Architecture
|
|
82
|
-
|
|
83
|
-
### Plan & Execute Pattern
|
|
84
|
-
|
|
85
|
-
The core execution model automatically breaks user requests into TODO lists and executes them sequentially:
|
|
86
|
-
|
|
87
|
-
```
|
|
88
|
-
User Input → Planning LLM (generates TODOs) → Plan Executor → Per-task Agent → Tool Execution → Result
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
Key files:
|
|
92
|
-
- `src/orchestration/plan-executor.ts` - Core execution logic (React-independent pure logic)
|
|
93
|
-
- `src/agents/planner/` - TODO list generation from user requests
|
|
94
|
-
- `src/ui/components/PlanExecuteApp.tsx` - Main interactive UI component
|
|
95
|
-
|
|
96
|
-
### Tool System (6 Categories)
|
|
97
|
-
|
|
98
|
-
Tools are registered in `src/tools/registry.ts` with multi-category support:
|
|
99
|
-
|
|
100
|
-
| Category | Description |
|
|
101
|
-
|----------|-------------|
|
|
102
|
-
| LLM Simple | Called via tool_calls, no sub-LLM (file ops, bash) |
|
|
103
|
-
| LLM Agent | Called via tool_calls, uses sub-LLM (docs search) |
|
|
104
|
-
| System Simple | Auto-triggered by logic, no sub-LLM |
|
|
105
|
-
| System Agent | Auto-triggered by logic, uses sub-LLM |
|
|
106
|
-
| User Commands | Slash commands (/help, /settings, etc.) |
|
|
107
|
-
| MCP Tools | Model Context Protocol tools |
|
|
108
|
-
|
|
109
|
-
### Directory Structure
|
|
110
|
-
|
|
111
|
-
```
|
|
112
|
-
src/
|
|
113
|
-
├── cli.ts # CLI entry point (Commander.js)
|
|
114
|
-
├── constants.ts # Global paths (~/.local-cli/)
|
|
115
|
-
├── core/
|
|
116
|
-
│ ├── llm/llm-client.ts # OpenAI-compatible API wrapper (Axios)
|
|
117
|
-
│ ├── config/ # Settings file management
|
|
118
|
-
│ ├── session/ # Session persistence
|
|
119
|
-
│ └── compact/ # Auto-context compression at 80% capacity
|
|
120
|
-
├── agents/
|
|
121
|
-
│ ├── planner/ # TODO list generation
|
|
122
|
-
│ └── docs-search/ # LLM-based documentation search
|
|
123
|
-
├── orchestration/
|
|
124
|
-
│ └── plan-executor.ts # Main Plan & Execute logic
|
|
125
|
-
├── prompts/ # Centralized prompt management
|
|
126
|
-
│ ├── shared/ # Language/tool/codebase rules
|
|
127
|
-
│ └── agents/ # Agent-specific prompts
|
|
128
|
-
├── tools/
|
|
129
|
-
│ ├── llm/simple/ # File, bash, user interaction tools
|
|
130
|
-
│ ├── browser/ # Chrome/Edge automation (optional)
|
|
131
|
-
│ └── office/ # Word, Excel, PowerPoint (optional, Windows)
|
|
132
|
-
├── ui/
|
|
133
|
-
│ ├── components/ # Ink React components
|
|
134
|
-
│ └── hooks/ # Custom React hooks
|
|
135
|
-
├── errors/ # Typed error classes
|
|
136
|
-
└── utils/
|
|
137
|
-
├── logger.ts # JSON stream logging
|
|
138
|
-
└── platform-utils.ts # OS detection (Windows, WSL, macOS, Linux)
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
### LLM Client
|
|
142
|
-
|
|
143
|
-
`src/core/llm/llm-client.ts` handles all API communication:
|
|
144
|
-
- OpenAI-compatible endpoint support
|
|
145
|
-
- Streaming and non-streaming responses
|
|
146
|
-
- Auto-retry logic (up to 3 attempts)
|
|
147
|
-
- Model-specific preprocessing for reasoning LLMs
|
|
148
|
-
- 10-minute timeout for long requests
|
|
149
|
-
|
|
150
|
-
### Configuration
|
|
151
|
-
|
|
152
|
-
- Home directory: `~/.local-cli/`
|
|
153
|
-
- Config file: `~/.local-cli/config.json`
|
|
154
|
-
- Managed by: `src/core/config/config-manager.ts`
|
|
155
|
-
|
|
156
|
-
## Adding New Tools
|
|
157
|
-
|
|
158
|
-
1. Create tool in appropriate directory under `src/tools/`
|
|
159
|
-
2. Export tool definition with `name`, `description`, `parameters`, and `execute` function
|
|
160
|
-
3. Register in `src/tools/registry.ts` with appropriate categories
|
|
161
|
-
4. Tools requiring approval: set `requiresApproval: true`
|
|
162
|
-
|
|
163
|
-
Tool definition pattern:
|
|
164
|
-
```typescript
|
|
165
|
-
export default [{
|
|
166
|
-
name: 'tool_name',
|
|
167
|
-
description: 'What the tool does',
|
|
168
|
-
parameters: { /* JSON Schema */ },
|
|
169
|
-
execute: async (params, context) => { /* implementation */ }
|
|
170
|
-
}];
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
## Adding Slash Commands
|
|
174
|
-
|
|
175
|
-
Slash commands are handled in `src/core/slash-command-handler.ts`. Register new commands there following the existing pattern.
|
|
176
|
-
|
|
177
|
-
## Debugging
|
|
178
|
-
|
|
179
|
-
CLI flags:
|
|
180
|
-
- `--verbose` - Verbose output
|
|
181
|
-
- `--debug` - Debug mode
|
|
182
|
-
- `--llm-log` - Log LLM requests/responses
|
|
183
|
-
- `--eval` - Evaluation mode (NDJSON event streaming)
|
|
184
|
-
|
|
185
|
-
JSON stream logs are written by `src/utils/logger.ts` for analysis.
|
|
186
|
-
|
|
187
|
-
## Platform Notes
|
|
188
|
-
|
|
189
|
-
- **WSL2**: Browser and Office tools work via network mirroring to Windows host
|
|
190
|
-
- **Windows**: Office tools use COM automation (requires installed Office)
|
|
191
|
-
- **Browser tools**: Require Chrome or Edge installed
|
|
192
|
-
|
|
193
|
-
## Key Patterns
|
|
194
|
-
|
|
195
|
-
- Single tool execution per LLM invocation (enforced)
|
|
196
|
-
- Prompts centralized in `src/prompts/` (no scattered prompts)
|
|
197
|
-
- Plan executor is React-independent for testability
|
|
198
|
-
- TypeScript strict mode enabled with ESM modules
|
|
199
|
-
- Path alias: `@/*` maps to `src/*`
|
package/SECURITY.md
DELETED
|
@@ -1,290 +0,0 @@
|
|
|
1
|
-
# Security Considerations for Orquesta CLI
|
|
2
|
-
|
|
3
|
-
## ⚠️ IMPORTANT: Understanding the Risks
|
|
4
|
-
|
|
5
|
-
Orquesta CLI is a powerful AI coding assistant that can execute commands on your system. **By using this tool, you are giving an AI model the ability to:**
|
|
6
|
-
|
|
7
|
-
- Execute arbitrary bash/PowerShell commands
|
|
8
|
-
- Read and write files on your filesystem
|
|
9
|
-
- Install packages and dependencies
|
|
10
|
-
- Make network requests
|
|
11
|
-
- Access your development environment
|
|
12
|
-
|
|
13
|
-
**Please read this entire document before using Orquesta CLI in production environments.**
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## 🔒 Security Model
|
|
18
|
-
|
|
19
|
-
### Command Execution by Design
|
|
20
|
-
|
|
21
|
-
Orquesta CLI **intentionally** allows the LLM to execute commands. This is a core feature, not a bug. However, this comes with risks:
|
|
22
|
-
|
|
23
|
-
**What can go wrong:**
|
|
24
|
-
- Accidental file deletion
|
|
25
|
-
- Unintended system modifications
|
|
26
|
-
- Resource exhaustion (CPU, memory, disk)
|
|
27
|
-
- Network requests to unintended destinations
|
|
28
|
-
- Credential exposure (if not properly configured)
|
|
29
|
-
|
|
30
|
-
### Built-in Protections
|
|
31
|
-
|
|
32
|
-
We've implemented several security measures:
|
|
33
|
-
|
|
34
|
-
#### 1. Environment Variable Filtering
|
|
35
|
-
```
|
|
36
|
-
✅ Safe vars passed: PATH, HOME, TERM, SHELL
|
|
37
|
-
❌ Blocked patterns: API_KEY, TOKEN, SECRET, PASSWORD
|
|
38
|
-
⚙️ User configurable: safeEnvVars in config.json
|
|
39
|
-
🎯 Explicit per-command: env parameter in tool calls
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
**How to configure:**
|
|
43
|
-
```json
|
|
44
|
-
// ~/.local-cli/config.json
|
|
45
|
-
{
|
|
46
|
-
"safeEnvVars": ["DATABASE_URL", "MY_API_KEY"]
|
|
47
|
-
}
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
#### 2. Dangerous Command Blocking
|
|
51
|
-
```bash
|
|
52
|
-
# Blocked patterns (can be bypassed - see limitations):
|
|
53
|
-
rm -rf /
|
|
54
|
-
sudo rm -rf
|
|
55
|
-
format C:
|
|
56
|
-
Remove-Item -Recurse -Force C:\
|
|
57
|
-
Stop-Computer
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
**⚠️ LIMITATION:** Regex-based blocking can be bypassed with creative escaping. Do not rely on this as your only protection.
|
|
61
|
-
|
|
62
|
-
#### 3. File Size Limits
|
|
63
|
-
```
|
|
64
|
-
Read operations: 100MB max
|
|
65
|
-
Write operations: 50MB max
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
Prevents memory exhaustion from reading/writing massive files.
|
|
69
|
-
|
|
70
|
-
#### 4. CWD Validation
|
|
71
|
-
Working directory must exist and be a valid directory before command execution.
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
## 🛡️ Recommended Security Practices
|
|
76
|
-
|
|
77
|
-
### 1. Use Trusted LLM Endpoints Only
|
|
78
|
-
|
|
79
|
-
**Never use Orquesta CLI with untrusted LLM providers.** A malicious LLM could:
|
|
80
|
-
- Execute destructive commands
|
|
81
|
-
- Exfiltrate sensitive data
|
|
82
|
-
- Install malware
|
|
83
|
-
|
|
84
|
-
**Recommended:**
|
|
85
|
-
- Self-hosted models (vLLM, Ollama)
|
|
86
|
-
- Trusted cloud providers (Anthropic Claude, OpenAI)
|
|
87
|
-
- Your organization's approved endpoints
|
|
88
|
-
|
|
89
|
-
### 2. Run in Isolated Environments
|
|
90
|
-
|
|
91
|
-
**Development/Testing:**
|
|
92
|
-
```bash
|
|
93
|
-
# Use Docker containers
|
|
94
|
-
docker run -it --rm -v $(pwd):/workspace ubuntu bash
|
|
95
|
-
cd /workspace
|
|
96
|
-
npm install -g orquesta-cli
|
|
97
|
-
orquesta
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
**Production:** Consider sandboxing technologies:
|
|
101
|
-
- Docker/Podman containers
|
|
102
|
-
- VMs with snapshot/restore
|
|
103
|
-
- firejail, bubblewrap, or similar sandboxing tools
|
|
104
|
-
|
|
105
|
-
### 3. Review Before Approval
|
|
106
|
-
|
|
107
|
-
**Enable manual approval for destructive operations:**
|
|
108
|
-
```json
|
|
109
|
-
// config.json
|
|
110
|
-
{
|
|
111
|
-
"settings": {
|
|
112
|
-
"autoApprove": false // Recommended for production
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
Always review commands before they execute, especially:
|
|
118
|
-
- File deletions
|
|
119
|
-
- System modifications
|
|
120
|
-
- Package installations
|
|
121
|
-
- Git operations (push, force-push, reset)
|
|
122
|
-
|
|
123
|
-
### 4. Protect Sensitive Environment Variables
|
|
124
|
-
|
|
125
|
-
**Don't export sensitive credentials to your shell:**
|
|
126
|
-
```bash
|
|
127
|
-
# ❌ BAD - Available to all processes
|
|
128
|
-
export DATABASE_PASSWORD="secret123"
|
|
129
|
-
|
|
130
|
-
# ✅ GOOD - Use .env files or secret managers
|
|
131
|
-
# Only load when needed
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
**Use config-based allowlisting:**
|
|
135
|
-
```json
|
|
136
|
-
{
|
|
137
|
-
"safeEnvVars": ["NODE_ENV", "LOG_LEVEL"]
|
|
138
|
-
// Don't add sensitive vars here
|
|
139
|
-
}
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
### 5. Regular Backups
|
|
143
|
-
|
|
144
|
-
**Before using Orquesta CLI on important projects:**
|
|
145
|
-
```bash
|
|
146
|
-
# Git commit your work
|
|
147
|
-
git add -A && git commit -m "Before orquesta session"
|
|
148
|
-
|
|
149
|
-
# Or create a backup
|
|
150
|
-
tar -czf backup-$(date +%Y%m%d).tar.gz .
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
### 6. Monitor File System Changes
|
|
154
|
-
|
|
155
|
-
Use version control to track what the AI modifies:
|
|
156
|
-
```bash
|
|
157
|
-
# After session, review changes
|
|
158
|
-
git diff
|
|
159
|
-
git status
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
### 7. Network Isolation (Optional)
|
|
163
|
-
|
|
164
|
-
For maximum security, run Orquesta CLI without internet access:
|
|
165
|
-
```bash
|
|
166
|
-
# Linux/macOS with network namespace isolation
|
|
167
|
-
unshare --net orquesta
|
|
168
|
-
|
|
169
|
-
# Or use firewall rules to restrict network access
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
---
|
|
173
|
-
|
|
174
|
-
## 🚨 Known Limitations & Attack Vectors
|
|
175
|
-
|
|
176
|
-
### 1. Command Filter Bypasses
|
|
177
|
-
|
|
178
|
-
**The dangerous command filters can be bypassed:**
|
|
179
|
-
```bash
|
|
180
|
-
# Blocked: rm -rf /
|
|
181
|
-
# Bypass examples:
|
|
182
|
-
\rm -rf / # Escaped command
|
|
183
|
-
/bin/rm -rf / # Full path
|
|
184
|
-
bash -c "rm -rf /" # Nested shell
|
|
185
|
-
$(rm -rf /) # Command substitution
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
**Mitigation:** Don't rely solely on filters. Use manual approval and sandboxing.
|
|
189
|
-
|
|
190
|
-
### 2. Environment Variable Leakage
|
|
191
|
-
|
|
192
|
-
Even with filtering, there are edge cases:
|
|
193
|
-
- Environment variables set AFTER Orquesta CLI starts
|
|
194
|
-
- Variables passed through other mechanisms (files, pipes)
|
|
195
|
-
- Variables in command strings
|
|
196
|
-
|
|
197
|
-
**Mitigation:** Review the `env` parameter in tool calls. Check logs.
|
|
198
|
-
|
|
199
|
-
### 3. File Path Traversal
|
|
200
|
-
|
|
201
|
-
While we validate CWD, symlinks and relative paths could potentially access files outside the working directory.
|
|
202
|
-
|
|
203
|
-
**Mitigation:** Run in containers with limited filesystem access.
|
|
204
|
-
|
|
205
|
-
### 4. Resource Exhaustion
|
|
206
|
-
|
|
207
|
-
Despite file size limits, an LLM could:
|
|
208
|
-
- Spawn many background processes
|
|
209
|
-
- Create infinite loops
|
|
210
|
-
- Fill disk with many small files
|
|
211
|
-
|
|
212
|
-
**Mitigation:** Use system resource limits (ulimit, cgroups).
|
|
213
|
-
|
|
214
|
-
### 5. Supply Chain Attacks
|
|
215
|
-
|
|
216
|
-
If your LLM endpoint is compromised, the attacker gains full control.
|
|
217
|
-
|
|
218
|
-
**Mitigation:** Self-host your LLM or use reputable providers only.
|
|
219
|
-
|
|
220
|
-
---
|
|
221
|
-
|
|
222
|
-
## 📊 Security Checklist
|
|
223
|
-
|
|
224
|
-
Before using Orquesta CLI in production:
|
|
225
|
-
|
|
226
|
-
- [ ] Review this entire security document
|
|
227
|
-
- [ ] Use only trusted LLM endpoints
|
|
228
|
-
- [ ] Enable manual approval (`autoApprove: false`)
|
|
229
|
-
- [ ] Configure `safeEnvVars` carefully
|
|
230
|
-
- [ ] Don't export sensitive credentials to shell
|
|
231
|
-
- [ ] Run in isolated environment (Docker/VM)
|
|
232
|
-
- [ ] Create backups before sessions
|
|
233
|
-
- [ ] Use version control to track changes
|
|
234
|
-
- [ ] Review all commands before execution
|
|
235
|
-
- [ ] Monitor file system and network activity
|
|
236
|
-
- [ ] Set up resource limits (ulimit, cgroups)
|
|
237
|
-
- [ ] Have rollback plan ready
|
|
238
|
-
|
|
239
|
-
---
|
|
240
|
-
|
|
241
|
-
## 🆘 If Something Goes Wrong
|
|
242
|
-
|
|
243
|
-
### Immediate Actions
|
|
244
|
-
|
|
245
|
-
1. **Stop Orquesta CLI immediately:** Ctrl+C or kill the process
|
|
246
|
-
2. **Review damage:**
|
|
247
|
-
```bash
|
|
248
|
-
git status # Check modified files
|
|
249
|
-
git diff # See changes
|
|
250
|
-
ps aux | grep node # Check running processes
|
|
251
|
-
```
|
|
252
|
-
3. **Rollback if needed:**
|
|
253
|
-
```bash
|
|
254
|
-
git reset --hard HEAD # Discard all changes (careful!)
|
|
255
|
-
git clean -fd # Remove untracked files
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
### Recovery
|
|
259
|
-
|
|
260
|
-
- Restore from backup
|
|
261
|
-
- Review git history
|
|
262
|
-
- Check for malicious network connections: `netstat -tuln`
|
|
263
|
-
- Scan for malware if suspicious activity detected
|
|
264
|
-
|
|
265
|
-
---
|
|
266
|
-
|
|
267
|
-
## 📝 Reporting Security Issues
|
|
268
|
-
|
|
269
|
-
**Found a security vulnerability?**
|
|
270
|
-
|
|
271
|
-
Please report it responsibly:
|
|
272
|
-
- **Email:** security@orquesta.live (if available)
|
|
273
|
-
- **GitHub:** Create a private security advisory
|
|
274
|
-
- **Do NOT** open public issues for security vulnerabilities
|
|
275
|
-
|
|
276
|
-
---
|
|
277
|
-
|
|
278
|
-
## 📚 Additional Resources
|
|
279
|
-
|
|
280
|
-
- [OWASP Top 10](https://owasp.org/www-project-top-ten/)
|
|
281
|
-
- [Docker Security Best Practices](https://docs.docker.com/engine/security/)
|
|
282
|
-
- [Linux Sandboxing](https://wiki.archlinux.org/title/Security#Sandboxing_applications)
|
|
283
|
-
|
|
284
|
-
---
|
|
285
|
-
|
|
286
|
-
## ⚖️ Disclaimer
|
|
287
|
-
|
|
288
|
-
**USE AT YOUR OWN RISK.** Orquesta CLI is provided "as is" without warranty of any kind. The developers are not responsible for any damage caused by using this tool.
|
|
289
|
-
|
|
290
|
-
By using Orquesta CLI, you acknowledge that you understand the risks and accept full responsibility for any consequences.
|