@machina.ai/cell-cli 1.20.2-rc1 → 1.25.0-rc3
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 +5 -4
- package/dist/src/commands/extensions/configure.d.ts +13 -0
- package/dist/src/commands/extensions/configure.js +131 -0
- package/dist/src/commands/extensions/configure.js.map +1 -0
- package/dist/src/commands/extensions/configure.test.d.ts +1 -0
- package/dist/src/commands/extensions/configure.test.js +197 -0
- package/dist/src/commands/extensions/configure.test.js.map +1 -0
- package/dist/src/commands/extensions/disable.js.map +1 -1
- package/dist/src/commands/extensions/disable.test.js.map +1 -1
- package/dist/src/commands/extensions/enable.js.map +1 -1
- package/dist/src/commands/extensions/enable.test.js.map +1 -1
- package/dist/src/commands/extensions/examples/mcp-server/example.test.js +1 -1
- package/dist/src/commands/extensions/examples/mcp-server/example.test.js.map +1 -1
- package/dist/src/commands/extensions/examples/mcp-server/example.test.ts +4 -12
- package/dist/src/commands/extensions/install.js +7 -31
- package/dist/src/commands/extensions/install.js.map +1 -1
- package/dist/src/commands/extensions/install.test.js +21 -3
- package/dist/src/commands/extensions/install.test.js.map +1 -1
- package/dist/src/commands/extensions/link.test.js.map +1 -1
- package/dist/src/commands/extensions/list.test.js +0 -1
- package/dist/src/commands/extensions/list.test.js.map +1 -1
- package/dist/src/commands/extensions/uninstall.js.map +1 -1
- package/dist/src/commands/extensions/uninstall.test.js.map +1 -1
- package/dist/src/commands/extensions/update.test.js.map +1 -1
- package/dist/src/commands/extensions/utils.d.ts +14 -0
- package/dist/src/commands/extensions/utils.js +33 -0
- package/dist/src/commands/extensions/utils.js.map +1 -0
- package/dist/src/commands/extensions/validate.js +1 -1
- package/dist/src/commands/extensions/validate.js.map +1 -1
- package/dist/src/commands/extensions/validate.test.js +1 -1
- package/dist/src/commands/extensions/validate.test.js.map +1 -1
- package/dist/src/commands/extensions.js +2 -0
- package/dist/src/commands/extensions.js.map +1 -1
- package/dist/src/commands/hooks/migrate.d.ts +11 -0
- package/dist/src/commands/hooks/migrate.js +206 -0
- package/dist/src/commands/hooks/migrate.js.map +1 -0
- package/dist/src/commands/hooks/migrate.test.js +389 -0
- package/dist/src/commands/hooks/migrate.test.js.map +1 -0
- package/dist/src/commands/hooks.d.ts +7 -0
- package/dist/src/commands/hooks.js +22 -0
- package/dist/src/commands/hooks.js.map +1 -0
- package/dist/src/commands/mcp/add.js +4 -2
- package/dist/src/commands/mcp/add.js.map +1 -1
- package/dist/src/commands/mcp/add.test.js +24 -2
- package/dist/src/commands/mcp/add.test.js.map +1 -1
- package/dist/src/commands/mcp/list.js +7 -1
- package/dist/src/commands/mcp/list.js.map +1 -1
- package/dist/src/commands/skills/disable.d.ts +14 -0
- package/dist/src/commands/skills/disable.js +45 -0
- package/dist/src/commands/skills/disable.js.map +1 -0
- package/dist/src/commands/skills/disable.test.d.ts +6 -0
- package/dist/src/commands/skills/disable.test.js +80 -0
- package/dist/src/commands/skills/disable.test.js.map +1 -0
- package/dist/src/commands/skills/enable.d.ts +12 -0
- package/dist/src/commands/skills/enable.js +35 -0
- package/dist/src/commands/skills/enable.js.map +1 -0
- package/dist/src/commands/skills/enable.test.d.ts +6 -0
- package/dist/src/commands/skills/enable.test.js +107 -0
- package/dist/src/commands/skills/enable.test.js.map +1 -0
- package/dist/src/commands/skills/install.d.ts +14 -0
- package/dist/src/commands/skills/install.js +61 -0
- package/dist/src/commands/skills/install.js.map +1 -0
- package/dist/src/commands/skills/install.test.d.ts +6 -0
- package/dist/src/commands/skills/install.test.js +57 -0
- package/dist/src/commands/skills/install.test.js.map +1 -0
- package/dist/src/commands/skills/list.d.ts +10 -0
- package/dist/src/commands/skills/list.js +60 -0
- package/dist/src/commands/skills/list.js.map +1 -0
- package/dist/src/commands/skills/list.test.d.ts +6 -0
- package/dist/src/commands/skills/list.test.js +136 -0
- package/dist/src/commands/skills/list.test.js.map +1 -0
- package/dist/src/commands/skills/uninstall.d.ts +13 -0
- package/dist/src/commands/skills/uninstall.js +56 -0
- package/dist/src/commands/skills/uninstall.js.map +1 -0
- package/dist/src/commands/skills/uninstall.test.d.ts +6 -0
- package/dist/src/commands/skills/uninstall.test.js +61 -0
- package/dist/src/commands/skills/uninstall.test.js.map +1 -0
- package/dist/src/commands/skills.d.ts +7 -0
- package/dist/src/commands/skills.js +30 -0
- package/dist/src/commands/skills.js.map +1 -0
- package/dist/src/commands/skills.test.d.ts +6 -0
- package/dist/src/commands/skills.test.js +49 -0
- package/dist/src/commands/skills.test.js.map +1 -0
- package/dist/src/config/config.d.ts +10 -3
- package/dist/src/config/config.js +101 -34
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +225 -16
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/extension-manager-agents.test.d.ts +6 -0
- package/dist/src/config/extension-manager-agents.test.js +115 -0
- package/dist/src/config/extension-manager-agents.test.js.map +1 -0
- package/dist/src/config/extension-manager-scope.test.js +164 -0
- package/dist/src/config/extension-manager-scope.test.js.map +1 -0
- package/dist/src/config/extension-manager-skills.test.js +150 -0
- package/dist/src/config/extension-manager-skills.test.js.map +1 -0
- package/dist/src/config/extension-manager.d.ts +7 -1
- package/dist/src/config/extension-manager.js +202 -37
- package/dist/src/config/extension-manager.js.map +1 -1
- package/dist/src/config/extension.test.js +178 -13
- package/dist/src/config/extension.test.js.map +1 -1
- package/dist/src/config/extensions/consent.d.ts +5 -3
- package/dist/src/config/extensions/consent.js +33 -7
- package/dist/src/config/extensions/consent.js.map +1 -1
- package/dist/src/config/extensions/consent.test.js +114 -10
- package/dist/src/config/extensions/consent.test.js.map +1 -1
- package/dist/src/config/extensions/extensionSettings.d.ts +9 -1
- package/dist/src/config/extensions/extensionSettings.js +107 -17
- package/dist/src/config/extensions/extensionSettings.js.map +1 -1
- package/dist/src/config/extensions/extensionSettings.test.js +189 -54
- package/dist/src/config/extensions/extensionSettings.test.js.map +1 -1
- package/dist/src/config/extensions/extensionUpdates.test.js +231 -0
- package/dist/src/config/extensions/extensionUpdates.test.js.map +1 -0
- package/dist/src/config/extensions/github.d.ts +4 -1
- package/dist/src/config/extensions/github.js +33 -7
- package/dist/src/config/extensions/github.js.map +1 -1
- package/dist/src/config/extensions/github.test.js +190 -2
- package/dist/src/config/extensions/github.test.js.map +1 -1
- package/dist/src/config/extensions/github_fetch.js.map +1 -1
- package/dist/src/config/extensions/storage.js +2 -2
- package/dist/src/config/extensions/storage.js.map +1 -1
- package/dist/src/config/extensions/update.js +1 -1
- package/dist/src/config/extensions/update.js.map +1 -1
- package/dist/src/config/extensions/update.test.js +8 -8
- package/dist/src/config/extensions/update.test.js.map +1 -1
- package/dist/src/config/keyBindings.d.ts +14 -2
- package/dist/src/config/keyBindings.js +89 -11
- package/dist/src/config/keyBindings.js.map +1 -1
- package/dist/src/config/policy-engine.integration.test.js +13 -1
- package/dist/src/config/policy-engine.integration.test.js.map +1 -1
- package/dist/src/config/settings-validation.d.ts +23 -0
- package/dist/src/config/settings-validation.js +249 -0
- package/dist/src/config/settings-validation.js.map +1 -0
- package/dist/src/config/settings-validation.test.d.ts +6 -0
- package/dist/src/config/settings-validation.test.js +370 -0
- package/dist/src/config/settings-validation.test.js.map +1 -0
- package/dist/src/config/settings.d.ts +9 -7
- package/dist/src/config/settings.js +138 -233
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settings.test.js +245 -571
- package/dist/src/config/settings.test.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +459 -35
- package/dist/src/config/settingsSchema.js +541 -32
- package/dist/src/config/settingsSchema.js.map +1 -1
- package/dist/src/config/settingsSchema.test.js +22 -4
- package/dist/src/config/settingsSchema.test.js.map +1 -1
- package/dist/src/config/settings_repro.test.d.ts +6 -0
- package/dist/src/config/settings_repro.test.js +162 -0
- package/dist/src/config/settings_repro.test.js.map +1 -0
- package/dist/src/config/settings_validation_warning.test.d.ts +6 -0
- package/dist/src/config/settings_validation_warning.test.js +123 -0
- package/dist/src/config/settings_validation_warning.test.js.map +1 -0
- package/dist/src/config/trustedFolders.d.ts +1 -0
- package/dist/src/config/trustedFolders.js +18 -4
- package/dist/src/config/trustedFolders.js.map +1 -1
- package/dist/src/config/trustedFolders.test.js +45 -0
- package/dist/src/config/trustedFolders.test.js.map +1 -1
- package/dist/src/gemini.js +135 -69
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/gemini.test.js +85 -99
- package/dist/src/gemini.test.js.map +1 -1
- package/dist/src/gemini_cleanup.test.js +7 -0
- package/dist/src/gemini_cleanup.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +3 -3
- package/dist/src/generated/git-commit.js +3 -3
- package/dist/src/nonInteractiveCli.js +59 -9
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/nonInteractiveCli.test.js +114 -21
- package/dist/src/nonInteractiveCli.test.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.d.ts +1 -1
- package/dist/src/services/BuiltinCommandLoader.js +66 -8
- package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.test.js +70 -12
- package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
- package/dist/src/services/FeedbackService.js.map +1 -1
- package/dist/src/services/FileCommandLoader.js +6 -6
- package/dist/src/services/FileCommandLoader.js.map +1 -1
- package/dist/src/services/FileCommandLoader.test.js.map +1 -1
- package/dist/src/services/McpPromptLoader.js +1 -0
- package/dist/src/services/McpPromptLoader.js.map +1 -1
- package/dist/src/services/McpPromptLoader.test.js +40 -0
- package/dist/src/services/McpPromptLoader.test.js.map +1 -1
- package/dist/src/services/prompt-processors/shellProcessor.js +13 -11
- package/dist/src/services/prompt-processors/shellProcessor.js.map +1 -1
- package/dist/src/services/prompt-processors/shellProcessor.test.js +93 -61
- package/dist/src/services/prompt-processors/shellProcessor.test.js.map +1 -1
- package/dist/src/test-utils/render.js +5 -2
- package/dist/src/test-utils/render.js.map +1 -1
- package/dist/src/ui/App.test.js +2 -2
- package/dist/src/ui/App.test.js.map +1 -1
- package/dist/src/ui/AppContainer.js +200 -94
- package/dist/src/ui/AppContainer.js.map +1 -1
- package/dist/src/ui/AppContainer.test.js +405 -69
- package/dist/src/ui/AppContainer.test.js.map +1 -1
- package/dist/src/ui/IdeIntegrationNudge.test.js +18 -7
- package/dist/src/ui/IdeIntegrationNudge.test.js.map +1 -1
- package/dist/src/ui/auth/ApiAuthDialog.js +36 -3
- package/dist/src/ui/auth/ApiAuthDialog.js.map +1 -1
- package/dist/src/ui/auth/ApiAuthDialog.test.js +26 -2
- package/dist/src/ui/auth/ApiAuthDialog.test.js.map +1 -1
- package/dist/src/ui/auth/AuthDialog.d.ts +4 -1
- package/dist/src/ui/auth/AuthDialog.js +11 -4
- package/dist/src/ui/auth/AuthDialog.js.map +1 -1
- package/dist/src/ui/auth/AuthDialog.test.js +19 -2
- package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
- package/dist/src/ui/auth/AuthInProgress.test.js +16 -6
- package/dist/src/ui/auth/AuthInProgress.test.js.map +1 -1
- package/dist/src/ui/auth/LoginWithGoogleRestartDialog.d.ts +10 -0
- package/dist/src/ui/auth/LoginWithGoogleRestartDialog.js +27 -0
- package/dist/src/ui/auth/LoginWithGoogleRestartDialog.js.map +1 -0
- package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.d.ts +6 -0
- package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js +68 -0
- package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js.map +1 -0
- package/dist/src/ui/auth/useAuth.js +9 -4
- package/dist/src/ui/auth/useAuth.js.map +1 -1
- package/dist/src/ui/auth/useAuth.test.js +2 -2
- package/dist/src/ui/auth/useAuth.test.js.map +1 -1
- package/dist/src/ui/commands/aboutCommand.js +3 -4
- package/dist/src/ui/commands/aboutCommand.js.map +1 -1
- package/dist/src/ui/commands/aboutCommand.test.js +7 -10
- package/dist/src/ui/commands/aboutCommand.test.js.map +1 -1
- package/dist/src/ui/commands/agentsCommand.d.ts +7 -0
- package/dist/src/ui/commands/agentsCommand.js +79 -0
- package/dist/src/ui/commands/agentsCommand.js.map +1 -0
- package/dist/src/ui/commands/agentsCommand.test.d.ts +6 -0
- package/dist/src/ui/commands/agentsCommand.test.js +91 -0
- package/dist/src/ui/commands/agentsCommand.test.js.map +1 -0
- package/dist/src/ui/commands/authCommand.js +30 -3
- package/dist/src/ui/commands/authCommand.js.map +1 -1
- package/dist/src/ui/commands/authCommand.test.js +72 -4
- package/dist/src/ui/commands/authCommand.test.js.map +1 -1
- package/dist/src/ui/commands/bugCommand.js +37 -6
- package/dist/src/ui/commands/bugCommand.js.map +1 -1
- package/dist/src/ui/commands/bugCommand.test.js +86 -5
- package/dist/src/ui/commands/bugCommand.test.js.map +1 -1
- package/dist/src/ui/commands/chatCommand.d.ts +1 -2
- package/dist/src/ui/commands/chatCommand.js +52 -52
- package/dist/src/ui/commands/chatCommand.js.map +1 -1
- package/dist/src/ui/commands/chatCommand.test.js +95 -69
- package/dist/src/ui/commands/chatCommand.test.js.map +1 -1
- package/dist/src/ui/commands/clearCommand.js +22 -1
- package/dist/src/ui/commands/clearCommand.js.map +1 -1
- package/dist/src/ui/commands/clearCommand.test.js +6 -0
- package/dist/src/ui/commands/clearCommand.test.js.map +1 -1
- package/dist/src/ui/commands/copyCommand.js +1 -1
- package/dist/src/ui/commands/copyCommand.js.map +1 -1
- package/dist/src/ui/commands/directoryCommand.js +27 -10
- package/dist/src/ui/commands/directoryCommand.js.map +1 -1
- package/dist/src/ui/commands/directoryCommand.test.js +49 -11
- package/dist/src/ui/commands/directoryCommand.test.js.map +1 -1
- package/dist/src/ui/commands/extensionsCommand.js +194 -24
- package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
- package/dist/src/ui/commands/extensionsCommand.test.js +217 -27
- package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
- package/dist/src/ui/commands/helpCommand.js +1 -1
- package/dist/src/ui/commands/helpCommand.js.map +1 -1
- package/dist/src/ui/commands/helpCommand.test.js +1 -1
- package/dist/src/ui/commands/helpCommand.test.js.map +1 -1
- package/dist/src/ui/commands/hooksCommand.d.ts +7 -0
- package/dist/src/ui/commands/hooksCommand.js +342 -0
- package/dist/src/ui/commands/hooksCommand.js.map +1 -0
- package/dist/src/ui/commands/hooksCommand.test.d.ts +6 -0
- package/dist/src/ui/commands/hooksCommand.test.js +575 -0
- package/dist/src/ui/commands/hooksCommand.test.js.map +1 -0
- package/dist/src/ui/commands/ideCommand.test.js.map +1 -1
- package/dist/src/ui/commands/initCommand.js +10 -50
- package/dist/src/ui/commands/initCommand.js.map +1 -1
- package/dist/src/ui/commands/initCommand.test.js.map +1 -1
- package/dist/src/ui/commands/mcpCommand.js +34 -16
- package/dist/src/ui/commands/mcpCommand.js.map +1 -1
- package/dist/src/ui/commands/mcpCommand.test.js +43 -6
- package/dist/src/ui/commands/mcpCommand.test.js.map +1 -1
- package/dist/src/ui/commands/memoryCommand.js +19 -33
- package/dist/src/ui/commands/memoryCommand.js.map +1 -1
- package/dist/src/ui/commands/memoryCommand.test.js +112 -16
- package/dist/src/ui/commands/memoryCommand.test.js.map +1 -1
- package/dist/src/ui/commands/modelCommand.js +10 -5
- package/dist/src/ui/commands/modelCommand.js.map +1 -1
- package/dist/src/ui/commands/modelCommand.test.js +12 -1
- package/dist/src/ui/commands/modelCommand.test.js.map +1 -1
- package/dist/src/ui/commands/restoreCommand.d.ts +1 -1
- package/dist/src/ui/commands/restoreCommand.js +38 -33
- package/dist/src/ui/commands/restoreCommand.js.map +1 -1
- package/dist/src/ui/commands/restoreCommand.test.js +6 -6
- package/dist/src/ui/commands/restoreCommand.test.js.map +1 -1
- package/dist/src/ui/commands/setupGithubCommand.test.js.map +1 -1
- package/dist/src/ui/commands/skillsCommand.d.ts +7 -0
- package/dist/src/ui/commands/skillsCommand.js +235 -0
- package/dist/src/ui/commands/skillsCommand.js.map +1 -0
- package/dist/src/ui/commands/skillsCommand.test.d.ts +6 -0
- package/dist/src/ui/commands/skillsCommand.test.js +405 -0
- package/dist/src/ui/commands/skillsCommand.test.js.map +1 -0
- package/dist/src/ui/commands/statsCommand.js +6 -10
- package/dist/src/ui/commands/statsCommand.js.map +1 -1
- package/dist/src/ui/commands/statsCommand.test.js +20 -3
- package/dist/src/ui/commands/statsCommand.test.js.map +1 -1
- package/dist/src/ui/commands/terminalSetupCommand.js +1 -0
- package/dist/src/ui/commands/terminalSetupCommand.js.map +1 -1
- package/dist/src/ui/commands/toolsCommand.js +2 -2
- package/dist/src/ui/commands/toolsCommand.js.map +1 -1
- package/dist/src/ui/commands/toolsCommand.test.js +2 -2
- package/dist/src/ui/commands/toolsCommand.test.js.map +1 -1
- package/dist/src/ui/commands/types.d.ts +16 -38
- package/dist/src/ui/commands/types.js +1 -0
- package/dist/src/ui/commands/types.js.map +1 -1
- package/dist/src/ui/components/AnsiOutput.js +1 -1
- package/dist/src/ui/components/AnsiOutput.js.map +1 -1
- package/dist/src/ui/components/AppHeader.test.js +8 -0
- package/dist/src/ui/components/AppHeader.test.js.map +1 -1
- package/dist/src/ui/components/AsciiArt.d.ts +6 -6
- package/dist/src/ui/components/AsciiArt.js +6 -6
- package/dist/src/ui/components/Composer.js +7 -7
- package/dist/src/ui/components/Composer.js.map +1 -1
- package/dist/src/ui/components/Composer.test.js +23 -4
- package/dist/src/ui/components/Composer.test.js.map +1 -1
- package/dist/src/ui/components/ContextSummaryDisplay.d.ts +1 -0
- package/dist/src/ui/components/ContextSummaryDisplay.js +12 -5
- package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
- package/dist/src/ui/components/ContextSummaryDisplay.test.js +56 -25
- package/dist/src/ui/components/ContextSummaryDisplay.test.js.map +1 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.js +3 -3
- package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.test.js +2 -12
- package/dist/src/ui/components/DetailedMessagesDisplay.test.js.map +1 -1
- package/dist/src/ui/components/DialogManager.js +3 -3
- package/dist/src/ui/components/DialogManager.js.map +1 -1
- package/dist/src/ui/components/EditorSettingsDialog.js +2 -1
- package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
- package/dist/src/ui/components/EditorSettingsDialog.test.js +10 -2
- package/dist/src/ui/components/EditorSettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/FolderTrustDialog.js +20 -14
- package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
- package/dist/src/ui/components/FolderTrustDialog.test.js +12 -2
- package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
- package/dist/src/ui/components/Footer.js +6 -6
- package/dist/src/ui/components/Footer.js.map +1 -1
- package/dist/src/ui/components/GeminiRespondingSpinner.test.js +3 -0
- package/dist/src/ui/components/GeminiRespondingSpinner.test.js.map +1 -1
- package/dist/src/ui/components/Header.js +3 -1
- package/dist/src/ui/components/Header.js.map +1 -1
- package/dist/src/ui/components/Header.test.js +3 -1
- package/dist/src/ui/components/Header.test.js.map +1 -1
- package/dist/src/ui/components/Help.js +1 -1
- package/dist/src/ui/components/Help.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.js +4 -1
- package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.test.js +21 -0
- package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
- package/dist/src/ui/components/HookStatusDisplay.d.ts +12 -0
- package/dist/src/ui/components/HookStatusDisplay.js +20 -0
- package/dist/src/ui/components/HookStatusDisplay.js.map +1 -0
- package/dist/src/ui/components/HookStatusDisplay.test.d.ts +6 -0
- package/dist/src/ui/components/HookStatusDisplay.test.js +51 -0
- package/dist/src/ui/components/HookStatusDisplay.test.js.map +1 -0
- package/dist/src/ui/components/IdeTrustChangeDialog.js +3 -1
- package/dist/src/ui/components/IdeTrustChangeDialog.js.map +1 -1
- package/dist/src/ui/components/IdeTrustChangeDialog.test.js +4 -3
- package/dist/src/ui/components/IdeTrustChangeDialog.test.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.js +77 -26
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.test.js +307 -7
- package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
- package/dist/src/ui/components/LogoutConfirmationDialog.d.ts +15 -0
- package/dist/src/ui/components/LogoutConfirmationDialog.js +37 -0
- package/dist/src/ui/components/LogoutConfirmationDialog.js.map +1 -0
- package/dist/src/ui/components/LogoutConfirmationDialog.test.d.ts +6 -0
- package/dist/src/ui/components/LogoutConfirmationDialog.test.js +59 -0
- package/dist/src/ui/components/LogoutConfirmationDialog.test.js.map +1 -0
- package/dist/src/ui/components/MainContent.js +12 -10
- package/dist/src/ui/components/MainContent.js.map +1 -1
- package/dist/src/ui/components/MainContent.test.js +19 -9
- package/dist/src/ui/components/MainContent.test.js.map +1 -1
- package/dist/src/ui/components/ModelDialog.js +122 -41
- package/dist/src/ui/components/ModelDialog.js.map +1 -1
- package/dist/src/ui/components/ModelDialog.test.js +171 -148
- package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
- package/dist/src/ui/components/ModelStatsDisplay.js +68 -14
- package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -1
- package/dist/src/ui/components/ModelStatsDisplay.test.js +62 -4
- package/dist/src/ui/components/ModelStatsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/MultiFolderTrustDialog.d.ts +2 -2
- package/dist/src/ui/components/MultiFolderTrustDialog.js +3 -2
- package/dist/src/ui/components/MultiFolderTrustDialog.js.map +1 -1
- package/dist/src/ui/components/MultiFolderTrustDialog.test.js +9 -9
- package/dist/src/ui/components/MultiFolderTrustDialog.test.js.map +1 -1
- package/dist/src/ui/components/Notifications.js +5 -4
- package/dist/src/ui/components/Notifications.js.map +1 -1
- package/dist/src/ui/components/Notifications.test.js +1 -0
- package/dist/src/ui/components/Notifications.test.js.map +1 -1
- package/dist/src/ui/components/PermissionsModifyTrustDialog.js +1 -0
- package/dist/src/ui/components/PermissionsModifyTrustDialog.js.map +1 -1
- package/dist/src/ui/components/ProQuotaDialog.d.ts +1 -3
- package/dist/src/ui/components/ProQuotaDialog.js +16 -32
- package/dist/src/ui/components/ProQuotaDialog.js.map +1 -1
- package/dist/src/ui/components/ProQuotaDialog.test.js +43 -29
- package/dist/src/ui/components/ProQuotaDialog.test.js.map +1 -1
- package/dist/src/ui/components/QuittingDisplay.test.js.map +1 -1
- package/dist/src/ui/components/SessionBrowser.js +2 -0
- package/dist/src/ui/components/SessionBrowser.js.map +1 -1
- package/dist/src/ui/components/SessionSummaryDisplay.test.js +1 -0
- package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.js +166 -77
- package/dist/src/ui/components/SettingsDialog.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.test.js +118 -13
- package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/ShellConfirmationDialog.js +4 -4
- package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
- package/dist/src/ui/components/ShellConfirmationDialog.test.js +4 -4
- package/dist/src/ui/components/ShellConfirmationDialog.test.js.map +1 -1
- package/dist/src/ui/components/StatsDisplay.d.ts +1 -1
- package/dist/src/ui/components/StatsDisplay.js +66 -21
- package/dist/src/ui/components/StatsDisplay.js.map +1 -1
- package/dist/src/ui/components/StatsDisplay.test.js +44 -7
- package/dist/src/ui/components/StatsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/StatusDisplay.d.ts +11 -0
- package/dist/src/ui/components/StatusDisplay.js +40 -0
- package/dist/src/ui/components/StatusDisplay.js.map +1 -0
- package/dist/src/ui/components/StatusDisplay.test.d.ts +6 -0
- package/dist/src/ui/components/StatusDisplay.test.js +144 -0
- package/dist/src/ui/components/StatusDisplay.test.js.map +1 -0
- package/dist/src/ui/components/StickyHeader.d.ts +2 -0
- package/dist/src/ui/components/StickyHeader.js +1 -1
- package/dist/src/ui/components/StickyHeader.js.map +1 -1
- package/dist/src/ui/components/SuggestionsDisplay.js +7 -2
- package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
- package/dist/src/ui/components/Table.d.ts +21 -0
- package/dist/src/ui/components/Table.js +7 -0
- package/dist/src/ui/components/Table.js.map +1 -0
- package/dist/src/ui/components/Table.test.d.ts +6 -0
- package/dist/src/ui/components/Table.test.js +53 -0
- package/dist/src/ui/components/Table.test.js.map +1 -0
- package/dist/src/ui/components/ThemeDialog.js +63 -17
- package/dist/src/ui/components/ThemeDialog.js.map +1 -1
- package/dist/src/ui/components/ThemeDialog.test.js +66 -1
- package/dist/src/ui/components/ThemeDialog.test.js.map +1 -1
- package/dist/src/ui/components/ToolStatsDisplay.js.map +1 -1
- package/dist/src/ui/components/messages/DiffRenderer.js +5 -13
- package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
- package/dist/src/ui/components/messages/DiffRenderer.test.js +26 -17
- package/dist/src/ui/components/messages/DiffRenderer.test.js.map +1 -1
- package/dist/src/ui/components/messages/ShellToolMessage.js +8 -5
- package/dist/src/ui/components/messages/ShellToolMessage.js.map +1 -1
- package/dist/src/ui/components/messages/Todo.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +55 -24
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +40 -4
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js +45 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessage.js +6 -2
- package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessage.test.js +1 -0
- package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolResultDisplay.js +22 -16
- package/dist/src/ui/components/messages/ToolResultDisplay.js.map +1 -1
- package/dist/src/ui/components/messages/ToolResultDisplay.test.js +36 -18
- package/dist/src/ui/components/messages/ToolResultDisplay.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.d.ts +6 -0
- package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.js +134 -0
- package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.js.map +1 -0
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.d.ts +1 -1
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.js +1 -1
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.js.map +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.d.ts +2 -38
- package/dist/src/ui/components/shared/MaxSizedBox.js +34 -418
- package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.test.js +48 -133
- package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +4 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.js +11 -10
- package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
- package/dist/src/ui/components/shared/VirtualizedList.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.d.ts +40 -4
- package/dist/src/ui/components/shared/text-buffer.js +279 -102
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.test.js +247 -1
- package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
- package/dist/src/ui/components/shared/vim-buffer-actions.test.js +3 -0
- package/dist/src/ui/components/shared/vim-buffer-actions.test.js.map +1 -1
- package/dist/src/ui/components/views/AgentsStatus.d.ts +13 -0
- package/dist/src/ui/components/views/AgentsStatus.js +23 -0
- package/dist/src/ui/components/views/AgentsStatus.js.map +1 -0
- package/dist/src/ui/components/views/ExtensionsList.js +3 -2
- package/dist/src/ui/components/views/ExtensionsList.js.map +1 -1
- package/dist/src/ui/components/views/ExtensionsList.test.js +37 -0
- package/dist/src/ui/components/views/ExtensionsList.test.js.map +1 -1
- package/dist/src/ui/components/views/HooksList.d.ts +24 -0
- package/dist/src/ui/components/views/HooksList.js +28 -0
- package/dist/src/ui/components/views/HooksList.js.map +1 -0
- package/dist/src/ui/components/views/McpStatus.d.ts +2 -1
- package/dist/src/ui/components/views/McpStatus.js +18 -3
- package/dist/src/ui/components/views/McpStatus.js.map +1 -1
- package/dist/src/ui/components/views/McpStatus.test.js +23 -0
- package/dist/src/ui/components/views/McpStatus.test.js.map +1 -1
- package/dist/src/ui/components/views/SkillsList.d.ts +13 -0
- package/dist/src/ui/components/views/SkillsList.js +17 -0
- package/dist/src/ui/components/views/SkillsList.js.map +1 -0
- package/dist/src/ui/components/views/SkillsList.test.d.ts +6 -0
- package/dist/src/ui/components/views/SkillsList.test.js +97 -0
- package/dist/src/ui/components/views/SkillsList.test.js.map +1 -0
- package/dist/src/ui/constants/tips.js +1 -5
- package/dist/src/ui/constants/tips.js.map +1 -1
- package/dist/src/ui/constants.d.ts +4 -3
- package/dist/src/ui/constants.js +5 -6
- package/dist/src/ui/constants.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.d.ts +1 -0
- package/dist/src/ui/contexts/KeypressContext.js +84 -6
- package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.test.js +136 -9
- package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
- package/dist/src/ui/contexts/SessionContext.d.ts +1 -0
- package/dist/src/ui/contexts/SessionContext.js +2 -1
- package/dist/src/ui/contexts/SessionContext.js.map +1 -1
- package/dist/src/ui/contexts/SessionContext.test.js +3 -0
- package/dist/src/ui/contexts/SessionContext.test.js.map +1 -1
- package/dist/src/ui/contexts/UIActionsContext.d.ts +3 -0
- package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
- package/dist/src/ui/contexts/UIStateContext.d.ts +5 -1
- package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
- package/dist/src/ui/contexts/VimModeContext.js +1 -1
- package/dist/src/ui/contexts/VimModeContext.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.d.ts +7 -6
- package/dist/src/ui/hooks/atCommandProcessor.js +156 -29
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.test.js +133 -35
- package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor_agents.test.d.ts +6 -0
- package/dist/src/ui/hooks/atCommandProcessor_agents.test.js +183 -0
- package/dist/src/ui/hooks/atCommandProcessor_agents.test.js.map +1 -0
- package/dist/src/ui/hooks/shellCommandProcessor.js +2 -0
- package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.js +21 -7
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.test.js +2 -3
- package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/useAtCompletion.js +83 -2
- package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useAtCompletion.test.js +21 -0
- package/dist/src/ui/hooks/useAtCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useAtCompletion_agents.test.d.ts +6 -0
- package/dist/src/ui/hooks/useAtCompletion_agents.test.js +85 -0
- package/dist/src/ui/hooks/useAtCompletion_agents.test.js.map +1 -0
- package/dist/src/ui/hooks/useAutoAcceptIndicator.d.ts +2 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js +5 -4
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +1 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -1
- package/dist/src/ui/hooks/useCommandCompletion.d.ts +3 -0
- package/dist/src/ui/hooks/useCommandCompletion.js +13 -8
- package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useCommandCompletion.test.js +88 -2
- package/dist/src/ui/hooks/useCommandCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useExtensionUpdates.js +7 -7
- package/dist/src/ui/hooks/useExtensionUpdates.js.map +1 -1
- package/dist/src/ui/hooks/useExtensionUpdates.test.js +20 -4
- package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -1
- package/dist/src/ui/hooks/useFolderTrust.js +14 -19
- package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
- package/dist/src/ui/hooks/useFolderTrust.test.js +31 -23
- package/dist/src/ui/hooks/useFolderTrust.test.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.d.ts +2 -1
- package/dist/src/ui/hooks/useGeminiStream.js +102 -71
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.test.js +294 -10
- package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
- package/dist/src/ui/hooks/useGitBranchName.js +3 -0
- package/dist/src/ui/hooks/useGitBranchName.js.map +1 -1
- package/dist/src/ui/hooks/useHistoryManager.d.ts +1 -1
- package/dist/src/ui/hooks/useHistoryManager.js +1 -1
- package/dist/src/ui/hooks/useHistoryManager.js.map +1 -1
- package/dist/src/ui/hooks/useHistoryManager.test.js +16 -0
- package/dist/src/ui/hooks/useHistoryManager.test.js.map +1 -1
- package/dist/src/ui/hooks/useHookDisplayState.d.ts +7 -0
- package/dist/src/ui/hooks/useHookDisplayState.js +83 -0
- package/dist/src/ui/hooks/useHookDisplayState.js.map +1 -0
- package/dist/src/ui/hooks/useHookDisplayState.test.d.ts +6 -0
- package/dist/src/ui/hooks/useHookDisplayState.test.js +180 -0
- package/dist/src/ui/hooks/useHookDisplayState.test.js.map +1 -0
- package/dist/src/ui/hooks/useIdeTrustListener.js +2 -0
- package/dist/src/ui/hooks/useIdeTrustListener.js.map +1 -1
- package/dist/src/ui/hooks/useIncludeDirsTrust.js +6 -4
- package/dist/src/ui/hooks/useIncludeDirsTrust.js.map +1 -1
- package/dist/src/ui/hooks/useIncludeDirsTrust.test.js +2 -2
- package/dist/src/ui/hooks/useIncludeDirsTrust.test.js.map +1 -1
- package/dist/src/ui/hooks/useKittyKeyboardProtocol.js +2 -2
- package/dist/src/ui/hooks/useKittyKeyboardProtocol.js.map +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.d.ts +2 -1
- package/dist/src/ui/hooks/useLoadingIndicator.js +7 -3
- package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.test.js +15 -4
- package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
- package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js +10 -3
- package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js.map +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.d.ts +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.js +2 -2
- package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
- package/dist/src/ui/hooks/usePrivacySettings.js +5 -16
- package/dist/src/ui/hooks/usePrivacySettings.js.map +1 -1
- package/dist/src/ui/hooks/usePrivacySettings.test.js +3 -9
- package/dist/src/ui/hooks/usePrivacySettings.test.js.map +1 -1
- package/dist/src/ui/hooks/usePromptCompletion.js +1 -2
- package/dist/src/ui/hooks/usePromptCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useQuotaAndFallback.js +19 -18
- package/dist/src/ui/hooks/useQuotaAndFallback.js.map +1 -1
- package/dist/src/ui/hooks/useQuotaAndFallback.test.js +29 -23
- package/dist/src/ui/hooks/useQuotaAndFallback.test.js.map +1 -1
- package/dist/src/ui/hooks/useReactToolScheduler.d.ts +1 -1
- package/dist/src/ui/hooks/useReactToolScheduler.js +1 -1
- package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
- package/dist/src/ui/hooks/useRewind.d.ts +14 -0
- package/dist/src/ui/hooks/useRewind.js +31 -0
- package/dist/src/ui/hooks/useRewind.js.map +1 -0
- package/dist/src/ui/hooks/useRewind.test.d.ts +6 -0
- package/dist/src/ui/hooks/useRewind.test.js +100 -0
- package/dist/src/ui/hooks/useRewind.test.js.map +1 -0
- package/dist/src/ui/hooks/useSelectionList.js +2 -1
- package/dist/src/ui/hooks/useSelectionList.js.map +1 -1
- package/dist/src/ui/hooks/useSelectionList.test.js +2 -0
- package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -1
- package/dist/src/ui/hooks/useSessionBrowser.js +3 -3
- package/dist/src/ui/hooks/useSessionBrowser.js.map +1 -1
- package/dist/src/ui/hooks/useSessionBrowser.test.js +4 -10
- package/dist/src/ui/hooks/useSessionBrowser.test.js.map +1 -1
- package/dist/src/ui/hooks/useSessionResume.js +1 -0
- package/dist/src/ui/hooks/useSessionResume.js.map +1 -1
- package/dist/src/ui/hooks/useShellHistory.js +5 -3
- package/dist/src/ui/hooks/useShellHistory.js.map +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.d.ts +2 -0
- package/dist/src/ui/hooks/useSlashCompletion.js +29 -11
- package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.test.js +115 -5
- package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
- package/dist/src/{utils/version.d.ts → ui/hooks/useSnowfall.d.ts} +1 -1
- package/dist/src/ui/hooks/useSnowfall.js +126 -0
- package/dist/src/ui/hooks/useSnowfall.js.map +1 -0
- package/dist/src/ui/hooks/useSnowfall.test.d.ts +6 -0
- package/dist/src/ui/hooks/useSnowfall.test.js +88 -0
- package/dist/src/ui/hooks/useSnowfall.test.js.map +1 -0
- package/dist/src/ui/hooks/useToolScheduler.test.js +86 -53
- package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
- package/dist/src/ui/hooks/vim.test.js +7 -0
- package/dist/src/ui/hooks/vim.test.js.map +1 -1
- package/dist/src/ui/keyMatchers.test.js +79 -53
- package/dist/src/ui/keyMatchers.test.js.map +1 -1
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +1 -0
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +1 -1
- package/dist/src/ui/themes/ansi-light.js +1 -1
- package/dist/src/ui/themes/ansi-light.js.map +1 -1
- package/dist/src/ui/themes/ansi.js +1 -1
- package/dist/src/ui/themes/ansi.js.map +1 -1
- package/dist/src/ui/themes/color-utils.d.ts +1 -0
- package/dist/src/ui/themes/color-utils.js +13 -0
- package/dist/src/ui/themes/color-utils.js.map +1 -1
- package/dist/src/ui/themes/color-utils.test.js +20 -1
- package/dist/src/ui/themes/color-utils.test.js.map +1 -1
- package/dist/src/ui/themes/shades-of-purple.js +1 -1
- package/dist/src/ui/themes/shades-of-purple.js.map +1 -1
- package/dist/src/ui/themes/theme-manager.d.ts +5 -0
- package/dist/src/ui/themes/theme-manager.js +9 -3
- package/dist/src/ui/themes/theme-manager.js.map +1 -1
- package/dist/src/ui/themes/theme-manager.test.js +7 -0
- package/dist/src/ui/themes/theme-manager.test.js.map +1 -1
- package/dist/src/ui/themes/theme.d.ts +12 -0
- package/dist/src/ui/themes/theme.js +34 -4
- package/dist/src/ui/themes/theme.js.map +1 -1
- package/dist/src/ui/themes/theme.test.js +23 -0
- package/dist/src/ui/themes/theme.test.js.map +1 -1
- package/dist/src/ui/types.d.ts +48 -5
- package/dist/src/ui/types.js +5 -0
- package/dist/src/ui/types.js.map +1 -1
- package/dist/src/ui/utils/CodeColorizer.js +2 -2
- package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
- package/dist/src/ui/utils/CodeColorizer.test.js +1 -1
- package/dist/src/ui/utils/CodeColorizer.test.js.map +1 -1
- package/dist/src/ui/utils/ConsolePatcher.js +1 -0
- package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
- package/dist/src/ui/utils/InlineMarkdownRenderer.js +2 -1
- package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.test.js +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -1
- package/dist/src/ui/utils/clipboardUtils.d.ts +27 -2
- package/dist/src/ui/utils/clipboardUtils.js +148 -16
- package/dist/src/ui/utils/clipboardUtils.js.map +1 -1
- package/dist/src/ui/utils/clipboardUtils.test.js +135 -13
- package/dist/src/ui/utils/clipboardUtils.test.js.map +1 -1
- package/dist/src/ui/utils/clipboardUtils.windows.test.d.ts +6 -0
- package/dist/src/ui/utils/clipboardUtils.windows.test.js +52 -0
- package/dist/src/ui/utils/clipboardUtils.windows.test.js.map +1 -0
- package/dist/src/ui/utils/commandUtils.d.ts +1 -1
- package/dist/src/ui/utils/commandUtils.js +111 -1
- package/dist/src/ui/utils/commandUtils.js.map +1 -1
- package/dist/src/ui/utils/commandUtils.test.js +200 -6
- package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
- package/dist/src/ui/utils/computeStats.js +2 -0
- package/dist/src/ui/utils/computeStats.js.map +1 -1
- package/dist/src/ui/utils/computeStats.test.js +9 -0
- package/dist/src/ui/utils/computeStats.test.js.map +1 -1
- package/dist/src/ui/utils/directoryUtils.d.ts +8 -0
- package/dist/src/ui/utils/directoryUtils.js +95 -3
- package/dist/src/ui/utils/directoryUtils.js.map +1 -1
- package/dist/src/ui/utils/directoryUtils.test.js +193 -3
- package/dist/src/ui/utils/directoryUtils.test.js.map +1 -1
- package/dist/src/ui/utils/highlight.d.ts +3 -2
- package/dist/src/ui/utils/highlight.js +51 -37
- package/dist/src/ui/utils/highlight.js.map +1 -1
- package/dist/src/ui/utils/highlight.test.js +75 -0
- package/dist/src/ui/utils/highlight.test.js.map +1 -1
- package/dist/src/ui/utils/historyExportUtils.d.ts +21 -0
- package/dist/src/ui/utils/historyExportUtils.js +59 -0
- package/dist/src/ui/utils/historyExportUtils.js.map +1 -0
- package/dist/src/ui/utils/rewindFileOps.d.ts +47 -0
- package/dist/src/ui/utils/rewindFileOps.js +190 -0
- package/dist/src/ui/utils/rewindFileOps.js.map +1 -0
- package/dist/src/ui/utils/rewindFileOps.test.d.ts +6 -0
- package/dist/src/ui/utils/rewindFileOps.test.js +375 -0
- package/dist/src/ui/utils/rewindFileOps.test.js.map +1 -0
- package/dist/src/ui/utils/terminalCapabilityManager.d.ts +41 -0
- package/dist/src/ui/utils/terminalCapabilityManager.js +209 -0
- package/dist/src/ui/utils/terminalCapabilityManager.js.map +1 -0
- package/dist/src/ui/utils/terminalCapabilityManager.test.d.ts +6 -0
- package/dist/src/ui/utils/terminalCapabilityManager.test.js +221 -0
- package/dist/src/ui/utils/terminalCapabilityManager.test.js.map +1 -0
- package/dist/src/ui/utils/terminalSetup.d.ts +1 -1
- package/dist/src/ui/utils/terminalSetup.js +21 -6
- package/dist/src/ui/utils/terminalSetup.js.map +1 -1
- package/dist/src/ui/utils/terminalSetup.test.js +16 -2
- package/dist/src/ui/utils/terminalSetup.test.js.map +1 -1
- package/dist/src/ui/utils/textUtils.js +9 -1
- package/dist/src/ui/utils/textUtils.js.map +1 -1
- package/dist/src/ui/utils/textUtils.test.js +12 -1
- package/dist/src/ui/utils/textUtils.test.js.map +1 -1
- package/dist/src/ui/utils/ui-sizing.js +1 -1
- package/dist/src/ui/utils/ui-sizing.js.map +1 -1
- package/dist/src/ui/utils/ui-sizing.test.js +2 -2
- package/dist/src/ui/utils/ui-sizing.test.js.map +1 -1
- package/dist/src/utils/activityLogger.d.ts +47 -0
- package/dist/src/utils/activityLogger.js +297 -0
- package/dist/src/utils/activityLogger.js.map +1 -0
- package/dist/src/utils/cleanup.d.ts +11 -0
- package/dist/src/utils/cleanup.js +36 -1
- package/dist/src/utils/cleanup.js.map +1 -1
- package/dist/src/utils/cleanup.test.js +21 -31
- package/dist/src/utils/cleanup.test.js.map +1 -1
- package/dist/src/utils/deepMerge.js +7 -2
- package/dist/src/utils/deepMerge.js.map +1 -1
- package/dist/src/utils/deepMerge.test.js +58 -0
- package/dist/src/utils/deepMerge.test.js.map +1 -1
- package/dist/src/utils/envVarResolver.js.map +1 -1
- package/dist/src/utils/envVarResolver.test.js.map +1 -1
- package/dist/src/utils/errors.js +13 -14
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/errors.test.js +115 -39
- package/dist/src/utils/errors.test.js.map +1 -1
- package/dist/src/utils/handleAutoUpdate.d.ts +1 -1
- package/dist/src/utils/handleAutoUpdate.js +7 -10
- package/dist/src/utils/handleAutoUpdate.js.map +1 -1
- package/dist/src/utils/handleAutoUpdate.test.js +12 -10
- package/dist/src/utils/handleAutoUpdate.test.js.map +1 -1
- package/dist/src/utils/installationInfo.js +1 -1
- package/dist/src/utils/installationInfo.js.map +1 -1
- package/dist/src/utils/installationInfo.test.js +1 -1
- package/dist/src/utils/installationInfo.test.js.map +1 -1
- package/dist/src/utils/processUtils.d.ts +1 -1
- package/dist/src/utils/processUtils.js +1 -1
- package/dist/src/utils/processUtils.js.map +1 -1
- package/dist/src/utils/readStdin.js +7 -0
- package/dist/src/utils/readStdin.js.map +1 -1
- package/dist/src/utils/readStdin.test.js +4 -0
- package/dist/src/utils/readStdin.test.js.map +1 -1
- package/dist/src/utils/readStdin_safety.test.d.ts +6 -0
- package/dist/src/utils/readStdin_safety.test.js +68 -0
- package/dist/src/utils/readStdin_safety.test.js.map +1 -0
- package/dist/src/utils/relaunch.js +3 -1
- package/dist/src/utils/relaunch.js.map +1 -1
- package/dist/src/utils/relaunch.test.js +13 -7
- package/dist/src/utils/relaunch.test.js.map +1 -1
- package/dist/src/utils/resolvePath.js +3 -3
- package/dist/src/utils/resolvePath.js.map +1 -1
- package/dist/src/utils/resolvePath.test.js +3 -0
- package/dist/src/utils/resolvePath.test.js.map +1 -1
- package/dist/src/utils/sandbox.js +27 -17
- package/dist/src/utils/sandbox.js.map +1 -1
- package/dist/src/utils/sandbox.test.js +17 -5
- package/dist/src/utils/sandbox.test.js.map +1 -1
- package/dist/src/utils/sandboxUtils.js +3 -2
- package/dist/src/utils/sandboxUtils.js.map +1 -1
- package/dist/src/utils/sandboxUtils.test.js +3 -0
- package/dist/src/utils/sandboxUtils.test.js.map +1 -1
- package/dist/src/utils/sessionCleanup.integration.test.js +2 -2
- package/dist/src/utils/sessionCleanup.integration.test.js.map +1 -1
- package/dist/src/utils/sessionCleanup.js +16 -4
- package/dist/src/utils/sessionCleanup.js.map +1 -1
- package/dist/src/utils/sessionCleanup.test.js +18 -68
- package/dist/src/utils/sessionCleanup.test.js.map +1 -1
- package/dist/src/utils/sessionUtils.d.ts +22 -0
- package/dist/src/utils/sessionUtils.js +37 -5
- package/dist/src/utils/sessionUtils.js.map +1 -1
- package/dist/src/utils/sessionUtils.test.js +3 -3
- package/dist/src/utils/sessionUtils.test.js.map +1 -1
- package/dist/src/utils/sessions.js +14 -12
- package/dist/src/utils/sessions.js.map +1 -1
- package/dist/src/utils/sessions.test.js +62 -39
- package/dist/src/utils/sessions.test.js.map +1 -1
- package/dist/src/utils/settingsUtils.js +0 -5
- package/dist/src/utils/settingsUtils.js.map +1 -1
- package/dist/src/utils/skillSettings.d.ts +33 -0
- package/dist/src/utils/skillSettings.js +101 -0
- package/dist/src/utils/skillSettings.js.map +1 -0
- package/dist/src/utils/skillUtils.d.ts +29 -0
- package/dist/src/utils/skillUtils.js +144 -0
- package/dist/src/utils/skillUtils.js.map +1 -0
- package/dist/src/utils/skillUtils.test.d.ts +6 -0
- package/dist/src/utils/skillUtils.test.js +57 -0
- package/dist/src/utils/skillUtils.test.js.map +1 -0
- package/dist/src/utils/terminalTheme.d.ts +15 -0
- package/dist/src/utils/terminalTheme.js +50 -0
- package/dist/src/utils/terminalTheme.js.map +1 -0
- package/dist/src/utils/userStartupWarnings.d.ts +2 -1
- package/dist/src/utils/userStartupWarnings.js +17 -7
- package/dist/src/utils/userStartupWarnings.js.map +1 -1
- package/dist/src/utils/userStartupWarnings.test.js +37 -6
- package/dist/src/utils/userStartupWarnings.test.js.map +1 -1
- package/dist/src/utils/windowTitle.d.ts +13 -4
- package/dist/src/utils/windowTitle.js +65 -7
- package/dist/src/utils/windowTitle.js.map +1 -1
- package/dist/src/utils/windowTitle.test.js +183 -40
- package/dist/src/utils/windowTitle.test.js.map +1 -1
- package/dist/src/validateNonInterActiveAuth.d.ts +1 -1
- package/dist/src/validateNonInterActiveAuth.js +1 -2
- package/dist/src/validateNonInterActiveAuth.js.map +1 -1
- package/dist/src/zed-integration/fileSystemService.d.ts +3 -4
- package/dist/src/zed-integration/fileSystemService.js +5 -10
- package/dist/src/zed-integration/fileSystemService.js.map +1 -1
- package/dist/src/zed-integration/fileSystemService.test.js +11 -21
- package/dist/src/zed-integration/fileSystemService.test.js.map +1 -1
- package/dist/src/zed-integration/zedIntegration.d.ts +5 -5
- package/dist/src/zed-integration/zedIntegration.js +54 -24
- package/dist/src/zed-integration/zedIntegration.js.map +1 -1
- package/dist/src/zed-integration/zedIntegration.test.js +29 -18
- package/dist/src/zed-integration/zedIntegration.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -4
- package/dist/src/ui/hooks/useBracketedPaste.d.ts +0 -12
- package/dist/src/ui/hooks/useBracketedPaste.js +0 -31
- package/dist/src/ui/hooks/useBracketedPaste.js.map +0 -1
- package/dist/src/ui/utils/bracketedPaste.d.ts +0 -7
- package/dist/src/ui/utils/bracketedPaste.js +0 -15
- package/dist/src/ui/utils/bracketedPaste.js.map +0 -1
- package/dist/src/ui/utils/kittyProtocolDetector.d.ts +0 -17
- package/dist/src/ui/utils/kittyProtocolDetector.js +0 -111
- package/dist/src/ui/utils/kittyProtocolDetector.js.map +0 -1
- package/dist/src/ui/utils/kittyProtocolDetector.test.js +0 -113
- package/dist/src/ui/utils/kittyProtocolDetector.test.js.map +0 -1
- package/dist/src/utils/version.js +0 -15
- package/dist/src/utils/version.js.map +0 -1
- package/dist/src/utils/version.test.js +0 -39
- package/dist/src/utils/version.test.js.map +0 -1
- package/dist/src/zed-integration/acp.d.ts +0 -41
- package/dist/src/zed-integration/acp.js +0 -72
- package/dist/src/zed-integration/acp.js.map +0 -1
- package/dist/src/zed-integration/acp.test.js +0 -222
- package/dist/src/zed-integration/acp.test.js.map +0 -1
- package/dist/src/zed-integration/connection.d.ts +0 -28
- package/dist/src/zed-integration/connection.js +0 -163
- package/dist/src/zed-integration/connection.js.map +0 -1
- package/dist/src/zed-integration/connection.test.js +0 -175
- package/dist/src/zed-integration/connection.test.js.map +0 -1
- package/dist/src/zed-integration/schema.d.ts +0 -11792
- package/dist/src/zed-integration/schema.js +0 -311
- package/dist/src/zed-integration/schema.js.map +0 -1
- /package/dist/src/{ui/utils/kittyProtocolDetector.test.d.ts → commands/hooks/migrate.test.d.ts} +0 -0
- /package/dist/src/{utils/version.test.d.ts → config/extension-manager-scope.test.d.ts} +0 -0
- /package/dist/src/{zed-integration/acp.test.d.ts → config/extension-manager-skills.test.d.ts} +0 -0
- /package/dist/src/{zed-integration/connection.test.d.ts → config/extensions/extensionUpdates.test.d.ts} +0 -0
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { type
|
|
7
|
-
import type
|
|
6
|
+
import { type GeminiCodeAssistSetting } from '@google/gemini-cli-core';
|
|
7
|
+
import { type Settings, type MemoryImportFormat, type SettingsSchema } from './settingsSchema.js';
|
|
8
8
|
export type { Settings, MemoryImportFormat };
|
|
9
9
|
export declare const USER_SETTINGS_PATH: string;
|
|
10
10
|
export declare const USER_SETTINGS_DIR: string;
|
|
@@ -51,6 +51,7 @@ export interface SessionRetentionSettings {
|
|
|
51
51
|
export interface SettingsError {
|
|
52
52
|
message: string;
|
|
53
53
|
path: string;
|
|
54
|
+
severity: 'error' | 'warning';
|
|
54
55
|
}
|
|
55
56
|
export interface SettingsFile {
|
|
56
57
|
settings: Settings;
|
|
@@ -58,21 +59,22 @@ export interface SettingsFile {
|
|
|
58
59
|
path: string;
|
|
59
60
|
rawJson?: string;
|
|
60
61
|
}
|
|
61
|
-
export declare function
|
|
62
|
-
export declare function migrateSettingsToV1(v2Settings: Record<string, unknown>): Record<string, unknown>;
|
|
62
|
+
export declare function getDefaultsFromSchema(schema?: SettingsSchema): Settings;
|
|
63
63
|
export declare class LoadedSettings {
|
|
64
|
-
constructor(system: SettingsFile, systemDefaults: SettingsFile, user: SettingsFile, workspace: SettingsFile, isTrusted: boolean,
|
|
64
|
+
constructor(system: SettingsFile, systemDefaults: SettingsFile, user: SettingsFile, workspace: SettingsFile, isTrusted: boolean, errors?: SettingsError[]);
|
|
65
65
|
readonly system: SettingsFile;
|
|
66
66
|
readonly systemDefaults: SettingsFile;
|
|
67
67
|
readonly user: SettingsFile;
|
|
68
68
|
readonly workspace: SettingsFile;
|
|
69
69
|
readonly isTrusted: boolean;
|
|
70
|
-
readonly
|
|
70
|
+
readonly errors: SettingsError[];
|
|
71
71
|
private _merged;
|
|
72
|
+
private _remoteAdminSettings;
|
|
72
73
|
get merged(): Settings;
|
|
73
74
|
private computeMergedSettings;
|
|
74
75
|
forScope(scope: LoadableSettingScope): SettingsFile;
|
|
75
76
|
setValue(scope: LoadableSettingScope, key: string, value: unknown): void;
|
|
77
|
+
setRemoteAdminSettings(remoteSettings: GeminiCodeAssistSetting): void;
|
|
76
78
|
}
|
|
77
79
|
export declare function setUpCloudShellEnvironment(envFilePath: string | null): void;
|
|
78
80
|
export declare function loadEnvironment(settings: Settings): void;
|
|
@@ -81,5 +83,5 @@ export declare function loadEnvironment(settings: Settings): void;
|
|
|
81
83
|
* Project settings override user settings.
|
|
82
84
|
*/
|
|
83
85
|
export declare function loadSettings(workspaceDir?: string): LoadedSettings;
|
|
84
|
-
export declare function migrateDeprecatedSettings(loadedSettings: LoadedSettings, extensionManager: ExtensionManager): void;
|
|
85
86
|
export declare function saveSettings(settingsFile: SettingsFile): void;
|
|
87
|
+
export declare function saveModelChange(loadedSettings: LoadedSettings, model: string): void;
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import * as fs from 'node:fs';
|
|
7
7
|
import * as path from 'node:path';
|
|
8
|
-
import {
|
|
8
|
+
import { platform } from 'node:os';
|
|
9
9
|
import * as dotenv from 'dotenv';
|
|
10
10
|
import process from 'node:process';
|
|
11
11
|
import * as os from 'node:os';
|
|
12
|
-
import {
|
|
12
|
+
import { FatalConfigError, CELL_DIR, getErrorMessage, Storage, coreEvents, AuthType, homedir, } from '@google/gemini-cli-core';
|
|
13
13
|
import { loadYamlConfig } from '@machina.ai/config-yaml';
|
|
14
14
|
import stripJsonComments from 'strip-json-comments';
|
|
15
15
|
import { DefaultLight } from '../ui/themes/default-light.js';
|
|
@@ -19,14 +19,20 @@ import { getSettingsSchema, } from './settingsSchema.js';
|
|
|
19
19
|
import { resolveEnvVarsInObject } from '../utils/envVarResolver.js';
|
|
20
20
|
import { customDeepMerge } from '../utils/deepMerge.js';
|
|
21
21
|
import { updateSettingsFilePreservingFormat } from '../utils/commentJson.js';
|
|
22
|
-
import {
|
|
22
|
+
import { validateSettings, formatValidationError, } from './settings-validation.js';
|
|
23
23
|
function getMergeStrategyForPath(path) {
|
|
24
24
|
let current = undefined;
|
|
25
25
|
let currentSchema = getSettingsSchema();
|
|
26
|
+
let parent = undefined;
|
|
26
27
|
for (const key of path) {
|
|
27
28
|
if (!currentSchema || !currentSchema[key]) {
|
|
29
|
+
// Key not found in schema - check if parent has additionalProperties
|
|
30
|
+
if (parent?.additionalProperties?.mergeStrategy) {
|
|
31
|
+
return parent.additionalProperties.mergeStrategy;
|
|
32
|
+
}
|
|
28
33
|
return undefined;
|
|
29
34
|
}
|
|
35
|
+
parent = current;
|
|
30
36
|
current = currentSchema[key];
|
|
31
37
|
currentSchema = current.properties;
|
|
32
38
|
}
|
|
@@ -35,77 +41,6 @@ function getMergeStrategyForPath(path) {
|
|
|
35
41
|
export const USER_SETTINGS_PATH = Storage.getGlobalSettingsPath();
|
|
36
42
|
export const USER_SETTINGS_DIR = path.dirname(USER_SETTINGS_PATH);
|
|
37
43
|
export const DEFAULT_EXCLUDED_ENV_VARS = ['DEBUG', 'DEBUG_MODE'];
|
|
38
|
-
const MIGRATE_V2_OVERWRITE = true;
|
|
39
|
-
const MIGRATION_MAP = {
|
|
40
|
-
accessibility: 'ui.accessibility',
|
|
41
|
-
allowedTools: 'tools.allowed',
|
|
42
|
-
allowMCPServers: 'mcp.allowed',
|
|
43
|
-
autoAccept: 'tools.autoAccept',
|
|
44
|
-
autoConfigureMaxOldSpaceSize: 'advanced.autoConfigureMemory',
|
|
45
|
-
bugCommand: 'advanced.bugCommand',
|
|
46
|
-
chatCompression: 'model.compressionThreshold',
|
|
47
|
-
checkpointing: 'general.checkpointing',
|
|
48
|
-
coreTools: 'tools.core',
|
|
49
|
-
contextFileName: 'context.fileName',
|
|
50
|
-
customThemes: 'ui.customThemes',
|
|
51
|
-
customWittyPhrases: 'ui.customWittyPhrases',
|
|
52
|
-
debugKeystrokeLogging: 'general.debugKeystrokeLogging',
|
|
53
|
-
disableAutoUpdate: 'general.disableAutoUpdate',
|
|
54
|
-
disableUpdateNag: 'general.disableUpdateNag',
|
|
55
|
-
dnsResolutionOrder: 'advanced.dnsResolutionOrder',
|
|
56
|
-
enableMessageBusIntegration: 'tools.enableMessageBusIntegration',
|
|
57
|
-
enableHooks: 'tools.enableHooks',
|
|
58
|
-
enablePromptCompletion: 'general.enablePromptCompletion',
|
|
59
|
-
enforcedAuthType: 'security.auth.enforcedType',
|
|
60
|
-
excludeTools: 'tools.exclude',
|
|
61
|
-
excludeMCPServers: 'mcp.excluded',
|
|
62
|
-
excludedProjectEnvVars: 'advanced.excludedEnvVars',
|
|
63
|
-
extensionManagement: 'experimental.extensionManagement',
|
|
64
|
-
extensions: 'extensions',
|
|
65
|
-
fileFiltering: 'context.fileFiltering',
|
|
66
|
-
folderTrustFeature: 'security.folderTrust.featureEnabled',
|
|
67
|
-
folderTrust: 'security.folderTrust.enabled',
|
|
68
|
-
hasSeenIdeIntegrationNudge: 'ide.hasSeenNudge',
|
|
69
|
-
hideWindowTitle: 'ui.hideWindowTitle',
|
|
70
|
-
showStatusInTitle: 'ui.showStatusInTitle',
|
|
71
|
-
hideTips: 'ui.hideTips',
|
|
72
|
-
hideBanner: 'ui.hideBanner',
|
|
73
|
-
hideFooter: 'ui.hideFooter',
|
|
74
|
-
hideCWD: 'ui.footer.hideCWD',
|
|
75
|
-
hideSandboxStatus: 'ui.footer.hideSandboxStatus',
|
|
76
|
-
hideModelInfo: 'ui.footer.hideModelInfo',
|
|
77
|
-
hideContextSummary: 'ui.hideContextSummary',
|
|
78
|
-
showMemoryUsage: 'ui.showMemoryUsage',
|
|
79
|
-
showLineNumbers: 'ui.showLineNumbers',
|
|
80
|
-
showCitations: 'ui.showCitations',
|
|
81
|
-
ideMode: 'ide.enabled',
|
|
82
|
-
includeDirectories: 'context.includeDirectories',
|
|
83
|
-
loadMemoryFromIncludeDirectories: 'context.loadFromIncludeDirectories',
|
|
84
|
-
maxSessionTurns: 'model.maxSessionTurns',
|
|
85
|
-
mcpServers: 'mcpServers',
|
|
86
|
-
mcpServerCommand: 'mcp.serverCommand',
|
|
87
|
-
memoryImportFormat: 'context.importFormat',
|
|
88
|
-
memoryDiscoveryMaxDirs: 'context.discoveryMaxDirs',
|
|
89
|
-
model: 'model.name',
|
|
90
|
-
preferredEditor: SettingPaths.General.PreferredEditor,
|
|
91
|
-
retryFetchErrors: 'general.retryFetchErrors',
|
|
92
|
-
sandbox: 'tools.sandbox',
|
|
93
|
-
selectedAuthType: 'security.auth.selectedType',
|
|
94
|
-
enableInteractiveShell: 'tools.shell.enableInteractiveShell',
|
|
95
|
-
shellPager: 'tools.shell.pager',
|
|
96
|
-
shellShowColor: 'tools.shell.showColor',
|
|
97
|
-
shellInactivityTimeout: 'tools.shell.inactivityTimeout',
|
|
98
|
-
skipNextSpeakerCheck: 'model.skipNextSpeakerCheck',
|
|
99
|
-
summarizeToolOutput: 'model.summarizeToolOutput',
|
|
100
|
-
telemetry: 'telemetry',
|
|
101
|
-
theme: 'ui.theme',
|
|
102
|
-
toolDiscoveryCommand: 'tools.discoveryCommand',
|
|
103
|
-
toolCallCommand: 'tools.callCommand',
|
|
104
|
-
usageStatisticsEnabled: 'privacy.usageStatisticsEnabled',
|
|
105
|
-
useExternalAuth: 'security.auth.useExternal',
|
|
106
|
-
useRipgrep: 'tools.useRipgrep',
|
|
107
|
-
vimMode: 'general.vimMode',
|
|
108
|
-
};
|
|
109
44
|
export function getSystemSettingsPath() {
|
|
110
45
|
if (process.env['CELL_CLI_SYSTEM_SETTINGS_PATH']) {
|
|
111
46
|
return process.env['CELL_CLI_SYSTEM_SETTINGS_PATH'];
|
|
@@ -173,126 +108,42 @@ function setNestedProperty(obj, path, value) {
|
|
|
173
108
|
}
|
|
174
109
|
current[lastKey] = value;
|
|
175
110
|
}
|
|
176
|
-
export function
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
if (
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
// a V1 key that needs migration.
|
|
186
|
-
if (KNOWN_V2_CONTAINERS.has(v1Key) &&
|
|
187
|
-
typeof settings[v1Key] === 'object' &&
|
|
188
|
-
settings[v1Key] !== null) {
|
|
189
|
-
return false;
|
|
190
|
-
}
|
|
191
|
-
return true;
|
|
192
|
-
});
|
|
193
|
-
return hasV1Keys;
|
|
194
|
-
}
|
|
195
|
-
function migrateSettingsToV2(flatSettings) {
|
|
196
|
-
if (!needsMigration(flatSettings)) {
|
|
197
|
-
return null;
|
|
198
|
-
}
|
|
199
|
-
const v2Settings = {};
|
|
200
|
-
const flatKeys = new Set(Object.keys(flatSettings));
|
|
201
|
-
for (const [oldKey, newPath] of Object.entries(MIGRATION_MAP)) {
|
|
202
|
-
if (flatKeys.has(oldKey)) {
|
|
203
|
-
setNestedProperty(v2Settings, newPath, flatSettings[oldKey]);
|
|
204
|
-
flatKeys.delete(oldKey);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
// Preserve mcpServers at the top level
|
|
208
|
-
if (flatSettings['mcpServers']) {
|
|
209
|
-
v2Settings['mcpServers'] = flatSettings['mcpServers'];
|
|
210
|
-
flatKeys.delete('mcpServers');
|
|
211
|
-
}
|
|
212
|
-
// Carry over any unrecognized keys
|
|
213
|
-
for (const remainingKey of flatKeys) {
|
|
214
|
-
const existingValue = v2Settings[remainingKey];
|
|
215
|
-
const newValue = flatSettings[remainingKey];
|
|
216
|
-
if (typeof existingValue === 'object' &&
|
|
217
|
-
existingValue !== null &&
|
|
218
|
-
!Array.isArray(existingValue) &&
|
|
219
|
-
typeof newValue === 'object' &&
|
|
220
|
-
newValue !== null &&
|
|
221
|
-
!Array.isArray(newValue)) {
|
|
222
|
-
const pathAwareGetStrategy = (path) => getMergeStrategyForPath([remainingKey, ...path]);
|
|
223
|
-
v2Settings[remainingKey] = customDeepMerge(pathAwareGetStrategy, {}, newValue, existingValue);
|
|
224
|
-
}
|
|
225
|
-
else {
|
|
226
|
-
v2Settings[remainingKey] = newValue;
|
|
111
|
+
export function getDefaultsFromSchema(schema = getSettingsSchema()) {
|
|
112
|
+
const defaults = {};
|
|
113
|
+
for (const key in schema) {
|
|
114
|
+
const definition = schema[key];
|
|
115
|
+
if (definition.properties) {
|
|
116
|
+
const childDefaults = getDefaultsFromSchema(definition.properties);
|
|
117
|
+
if (Object.keys(childDefaults).length > 0) {
|
|
118
|
+
defaults[key] = childDefaults;
|
|
119
|
+
}
|
|
227
120
|
}
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
}
|
|
231
|
-
function getNestedProperty(obj, path) {
|
|
232
|
-
const keys = path.split('.');
|
|
233
|
-
let current = obj;
|
|
234
|
-
for (const key of keys) {
|
|
235
|
-
if (typeof current !== 'object' || current === null || !(key in current)) {
|
|
236
|
-
return undefined;
|
|
121
|
+
else if (definition.default !== undefined) {
|
|
122
|
+
defaults[key] = definition.default;
|
|
237
123
|
}
|
|
238
|
-
current = current[key];
|
|
239
124
|
}
|
|
240
|
-
return
|
|
241
|
-
}
|
|
242
|
-
const REVERSE_MIGRATION_MAP = Object.fromEntries(Object.entries(MIGRATION_MAP).map(([key, value]) => [value, key]));
|
|
243
|
-
// Dynamically determine the top-level keys from the V2 settings structure.
|
|
244
|
-
const KNOWN_V2_CONTAINERS = new Set(Object.values(MIGRATION_MAP).map((path) => path.split('.')[0]));
|
|
245
|
-
export function migrateSettingsToV1(v2Settings) {
|
|
246
|
-
const v1Settings = {};
|
|
247
|
-
const v2Keys = new Set(Object.keys(v2Settings));
|
|
248
|
-
for (const [newPath, oldKey] of Object.entries(REVERSE_MIGRATION_MAP)) {
|
|
249
|
-
const value = getNestedProperty(v2Settings, newPath);
|
|
250
|
-
if (value !== undefined) {
|
|
251
|
-
v1Settings[oldKey] = value;
|
|
252
|
-
v2Keys.delete(newPath.split('.')[0]);
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
// Preserve mcpServers at the top level
|
|
256
|
-
if (v2Settings['mcpServers']) {
|
|
257
|
-
v1Settings['mcpServers'] = v2Settings['mcpServers'];
|
|
258
|
-
v2Keys.delete('mcpServers');
|
|
259
|
-
}
|
|
260
|
-
// Carry over any unrecognized keys
|
|
261
|
-
for (const remainingKey of v2Keys) {
|
|
262
|
-
const value = v2Settings[remainingKey];
|
|
263
|
-
if (value === undefined) {
|
|
264
|
-
continue;
|
|
265
|
-
}
|
|
266
|
-
// Don't carry over empty objects that were just containers for migrated settings.
|
|
267
|
-
if (KNOWN_V2_CONTAINERS.has(remainingKey) &&
|
|
268
|
-
typeof value === 'object' &&
|
|
269
|
-
value !== null &&
|
|
270
|
-
!Array.isArray(value) &&
|
|
271
|
-
Object.keys(value).length === 0) {
|
|
272
|
-
continue;
|
|
273
|
-
}
|
|
274
|
-
v1Settings[remainingKey] = value;
|
|
275
|
-
}
|
|
276
|
-
return v1Settings;
|
|
125
|
+
return defaults;
|
|
277
126
|
}
|
|
278
127
|
function mergeSettings(system, systemDefaults, user, workspace, isTrusted) {
|
|
279
128
|
const safeWorkspace = isTrusted ? workspace : {};
|
|
129
|
+
const schemaDefaults = getDefaultsFromSchema();
|
|
280
130
|
// Settings are merged with the following precedence (last one wins for
|
|
281
131
|
// single values):
|
|
282
|
-
// 1.
|
|
283
|
-
// 2.
|
|
284
|
-
// 3.
|
|
285
|
-
// 4.
|
|
286
|
-
|
|
132
|
+
// 1. Schema Defaults (Built-in)
|
|
133
|
+
// 2. System Defaults
|
|
134
|
+
// 3. User Settings
|
|
135
|
+
// 4. Workspace Settings
|
|
136
|
+
// 5. System Settings (as overrides)
|
|
137
|
+
return customDeepMerge(getMergeStrategyForPath, schemaDefaults, systemDefaults, user, safeWorkspace, system);
|
|
287
138
|
}
|
|
288
139
|
export class LoadedSettings {
|
|
289
|
-
constructor(system, systemDefaults, user, workspace, isTrusted,
|
|
140
|
+
constructor(system, systemDefaults, user, workspace, isTrusted, errors = []) {
|
|
290
141
|
this.system = system;
|
|
291
142
|
this.systemDefaults = systemDefaults;
|
|
292
143
|
this.user = user;
|
|
293
144
|
this.workspace = workspace;
|
|
294
145
|
this.isTrusted = isTrusted;
|
|
295
|
-
this.
|
|
146
|
+
this.errors = errors;
|
|
296
147
|
this._merged = this.computeMergedSettings();
|
|
297
148
|
}
|
|
298
149
|
system;
|
|
@@ -300,13 +151,25 @@ export class LoadedSettings {
|
|
|
300
151
|
user;
|
|
301
152
|
workspace;
|
|
302
153
|
isTrusted;
|
|
303
|
-
|
|
154
|
+
errors;
|
|
304
155
|
_merged;
|
|
156
|
+
_remoteAdminSettings;
|
|
305
157
|
get merged() {
|
|
306
158
|
return this._merged;
|
|
307
159
|
}
|
|
308
160
|
computeMergedSettings() {
|
|
309
|
-
|
|
161
|
+
const merged = mergeSettings(this.system.settings, this.systemDefaults.settings, this.user.settings, this.workspace.settings, this.isTrusted);
|
|
162
|
+
// Remote admin settings always take precedence and file-based admin settings
|
|
163
|
+
// are ignored.
|
|
164
|
+
const adminSettingSchema = getSettingsSchema().admin;
|
|
165
|
+
if (adminSettingSchema?.properties) {
|
|
166
|
+
const adminSchema = adminSettingSchema.properties;
|
|
167
|
+
const adminDefaults = getDefaultsFromSchema(adminSchema);
|
|
168
|
+
// The final admin settings are the defaults overridden by remote settings.
|
|
169
|
+
// Any admin settings from files are ignored.
|
|
170
|
+
merged.admin = customDeepMerge((path) => getMergeStrategyForPath(['admin', ...path]), adminDefaults, this._remoteAdminSettings?.admin ?? {});
|
|
171
|
+
}
|
|
172
|
+
return merged;
|
|
310
173
|
}
|
|
311
174
|
forScope(scope) {
|
|
312
175
|
switch (scope) {
|
|
@@ -328,6 +191,23 @@ export class LoadedSettings {
|
|
|
328
191
|
setNestedProperty(settingsFile.originalSettings, key, value);
|
|
329
192
|
this._merged = this.computeMergedSettings();
|
|
330
193
|
saveSettings(settingsFile);
|
|
194
|
+
coreEvents.emitSettingsChanged();
|
|
195
|
+
}
|
|
196
|
+
setRemoteAdminSettings(remoteSettings) {
|
|
197
|
+
const admin = {};
|
|
198
|
+
const { secureModeEnabled, mcpSetting, cliFeatureSetting } = remoteSettings;
|
|
199
|
+
if (secureModeEnabled !== undefined) {
|
|
200
|
+
admin.secureModeEnabled = secureModeEnabled;
|
|
201
|
+
}
|
|
202
|
+
if (mcpSetting?.mcpEnabled !== undefined) {
|
|
203
|
+
admin.mcp = { enabled: mcpSetting.mcpEnabled };
|
|
204
|
+
}
|
|
205
|
+
const extensionsSetting = cliFeatureSetting?.extensionsSetting;
|
|
206
|
+
if (extensionsSetting?.extensionsEnabled !== undefined) {
|
|
207
|
+
admin.extensions = { enabled: extensionsSetting.extensionsEnabled };
|
|
208
|
+
}
|
|
209
|
+
this._remoteAdminSettings = { admin };
|
|
210
|
+
this._merged = this.computeMergedSettings();
|
|
331
211
|
}
|
|
332
212
|
}
|
|
333
213
|
function findEnvFile(startDir) {
|
|
@@ -428,7 +308,6 @@ export function loadSettings(workspaceDir = process.cwd()) {
|
|
|
428
308
|
const settingsErrors = [];
|
|
429
309
|
const systemSettingsPath = getSystemSettingsPath();
|
|
430
310
|
const systemDefaultsPath = getSystemDefaultsPath();
|
|
431
|
-
const migratedInMemoryScopes = new Set();
|
|
432
311
|
// Resolve paths to their canonical representation to handle symlinks
|
|
433
312
|
const resolvedWorkspaceDir = path.resolve(workspaceDir);
|
|
434
313
|
const resolvedHomeDir = path.resolve(homedir());
|
|
@@ -454,6 +333,7 @@ export function loadSettings(workspaceDir = process.cwd()) {
|
|
|
454
333
|
settingsErrors.push({
|
|
455
334
|
message: getErrorMessage(error),
|
|
456
335
|
path: systemSettingsPath,
|
|
336
|
+
severity: 'error',
|
|
457
337
|
});
|
|
458
338
|
}
|
|
459
339
|
// Load user settings
|
|
@@ -467,6 +347,7 @@ export function loadSettings(workspaceDir = process.cwd()) {
|
|
|
467
347
|
settingsErrors.push({
|
|
468
348
|
message: getErrorMessage(error),
|
|
469
349
|
path: USER_SETTINGS_PATH,
|
|
350
|
+
severity: 'error',
|
|
470
351
|
});
|
|
471
352
|
}
|
|
472
353
|
// --- MCP Server Configuration Logic with Fallback ---
|
|
@@ -482,14 +363,14 @@ export function loadSettings(workspaceDir = process.cwd()) {
|
|
|
482
363
|
}
|
|
483
364
|
}
|
|
484
365
|
}
|
|
485
|
-
catch (
|
|
486
|
-
|
|
366
|
+
catch (_e) {
|
|
367
|
+
// Ignore error reading state file
|
|
487
368
|
}
|
|
488
369
|
if (hasFailedTooManyTimes) {
|
|
489
|
-
|
|
370
|
+
coreEvents.emitFeedback('warning', "[WARNING] The managed 'cell' server has failed to install multiple times.");
|
|
490
371
|
const backupCell = userSettings.backupSettings?.['Cell'];
|
|
491
372
|
if (backupCell) {
|
|
492
|
-
|
|
373
|
+
coreEvents.emitFeedback('warning', "[WARNING] Restoring your previous manual configuration as 'Cell'.");
|
|
493
374
|
if (!userSettings.mcpServers) {
|
|
494
375
|
userSettings.mcpServers = {};
|
|
495
376
|
}
|
|
@@ -562,7 +443,45 @@ export function loadSettings(workspaceDir = process.cwd()) {
|
|
|
562
443
|
originalSettings: userSettings,
|
|
563
444
|
});
|
|
564
445
|
}
|
|
565
|
-
const
|
|
446
|
+
const migrateLegacySettings = (settings) => {
|
|
447
|
+
// Migrate includeDirectories -> context.includeDirectories
|
|
448
|
+
if (Array.isArray(settings['includeDirectories'])) {
|
|
449
|
+
if (!settings['context']) {
|
|
450
|
+
settings['context'] = {};
|
|
451
|
+
}
|
|
452
|
+
const context = settings['context'];
|
|
453
|
+
if (!Array.isArray(context['includeDirectories'])) {
|
|
454
|
+
context['includeDirectories'] = [];
|
|
455
|
+
}
|
|
456
|
+
context['includeDirectories'].push(...settings['includeDirectories']);
|
|
457
|
+
delete settings['includeDirectories'];
|
|
458
|
+
}
|
|
459
|
+
// Migrate excludeTools -> tools.exclude
|
|
460
|
+
if (Array.isArray(settings['excludeTools'])) {
|
|
461
|
+
if (!settings['tools']) {
|
|
462
|
+
settings['tools'] = {};
|
|
463
|
+
}
|
|
464
|
+
const tools = settings['tools'];
|
|
465
|
+
if (!Array.isArray(tools['exclude'])) {
|
|
466
|
+
tools['exclude'] = [];
|
|
467
|
+
}
|
|
468
|
+
tools['exclude'].push(...settings['excludeTools']);
|
|
469
|
+
delete settings['excludeTools'];
|
|
470
|
+
}
|
|
471
|
+
// Migrate excludedProjectEnvVars -> advanced.excludedEnvVars
|
|
472
|
+
if (Array.isArray(settings['excludedProjectEnvVars'])) {
|
|
473
|
+
if (!settings['advanced']) {
|
|
474
|
+
settings['advanced'] = {};
|
|
475
|
+
}
|
|
476
|
+
const advanced = settings['advanced'];
|
|
477
|
+
if (!Array.isArray(advanced['excludedEnvVars'])) {
|
|
478
|
+
advanced['excludedEnvVars'] = [];
|
|
479
|
+
}
|
|
480
|
+
advanced['excludedEnvVars'].push(...settings['excludedProjectEnvVars']);
|
|
481
|
+
delete settings['excludedProjectEnvVars'];
|
|
482
|
+
}
|
|
483
|
+
};
|
|
484
|
+
const load = (filePath) => {
|
|
566
485
|
try {
|
|
567
486
|
if (fs.existsSync(filePath)) {
|
|
568
487
|
const content = fs.readFileSync(filePath, 'utf-8');
|
|
@@ -573,27 +492,22 @@ export function loadSettings(workspaceDir = process.cwd()) {
|
|
|
573
492
|
settingsErrors.push({
|
|
574
493
|
message: 'Settings file is not a valid JSON object.',
|
|
575
494
|
path: filePath,
|
|
495
|
+
severity: 'error',
|
|
576
496
|
});
|
|
577
497
|
return { settings: {} };
|
|
578
498
|
}
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
}
|
|
592
|
-
else {
|
|
593
|
-
migratedInMemoryScopes.add(scope);
|
|
594
|
-
}
|
|
595
|
-
settingsObject = migratedSettings;
|
|
596
|
-
}
|
|
499
|
+
const settingsObject = rawSettings;
|
|
500
|
+
// Migrate legacy settings before validation
|
|
501
|
+
migrateLegacySettings(settingsObject);
|
|
502
|
+
// Validate settings structure with Zod
|
|
503
|
+
const validationResult = validateSettings(settingsObject);
|
|
504
|
+
if (!validationResult.success && validationResult.error) {
|
|
505
|
+
const errorMessage = formatValidationError(validationResult.error, filePath);
|
|
506
|
+
settingsErrors.push({
|
|
507
|
+
message: errorMessage,
|
|
508
|
+
path: filePath,
|
|
509
|
+
severity: 'warning',
|
|
510
|
+
});
|
|
597
511
|
}
|
|
598
512
|
return { settings: settingsObject, rawJson: content };
|
|
599
513
|
}
|
|
@@ -602,19 +516,20 @@ export function loadSettings(workspaceDir = process.cwd()) {
|
|
|
602
516
|
settingsErrors.push({
|
|
603
517
|
message: getErrorMessage(error),
|
|
604
518
|
path: filePath,
|
|
519
|
+
severity: 'error',
|
|
605
520
|
});
|
|
606
521
|
}
|
|
607
522
|
return { settings: {} };
|
|
608
523
|
};
|
|
609
|
-
const systemResult =
|
|
610
|
-
const systemDefaultsResult =
|
|
611
|
-
const userResult =
|
|
524
|
+
const systemResult = load(systemSettingsPath);
|
|
525
|
+
const systemDefaultsResult = load(systemDefaultsPath);
|
|
526
|
+
const userResult = load(USER_SETTINGS_PATH);
|
|
612
527
|
let workspaceResult = {
|
|
613
528
|
settings: {},
|
|
614
529
|
rawJson: undefined,
|
|
615
530
|
};
|
|
616
531
|
if (realWorkspaceDir !== realHomeDir) {
|
|
617
|
-
workspaceResult =
|
|
532
|
+
workspaceResult = load(workspaceSettingsPath);
|
|
618
533
|
}
|
|
619
534
|
const systemOriginalSettings = structuredClone(systemResult.settings);
|
|
620
535
|
const systemDefaultsOriginalSettings = structuredClone(systemDefaultsResult.settings);
|
|
@@ -657,9 +572,10 @@ export function loadSettings(workspaceDir = process.cwd()) {
|
|
|
657
572
|
// loadEnvironment depends on settings so we have to create a temp version of
|
|
658
573
|
// the settings to avoid a cycle
|
|
659
574
|
loadEnvironment(tempMergedSettings);
|
|
660
|
-
//
|
|
661
|
-
|
|
662
|
-
|
|
575
|
+
// Check for any fatal errors before proceeding
|
|
576
|
+
const fatalErrors = settingsErrors.filter((e) => e.severity === 'error');
|
|
577
|
+
if (fatalErrors.length > 0) {
|
|
578
|
+
const errorMessages = fatalErrors.map((error) => `Error in ${error.path}: ${error.message}`);
|
|
663
579
|
throw new FatalConfigError(`${errorMessages.join('\n')}\nPlease fix the configuration file(s) and try again.`);
|
|
664
580
|
}
|
|
665
581
|
return new LoadedSettings({
|
|
@@ -682,23 +598,7 @@ export function loadSettings(workspaceDir = process.cwd()) {
|
|
|
682
598
|
settings: workspaceSettings,
|
|
683
599
|
originalSettings: workspaceOriginalSettings,
|
|
684
600
|
rawJson: workspaceResult.rawJson,
|
|
685
|
-
}, isTrusted,
|
|
686
|
-
}
|
|
687
|
-
export function migrateDeprecatedSettings(loadedSettings, extensionManager) {
|
|
688
|
-
const processScope = (scope) => {
|
|
689
|
-
const settings = loadedSettings.forScope(scope).settings;
|
|
690
|
-
if (settings.extensions?.disabled) {
|
|
691
|
-
debugLogger.log(`Migrating deprecated extensions.disabled settings from ${scope} settings...`);
|
|
692
|
-
for (const extension of settings.extensions.disabled ?? []) {
|
|
693
|
-
extensionManager.disableExtension(extension, scope);
|
|
694
|
-
}
|
|
695
|
-
const newExtensionsValue = { ...settings.extensions };
|
|
696
|
-
newExtensionsValue.disabled = undefined;
|
|
697
|
-
loadedSettings.setValue(scope, 'extensions', newExtensionsValue);
|
|
698
|
-
}
|
|
699
|
-
};
|
|
700
|
-
processScope(SettingScope.User);
|
|
701
|
-
processScope(SettingScope.Workspace);
|
|
601
|
+
}, isTrusted, settingsErrors);
|
|
702
602
|
}
|
|
703
603
|
export function saveSettings(settingsFile) {
|
|
704
604
|
try {
|
|
@@ -707,10 +607,7 @@ export function saveSettings(settingsFile) {
|
|
|
707
607
|
if (!fs.existsSync(dirPath)) {
|
|
708
608
|
fs.mkdirSync(dirPath, { recursive: true });
|
|
709
609
|
}
|
|
710
|
-
|
|
711
|
-
if (!MIGRATE_V2_OVERWRITE) {
|
|
712
|
-
settingsToSave = migrateSettingsToV1(settingsToSave);
|
|
713
|
-
}
|
|
610
|
+
const settingsToSave = settingsFile.originalSettings;
|
|
714
611
|
// Use the format-preserving update function
|
|
715
612
|
updateSettingsFilePreservingFormat(settingsFile.path, settingsToSave);
|
|
716
613
|
}
|
|
@@ -718,4 +615,12 @@ export function saveSettings(settingsFile) {
|
|
|
718
615
|
coreEvents.emitFeedback('error', 'There was an error saving your latest settings changes.', error);
|
|
719
616
|
}
|
|
720
617
|
}
|
|
618
|
+
export function saveModelChange(loadedSettings, model) {
|
|
619
|
+
try {
|
|
620
|
+
loadedSettings.setValue(SettingScope.User, 'model.name', model);
|
|
621
|
+
}
|
|
622
|
+
catch (error) {
|
|
623
|
+
coreEvents.emitFeedback('error', 'There was an error saving your preferred model.', error);
|
|
624
|
+
}
|
|
625
|
+
}
|
|
721
626
|
//# sourceMappingURL=settings.js.map
|