@umsai/ums-code 0.0.14-v2 → 0.3.0-v1
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 +25 -12
- 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 +2 -4
- package/dist/src/config/auth.js +10 -36
- package/dist/src/config/auth.js.map +1 -1
- package/dist/src/config/auth.test.js +12 -32
- package/dist/src/config/auth.test.js.map +1 -1
- package/dist/src/config/config.d.ts +13 -2
- package/dist/src/config/config.js +278 -128
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/extension.d.ts +41 -18
- package/dist/src/config/extension.js +352 -195
- 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/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 +15 -5
- package/dist/src/config/settings.js +231 -274
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +425 -149
- package/dist/src/config/settingsSchema.js +396 -145
- 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 +24 -5
- package/dist/src/config/trustedFolders.js +98 -48
- 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/config/webSearch.d.ts +35 -0
- package/dist/src/config/webSearch.js +87 -0
- package/dist/src/config/webSearch.js.map +1 -0
- package/dist/src/core/auth.d.ts +13 -0
- package/dist/src/core/auth.js +43 -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 +44 -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 +23 -0
- package/dist/src/core/theme.js.map +1 -0
- package/dist/src/gemini.d.ts +2 -1
- package/dist/src/gemini.js +166 -128
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/gemini.test.js +307 -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/generated/git-commit.js.map +1 -1
- package/dist/src/i18n/index.d.ts +18 -0
- package/dist/src/i18n/index.js +184 -0
- package/dist/src/i18n/index.js.map +1 -0
- package/dist/src/i18n/locales/en.js +1129 -0
- package/dist/src/i18n/locales/zh.js +1052 -0
- package/dist/src/nonInteractive/control/ControlContext.d.ts +63 -0
- package/dist/src/nonInteractive/control/ControlContext.js +31 -0
- package/dist/src/nonInteractive/control/ControlContext.js.map +1 -0
- package/dist/src/nonInteractive/control/ControlDispatcher.d.ts +86 -0
- package/dist/src/nonInteractive/control/ControlDispatcher.js +238 -0
- package/dist/src/nonInteractive/control/ControlDispatcher.js.map +1 -0
- package/dist/src/nonInteractive/control/ControlDispatcher.test.d.ts +6 -0
- package/dist/src/nonInteractive/control/ControlDispatcher.test.js +549 -0
- package/dist/src/nonInteractive/control/ControlDispatcher.test.js.map +1 -0
- package/dist/src/nonInteractive/control/ControlService.d.ts +78 -0
- package/dist/src/nonInteractive/control/ControlService.js +154 -0
- package/dist/src/nonInteractive/control/ControlService.js.map +1 -0
- package/dist/src/nonInteractive/control/controllers/baseController.d.ts +50 -0
- package/dist/src/nonInteractive/control/controllers/baseController.js +102 -0
- package/dist/src/nonInteractive/control/controllers/baseController.js.map +1 -0
- package/dist/src/nonInteractive/control/controllers/hookController.d.ts +25 -0
- package/dist/src/nonInteractive/control/controllers/hookController.js +42 -0
- package/dist/src/nonInteractive/control/controllers/hookController.js.map +1 -0
- package/dist/src/nonInteractive/control/controllers/mcpController.d.ts +42 -0
- package/dist/src/nonInteractive/control/controllers/mcpController.js +205 -0
- package/dist/src/nonInteractive/control/controllers/mcpController.js.map +1 -0
- package/dist/src/nonInteractive/control/controllers/permissionController.d.ts +78 -0
- package/dist/src/nonInteractive/control/controllers/permissionController.js +358 -0
- package/dist/src/nonInteractive/control/controllers/permissionController.js.map +1 -0
- package/dist/src/nonInteractive/control/controllers/systemController.d.ts +56 -0
- package/dist/src/nonInteractive/control/controllers/systemController.js +166 -0
- package/dist/src/nonInteractive/control/controllers/systemController.js.map +1 -0
- package/dist/src/nonInteractive/control/types/serviceAPIs.d.ts +120 -0
- package/dist/src/nonInteractive/control/types/serviceAPIs.js +7 -0
- package/dist/src/nonInteractive/control/types/serviceAPIs.js.map +1 -0
- package/dist/src/nonInteractive/io/BaseJsonOutputAdapter.d.ts +446 -0
- package/dist/src/nonInteractive/io/BaseJsonOutputAdapter.js +891 -0
- package/dist/src/nonInteractive/io/BaseJsonOutputAdapter.js.map +1 -0
- package/dist/src/nonInteractive/io/BaseJsonOutputAdapter.test.d.ts +6 -0
- package/dist/src/nonInteractive/io/BaseJsonOutputAdapter.test.js +1197 -0
- package/dist/src/nonInteractive/io/BaseJsonOutputAdapter.test.js.map +1 -0
- package/dist/src/nonInteractive/io/JsonOutputAdapter.d.ts +29 -0
- package/dist/src/nonInteractive/io/JsonOutputAdapter.js +56 -0
- package/dist/src/nonInteractive/io/JsonOutputAdapter.js.map +1 -0
- package/dist/src/nonInteractive/io/JsonOutputAdapter.test.d.ts +6 -0
- package/dist/src/nonInteractive/io/JsonOutputAdapter.test.js +624 -0
- package/dist/src/nonInteractive/io/JsonOutputAdapter.test.js.map +1 -0
- package/dist/src/nonInteractive/io/StreamJsonInputReader.d.ts +16 -0
- package/dist/src/nonInteractive/io/StreamJsonInputReader.js +54 -0
- package/dist/src/nonInteractive/io/StreamJsonInputReader.js.map +1 -0
- package/dist/src/nonInteractive/io/StreamJsonInputReader.test.d.ts +6 -0
- package/dist/src/nonInteractive/io/StreamJsonInputReader.test.js +178 -0
- package/dist/src/nonInteractive/io/StreamJsonInputReader.test.js.map +1 -0
- package/dist/src/nonInteractive/io/StreamJsonOutputAdapter.d.ts +69 -0
- package/dist/src/nonInteractive/io/StreamJsonOutputAdapter.js +185 -0
- package/dist/src/nonInteractive/io/StreamJsonOutputAdapter.js.map +1 -0
- package/dist/src/nonInteractive/io/StreamJsonOutputAdapter.test.d.ts +6 -0
- package/dist/src/nonInteractive/io/StreamJsonOutputAdapter.test.js +808 -0
- package/dist/src/nonInteractive/io/StreamJsonOutputAdapter.test.js.map +1 -0
- package/dist/src/nonInteractive/session.d.ts +23 -0
- package/dist/src/nonInteractive/session.js +549 -0
- package/dist/src/nonInteractive/session.js.map +1 -0
- package/dist/src/nonInteractive/session.test.d.ts +6 -0
- package/dist/src/nonInteractive/session.test.js +407 -0
- package/dist/src/nonInteractive/session.test.js.map +1 -0
- package/dist/src/nonInteractive/types.d.ts +344 -0
- package/dist/src/nonInteractive/types.js +78 -0
- package/dist/src/nonInteractive/types.js.map +1 -0
- package/dist/src/nonInteractiveCli.d.ts +22 -1
- package/dist/src/nonInteractiveCli.js +245 -69
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/nonInteractiveCliCommands.d.ts +35 -0
- package/dist/src/nonInteractiveCliCommands.js +144 -0
- package/dist/src/nonInteractiveCliCommands.js.map +1 -0
- package/dist/src/services/BuiltinCommandLoader.js +5 -3
- package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.test.js +53 -19
- 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 +11 -1
- 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 -833
- package/dist/src/ui/App.js.map +1 -1
- package/dist/src/ui/AppContainer.d.ts +17 -0
- package/dist/src/ui/AppContainer.js +1072 -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/auth/AuthDialog.d.ts +7 -0
- package/dist/src/ui/auth/AuthDialog.js +90 -0
- 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 +141 -29
- package/dist/src/ui/auth/AuthDialog.test.js.map +1 -0
- package/dist/src/ui/{components → auth}/AuthInProgress.js +3 -2
- package/dist/src/ui/auth/AuthInProgress.js.map +1 -0
- package/dist/src/ui/auth/useAuth.d.ts +25 -0
- package/dist/src/ui/auth/useAuth.js +180 -0
- package/dist/src/ui/auth/useAuth.js.map +1 -0
- package/dist/src/ui/commands/aboutCommand.js +7 -25
- package/dist/src/ui/commands/aboutCommand.js.map +1 -1
- package/dist/src/ui/commands/agentsCommand.js +10 -3
- package/dist/src/ui/commands/agentsCommand.js.map +1 -1
- package/dist/src/ui/commands/approvalModeCommand.js +8 -329
- package/dist/src/ui/commands/approvalModeCommand.js.map +1 -1
- package/dist/src/ui/commands/approvalModeCommand.test.js +19 -263
- package/dist/src/ui/commands/approvalModeCommand.test.js.map +1 -1
- package/dist/src/ui/commands/authCommand.js +4 -1
- package/dist/src/ui/commands/authCommand.js.map +1 -1
- package/dist/src/ui/commands/bugCommand.js +13 -33
- package/dist/src/ui/commands/bugCommand.js.map +1 -1
- package/dist/src/ui/commands/chatCommand.d.ts +2 -0
- package/dist/src/ui/commands/chatCommand.js +137 -21
- package/dist/src/ui/commands/chatCommand.js.map +1 -1
- package/dist/src/ui/commands/clearCommand.js +7 -4
- package/dist/src/ui/commands/clearCommand.js.map +1 -1
- package/dist/src/ui/commands/compressCommand.js +9 -4
- package/dist/src/ui/commands/compressCommand.js.map +1 -1
- package/dist/src/ui/commands/copyCommand.js +4 -1
- package/dist/src/ui/commands/copyCommand.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 +31 -13
- package/dist/src/ui/commands/directoryCommand.js.map +1 -1
- package/dist/src/ui/commands/docsCommand.js +9 -3
- package/dist/src/ui/commands/docsCommand.js.map +1 -1
- package/dist/src/ui/commands/editorCommand.js +4 -1
- package/dist/src/ui/commands/editorCommand.js.map +1 -1
- package/dist/src/ui/commands/extensionsCommand.js +99 -15
- package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
- package/dist/src/ui/commands/helpCommand.js +4 -1
- package/dist/src/ui/commands/helpCommand.js.map +1 -1
- package/dist/src/ui/commands/ideCommand.d.ts +1 -2
- package/dist/src/ui/commands/ideCommand.js +42 -17
- package/dist/src/ui/commands/ideCommand.js.map +1 -1
- package/dist/src/ui/commands/initCommand.js +5 -3
- package/dist/src/ui/commands/initCommand.js.map +1 -1
- package/dist/src/ui/commands/{privacyCommand.d.ts → languageCommand.d.ts} +1 -1
- package/dist/src/ui/commands/languageCommand.js +386 -0
- package/dist/src/ui/commands/languageCommand.js.map +1 -0
- package/dist/src/ui/commands/mcpCommand.js +124 -279
- package/dist/src/ui/commands/mcpCommand.js.map +1 -1
- package/dist/src/ui/commands/memoryCommand.js +55 -26
- package/dist/src/ui/commands/memoryCommand.js.map +1 -1
- package/dist/src/ui/commands/modelCommand.js +10 -20
- 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/permissionsCommand.d.ts +7 -0
- package/dist/src/ui/commands/permissionsCommand.js +19 -0
- package/dist/src/ui/commands/permissionsCommand.js.map +1 -0
- package/dist/src/ui/commands/permissionsCommand.test.d.ts +6 -0
- package/dist/src/ui/commands/permissionsCommand.test.js +30 -0
- package/dist/src/ui/commands/permissionsCommand.test.js.map +1 -0
- package/dist/src/ui/commands/quitCommand.js +7 -2
- package/dist/src/ui/commands/quitCommand.js.map +1 -1
- package/dist/src/ui/commands/settingsCommand.js +4 -1
- package/dist/src/ui/commands/settingsCommand.js.map +1 -1
- package/dist/src/ui/commands/setupGithubCommand.js +4 -1
- package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
- package/dist/src/ui/commands/statsCommand.js +11 -4
- package/dist/src/ui/commands/statsCommand.js.map +1 -1
- package/dist/src/ui/commands/summaryCommand.js +16 -9
- package/dist/src/ui/commands/summaryCommand.js.map +1 -1
- package/dist/src/ui/commands/terminalSetupCommand.js +9 -3
- package/dist/src/ui/commands/terminalSetupCommand.js.map +1 -1
- package/dist/src/ui/commands/themeCommand.js +4 -1
- package/dist/src/ui/commands/themeCommand.js.map +1 -1
- package/dist/src/ui/commands/toolsCommand.js +15 -26
- package/dist/src/ui/commands/toolsCommand.js.map +1 -1
- package/dist/src/ui/commands/types.d.ts +8 -3
- package/dist/src/ui/commands/types.js +0 -1
- package/dist/src/ui/commands/types.js.map +1 -1
- package/dist/src/ui/commands/vimCommand.js +4 -1
- package/dist/src/ui/commands/vimCommand.js.map +1 -1
- package/dist/src/ui/components/AboutBox.d.ts +2 -9
- package/dist/src/ui/components/AboutBox.js +7 -3
- 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/ApprovalModeDialog.d.ts +21 -0
- package/dist/src/ui/components/ApprovalModeDialog.js +68 -0
- package/dist/src/ui/components/ApprovalModeDialog.js.map +1 -0
- package/dist/src/ui/components/AutoAcceptIndicator.js +12 -11
- 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 +55 -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 +42 -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 +34 -10
- package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.d.ts +4 -1
- package/dist/src/ui/components/ContextUsageDisplay.js +27 -5
- 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 +177 -0
- package/dist/src/ui/components/DialogManager.js.map +1 -0
- package/dist/src/ui/components/EditorSettingsDialog.js +21 -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 +20 -7
- 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 +107 -17
- 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 +187 -167
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.js +8 -3
- 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 +43 -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 +10 -9
- package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -1
- package/dist/src/ui/components/ModelSwitchDialog.d.ts +3 -1
- package/dist/src/ui/components/ModelSwitchDialog.js +11 -7
- package/dist/src/ui/components/ModelSwitchDialog.js.map +1 -1
- package/dist/src/ui/components/ModelSwitchDialog.test.js +14 -10
- 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.d.ts +19 -1
- package/dist/src/ui/components/OpenAIKeyPrompt.js +99 -43
- 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 +24 -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 +10 -5
- 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.d.ts +2 -2
- package/dist/src/ui/components/QwenOAuthProgress.js +19 -11
- package/dist/src/ui/components/QwenOAuthProgress.js.map +1 -1
- package/dist/src/ui/components/QwenOAuthProgress.test.js +85 -13
- package/dist/src/ui/components/QwenOAuthProgress.test.js.map +1 -1
- package/dist/src/ui/components/SessionSummaryDisplay.js +2 -1
- package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.d.ts +4 -1
- package/dist/src/ui/components/SettingsDialog.js +125 -28
- package/dist/src/ui/components/SettingsDialog.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.test.js +475 -84
- package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/ShellConfirmationDialog.js +9 -5
- 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 +8 -7
- 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 +17 -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 +5 -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 +15 -4
- 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 +41 -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 +91 -45
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +36 -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 +16 -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 +41 -29
- 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 +26 -15
- package/dist/src/ui/components/subagents/create/CreationSummary.js.map +1 -1
- package/dist/src/ui/components/subagents/create/DescriptionInput.js +7 -5
- package/dist/src/ui/components/subagents/create/DescriptionInput.js.map +1 -1
- package/dist/src/ui/components/subagents/create/GenerationMethodSelector.js +8 -2
- package/dist/src/ui/components/subagents/create/GenerationMethodSelector.js.map +1 -1
- package/dist/src/ui/components/subagents/create/LocationSelector.js +8 -2
- 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 +10 -8
- package/dist/src/ui/components/subagents/create/ToolSelector.js.map +1 -1
- package/dist/src/ui/components/subagents/manage/ActionSelectionStep.js +29 -4
- package/dist/src/ui/components/subagents/manage/ActionSelectionStep.js.map +1 -1
- package/dist/src/ui/components/subagents/manage/AgentDeleteStep.js +6 -3
- package/dist/src/ui/components/subagents/manage/AgentDeleteStep.js.map +1 -1
- package/dist/src/ui/components/subagents/manage/AgentEditStep.js +15 -5
- package/dist/src/ui/components/subagents/manage/AgentEditStep.js.map +1 -1
- package/dist/src/ui/components/subagents/manage/AgentSelectionStep.js +13 -7
- package/dist/src/ui/components/subagents/manage/AgentSelectionStep.js.map +1 -1
- package/dist/src/ui/components/subagents/manage/AgentViewerStep.js +3 -2
- package/dist/src/ui/components/subagents/manage/AgentViewerStep.js.map +1 -1
- package/dist/src/ui/components/subagents/manage/AgentsManagerDialog.js +15 -15
- package/dist/src/ui/components/subagents/manage/AgentsManagerDialog.js.map +1 -1
- package/dist/src/ui/components/subagents/runtime/AgentExecutionDisplay.js +16 -17
- package/dist/src/ui/components/subagents/runtime/AgentExecutionDisplay.js.map +1 -1
- package/dist/src/ui/components/ums/UMSKeyPrompt.d.ts +2 -2
- package/dist/src/ui/components/ums/UMSKeyPrompt.js +66 -64
- package/dist/src/ui/components/ums/UMSKeyPrompt.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 +90 -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 +8 -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 +46 -0
- package/dist/src/ui/contexts/UIActionsContext.js +22 -0
- package/dist/src/ui/contexts/UIActionsContext.js.map +1 -0
- package/dist/src/ui/contexts/UIStateContext.d.ts +115 -0
- package/dist/src/ui/contexts/UIStateContext.js +17 -0
- package/dist/src/ui/contexts/UIStateContext.js.map +1 -0
- package/dist/src/ui/editors/editorSettingsManager.js +1 -0
- package/dist/src/ui/editors/editorSettingsManager.js.map +1 -1
- 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 +23 -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 +21 -3
- package/dist/src/ui/hooks/slashCommandProcessor.js +52 -97
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/useApprovalModeCommand.d.ts +14 -0
- package/dist/src/ui/hooks/useApprovalModeCommand.js +33 -0
- package/dist/src/ui/hooks/useApprovalModeCommand.js.map +1 -0
- package/dist/src/ui/hooks/useAtCompletion.js +1 -1
- package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useAttentionNotifications.d.ts +14 -0
- package/dist/src/ui/hooks/useAttentionNotifications.js +41 -0
- package/dist/src/ui/hooks/useAttentionNotifications.js.map +1 -0
- package/dist/src/ui/hooks/useAttentionNotifications.test.js +113 -0
- package/dist/src/ui/hooks/useAttentionNotifications.test.js.map +1 -0
- 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/useCommandCompletion.d.ts +1 -4
- package/dist/src/ui/hooks/useCommandCompletion.js +1 -23
- package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useDialogClose.d.ts +6 -5
- package/dist/src/ui/hooks/useDialogClose.js +3 -12
- package/dist/src/ui/hooks/useDialogClose.js.map +1 -1
- package/dist/src/ui/hooks/useEditorSettings.js +1 -1
- package/dist/src/ui/hooks/useEditorSettings.js.map +1 -1
- package/dist/src/ui/hooks/useEditorSettings.test.js +4 -4
- package/dist/src/ui/hooks/useEditorSettings.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 +184 -83
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useGitBranchName.js +18 -18
- package/dist/src/ui/hooks/useGitBranchName.js.map +1 -1
- package/dist/src/ui/hooks/useGitBranchName.test.js +66 -52
- 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/useInitializationAuthError.d.ts +22 -0
- package/dist/src/ui/hooks/useInitializationAuthError.js +40 -0
- package/dist/src/ui/hooks/useInitializationAuthError.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 +15 -10
- 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/useQwenAuth.d.ts +7 -12
- package/dist/src/ui/hooks/useQwenAuth.js +4 -8
- package/dist/src/ui/hooks/useQwenAuth.js.map +1 -1
- package/dist/src/ui/hooks/useQwenAuth.test.js +72 -98
- package/dist/src/ui/hooks/useQwenAuth.test.js.map +1 -1
- 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 +11 -17
- 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/useVisionAutoSwitch.d.ts +1 -1
- package/dist/src/ui/hooks/useVisionAutoSwitch.js +36 -6
- package/dist/src/ui/hooks/useVisionAutoSwitch.js.map +1 -1
- package/dist/src/ui/hooks/useVisionAutoSwitch.test.js +3 -3
- package/dist/src/ui/hooks/useVisionAutoSwitch.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 +11 -5
- package/dist/src/ui/models/availableModels.js +94 -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 +111 -17
- 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/commandUtils.d.ts +16 -0
- package/dist/src/ui/utils/commandUtils.js +16 -1
- package/dist/src/ui/utils/commandUtils.js.map +1 -1
- package/dist/src/ui/utils/commandUtils.test.js +5 -2
- package/dist/src/ui/utils/commandUtils.test.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/terminalSetup.js +45 -18
- package/dist/src/ui/utils/terminalSetup.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/ui/utils/updateCheck.d.ts +1 -0
- package/dist/src/ui/utils/updateCheck.js +53 -2
- package/dist/src/ui/utils/updateCheck.js.map +1 -1
- package/dist/src/utils/attentionNotification.d.ts +20 -0
- package/dist/src/utils/attentionNotification.js +34 -0
- package/dist/src/utils/attentionNotification.js.map +1 -0
- package/dist/src/utils/attentionNotification.test.d.ts +6 -0
- package/dist/src/utils/attentionNotification.test.js +46 -0
- package/dist/src/utils/attentionNotification.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/dialogScopeUtils.d.ts +0 -4
- package/dist/src/utils/dialogScopeUtils.js +5 -2
- package/dist/src/utils/dialogScopeUtils.js.map +1 -1
- 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 +29 -0
- package/dist/src/utils/errors.js +94 -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 +340 -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/handleAutoUpdate.js +6 -3
- package/dist/src/utils/handleAutoUpdate.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/nonInteractiveHelpers.d.ts +88 -0
- package/dist/src/utils/nonInteractiveHelpers.js +470 -0
- package/dist/src/utils/nonInteractiveHelpers.js.map +1 -0
- package/dist/src/utils/nonInteractiveHelpers.test.d.ts +6 -0
- package/dist/src/utils/nonInteractiveHelpers.test.js +945 -0
- package/dist/src/utils/nonInteractiveHelpers.test.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 +43 -18
- package/dist/src/utils/sandbox.js.map +1 -1
- package/dist/src/utils/settingsUtils.d.ts +16 -6
- package/dist/src/utils/settingsUtils.js +41 -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/startupWarnings.js +1 -1
- package/dist/src/utils/startupWarnings.js.map +1 -1
- package/dist/src/utils/systemInfo.d.ts +66 -0
- package/dist/src/utils/systemInfo.js +125 -0
- package/dist/src/utils/systemInfo.js.map +1 -0
- package/dist/src/utils/systemInfo.test.d.ts +6 -0
- package/dist/src/utils/systemInfo.test.js +259 -0
- package/dist/src/utils/systemInfo.test.js.map +1 -0
- package/dist/src/utils/systemInfoFields.d.ts +22 -0
- package/dist/src/utils/systemInfoFields.js +96 -0
- package/dist/src/utils/systemInfoFields.js.map +1 -0
- package/dist/src/utils/userStartupWarnings.d.ts +7 -1
- package/dist/src/utils/userStartupWarnings.js +26 -6
- package/dist/src/utils/userStartupWarnings.js.map +1 -1
- package/dist/src/utils/userStartupWarnings.test.js +26 -5
- package/dist/src/utils/userStartupWarnings.test.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 +57 -21
- package/dist/src/validateNonInterActiveAuth.js.map +1 -1
- package/dist/src/zed-integration/acp.js +1 -2
- package/dist/src/zed-integration/acp.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 +608 -366
- package/dist/src/zed-integration/schema.js +13 -0
- package/dist/src/zed-integration/schema.js.map +1 -1
- package/dist/src/zed-integration/zedIntegration.d.ts +8 -1
- package/dist/src/zed-integration/zedIntegration.js +409 -61
- package/dist/src/zed-integration/zedIntegration.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +25 -12
- package/dist/src/ui/commands/privacyCommand.js +0 -16
- package/dist/src/ui/commands/privacyCommand.js.map +0 -1
- package/dist/src/ui/components/AuthDialog.d.ts +0 -15
- package/dist/src/ui/components/AuthDialog.js +0 -163
- 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.d.ts +0 -14
- package/dist/src/ui/hooks/useAuthCommand.js +0 -66
- package/dist/src/ui/hooks/useAuthCommand.js.map +0 -1
- package/dist/src/ui/hooks/usePrivacySettings.d.ts +0 -16
- package/dist/src/ui/hooks/usePrivacySettings.js +0 -119
- package/dist/src/ui/hooks/usePrivacySettings.js.map +0 -1
- package/dist/src/ui/hooks/usePrivacySettings.test.js +0 -154
- package/dist/src/ui/hooks/usePrivacySettings.test.js.map +0 -1
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.d.ts +0 -12
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +0 -41
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +0 -1
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.d.ts +0 -10
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +0 -18
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js.map +0 -1
- package/dist/src/ui/privacy/GeminiPrivacyNotice.d.ts +0 -10
- package/dist/src/ui/privacy/GeminiPrivacyNotice.js +0 -18
- package/dist/src/ui/privacy/GeminiPrivacyNotice.js.map +0 -1
- package/dist/src/ui/privacy/PrivacyNotice.d.ts +0 -12
- package/dist/src/ui/privacy/PrivacyNotice.js +0 -25
- package/dist/src/ui/privacy/PrivacyNotice.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/hooks/usePrivacySettings.test.d.ts → config/extensions/extensionEnablement.test.d.ts} +0 -0
- /package/dist/src/ui/{components → auth}/AuthInProgress.d.ts +0 -0
- /package/dist/src/ui/{components/ModelSelectionDialog.test.d.ts → hooks/useAttentionNotifications.test.d.ts} +0 -0
|
@@ -3,20 +3,21 @@
|
|
|
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_EMBEDDING_MODEL, DEFAULT_MEMORY_FILE_FILTERING_OPTIONS, EditTool, FileDiscoveryService, getCurrentGeminiMdFilename, loadServerHierarchicalMemory, setGeminiMdFilename as setServerGeminiMdFilename, ShellTool, WriteFileTool, resolveTelemetrySettings, FatalConfigError, Storage, InputFormat, OutputFormat, } from '@umsai/ums-code-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
|
+
import { buildWebSearchConfig } from './webSearch.js';
|
|
20
21
|
// Simple console logger for now - replace with actual logger if available
|
|
21
22
|
const logger = {
|
|
22
23
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -52,18 +53,75 @@ function parseApprovalModeValue(value) {
|
|
|
52
53
|
throw formatApprovalModeError(value);
|
|
53
54
|
}
|
|
54
55
|
}
|
|
56
|
+
function normalizeOutputFormat(format) {
|
|
57
|
+
if (!format) {
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
if (format === OutputFormat.STREAM_JSON) {
|
|
61
|
+
return OutputFormat.STREAM_JSON;
|
|
62
|
+
}
|
|
63
|
+
if (format === 'json' || format === OutputFormat.JSON) {
|
|
64
|
+
return OutputFormat.JSON;
|
|
65
|
+
}
|
|
66
|
+
return OutputFormat.TEXT;
|
|
67
|
+
}
|
|
55
68
|
export async function parseArguments(settings) {
|
|
56
|
-
const
|
|
57
|
-
|
|
69
|
+
const rawArgv = hideBin(process.argv);
|
|
70
|
+
const yargsInstance = yargs(rawArgv)
|
|
58
71
|
.locale('en')
|
|
59
|
-
.scriptName('
|
|
60
|
-
.usage('Usage:
|
|
61
|
-
.
|
|
72
|
+
.scriptName('ums')
|
|
73
|
+
.usage('Usage: ums [options] [command]\n\nUMS Code - Launch an interactive CLI, use -p/--prompt for non-interactive mode')
|
|
74
|
+
.option('telemetry', {
|
|
75
|
+
type: 'boolean',
|
|
76
|
+
description: 'Enable telemetry? This flag specifically controls if telemetry is sent. Other --telemetry-* flags set specific values but do not enable telemetry on their own.',
|
|
77
|
+
})
|
|
78
|
+
.option('telemetry-target', {
|
|
79
|
+
type: 'string',
|
|
80
|
+
choices: ['local', 'gcp'],
|
|
81
|
+
description: 'Set the telemetry target (local or gcp). Overrides settings files.',
|
|
82
|
+
})
|
|
83
|
+
.option('telemetry-otlp-endpoint', {
|
|
84
|
+
type: 'string',
|
|
85
|
+
description: 'Set the OTLP endpoint for telemetry. Overrides environment variables and settings files.',
|
|
86
|
+
})
|
|
87
|
+
.option('telemetry-otlp-protocol', {
|
|
88
|
+
type: 'string',
|
|
89
|
+
choices: ['grpc', 'http'],
|
|
90
|
+
description: 'Set the OTLP protocol for telemetry (grpc or http). Overrides settings files.',
|
|
91
|
+
})
|
|
92
|
+
.option('telemetry-log-prompts', {
|
|
93
|
+
type: 'boolean',
|
|
94
|
+
description: 'Enable or disable logging of user prompts for telemetry. Overrides settings files.',
|
|
95
|
+
})
|
|
96
|
+
.option('telemetry-outfile', {
|
|
97
|
+
type: 'string',
|
|
98
|
+
description: 'Redirect all telemetry output to the specified file.',
|
|
99
|
+
})
|
|
100
|
+
.deprecateOption('telemetry', 'Use the "telemetry.enabled" setting in settings.json instead. This flag will be removed in a future version.')
|
|
101
|
+
.deprecateOption('telemetry-target', 'Use the "telemetry.target" setting in settings.json instead. This flag will be removed in a future version.')
|
|
102
|
+
.deprecateOption('telemetry-otlp-endpoint', 'Use the "telemetry.otlpEndpoint" setting in settings.json instead. This flag will be removed in a future version.')
|
|
103
|
+
.deprecateOption('telemetry-otlp-protocol', 'Use the "telemetry.otlpProtocol" setting in settings.json instead. This flag will be removed in a future version.')
|
|
104
|
+
.deprecateOption('telemetry-log-prompts', 'Use the "telemetry.logPrompts" setting in settings.json instead. This flag will be removed in a future version.')
|
|
105
|
+
.deprecateOption('telemetry-outfile', 'Use the "telemetry.outfile" setting in settings.json instead. This flag will be removed in a future version.')
|
|
106
|
+
.option('debug', {
|
|
107
|
+
alias: 'd',
|
|
108
|
+
type: 'boolean',
|
|
109
|
+
description: 'Run in debug mode?',
|
|
110
|
+
default: false,
|
|
111
|
+
})
|
|
112
|
+
.option('proxy', {
|
|
113
|
+
type: 'string',
|
|
114
|
+
description: 'Proxy for UMS Code, like schema://user:password@host:port',
|
|
115
|
+
})
|
|
116
|
+
.deprecateOption('proxy', 'Use the "proxy" setting in settings.json instead. This flag will be removed in a future version.')
|
|
117
|
+
.command('$0 [query..]', 'Launch UMS Code CLI', (yargsInstance) => yargsInstance
|
|
118
|
+
.positional('query', {
|
|
119
|
+
description: 'Positional prompt. Defaults to one-shot; use -i/--prompt-interactive for interactive.',
|
|
120
|
+
})
|
|
62
121
|
.option('model', {
|
|
63
122
|
alias: 'm',
|
|
64
123
|
type: 'string',
|
|
65
124
|
description: `Model`,
|
|
66
|
-
default: process.env['GEMINI_MODEL'],
|
|
67
125
|
})
|
|
68
126
|
.option('prompt', {
|
|
69
127
|
alias: 'p',
|
|
@@ -83,12 +141,6 @@ export async function parseArguments(settings) {
|
|
|
83
141
|
.option('sandbox-image', {
|
|
84
142
|
type: 'string',
|
|
85
143
|
description: 'Sandbox image URI.',
|
|
86
|
-
})
|
|
87
|
-
.option('debug', {
|
|
88
|
-
alias: 'd',
|
|
89
|
-
type: 'boolean',
|
|
90
|
-
description: 'Run in debug mode?',
|
|
91
|
-
default: false,
|
|
92
144
|
})
|
|
93
145
|
.option('all-files', {
|
|
94
146
|
alias: ['a'],
|
|
@@ -111,32 +163,6 @@ export async function parseArguments(settings) {
|
|
|
111
163
|
type: 'string',
|
|
112
164
|
choices: ['plan', 'default', 'auto-edit', 'yolo'],
|
|
113
165
|
description: 'Set the approval mode: plan (plan only), default (prompt for approval), auto-edit (auto-approve edit tools), yolo (auto-approve all tools)',
|
|
114
|
-
})
|
|
115
|
-
.option('telemetry', {
|
|
116
|
-
type: 'boolean',
|
|
117
|
-
description: 'Enable telemetry? This flag specifically controls if telemetry is sent. Other --telemetry-* flags set specific values but do not enable telemetry on their own.',
|
|
118
|
-
})
|
|
119
|
-
.option('telemetry-target', {
|
|
120
|
-
type: 'string',
|
|
121
|
-
choices: ['local', 'gcp'],
|
|
122
|
-
description: 'Set the telemetry target (local or gcp). Overrides settings files.',
|
|
123
|
-
})
|
|
124
|
-
.option('telemetry-otlp-endpoint', {
|
|
125
|
-
type: 'string',
|
|
126
|
-
description: 'Set the OTLP endpoint for telemetry. Overrides environment variables and settings files.',
|
|
127
|
-
})
|
|
128
|
-
.option('telemetry-otlp-protocol', {
|
|
129
|
-
type: 'string',
|
|
130
|
-
choices: ['grpc', 'http'],
|
|
131
|
-
description: 'Set the OTLP protocol for telemetry (grpc or http). Overrides settings files.',
|
|
132
|
-
})
|
|
133
|
-
.option('telemetry-log-prompts', {
|
|
134
|
-
type: 'boolean',
|
|
135
|
-
description: 'Enable or disable logging of user prompts for telemetry. Overrides settings files.',
|
|
136
|
-
})
|
|
137
|
-
.option('telemetry-outfile', {
|
|
138
|
-
type: 'string',
|
|
139
|
-
description: 'Redirect all telemetry output to the specified file.',
|
|
140
166
|
})
|
|
141
167
|
.option('checkpointing', {
|
|
142
168
|
alias: 'c',
|
|
@@ -152,26 +178,31 @@ export async function parseArguments(settings) {
|
|
|
152
178
|
type: 'array',
|
|
153
179
|
string: true,
|
|
154
180
|
description: 'Allowed MCP server names',
|
|
181
|
+
coerce: (mcpServerNames) =>
|
|
182
|
+
// Handle comma-separated values
|
|
183
|
+
mcpServerNames.flatMap((mcpServerName) => mcpServerName.split(',').map((m) => m.trim())),
|
|
155
184
|
})
|
|
156
185
|
.option('allowed-tools', {
|
|
157
186
|
type: 'array',
|
|
158
187
|
string: true,
|
|
159
188
|
description: 'Tools that are allowed to run without confirmation',
|
|
189
|
+
coerce: (tools) =>
|
|
190
|
+
// Handle comma-separated values
|
|
191
|
+
tools.flatMap((tool) => tool.split(',').map((t) => t.trim())),
|
|
160
192
|
})
|
|
161
193
|
.option('extensions', {
|
|
162
194
|
alias: 'e',
|
|
163
195
|
type: 'array',
|
|
164
196
|
string: true,
|
|
165
197
|
description: 'A list of extensions to use. If not provided, all extensions are used.',
|
|
198
|
+
coerce: (extensions) =>
|
|
199
|
+
// Handle comma-separated values
|
|
200
|
+
extensions.flatMap((extension) => extension.split(',').map((e) => e.trim())),
|
|
166
201
|
})
|
|
167
202
|
.option('list-extensions', {
|
|
168
203
|
alias: 'l',
|
|
169
204
|
type: 'boolean',
|
|
170
205
|
description: 'List all available extensions and exit.',
|
|
171
|
-
})
|
|
172
|
-
.option('proxy', {
|
|
173
|
-
type: 'string',
|
|
174
|
-
description: 'Proxy for qwen client, like schema://user:password@host:port',
|
|
175
206
|
})
|
|
176
207
|
.option('include-directories', {
|
|
177
208
|
type: 'array',
|
|
@@ -184,6 +215,10 @@ export async function parseArguments(settings) {
|
|
|
184
215
|
.option('openai-logging', {
|
|
185
216
|
type: 'boolean',
|
|
186
217
|
description: 'Enable logging of OpenAI API calls for debugging and analysis',
|
|
218
|
+
})
|
|
219
|
+
.option('openai-logging-dir', {
|
|
220
|
+
type: 'string',
|
|
221
|
+
description: 'Custom directory path for OpenAI API logs. Overrides settings files.',
|
|
187
222
|
})
|
|
188
223
|
.option('openai-api-key', {
|
|
189
224
|
type: 'string',
|
|
@@ -195,31 +230,87 @@ export async function parseArguments(settings) {
|
|
|
195
230
|
})
|
|
196
231
|
.option('tavily-api-key', {
|
|
197
232
|
type: 'string',
|
|
198
|
-
description: 'Tavily API key for web search
|
|
233
|
+
description: 'Tavily API key for web search',
|
|
234
|
+
})
|
|
235
|
+
.option('google-api-key', {
|
|
236
|
+
type: 'string',
|
|
237
|
+
description: 'Google Custom Search API key',
|
|
238
|
+
})
|
|
239
|
+
.option('google-search-engine-id', {
|
|
240
|
+
type: 'string',
|
|
241
|
+
description: 'Google Custom Search Engine ID',
|
|
242
|
+
})
|
|
243
|
+
.option('web-search-default', {
|
|
244
|
+
type: 'string',
|
|
245
|
+
description: 'Default web search provider (dashscope, tavily, google)',
|
|
199
246
|
})
|
|
200
247
|
.option('screen-reader', {
|
|
201
248
|
type: 'boolean',
|
|
202
249
|
description: 'Enable screen reader mode for accessibility.',
|
|
203
|
-
default: false,
|
|
204
250
|
})
|
|
205
251
|
.option('vlm-switch-mode', {
|
|
206
252
|
type: 'string',
|
|
207
253
|
choices: ['once', 'session', 'persist'],
|
|
208
254
|
description: 'Default behavior when images are detected in input. Values: once (one-time switch), session (switch for entire session), persist (continue with current model). Overrides settings files.',
|
|
209
255
|
default: process.env['VLM_SWITCH_MODE'],
|
|
256
|
+
})
|
|
257
|
+
.option('input-format', {
|
|
258
|
+
type: 'string',
|
|
259
|
+
choices: ['text', 'stream-json'],
|
|
260
|
+
description: 'The format consumed from standard input.',
|
|
261
|
+
default: 'text',
|
|
262
|
+
})
|
|
263
|
+
.option('output-format', {
|
|
264
|
+
alias: 'o',
|
|
265
|
+
type: 'string',
|
|
266
|
+
description: 'The format of the CLI output.',
|
|
267
|
+
choices: ['text', 'json', 'stream-json'],
|
|
268
|
+
})
|
|
269
|
+
.option('include-partial-messages', {
|
|
270
|
+
type: 'boolean',
|
|
271
|
+
description: 'Include partial assistant messages when using stream-json output.',
|
|
272
|
+
default: false,
|
|
273
|
+
})
|
|
274
|
+
.deprecateOption('show-memory-usage', 'Use the "ui.showMemoryUsage" setting in settings.json instead. This flag will be removed in a future version.')
|
|
275
|
+
.deprecateOption('sandbox-image', 'Use the "tools.sandbox" setting in settings.json instead. This flag will be removed in a future version.')
|
|
276
|
+
.deprecateOption('checkpointing', 'Use the "general.checkpointing.enabled" setting in settings.json instead. This flag will be removed in a future version.')
|
|
277
|
+
.deprecateOption('all-files', 'Use @ includes in the application instead. This flag will be removed in a future version.')
|
|
278
|
+
.deprecateOption('prompt', 'Use the positional prompt instead. This flag will be removed in a future version.')
|
|
279
|
+
// Ensure validation flows through .fail() for clean UX
|
|
280
|
+
.fail((msg, err, yargs) => {
|
|
281
|
+
console.error(msg || err?.message || 'Unknown error');
|
|
282
|
+
yargs.showHelp();
|
|
283
|
+
process.exit(1);
|
|
210
284
|
})
|
|
211
285
|
.check((argv) => {
|
|
212
|
-
|
|
213
|
-
|
|
286
|
+
// The 'query' positional can be a string (for one arg) or string[] (for multiple).
|
|
287
|
+
// This guard safely checks if any positional argument was provided.
|
|
288
|
+
const query = argv['query'];
|
|
289
|
+
const hasPositionalQuery = Array.isArray(query)
|
|
290
|
+
? query.length > 0
|
|
291
|
+
: !!query;
|
|
292
|
+
if (argv['prompt'] && hasPositionalQuery) {
|
|
293
|
+
return 'Cannot use both a positional prompt and the --prompt (-p) flag together';
|
|
294
|
+
}
|
|
295
|
+
if (argv['prompt'] && argv['promptInteractive']) {
|
|
296
|
+
return 'Cannot use both --prompt (-p) and --prompt-interactive (-i) together';
|
|
214
297
|
}
|
|
215
|
-
if (argv
|
|
216
|
-
|
|
298
|
+
if (argv['yolo'] && argv['approvalMode']) {
|
|
299
|
+
return 'Cannot use both --yolo (-y) and --approval-mode together. Use --approval-mode=yolo instead.';
|
|
300
|
+
}
|
|
301
|
+
if (argv['includePartialMessages'] &&
|
|
302
|
+
argv['outputFormat'] !== OutputFormat.STREAM_JSON) {
|
|
303
|
+
return '--include-partial-messages requires --output-format stream-json';
|
|
304
|
+
}
|
|
305
|
+
if (argv['inputFormat'] === 'stream-json' &&
|
|
306
|
+
argv['outputFormat'] !== OutputFormat.STREAM_JSON) {
|
|
307
|
+
return '--input-format stream-json requires --output-format stream-json';
|
|
217
308
|
}
|
|
218
309
|
return true;
|
|
219
310
|
}))
|
|
220
311
|
// Register MCP subcommands
|
|
221
312
|
.command(mcpCommand);
|
|
222
|
-
if (settings?.experimental?.extensionManagement ??
|
|
313
|
+
if (settings?.experimental?.extensionManagement ?? true) {
|
|
223
314
|
yargsInstance.command(extensionsCommand);
|
|
224
315
|
}
|
|
225
316
|
yargsInstance
|
|
@@ -231,6 +322,7 @@ export async function parseArguments(settings) {
|
|
|
231
322
|
.demandCommand(0, 0); // Allow base command to run with no subcommands
|
|
232
323
|
yargsInstance.wrap(yargsInstance.terminalWidth());
|
|
233
324
|
const result = await yargsInstance.parse();
|
|
325
|
+
// If yargs handled --help/--version it will have exited; nothing to do here.
|
|
234
326
|
// Handle case where MCP subcommands are executed - they should exit the process
|
|
235
327
|
// and not return to main CLI logic
|
|
236
328
|
if (result._.length > 0 &&
|
|
@@ -238,6 +330,23 @@ export async function parseArguments(settings) {
|
|
|
238
330
|
// MCP commands handle their own execution and process exit
|
|
239
331
|
process.exit(0);
|
|
240
332
|
}
|
|
333
|
+
// Normalize query args: handle both quoted "@path file" and unquoted @path file
|
|
334
|
+
const queryArg = result.query;
|
|
335
|
+
const q = Array.isArray(queryArg)
|
|
336
|
+
? queryArg.join(' ')
|
|
337
|
+
: queryArg;
|
|
338
|
+
// Route positional args: explicit -i flag -> interactive; else -> one-shot (even for @commands)
|
|
339
|
+
if (q && !result['prompt']) {
|
|
340
|
+
const hasExplicitInteractive = result['promptInteractive'] === '' || !!result['promptInteractive'];
|
|
341
|
+
if (hasExplicitInteractive) {
|
|
342
|
+
result['promptInteractive'] = q;
|
|
343
|
+
}
|
|
344
|
+
else {
|
|
345
|
+
result['prompt'] = q;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
// Keep CliArgs.query as a string for downstream typing
|
|
349
|
+
result['query'] = q || undefined;
|
|
241
350
|
// The import format is now only controlled by settings.memoryImportFormat
|
|
242
351
|
// We no longer accept it as a CLI argument
|
|
243
352
|
return result;
|
|
@@ -245,7 +354,7 @@ export async function parseArguments(settings) {
|
|
|
245
354
|
// This function is now a thin wrapper around the server's implementation.
|
|
246
355
|
// It's kept in the CLI for now as App.tsx directly calls it for memory refresh.
|
|
247
356
|
// 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) {
|
|
357
|
+
export async function loadHierarchicalGeminiMemory(currentWorkingDirectory, includeDirectoriesToReadGemini = [], debugMode, fileService, settings, extensionContextFilePaths = [], folderTrust, memoryImportFormat = 'tree', fileFilteringOptions) {
|
|
249
358
|
// FIX: Use real, canonical paths for a reliable comparison to handle symlinks.
|
|
250
359
|
const realCwd = fs.realpathSync(path.resolve(currentWorkingDirectory));
|
|
251
360
|
const realHome = fs.realpathSync(path.resolve(homedir()));
|
|
@@ -257,32 +366,20 @@ export async function loadHierarchicalGeminiMemory(currentWorkingDirectory, incl
|
|
|
257
366
|
logger.debug(`CLI: Delegating hierarchical memory load to server for CWD: ${currentWorkingDirectory} (memoryImportFormat: ${memoryImportFormat})`);
|
|
258
367
|
}
|
|
259
368
|
// Directly call the server function with the corrected path.
|
|
260
|
-
return loadServerHierarchicalMemory(effectiveCwd, includeDirectoriesToReadGemini, debugMode, fileService, extensionContextFilePaths, memoryImportFormat, fileFilteringOptions, settings.context?.discoveryMaxDirs);
|
|
369
|
+
return loadServerHierarchicalMemory(effectiveCwd, includeDirectoriesToReadGemini, debugMode, fileService, extensionContextFilePaths, folderTrust, memoryImportFormat, fileFilteringOptions, settings.context?.discoveryMaxDirs);
|
|
370
|
+
}
|
|
371
|
+
export function isDebugMode(argv) {
|
|
372
|
+
return (argv.debug ||
|
|
373
|
+
[process.env['DEBUG'], process.env['DEBUG_MODE']].some((v) => v === 'true' || v === '1'));
|
|
261
374
|
}
|
|
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;
|
|
375
|
+
export async function loadCliConfig(settings, extensions, extensionEnablementManager, sessionId, argv, cwd = process.cwd()) {
|
|
376
|
+
const debugMode = isDebugMode(argv);
|
|
266
377
|
const memoryImportFormat = settings.context?.importFormat || 'tree';
|
|
267
378
|
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);
|
|
379
|
+
const folderTrust = settings.security?.folderTrust?.enabled ?? false;
|
|
380
|
+
const trustedFolder = isWorkspaceTrusted(settings)?.isTrusted ?? true;
|
|
381
|
+
const allExtensions = annotateActiveExtensions(extensions, cwd, extensionEnablementManager);
|
|
273
382
|
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
383
|
// Set the context filename in the server's memoryTool module BEFORE loading memory
|
|
287
384
|
// TODO(b/343434939): This is a bit of a hack. The contextFileName should ideally be passed
|
|
288
385
|
// directly to the Config constructor in core, and have core handle setGeminiMdFilename.
|
|
@@ -295,6 +392,14 @@ export async function loadCliConfig(settings, extensions, sessionId, argv, cwd =
|
|
|
295
392
|
setServerGeminiMdFilename(getCurrentGeminiMdFilename());
|
|
296
393
|
}
|
|
297
394
|
const extensionContextFilePaths = activeExtensions.flatMap((e) => e.contextFiles);
|
|
395
|
+
// Automatically load output-language.md if it exists
|
|
396
|
+
const outputLanguageFilePath = path.join(Storage.getGlobalQwenDir(), 'output-language.md');
|
|
397
|
+
if (fs.existsSync(outputLanguageFilePath)) {
|
|
398
|
+
extensionContextFilePaths.push(outputLanguageFilePath);
|
|
399
|
+
if (debugMode) {
|
|
400
|
+
logger.debug(`Found output-language.md, adding to context files: ${outputLanguageFilePath}`);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
298
403
|
const fileService = new FileDiscoveryService(cwd);
|
|
299
404
|
const fileFiltering = {
|
|
300
405
|
...DEFAULT_MEMORY_FILE_FILTERING_OPTIONS,
|
|
@@ -306,9 +411,20 @@ export async function loadCliConfig(settings, extensions, sessionId, argv, cwd =
|
|
|
306
411
|
// Call the (now wrapper) loadHierarchicalGeminiMemory which calls the server's version
|
|
307
412
|
const { memoryContent, fileCount } = await loadHierarchicalGeminiMemory(cwd, settings.context?.loadMemoryFromIncludeDirectories
|
|
308
413
|
? includeDirectories
|
|
309
|
-
: [], debugMode, fileService, settings, extensionContextFilePaths, memoryImportFormat, fileFiltering);
|
|
414
|
+
: [], debugMode, fileService, settings, extensionContextFilePaths, trustedFolder, memoryImportFormat, fileFiltering);
|
|
310
415
|
let mcpServers = mergeMcpServers(settings, activeExtensions);
|
|
311
416
|
const question = argv.promptInteractive || argv.prompt || '';
|
|
417
|
+
const inputFormat = argv.inputFormat ?? InputFormat.TEXT;
|
|
418
|
+
const argvOutputFormat = normalizeOutputFormat(argv.outputFormat);
|
|
419
|
+
const settingsOutputFormat = normalizeOutputFormat(settings.output?.format);
|
|
420
|
+
const outputFormat = argvOutputFormat ?? settingsOutputFormat ?? OutputFormat.TEXT;
|
|
421
|
+
const outputSettingsFormat = outputFormat === OutputFormat.STREAM_JSON
|
|
422
|
+
? settingsOutputFormat &&
|
|
423
|
+
settingsOutputFormat !== OutputFormat.STREAM_JSON
|
|
424
|
+
? settingsOutputFormat
|
|
425
|
+
: OutputFormat.TEXT
|
|
426
|
+
: outputFormat;
|
|
427
|
+
const includePartialMessages = Boolean(argv.includePartialMessages);
|
|
312
428
|
// Determine approval mode with backward compatibility
|
|
313
429
|
let approvalMode;
|
|
314
430
|
if (argv.approvalMode) {
|
|
@@ -317,8 +433,8 @@ export async function loadCliConfig(settings, extensions, sessionId, argv, cwd =
|
|
|
317
433
|
else if (argv.yolo) {
|
|
318
434
|
approvalMode = ApprovalMode.YOLO;
|
|
319
435
|
}
|
|
320
|
-
else if (settings.approvalMode) {
|
|
321
|
-
approvalMode = parseApprovalModeValue(settings.approvalMode);
|
|
436
|
+
else if (settings.tools?.approvalMode) {
|
|
437
|
+
approvalMode = parseApprovalModeValue(settings.tools.approvalMode);
|
|
322
438
|
}
|
|
323
439
|
else {
|
|
324
440
|
approvalMode = ApprovalMode.DEFAULT;
|
|
@@ -330,7 +446,46 @@ export async function loadCliConfig(settings, extensions, sessionId, argv, cwd =
|
|
|
330
446
|
logger.warn(`Approval mode overridden to "default" because the current folder is not trusted.`);
|
|
331
447
|
approvalMode = ApprovalMode.DEFAULT;
|
|
332
448
|
}
|
|
333
|
-
|
|
449
|
+
let telemetrySettings;
|
|
450
|
+
try {
|
|
451
|
+
telemetrySettings = await resolveTelemetrySettings({
|
|
452
|
+
argv,
|
|
453
|
+
env: process.env,
|
|
454
|
+
settings: settings.telemetry,
|
|
455
|
+
});
|
|
456
|
+
}
|
|
457
|
+
catch (err) {
|
|
458
|
+
if (err instanceof FatalConfigError) {
|
|
459
|
+
throw new FatalConfigError(`Invalid telemetry configuration: ${err.message}.`);
|
|
460
|
+
}
|
|
461
|
+
throw err;
|
|
462
|
+
}
|
|
463
|
+
// Interactive mode determination with priority:
|
|
464
|
+
// 1. If promptInteractive (-i flag) is provided, it is explicitly interactive
|
|
465
|
+
// 2. If outputFormat is stream-json or json (no matter input-format) along with query or prompt, it is non-interactive
|
|
466
|
+
// 3. If no query or prompt is provided, check isTTY: TTY means interactive, non-TTY means non-interactive
|
|
467
|
+
const hasQuery = !!argv.query;
|
|
468
|
+
const hasPrompt = !!argv.prompt;
|
|
469
|
+
let interactive;
|
|
470
|
+
if (argv.promptInteractive) {
|
|
471
|
+
// Priority 1: Explicit -i flag means interactive
|
|
472
|
+
interactive = true;
|
|
473
|
+
}
|
|
474
|
+
else if ((outputFormat === OutputFormat.STREAM_JSON ||
|
|
475
|
+
outputFormat === OutputFormat.JSON) &&
|
|
476
|
+
(hasQuery || hasPrompt)) {
|
|
477
|
+
// Priority 2: JSON/stream-json output with query/prompt means non-interactive
|
|
478
|
+
interactive = false;
|
|
479
|
+
}
|
|
480
|
+
else if (!hasQuery && !hasPrompt) {
|
|
481
|
+
// Priority 3: No query or prompt means interactive only if TTY (format arguments ignored)
|
|
482
|
+
interactive = process.stdin.isTTY ?? false;
|
|
483
|
+
}
|
|
484
|
+
else {
|
|
485
|
+
// Default: If we have query/prompt but output format is TEXT, assume non-interactive
|
|
486
|
+
// (fallback for edge cases where query/prompt is provided with TEXT output)
|
|
487
|
+
interactive = false;
|
|
488
|
+
}
|
|
334
489
|
// In non-interactive mode, exclude tools that require a prompt.
|
|
335
490
|
const extraExcludes = [];
|
|
336
491
|
if (!interactive && !argv.experimentalAcp) {
|
|
@@ -368,15 +523,18 @@ export async function loadCliConfig(settings, extensions, sessionId, argv, cwd =
|
|
|
368
523
|
if (argv.allowedMcpServerNames) {
|
|
369
524
|
mcpServers = allowedMcpServers(mcpServers, argv.allowedMcpServerNames, blockedMcpServers);
|
|
370
525
|
}
|
|
526
|
+
const resolvedModel = argv.model ||
|
|
527
|
+
process.env['OPENAI_MODEL'] ||
|
|
528
|
+
process.env['QWEN_MODEL'] ||
|
|
529
|
+
settings.model?.name;
|
|
371
530
|
const sandboxConfig = await loadSandboxConfig(settings, argv);
|
|
372
|
-
const cliVersion = await getCliVersion();
|
|
373
531
|
const screenReader = argv.screenReader !== undefined
|
|
374
532
|
? argv.screenReader
|
|
375
533
|
: (settings.ui?.accessibility?.screenReader ?? false);
|
|
376
534
|
const vlmSwitchMode = argv.vlmSwitchMode || settings.experimental?.vlmSwitchMode;
|
|
377
535
|
return new Config({
|
|
378
536
|
sessionId,
|
|
379
|
-
embeddingModel:
|
|
537
|
+
embeddingModel: DEFAULT_QWEN_EMBEDDING_MODEL,
|
|
380
538
|
sandbox: sandboxConfig,
|
|
381
539
|
targetDir: cwd,
|
|
382
540
|
includeDirectories,
|
|
@@ -399,26 +557,9 @@ export async function loadCliConfig(settings, extensions, sessionId, argv, cwd =
|
|
|
399
557
|
...settings.ui?.accessibility,
|
|
400
558
|
screenReader,
|
|
401
559
|
},
|
|
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
|
-
},
|
|
560
|
+
telemetry: telemetrySettings,
|
|
414
561
|
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
|
-
},
|
|
562
|
+
fileFiltering: settings.context?.fileFiltering,
|
|
422
563
|
checkpointing: argv.checkpointing || settings.general?.checkpointing?.enabled,
|
|
423
564
|
proxy: argv.proxy ||
|
|
424
565
|
process.env['HTTPS_PROXY'] ||
|
|
@@ -428,47 +569,56 @@ export async function loadCliConfig(settings, extensions, sessionId, argv, cwd =
|
|
|
428
569
|
cwd,
|
|
429
570
|
fileDiscoveryService: fileService,
|
|
430
571
|
bugCommand: settings.advanced?.bugCommand,
|
|
431
|
-
model:
|
|
572
|
+
model: resolvedModel,
|
|
432
573
|
extensionContextFilePaths,
|
|
433
|
-
sessionTokenLimit: settings.sessionTokenLimit ?? -1,
|
|
574
|
+
sessionTokenLimit: settings.model?.sessionTokenLimit ?? -1,
|
|
434
575
|
maxSessionTurns: settings.model?.maxSessionTurns ?? -1,
|
|
435
576
|
experimentalZedIntegration: argv.experimentalAcp || false,
|
|
436
577
|
listExtensions: argv.listExtensions || false,
|
|
437
578
|
extensions: allExtensions,
|
|
438
579
|
blockedMcpServers,
|
|
439
580
|
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
581
|
authType: settings.security?.auth?.selectedType,
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
582
|
+
inputFormat,
|
|
583
|
+
outputFormat,
|
|
584
|
+
includePartialMessages,
|
|
585
|
+
generationConfig: {
|
|
586
|
+
...(settings.model?.generationConfig || {}),
|
|
587
|
+
model: resolvedModel,
|
|
588
|
+
apiKey: argv.openaiApiKey ||
|
|
589
|
+
process.env['OPENAI_API_KEY'] ||
|
|
590
|
+
settings.security?.auth?.apiKey,
|
|
591
|
+
baseUrl: argv.openaiBaseUrl ||
|
|
592
|
+
process.env['OPENAI_BASE_URL'] ||
|
|
593
|
+
settings.security?.auth?.baseUrl,
|
|
594
|
+
enableOpenAILogging: (typeof argv.openaiLogging === 'undefined'
|
|
595
|
+
? settings.model?.enableOpenAILogging
|
|
596
|
+
: argv.openaiLogging) ?? false,
|
|
597
|
+
openAILoggingDir: argv.openaiLoggingDir || settings.model?.openAILoggingDir,
|
|
598
|
+
},
|
|
599
|
+
cliVersion: await getCliVersion(),
|
|
600
|
+
webSearch: buildWebSearchConfig(argv, settings, settings.security?.auth?.selectedType),
|
|
459
601
|
summarizeToolOutput: settings.model?.summarizeToolOutput,
|
|
460
602
|
ideMode,
|
|
461
603
|
chatCompression: settings.model?.chatCompression,
|
|
462
|
-
folderTrustFeature,
|
|
463
604
|
folderTrust,
|
|
464
605
|
interactive,
|
|
465
606
|
trustedFolder,
|
|
466
607
|
useRipgrep: settings.tools?.useRipgrep,
|
|
467
|
-
|
|
608
|
+
useBuiltinRipgrep: settings.tools?.useBuiltinRipgrep,
|
|
609
|
+
shouldUseNodePtyShell: settings.tools?.shell?.enableInteractiveShell,
|
|
468
610
|
skipNextSpeakerCheck: settings.model?.skipNextSpeakerCheck,
|
|
469
|
-
|
|
470
|
-
|
|
611
|
+
skipLoopDetection: settings.model?.skipLoopDetection ?? false,
|
|
612
|
+
skipStartupContext: settings.model?.skipStartupContext ?? false,
|
|
471
613
|
vlmSwitchMode,
|
|
614
|
+
truncateToolOutputThreshold: settings.tools?.truncateToolOutputThreshold,
|
|
615
|
+
truncateToolOutputLines: settings.tools?.truncateToolOutputLines,
|
|
616
|
+
enableToolOutputTruncation: settings.tools?.enableToolOutputTruncation,
|
|
617
|
+
eventEmitter: appEvents,
|
|
618
|
+
useSmartEdit: argv.useSmartEdit ?? settings.useSmartEdit,
|
|
619
|
+
output: {
|
|
620
|
+
format: outputSettingsFormat,
|
|
621
|
+
},
|
|
472
622
|
});
|
|
473
623
|
}
|
|
474
624
|
function allowedMcpServers(mcpServers, allowMCPServers, blockedMcpServers) {
|