@rdmind/rdmind 0.0.15-alpha.1 → 0.0.15-alpha.2
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/dist/package.json +15 -10
- package/dist/src/commands/extensions/disable.d.ts +2 -3
- package/dist/src/commands/extensions/disable.js +20 -6
- package/dist/src/commands/extensions/disable.js.map +1 -1
- package/dist/src/commands/extensions/enable.d.ts +2 -3
- package/dist/src/commands/extensions/enable.js +21 -10
- package/dist/src/commands/extensions/enable.js.map +1 -1
- package/dist/src/commands/extensions/examples/context/QWEN.md +8 -0
- package/dist/src/commands/extensions/examples/context/qwen-extension.json +4 -0
- package/dist/src/commands/extensions/examples/custom-commands/commands/fs/grep-code.toml +6 -0
- package/dist/src/commands/extensions/examples/custom-commands/qwen-extension.json +4 -0
- package/dist/src/commands/extensions/examples/exclude-tools/qwen-extension.json +5 -0
- package/dist/src/commands/extensions/examples/mcp-server/example.ts +60 -0
- package/dist/src/commands/extensions/examples/mcp-server/package.json +18 -0
- package/dist/src/commands/extensions/examples/mcp-server/qwen-extension.json +11 -0
- package/dist/src/commands/extensions/examples/mcp-server/tsconfig.json +13 -0
- package/dist/src/commands/extensions/install.d.ts +3 -2
- package/dist/src/commands/extensions/install.js +47 -17
- package/dist/src/commands/extensions/install.js.map +1 -1
- package/dist/src/commands/extensions/install.test.js +86 -9
- package/dist/src/commands/extensions/install.test.js.map +1 -1
- package/dist/src/commands/extensions/link.d.ts +12 -0
- package/dist/src/commands/extensions/link.js +37 -0
- package/dist/src/commands/extensions/link.js.map +1 -0
- package/dist/src/commands/extensions/list.js +1 -1
- package/dist/src/commands/extensions/list.js.map +1 -1
- package/dist/src/commands/extensions/new.d.ts +7 -0
- package/dist/src/commands/extensions/new.js +90 -0
- package/dist/src/commands/extensions/new.js.map +1 -0
- package/dist/src/commands/extensions/new.test.js +59 -0
- package/dist/src/commands/extensions/new.test.js.map +1 -0
- package/dist/src/commands/extensions/uninstall.js +1 -1
- package/dist/src/commands/extensions/uninstall.js.map +1 -1
- package/dist/src/commands/extensions/uninstall.test.js +2 -2
- package/dist/src/commands/extensions/uninstall.test.js.map +1 -1
- package/dist/src/commands/extensions/update.d.ts +2 -1
- package/dist/src/commands/extensions/update.js +80 -14
- package/dist/src/commands/extensions/update.js.map +1 -1
- package/dist/src/commands/extensions.js +4 -0
- package/dist/src/commands/extensions.js.map +1 -1
- package/dist/src/commands/mcp/add.js +6 -1
- package/dist/src/commands/mcp/add.js.map +1 -1
- package/dist/src/commands/mcp/list.js +4 -3
- package/dist/src/commands/mcp/list.js.map +1 -1
- package/dist/src/commands/mcp/remove.js +1 -1
- package/dist/src/commands/mcp/remove.js.map +1 -1
- package/dist/src/config/auth.d.ts +1 -1
- package/dist/src/config/auth.js +4 -4
- package/dist/src/config/auth.js.map +1 -1
- package/dist/src/config/auth.test.js +15 -7
- package/dist/src/config/auth.test.js.map +1 -1
- package/dist/src/config/config.d.ts +7 -2
- package/dist/src/config/config.js +178 -122
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/extension.d.ts +39 -16
- package/dist/src/config/extension.js +349 -192
- package/dist/src/config/extension.js.map +1 -1
- package/dist/src/config/extensions/extensionEnablement.d.ts +47 -0
- package/dist/src/config/extensions/extensionEnablement.js +189 -0
- package/dist/src/config/extensions/extensionEnablement.js.map +1 -0
- package/dist/src/{ui/components/ModelSelectionDialog.test.d.ts → config/extensions/extensionEnablement.test.d.ts} +1 -1
- package/dist/src/config/extensions/extensionEnablement.test.js +333 -0
- package/dist/src/config/extensions/extensionEnablement.test.js.map +1 -0
- package/dist/src/config/extensions/github.d.ts +30 -0
- package/dist/src/config/extensions/github.js +322 -0
- package/dist/src/config/extensions/github.js.map +1 -0
- package/dist/src/config/extensions/github.test.d.ts +6 -0
- package/dist/src/config/extensions/github.test.js +334 -0
- package/dist/src/config/extensions/github.test.js.map +1 -0
- package/dist/src/config/extensions/update.d.ts +19 -0
- package/dist/src/config/extensions/update.js +113 -0
- package/dist/src/config/extensions/update.js.map +1 -0
- package/dist/src/config/extensions/update.test.d.ts +6 -0
- package/dist/src/config/extensions/update.test.js +342 -0
- package/dist/src/config/extensions/update.test.js.map +1 -0
- package/dist/src/config/extensions/variableSchema.d.ts +8 -0
- package/dist/src/config/extensions/variableSchema.js +4 -0
- package/dist/src/config/extensions/variableSchema.js.map +1 -1
- package/dist/src/config/keyBindings.d.ts +5 -1
- package/dist/src/config/keyBindings.js +14 -25
- package/dist/src/config/keyBindings.js.map +1 -1
- package/dist/src/config/settings.d.ts +8 -5
- package/dist/src/config/settings.js +178 -275
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +332 -141
- package/dist/src/config/settingsSchema.js +321 -153
- package/dist/src/config/settingsSchema.js.map +1 -1
- package/dist/src/config/settingsSchema.test.js +64 -57
- package/dist/src/config/settingsSchema.test.js.map +1 -1
- package/dist/src/config/trustedFolders.d.ts +23 -4
- package/dist/src/config/trustedFolders.js +97 -47
- package/dist/src/config/trustedFolders.js.map +1 -1
- package/dist/src/config/trustedFolders.test.js +196 -20
- package/dist/src/config/trustedFolders.test.js.map +1 -1
- package/dist/src/core/auth.d.ts +13 -0
- package/dist/src/core/auth.js +27 -0
- package/dist/src/core/auth.js.map +1 -0
- package/dist/src/core/initializer.d.ts +21 -0
- package/dist/src/core/initializer.js +33 -0
- package/dist/src/core/initializer.js.map +1 -0
- package/dist/src/core/theme.d.ts +12 -0
- package/dist/src/core/theme.js +20 -0
- package/dist/src/core/theme.js.map +1 -0
- package/dist/src/gemini.d.ts +3 -2
- package/dist/src/gemini.js +156 -128
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/gemini.test.js +190 -47
- package/dist/src/gemini.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/nonInteractiveCli.d.ts +2 -1
- package/dist/src/nonInteractiveCli.js +101 -72
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/nonInteractiveCliCommands.d.ts +17 -0
- package/dist/src/nonInteractiveCliCommands.js +79 -0
- package/dist/src/nonInteractiveCliCommands.js.map +1 -0
- package/dist/src/services/BuiltinCommandLoader.js +1 -1
- package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.test.js +30 -18
- package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
- package/dist/src/services/FileCommandLoader.d.ts +2 -0
- package/dist/src/services/FileCommandLoader.js +7 -0
- package/dist/src/services/FileCommandLoader.js.map +1 -1
- package/dist/src/services/McpPromptLoader.js +43 -8
- package/dist/src/services/McpPromptLoader.js.map +1 -1
- package/dist/src/services/McpPromptLoader.test.js +228 -1
- package/dist/src/services/McpPromptLoader.test.js.map +1 -1
- package/dist/src/services/prompt-processors/shellProcessor.js +8 -1
- package/dist/src/services/prompt-processors/shellProcessor.js.map +1 -1
- package/dist/src/test-utils/createExtension.d.ts +15 -0
- package/dist/src/test-utils/createExtension.js +25 -0
- package/dist/src/test-utils/createExtension.js.map +1 -0
- package/dist/src/test-utils/mockCommandContext.js +2 -0
- package/dist/src/test-utils/mockCommandContext.js.map +1 -1
- package/dist/src/test-utils/render.d.ts +5 -1
- package/dist/src/test-utils/render.js +5 -1
- package/dist/src/test-utils/render.js.map +1 -1
- package/dist/src/ui/App.d.ts +1 -10
- package/dist/src/ui/App.js +26 -834
- package/dist/src/ui/App.js.map +1 -1
- package/dist/src/ui/AppContainer.d.ts +17 -0
- package/dist/src/ui/AppContainer.js +1062 -0
- package/dist/src/ui/AppContainer.js.map +1 -0
- package/dist/src/ui/AppContainer.test.d.ts +6 -0
- package/dist/src/ui/AppContainer.test.js +831 -0
- package/dist/src/ui/AppContainer.test.js.map +1 -0
- package/dist/src/ui/IdeIntegrationNudge.d.ts +2 -2
- package/dist/src/ui/IdeIntegrationNudge.js +6 -8
- package/dist/src/ui/IdeIntegrationNudge.js.map +1 -1
- package/dist/src/ui/{components → auth}/AuthDialog.js +8 -4
- package/dist/src/ui/auth/AuthDialog.js.map +1 -0
- package/dist/src/ui/auth/AuthDialog.test.d.ts +6 -0
- package/dist/src/ui/{components → auth}/AuthDialog.test.js +92 -10
- package/dist/src/ui/auth/AuthDialog.test.js.map +1 -0
- package/dist/src/ui/{components → auth}/AuthInProgress.js +2 -2
- package/dist/src/ui/auth/AuthInProgress.js.map +1 -0
- package/dist/src/ui/{hooks/useAuthCommand.d.ts → auth/useAuth.d.ts} +9 -3
- package/dist/src/ui/{hooks/useAuthCommand.js → auth/useAuth.js} +49 -14
- package/dist/src/ui/auth/useAuth.js.map +1 -0
- package/dist/src/ui/commands/aboutCommand.js +9 -3
- package/dist/src/ui/commands/aboutCommand.js.map +1 -1
- package/dist/src/ui/commands/chatCommand.d.ts +2 -0
- package/dist/src/ui/commands/chatCommand.js +93 -3
- package/dist/src/ui/commands/chatCommand.js.map +1 -1
- package/dist/src/ui/commands/clearCommand.js +1 -1
- package/dist/src/ui/commands/clearCommand.js.map +1 -1
- package/dist/src/ui/commands/corgiCommand.js +1 -0
- package/dist/src/ui/commands/corgiCommand.js.map +1 -1
- package/dist/src/ui/commands/directoryCommand.js +2 -2
- package/dist/src/ui/commands/directoryCommand.js.map +1 -1
- package/dist/src/ui/commands/extensionsCommand.js +92 -15
- package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
- package/dist/src/ui/commands/ideCommand.d.ts +1 -2
- package/dist/src/ui/commands/ideCommand.js +19 -10
- package/dist/src/ui/commands/ideCommand.js.map +1 -1
- package/dist/src/ui/commands/mcpCommand.js +88 -261
- package/dist/src/ui/commands/mcpCommand.js.map +1 -1
- package/dist/src/ui/commands/memoryCommand.js +1 -1
- package/dist/src/ui/commands/memoryCommand.js.map +1 -1
- package/dist/src/ui/commands/modelCommand.js +1 -16
- package/dist/src/ui/commands/modelCommand.js.map +1 -1
- package/dist/src/ui/commands/modelCommand.test.js +10 -11
- package/dist/src/ui/commands/modelCommand.test.js.map +1 -1
- package/dist/src/ui/commands/summaryCommand.js +1 -1
- package/dist/src/ui/commands/summaryCommand.js.map +1 -1
- package/dist/src/ui/commands/toolsCommand.js +10 -24
- package/dist/src/ui/commands/toolsCommand.js.map +1 -1
- package/dist/src/ui/commands/types.d.ts +7 -2
- package/dist/src/ui/commands/types.js +0 -1
- package/dist/src/ui/commands/types.js.map +1 -1
- package/dist/src/ui/components/AboutBox.js +2 -2
- package/dist/src/ui/components/AboutBox.js.map +1 -1
- package/dist/src/ui/components/AnsiOutput.d.ts +13 -0
- package/dist/src/ui/components/AnsiOutput.js +12 -0
- package/dist/src/ui/components/AnsiOutput.js.map +1 -0
- package/dist/src/ui/components/AnsiOutput.test.d.ts +6 -0
- package/dist/src/ui/components/AnsiOutput.test.js +97 -0
- package/dist/src/ui/components/AnsiOutput.test.js.map +1 -0
- package/dist/src/ui/components/AppHeader.d.ts +10 -0
- package/dist/src/ui/components/AppHeader.js +19 -0
- package/dist/src/ui/components/AppHeader.js.map +1 -0
- package/dist/src/ui/components/AutoAcceptIndicator.js +5 -5
- package/dist/src/ui/components/AutoAcceptIndicator.js.map +1 -1
- package/dist/src/ui/components/Composer.d.ts +6 -0
- package/dist/src/ui/components/Composer.js +54 -0
- package/dist/src/ui/components/Composer.js.map +1 -0
- package/dist/src/ui/components/Composer.test.d.ts +6 -0
- package/dist/src/ui/components/Composer.test.js +337 -0
- package/dist/src/ui/components/Composer.test.js.map +1 -0
- package/dist/src/ui/components/ConfigInitDisplay.d.ts +6 -0
- package/dist/src/ui/components/ConfigInitDisplay.js +38 -0
- package/dist/src/ui/components/ConfigInitDisplay.js.map +1 -0
- package/dist/src/ui/components/ConsentPrompt.d.ts +13 -0
- package/dist/src/ui/components/ConsentPrompt.js +19 -0
- package/dist/src/ui/components/ConsentPrompt.js.map +1 -0
- package/dist/src/ui/components/ConsentPrompt.test.d.ts +6 -0
- package/dist/src/ui/components/ConsentPrompt.test.js +67 -0
- package/dist/src/ui/components/ConsentPrompt.test.js.map +1 -0
- package/dist/src/ui/components/ConsoleSummaryDisplay.js +2 -2
- package/dist/src/ui/components/ConsoleSummaryDisplay.js.map +1 -1
- package/dist/src/ui/components/ContextSummaryDisplay.js +3 -3
- package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.d.ts +2 -1
- package/dist/src/ui/components/ContextUsageDisplay.js +5 -3
- package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -1
- package/dist/src/ui/components/DebugProfiler.js +2 -2
- package/dist/src/ui/components/DebugProfiler.js.map +1 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.js +7 -7
- package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -1
- package/dist/src/ui/components/DialogManager.d.ts +12 -0
- package/dist/src/ui/components/DialogManager.js +129 -0
- package/dist/src/ui/components/DialogManager.js.map +1 -0
- package/dist/src/ui/components/EditorSettingsDialog.js +16 -7
- package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
- package/dist/src/ui/components/ExitWarning.d.ts +7 -0
- package/dist/src/ui/components/ExitWarning.js +9 -0
- package/dist/src/ui/components/ExitWarning.js.map +1 -0
- package/dist/src/ui/components/FolderTrustDialog.js +22 -9
- package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
- package/dist/src/ui/components/FolderTrustDialog.test.js +37 -12
- package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
- package/dist/src/ui/components/Footer.d.ts +1 -17
- package/dist/src/ui/components/Footer.js +33 -11
- package/dist/src/ui/components/Footer.js.map +1 -1
- package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +5 -0
- package/dist/src/ui/components/GeminiRespondingSpinner.js +7 -2
- package/dist/src/ui/components/GeminiRespondingSpinner.js.map +1 -1
- package/dist/src/ui/components/Header.js +2 -2
- package/dist/src/ui/components/Header.js.map +1 -1
- package/dist/src/ui/components/Help.d.ts +1 -1
- package/dist/src/ui/components/Help.js +9 -6
- package/dist/src/ui/components/Help.js.map +1 -1
- package/dist/src/ui/components/Help.test.d.ts +6 -0
- package/dist/src/ui/components/Help.test.js +57 -0
- package/dist/src/ui/components/Help.test.js.map +1 -0
- package/dist/src/ui/components/HistoryItemDisplay.d.ts +5 -4
- package/dist/src/ui/components/HistoryItemDisplay.js +13 -4
- package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.test.js +90 -9
- package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
- package/dist/src/ui/components/IdeTrustChangeDialog.d.ts +11 -0
- package/dist/src/ui/components/IdeTrustChangeDialog.js +32 -0
- package/dist/src/ui/components/IdeTrustChangeDialog.js.map +1 -0
- package/dist/src/ui/components/IdeTrustChangeDialog.test.d.ts +6 -0
- package/dist/src/ui/components/IdeTrustChangeDialog.test.js +57 -0
- package/dist/src/ui/components/IdeTrustChangeDialog.test.js.map +1 -0
- package/dist/src/ui/components/InputPrompt.d.ts +9 -0
- package/dist/src/ui/components/InputPrompt.js +192 -45
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.js +2 -2
- package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.test.js +4 -0
- package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -1
- package/dist/src/ui/components/LoopDetectionConfirmation.d.ts +13 -0
- package/dist/src/ui/components/LoopDetectionConfirmation.js +37 -0
- package/dist/src/ui/components/LoopDetectionConfirmation.js.map +1 -0
- package/dist/src/ui/components/LoopDetectionConfirmation.test.d.ts +6 -0
- package/dist/src/ui/components/LoopDetectionConfirmation.test.js +28 -0
- package/dist/src/ui/components/LoopDetectionConfirmation.test.js.map +1 -0
- package/dist/src/ui/components/MainContent.d.ts +6 -0
- package/dist/src/ui/components/MainContent.js +28 -0
- package/dist/src/ui/components/MainContent.js.map +1 -0
- package/dist/src/ui/components/MemoryUsageDisplay.js +6 -4
- package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -1
- package/dist/src/ui/components/ModelDialog.d.ts +11 -0
- package/dist/src/ui/components/ModelDialog.js +42 -0
- package/dist/src/ui/components/ModelDialog.js.map +1 -0
- package/dist/src/ui/components/ModelDialog.test.d.ts +6 -0
- package/dist/src/ui/components/ModelDialog.test.js +158 -0
- package/dist/src/ui/components/ModelDialog.test.js.map +1 -0
- package/dist/src/ui/components/ModelStatsDisplay.js +7 -7
- package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -1
- package/dist/src/ui/components/ModelSwitchDialog.js +3 -0
- package/dist/src/ui/components/ModelSwitchDialog.js.map +1 -1
- package/dist/src/ui/components/ModelSwitchDialog.test.js +3 -0
- package/dist/src/ui/components/ModelSwitchDialog.test.js.map +1 -1
- package/dist/src/ui/components/Notifications.d.ts +6 -0
- package/dist/src/ui/components/Notifications.js +23 -0
- package/dist/src/ui/components/Notifications.js.map +1 -0
- package/dist/src/ui/components/OpenAIKeyPrompt.js +63 -39
- package/dist/src/ui/components/OpenAIKeyPrompt.js.map +1 -1
- package/dist/src/ui/components/OpenAIKeyPrompt.test.js +8 -1
- package/dist/src/ui/components/OpenAIKeyPrompt.test.js.map +1 -1
- package/dist/src/ui/components/PermissionsModifyTrustDialog.d.ts +13 -0
- package/dist/src/ui/components/PermissionsModifyTrustDialog.js +48 -0
- package/dist/src/ui/components/PermissionsModifyTrustDialog.js.map +1 -0
- package/dist/src/ui/components/PermissionsModifyTrustDialog.test.d.ts +6 -0
- package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +154 -0
- package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +1 -0
- package/dist/src/ui/components/PrepareLabel.d.ts +5 -5
- package/dist/src/ui/components/PrepareLabel.js +67 -11
- package/dist/src/ui/components/PrepareLabel.js.map +1 -1
- package/dist/src/ui/components/PrepareLabel.test.d.ts +6 -0
- package/dist/src/ui/components/PrepareLabel.test.js +71 -0
- package/dist/src/ui/components/PrepareLabel.test.js.map +1 -0
- package/dist/src/ui/components/ProQuotaDialog.d.ts +13 -0
- package/dist/src/ui/components/ProQuotaDialog.js +23 -0
- package/dist/src/ui/components/ProQuotaDialog.js.map +1 -0
- package/dist/src/ui/components/ProQuotaDialog.test.d.ts +6 -0
- package/dist/src/ui/components/ProQuotaDialog.test.js +58 -0
- package/dist/src/ui/components/ProQuotaDialog.test.js.map +1 -0
- package/dist/src/ui/components/QueuedMessageDisplay.d.ts +9 -0
- package/dist/src/ui/components/QueuedMessageDisplay.js +20 -0
- package/dist/src/ui/components/QueuedMessageDisplay.js.map +1 -0
- package/dist/src/ui/components/QueuedMessageDisplay.test.d.ts +6 -0
- package/dist/src/ui/components/QueuedMessageDisplay.test.js +56 -0
- package/dist/src/ui/components/QueuedMessageDisplay.test.js.map +1 -0
- package/dist/src/ui/components/QuitConfirmationDialog.js +4 -0
- package/dist/src/ui/components/QuitConfirmationDialog.js.map +1 -1
- package/dist/src/ui/components/QuittingDisplay.d.ts +6 -0
- package/dist/src/ui/components/QuittingDisplay.js +20 -0
- package/dist/src/ui/components/QuittingDisplay.js.map +1 -0
- package/dist/src/ui/components/QwenOAuthProgress.js +5 -4
- package/dist/src/ui/components/QwenOAuthProgress.js.map +1 -1
- package/dist/src/ui/components/QwenOAuthProgress.test.js +82 -11
- package/dist/src/ui/components/QwenOAuthProgress.test.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.d.ts +2 -1
- package/dist/src/ui/components/SettingsDialog.js +97 -23
- package/dist/src/ui/components/SettingsDialog.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.test.js +474 -84
- package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/ShellConfirmationDialog.js +5 -2
- package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
- package/dist/src/ui/components/ShellInputPrompt.d.ts +11 -0
- package/dist/src/ui/components/ShellInputPrompt.js +36 -0
- package/dist/src/ui/components/ShellInputPrompt.js.map +1 -0
- package/dist/src/ui/components/ShellModeIndicator.js +2 -2
- package/dist/src/ui/components/ShellModeIndicator.js.map +1 -1
- package/dist/src/ui/components/ShowMoreLines.js +2 -2
- package/dist/src/ui/components/ShowMoreLines.js.map +1 -1
- package/dist/src/ui/components/StatsDisplay.js +6 -6
- package/dist/src/ui/components/StatsDisplay.js.map +1 -1
- package/dist/src/ui/components/SuggestionsDisplay.d.ts +7 -2
- package/dist/src/ui/components/SuggestionsDisplay.js +17 -17
- package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
- package/dist/src/ui/components/ThemeDialog.js +14 -29
- package/dist/src/ui/components/ThemeDialog.js.map +1 -1
- package/dist/src/ui/components/ThemeDialog.test.d.ts +6 -0
- package/dist/src/ui/components/ThemeDialog.test.js +75 -0
- package/dist/src/ui/components/ThemeDialog.test.js.map +1 -0
- package/dist/src/ui/components/Tips.js +2 -2
- package/dist/src/ui/components/Tips.js.map +1 -1
- package/dist/src/ui/components/ToolStatsDisplay.js +4 -4
- package/dist/src/ui/components/ToolStatsDisplay.js.map +1 -1
- package/dist/src/ui/components/UpdateNotification.js +2 -2
- package/dist/src/ui/components/UpdateNotification.js.map +1 -1
- package/dist/src/ui/components/WelcomeBackDialog.js +2 -0
- package/dist/src/ui/components/WelcomeBackDialog.js.map +1 -1
- package/dist/src/ui/components/WorkspaceMigrationDialog.js +14 -11
- package/dist/src/ui/components/WorkspaceMigrationDialog.js.map +1 -1
- package/dist/src/ui/components/messages/CompressionMessage.d.ts +1 -2
- package/dist/src/ui/components/messages/CompressionMessage.js +37 -8
- package/dist/src/ui/components/messages/CompressionMessage.js.map +1 -1
- package/dist/src/ui/components/messages/CompressionMessage.test.d.ts +6 -0
- package/dist/src/ui/components/messages/CompressionMessage.test.js +160 -0
- package/dist/src/ui/components/messages/CompressionMessage.test.js.map +1 -0
- package/dist/src/ui/components/messages/DiffRenderer.d.ts +2 -1
- package/dist/src/ui/components/messages/DiffRenderer.js +14 -22
- package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
- package/dist/src/ui/components/messages/ErrorMessage.js +2 -2
- package/dist/src/ui/components/messages/ErrorMessage.js.map +1 -1
- package/dist/src/ui/components/messages/GeminiMessage.js +2 -2
- package/dist/src/ui/components/messages/GeminiMessage.js.map +1 -1
- package/dist/src/ui/components/messages/InfoMessage.js +2 -2
- package/dist/src/ui/components/messages/InfoMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +53 -21
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +0 -8
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +3 -2
- package/dist/src/ui/components/messages/ToolGroupMessage.js +18 -10
- package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js +17 -15
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessage.d.ts +3 -1
- package/dist/src/ui/components/messages/ToolMessage.js +53 -11
- package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessage.test.js +34 -1
- package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/UserMessage.js +3 -4
- package/dist/src/ui/components/messages/UserMessage.js.map +1 -1
- package/dist/src/ui/components/messages/UserShellMessage.js +2 -2
- package/dist/src/ui/components/messages/UserShellMessage.js.map +1 -1
- package/dist/src/ui/components/messages/WarningMessage.d.ts +11 -0
- package/dist/src/ui/components/messages/WarningMessage.js +10 -0
- package/dist/src/ui/components/messages/WarningMessage.js.map +1 -0
- package/dist/src/ui/components/shared/BaseSelectionList.d.ts +38 -0
- package/dist/src/ui/components/shared/BaseSelectionList.js +72 -0
- package/dist/src/ui/components/shared/BaseSelectionList.js.map +1 -0
- package/dist/src/ui/components/shared/BaseSelectionList.test.d.ts +6 -0
- package/dist/src/ui/components/shared/BaseSelectionList.test.js +376 -0
- package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +1 -0
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.d.ts +35 -0
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.js +13 -0
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.js.map +1 -0
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.d.ts +6 -0
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js +79 -0
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js.map +1 -0
- package/dist/src/ui/components/shared/EnumSelector.d.ts +18 -0
- package/dist/src/ui/components/shared/EnumSelector.js +44 -0
- package/dist/src/ui/components/shared/EnumSelector.js.map +1 -0
- package/dist/src/ui/components/shared/EnumSelector.test.d.ts +6 -0
- package/dist/src/ui/components/shared/EnumSelector.test.js +70 -0
- package/dist/src/ui/components/shared/EnumSelector.test.js.map +1 -0
- package/dist/src/ui/components/shared/MaxSizedBox.js +2 -2
- package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +2 -3
- package/dist/src/ui/components/shared/RadioButtonSelect.js +10 -105
- package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.test.js +115 -92
- package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +1 -1
- package/dist/src/ui/components/shared/ScopeSelector.d.ts +19 -0
- package/dist/src/ui/components/shared/ScopeSelector.js +14 -0
- package/dist/src/ui/components/shared/ScopeSelector.js.map +1 -0
- package/dist/src/ui/components/shared/text-buffer.d.ts +25 -2
- package/dist/src/ui/components/shared/text-buffer.js +296 -187
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
- package/dist/src/ui/components/subagents/create/AgentCreationWizard.js +2 -3
- package/dist/src/ui/components/subagents/create/AgentCreationWizard.js.map +1 -1
- package/dist/src/ui/components/subagents/create/ColorSelector.js +3 -2
- package/dist/src/ui/components/subagents/create/ColorSelector.js.map +1 -1
- package/dist/src/ui/components/subagents/create/CreationSummary.js +6 -5
- package/dist/src/ui/components/subagents/create/CreationSummary.js.map +1 -1
- package/dist/src/ui/components/subagents/create/DescriptionInput.js +2 -3
- package/dist/src/ui/components/subagents/create/DescriptionInput.js.map +1 -1
- package/dist/src/ui/components/subagents/create/GenerationMethodSelector.js +1 -0
- package/dist/src/ui/components/subagents/create/GenerationMethodSelector.js.map +1 -1
- package/dist/src/ui/components/subagents/create/LocationSelector.js +1 -0
- package/dist/src/ui/components/subagents/create/LocationSelector.js.map +1 -1
- package/dist/src/ui/components/subagents/create/TextEntryStep.js +2 -2
- package/dist/src/ui/components/subagents/create/TextEntryStep.js.map +1 -1
- package/dist/src/ui/components/subagents/create/ToolSelector.js +4 -3
- package/dist/src/ui/components/subagents/create/ToolSelector.js.map +1 -1
- package/dist/src/ui/components/subagents/manage/ActionSelectionStep.js +4 -4
- package/dist/src/ui/components/subagents/manage/ActionSelectionStep.js.map +1 -1
- package/dist/src/ui/components/subagents/manage/AgentEditStep.js +1 -0
- package/dist/src/ui/components/subagents/manage/AgentEditStep.js.map +1 -1
- package/dist/src/ui/components/subagents/manage/AgentSelectionStep.js +1 -2
- package/dist/src/ui/components/subagents/manage/AgentSelectionStep.js.map +1 -1
- package/dist/src/ui/components/subagents/manage/AgentsManagerDialog.js +1 -2
- package/dist/src/ui/components/subagents/manage/AgentsManagerDialog.js.map +1 -1
- package/dist/src/ui/components/subagents/runtime/AgentExecutionDisplay.js +9 -10
- package/dist/src/ui/components/subagents/runtime/AgentExecutionDisplay.js.map +1 -1
- package/dist/src/ui/components/views/ExtensionsList.d.ts +6 -0
- package/dist/src/ui/components/views/ExtensionsList.js +47 -0
- package/dist/src/ui/components/views/ExtensionsList.js.map +1 -0
- package/dist/src/ui/components/views/ExtensionsList.test.d.ts +6 -0
- package/dist/src/ui/components/views/ExtensionsList.test.js +97 -0
- package/dist/src/ui/components/views/ExtensionsList.test.js.map +1 -0
- package/dist/src/ui/components/views/McpStatus.d.ts +27 -0
- package/dist/src/ui/components/views/McpStatus.js +77 -0
- package/dist/src/ui/components/views/McpStatus.js.map +1 -0
- package/dist/src/ui/components/views/McpStatus.test.d.ts +6 -0
- package/dist/src/ui/components/views/McpStatus.test.js +117 -0
- package/dist/src/ui/components/views/McpStatus.test.js.map +1 -0
- package/dist/src/ui/components/views/ToolsList.d.ts +14 -0
- package/dist/src/ui/components/views/ToolsList.js +7 -0
- package/dist/src/ui/components/views/ToolsList.js.map +1 -0
- package/dist/src/ui/components/views/ToolsList.test.d.ts +6 -0
- package/dist/src/ui/components/views/ToolsList.test.js +45 -0
- package/dist/src/ui/components/views/ToolsList.test.js.map +1 -0
- package/dist/src/ui/constants.d.ts +1 -0
- package/dist/src/ui/constants.js +1 -0
- package/dist/src/ui/constants.js.map +1 -1
- package/dist/src/ui/contexts/AppContext.d.ts +11 -0
- package/dist/src/ui/contexts/AppContext.js +15 -0
- package/dist/src/ui/contexts/AppContext.js.map +1 -0
- package/dist/src/ui/contexts/ConfigContext.d.ts +9 -0
- package/dist/src/ui/contexts/ConfigContext.js +16 -0
- package/dist/src/ui/contexts/ConfigContext.js.map +1 -0
- package/dist/src/ui/contexts/KeypressContext.d.ts +3 -0
- package/dist/src/ui/contexts/KeypressContext.js +309 -44
- package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.test.js +288 -2
- package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
- package/dist/src/ui/contexts/SessionContext.d.ts +6 -0
- package/dist/src/ui/contexts/SessionContext.js +107 -5
- package/dist/src/ui/contexts/SessionContext.js.map +1 -1
- package/dist/src/ui/contexts/ShellFocusContext.d.ts +7 -0
- package/dist/src/ui/contexts/ShellFocusContext.js +9 -0
- package/dist/src/ui/contexts/ShellFocusContext.js.map +1 -0
- package/dist/src/ui/contexts/UIActionsContext.d.ts +45 -0
- package/dist/src/ui/contexts/UIActionsContext.js +21 -0
- package/dist/src/ui/contexts/UIActionsContext.js.map +1 -0
- package/dist/src/ui/contexts/UIStateContext.d.ts +117 -0
- package/dist/src/ui/contexts/UIStateContext.js +17 -0
- package/dist/src/ui/contexts/UIStateContext.js.map +1 -0
- package/dist/src/ui/hooks/atCommandProcessor.js +12 -12
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.test.js +21 -19
- package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/keyToAnsi.d.ts +15 -0
- package/dist/src/ui/hooks/keyToAnsi.js +67 -0
- package/dist/src/ui/hooks/keyToAnsi.js.map +1 -0
- package/dist/src/ui/hooks/shellCommandProcessor.d.ts +2 -1
- package/dist/src/ui/hooks/shellCommandProcessor.js +65 -15
- package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/shellCommandProcessor.test.js +196 -17
- package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.d.ts +20 -2
- package/dist/src/ui/hooks/slashCommandProcessor.js +41 -82
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/useAtCompletion.js +1 -1
- package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.d.ts +3 -2
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js +20 -18
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +43 -0
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -1
- package/dist/src/ui/hooks/useExtensionUpdates.d.ts +21 -0
- package/dist/src/ui/hooks/useExtensionUpdates.js +116 -0
- package/dist/src/ui/hooks/useExtensionUpdates.js.map +1 -0
- package/dist/src/ui/hooks/useExtensionUpdates.test.d.ts +6 -0
- package/dist/src/ui/hooks/useExtensionUpdates.test.js +243 -0
- package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -0
- package/dist/src/ui/hooks/useFocus.js +10 -0
- package/dist/src/ui/hooks/useFocus.js.map +1 -1
- package/dist/src/ui/hooks/useFolderTrust.js +6 -10
- package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.d.ts +14 -3
- package/dist/src/ui/hooks/useGeminiStream.js +173 -79
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useGitBranchName.js +15 -18
- package/dist/src/ui/hooks/useGitBranchName.js.map +1 -1
- package/dist/src/ui/hooks/useGitBranchName.test.js +49 -53
- package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
- package/dist/src/ui/hooks/useIdeTrustListener.d.ts +16 -0
- package/dist/src/ui/hooks/useIdeTrustListener.js +65 -0
- package/dist/src/ui/hooks/useIdeTrustListener.js.map +1 -0
- package/dist/src/ui/hooks/useIdeTrustListener.test.d.ts +6 -0
- package/dist/src/ui/hooks/useIdeTrustListener.test.js +183 -0
- package/dist/src/ui/hooks/useIdeTrustListener.test.js.map +1 -0
- package/dist/src/ui/hooks/useInputHistoryStore.d.ts +19 -0
- package/dist/src/ui/hooks/useInputHistoryStore.js +81 -0
- package/dist/src/ui/hooks/useInputHistoryStore.js.map +1 -0
- package/dist/src/ui/hooks/useInputHistoryStore.test.d.ts +6 -0
- package/dist/src/ui/hooks/useInputHistoryStore.test.js +234 -0
- package/dist/src/ui/hooks/useInputHistoryStore.test.js.map +1 -0
- package/dist/src/ui/hooks/useLoadingIndicator.d.ts +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.js +2 -2
- package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.test.js +2 -2
- package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
- package/dist/src/ui/hooks/useMemoryMonitor.d.ts +13 -0
- package/dist/src/ui/hooks/useMemoryMonitor.js +28 -0
- package/dist/src/ui/hooks/useMemoryMonitor.js.map +1 -0
- package/dist/src/ui/hooks/useMemoryMonitor.test.d.ts +6 -0
- package/dist/src/ui/hooks/useMemoryMonitor.test.js +57 -0
- package/dist/src/ui/hooks/useMemoryMonitor.test.js.map +1 -0
- package/dist/src/ui/hooks/useMessageQueue.d.ts +2 -1
- package/dist/src/ui/hooks/useMessageQueue.js +5 -3
- package/dist/src/ui/hooks/useMessageQueue.js.map +1 -1
- package/dist/src/ui/hooks/useMessageQueue.test.js +9 -0
- package/dist/src/ui/hooks/useMessageQueue.test.js.map +1 -1
- package/dist/src/ui/hooks/useModelCommand.d.ts +12 -0
- package/dist/src/ui/hooks/useModelCommand.js +21 -0
- package/dist/src/ui/hooks/useModelCommand.js.map +1 -0
- package/dist/src/ui/hooks/useModelCommand.test.d.ts +6 -0
- package/dist/src/ui/hooks/useModelCommand.test.js +35 -0
- package/dist/src/ui/hooks/useModelCommand.test.js.map +1 -0
- package/dist/src/ui/hooks/usePermissionsModifyTrust.d.ts +17 -0
- package/dist/src/ui/hooks/usePermissionsModifyTrust.js +78 -0
- package/dist/src/ui/hooks/usePermissionsModifyTrust.js.map +1 -0
- package/dist/src/ui/hooks/usePermissionsModifyTrust.test.d.ts +6 -0
- package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js +182 -0
- package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js.map +1 -0
- package/dist/src/ui/hooks/usePhraseCycler.d.ts +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.js +11 -8
- package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
- package/dist/src/ui/hooks/useQuotaAndFallback.d.ts +21 -0
- package/dist/src/ui/hooks/useQuotaAndFallback.js +122 -0
- package/dist/src/ui/hooks/useQuotaAndFallback.js.map +1 -0
- package/dist/src/ui/hooks/useQuotaAndFallback.test.d.ts +6 -0
- package/dist/src/ui/hooks/useQuotaAndFallback.test.js +269 -0
- package/dist/src/ui/hooks/useQuotaAndFallback.test.js.map +1 -0
- package/dist/src/ui/hooks/useReactToolScheduler.d.ts +3 -2
- package/dist/src/ui/hooks/useReactToolScheduler.js +23 -17
- package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
- package/dist/src/ui/hooks/useReverseSearchCompletion.d.ts +1 -1
- package/dist/src/ui/hooks/useReverseSearchCompletion.js +67 -20
- package/dist/src/ui/hooks/useReverseSearchCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useSelectionList.d.ts +34 -0
- package/dist/src/ui/hooks/useSelectionList.js +245 -0
- package/dist/src/ui/hooks/useSelectionList.js.map +1 -0
- package/dist/src/ui/hooks/useSelectionList.test.d.ts +6 -0
- package/dist/src/ui/hooks/useSelectionList.test.js +701 -0
- package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -0
- package/dist/src/ui/hooks/useSlashCompletion.d.ts +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.js +281 -67
- package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.test.d.ts +4 -1
- package/dist/src/ui/hooks/useSlashCompletion.test.js +390 -65
- package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useStateAndRef.d.ts +1 -1
- package/dist/src/ui/hooks/useStateAndRef.js +2 -2
- package/dist/src/ui/hooks/useStateAndRef.js.map +1 -1
- package/dist/src/ui/hooks/useThemeCommand.d.ts +1 -1
- package/dist/src/ui/hooks/useThemeCommand.js +3 -14
- package/dist/src/ui/hooks/useThemeCommand.js.map +1 -1
- package/dist/src/ui/hooks/useToolScheduler.test.js +64 -291
- package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
- package/dist/src/ui/hooks/useWelcomeBack.js +2 -2
- package/dist/src/ui/hooks/useWelcomeBack.js.map +1 -1
- package/dist/src/ui/hooks/useWorkspaceMigration.js +2 -1
- package/dist/src/ui/hooks/useWorkspaceMigration.js.map +1 -1
- package/dist/src/ui/keyMatchers.test.js +17 -0
- package/dist/src/ui/keyMatchers.test.js.map +1 -1
- package/dist/src/ui/layouts/DefaultAppLayout.d.ts +9 -0
- package/dist/src/ui/layouts/DefaultAppLayout.js +13 -0
- package/dist/src/ui/layouts/DefaultAppLayout.js.map +1 -0
- package/dist/src/ui/layouts/ScreenReaderAppLayout.d.ts +7 -0
- package/dist/src/ui/layouts/ScreenReaderAppLayout.js +14 -0
- package/dist/src/ui/layouts/ScreenReaderAppLayout.js.map +1 -0
- package/dist/src/ui/models/availableModels.d.ts +3 -0
- package/dist/src/ui/models/availableModels.js +27 -3
- package/dist/src/ui/models/availableModels.js.map +1 -1
- package/dist/src/ui/noninteractive/nonInteractiveUi.d.ts +12 -0
- package/dist/src/ui/noninteractive/nonInteractiveUi.js +28 -0
- package/dist/src/ui/noninteractive/nonInteractiveUi.js.map +1 -0
- package/dist/src/ui/state/extensions.d.ts +42 -0
- package/dist/src/ui/state/extensions.js +62 -0
- package/dist/src/ui/state/extensions.js.map +1 -0
- package/dist/src/ui/themes/ayu.js +1 -1
- package/dist/src/ui/themes/dracula.js +2 -2
- package/dist/src/ui/themes/github-dark.js +1 -1
- package/dist/src/ui/themes/theme.js +19 -19
- package/dist/src/ui/themes/theme.js.map +1 -1
- package/dist/src/ui/types.d.ts +79 -3
- package/dist/src/ui/types.js +14 -0
- package/dist/src/ui/types.js.map +1 -1
- package/dist/src/ui/utils/CodeColorizer.js +3 -2
- package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
- package/dist/src/ui/utils/InlineMarkdownRenderer.js +7 -7
- package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.js +11 -11
- package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.test.js +95 -87
- package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -1
- package/dist/src/ui/utils/TableRenderer.js +4 -4
- package/dist/src/ui/utils/TableRenderer.js.map +1 -1
- package/dist/src/ui/utils/clipboardUtils.js +5 -6
- package/dist/src/ui/utils/clipboardUtils.js.map +1 -1
- package/dist/src/ui/utils/displayUtils.d.ts +1 -0
- package/dist/src/ui/utils/displayUtils.js +7 -4
- package/dist/src/ui/utils/displayUtils.js.map +1 -1
- package/dist/src/ui/utils/displayUtils.test.js +37 -18
- package/dist/src/ui/utils/displayUtils.test.js.map +1 -1
- package/dist/src/ui/utils/highlight.d.ts +11 -0
- package/dist/src/ui/utils/highlight.js +78 -0
- package/dist/src/ui/utils/highlight.js.map +1 -0
- package/dist/src/ui/utils/highlight.test.d.ts +6 -0
- package/dist/src/ui/utils/highlight.test.js +120 -0
- package/dist/src/ui/utils/highlight.test.js.map +1 -0
- package/dist/src/ui/utils/kittyProtocolDetector.js +39 -29
- package/dist/src/ui/utils/kittyProtocolDetector.js.map +1 -1
- package/dist/src/ui/utils/platformConstants.d.ts +24 -1
- package/dist/src/ui/utils/platformConstants.js +26 -1
- package/dist/src/ui/utils/platformConstants.js.map +1 -1
- package/dist/src/ui/utils/textUtils.d.ts +10 -0
- package/dist/src/ui/utils/textUtils.js +108 -3
- package/dist/src/ui/utils/textUtils.js.map +1 -1
- package/dist/src/ui/utils/textUtils.test.d.ts +6 -0
- package/dist/src/ui/utils/textUtils.test.js +132 -0
- package/dist/src/ui/utils/textUtils.test.js.map +1 -0
- package/dist/src/utils/commands.d.ts +20 -0
- package/dist/src/utils/commands.js +53 -0
- package/dist/src/utils/commands.js.map +1 -0
- package/dist/src/utils/commands.test.d.ts +6 -0
- package/dist/src/utils/commands.test.js +115 -0
- package/dist/src/utils/commands.test.js.map +1 -0
- package/dist/src/utils/commentJson.d.ts +9 -0
- package/dist/src/utils/commentJson.js +48 -0
- package/dist/src/utils/commentJson.js.map +1 -0
- package/dist/src/utils/commentJson.test.d.ts +6 -0
- package/dist/src/utils/commentJson.test.js +146 -0
- package/dist/src/utils/commentJson.test.js.map +1 -0
- package/dist/src/utils/deepMerge.d.ts +9 -0
- package/dist/src/utils/deepMerge.js +58 -0
- package/dist/src/utils/deepMerge.js.map +1 -0
- package/dist/src/utils/deepMerge.test.d.ts +6 -0
- package/dist/src/utils/deepMerge.test.js +143 -0
- package/dist/src/utils/deepMerge.test.js.map +1 -0
- package/dist/src/utils/envVarResolver.d.ts +39 -0
- package/dist/src/utils/envVarResolver.js +97 -0
- package/dist/src/utils/envVarResolver.js.map +1 -0
- package/dist/src/utils/envVarResolver.test.d.ts +6 -0
- package/dist/src/utils/envVarResolver.test.js +221 -0
- package/dist/src/utils/envVarResolver.test.js.map +1 -0
- package/dist/src/utils/errors.d.ts +21 -0
- package/dist/src/utils/errors.js +93 -0
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/errors.test.d.ts +6 -0
- package/dist/src/utils/errors.test.js +303 -0
- package/dist/src/utils/errors.test.js.map +1 -0
- package/dist/src/utils/events.d.ts +2 -1
- package/dist/src/utils/events.js +1 -0
- package/dist/src/utils/events.js.map +1 -1
- package/dist/src/utils/math.d.ts +13 -0
- package/dist/src/utils/math.js +14 -0
- package/dist/src/utils/math.js.map +1 -0
- package/dist/src/utils/processUtils.d.ts +13 -0
- package/dist/src/utils/processUtils.js +18 -0
- package/dist/src/utils/processUtils.js.map +1 -0
- package/dist/src/utils/processUtils.test.d.ts +6 -0
- package/dist/src/utils/processUtils.test.js +20 -0
- package/dist/src/utils/processUtils.test.js.map +1 -0
- package/dist/src/utils/relaunch.d.ts +7 -0
- package/dist/src/utils/relaunch.js +57 -0
- package/dist/src/utils/relaunch.js.map +1 -0
- package/dist/src/utils/relaunch.test.d.ts +6 -0
- package/dist/src/utils/relaunch.test.js +273 -0
- package/dist/src/utils/relaunch.test.js.map +1 -0
- package/dist/src/utils/sandbox.d.ts +1 -1
- package/dist/src/utils/sandbox.js +42 -17
- package/dist/src/utils/sandbox.js.map +1 -1
- package/dist/src/utils/settingsUtils.d.ts +16 -6
- package/dist/src/utils/settingsUtils.js +35 -25
- package/dist/src/utils/settingsUtils.js.map +1 -1
- package/dist/src/utils/settingsUtils.test.js +455 -158
- package/dist/src/utils/settingsUtils.test.js.map +1 -1
- package/dist/src/utils/userStartupWarnings.d.ts +1 -1
- package/dist/src/utils/userStartupWarnings.js +1 -1
- package/dist/src/utils/userStartupWarnings.js.map +1 -1
- package/dist/src/utils/windowTitle.d.ts +12 -0
- package/dist/src/utils/windowTitle.js +19 -0
- package/dist/src/utils/windowTitle.js.map +1 -0
- package/dist/src/utils/windowTitle.test.d.ts +6 -0
- package/dist/src/utils/windowTitle.test.js +49 -0
- package/dist/src/utils/windowTitle.test.js.map +1 -0
- package/dist/src/validateNonInterActiveAuth.d.ts +4 -2
- package/dist/src/validateNonInterActiveAuth.js +33 -12
- package/dist/src/validateNonInterActiveAuth.js.map +1 -1
- package/dist/src/zed-integration/fileSystemService.d.ts +1 -0
- package/dist/src/zed-integration/fileSystemService.js +3 -0
- package/dist/src/zed-integration/fileSystemService.js.map +1 -1
- package/dist/src/zed-integration/schema.d.ts +310 -310
- package/dist/src/zed-integration/zedIntegration.d.ts +8 -1
- package/dist/src/zed-integration/zedIntegration.js +32 -15
- package/dist/src/zed-integration/zedIntegration.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +15 -10
- package/dist/src/ui/components/AuthDialog.js.map +0 -1
- package/dist/src/ui/components/AuthDialog.test.js.map +0 -1
- package/dist/src/ui/components/AuthInProgress.js.map +0 -1
- package/dist/src/ui/components/ModelSelectionDialog.d.ts +0 -14
- package/dist/src/ui/components/ModelSelectionDialog.js +0 -26
- package/dist/src/ui/components/ModelSelectionDialog.js.map +0 -1
- package/dist/src/ui/components/ModelSelectionDialog.test.js +0 -124
- package/dist/src/ui/components/ModelSelectionDialog.test.js.map +0 -1
- package/dist/src/ui/hooks/useAuthCommand.js.map +0 -1
- /package/dist/src/{ui/components/AuthDialog.test.d.ts → commands/extensions/new.test.d.ts} +0 -0
- /package/dist/src/ui/{components → auth}/AuthDialog.d.ts +0 -0
- /package/dist/src/ui/{components → auth}/AuthInProgress.d.ts +0 -0
|
@@ -8,15 +8,20 @@ import { vi } from 'vitest';
|
|
|
8
8
|
import { validateAuthMethod } from './auth.js';
|
|
9
9
|
vi.mock('./settings.js', () => ({
|
|
10
10
|
loadEnvironment: vi.fn(),
|
|
11
|
+
loadSettings: vi.fn().mockReturnValue({
|
|
12
|
+
merged: vi.fn().mockReturnValue({}),
|
|
13
|
+
}),
|
|
11
14
|
}));
|
|
12
15
|
describe('validateAuthMethod', () => {
|
|
13
|
-
const originalEnv = process.env;
|
|
14
16
|
beforeEach(() => {
|
|
15
17
|
vi.resetModules();
|
|
16
|
-
|
|
18
|
+
vi.stubEnv('GEMINI_API_KEY', undefined);
|
|
19
|
+
vi.stubEnv('GOOGLE_CLOUD_PROJECT', undefined);
|
|
20
|
+
vi.stubEnv('GOOGLE_CLOUD_LOCATION', undefined);
|
|
21
|
+
vi.stubEnv('GOOGLE_API_KEY', undefined);
|
|
17
22
|
});
|
|
18
23
|
afterEach(() => {
|
|
19
|
-
|
|
24
|
+
vi.unstubAllEnvs();
|
|
20
25
|
});
|
|
21
26
|
it('should return null for LOGIN_WITH_GOOGLE', () => {
|
|
22
27
|
expect(validateAuthMethod(AuthType.LOGIN_WITH_GOOGLE)).toBeNull();
|
|
@@ -26,24 +31,27 @@ describe('validateAuthMethod', () => {
|
|
|
26
31
|
});
|
|
27
32
|
describe('USE_GEMINI', () => {
|
|
28
33
|
it('should return null if GEMINI_API_KEY is set', () => {
|
|
29
|
-
|
|
34
|
+
vi.stubEnv('GEMINI_API_KEY', 'test-key');
|
|
30
35
|
expect(validateAuthMethod(AuthType.USE_GEMINI)).toBeNull();
|
|
31
36
|
});
|
|
32
37
|
it('should return an error message if GEMINI_API_KEY is not set', () => {
|
|
38
|
+
vi.stubEnv('GEMINI_API_KEY', undefined);
|
|
33
39
|
expect(validateAuthMethod(AuthType.USE_GEMINI)).toBe('GEMINI_API_KEY environment variable not found. Add that to your environment and try again (no reload needed if using .env)!');
|
|
34
40
|
});
|
|
35
41
|
});
|
|
36
42
|
describe('USE_VERTEX_AI', () => {
|
|
37
43
|
it('should return null if GOOGLE_CLOUD_PROJECT and GOOGLE_CLOUD_LOCATION are set', () => {
|
|
38
|
-
|
|
39
|
-
|
|
44
|
+
vi.stubEnv('GOOGLE_CLOUD_PROJECT', 'test-project');
|
|
45
|
+
vi.stubEnv('GOOGLE_CLOUD_LOCATION', 'test-location');
|
|
40
46
|
expect(validateAuthMethod(AuthType.USE_VERTEX_AI)).toBeNull();
|
|
41
47
|
});
|
|
42
48
|
it('should return null if GOOGLE_API_KEY is set', () => {
|
|
43
|
-
|
|
49
|
+
vi.stubEnv('GOOGLE_API_KEY', 'test-api-key');
|
|
44
50
|
expect(validateAuthMethod(AuthType.USE_VERTEX_AI)).toBeNull();
|
|
45
51
|
});
|
|
46
52
|
it('should return an error message if no required environment variables are set', () => {
|
|
53
|
+
vi.stubEnv('GOOGLE_CLOUD_PROJECT', undefined);
|
|
54
|
+
vi.stubEnv('GOOGLE_CLOUD_LOCATION', undefined);
|
|
47
55
|
expect(validateAuthMethod(AuthType.USE_VERTEX_AI)).toBe('When using Vertex AI, you must specify either:\n' +
|
|
48
56
|
'• GOOGLE_CLOUD_PROJECT and GOOGLE_CLOUD_LOCATION environment variables.\n' +
|
|
49
57
|
'• GOOGLE_API_KEY environment variable (if using express mode).\n' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.test.js","sourceRoot":"","sources":["../../../src/config/auth.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9B,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"auth.test.js","sourceRoot":"","sources":["../../../src/config/auth.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9B,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;IACxB,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;QACpC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;KACpC,CAAC;CACH,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,YAAY,EAAE,CAAC;QAClB,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACxC,EAAE,CAAC,OAAO,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;QAC9C,EAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;QAC/C,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;YACzC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;YACxC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAClD,6HAA6H,CAC9H,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;YACtF,EAAE,CAAC,OAAO,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAC;YACnD,EAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC;YACrD,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;YAC7C,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;YACrF,EAAE,CAAC,OAAO,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;YAC9C,EAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;YAC/C,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CACrD,kDAAkD;gBAChD,2EAA2E;gBAC3E,kEAAkE;gBAClE,yEAAyE,CAC5E,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAC/C,+BAA+B,CAChC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -7,7 +7,9 @@ import type { FileFilteringOptions } from '@rdmind/rdmind-core';
|
|
|
7
7
|
import { Config, FileDiscoveryService } from '@rdmind/rdmind-core';
|
|
8
8
|
import type { Settings } from './settings.js';
|
|
9
9
|
import type { Extension } from './extension.js';
|
|
10
|
+
import type { ExtensionEnablementManager } from './extensions/extensionEnablement.js';
|
|
10
11
|
export interface CliArgs {
|
|
12
|
+
query: string | undefined;
|
|
11
13
|
model: string | undefined;
|
|
12
14
|
sandbox: boolean | string | undefined;
|
|
13
15
|
sandboxImage: string | undefined;
|
|
@@ -38,10 +40,13 @@ export interface CliArgs {
|
|
|
38
40
|
tavilyApiKey: string | undefined;
|
|
39
41
|
screenReader: boolean | undefined;
|
|
40
42
|
vlmSwitchMode: string | undefined;
|
|
43
|
+
useSmartEdit: boolean | undefined;
|
|
44
|
+
outputFormat: string | undefined;
|
|
41
45
|
}
|
|
42
46
|
export declare function parseArguments(settings: Settings): Promise<CliArgs>;
|
|
43
|
-
export declare function loadHierarchicalGeminiMemory(currentWorkingDirectory: string, includeDirectoriesToReadGemini: readonly string[] | undefined, debugMode: boolean, fileService: FileDiscoveryService, settings: Settings, extensionContextFilePaths
|
|
47
|
+
export declare function loadHierarchicalGeminiMemory(currentWorkingDirectory: string, includeDirectoriesToReadGemini: readonly string[] | undefined, debugMode: boolean, fileService: FileDiscoveryService, settings: Settings, extensionContextFilePaths: string[] | undefined, folderTrust: boolean, memoryImportFormat?: 'flat' | 'tree', fileFilteringOptions?: FileFilteringOptions): Promise<{
|
|
44
48
|
memoryContent: string;
|
|
45
49
|
fileCount: number;
|
|
46
50
|
}>;
|
|
47
|
-
export declare function
|
|
51
|
+
export declare function isDebugMode(argv: CliArgs): boolean;
|
|
52
|
+
export declare function loadCliConfig(settings: Settings, extensions: Extension[], extensionEnablementManager: ExtensionEnablementManager, sessionId: string, argv: CliArgs, cwd?: string): Promise<Config>;
|
|
@@ -3,19 +3,19 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { extensionsCommand } from '../commands/extensions.js';
|
|
7
|
+
import { ApprovalMode, Config, DEFAULT_QWEN_MODEL, DEFAULT_QWEN_EMBEDDING_MODEL, DEFAULT_MEMORY_FILE_FILTERING_OPTIONS, EditTool, FileDiscoveryService, getCurrentGeminiMdFilename, loadServerHierarchicalMemory, setGeminiMdFilename as setServerGeminiMdFilename, ShellTool, WriteFileTool, resolveTelemetrySettings, FatalConfigError, } from '@rdmind/rdmind-core';
|
|
8
|
+
import yargs, {} from 'yargs';
|
|
9
|
+
import { hideBin } from 'yargs/helpers';
|
|
7
10
|
import * as fs from 'node:fs';
|
|
8
|
-
import { homedir } from 'node:os';
|
|
9
11
|
import * as path from 'node:path';
|
|
10
|
-
import
|
|
11
|
-
import { hideBin } from 'yargs/helpers';
|
|
12
|
-
import yargs from 'yargs/yargs';
|
|
13
|
-
import { extensionsCommand } from '../commands/extensions.js';
|
|
14
|
-
import { mcpCommand } from '../commands/mcp.js';
|
|
12
|
+
import { homedir } from 'node:os';
|
|
15
13
|
import { resolvePath } from '../utils/resolvePath.js';
|
|
16
14
|
import { getCliVersion } from '../utils/version.js';
|
|
17
15
|
import { annotateActiveExtensions } from './extension.js';
|
|
18
16
|
import { loadSandboxConfig } from './sandboxConfig.js';
|
|
17
|
+
import { appEvents } from '../utils/events.js';
|
|
18
|
+
import { mcpCommand } from '../commands/mcp.js';
|
|
19
19
|
import { isWorkspaceTrusted } from './trustedFolders.js';
|
|
20
20
|
// Simple console logger for now - replace with actual logger if available
|
|
21
21
|
const logger = {
|
|
@@ -53,17 +53,62 @@ function parseApprovalModeValue(value) {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
export async function parseArguments(settings) {
|
|
56
|
-
const
|
|
57
|
-
|
|
56
|
+
const rawArgv = hideBin(process.argv);
|
|
57
|
+
const yargsInstance = yargs(rawArgv)
|
|
58
58
|
.locale('en')
|
|
59
59
|
.scriptName('rdmind')
|
|
60
60
|
.usage('使用方法: rdmind [options] [command]\n\nRDMind - 启动交互式 CLI,使用 -p/--prompt 进入非交互模式')
|
|
61
|
-
.
|
|
61
|
+
.option('telemetry', {
|
|
62
|
+
type: 'boolean',
|
|
63
|
+
description: '启用遥测?控制是否发送遥测数据',
|
|
64
|
+
})
|
|
65
|
+
.option('telemetry-target', {
|
|
66
|
+
type: 'string',
|
|
67
|
+
choices: ['local', 'gcp'],
|
|
68
|
+
description: '设置遥测目标',
|
|
69
|
+
})
|
|
70
|
+
.option('telemetry-otlp-endpoint', {
|
|
71
|
+
type: 'string',
|
|
72
|
+
description: '设置遥测的 OTLP 端点',
|
|
73
|
+
})
|
|
74
|
+
.option('telemetry-otlp-protocol', {
|
|
75
|
+
type: 'string',
|
|
76
|
+
choices: ['grpc', 'http'],
|
|
77
|
+
description: '设置遥测的 OTLP 协议',
|
|
78
|
+
})
|
|
79
|
+
.option('telemetry-log-prompts', {
|
|
80
|
+
type: 'boolean',
|
|
81
|
+
description: '启用或禁用遥测中用户提示词的日志记录',
|
|
82
|
+
})
|
|
83
|
+
.option('telemetry-outfile', {
|
|
84
|
+
type: 'string',
|
|
85
|
+
description: '将所有遥测输出重定向到指定文件',
|
|
86
|
+
})
|
|
87
|
+
.deprecateOption('telemetry', 'Use the "telemetry.enabled" setting in settings.json instead. This flag will be removed in a future version.')
|
|
88
|
+
.deprecateOption('telemetry-target', 'Use the "telemetry.target" setting in settings.json instead. This flag will be removed in a future version.')
|
|
89
|
+
.deprecateOption('telemetry-otlp-endpoint', 'Use the "telemetry.otlpEndpoint" setting in settings.json instead. This flag will be removed in a future version.')
|
|
90
|
+
.deprecateOption('telemetry-otlp-protocol', 'Use the "telemetry.otlpProtocol" setting in settings.json instead. This flag will be removed in a future version.')
|
|
91
|
+
.deprecateOption('telemetry-log-prompts', 'Use the "telemetry.logPrompts" setting in settings.json instead. This flag will be removed in a future version.')
|
|
92
|
+
.deprecateOption('telemetry-outfile', 'Use the "telemetry.outfile" setting in settings.json instead. This flag will be removed in a future version.')
|
|
93
|
+
.option('debug', {
|
|
94
|
+
alias: 'd',
|
|
95
|
+
type: 'boolean',
|
|
96
|
+
description: 'Run in debug mode?',
|
|
97
|
+
default: false,
|
|
98
|
+
})
|
|
99
|
+
.option('proxy', {
|
|
100
|
+
type: 'string',
|
|
101
|
+
description: 'Proxy for gemini client, like schema://user:password@host:port',
|
|
102
|
+
})
|
|
103
|
+
.deprecateOption('proxy', 'Use the "proxy" setting in settings.json instead. This flag will be removed in a future version.')
|
|
104
|
+
.command('$0 [query..]', '启动 RDMind', (yargsInstance) => yargsInstance
|
|
105
|
+
.positional('query', {
|
|
106
|
+
description: 'Positional prompt. Defaults to one-shot; use -i/--prompt-interactive for interactive.',
|
|
107
|
+
})
|
|
62
108
|
.option('model', {
|
|
63
109
|
alias: 'm',
|
|
64
110
|
type: 'string',
|
|
65
111
|
description: `模型`,
|
|
66
|
-
default: process.env['GEMINI_MODEL'],
|
|
67
112
|
})
|
|
68
113
|
.option('prompt', {
|
|
69
114
|
alias: 'p',
|
|
@@ -83,12 +128,6 @@ export async function parseArguments(settings) {
|
|
|
83
128
|
.option('sandbox-image', {
|
|
84
129
|
type: 'string',
|
|
85
130
|
description: '沙盒镜像',
|
|
86
|
-
})
|
|
87
|
-
.option('debug', {
|
|
88
|
-
alias: 'd',
|
|
89
|
-
type: 'boolean',
|
|
90
|
-
description: '调试模式?',
|
|
91
|
-
default: false,
|
|
92
131
|
})
|
|
93
132
|
.option('all-files', {
|
|
94
133
|
alias: ['a'],
|
|
@@ -111,32 +150,6 @@ export async function parseArguments(settings) {
|
|
|
111
150
|
type: 'string',
|
|
112
151
|
choices: ['plan', 'default', 'auto-edit', 'yolo'],
|
|
113
152
|
description: '设置审批模式:plan(只做规划)、default(提示确认)、auto_edit(接受编辑)、yolo(接受所有工具)',
|
|
114
|
-
})
|
|
115
|
-
.option('telemetry', {
|
|
116
|
-
type: 'boolean',
|
|
117
|
-
description: '启用遥测?控制是否发送遥测数据',
|
|
118
|
-
})
|
|
119
|
-
.option('telemetry-target', {
|
|
120
|
-
type: 'string',
|
|
121
|
-
choices: ['local', 'gcp'],
|
|
122
|
-
description: '设置遥测目标(local 或 gcp)。覆盖设置文件',
|
|
123
|
-
})
|
|
124
|
-
.option('telemetry-otlp-endpoint', {
|
|
125
|
-
type: 'string',
|
|
126
|
-
description: '设置遥测的 OTLP 端点。覆盖环境变量和设置文件',
|
|
127
|
-
})
|
|
128
|
-
.option('telemetry-otlp-protocol', {
|
|
129
|
-
type: 'string',
|
|
130
|
-
choices: ['grpc', 'http'],
|
|
131
|
-
description: '设置遥测的 OTLP 协议(grpc 或 http)。覆盖设置文件',
|
|
132
|
-
})
|
|
133
|
-
.option('telemetry-log-prompts', {
|
|
134
|
-
type: 'boolean',
|
|
135
|
-
description: '启用或禁用遥测中用户提示词的日志记录。覆盖设置文件',
|
|
136
|
-
})
|
|
137
|
-
.option('telemetry-outfile', {
|
|
138
|
-
type: 'string',
|
|
139
|
-
description: '将所有遥测输出重定向到指定文件',
|
|
140
153
|
})
|
|
141
154
|
.option('checkpointing', {
|
|
142
155
|
alias: 'c',
|
|
@@ -152,26 +165,31 @@ export async function parseArguments(settings) {
|
|
|
152
165
|
type: 'array',
|
|
153
166
|
string: true,
|
|
154
167
|
description: '允许的 MCP 服务名称',
|
|
168
|
+
coerce: (mcpServerNames) =>
|
|
169
|
+
// Handle comma-separated values
|
|
170
|
+
mcpServerNames.flatMap((mcpServerName) => mcpServerName.split(',').map((m) => m.trim())),
|
|
155
171
|
})
|
|
156
172
|
.option('allowed-tools', {
|
|
157
173
|
type: 'array',
|
|
158
174
|
string: true,
|
|
159
175
|
description: '无需确认即可运行的工具',
|
|
176
|
+
coerce: (tools) =>
|
|
177
|
+
// Handle comma-separated values
|
|
178
|
+
tools.flatMap((tool) => tool.split(',').map((t) => t.trim())),
|
|
160
179
|
})
|
|
161
180
|
.option('extensions', {
|
|
162
181
|
alias: 'e',
|
|
163
182
|
type: 'array',
|
|
164
183
|
string: true,
|
|
165
184
|
description: '要使用的扩展列表。未提供则使用所有扩展',
|
|
185
|
+
coerce: (extensions) =>
|
|
186
|
+
// Handle comma-separated values
|
|
187
|
+
extensions.flatMap((extension) => extension.split(',').map((e) => e.trim())),
|
|
166
188
|
})
|
|
167
189
|
.option('list-extensions', {
|
|
168
190
|
alias: 'l',
|
|
169
191
|
type: 'boolean',
|
|
170
192
|
description: '列出所有可用扩展并退出',
|
|
171
|
-
})
|
|
172
|
-
.option('proxy', {
|
|
173
|
-
type: 'string',
|
|
174
|
-
description: '客户端代理,格式如 schema://user:password@host:port',
|
|
175
193
|
})
|
|
176
194
|
.option('include-directories', {
|
|
177
195
|
type: 'array',
|
|
@@ -200,26 +218,51 @@ export async function parseArguments(settings) {
|
|
|
200
218
|
.option('screen-reader', {
|
|
201
219
|
type: 'boolean',
|
|
202
220
|
description: '启用 screen-reader',
|
|
203
|
-
default: false,
|
|
204
221
|
})
|
|
205
222
|
.option('vlm-switch-mode', {
|
|
206
223
|
type: 'string',
|
|
207
224
|
choices: ['once', 'session', 'persist'],
|
|
208
225
|
description: '检测到输入中包含图像时的默认行为。可选值:once(切换一次)、session(整个会话期间切换)、persist(继续使用当前模型)。会覆盖设置文件的配置',
|
|
209
226
|
default: process.env['VLM_SWITCH_MODE'],
|
|
227
|
+
})
|
|
228
|
+
.option('output-format', {
|
|
229
|
+
alias: 'o',
|
|
230
|
+
type: 'string',
|
|
231
|
+
description: 'The format of the CLI output.',
|
|
232
|
+
choices: ['text', 'json'],
|
|
233
|
+
})
|
|
234
|
+
.deprecateOption('show-memory-usage', 'Use the "ui.showMemoryUsage" setting in settings.json instead. This flag will be removed in a future version.')
|
|
235
|
+
.deprecateOption('sandbox-image', 'Use the "tools.sandbox" setting in settings.json instead. This flag will be removed in a future version.')
|
|
236
|
+
.deprecateOption('checkpointing', 'Use the "general.checkpointing.enabled" setting in settings.json instead. This flag will be removed in a future version.')
|
|
237
|
+
.deprecateOption('all-files', 'Use @ includes in the application instead. This flag will be removed in a future version.')
|
|
238
|
+
.deprecateOption('prompt', 'Use the positional prompt instead. This flag will be removed in a future version.')
|
|
239
|
+
// Ensure validation flows through .fail() for clean UX
|
|
240
|
+
.fail((msg, err, yargs) => {
|
|
241
|
+
console.error(msg || err?.message || 'Unknown error');
|
|
242
|
+
yargs.showHelp();
|
|
243
|
+
process.exit(1);
|
|
210
244
|
})
|
|
211
245
|
.check((argv) => {
|
|
212
|
-
|
|
213
|
-
|
|
246
|
+
// The 'query' positional can be a string (for one arg) or string[] (for multiple).
|
|
247
|
+
// This guard safely checks if any positional argument was provided.
|
|
248
|
+
const query = argv['query'];
|
|
249
|
+
const hasPositionalQuery = Array.isArray(query)
|
|
250
|
+
? query.length > 0
|
|
251
|
+
: !!query;
|
|
252
|
+
if (argv['prompt'] && hasPositionalQuery) {
|
|
253
|
+
return '不能同时使用位置参数提示词和 --prompt (-p) 标志';
|
|
254
|
+
}
|
|
255
|
+
if (argv['prompt'] && argv['promptInteractive']) {
|
|
256
|
+
return '不能同时使用 --prompt (-p) 和 --prompt-interactive (-i)';
|
|
214
257
|
}
|
|
215
|
-
if (argv
|
|
216
|
-
|
|
258
|
+
if (argv['yolo'] && argv['approvalMode']) {
|
|
259
|
+
return '不能同时使用 --yolo (-y) 和 --approval-mode。请使用 --approval-mode=yolo 替代';
|
|
217
260
|
}
|
|
218
261
|
return true;
|
|
219
262
|
}))
|
|
220
263
|
// Register MCP subcommands
|
|
221
264
|
.command(mcpCommand);
|
|
222
|
-
if (settings?.experimental?.extensionManagement ??
|
|
265
|
+
if (settings?.experimental?.extensionManagement ?? true) {
|
|
223
266
|
yargsInstance.command(extensionsCommand);
|
|
224
267
|
}
|
|
225
268
|
yargsInstance
|
|
@@ -231,6 +274,7 @@ export async function parseArguments(settings) {
|
|
|
231
274
|
.demandCommand(0, 0); // Allow base command to run with no subcommands
|
|
232
275
|
yargsInstance.wrap(yargsInstance.terminalWidth());
|
|
233
276
|
const result = await yargsInstance.parse();
|
|
277
|
+
// If yargs handled --help/--version it will have exited; nothing to do here.
|
|
234
278
|
// Handle case where MCP subcommands are executed - they should exit the process
|
|
235
279
|
// and not return to main CLI logic
|
|
236
280
|
if (result._.length > 0 &&
|
|
@@ -238,6 +282,23 @@ export async function parseArguments(settings) {
|
|
|
238
282
|
// MCP commands handle their own execution and process exit
|
|
239
283
|
process.exit(0);
|
|
240
284
|
}
|
|
285
|
+
// Normalize query args: handle both quoted "@path file" and unquoted @path file
|
|
286
|
+
const queryArg = result.query;
|
|
287
|
+
const q = Array.isArray(queryArg)
|
|
288
|
+
? queryArg.join(' ')
|
|
289
|
+
: queryArg;
|
|
290
|
+
// Route positional args: explicit -i flag -> interactive; else -> one-shot (even for @commands)
|
|
291
|
+
if (q && !result['prompt']) {
|
|
292
|
+
const hasExplicitInteractive = result['promptInteractive'] === '' || !!result['promptInteractive'];
|
|
293
|
+
if (hasExplicitInteractive) {
|
|
294
|
+
result['promptInteractive'] = q;
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
result['prompt'] = q;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
// Keep CliArgs.query as a string for downstream typing
|
|
301
|
+
result['query'] = q || undefined;
|
|
241
302
|
// The import format is now only controlled by settings.memoryImportFormat
|
|
242
303
|
// We no longer accept it as a CLI argument
|
|
243
304
|
return result;
|
|
@@ -245,7 +306,7 @@ export async function parseArguments(settings) {
|
|
|
245
306
|
// This function is now a thin wrapper around the server's implementation.
|
|
246
307
|
// It's kept in the CLI for now as App.tsx directly calls it for memory refresh.
|
|
247
308
|
// TODO: Consider if App.tsx should get memory via a server call or if Config should refresh itself.
|
|
248
|
-
export async function loadHierarchicalGeminiMemory(currentWorkingDirectory, includeDirectoriesToReadGemini = [], debugMode, fileService, settings, extensionContextFilePaths = [], memoryImportFormat = 'tree', fileFilteringOptions) {
|
|
309
|
+
export async function loadHierarchicalGeminiMemory(currentWorkingDirectory, includeDirectoriesToReadGemini = [], debugMode, fileService, settings, extensionContextFilePaths = [], folderTrust, memoryImportFormat = 'tree', fileFilteringOptions) {
|
|
249
310
|
// FIX: Use real, canonical paths for a reliable comparison to handle symlinks.
|
|
250
311
|
const realCwd = fs.realpathSync(path.resolve(currentWorkingDirectory));
|
|
251
312
|
const realHome = fs.realpathSync(path.resolve(homedir()));
|
|
@@ -257,32 +318,20 @@ export async function loadHierarchicalGeminiMemory(currentWorkingDirectory, incl
|
|
|
257
318
|
logger.debug(`CLI: Delegating hierarchical memory load to server for CWD: ${currentWorkingDirectory} (memoryImportFormat: ${memoryImportFormat})`);
|
|
258
319
|
}
|
|
259
320
|
// Directly call the server function with the corrected path.
|
|
260
|
-
return loadServerHierarchicalMemory(effectiveCwd, includeDirectoriesToReadGemini, debugMode, fileService, extensionContextFilePaths, memoryImportFormat, fileFilteringOptions, settings.context?.discoveryMaxDirs);
|
|
321
|
+
return loadServerHierarchicalMemory(effectiveCwd, includeDirectoriesToReadGemini, debugMode, fileService, extensionContextFilePaths, folderTrust, memoryImportFormat, fileFilteringOptions, settings.context?.discoveryMaxDirs);
|
|
322
|
+
}
|
|
323
|
+
export function isDebugMode(argv) {
|
|
324
|
+
return (argv.debug ||
|
|
325
|
+
[process.env['DEBUG'], process.env['DEBUG_MODE']].some((v) => v === 'true' || v === '1'));
|
|
261
326
|
}
|
|
262
|
-
export async function loadCliConfig(settings, extensions, sessionId, argv, cwd = process.cwd()) {
|
|
263
|
-
const debugMode = argv
|
|
264
|
-
[process.env['DEBUG'], process.env['DEBUG_MODE']].some((v) => v === 'true' || v === '1') ||
|
|
265
|
-
false;
|
|
327
|
+
export async function loadCliConfig(settings, extensions, extensionEnablementManager, sessionId, argv, cwd = process.cwd()) {
|
|
328
|
+
const debugMode = isDebugMode(argv);
|
|
266
329
|
const memoryImportFormat = settings.context?.importFormat || 'tree';
|
|
267
330
|
const ideMode = settings.ide?.enabled ?? false;
|
|
268
|
-
const
|
|
269
|
-
const
|
|
270
|
-
const
|
|
271
|
-
const trustedFolder = isWorkspaceTrusted(settings);
|
|
272
|
-
const allExtensions = annotateActiveExtensions(extensions, argv.extensions || [], cwd);
|
|
331
|
+
const folderTrust = settings.security?.folderTrust?.enabled ?? false;
|
|
332
|
+
const trustedFolder = isWorkspaceTrusted(settings)?.isTrusted ?? true;
|
|
333
|
+
const allExtensions = annotateActiveExtensions(extensions, cwd, extensionEnablementManager);
|
|
273
334
|
const activeExtensions = extensions.filter((_, i) => allExtensions[i].isActive);
|
|
274
|
-
// Handle OpenAI API key from command line
|
|
275
|
-
if (argv.openaiApiKey) {
|
|
276
|
-
process.env['OPENAI_API_KEY'] = argv.openaiApiKey;
|
|
277
|
-
}
|
|
278
|
-
// Handle OpenAI base URL from command line
|
|
279
|
-
if (argv.openaiBaseUrl) {
|
|
280
|
-
process.env['OPENAI_BASE_URL'] = argv.openaiBaseUrl;
|
|
281
|
-
}
|
|
282
|
-
// Handle Tavily API key from command line
|
|
283
|
-
if (argv.tavilyApiKey) {
|
|
284
|
-
process.env['TAVILY_API_KEY'] = argv.tavilyApiKey;
|
|
285
|
-
}
|
|
286
335
|
// Set the context filename in the server's memoryTool module BEFORE loading memory
|
|
287
336
|
// TODO(b/343434939): This is a bit of a hack. The contextFileName should ideally be passed
|
|
288
337
|
// directly to the Config constructor in core, and have core handle setGeminiMdFilename.
|
|
@@ -306,7 +355,7 @@ export async function loadCliConfig(settings, extensions, sessionId, argv, cwd =
|
|
|
306
355
|
// Call the (now wrapper) loadHierarchicalGeminiMemory which calls the server's version
|
|
307
356
|
const { memoryContent, fileCount } = await loadHierarchicalGeminiMemory(cwd, settings.context?.loadMemoryFromIncludeDirectories
|
|
308
357
|
? includeDirectories
|
|
309
|
-
: [], debugMode, fileService, settings, extensionContextFilePaths, memoryImportFormat, fileFiltering);
|
|
358
|
+
: [], debugMode, fileService, settings, extensionContextFilePaths, trustedFolder, memoryImportFormat, fileFiltering);
|
|
310
359
|
let mcpServers = mergeMcpServers(settings, activeExtensions);
|
|
311
360
|
const question = argv.promptInteractive || argv.prompt || '';
|
|
312
361
|
// Determine approval mode with backward compatibility
|
|
@@ -317,8 +366,8 @@ export async function loadCliConfig(settings, extensions, sessionId, argv, cwd =
|
|
|
317
366
|
else if (argv.yolo) {
|
|
318
367
|
approvalMode = ApprovalMode.YOLO;
|
|
319
368
|
}
|
|
320
|
-
else if (settings.approvalMode) {
|
|
321
|
-
approvalMode = parseApprovalModeValue(settings.approvalMode);
|
|
369
|
+
else if (settings.tools?.approvalMode) {
|
|
370
|
+
approvalMode = parseApprovalModeValue(settings.tools.approvalMode);
|
|
322
371
|
}
|
|
323
372
|
else {
|
|
324
373
|
approvalMode = ApprovalMode.DEFAULT;
|
|
@@ -330,7 +379,24 @@ export async function loadCliConfig(settings, extensions, sessionId, argv, cwd =
|
|
|
330
379
|
logger.warn(`Approval mode overridden to "default" because the current folder is not trusted.`);
|
|
331
380
|
approvalMode = ApprovalMode.DEFAULT;
|
|
332
381
|
}
|
|
333
|
-
|
|
382
|
+
let telemetrySettings;
|
|
383
|
+
try {
|
|
384
|
+
telemetrySettings = await resolveTelemetrySettings({
|
|
385
|
+
argv,
|
|
386
|
+
env: process.env,
|
|
387
|
+
settings: settings.telemetry,
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
catch (err) {
|
|
391
|
+
if (err instanceof FatalConfigError) {
|
|
392
|
+
throw new FatalConfigError(`Invalid telemetry configuration: ${err.message}.`);
|
|
393
|
+
}
|
|
394
|
+
throw err;
|
|
395
|
+
}
|
|
396
|
+
// Interactive mode: explicit -i flag or (TTY + no args + no -p flag)
|
|
397
|
+
const hasQuery = !!argv.query;
|
|
398
|
+
const interactive = !!argv.promptInteractive ||
|
|
399
|
+
(process.stdin.isTTY && !hasQuery && !argv.prompt);
|
|
334
400
|
// In non-interactive mode, exclude tools that require a prompt.
|
|
335
401
|
const extraExcludes = [];
|
|
336
402
|
if (!interactive && !argv.experimentalAcp) {
|
|
@@ -368,15 +434,20 @@ export async function loadCliConfig(settings, extensions, sessionId, argv, cwd =
|
|
|
368
434
|
if (argv.allowedMcpServerNames) {
|
|
369
435
|
mcpServers = allowedMcpServers(mcpServers, argv.allowedMcpServerNames, blockedMcpServers);
|
|
370
436
|
}
|
|
437
|
+
const defaultModel = DEFAULT_QWEN_MODEL;
|
|
438
|
+
const resolvedModel = argv.model ||
|
|
439
|
+
process.env['OPENAI_MODEL'] ||
|
|
440
|
+
process.env['QWEN_MODEL'] ||
|
|
441
|
+
settings.model?.name ||
|
|
442
|
+
defaultModel;
|
|
371
443
|
const sandboxConfig = await loadSandboxConfig(settings, argv);
|
|
372
|
-
const cliVersion = await getCliVersion();
|
|
373
444
|
const screenReader = argv.screenReader !== undefined
|
|
374
445
|
? argv.screenReader
|
|
375
446
|
: (settings.ui?.accessibility?.screenReader ?? false);
|
|
376
447
|
const vlmSwitchMode = argv.vlmSwitchMode || settings.experimental?.vlmSwitchMode;
|
|
377
448
|
return new Config({
|
|
378
449
|
sessionId,
|
|
379
|
-
embeddingModel:
|
|
450
|
+
embeddingModel: DEFAULT_QWEN_EMBEDDING_MODEL,
|
|
380
451
|
sandbox: sandboxConfig,
|
|
381
452
|
targetDir: cwd,
|
|
382
453
|
includeDirectories,
|
|
@@ -399,26 +470,9 @@ export async function loadCliConfig(settings, extensions, sessionId, argv, cwd =
|
|
|
399
470
|
...settings.ui?.accessibility,
|
|
400
471
|
screenReader,
|
|
401
472
|
},
|
|
402
|
-
telemetry:
|
|
403
|
-
enabled: argv.telemetry ?? settings.telemetry?.enabled,
|
|
404
|
-
target: (argv.telemetryTarget ??
|
|
405
|
-
settings.telemetry?.target),
|
|
406
|
-
otlpEndpoint: argv.telemetryOtlpEndpoint ??
|
|
407
|
-
process.env['OTEL_EXPORTER_OTLP_ENDPOINT'] ??
|
|
408
|
-
settings.telemetry?.otlpEndpoint,
|
|
409
|
-
otlpProtocol: ['grpc', 'http'].find((p) => p ===
|
|
410
|
-
(argv.telemetryOtlpProtocol ?? settings.telemetry?.otlpProtocol)),
|
|
411
|
-
logPrompts: argv.telemetryLogPrompts ?? settings.telemetry?.logPrompts,
|
|
412
|
-
outfile: argv.telemetryOutfile ?? settings.telemetry?.outfile,
|
|
413
|
-
},
|
|
473
|
+
telemetry: telemetrySettings,
|
|
414
474
|
usageStatisticsEnabled: settings.privacy?.usageStatisticsEnabled ?? true,
|
|
415
|
-
|
|
416
|
-
fileFiltering: {
|
|
417
|
-
respectGitIgnore: settings.context?.fileFiltering?.respectGitIgnore,
|
|
418
|
-
respectGeminiIgnore: settings.context?.fileFiltering?.respectGeminiIgnore,
|
|
419
|
-
enableRecursiveFileSearch: settings.context?.fileFiltering?.enableRecursiveFileSearch,
|
|
420
|
-
disableFuzzySearch: settings.context?.fileFiltering?.disableFuzzySearch,
|
|
421
|
-
},
|
|
475
|
+
fileFiltering: settings.context?.fileFiltering,
|
|
422
476
|
checkpointing: argv.checkpointing || settings.general?.checkpointing?.enabled,
|
|
423
477
|
proxy: argv.proxy ||
|
|
424
478
|
process.env['HTTPS_PROXY'] ||
|
|
@@ -428,47 +482,49 @@ export async function loadCliConfig(settings, extensions, sessionId, argv, cwd =
|
|
|
428
482
|
cwd,
|
|
429
483
|
fileDiscoveryService: fileService,
|
|
430
484
|
bugCommand: settings.advanced?.bugCommand,
|
|
431
|
-
model:
|
|
485
|
+
model: resolvedModel,
|
|
432
486
|
extensionContextFilePaths,
|
|
433
|
-
sessionTokenLimit: settings.sessionTokenLimit ?? -1,
|
|
487
|
+
sessionTokenLimit: settings.model?.sessionTokenLimit ?? -1,
|
|
434
488
|
maxSessionTurns: settings.model?.maxSessionTurns ?? -1,
|
|
435
489
|
experimentalZedIntegration: argv.experimentalAcp || false,
|
|
436
490
|
listExtensions: argv.listExtensions || false,
|
|
437
491
|
extensions: allExtensions,
|
|
438
492
|
blockedMcpServers,
|
|
439
493
|
noBrowser: !!process.env['NO_BROWSER'],
|
|
440
|
-
enableOpenAILogging: (typeof argv.openaiLogging === 'undefined'
|
|
441
|
-
? settings.enableOpenAILogging
|
|
442
|
-
: argv.openaiLogging) ?? false,
|
|
443
|
-
systemPromptMappings: (settings.systemPromptMappings ?? [
|
|
444
|
-
{
|
|
445
|
-
baseUrls: [
|
|
446
|
-
'https://dashscope.aliyuncs.com/compatible-mode/v1/',
|
|
447
|
-
'https://dashscope-intl.aliyuncs.com/compatible-mode/v1/',
|
|
448
|
-
],
|
|
449
|
-
modelNames: ['qwen3-coder-plus'],
|
|
450
|
-
template: 'SYSTEM_TEMPLATE:{"name":"qwen3_coder","params":{"is_git_repository":{RUNTIME_VARS_IS_GIT_REPO},"sandbox":"{RUNTIME_VARS_SANDBOX}"}}',
|
|
451
|
-
},
|
|
452
|
-
]),
|
|
453
494
|
authType: settings.security?.auth?.selectedType,
|
|
454
|
-
|
|
455
|
-
|
|
495
|
+
generationConfig: {
|
|
496
|
+
...(settings.model?.generationConfig || {}),
|
|
497
|
+
model: resolvedModel,
|
|
498
|
+
apiKey: argv.openaiApiKey || process.env['OPENAI_API_KEY'],
|
|
499
|
+
baseUrl: argv.openaiBaseUrl || process.env['OPENAI_BASE_URL'],
|
|
500
|
+
enableOpenAILogging: (typeof argv.openaiLogging === 'undefined'
|
|
501
|
+
? settings.model?.enableOpenAILogging
|
|
502
|
+
: argv.openaiLogging) ?? false,
|
|
503
|
+
},
|
|
504
|
+
cliVersion: await getCliVersion(),
|
|
456
505
|
tavilyApiKey: argv.tavilyApiKey ||
|
|
457
|
-
settings.tavilyApiKey ||
|
|
506
|
+
settings.advanced?.tavilyApiKey ||
|
|
458
507
|
process.env['TAVILY_API_KEY'],
|
|
459
508
|
summarizeToolOutput: settings.model?.summarizeToolOutput,
|
|
460
509
|
ideMode,
|
|
461
510
|
chatCompression: settings.model?.chatCompression,
|
|
462
|
-
folderTrustFeature,
|
|
463
511
|
folderTrust,
|
|
464
512
|
interactive,
|
|
465
513
|
trustedFolder,
|
|
466
514
|
useRipgrep: settings.tools?.useRipgrep,
|
|
467
|
-
shouldUseNodePtyShell: settings.tools?.
|
|
515
|
+
shouldUseNodePtyShell: settings.tools?.shell?.enableInteractiveShell,
|
|
468
516
|
skipNextSpeakerCheck: settings.model?.skipNextSpeakerCheck,
|
|
469
517
|
enablePromptCompletion: settings.general?.enablePromptCompletion ?? false,
|
|
470
|
-
skipLoopDetection: settings.skipLoopDetection ?? false,
|
|
518
|
+
skipLoopDetection: settings.model?.skipLoopDetection ?? false,
|
|
471
519
|
vlmSwitchMode,
|
|
520
|
+
truncateToolOutputThreshold: settings.tools?.truncateToolOutputThreshold,
|
|
521
|
+
truncateToolOutputLines: settings.tools?.truncateToolOutputLines,
|
|
522
|
+
enableToolOutputTruncation: settings.tools?.enableToolOutputTruncation,
|
|
523
|
+
eventEmitter: appEvents,
|
|
524
|
+
useSmartEdit: argv.useSmartEdit ?? settings.useSmartEdit,
|
|
525
|
+
output: {
|
|
526
|
+
format: (argv.outputFormat ?? settings.output?.format),
|
|
527
|
+
},
|
|
472
528
|
});
|
|
473
529
|
}
|
|
474
530
|
function allowedMcpServers(mcpServers, allowMCPServers, blockedMcpServers) {
|