@quantum-ai/gemini-cli 0.45.4 → 0.45.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +394 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/package.json +12 -11
- package/dist/src/config/settingsSchema.d.ts +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/ui/App.d.ts +1 -1
- package/dist/src/ui/AppContainer.d.ts +1 -1
- package/dist/src/ui/IdeIntegrationNudge.d.ts +1 -1
- package/dist/src/ui/auth/LoginRestartDialog.d.ts +1 -1
- package/dist/src/ui/components/AdminSettingsChangedDialog.d.ts +1 -1
- package/dist/src/ui/components/AlternateBufferQuittingDisplay.d.ts +1 -1
- package/dist/src/ui/components/AppHeader.d.ts +1 -1
- package/dist/src/ui/components/BackgroundTaskDisplay.d.ts +1 -1
- package/dist/src/ui/components/Banner.d.ts +1 -1
- package/dist/src/ui/components/CliSpinner.d.ts +1 -1
- package/dist/src/ui/components/Composer.d.ts +1 -1
- package/dist/src/ui/components/ConfigInitDisplay.d.ts +1 -1
- package/dist/src/ui/components/ConsentPrompt.d.ts +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.d.ts +1 -1
- package/dist/src/ui/components/DebugProfiler.d.ts +1 -1
- package/dist/src/ui/components/DialogManager.d.ts +1 -1
- package/dist/src/ui/components/IdeTrustChangeDialog.d.ts +1 -1
- package/dist/src/ui/components/LoopDetectionConfirmation.d.ts +1 -1
- package/dist/src/ui/components/MainContent.d.ts +1 -1
- package/dist/src/ui/components/ModelQuotaDisplay.d.ts +1 -1
- package/dist/src/ui/components/NewAgentsNotification.d.ts +1 -1
- package/dist/src/ui/components/Notifications.d.ts +1 -1
- package/dist/src/ui/components/QueuedMessageDisplay.d.ts +1 -1
- package/dist/src/ui/components/QuittingDisplay.d.ts +1 -1
- package/dist/src/ui/components/ShowMoreLines.d.ts +1 -1
- package/dist/src/ui/components/SuggestionsDisplay.d.ts +1 -1
- package/dist/src/ui/components/Table.d.ts +1 -1
- package/dist/src/ui/components/UpdateNotification.d.ts +1 -1
- package/dist/src/ui/components/shared/SlicingMaxSizedBox.d.ts +1 -1
- package/dist/src/ui/components/triage/TriageDuplicates.d.ts +1 -1
- package/dist/src/ui/components/triage/TriageIssues.d.ts +1 -1
- package/dist/src/ui/contexts/KeypressContext.d.ts +1 -1
- package/dist/src/ui/contexts/MouseContext.d.ts +1 -1
- package/dist/src/ui/contexts/TerminalContext.d.ts +1 -1
- package/dist/src/ui/contexts/VimModeContext.d.ts +1 -1
- package/dist/src/ui/hooks/useExtensionUpdates.d.ts +2 -2
- package/dist/src/ui/hooks/useInlineEditBuffer.d.ts +1 -1
- package/dist/src/ui/hooks/useStateAndRef.d.ts +1 -1
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.d.ts +1 -1
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.d.ts +1 -1
- package/dist/src/ui/privacy/GeminiPrivacyNotice.d.ts +1 -1
- package/dist/src/ui/privacy/PrivacyNotice.d.ts +1 -1
- package/dist/src/utils/devtoolsService.js +1 -1
- package/dist/src/utils/devtoolsService.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -11
- package/dist/src/acp/acpCommandHandler.test.d.ts +0 -6
- package/dist/src/acp/acpCommandHandler.test.js +0 -28
- package/dist/src/acp/acpCommandHandler.test.js.map +0 -1
- package/dist/src/acp/acpErrors.test.d.ts +0 -6
- package/dist/src/acp/acpErrors.test.js +0 -38
- package/dist/src/acp/acpErrors.test.js.map +0 -1
- package/dist/src/acp/acpFileSystemService.test.d.ts +0 -6
- package/dist/src/acp/acpFileSystemService.test.js +0 -162
- package/dist/src/acp/acpFileSystemService.test.js.map +0 -1
- package/dist/src/acp/acpResume.test.d.ts +0 -6
- package/dist/src/acp/acpResume.test.js +0 -260
- package/dist/src/acp/acpResume.test.js.map +0 -1
- package/dist/src/acp/acpRpcDispatcher.test.d.ts +0 -6
- package/dist/src/acp/acpRpcDispatcher.test.js +0 -238
- package/dist/src/acp/acpRpcDispatcher.test.js.map +0 -1
- package/dist/src/acp/acpSession.test.d.ts +0 -6
- package/dist/src/acp/acpSession.test.js +0 -742
- package/dist/src/acp/acpSession.test.js.map +0 -1
- package/dist/src/acp/acpSessionManager.test.d.ts +0 -6
- package/dist/src/acp/acpSessionManager.test.js +0 -283
- package/dist/src/acp/acpSessionManager.test.js.map +0 -1
- package/dist/src/acp/commands/extensions.test.d.ts +0 -6
- package/dist/src/acp/commands/extensions.test.js +0 -70
- package/dist/src/acp/commands/extensions.test.js.map +0 -1
- package/dist/src/acp/commands/help.test.d.ts +0 -6
- package/dist/src/acp/commands/help.test.js +0 -40
- package/dist/src/acp/commands/help.test.js.map +0 -1
- package/dist/src/acp/commands/restore.test.d.ts +0 -6
- package/dist/src/acp/commands/restore.test.js +0 -173
- package/dist/src/acp/commands/restore.test.js.map +0 -1
- package/dist/src/commands/extensions/configure.test.d.ts +0 -1
- package/dist/src/commands/extensions/configure.test.js +0 -195
- package/dist/src/commands/extensions/configure.test.js.map +0 -1
- package/dist/src/commands/extensions/disable.test.d.ts +0 -6
- package/dist/src/commands/extensions/disable.test.js +0 -169
- package/dist/src/commands/extensions/disable.test.js.map +0 -1
- package/dist/src/commands/extensions/enable.test.d.ts +0 -6
- package/dist/src/commands/extensions/enable.test.js +0 -199
- package/dist/src/commands/extensions/enable.test.js.map +0 -1
- package/dist/src/commands/extensions/install.test.d.ts +0 -6
- package/dist/src/commands/extensions/install.test.js +0 -311
- package/dist/src/commands/extensions/install.test.js.map +0 -1
- package/dist/src/commands/extensions/link.test.d.ts +0 -6
- package/dist/src/commands/extensions/link.test.js +0 -121
- package/dist/src/commands/extensions/link.test.js.map +0 -1
- package/dist/src/commands/extensions/list.test.d.ts +0 -6
- package/dist/src/commands/extensions/list.test.js +0 -132
- package/dist/src/commands/extensions/list.test.js.map +0 -1
- package/dist/src/commands/extensions/new.test.d.ts +0 -6
- package/dist/src/commands/extensions/new.test.js +0 -62
- package/dist/src/commands/extensions/new.test.js.map +0 -1
- package/dist/src/commands/extensions/uninstall.test.d.ts +0 -6
- package/dist/src/commands/extensions/uninstall.test.js +0 -240
- package/dist/src/commands/extensions/uninstall.test.js.map +0 -1
- package/dist/src/commands/extensions/update.test.d.ts +0 -6
- package/dist/src/commands/extensions/update.test.js +0 -196
- package/dist/src/commands/extensions/update.test.js.map +0 -1
- package/dist/src/commands/extensions/validate.test.d.ts +0 -6
- package/dist/src/commands/extensions/validate.test.js +0 -96
- package/dist/src/commands/extensions/validate.test.js.map +0 -1
- package/dist/src/commands/extensions.test.d.ts +0 -6
- package/dist/src/commands/extensions.test.js +0 -67
- package/dist/src/commands/extensions.test.js.map +0 -1
- package/dist/src/commands/gemma/logs.test.d.ts +0 -6
- package/dist/src/commands/gemma/logs.test.js +0 -122
- package/dist/src/commands/gemma/logs.test.js.map +0 -1
- package/dist/src/commands/gemma/platform.test.d.ts +0 -6
- package/dist/src/commands/gemma/platform.test.js +0 -108
- package/dist/src/commands/gemma/platform.test.js.map +0 -1
- package/dist/src/commands/gemma/setup.test.d.ts +0 -6
- package/dist/src/commands/gemma/setup.test.js +0 -36
- package/dist/src/commands/gemma/setup.test.js.map +0 -1
- package/dist/src/commands/gemma/stop.test.d.ts +0 -6
- package/dist/src/commands/gemma/stop.test.js +0 -89
- package/dist/src/commands/gemma/stop.test.js.map +0 -1
- package/dist/src/commands/hooks/migrate.test.d.ts +0 -6
- package/dist/src/commands/hooks/migrate.test.js +0 -388
- package/dist/src/commands/hooks/migrate.test.js.map +0 -1
- package/dist/src/commands/mcp/add.test.d.ts +0 -6
- package/dist/src/commands/mcp/add.test.js +0 -274
- package/dist/src/commands/mcp/add.test.js.map +0 -1
- package/dist/src/commands/mcp/list.test.d.ts +0 -6
- package/dist/src/commands/mcp/list.test.js +0 -477
- package/dist/src/commands/mcp/list.test.js.map +0 -1
- package/dist/src/commands/mcp/remove.test.d.ts +0 -6
- package/dist/src/commands/mcp/remove.test.js +0 -206
- package/dist/src/commands/mcp/remove.test.js.map +0 -1
- package/dist/src/commands/mcp.test.d.ts +0 -6
- package/dist/src/commands/mcp.test.js +0 -64
- package/dist/src/commands/mcp.test.js.map +0 -1
- package/dist/src/commands/skills/disable.test.d.ts +0 -6
- package/dist/src/commands/skills/disable.test.js +0 -93
- package/dist/src/commands/skills/disable.test.js.map +0 -1
- package/dist/src/commands/skills/enable.test.d.ts +0 -6
- package/dist/src/commands/skills/enable.test.js +0 -104
- package/dist/src/commands/skills/enable.test.js.map +0 -1
- package/dist/src/commands/skills/install.test.d.ts +0 -6
- package/dist/src/commands/skills/install.test.js +0 -99
- package/dist/src/commands/skills/install.test.js.map +0 -1
- package/dist/src/commands/skills/link.test.d.ts +0 -6
- package/dist/src/commands/skills/link.test.js +0 -53
- package/dist/src/commands/skills/link.test.js.map +0 -1
- package/dist/src/commands/skills/list.test.d.ts +0 -6
- package/dist/src/commands/skills/list.test.js +0 -127
- package/dist/src/commands/skills/list.test.js.map +0 -1
- package/dist/src/commands/skills/uninstall.test.d.ts +0 -6
- package/dist/src/commands/skills/uninstall.test.js +0 -65
- package/dist/src/commands/skills/uninstall.test.js.map +0 -1
- package/dist/src/commands/skills.test.d.ts +0 -6
- package/dist/src/commands/skills.test.js +0 -49
- package/dist/src/commands/skills.test.js.map +0 -1
- package/dist/src/commands/utils.test.d.ts +0 -6
- package/dist/src/commands/utils.test.js +0 -35
- package/dist/src/commands/utils.test.js.map +0 -1
- package/dist/src/config/auth.test.d.ts +0 -6
- package/dist/src/config/auth.test.js +0 -96
- package/dist/src/config/auth.test.js.map +0 -1
- package/dist/src/config/config.integration.test.d.ts +0 -6
- package/dist/src/config/config.integration.test.js +0 -205
- package/dist/src/config/config.integration.test.js.map +0 -1
- package/dist/src/config/config.test.d.ts +0 -6
- package/dist/src/config/config.test.js +0 -3124
- package/dist/src/config/config.test.js.map +0 -1
- package/dist/src/config/extension-manager-agents.test.d.ts +0 -6
- package/dist/src/config/extension-manager-agents.test.js +0 -116
- package/dist/src/config/extension-manager-agents.test.js.map +0 -1
- package/dist/src/config/extension-manager-hydration.test.d.ts +0 -6
- package/dist/src/config/extension-manager-hydration.test.js +0 -262
- package/dist/src/config/extension-manager-hydration.test.js.map +0 -1
- package/dist/src/config/extension-manager-permissions.test.d.ts +0 -6
- package/dist/src/config/extension-manager-permissions.test.js +0 -107
- package/dist/src/config/extension-manager-permissions.test.js.map +0 -1
- package/dist/src/config/extension-manager-scope.test.d.ts +0 -6
- package/dist/src/config/extension-manager-scope.test.js +0 -158
- package/dist/src/config/extension-manager-scope.test.js.map +0 -1
- package/dist/src/config/extension-manager-skills.test.d.ts +0 -6
- package/dist/src/config/extension-manager-skills.test.js +0 -157
- package/dist/src/config/extension-manager-skills.test.js.map +0 -1
- package/dist/src/config/extension-manager.test.d.ts +0 -6
- package/dist/src/config/extension-manager.test.js +0 -430
- package/dist/src/config/extension-manager.test.js.map +0 -1
- package/dist/src/config/extension.test.d.ts +0 -6
- package/dist/src/config/extension.test.js +0 -1800
- package/dist/src/config/extension.test.js.map +0 -1
- package/dist/src/config/extensionRegistryClient.test.d.ts +0 -6
- package/dist/src/config/extensionRegistryClient.test.js +0 -261
- package/dist/src/config/extensionRegistryClient.test.js.map +0 -1
- package/dist/src/config/extensions/consent.test.d.ts +0 -6
- package/dist/src/config/extensions/consent.test.js +0 -302
- package/dist/src/config/extensions/consent.test.js.map +0 -1
- package/dist/src/config/extensions/extensionEnablement.test.d.ts +0 -6
- package/dist/src/config/extensions/extensionEnablement.test.js +0 -404
- package/dist/src/config/extensions/extensionEnablement.test.js.map +0 -1
- package/dist/src/config/extensions/extensionSettings.test.d.ts +0 -6
- package/dist/src/config/extensions/extensionSettings.test.js +0 -575
- package/dist/src/config/extensions/extensionSettings.test.js.map +0 -1
- package/dist/src/config/extensions/extensionUpdates.test.d.ts +0 -6
- package/dist/src/config/extensions/extensionUpdates.test.js +0 -265
- package/dist/src/config/extensions/extensionUpdates.test.js.map +0 -1
- package/dist/src/config/extensions/github.test.d.ts +0 -6
- package/dist/src/config/extensions/github.test.js +0 -454
- package/dist/src/config/extensions/github.test.js.map +0 -1
- package/dist/src/config/extensions/github_fetch.test.d.ts +0 -6
- package/dist/src/config/extensions/github_fetch.test.js +0 -171
- package/dist/src/config/extensions/github_fetch.test.js.map +0 -1
- package/dist/src/config/extensions/storage.test.d.ts +0 -6
- package/dist/src/config/extensions/storage.test.js +0 -64
- package/dist/src/config/extensions/storage.test.js.map +0 -1
- package/dist/src/config/extensions/update.test.d.ts +0 -6
- package/dist/src/config/extensions/update.test.js +0 -296
- package/dist/src/config/extensions/update.test.js.map +0 -1
- package/dist/src/config/extensions/variables.test.d.ts +0 -6
- package/dist/src/config/extensions/variables.test.js +0 -119
- package/dist/src/config/extensions/variables.test.js.map +0 -1
- package/dist/src/config/footerItems.test.d.ts +0 -6
- package/dist/src/config/footerItems.test.js +0 -180
- package/dist/src/config/footerItems.test.js.map +0 -1
- package/dist/src/config/mcp/mcpServerEnablement.test.d.ts +0 -6
- package/dist/src/config/mcp/mcpServerEnablement.test.js +0 -148
- package/dist/src/config/mcp/mcpServerEnablement.test.js.map +0 -1
- package/dist/src/config/mutual-exclusivity.test.d.ts +0 -6
- package/dist/src/config/mutual-exclusivity.test.js +0 -33
- package/dist/src/config/mutual-exclusivity.test.js.map +0 -1
- package/dist/src/config/policy-engine.integration.test.d.ts +0 -6
- package/dist/src/config/policy-engine.integration.test.js +0 -394
- package/dist/src/config/policy-engine.integration.test.js.map +0 -1
- package/dist/src/config/policy.test.d.ts +0 -6
- package/dist/src/config/policy.test.js +0 -199
- package/dist/src/config/policy.test.js.map +0 -1
- package/dist/src/config/sandboxConfig.test.d.ts +0 -6
- package/dist/src/config/sandboxConfig.test.js +0 -401
- package/dist/src/config/sandboxConfig.test.js.map +0 -1
- package/dist/src/config/settingPaths.test.d.ts +0 -6
- package/dist/src/config/settingPaths.test.js +0 -22
- package/dist/src/config/settingPaths.test.js.map +0 -1
- package/dist/src/config/settings-env-isolation.test.d.ts +0 -6
- package/dist/src/config/settings-env-isolation.test.js +0 -188
- package/dist/src/config/settings-env-isolation.test.js.map +0 -1
- package/dist/src/config/settings-validation.test.d.ts +0 -6
- package/dist/src/config/settings-validation.test.js +0 -464
- package/dist/src/config/settings-validation.test.js.map +0 -1
- package/dist/src/config/settings.test.d.ts +0 -6
- package/dist/src/config/settings.test.js +0 -2660
- package/dist/src/config/settings.test.js.map +0 -1
- package/dist/src/config/settingsSchema.test.d.ts +0 -6
- package/dist/src/config/settingsSchema.test.js +0 -450
- package/dist/src/config/settingsSchema.test.js.map +0 -1
- package/dist/src/config/settings_repro.test.d.ts +0 -6
- package/dist/src/config/settings_repro.test.js +0 -163
- package/dist/src/config/settings_repro.test.js.map +0 -1
- package/dist/src/config/settings_validation_warning.test.d.ts +0 -6
- package/dist/src/config/settings_validation_warning.test.js +0 -124
- package/dist/src/config/settings_validation_warning.test.js.map +0 -1
- package/dist/src/config/skipExtensions.test.d.ts +0 -6
- package/dist/src/config/skipExtensions.test.js +0 -49
- package/dist/src/config/skipExtensions.test.js.map +0 -1
- package/dist/src/config/trustedFolders.test.d.ts +0 -6
- package/dist/src/config/trustedFolders.test.js +0 -411
- package/dist/src/config/trustedFolders.test.js.map +0 -1
- package/dist/src/config/workspace-policy-cli.test.d.ts +0 -6
- package/dist/src/config/workspace-policy-cli.test.js +0 -204
- package/dist/src/config/workspace-policy-cli.test.js.map +0 -1
- package/dist/src/core/auth.test.d.ts +0 -6
- package/dist/src/core/auth.test.js +0 -93
- package/dist/src/core/auth.test.js.map +0 -1
- package/dist/src/core/initializer.test.d.ts +0 -6
- package/dist/src/core/initializer.test.js +0 -111
- package/dist/src/core/initializer.test.js.map +0 -1
- package/dist/src/core/theme.test.d.ts +0 -6
- package/dist/src/core/theme.test.js +0 -46
- package/dist/src/core/theme.test.js.map +0 -1
- package/dist/src/deferred.test.d.ts +0 -6
- package/dist/src/deferred.test.js +0 -180
- package/dist/src/deferred.test.js.map +0 -1
- package/dist/src/gemini.test.d.ts +0 -6
- package/dist/src/gemini.test.js +0 -1432
- package/dist/src/gemini.test.js.map +0 -1
- package/dist/src/gemini_cleanup.test.d.ts +0 -6
- package/dist/src/gemini_cleanup.test.js +0 -391
- package/dist/src/gemini_cleanup.test.js.map +0 -1
- package/dist/src/integration-tests/modelSteering.test.d.ts +0 -6
- package/dist/src/integration-tests/modelSteering.test.js +0 -62
- package/dist/src/integration-tests/modelSteering.test.js.map +0 -1
- package/dist/src/nonInteractiveCli.test.d.ts +0 -6
- package/dist/src/nonInteractiveCli.test.js +0 -1921
- package/dist/src/nonInteractiveCli.test.js.map +0 -1
- package/dist/src/nonInteractiveCliAgentSession.test.d.ts +0 -6
- package/dist/src/nonInteractiveCliAgentSession.test.js +0 -2015
- package/dist/src/nonInteractiveCliAgentSession.test.js.map +0 -1
- package/dist/src/output-redirection.test.d.ts +0 -6
- package/dist/src/output-redirection.test.js +0 -77
- package/dist/src/output-redirection.test.js.map +0 -1
- package/dist/src/services/BuiltinCommandLoader.test.d.ts +0 -6
- package/dist/src/services/BuiltinCommandLoader.test.js +0 -369
- package/dist/src/services/BuiltinCommandLoader.test.js.map +0 -1
- package/dist/src/services/CommandService.test.d.ts +0 -6
- package/dist/src/services/CommandService.test.js +0 -74
- package/dist/src/services/CommandService.test.js.map +0 -1
- package/dist/src/services/FileCommandLoader.test.d.ts +0 -6
- package/dist/src/services/FileCommandLoader.test.js +0 -1128
- package/dist/src/services/FileCommandLoader.test.js.map +0 -1
- package/dist/src/services/McpPromptLoader.test.d.ts +0 -6
- package/dist/src/services/McpPromptLoader.test.js +0 -411
- package/dist/src/services/McpPromptLoader.test.js.map +0 -1
- package/dist/src/services/SkillCommandLoader.test.d.ts +0 -6
- package/dist/src/services/SkillCommandLoader.test.js +0 -113
- package/dist/src/services/SkillCommandLoader.test.js.map +0 -1
- package/dist/src/services/SlashCommandConflictHandler.test.d.ts +0 -6
- package/dist/src/services/SlashCommandConflictHandler.test.js +0 -144
- package/dist/src/services/SlashCommandConflictHandler.test.js.map +0 -1
- package/dist/src/services/SlashCommandResolver.test.d.ts +0 -6
- package/dist/src/services/SlashCommandResolver.test.js +0 -186
- package/dist/src/services/SlashCommandResolver.test.js.map +0 -1
- package/dist/src/services/liteRtServerManager.test.d.ts +0 -6
- package/dist/src/services/liteRtServerManager.test.js +0 -54
- package/dist/src/services/liteRtServerManager.test.js.map +0 -1
- package/dist/src/services/prompt-processors/argumentProcessor.test.d.ts +0 -6
- package/dist/src/services/prompt-processors/argumentProcessor.test.js +0 -40
- package/dist/src/services/prompt-processors/argumentProcessor.test.js.map +0 -1
- package/dist/src/services/prompt-processors/atFileProcessor.test.d.ts +0 -6
- package/dist/src/services/prompt-processors/atFileProcessor.test.js +0 -177
- package/dist/src/services/prompt-processors/atFileProcessor.test.js.map +0 -1
- package/dist/src/services/prompt-processors/injectionParser.test.d.ts +0 -6
- package/dist/src/services/prompt-processors/injectionParser.test.js +0 -189
- package/dist/src/services/prompt-processors/injectionParser.test.js.map +0 -1
- package/dist/src/services/prompt-processors/shellProcessor.test.d.ts +0 -6
- package/dist/src/services/prompt-processors/shellProcessor.test.js +0 -525
- package/dist/src/services/prompt-processors/shellProcessor.test.js.map +0 -1
- package/dist/src/test-utils/AppRig.test.d.ts +0 -6
- package/dist/src/test-utils/AppRig.test.js +0 -60
- package/dist/src/test-utils/AppRig.test.js.map +0 -1
- package/dist/src/test-utils/mockCommandContext.test.d.ts +0 -6
- package/dist/src/test-utils/mockCommandContext.test.js +0 -51
- package/dist/src/test-utils/mockCommandContext.test.js.map +0 -1
- package/dist/src/test-utils/render.test.d.ts +0 -6
- package/dist/src/test-utils/render.test.js +0 -84
- package/dist/src/test-utils/render.test.js.map +0 -1
- package/dist/src/ui/App.test.d.ts +0 -6
- package/dist/src/ui/App.test.js +0 -244
- package/dist/src/ui/App.test.js.map +0 -1
- package/dist/src/ui/AppContainer.test.d.ts +0 -6
- package/dist/src/ui/AppContainer.test.js +0 -2824
- package/dist/src/ui/AppContainer.test.js.map +0 -1
- package/dist/src/ui/IdeIntegrationNudge.test.d.ts +0 -6
- package/dist/src/ui/IdeIntegrationNudge.test.js +0 -149
- package/dist/src/ui/IdeIntegrationNudge.test.js.map +0 -1
- package/dist/src/ui/ToolConfirmationFullFrame.test.d.ts +0 -1
- package/dist/src/ui/ToolConfirmationFullFrame.test.js +0 -153
- package/dist/src/ui/ToolConfirmationFullFrame.test.js.map +0 -1
- package/dist/src/ui/auth/ApiAuthDialog.test.d.ts +0 -6
- package/dist/src/ui/auth/ApiAuthDialog.test.js +0 -127
- package/dist/src/ui/auth/ApiAuthDialog.test.js.map +0 -1
- package/dist/src/ui/auth/AuthDialog.test.d.ts +0 -6
- package/dist/src/ui/auth/AuthDialog.test.js +0 -350
- package/dist/src/ui/auth/AuthDialog.test.js.map +0 -1
- package/dist/src/ui/auth/AuthInProgress.test.d.ts +0 -6
- package/dist/src/ui/auth/AuthInProgress.test.js +0 -99
- package/dist/src/ui/auth/AuthInProgress.test.js.map +0 -1
- package/dist/src/ui/auth/BannedAccountDialog.test.d.ts +0 -6
- package/dist/src/ui/auth/BannedAccountDialog.test.js +0 -141
- package/dist/src/ui/auth/BannedAccountDialog.test.js.map +0 -1
- package/dist/src/ui/auth/LoginRestartDialog.test.d.ts +0 -6
- package/dist/src/ui/auth/LoginRestartDialog.test.js +0 -79
- package/dist/src/ui/auth/LoginRestartDialog.test.js.map +0 -1
- package/dist/src/ui/auth/useAuth.test.d.ts +0 -6
- package/dist/src/ui/auth/useAuth.test.js +0 -214
- package/dist/src/ui/auth/useAuth.test.js.map +0 -1
- package/dist/src/ui/commands/aboutCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/aboutCommand.test.js +0 -145
- package/dist/src/ui/commands/aboutCommand.test.js.map +0 -1
- package/dist/src/ui/commands/agentsCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/agentsCommand.test.js +0 -382
- package/dist/src/ui/commands/agentsCommand.test.js.map +0 -1
- package/dist/src/ui/commands/authCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/authCommand.test.js +0 -103
- package/dist/src/ui/commands/authCommand.test.js.map +0 -1
- package/dist/src/ui/commands/bugCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/bugCommand.test.js +0 -305
- package/dist/src/ui/commands/bugCommand.test.js.map +0 -1
- package/dist/src/ui/commands/bugMemoryCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/bugMemoryCommand.test.js +0 -100
- package/dist/src/ui/commands/bugMemoryCommand.test.js.map +0 -1
- package/dist/src/ui/commands/chatCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/chatCommand.test.js +0 -627
- package/dist/src/ui/commands/chatCommand.test.js.map +0 -1
- package/dist/src/ui/commands/clearCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/clearCommand.test.js +0 -98
- package/dist/src/ui/commands/clearCommand.test.js.map +0 -1
- package/dist/src/ui/commands/commandsCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/commandsCommand.test.js +0 -115
- package/dist/src/ui/commands/commandsCommand.test.js.map +0 -1
- package/dist/src/ui/commands/compressCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/compressCommand.test.js +0 -110
- package/dist/src/ui/commands/compressCommand.test.js.map +0 -1
- package/dist/src/ui/commands/copyCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/copyCommand.test.js +0 -244
- package/dist/src/ui/commands/copyCommand.test.js.map +0 -1
- package/dist/src/ui/commands/corgiCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/corgiCommand.test.js +0 -28
- package/dist/src/ui/commands/corgiCommand.test.js.map +0 -1
- package/dist/src/ui/commands/directoryCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/directoryCommand.test.js +0 -365
- package/dist/src/ui/commands/directoryCommand.test.js.map +0 -1
- package/dist/src/ui/commands/docsCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/docsCommand.test.js +0 -72
- package/dist/src/ui/commands/docsCommand.test.js.map +0 -1
- package/dist/src/ui/commands/editorCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/editorCommand.test.js +0 -27
- package/dist/src/ui/commands/editorCommand.test.js.map +0 -1
- package/dist/src/ui/commands/exportSessionCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/exportSessionCommand.test.js +0 -100
- package/dist/src/ui/commands/exportSessionCommand.test.js.map +0 -1
- package/dist/src/ui/commands/extensionsCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/extensionsCommand.test.js +0 -947
- package/dist/src/ui/commands/extensionsCommand.test.js.map +0 -1
- package/dist/src/ui/commands/helpCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/helpCommand.test.js +0 -94
- package/dist/src/ui/commands/helpCommand.test.js.map +0 -1
- package/dist/src/ui/commands/hooksCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/hooksCommand.test.js +0 -562
- package/dist/src/ui/commands/hooksCommand.test.js.map +0 -1
- package/dist/src/ui/commands/ideCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/ideCommand.test.js +0 -205
- package/dist/src/ui/commands/ideCommand.test.js.map +0 -1
- package/dist/src/ui/commands/initCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/initCommand.test.js +0 -86
- package/dist/src/ui/commands/initCommand.test.js.map +0 -1
- package/dist/src/ui/commands/mcpCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/mcpCommand.test.js +0 -231
- package/dist/src/ui/commands/mcpCommand.test.js.map +0 -1
- package/dist/src/ui/commands/memoryCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/memoryCommand.test.js +0 -361
- package/dist/src/ui/commands/memoryCommand.test.js.map +0 -1
- package/dist/src/ui/commands/modelCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/modelCommand.test.js +0 -135
- package/dist/src/ui/commands/modelCommand.test.js.map +0 -1
- package/dist/src/ui/commands/permissionsCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/permissionsCommand.test.js +0 -86
- package/dist/src/ui/commands/permissionsCommand.test.js.map +0 -1
- package/dist/src/ui/commands/planCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/planCommand.test.js +0 -146
- package/dist/src/ui/commands/planCommand.test.js.map +0 -1
- package/dist/src/ui/commands/policiesCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/policiesCommand.test.js +0 -133
- package/dist/src/ui/commands/policiesCommand.test.js.map +0 -1
- package/dist/src/ui/commands/privacyCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/privacyCommand.test.js +0 -32
- package/dist/src/ui/commands/privacyCommand.test.js.map +0 -1
- package/dist/src/ui/commands/quitCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/quitCommand.test.js +0 -95
- package/dist/src/ui/commands/quitCommand.test.js.map +0 -1
- package/dist/src/ui/commands/restoreCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/restoreCommand.test.js +0 -193
- package/dist/src/ui/commands/restoreCommand.test.js.map +0 -1
- package/dist/src/ui/commands/resumeCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/resumeCommand.test.js +0 -28
- package/dist/src/ui/commands/resumeCommand.test.js.map +0 -1
- package/dist/src/ui/commands/rewindCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/rewindCommand.test.js +0 -256
- package/dist/src/ui/commands/rewindCommand.test.js.map +0 -1
- package/dist/src/ui/commands/settingsCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/settingsCommand.test.js +0 -30
- package/dist/src/ui/commands/settingsCommand.test.js.map +0 -1
- package/dist/src/ui/commands/setupGithubCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/setupGithubCommand.test.js +0 -238
- package/dist/src/ui/commands/setupGithubCommand.test.js.map +0 -1
- package/dist/src/ui/commands/skillsCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/skillsCommand.test.js +0 -500
- package/dist/src/ui/commands/skillsCommand.test.js.map +0 -1
- package/dist/src/ui/commands/statsCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/statsCommand.test.js +0 -122
- package/dist/src/ui/commands/statsCommand.test.js.map +0 -1
- package/dist/src/ui/commands/tasksCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/tasksCommand.test.js +0 -30
- package/dist/src/ui/commands/tasksCommand.test.js.map +0 -1
- package/dist/src/ui/commands/terminalSetupCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/terminalSetupCommand.test.js +0 -66
- package/dist/src/ui/commands/terminalSetupCommand.test.js.map +0 -1
- package/dist/src/ui/commands/themeCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/themeCommand.test.js +0 -32
- package/dist/src/ui/commands/themeCommand.test.js.map +0 -1
- package/dist/src/ui/commands/toolsCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/toolsCommand.test.js +0 -187
- package/dist/src/ui/commands/toolsCommand.test.js.map +0 -1
- package/dist/src/ui/commands/upgradeCommand.test.d.ts +0 -6
- package/dist/src/ui/commands/upgradeCommand.test.js +0 -102
- package/dist/src/ui/commands/upgradeCommand.test.js.map +0 -1
- package/dist/src/ui/components/AboutBox.test.d.ts +0 -6
- package/dist/src/ui/components/AboutBox.test.js +0 -63
- package/dist/src/ui/components/AboutBox.test.js.map +0 -1
- package/dist/src/ui/components/AdminSettingsChangedDialog.test.d.ts +0 -6
- package/dist/src/ui/components/AdminSettingsChangedDialog.test.js +0 -43
- package/dist/src/ui/components/AdminSettingsChangedDialog.test.js.map +0 -1
- package/dist/src/ui/components/AgentConfigDialog.test.d.ts +0 -6
- package/dist/src/ui/components/AgentConfigDialog.test.js +0 -267
- package/dist/src/ui/components/AgentConfigDialog.test.js.map +0 -1
- package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js +0 -196
- package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js.map +0 -1
- package/dist/src/ui/components/AnsiOutput.test.d.ts +0 -6
- package/dist/src/ui/components/AnsiOutput.test.js +0 -142
- package/dist/src/ui/components/AnsiOutput.test.js.map +0 -1
- package/dist/src/ui/components/AppHeader.test.d.ts +0 -6
- package/dist/src/ui/components/AppHeader.test.js +0 -212
- package/dist/src/ui/components/AppHeader.test.js.map +0 -1
- package/dist/src/ui/components/AppHeaderIcon.test.d.ts +0 -6
- package/dist/src/ui/components/AppHeaderIcon.test.js +0 -39
- package/dist/src/ui/components/AppHeaderIcon.test.js.map +0 -1
- package/dist/src/ui/components/ApprovalModeIndicator.test.d.ts +0 -6
- package/dist/src/ui/components/ApprovalModeIndicator.test.js +0 -37
- package/dist/src/ui/components/ApprovalModeIndicator.test.js.map +0 -1
- package/dist/src/ui/components/AskUserDialog.test.d.ts +0 -6
- package/dist/src/ui/components/AskUserDialog.test.js +0 -1121
- package/dist/src/ui/components/AskUserDialog.test.js.map +0 -1
- package/dist/src/ui/components/BackgroundTaskDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/BackgroundTaskDisplay.test.js +0 -209
- package/dist/src/ui/components/BackgroundTaskDisplay.test.js.map +0 -1
- package/dist/src/ui/components/Banner.test.d.ts +0 -6
- package/dist/src/ui/components/Banner.test.js +0 -29
- package/dist/src/ui/components/Banner.test.js.map +0 -1
- package/dist/src/ui/components/BubblingRegression.test.d.ts +0 -6
- package/dist/src/ui/components/BubblingRegression.test.js +0 -60
- package/dist/src/ui/components/BubblingRegression.test.js.map +0 -1
- package/dist/src/ui/components/Checklist.test.d.ts +0 -6
- package/dist/src/ui/components/Checklist.test.js +0 -46
- package/dist/src/ui/components/Checklist.test.js.map +0 -1
- package/dist/src/ui/components/ChecklistItem.test.d.ts +0 -6
- package/dist/src/ui/components/ChecklistItem.test.js +0 -40
- package/dist/src/ui/components/ChecklistItem.test.js.map +0 -1
- package/dist/src/ui/components/CliSpinner.test.d.ts +0 -6
- package/dist/src/ui/components/CliSpinner.test.js +0 -32
- package/dist/src/ui/components/CliSpinner.test.js.map +0 -1
- package/dist/src/ui/components/ColorsDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/ColorsDisplay.test.js +0 -107
- package/dist/src/ui/components/ColorsDisplay.test.js.map +0 -1
- package/dist/src/ui/components/Composer.test.d.ts +0 -6
- package/dist/src/ui/components/Composer.test.js +0 -853
- package/dist/src/ui/components/Composer.test.js.map +0 -1
- package/dist/src/ui/components/ConfigInitDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/ConfigInitDisplay.test.js +0 -118
- package/dist/src/ui/components/ConfigInitDisplay.test.js.map +0 -1
- package/dist/src/ui/components/ConsentPrompt.test.d.ts +0 -6
- package/dist/src/ui/components/ConsentPrompt.test.js +0 -80
- package/dist/src/ui/components/ConsentPrompt.test.js.map +0 -1
- package/dist/src/ui/components/ConsoleSummaryDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/ConsoleSummaryDisplay.test.js +0 -28
- package/dist/src/ui/components/ConsoleSummaryDisplay.test.js.map +0 -1
- package/dist/src/ui/components/ContextSummaryDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/ContextSummaryDisplay.test.js +0 -81
- package/dist/src/ui/components/ContextSummaryDisplay.test.js.map +0 -1
- package/dist/src/ui/components/ContextUsageDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/ContextUsageDisplay.test.js +0 -50
- package/dist/src/ui/components/ContextUsageDisplay.test.js.map +0 -1
- package/dist/src/ui/components/CopyModeWarning.test.d.ts +0 -6
- package/dist/src/ui/components/CopyModeWarning.test.js +0 -35
- package/dist/src/ui/components/CopyModeWarning.test.js.map +0 -1
- package/dist/src/ui/components/DebugProfiler.test.d.ts +0 -6
- package/dist/src/ui/components/DebugProfiler.test.js +0 -228
- package/dist/src/ui/components/DebugProfiler.test.js.map +0 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/DetailedMessagesDisplay.test.js +0 -81
- package/dist/src/ui/components/DetailedMessagesDisplay.test.js.map +0 -1
- package/dist/src/ui/components/DialogManager.test.d.ts +0 -6
- package/dist/src/ui/components/DialogManager.test.js +0 -187
- package/dist/src/ui/components/DialogManager.test.js.map +0 -1
- package/dist/src/ui/components/EditorSettingsDialog.test.d.ts +0 -6
- package/dist/src/ui/components/EditorSettingsDialog.test.js +0 -145
- package/dist/src/ui/components/EditorSettingsDialog.test.js.map +0 -1
- package/dist/src/ui/components/EmptyWalletDialog.test.d.ts +0 -6
- package/dist/src/ui/components/EmptyWalletDialog.test.js +0 -116
- package/dist/src/ui/components/EmptyWalletDialog.test.js.map +0 -1
- package/dist/src/ui/components/ExitPlanModeDialog.test.d.ts +0 -6
- package/dist/src/ui/components/ExitPlanModeDialog.test.js +0 -443
- package/dist/src/ui/components/ExitPlanModeDialog.test.js.map +0 -1
- package/dist/src/ui/components/ExitWarning.test.d.ts +0 -6
- package/dist/src/ui/components/ExitWarning.test.js +0 -58
- package/dist/src/ui/components/ExitWarning.test.js.map +0 -1
- package/dist/src/ui/components/FolderTrustDialog.test.d.ts +0 -6
- package/dist/src/ui/components/FolderTrustDialog.test.js +0 -342
- package/dist/src/ui/components/FolderTrustDialog.test.js.map +0 -1
- package/dist/src/ui/components/Footer.test.d.ts +0 -6
- package/dist/src/ui/components/Footer.test.js +0 -806
- package/dist/src/ui/components/Footer.test.js.map +0 -1
- package/dist/src/ui/components/FooterConfigDialog.test.d.ts +0 -6
- package/dist/src/ui/components/FooterConfigDialog.test.js +0 -191
- package/dist/src/ui/components/FooterConfigDialog.test.js.map +0 -1
- package/dist/src/ui/components/GeminiRespondingSpinner.test.d.ts +0 -6
- package/dist/src/ui/components/GeminiRespondingSpinner.test.js +0 -63
- package/dist/src/ui/components/GeminiRespondingSpinner.test.js.map +0 -1
- package/dist/src/ui/components/GradientRegression.test.d.ts +0 -6
- package/dist/src/ui/components/GradientRegression.test.js +0 -116
- package/dist/src/ui/components/GradientRegression.test.js.map +0 -1
- package/dist/src/ui/components/Header.test.d.ts +0 -6
- package/dist/src/ui/components/Header.test.js +0 -131
- package/dist/src/ui/components/Header.test.js.map +0 -1
- package/dist/src/ui/components/Help.test.d.ts +0 -6
- package/dist/src/ui/components/Help.test.js +0 -67
- package/dist/src/ui/components/Help.test.js.map +0 -1
- package/dist/src/ui/components/HistoryItemDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/HistoryItemDisplay.test.js +0 -302
- package/dist/src/ui/components/HistoryItemDisplay.test.js.map +0 -1
- package/dist/src/ui/components/HookStatusDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/HookStatusDisplay.test.js +0 -77
- package/dist/src/ui/components/HookStatusDisplay.test.js.map +0 -1
- package/dist/src/ui/components/HooksDialog.test.d.ts +0 -6
- package/dist/src/ui/components/HooksDialog.test.js +0 -175
- package/dist/src/ui/components/HooksDialog.test.js.map +0 -1
- package/dist/src/ui/components/IdeTrustChangeDialog.test.d.ts +0 -6
- package/dist/src/ui/components/IdeTrustChangeDialog.test.js +0 -78
- package/dist/src/ui/components/IdeTrustChangeDialog.test.js.map +0 -1
- package/dist/src/ui/components/InboxDialog.test.d.ts +0 -6
- package/dist/src/ui/components/InboxDialog.test.js +0 -804
- package/dist/src/ui/components/InboxDialog.test.js.map +0 -1
- package/dist/src/ui/components/InputPrompt.test.d.ts +0 -17
- package/dist/src/ui/components/InputPrompt.test.js +0 -4078
- package/dist/src/ui/components/InputPrompt.test.js.map +0 -1
- package/dist/src/ui/components/LoadingIndicator.test.d.ts +0 -6
- package/dist/src/ui/components/LoadingIndicator.test.js +0 -325
- package/dist/src/ui/components/LoadingIndicator.test.js.map +0 -1
- package/dist/src/ui/components/LogoutConfirmationDialog.test.d.ts +0 -6
- package/dist/src/ui/components/LogoutConfirmationDialog.test.js +0 -74
- package/dist/src/ui/components/LogoutConfirmationDialog.test.js.map +0 -1
- package/dist/src/ui/components/LoopDetectionConfirmation.test.d.ts +0 -6
- package/dist/src/ui/components/LoopDetectionConfirmation.test.js +0 -27
- package/dist/src/ui/components/LoopDetectionConfirmation.test.js.map +0 -1
- package/dist/src/ui/components/MainContent.test.d.ts +0 -6
- package/dist/src/ui/components/MainContent.test.js +0 -750
- package/dist/src/ui/components/MainContent.test.js.map +0 -1
- package/dist/src/ui/components/MemoryUsageDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/MemoryUsageDisplay.test.js +0 -52
- package/dist/src/ui/components/MemoryUsageDisplay.test.js.map +0 -1
- package/dist/src/ui/components/ModelDialog.test.d.ts +0 -6
- package/dist/src/ui/components/ModelDialog.test.js +0 -356
- package/dist/src/ui/components/ModelDialog.test.js.map +0 -1
- package/dist/src/ui/components/ModelQuotaDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/ModelQuotaDisplay.test.js +0 -62
- package/dist/src/ui/components/ModelQuotaDisplay.test.js.map +0 -1
- package/dist/src/ui/components/ModelStatsDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/ModelStatsDisplay.test.js +0 -651
- package/dist/src/ui/components/ModelStatsDisplay.test.js.map +0 -1
- package/dist/src/ui/components/MultiFolderTrustDialog.test.d.ts +0 -6
- package/dist/src/ui/components/MultiFolderTrustDialog.test.js +0 -177
- package/dist/src/ui/components/MultiFolderTrustDialog.test.js.map +0 -1
- package/dist/src/ui/components/NewAgentsNotification.test.d.ts +0 -6
- package/dist/src/ui/components/NewAgentsNotification.test.js +0 -83
- package/dist/src/ui/components/NewAgentsNotification.test.js.map +0 -1
- package/dist/src/ui/components/Notifications.test.d.ts +0 -6
- package/dist/src/ui/components/Notifications.test.js +0 -285
- package/dist/src/ui/components/Notifications.test.js.map +0 -1
- package/dist/src/ui/components/OverageMenuDialog.test.d.ts +0 -6
- package/dist/src/ui/components/OverageMenuDialog.test.js +0 -118
- package/dist/src/ui/components/OverageMenuDialog.test.js.map +0 -1
- package/dist/src/ui/components/PermissionsModifyTrustDialog.test.d.ts +0 -6
- package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +0 -181
- package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +0 -1
- package/dist/src/ui/components/PolicyUpdateDialog.test.d.ts +0 -6
- package/dist/src/ui/components/PolicyUpdateDialog.test.js +0 -92
- package/dist/src/ui/components/PolicyUpdateDialog.test.js.map +0 -1
- package/dist/src/ui/components/ProQuotaDialog.test.d.ts +0 -6
- package/dist/src/ui/components/ProQuotaDialog.test.js +0 -222
- package/dist/src/ui/components/ProQuotaDialog.test.js.map +0 -1
- package/dist/src/ui/components/ProgressBar.test.d.ts +0 -6
- package/dist/src/ui/components/ProgressBar.test.js +0 -28
- package/dist/src/ui/components/ProgressBar.test.js.map +0 -1
- package/dist/src/ui/components/QueuedMessageDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/QueuedMessageDisplay.test.js +0 -65
- package/dist/src/ui/components/QueuedMessageDisplay.test.js.map +0 -1
- package/dist/src/ui/components/QuittingDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/QuittingDisplay.test.js +0 -60
- package/dist/src/ui/components/QuittingDisplay.test.js.map +0 -1
- package/dist/src/ui/components/QuotaDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/QuotaDisplay.test.js +0 -68
- package/dist/src/ui/components/QuotaDisplay.test.js.map +0 -1
- package/dist/src/ui/components/RawMarkdownIndicator.test.d.ts +0 -6
- package/dist/src/ui/components/RawMarkdownIndicator.test.js +0 -38
- package/dist/src/ui/components/RawMarkdownIndicator.test.js.map +0 -1
- package/dist/src/ui/components/RewindConfirmation.test.d.ts +0 -6
- package/dist/src/ui/components/RewindConfirmation.test.js +0 -57
- package/dist/src/ui/components/RewindConfirmation.test.js.map +0 -1
- package/dist/src/ui/components/RewindViewer.test.d.ts +0 -6
- package/dist/src/ui/components/RewindViewer.test.js +0 -334
- package/dist/src/ui/components/RewindViewer.test.js.map +0 -1
- package/dist/src/ui/components/SessionBrowser/SessionBrowserSearchNav.test.d.ts +0 -6
- package/dist/src/ui/components/SessionBrowser/SessionBrowserSearchNav.test.js +0 -47
- package/dist/src/ui/components/SessionBrowser/SessionBrowserSearchNav.test.js.map +0 -1
- package/dist/src/ui/components/SessionBrowser/SessionBrowserStates.test.d.ts +0 -6
- package/dist/src/ui/components/SessionBrowser/SessionBrowserStates.test.js +0 -27
- package/dist/src/ui/components/SessionBrowser/SessionBrowserStates.test.js.map +0 -1
- package/dist/src/ui/components/SessionBrowser/utils.test.d.ts +0 -6
- package/dist/src/ui/components/SessionBrowser/utils.test.js +0 -108
- package/dist/src/ui/components/SessionBrowser/utils.test.js.map +0 -1
- package/dist/src/ui/components/SessionBrowser.test.d.ts +0 -6
- package/dist/src/ui/components/SessionBrowser.test.js +0 -266
- package/dist/src/ui/components/SessionBrowser.test.js.map +0 -1
- package/dist/src/ui/components/SessionSummaryDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/SessionSummaryDisplay.test.js +0 -164
- package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +0 -1
- package/dist/src/ui/components/SettingsDialog.test.d.ts +0 -6
- package/dist/src/ui/components/SettingsDialog.test.js +0 -1499
- package/dist/src/ui/components/SettingsDialog.test.js.map +0 -1
- package/dist/src/ui/components/ShellInputPrompt.test.d.ts +0 -6
- package/dist/src/ui/components/ShellInputPrompt.test.js +0 -201
- package/dist/src/ui/components/ShellInputPrompt.test.js.map +0 -1
- package/dist/src/ui/components/ShellModeIndicator.test.d.ts +0 -6
- package/dist/src/ui/components/ShellModeIndicator.test.js +0 -18
- package/dist/src/ui/components/ShellModeIndicator.test.js.map +0 -1
- package/dist/src/ui/components/ShortcutsHelp.test.d.ts +0 -6
- package/dist/src/ui/components/ShortcutsHelp.test.js +0 -45
- package/dist/src/ui/components/ShortcutsHelp.test.js.map +0 -1
- package/dist/src/ui/components/ShowMoreLines.test.d.ts +0 -6
- package/dist/src/ui/components/ShowMoreLines.test.js +0 -79
- package/dist/src/ui/components/ShowMoreLines.test.js.map +0 -1
- package/dist/src/ui/components/ShowMoreLinesLayout.test.d.ts +0 -1
- package/dist/src/ui/components/ShowMoreLinesLayout.test.js +0 -68
- package/dist/src/ui/components/ShowMoreLinesLayout.test.js.map +0 -1
- package/dist/src/ui/components/StatsDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/StatsDisplay.test.js +0 -489
- package/dist/src/ui/components/StatsDisplay.test.js.map +0 -1
- package/dist/src/ui/components/StatusDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/StatusDisplay.test.js +0 -117
- package/dist/src/ui/components/StatusDisplay.test.js.map +0 -1
- package/dist/src/ui/components/StatusRow.test.d.ts +0 -6
- package/dist/src/ui/components/StatusRow.test.js +0 -99
- package/dist/src/ui/components/StatusRow.test.js.map +0 -1
- package/dist/src/ui/components/StickyHeader.test.d.ts +0 -6
- package/dist/src/ui/components/StickyHeader.test.js +0 -19
- package/dist/src/ui/components/StickyHeader.test.js.map +0 -1
- package/dist/src/ui/components/SuggestionsDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/SuggestionsDisplay.test.js +0 -82
- package/dist/src/ui/components/SuggestionsDisplay.test.js.map +0 -1
- package/dist/src/ui/components/Table.test.d.ts +0 -6
- package/dist/src/ui/components/Table.test.js +0 -72
- package/dist/src/ui/components/Table.test.js.map +0 -1
- package/dist/src/ui/components/ThemeDialog.test.d.ts +0 -6
- package/dist/src/ui/components/ThemeDialog.test.js +0 -162
- package/dist/src/ui/components/ThemeDialog.test.js.map +0 -1
- package/dist/src/ui/components/ThemedGradient.test.d.ts +0 -6
- package/dist/src/ui/components/ThemedGradient.test.js +0 -35
- package/dist/src/ui/components/ThemedGradient.test.js.map +0 -1
- package/dist/src/ui/components/Tips.test.d.ts +0 -6
- package/dist/src/ui/components/Tips.test.js +0 -23
- package/dist/src/ui/components/Tips.test.js.map +0 -1
- package/dist/src/ui/components/ToastDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/ToastDisplay.test.js +0 -167
- package/dist/src/ui/components/ToastDisplay.test.js.map +0 -1
- package/dist/src/ui/components/ToolConfirmationQueue.test.d.ts +0 -6
- package/dist/src/ui/components/ToolConfirmationQueue.test.js +0 -444
- package/dist/src/ui/components/ToolConfirmationQueue.test.js.map +0 -1
- package/dist/src/ui/components/ToolStatsDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/ToolStatsDisplay.test.js +0 -234
- package/dist/src/ui/components/ToolStatsDisplay.test.js.map +0 -1
- package/dist/src/ui/components/UpdateNotification.test.d.ts +0 -6
- package/dist/src/ui/components/UpdateNotification.test.js +0 -17
- package/dist/src/ui/components/UpdateNotification.test.js.map +0 -1
- package/dist/src/ui/components/UserIdentity.test.d.ts +0 -6
- package/dist/src/ui/components/UserIdentity.test.js +0 -138
- package/dist/src/ui/components/UserIdentity.test.js.map +0 -1
- package/dist/src/ui/components/ValidationDialog.test.d.ts +0 -6
- package/dist/src/ui/components/ValidationDialog.test.js +0 -162
- package/dist/src/ui/components/ValidationDialog.test.js.map +0 -1
- package/dist/src/ui/components/VoiceModelDialog.test.d.ts +0 -6
- package/dist/src/ui/components/VoiceModelDialog.test.js +0 -68
- package/dist/src/ui/components/VoiceModelDialog.test.js.map +0 -1
- package/dist/src/ui/components/messages/CompressionMessage.test.d.ts +0 -6
- package/dist/src/ui/components/messages/CompressionMessage.test.js +0 -180
- package/dist/src/ui/components/messages/CompressionMessage.test.js.map +0 -1
- package/dist/src/ui/components/messages/DenseToolMessage.test.d.ts +0 -6
- package/dist/src/ui/components/messages/DenseToolMessage.test.js +0 -406
- package/dist/src/ui/components/messages/DenseToolMessage.test.js.map +0 -1
- package/dist/src/ui/components/messages/DiffRenderer.test.d.ts +0 -6
- package/dist/src/ui/components/messages/DiffRenderer.test.js +0 -269
- package/dist/src/ui/components/messages/DiffRenderer.test.js.map +0 -1
- package/dist/src/ui/components/messages/ErrorMessage.test.d.ts +0 -6
- package/dist/src/ui/components/messages/ErrorMessage.test.js +0 -25
- package/dist/src/ui/components/messages/ErrorMessage.test.js.map +0 -1
- package/dist/src/ui/components/messages/ExportSessionMessage.test.d.ts +0 -6
- package/dist/src/ui/components/messages/ExportSessionMessage.test.js +0 -32
- package/dist/src/ui/components/messages/ExportSessionMessage.test.js.map +0 -1
- package/dist/src/ui/components/messages/GeminiMessage.test.d.ts +0 -6
- package/dist/src/ui/components/messages/GeminiMessage.test.js +0 -46
- package/dist/src/ui/components/messages/GeminiMessage.test.js.map +0 -1
- package/dist/src/ui/components/messages/HintMessage.test.d.ts +0 -6
- package/dist/src/ui/components/messages/HintMessage.test.js +0 -42
- package/dist/src/ui/components/messages/HintMessage.test.js.map +0 -1
- package/dist/src/ui/components/messages/InfoMessage.test.d.ts +0 -6
- package/dist/src/ui/components/messages/InfoMessage.test.js +0 -31
- package/dist/src/ui/components/messages/InfoMessage.test.js.map +0 -1
- package/dist/src/ui/components/messages/RedirectionConfirmation.test.d.ts +0 -6
- package/dist/src/ui/components/messages/RedirectionConfirmation.test.js +0 -35
- package/dist/src/ui/components/messages/RedirectionConfirmation.test.js.map +0 -1
- package/dist/src/ui/components/messages/ShellToolMessage.test.d.ts +0 -6
- package/dist/src/ui/components/messages/ShellToolMessage.test.js +0 -290
- package/dist/src/ui/components/messages/ShellToolMessage.test.js.map +0 -1
- package/dist/src/ui/components/messages/SubagentGroupDisplay.test.d.ts +0 -1
- package/dist/src/ui/components/messages/SubagentGroupDisplay.test.js +0 -92
- package/dist/src/ui/components/messages/SubagentGroupDisplay.test.js.map +0 -1
- package/dist/src/ui/components/messages/SubagentHistoryMessage.test.d.ts +0 -6
- package/dist/src/ui/components/messages/SubagentHistoryMessage.test.js +0 -69
- package/dist/src/ui/components/messages/SubagentHistoryMessage.test.js.map +0 -1
- package/dist/src/ui/components/messages/SubagentProgressDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/messages/SubagentProgressDisplay.test.js +0 -164
- package/dist/src/ui/components/messages/SubagentProgressDisplay.test.js.map +0 -1
- package/dist/src/ui/components/messages/ThinkingMessage.test.d.ts +0 -6
- package/dist/src/ui/components/messages/ThinkingMessage.test.js +0 -104
- package/dist/src/ui/components/messages/ThinkingMessage.test.js.map +0 -1
- package/dist/src/ui/components/messages/Todo.test.d.ts +0 -6
- package/dist/src/ui/components/messages/Todo.test.js +0 -129
- package/dist/src/ui/components/messages/Todo.test.js.map +0 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.d.ts +0 -6
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +0 -558
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +0 -1
- package/dist/src/ui/components/messages/ToolGroupDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/messages/ToolGroupDisplay.test.js +0 -210
- package/dist/src/ui/components/messages/ToolGroupDisplay.test.js.map +0 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.compact.test.d.ts +0 -6
- package/dist/src/ui/components/messages/ToolGroupMessage.compact.test.js +0 -147
- package/dist/src/ui/components/messages/ToolGroupMessage.compact.test.js.map +0 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.test.d.ts +0 -6
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js +0 -828
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +0 -1
- package/dist/src/ui/components/messages/ToolGroupMessageRegression.test.d.ts +0 -6
- package/dist/src/ui/components/messages/ToolGroupMessageRegression.test.js +0 -101
- package/dist/src/ui/components/messages/ToolGroupMessageRegression.test.js.map +0 -1
- package/dist/src/ui/components/messages/ToolMessage.test.d.ts +0 -6
- package/dist/src/ui/components/messages/ToolMessage.test.js +0 -292
- package/dist/src/ui/components/messages/ToolMessage.test.js.map +0 -1
- package/dist/src/ui/components/messages/ToolMessageFocusHint.test.d.ts +0 -6
- package/dist/src/ui/components/messages/ToolMessageFocusHint.test.js +0 -96
- package/dist/src/ui/components/messages/ToolMessageFocusHint.test.js.map +0 -1
- package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.d.ts +0 -6
- package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.js +0 -72
- package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.js.map +0 -1
- package/dist/src/ui/components/messages/ToolOverflowConsistencyChecks.test.d.ts +0 -6
- package/dist/src/ui/components/messages/ToolOverflowConsistencyChecks.test.js +0 -88
- package/dist/src/ui/components/messages/ToolOverflowConsistencyChecks.test.js.map +0 -1
- package/dist/src/ui/components/messages/ToolResultDisplay.test.d.ts +0 -6
- package/dist/src/ui/components/messages/ToolResultDisplay.test.js +0 -333
- package/dist/src/ui/components/messages/ToolResultDisplay.test.js.map +0 -1
- package/dist/src/ui/components/messages/ToolResultDisplayOverflow.test.d.ts +0 -6
- package/dist/src/ui/components/messages/ToolResultDisplayOverflow.test.js +0 -77
- package/dist/src/ui/components/messages/ToolResultDisplayOverflow.test.js.map +0 -1
- package/dist/src/ui/components/messages/ToolShared.test.d.ts +0 -6
- package/dist/src/ui/components/messages/ToolShared.test.js +0 -65
- package/dist/src/ui/components/messages/ToolShared.test.js.map +0 -1
- package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.d.ts +0 -6
- package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.js +0 -142
- package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.js.map +0 -1
- package/dist/src/ui/components/messages/TopicMessage.test.d.ts +0 -6
- package/dist/src/ui/components/messages/TopicMessage.test.js +0 -77
- package/dist/src/ui/components/messages/TopicMessage.test.js.map +0 -1
- package/dist/src/ui/components/messages/UserMessage.test.d.ts +0 -6
- package/dist/src/ui/components/messages/UserMessage.test.js +0 -67
- package/dist/src/ui/components/messages/UserMessage.test.js.map +0 -1
- package/dist/src/ui/components/messages/UserShellMessage.test.d.ts +0 -6
- package/dist/src/ui/components/messages/UserShellMessage.test.js +0 -40
- package/dist/src/ui/components/messages/UserShellMessage.test.js.map +0 -1
- package/dist/src/ui/components/messages/WarningMessage.test.d.ts +0 -6
- package/dist/src/ui/components/messages/WarningMessage.test.js +0 -25
- package/dist/src/ui/components/messages/WarningMessage.test.js.map +0 -1
- package/dist/src/ui/components/shared/BaseSelectionList.test.d.ts +0 -6
- package/dist/src/ui/components/shared/BaseSelectionList.test.js +0 -441
- package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +0 -1
- package/dist/src/ui/components/shared/BaseSettingsDialog.test.d.ts +0 -6
- package/dist/src/ui/components/shared/BaseSettingsDialog.test.js +0 -710
- package/dist/src/ui/components/shared/BaseSettingsDialog.test.js.map +0 -1
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.d.ts +0 -6
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js +0 -89
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js.map +0 -1
- package/dist/src/ui/components/shared/EnumSelector.test.d.ts +0 -6
- package/dist/src/ui/components/shared/EnumSelector.test.js +0 -83
- package/dist/src/ui/components/shared/EnumSelector.test.js.map +0 -1
- package/dist/src/ui/components/shared/ExpandableText.test.d.ts +0 -6
- package/dist/src/ui/components/shared/ExpandableText.test.js +0 -95
- package/dist/src/ui/components/shared/ExpandableText.test.js.map +0 -1
- package/dist/src/ui/components/shared/HalfLinePaddedBox.test.d.ts +0 -1
- package/dist/src/ui/components/shared/HalfLinePaddedBox.test.js +0 -47
- package/dist/src/ui/components/shared/HalfLinePaddedBox.test.js.map +0 -1
- package/dist/src/ui/components/shared/MaxSizedBox.test.d.ts +0 -6
- package/dist/src/ui/components/shared/MaxSizedBox.test.js +0 -161
- package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +0 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.test.d.ts +0 -6
- package/dist/src/ui/components/shared/RadioButtonSelect.test.js +0 -146
- package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +0 -1
- package/dist/src/ui/components/shared/Scrollable.test.d.ts +0 -6
- package/dist/src/ui/components/shared/Scrollable.test.js +0 -143
- package/dist/src/ui/components/shared/Scrollable.test.js.map +0 -1
- package/dist/src/ui/components/shared/ScrollableList.test.d.ts +0 -6
- package/dist/src/ui/components/shared/ScrollableList.test.js +0 -438
- package/dist/src/ui/components/shared/ScrollableList.test.js.map +0 -1
- package/dist/src/ui/components/shared/SearchableList.test.d.ts +0 -6
- package/dist/src/ui/components/shared/SearchableList.test.js +0 -169
- package/dist/src/ui/components/shared/SearchableList.test.js.map +0 -1
- package/dist/src/ui/components/shared/SectionHeader.test.d.ts +0 -6
- package/dist/src/ui/components/shared/SectionHeader.test.js +0 -42
- package/dist/src/ui/components/shared/SectionHeader.test.js.map +0 -1
- package/dist/src/ui/components/shared/SlicingMaxSizedBox.test.d.ts +0 -6
- package/dist/src/ui/components/shared/SlicingMaxSizedBox.test.js +0 -54
- package/dist/src/ui/components/shared/SlicingMaxSizedBox.test.js.map +0 -1
- package/dist/src/ui/components/shared/TabHeader.test.d.ts +0 -6
- package/dist/src/ui/components/shared/TabHeader.test.js +0 -144
- package/dist/src/ui/components/shared/TabHeader.test.js.map +0 -1
- package/dist/src/ui/components/shared/TextInput.test.d.ts +0 -6
- package/dist/src/ui/components/shared/TextInput.test.js +0 -353
- package/dist/src/ui/components/shared/TextInput.test.js.map +0 -1
- package/dist/src/ui/components/shared/VirtualizedList.test.d.ts +0 -6
- package/dist/src/ui/components/shared/VirtualizedList.test.js +0 -174
- package/dist/src/ui/components/shared/VirtualizedList.test.js.map +0 -1
- package/dist/src/ui/components/shared/performance.test.d.ts +0 -1
- package/dist/src/ui/components/shared/performance.test.js +0 -74
- package/dist/src/ui/components/shared/performance.test.js.map +0 -1
- package/dist/src/ui/components/shared/text-buffer.test.d.ts +0 -6
- package/dist/src/ui/components/shared/text-buffer.test.js +0 -2965
- package/dist/src/ui/components/shared/text-buffer.test.js.map +0 -1
- package/dist/src/ui/components/shared/vim-buffer-actions.test.d.ts +0 -6
- package/dist/src/ui/components/shared/vim-buffer-actions.test.js +0 -2272
- package/dist/src/ui/components/shared/vim-buffer-actions.test.js.map +0 -1
- package/dist/src/ui/components/views/ChatList.test.d.ts +0 -6
- package/dist/src/ui/components/views/ChatList.test.js +0 -45
- package/dist/src/ui/components/views/ChatList.test.js.map +0 -1
- package/dist/src/ui/components/views/ExtensionDetails.test.d.ts +0 -6
- package/dist/src/ui/components/views/ExtensionDetails.test.js +0 -154
- package/dist/src/ui/components/views/ExtensionDetails.test.js.map +0 -1
- package/dist/src/ui/components/views/ExtensionRegistryView.test.d.ts +0 -6
- package/dist/src/ui/components/views/ExtensionRegistryView.test.js +0 -222
- package/dist/src/ui/components/views/ExtensionRegistryView.test.js.map +0 -1
- package/dist/src/ui/components/views/ExtensionsList.test.d.ts +0 -6
- package/dist/src/ui/components/views/ExtensionsList.test.js +0 -145
- package/dist/src/ui/components/views/ExtensionsList.test.js.map +0 -1
- package/dist/src/ui/components/views/McpStatus.test.d.ts +0 -6
- package/dist/src/ui/components/views/McpStatus.test.js +0 -174
- package/dist/src/ui/components/views/McpStatus.test.js.map +0 -1
- package/dist/src/ui/components/views/SkillsList.test.d.ts +0 -6
- package/dist/src/ui/components/views/SkillsList.test.js +0 -99
- package/dist/src/ui/components/views/SkillsList.test.js.map +0 -1
- package/dist/src/ui/components/views/ToolsList.test.d.ts +0 -6
- package/dist/src/ui/components/views/ToolsList.test.js +0 -45
- package/dist/src/ui/components/views/ToolsList.test.js.map +0 -1
- package/dist/src/ui/contexts/KeypressContext.test.d.ts +0 -6
- package/dist/src/ui/contexts/KeypressContext.test.js +0 -1133
- package/dist/src/ui/contexts/KeypressContext.test.js.map +0 -1
- package/dist/src/ui/contexts/MouseContext.test.d.ts +0 -6
- package/dist/src/ui/contexts/MouseContext.test.js +0 -269
- package/dist/src/ui/contexts/MouseContext.test.js.map +0 -1
- package/dist/src/ui/contexts/ScrollProvider.drag.test.d.ts +0 -6
- package/dist/src/ui/contexts/ScrollProvider.drag.test.js +0 -320
- package/dist/src/ui/contexts/ScrollProvider.drag.test.js.map +0 -1
- package/dist/src/ui/contexts/ScrollProvider.test.d.ts +0 -6
- package/dist/src/ui/contexts/ScrollProvider.test.js +0 -478
- package/dist/src/ui/contexts/ScrollProvider.test.js.map +0 -1
- package/dist/src/ui/contexts/SessionContext.test.d.ts +0 -6
- package/dist/src/ui/contexts/SessionContext.test.js +0 -213
- package/dist/src/ui/contexts/SessionContext.test.js.map +0 -1
- package/dist/src/ui/contexts/SettingsContext.test.d.ts +0 -6
- package/dist/src/ui/contexts/SettingsContext.test.js +0 -106
- package/dist/src/ui/contexts/SettingsContext.test.js.map +0 -1
- package/dist/src/ui/contexts/TerminalContext.test.d.ts +0 -6
- package/dist/src/ui/contexts/TerminalContext.test.js +0 -75
- package/dist/src/ui/contexts/TerminalContext.test.js.map +0 -1
- package/dist/src/ui/contexts/ToolActionsContext.test.d.ts +0 -6
- package/dist/src/ui/contexts/ToolActionsContext.test.js +0 -247
- package/dist/src/ui/contexts/ToolActionsContext.test.js.map +0 -1
- package/dist/src/ui/hooks/atCommandProcessor.test.d.ts +0 -6
- package/dist/src/ui/hooks/atCommandProcessor.test.js +0 -1265
- package/dist/src/ui/hooks/atCommandProcessor.test.js.map +0 -1
- package/dist/src/ui/hooks/atCommandProcessor_agents.test.d.ts +0 -6
- package/dist/src/ui/hooks/atCommandProcessor_agents.test.js +0 -210
- package/dist/src/ui/hooks/atCommandProcessor_agents.test.js.map +0 -1
- package/dist/src/ui/hooks/creditsFlowHandler.test.d.ts +0 -6
- package/dist/src/ui/hooks/creditsFlowHandler.test.js +0 -211
- package/dist/src/ui/hooks/creditsFlowHandler.test.js.map +0 -1
- package/dist/src/ui/hooks/shell-completions/gitProvider.test.d.ts +0 -6
- package/dist/src/ui/hooks/shell-completions/gitProvider.test.js +0 -73
- package/dist/src/ui/hooks/shell-completions/gitProvider.test.js.map +0 -1
- package/dist/src/ui/hooks/shell-completions/npmProvider.test.d.ts +0 -6
- package/dist/src/ui/hooks/shell-completions/npmProvider.test.js +0 -69
- package/dist/src/ui/hooks/shell-completions/npmProvider.test.js.map +0 -1
- package/dist/src/ui/hooks/shellReducer.test.d.ts +0 -6
- package/dist/src/ui/hooks/shellReducer.test.js +0 -341
- package/dist/src/ui/hooks/shellReducer.test.js.map +0 -1
- package/dist/src/ui/hooks/slashCommandProcessor.test.d.ts +0 -6
- package/dist/src/ui/hooks/slashCommandProcessor.test.js +0 -881
- package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +0 -1
- package/dist/src/ui/hooks/toolMapping.test.d.ts +0 -6
- package/dist/src/ui/hooks/toolMapping.test.js +0 -292
- package/dist/src/ui/hooks/toolMapping.test.js.map +0 -1
- package/dist/src/ui/hooks/useAgentStream.test.d.ts +0 -6
- package/dist/src/ui/hooks/useAgentStream.test.js +0 -161
- package/dist/src/ui/hooks/useAgentStream.test.js.map +0 -1
- package/dist/src/ui/hooks/useAlternateBuffer.test.d.ts +0 -6
- package/dist/src/ui/hooks/useAlternateBuffer.test.js +0 -62
- package/dist/src/ui/hooks/useAlternateBuffer.test.js.map +0 -1
- package/dist/src/ui/hooks/useAnimatedScrollbar.test.d.ts +0 -6
- package/dist/src/ui/hooks/useAnimatedScrollbar.test.js +0 -85
- package/dist/src/ui/hooks/useAnimatedScrollbar.test.js.map +0 -1
- package/dist/src/ui/hooks/useApprovalModeIndicator.test.d.ts +0 -6
- package/dist/src/ui/hooks/useApprovalModeIndicator.test.js +0 -477
- package/dist/src/ui/hooks/useApprovalModeIndicator.test.js.map +0 -1
- package/dist/src/ui/hooks/useAtCompletion.test.d.ts +0 -6
- package/dist/src/ui/hooks/useAtCompletion.test.js +0 -567
- package/dist/src/ui/hooks/useAtCompletion.test.js.map +0 -1
- package/dist/src/ui/hooks/useAtCompletion_agents.test.d.ts +0 -6
- package/dist/src/ui/hooks/useAtCompletion_agents.test.js +0 -87
- package/dist/src/ui/hooks/useAtCompletion_agents.test.js.map +0 -1
- package/dist/src/ui/hooks/useBackgroundTaskManager.test.d.ts +0 -6
- package/dist/src/ui/hooks/useBackgroundTaskManager.test.js +0 -168
- package/dist/src/ui/hooks/useBackgroundTaskManager.test.js.map +0 -1
- package/dist/src/ui/hooks/useBanner.test.d.ts +0 -6
- package/dist/src/ui/hooks/useBanner.test.js +0 -144
- package/dist/src/ui/hooks/useBanner.test.js.map +0 -1
- package/dist/src/ui/hooks/useBatchedScroll.test.d.ts +0 -6
- package/dist/src/ui/hooks/useBatchedScroll.test.js +0 -62
- package/dist/src/ui/hooks/useBatchedScroll.test.js.map +0 -1
- package/dist/src/ui/hooks/useCommandCompletion.test.d.ts +0 -6
- package/dist/src/ui/hooks/useCommandCompletion.test.js +0 -722
- package/dist/src/ui/hooks/useCommandCompletion.test.js.map +0 -1
- package/dist/src/ui/hooks/useConsoleMessages.test.d.ts +0 -6
- package/dist/src/ui/hooks/useConsoleMessages.test.js +0 -201
- package/dist/src/ui/hooks/useConsoleMessages.test.js.map +0 -1
- package/dist/src/ui/hooks/useEditorSettings.test.d.ts +0 -6
- package/dist/src/ui/hooks/useEditorSettings.test.js +0 -179
- package/dist/src/ui/hooks/useEditorSettings.test.js.map +0 -1
- package/dist/src/ui/hooks/useExecutionLifecycle.test.d.ts +0 -6
- package/dist/src/ui/hooks/useExecutionLifecycle.test.js +0 -903
- package/dist/src/ui/hooks/useExecutionLifecycle.test.js.map +0 -1
- package/dist/src/ui/hooks/useExtensionUpdates.test.d.ts +0 -6
- package/dist/src/ui/hooks/useExtensionUpdates.test.js +0 -280
- package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +0 -1
- package/dist/src/ui/hooks/useFlickerDetector.test.d.ts +0 -6
- package/dist/src/ui/hooks/useFlickerDetector.test.js +0 -106
- package/dist/src/ui/hooks/useFlickerDetector.test.js.map +0 -1
- package/dist/src/ui/hooks/useFocus.test.d.ts +0 -6
- package/dist/src/ui/hooks/useFocus.test.js +0 -140
- package/dist/src/ui/hooks/useFocus.test.js.map +0 -1
- package/dist/src/ui/hooks/useFolderTrust.test.d.ts +0 -6
- package/dist/src/ui/hooks/useFolderTrust.test.js +0 -268
- package/dist/src/ui/hooks/useFolderTrust.test.js.map +0 -1
- package/dist/src/ui/hooks/useGeminiStream.test.d.ts +0 -6
- package/dist/src/ui/hooks/useGeminiStream.test.js +0 -2855
- package/dist/src/ui/hooks/useGeminiStream.test.js.map +0 -1
- package/dist/src/ui/hooks/useGitBranchName.test.d.ts +0 -6
- package/dist/src/ui/hooks/useGitBranchName.test.js +0 -237
- package/dist/src/ui/hooks/useGitBranchName.test.js.map +0 -1
- package/dist/src/ui/hooks/useHistoryManager.test.d.ts +0 -6
- package/dist/src/ui/hooks/useHistoryManager.test.js +0 -259
- package/dist/src/ui/hooks/useHistoryManager.test.js.map +0 -1
- package/dist/src/ui/hooks/useHookDisplayState.test.d.ts +0 -6
- package/dist/src/ui/hooks/useHookDisplayState.test.js +0 -200
- package/dist/src/ui/hooks/useHookDisplayState.test.js.map +0 -1
- package/dist/src/ui/hooks/useIdeTrustListener.test.d.ts +0 -6
- package/dist/src/ui/hooks/useIdeTrustListener.test.js +0 -225
- package/dist/src/ui/hooks/useIdeTrustListener.test.js.map +0 -1
- package/dist/src/ui/hooks/useIncludeDirsTrust.test.d.ts +0 -6
- package/dist/src/ui/hooks/useIncludeDirsTrust.test.js +0 -174
- package/dist/src/ui/hooks/useIncludeDirsTrust.test.js.map +0 -1
- package/dist/src/ui/hooks/useInlineEditBuffer.test.d.ts +0 -6
- package/dist/src/ui/hooks/useInlineEditBuffer.test.js +0 -112
- package/dist/src/ui/hooks/useInlineEditBuffer.test.js.map +0 -1
- package/dist/src/ui/hooks/useInputHistory.test.d.ts +0 -6
- package/dist/src/ui/hooks/useInputHistory.test.js +0 -389
- package/dist/src/ui/hooks/useInputHistory.test.js.map +0 -1
- package/dist/src/ui/hooks/useInputHistoryStore.test.d.ts +0 -6
- package/dist/src/ui/hooks/useInputHistoryStore.test.js +0 -238
- package/dist/src/ui/hooks/useInputHistoryStore.test.js.map +0 -1
- package/dist/src/ui/hooks/useKeypress.test.d.ts +0 -6
- package/dist/src/ui/hooks/useKeypress.test.js +0 -198
- package/dist/src/ui/hooks/useKeypress.test.js.map +0 -1
- package/dist/src/ui/hooks/useLoadingIndicator.test.d.ts +0 -6
- package/dist/src/ui/hooks/useLoadingIndicator.test.js +0 -177
- package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +0 -1
- package/dist/src/ui/hooks/useLogger.test.d.ts +0 -6
- package/dist/src/ui/hooks/useLogger.test.js +0 -44
- package/dist/src/ui/hooks/useLogger.test.js.map +0 -1
- package/dist/src/ui/hooks/useMcpStatus.test.d.ts +0 -6
- package/dist/src/ui/hooks/useMcpStatus.test.js +0 -69
- package/dist/src/ui/hooks/useMcpStatus.test.js.map +0 -1
- package/dist/src/ui/hooks/useMemoryMonitor.test.d.ts +0 -6
- package/dist/src/ui/hooks/useMemoryMonitor.test.js +0 -62
- package/dist/src/ui/hooks/useMemoryMonitor.test.js.map +0 -1
- package/dist/src/ui/hooks/useMessageQueue.test.d.ts +0 -6
- package/dist/src/ui/hooks/useMessageQueue.test.js +0 -365
- package/dist/src/ui/hooks/useMessageQueue.test.js.map +0 -1
- package/dist/src/ui/hooks/useModelCommand.test.d.ts +0 -6
- package/dist/src/ui/hooks/useModelCommand.test.js +0 -45
- package/dist/src/ui/hooks/useModelCommand.test.js.map +0 -1
- package/dist/src/ui/hooks/useMouse.test.d.ts +0 -6
- package/dist/src/ui/hooks/useMouse.test.js +0 -52
- package/dist/src/ui/hooks/useMouse.test.js.map +0 -1
- package/dist/src/ui/hooks/useMouseClick.test.d.ts +0 -6
- package/dist/src/ui/hooks/useMouseClick.test.js +0 -68
- package/dist/src/ui/hooks/useMouseClick.test.js.map +0 -1
- package/dist/src/ui/hooks/usePermissionsModifyTrust.test.d.ts +0 -6
- package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js +0 -291
- package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js.map +0 -1
- package/dist/src/ui/hooks/usePhraseCycler.test.d.ts +0 -6
- package/dist/src/ui/hooks/usePhraseCycler.test.js +0 -187
- package/dist/src/ui/hooks/usePhraseCycler.test.js.map +0 -1
- package/dist/src/ui/hooks/usePrivacySettings.test.d.ts +0 -6
- package/dist/src/ui/hooks/usePrivacySettings.test.js +0 -113
- package/dist/src/ui/hooks/usePrivacySettings.test.js.map +0 -1
- package/dist/src/ui/hooks/useQuotaAndFallback.test.d.ts +0 -6
- package/dist/src/ui/hooks/useQuotaAndFallback.test.js +0 -817
- package/dist/src/ui/hooks/useQuotaAndFallback.test.js.map +0 -1
- package/dist/src/ui/hooks/useReverseSearchCompletion.test.d.ts +0 -6
- package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +0 -168
- package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +0 -1
- package/dist/src/ui/hooks/useRewind.test.d.ts +0 -6
- package/dist/src/ui/hooks/useRewind.test.js +0 -100
- package/dist/src/ui/hooks/useRewind.test.js.map +0 -1
- package/dist/src/ui/hooks/useSelectionList.test.d.ts +0 -6
- package/dist/src/ui/hooks/useSelectionList.test.js +0 -960
- package/dist/src/ui/hooks/useSelectionList.test.js.map +0 -1
- package/dist/src/ui/hooks/useSessionBrowser.test.d.ts +0 -6
- package/dist/src/ui/hooks/useSessionBrowser.test.js +0 -277
- package/dist/src/ui/hooks/useSessionBrowser.test.js.map +0 -1
- package/dist/src/ui/hooks/useSessionResume.test.d.ts +0 -6
- package/dist/src/ui/hooks/useSessionResume.test.js +0 -402
- package/dist/src/ui/hooks/useSessionResume.test.js.map +0 -1
- package/dist/src/ui/hooks/useSettingsNavigation.test.d.ts +0 -6
- package/dist/src/ui/hooks/useSettingsNavigation.test.js +0 -87
- package/dist/src/ui/hooks/useSettingsNavigation.test.js.map +0 -1
- package/dist/src/ui/hooks/useShellCompletion.test.d.ts +0 -6
- package/dist/src/ui/hooks/useShellCompletion.test.js +0 -354
- package/dist/src/ui/hooks/useShellCompletion.test.js.map +0 -1
- package/dist/src/ui/hooks/useShellHistory.test.d.ts +0 -6
- package/dist/src/ui/hooks/useShellHistory.test.js +0 -226
- package/dist/src/ui/hooks/useShellHistory.test.js.map +0 -1
- package/dist/src/ui/hooks/useShellInactivityStatus.test.d.ts +0 -6
- package/dist/src/ui/hooks/useShellInactivityStatus.test.js +0 -84
- package/dist/src/ui/hooks/useShellInactivityStatus.test.js.map +0 -1
- package/dist/src/ui/hooks/useSlashCompletion.test.d.ts +0 -10
- package/dist/src/ui/hooks/useSlashCompletion.test.js +0 -977
- package/dist/src/ui/hooks/useSlashCompletion.test.js.map +0 -1
- package/dist/src/ui/hooks/useSnowfall.test.d.ts +0 -6
- package/dist/src/ui/hooks/useSnowfall.test.js +0 -92
- package/dist/src/ui/hooks/useSnowfall.test.js.map +0 -1
- package/dist/src/ui/hooks/useSuspend.test.d.ts +0 -6
- package/dist/src/ui/hooks/useSuspend.test.js +0 -136
- package/dist/src/ui/hooks/useSuspend.test.js.map +0 -1
- package/dist/src/ui/hooks/useTabbedNavigation.test.d.ts +0 -6
- package/dist/src/ui/hooks/useTabbedNavigation.test.js +0 -243
- package/dist/src/ui/hooks/useTabbedNavigation.test.js.map +0 -1
- package/dist/src/ui/hooks/useTerminalTheme.test.d.ts +0 -6
- package/dist/src/ui/hooks/useTerminalTheme.test.js +0 -169
- package/dist/src/ui/hooks/useTerminalTheme.test.js.map +0 -1
- package/dist/src/ui/hooks/useTimer.test.d.ts +0 -6
- package/dist/src/ui/hooks/useTimer.test.js +0 -119
- package/dist/src/ui/hooks/useTimer.test.js.map +0 -1
- package/dist/src/ui/hooks/useTips.test.d.ts +0 -6
- package/dist/src/ui/hooks/useTips.test.js +0 -33
- package/dist/src/ui/hooks/useTips.test.js.map +0 -1
- package/dist/src/ui/hooks/useToolScheduler.test.d.ts +0 -6
- package/dist/src/ui/hooks/useToolScheduler.test.js +0 -534
- package/dist/src/ui/hooks/useToolScheduler.test.js.map +0 -1
- package/dist/src/ui/hooks/useTurnActivityMonitor.test.d.ts +0 -6
- package/dist/src/ui/hooks/useTurnActivityMonitor.test.js +0 -99
- package/dist/src/ui/hooks/useTurnActivityMonitor.test.js.map +0 -1
- package/dist/src/ui/hooks/vim-passthrough.test.d.ts +0 -6
- package/dist/src/ui/hooks/vim-passthrough.test.js +0 -84
- package/dist/src/ui/hooks/vim-passthrough.test.js.map +0 -1
- package/dist/src/ui/hooks/vim.test.d.ts +0 -6
- package/dist/src/ui/hooks/vim.test.js +0 -2156
- package/dist/src/ui/hooks/vim.test.js.map +0 -1
- package/dist/src/ui/key/keyBindings.test.d.ts +0 -6
- package/dist/src/ui/key/keyBindings.test.js +0 -225
- package/dist/src/ui/key/keyBindings.test.js.map +0 -1
- package/dist/src/ui/key/keyMatchers.test.d.ts +0 -6
- package/dist/src/ui/key/keyMatchers.test.js +0 -524
- package/dist/src/ui/key/keyMatchers.test.js.map +0 -1
- package/dist/src/ui/key/keybindingUtils.test.d.ts +0 -6
- package/dist/src/ui/key/keybindingUtils.test.js +0 -121
- package/dist/src/ui/key/keybindingUtils.test.js.map +0 -1
- package/dist/src/ui/layouts/DefaultAppLayout.test.d.ts +0 -6
- package/dist/src/ui/layouts/DefaultAppLayout.test.js +0 -126
- package/dist/src/ui/layouts/DefaultAppLayout.test.js.map +0 -1
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.d.ts +0 -6
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.js +0 -134
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.js.map +0 -1
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.d.ts +0 -6
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.js +0 -43
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.js.map +0 -1
- package/dist/src/ui/privacy/GeminiPrivacyNotice.test.d.ts +0 -6
- package/dist/src/ui/privacy/GeminiPrivacyNotice.test.js +0 -43
- package/dist/src/ui/privacy/GeminiPrivacyNotice.test.js.map +0 -1
- package/dist/src/ui/privacy/PrivacyNotice.test.d.ts +0 -6
- package/dist/src/ui/privacy/PrivacyNotice.test.js +0 -63
- package/dist/src/ui/privacy/PrivacyNotice.test.js.map +0 -1
- package/dist/src/ui/state/extensions.test.d.ts +0 -6
- package/dist/src/ui/state/extensions.test.js +0 -219
- package/dist/src/ui/state/extensions.test.js.map +0 -1
- package/dist/src/ui/themes/color-utils.test.d.ts +0 -6
- package/dist/src/ui/themes/color-utils.test.js +0 -326
- package/dist/src/ui/themes/color-utils.test.js.map +0 -1
- package/dist/src/ui/themes/theme-manager.test.d.ts +0 -6
- package/dist/src/ui/themes/theme-manager.test.js +0 -274
- package/dist/src/ui/themes/theme-manager.test.js.map +0 -1
- package/dist/src/ui/themes/theme.test.d.ts +0 -6
- package/dist/src/ui/themes/theme.test.js +0 -171
- package/dist/src/ui/themes/theme.test.js.map +0 -1
- package/dist/src/ui/utils/CodeColorizer.test.d.ts +0 -6
- package/dist/src/ui/utils/CodeColorizer.test.js +0 -74
- package/dist/src/ui/utils/CodeColorizer.test.js.map +0 -1
- package/dist/src/ui/utils/ConsolePatcher.test.d.ts +0 -6
- package/dist/src/ui/utils/ConsolePatcher.test.js +0 -199
- package/dist/src/ui/utils/ConsolePatcher.test.js.map +0 -1
- package/dist/src/ui/utils/MarkdownDisplay.test.d.ts +0 -6
- package/dist/src/ui/utils/MarkdownDisplay.test.js +0 -175
- package/dist/src/ui/utils/MarkdownDisplay.test.js.map +0 -1
- package/dist/src/ui/utils/TableRenderer.test.d.ts +0 -1
- package/dist/src/ui/utils/TableRenderer.test.js +0 -396
- package/dist/src/ui/utils/TableRenderer.test.js.map +0 -1
- package/dist/src/ui/utils/antigravityUtils.test.d.ts +0 -6
- package/dist/src/ui/utils/antigravityUtils.test.js +0 -54
- package/dist/src/ui/utils/antigravityUtils.test.js.map +0 -1
- package/dist/src/ui/utils/borderStyles.test.d.ts +0 -6
- package/dist/src/ui/utils/borderStyles.test.js +0 -172
- package/dist/src/ui/utils/borderStyles.test.js.map +0 -1
- package/dist/src/ui/utils/clipboardUtils.test.d.ts +0 -6
- package/dist/src/ui/utils/clipboardUtils.test.js +0 -442
- package/dist/src/ui/utils/clipboardUtils.test.js.map +0 -1
- package/dist/src/ui/utils/clipboardUtils.windows.test.d.ts +0 -6
- package/dist/src/ui/utils/clipboardUtils.windows.test.js +0 -56
- package/dist/src/ui/utils/clipboardUtils.windows.test.js.map +0 -1
- package/dist/src/ui/utils/commandUtils.test.d.ts +0 -6
- package/dist/src/ui/utils/commandUtils.test.js +0 -511
- package/dist/src/ui/utils/commandUtils.test.js.map +0 -1
- package/dist/src/ui/utils/computeStats.test.d.ts +0 -6
- package/dist/src/ui/utils/computeStats.test.js +0 -279
- package/dist/src/ui/utils/computeStats.test.js.map +0 -1
- package/dist/src/ui/utils/directoryUtils.test.d.ts +0 -6
- package/dist/src/ui/utils/directoryUtils.test.js +0 -239
- package/dist/src/ui/utils/directoryUtils.test.js.map +0 -1
- package/dist/src/ui/utils/displayUtils.test.d.ts +0 -6
- package/dist/src/ui/utils/displayUtils.test.js +0 -61
- package/dist/src/ui/utils/displayUtils.test.js.map +0 -1
- package/dist/src/ui/utils/formatters.test.d.ts +0 -6
- package/dist/src/ui/utils/formatters.test.js +0 -152
- package/dist/src/ui/utils/formatters.test.js.map +0 -1
- package/dist/src/ui/utils/highlight.test.d.ts +0 -6
- package/dist/src/ui/utils/highlight.test.js +0 -205
- package/dist/src/ui/utils/highlight.test.js.map +0 -1
- package/dist/src/ui/utils/input.test.d.ts +0 -6
- package/dist/src/ui/utils/input.test.js +0 -44
- package/dist/src/ui/utils/input.test.js.map +0 -1
- package/dist/src/ui/utils/latexToUnicode.test.d.ts +0 -6
- package/dist/src/ui/utils/latexToUnicode.test.js +0 -222
- package/dist/src/ui/utils/latexToUnicode.test.js.map +0 -1
- package/dist/src/ui/utils/markdownParsingUtils.test.d.ts +0 -6
- package/dist/src/ui/utils/markdownParsingUtils.test.js +0 -201
- package/dist/src/ui/utils/markdownParsingUtils.test.js.map +0 -1
- package/dist/src/ui/utils/markdownUtilities.test.d.ts +0 -6
- package/dist/src/ui/utils/markdownUtilities.test.js +0 -42
- package/dist/src/ui/utils/markdownUtilities.test.js.map +0 -1
- package/dist/src/ui/utils/memorySnapshot.test.d.ts +0 -6
- package/dist/src/ui/utils/memorySnapshot.test.js +0 -62
- package/dist/src/ui/utils/memorySnapshot.test.js.map +0 -1
- package/dist/src/ui/utils/mouse.test.d.ts +0 -6
- package/dist/src/ui/utils/mouse.test.js +0 -136
- package/dist/src/ui/utils/mouse.test.js.map +0 -1
- package/dist/src/ui/utils/pendingAttentionNotification.test.d.ts +0 -6
- package/dist/src/ui/utils/pendingAttentionNotification.test.js +0 -79
- package/dist/src/ui/utils/pendingAttentionNotification.test.js.map +0 -1
- package/dist/src/ui/utils/rewindFileOps.test.d.ts +0 -6
- package/dist/src/ui/utils/rewindFileOps.test.js +0 -375
- package/dist/src/ui/utils/rewindFileOps.test.js.map +0 -1
- package/dist/src/ui/utils/terminalCapabilityManager.test.d.ts +0 -6
- package/dist/src/ui/utils/terminalCapabilityManager.test.js +0 -400
- package/dist/src/ui/utils/terminalCapabilityManager.test.js.map +0 -1
- package/dist/src/ui/utils/terminalSetup.test.d.ts +0 -6
- package/dist/src/ui/utils/terminalSetup.test.js +0 -201
- package/dist/src/ui/utils/terminalSetup.test.js.map +0 -1
- package/dist/src/ui/utils/textOutput.test.d.ts +0 -6
- package/dist/src/ui/utils/textOutput.test.js +0 -80
- package/dist/src/ui/utils/textOutput.test.js.map +0 -1
- package/dist/src/ui/utils/textUtils.test.d.ts +0 -6
- package/dist/src/ui/utils/textUtils.test.js +0 -430
- package/dist/src/ui/utils/textUtils.test.js.map +0 -1
- package/dist/src/ui/utils/toolLayoutUtils.test.d.ts +0 -6
- package/dist/src/ui/utils/toolLayoutUtils.test.js +0 -187
- package/dist/src/ui/utils/toolLayoutUtils.test.js.map +0 -1
- package/dist/src/ui/utils/ui-sizing.test.d.ts +0 -6
- package/dist/src/ui/utils/ui-sizing.test.js +0 -25
- package/dist/src/ui/utils/ui-sizing.test.js.map +0 -1
- package/dist/src/ui/utils/updateCheck.test.d.ts +0 -6
- package/dist/src/ui/utils/updateCheck.test.js +0 -207
- package/dist/src/ui/utils/updateCheck.test.js.map +0 -1
- package/dist/src/ui/utils/urlSecurityUtils.test.d.ts +0 -6
- package/dist/src/ui/utils/urlSecurityUtils.test.js +0 -49
- package/dist/src/ui/utils/urlSecurityUtils.test.js.map +0 -1
- package/dist/src/utils/activityLogger.test.d.ts +0 -6
- package/dist/src/utils/activityLogger.test.js +0 -196
- package/dist/src/utils/activityLogger.test.js.map +0 -1
- package/dist/src/utils/agentSettings.test.d.ts +0 -6
- package/dist/src/utils/agentSettings.test.js +0 -111
- package/dist/src/utils/agentSettings.test.js.map +0 -1
- package/dist/src/utils/agentUtils.test.d.ts +0 -6
- package/dist/src/utils/agentUtils.test.js +0 -121
- package/dist/src/utils/agentUtils.test.js.map +0 -1
- package/dist/src/utils/cleanup.test.d.ts +0 -6
- package/dist/src/utils/cleanup.test.js +0 -256
- package/dist/src/utils/cleanup.test.js.map +0 -1
- package/dist/src/utils/commands.test.d.ts +0 -6
- package/dist/src/utils/commands.test.js +0 -194
- package/dist/src/utils/commands.test.js.map +0 -1
- package/dist/src/utils/commentJson.test.d.ts +0 -6
- package/dist/src/utils/commentJson.test.js +0 -308
- package/dist/src/utils/commentJson.test.js.map +0 -1
- package/dist/src/utils/deepMerge.test.d.ts +0 -6
- package/dist/src/utils/deepMerge.test.js +0 -211
- package/dist/src/utils/deepMerge.test.js.map +0 -1
- package/dist/src/utils/devtoolsService.test.d.ts +0 -6
- package/dist/src/utils/devtoolsService.test.js +0 -346
- package/dist/src/utils/devtoolsService.test.js.map +0 -1
- package/dist/src/utils/dialogScopeUtils.test.d.ts +0 -6
- package/dist/src/utils/dialogScopeUtils.test.js +0 -81
- package/dist/src/utils/dialogScopeUtils.test.js.map +0 -1
- package/dist/src/utils/envVarResolver.test.d.ts +0 -6
- package/dist/src/utils/envVarResolver.test.js +0 -238
- package/dist/src/utils/envVarResolver.test.js.map +0 -1
- package/dist/src/utils/errors.test.d.ts +0 -6
- package/dist/src/utils/errors.test.js +0 -420
- package/dist/src/utils/errors.test.js.map +0 -1
- package/dist/src/utils/events.test.d.ts +0 -6
- package/dist/src/utils/events.test.js +0 -24
- package/dist/src/utils/events.test.js.map +0 -1
- package/dist/src/utils/featureToggleUtils.test.d.ts +0 -6
- package/dist/src/utils/featureToggleUtils.test.js +0 -126
- package/dist/src/utils/featureToggleUtils.test.js.map +0 -1
- package/dist/src/utils/gitUtils.test.d.ts +0 -6
- package/dist/src/utils/gitUtils.test.js +0 -172
- package/dist/src/utils/gitUtils.test.js.map +0 -1
- package/dist/src/utils/handleAutoUpdate.test.d.ts +0 -6
- package/dist/src/utils/handleAutoUpdate.test.js +0 -399
- package/dist/src/utils/handleAutoUpdate.test.js.map +0 -1
- package/dist/src/utils/hookSettings.test.d.ts +0 -6
- package/dist/src/utils/hookSettings.test.js +0 -117
- package/dist/src/utils/hookSettings.test.js.map +0 -1
- package/dist/src/utils/hookUtils.test.d.ts +0 -6
- package/dist/src/utils/hookUtils.test.js +0 -113
- package/dist/src/utils/hookUtils.test.js.map +0 -1
- package/dist/src/utils/installationInfo.test.d.ts +0 -6
- package/dist/src/utils/installationInfo.test.js +0 -322
- package/dist/src/utils/installationInfo.test.js.map +0 -1
- package/dist/src/utils/jsonoutput.test.d.ts +0 -6
- package/dist/src/utils/jsonoutput.test.js +0 -74
- package/dist/src/utils/jsonoutput.test.js.map +0 -1
- package/dist/src/utils/logCleanup.test.d.ts +0 -6
- package/dist/src/utils/logCleanup.test.js +0 -87
- package/dist/src/utils/logCleanup.test.js.map +0 -1
- package/dist/src/utils/math.test.d.ts +0 -6
- package/dist/src/utils/math.test.js +0 -23
- package/dist/src/utils/math.test.js.map +0 -1
- package/dist/src/utils/persistentState.test.d.ts +0 -6
- package/dist/src/utils/persistentState.test.js +0 -68
- package/dist/src/utils/persistentState.test.js.map +0 -1
- package/dist/src/utils/processUtils.test.d.ts +0 -6
- package/dist/src/utils/processUtils.test.js +0 -150
- package/dist/src/utils/processUtils.test.js.map +0 -1
- package/dist/src/utils/readStdin.test.d.ts +0 -6
- package/dist/src/utils/readStdin.test.js +0 -149
- package/dist/src/utils/readStdin.test.js.map +0 -1
- package/dist/src/utils/readStdin_safety.test.d.ts +0 -6
- package/dist/src/utils/readStdin_safety.test.js +0 -68
- package/dist/src/utils/readStdin_safety.test.js.map +0 -1
- package/dist/src/utils/relaunch.test.d.ts +0 -6
- package/dist/src/utils/relaunch.test.js +0 -275
- package/dist/src/utils/relaunch.test.js.map +0 -1
- package/dist/src/utils/resolvePath.test.d.ts +0 -6
- package/dist/src/utils/resolvePath.test.js +0 -34
- package/dist/src/utils/resolvePath.test.js.map +0 -1
- package/dist/src/utils/sandbox.test.d.ts +0 -6
- package/dist/src/utils/sandbox.test.js +0 -725
- package/dist/src/utils/sandbox.test.js.map +0 -1
- package/dist/src/utils/sandboxUtils.test.d.ts +0 -6
- package/dist/src/utils/sandboxUtils.test.js +0 -190
- package/dist/src/utils/sandboxUtils.test.js.map +0 -1
- package/dist/src/utils/sessionCleanup.integration.test.d.ts +0 -6
- package/dist/src/utils/sessionCleanup.integration.test.js +0 -276
- package/dist/src/utils/sessionCleanup.integration.test.js.map +0 -1
- package/dist/src/utils/sessionCleanup.test.d.ts +0 -6
- package/dist/src/utils/sessionCleanup.test.js +0 -829
- package/dist/src/utils/sessionCleanup.test.js.map +0 -1
- package/dist/src/utils/sessionUtils.test.d.ts +0 -6
- package/dist/src/utils/sessionUtils.test.js +0 -815
- package/dist/src/utils/sessionUtils.test.js.map +0 -1
- package/dist/src/utils/sessions.test.d.ts +0 -6
- package/dist/src/utils/sessions.test.js +0 -580
- package/dist/src/utils/sessions.test.js.map +0 -1
- package/dist/src/utils/settingsUtils.test.d.ts +0 -6
- package/dist/src/utils/settingsUtils.test.js +0 -673
- package/dist/src/utils/settingsUtils.test.js.map +0 -1
- package/dist/src/utils/skillSettings.test.d.ts +0 -6
- package/dist/src/utils/skillSettings.test.js +0 -142
- package/dist/src/utils/skillSettings.test.js.map +0 -1
- package/dist/src/utils/skillUtils.test.d.ts +0 -6
- package/dist/src/utils/skillUtils.test.js +0 -248
- package/dist/src/utils/skillUtils.test.js.map +0 -1
- package/dist/src/utils/startupWarnings.test.d.ts +0 -6
- package/dist/src/utils/startupWarnings.test.js +0 -61
- package/dist/src/utils/startupWarnings.test.js.map +0 -1
- package/dist/src/utils/terminalNotifications.test.d.ts +0 -6
- package/dist/src/utils/terminalNotifications.test.js +0 -219
- package/dist/src/utils/terminalNotifications.test.js.map +0 -1
- package/dist/src/utils/terminalTheme.test.d.ts +0 -6
- package/dist/src/utils/terminalTheme.test.js +0 -91
- package/dist/src/utils/terminalTheme.test.js.map +0 -1
- package/dist/src/utils/tierUtils.test.d.ts +0 -6
- package/dist/src/utils/tierUtils.test.js +0 -25
- package/dist/src/utils/tierUtils.test.js.map +0 -1
- package/dist/src/utils/toolOutputCleanup.test.d.ts +0 -6
- package/dist/src/utils/toolOutputCleanup.test.js +0 -280
- package/dist/src/utils/toolOutputCleanup.test.js.map +0 -1
- package/dist/src/utils/updateEventEmitter.test.d.ts +0 -6
- package/dist/src/utils/updateEventEmitter.test.js +0 -18
- package/dist/src/utils/updateEventEmitter.test.js.map +0 -1
- package/dist/src/utils/userStartupWarnings.test.d.ts +0 -6
- package/dist/src/utils/userStartupWarnings.test.js +0 -225
- package/dist/src/utils/userStartupWarnings.test.js.map +0 -1
- package/dist/src/utils/windowTitle.test.d.ts +0 -6
- package/dist/src/utils/windowTitle.test.js +0 -216
- package/dist/src/utils/windowTitle.test.js.map +0 -1
- package/dist/src/utils/worktreeSetup.test.d.ts +0 -6
- package/dist/src/utils/worktreeSetup.test.js +0 -89
- package/dist/src/utils/worktreeSetup.test.js.map +0 -1
- package/dist/src/validateNonInterActiveAuth.test.d.ts +0 -6
- package/dist/src/validateNonInterActiveAuth.test.js +0 -319
- package/dist/src/validateNonInterActiveAuth.test.js.map +0 -1
|
@@ -1,1499 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license
|
|
4
|
-
* Copyright 2025 Google LLC
|
|
5
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* This test suite covers:
|
|
11
|
-
* - Initial rendering and display state
|
|
12
|
-
* - Keyboard navigation (arrows, vim keys, Tab)
|
|
13
|
-
* - Settings toggling (Enter, Space)
|
|
14
|
-
* - Focus section switching between settings and scope selector
|
|
15
|
-
* - Scope selection and settings persistence across scopes
|
|
16
|
-
* - Restart-required vs immediate settings behavior
|
|
17
|
-
* - Complex user interaction workflows
|
|
18
|
-
* - Error handling and edge cases
|
|
19
|
-
* - Display values for inherited and overridden settings
|
|
20
|
-
*
|
|
21
|
-
*/
|
|
22
|
-
import { renderWithProviders } from '../../test-utils/render.js';
|
|
23
|
-
import { waitFor } from '../../test-utils/async.js';
|
|
24
|
-
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
25
|
-
import { SettingsDialog } from './SettingsDialog.js';
|
|
26
|
-
import { SettingScope } from '../../config/settings.js';
|
|
27
|
-
import { createMockSettings, } from '../../test-utils/settings.js';
|
|
28
|
-
import { makeFakeConfig } from '@google/gemini-cli-core';
|
|
29
|
-
import { act } from 'react';
|
|
30
|
-
import { TEST_ONLY } from '../../utils/settingsUtils.js';
|
|
31
|
-
import { getSettingsSchema, } from '../../config/settingsSchema.js';
|
|
32
|
-
import { terminalCapabilityManager } from '../utils/terminalCapabilityManager.js';
|
|
33
|
-
var TerminalKeys;
|
|
34
|
-
(function (TerminalKeys) {
|
|
35
|
-
TerminalKeys["ENTER"] = "\r";
|
|
36
|
-
TerminalKeys["TAB"] = "\t";
|
|
37
|
-
TerminalKeys["UP_ARROW"] = "\u001B[A";
|
|
38
|
-
TerminalKeys["DOWN_ARROW"] = "\u001B[B";
|
|
39
|
-
TerminalKeys["LEFT_ARROW"] = "\u001B[D";
|
|
40
|
-
TerminalKeys["RIGHT_ARROW"] = "\u001B[C";
|
|
41
|
-
TerminalKeys["ESCAPE"] = "\u001B";
|
|
42
|
-
TerminalKeys["BACKSPACE"] = "\b";
|
|
43
|
-
TerminalKeys["CTRL_P"] = "\u0010";
|
|
44
|
-
TerminalKeys["CTRL_N"] = "\u000E";
|
|
45
|
-
})(TerminalKeys || (TerminalKeys = {}));
|
|
46
|
-
vi.mock('../../config/settingsSchema.js', async (importOriginal) => {
|
|
47
|
-
const original = await importOriginal();
|
|
48
|
-
return {
|
|
49
|
-
...original,
|
|
50
|
-
getSettingsSchema: vi.fn(original.getSettingsSchema),
|
|
51
|
-
};
|
|
52
|
-
});
|
|
53
|
-
// Shared test schemas
|
|
54
|
-
var StringEnum;
|
|
55
|
-
(function (StringEnum) {
|
|
56
|
-
StringEnum["FOO"] = "foo";
|
|
57
|
-
StringEnum["BAR"] = "bar";
|
|
58
|
-
StringEnum["BAZ"] = "baz";
|
|
59
|
-
})(StringEnum || (StringEnum = {}));
|
|
60
|
-
const ENUM_SETTING = {
|
|
61
|
-
type: 'enum',
|
|
62
|
-
label: 'Theme',
|
|
63
|
-
options: [
|
|
64
|
-
{
|
|
65
|
-
label: 'Foo',
|
|
66
|
-
value: StringEnum.FOO,
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
label: 'Bar',
|
|
70
|
-
value: StringEnum.BAR,
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
label: 'Baz',
|
|
74
|
-
value: StringEnum.BAZ,
|
|
75
|
-
},
|
|
76
|
-
],
|
|
77
|
-
category: 'UI',
|
|
78
|
-
requiresRestart: false,
|
|
79
|
-
default: StringEnum.BAR,
|
|
80
|
-
description: 'The color theme for the UI.',
|
|
81
|
-
showInDialog: true,
|
|
82
|
-
};
|
|
83
|
-
// Minimal general schema for KeypressProvider
|
|
84
|
-
const MINIMAL_GENERAL_SCHEMA = {
|
|
85
|
-
general: {
|
|
86
|
-
showInDialog: false,
|
|
87
|
-
properties: {
|
|
88
|
-
debugKeystrokeLogging: {
|
|
89
|
-
type: 'boolean',
|
|
90
|
-
label: 'Debug Keystroke Logging',
|
|
91
|
-
category: 'General',
|
|
92
|
-
requiresRestart: false,
|
|
93
|
-
default: false,
|
|
94
|
-
showInDialog: false,
|
|
95
|
-
},
|
|
96
|
-
},
|
|
97
|
-
},
|
|
98
|
-
};
|
|
99
|
-
const ENUM_FAKE_SCHEMA = {
|
|
100
|
-
...MINIMAL_GENERAL_SCHEMA,
|
|
101
|
-
ui: {
|
|
102
|
-
showInDialog: false,
|
|
103
|
-
properties: {
|
|
104
|
-
theme: {
|
|
105
|
-
...ENUM_SETTING,
|
|
106
|
-
},
|
|
107
|
-
},
|
|
108
|
-
},
|
|
109
|
-
};
|
|
110
|
-
const ARRAY_FAKE_SCHEMA = {
|
|
111
|
-
...MINIMAL_GENERAL_SCHEMA,
|
|
112
|
-
context: {
|
|
113
|
-
type: 'object',
|
|
114
|
-
label: 'Context',
|
|
115
|
-
category: 'Context',
|
|
116
|
-
requiresRestart: false,
|
|
117
|
-
default: {},
|
|
118
|
-
description: 'Context settings.',
|
|
119
|
-
showInDialog: false,
|
|
120
|
-
properties: {
|
|
121
|
-
fileFiltering: {
|
|
122
|
-
type: 'object',
|
|
123
|
-
label: 'File Filtering',
|
|
124
|
-
category: 'Context',
|
|
125
|
-
requiresRestart: false,
|
|
126
|
-
default: {},
|
|
127
|
-
description: 'File filtering settings.',
|
|
128
|
-
showInDialog: false,
|
|
129
|
-
properties: {
|
|
130
|
-
customIgnoreFilePaths: {
|
|
131
|
-
type: 'array',
|
|
132
|
-
label: 'Custom Ignore File Paths',
|
|
133
|
-
category: 'Context',
|
|
134
|
-
requiresRestart: false,
|
|
135
|
-
default: [],
|
|
136
|
-
description: 'Additional ignore file paths.',
|
|
137
|
-
showInDialog: true,
|
|
138
|
-
items: { type: 'string' },
|
|
139
|
-
},
|
|
140
|
-
},
|
|
141
|
-
},
|
|
142
|
-
},
|
|
143
|
-
},
|
|
144
|
-
security: {
|
|
145
|
-
type: 'object',
|
|
146
|
-
label: 'Security',
|
|
147
|
-
category: 'Security',
|
|
148
|
-
requiresRestart: false,
|
|
149
|
-
default: {},
|
|
150
|
-
description: 'Security settings.',
|
|
151
|
-
showInDialog: false,
|
|
152
|
-
properties: {
|
|
153
|
-
allowedExtensions: {
|
|
154
|
-
type: 'array',
|
|
155
|
-
label: 'Extension Source Regex Allowlist',
|
|
156
|
-
category: 'Security',
|
|
157
|
-
requiresRestart: false,
|
|
158
|
-
default: [],
|
|
159
|
-
description: 'Allowed extension source regex patterns.',
|
|
160
|
-
showInDialog: true,
|
|
161
|
-
items: { type: 'string' },
|
|
162
|
-
},
|
|
163
|
-
},
|
|
164
|
-
},
|
|
165
|
-
};
|
|
166
|
-
const TOOLS_SHELL_FAKE_SCHEMA = {
|
|
167
|
-
...MINIMAL_GENERAL_SCHEMA,
|
|
168
|
-
tools: {
|
|
169
|
-
type: 'object',
|
|
170
|
-
label: 'Tools',
|
|
171
|
-
category: 'Tools',
|
|
172
|
-
requiresRestart: false,
|
|
173
|
-
default: {},
|
|
174
|
-
description: 'Tool settings.',
|
|
175
|
-
showInDialog: false,
|
|
176
|
-
properties: {
|
|
177
|
-
shell: {
|
|
178
|
-
type: 'object',
|
|
179
|
-
label: 'Shell',
|
|
180
|
-
category: 'Tools',
|
|
181
|
-
requiresRestart: false,
|
|
182
|
-
default: {},
|
|
183
|
-
description: 'Shell tool settings.',
|
|
184
|
-
showInDialog: false,
|
|
185
|
-
properties: {
|
|
186
|
-
showColor: {
|
|
187
|
-
type: 'boolean',
|
|
188
|
-
label: 'Show Color',
|
|
189
|
-
category: 'Tools',
|
|
190
|
-
requiresRestart: false,
|
|
191
|
-
default: false,
|
|
192
|
-
description: 'Show color in shell output.',
|
|
193
|
-
showInDialog: true,
|
|
194
|
-
},
|
|
195
|
-
enableInteractiveShell: {
|
|
196
|
-
type: 'boolean',
|
|
197
|
-
label: 'Enable Interactive Shell',
|
|
198
|
-
category: 'Tools',
|
|
199
|
-
requiresRestart: true,
|
|
200
|
-
default: true,
|
|
201
|
-
description: 'Enable interactive shell mode.',
|
|
202
|
-
showInDialog: true,
|
|
203
|
-
},
|
|
204
|
-
pager: {
|
|
205
|
-
type: 'string',
|
|
206
|
-
label: 'Pager',
|
|
207
|
-
category: 'Tools',
|
|
208
|
-
requiresRestart: false,
|
|
209
|
-
default: 'cat',
|
|
210
|
-
description: 'The pager command to use for shell output.',
|
|
211
|
-
showInDialog: true,
|
|
212
|
-
},
|
|
213
|
-
},
|
|
214
|
-
},
|
|
215
|
-
},
|
|
216
|
-
},
|
|
217
|
-
};
|
|
218
|
-
// Helper function to render SettingsDialog with standard wrapper
|
|
219
|
-
const renderDialog = async (settings, onSelect, options) => renderWithProviders(_jsx(SettingsDialog, { onSelect: onSelect, onRestartRequest: options?.onRestartRequest, availableTerminalHeight: options?.availableTerminalHeight }), {
|
|
220
|
-
settings,
|
|
221
|
-
config: makeFakeConfig(),
|
|
222
|
-
uiState: { terminalBackgroundColor: undefined },
|
|
223
|
-
});
|
|
224
|
-
const createSettingsFile = (path, settings = {}, readOnly) => ({
|
|
225
|
-
settings,
|
|
226
|
-
originalSettings: settings,
|
|
227
|
-
path,
|
|
228
|
-
readOnly,
|
|
229
|
-
});
|
|
230
|
-
describe('SettingsDialog', () => {
|
|
231
|
-
beforeEach(() => {
|
|
232
|
-
vi.clearAllMocks();
|
|
233
|
-
vi.spyOn(terminalCapabilityManager, 'isKittyProtocolEnabled').mockReturnValue(true);
|
|
234
|
-
});
|
|
235
|
-
afterEach(() => {
|
|
236
|
-
TEST_ONLY.clearFlattenedSchema();
|
|
237
|
-
vi.clearAllMocks();
|
|
238
|
-
vi.resetAllMocks();
|
|
239
|
-
});
|
|
240
|
-
describe('Initial Rendering', () => {
|
|
241
|
-
it('should render the settings dialog with default state', async () => {
|
|
242
|
-
const settings = createMockSettings();
|
|
243
|
-
const onSelect = vi.fn();
|
|
244
|
-
const { lastFrame, unmount } = await renderDialog(settings, onSelect);
|
|
245
|
-
const output = lastFrame();
|
|
246
|
-
expect(output).toContain('Settings');
|
|
247
|
-
expect(output).toContain('Apply To');
|
|
248
|
-
// Use regex for more flexible help text matching
|
|
249
|
-
expect(output).toMatch(/Enter.*select.*Esc.*close/);
|
|
250
|
-
unmount();
|
|
251
|
-
});
|
|
252
|
-
it('should accept availableTerminalHeight prop without errors', async () => {
|
|
253
|
-
const settings = createMockSettings();
|
|
254
|
-
const onSelect = vi.fn();
|
|
255
|
-
const { lastFrame, unmount } = await renderDialog(settings, onSelect, {
|
|
256
|
-
availableTerminalHeight: 20,
|
|
257
|
-
});
|
|
258
|
-
const output = lastFrame();
|
|
259
|
-
// Should still render properly with the height prop
|
|
260
|
-
expect(output).toContain('Settings');
|
|
261
|
-
// Use regex for more flexible help text matching
|
|
262
|
-
expect(output).toMatch(/Enter.*select.*Esc.*close/);
|
|
263
|
-
unmount();
|
|
264
|
-
});
|
|
265
|
-
it('should render settings list with visual indicators', async () => {
|
|
266
|
-
const settings = createMockSettings();
|
|
267
|
-
const onSelect = vi.fn();
|
|
268
|
-
const renderResult = await renderDialog(settings, onSelect);
|
|
269
|
-
await expect(renderResult).toMatchSvgSnapshot();
|
|
270
|
-
renderResult.unmount();
|
|
271
|
-
});
|
|
272
|
-
it('should use almost full height of the window but no more when the window height is 25 rows', async () => {
|
|
273
|
-
const settings = createMockSettings();
|
|
274
|
-
const onSelect = vi.fn();
|
|
275
|
-
// Render with a fixed height of 25 rows
|
|
276
|
-
const { lastFrame, unmount } = await renderDialog(settings, onSelect, {
|
|
277
|
-
availableTerminalHeight: 25,
|
|
278
|
-
});
|
|
279
|
-
// Wait for the dialog to render
|
|
280
|
-
await waitFor(() => {
|
|
281
|
-
const output = lastFrame();
|
|
282
|
-
expect(output).toBeDefined();
|
|
283
|
-
const lines = output.trim().split('\n');
|
|
284
|
-
expect(lines.length).toBeGreaterThanOrEqual(24);
|
|
285
|
-
expect(lines.length).toBeLessThanOrEqual(25);
|
|
286
|
-
});
|
|
287
|
-
unmount();
|
|
288
|
-
});
|
|
289
|
-
it('should render the bottom border correctly when height is constrained', async () => {
|
|
290
|
-
const settings = createMockSettings();
|
|
291
|
-
const onSelect = vi.fn();
|
|
292
|
-
const constrainedHeight = 15;
|
|
293
|
-
const renderResult = await renderDialog(settings, onSelect, {
|
|
294
|
-
availableTerminalHeight: constrainedHeight,
|
|
295
|
-
});
|
|
296
|
-
await renderResult.waitUntilReady();
|
|
297
|
-
await waitFor(() => {
|
|
298
|
-
const output = renderResult.lastFrame();
|
|
299
|
-
const lines = output.trim().split('\n');
|
|
300
|
-
// Verify height constraint
|
|
301
|
-
expect(lines.length).toBeLessThanOrEqual(constrainedHeight);
|
|
302
|
-
// Verify bottom border existence in the last line of the output
|
|
303
|
-
const lastLine = lines[lines.length - 1];
|
|
304
|
-
// 'round' border characters: ─, ╰, ╯
|
|
305
|
-
expect(lastLine).toMatch(/[─╰╯]/);
|
|
306
|
-
});
|
|
307
|
-
// SVG snapshot ensures visual layout and border rendering are preserved
|
|
308
|
-
await expect(renderResult).toMatchSvgSnapshot();
|
|
309
|
-
renderResult.unmount();
|
|
310
|
-
});
|
|
311
|
-
});
|
|
312
|
-
describe('Setting Descriptions', () => {
|
|
313
|
-
it('should render descriptions for settings that have them', async () => {
|
|
314
|
-
const settings = createMockSettings();
|
|
315
|
-
const onSelect = vi.fn();
|
|
316
|
-
const { lastFrame, unmount } = await renderDialog(settings, onSelect);
|
|
317
|
-
const output = lastFrame();
|
|
318
|
-
// 'general.vimMode' has description 'Enable Vim keybindings' in settingsSchema.ts
|
|
319
|
-
expect(output).toContain('Vim Mode');
|
|
320
|
-
expect(output).toContain('Enable Vim keybindings');
|
|
321
|
-
// 'general.enableAutoUpdate' has description 'Enable automatic updates.'
|
|
322
|
-
expect(output).toContain('Enable Auto Update');
|
|
323
|
-
expect(output).toContain('Enable automatic updates.');
|
|
324
|
-
unmount();
|
|
325
|
-
});
|
|
326
|
-
});
|
|
327
|
-
describe('Settings Navigation', () => {
|
|
328
|
-
it.each([
|
|
329
|
-
{
|
|
330
|
-
name: 'arrow keys',
|
|
331
|
-
down: TerminalKeys.DOWN_ARROW,
|
|
332
|
-
up: TerminalKeys.UP_ARROW,
|
|
333
|
-
},
|
|
334
|
-
{
|
|
335
|
-
name: 'emacs keys (Ctrl+P/N)',
|
|
336
|
-
down: TerminalKeys.CTRL_N,
|
|
337
|
-
up: TerminalKeys.CTRL_P,
|
|
338
|
-
},
|
|
339
|
-
])('should navigate with $name', async ({ down, up }) => {
|
|
340
|
-
const settings = createMockSettings();
|
|
341
|
-
const onSelect = vi.fn();
|
|
342
|
-
const { stdin, unmount, lastFrame, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
343
|
-
const initialFrame = lastFrame();
|
|
344
|
-
expect(initialFrame).toContain('Vim Mode');
|
|
345
|
-
// Navigate down
|
|
346
|
-
await act(async () => {
|
|
347
|
-
stdin.write(down);
|
|
348
|
-
});
|
|
349
|
-
await waitUntilReady();
|
|
350
|
-
await waitFor(() => {
|
|
351
|
-
expect(lastFrame()).toContain('Enable Auto Update');
|
|
352
|
-
});
|
|
353
|
-
// Navigate up
|
|
354
|
-
await act(async () => {
|
|
355
|
-
stdin.write(up);
|
|
356
|
-
});
|
|
357
|
-
await waitUntilReady();
|
|
358
|
-
await waitFor(() => {
|
|
359
|
-
expect(lastFrame()).toContain('Vim Mode');
|
|
360
|
-
});
|
|
361
|
-
unmount();
|
|
362
|
-
});
|
|
363
|
-
it('should allow j and k characters to be typed in search without triggering navigation', async () => {
|
|
364
|
-
const settings = createMockSettings();
|
|
365
|
-
const onSelect = vi.fn();
|
|
366
|
-
const { lastFrame, stdin, waitUntilReady, unmount } = await renderDialog(settings, onSelect);
|
|
367
|
-
// Enter 'j' and 'k' in search
|
|
368
|
-
await act(async () => stdin.write('j'));
|
|
369
|
-
await waitUntilReady();
|
|
370
|
-
await act(async () => stdin.write('k'));
|
|
371
|
-
await waitUntilReady();
|
|
372
|
-
await waitFor(() => {
|
|
373
|
-
const frame = lastFrame();
|
|
374
|
-
// The search box should contain 'jk'
|
|
375
|
-
expect(frame).toContain('jk');
|
|
376
|
-
// Since 'jk' doesn't match any setting labels, it should say "No matches found."
|
|
377
|
-
expect(frame).toContain('No matches found.');
|
|
378
|
-
});
|
|
379
|
-
unmount();
|
|
380
|
-
});
|
|
381
|
-
it('wraps around when at the top of the list', async () => {
|
|
382
|
-
const settings = createMockSettings();
|
|
383
|
-
const onSelect = vi.fn();
|
|
384
|
-
const { stdin, unmount, lastFrame, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
385
|
-
// Try to go up from first item
|
|
386
|
-
await act(async () => {
|
|
387
|
-
stdin.write(TerminalKeys.UP_ARROW);
|
|
388
|
-
});
|
|
389
|
-
await waitUntilReady();
|
|
390
|
-
await waitFor(() => {
|
|
391
|
-
// Should wrap to last setting (without relying on exact bullet character)
|
|
392
|
-
expect(lastFrame()).toContain('Hook Notifications');
|
|
393
|
-
});
|
|
394
|
-
unmount();
|
|
395
|
-
});
|
|
396
|
-
});
|
|
397
|
-
describe('Settings Toggling', () => {
|
|
398
|
-
it('should toggle setting with Enter key', async () => {
|
|
399
|
-
const settings = createMockSettings();
|
|
400
|
-
const setValueSpy = vi.spyOn(settings, 'setValue');
|
|
401
|
-
const onSelect = vi.fn();
|
|
402
|
-
const { stdin, unmount, lastFrame } = await renderDialog(settings, onSelect);
|
|
403
|
-
// Wait for initial render and verify we're on Vim Mode (first setting)
|
|
404
|
-
await waitFor(() => {
|
|
405
|
-
expect(lastFrame()).toContain('Vim Mode');
|
|
406
|
-
});
|
|
407
|
-
// Toggle the setting (Vim Mode is the first setting now)
|
|
408
|
-
await act(async () => {
|
|
409
|
-
stdin.write(TerminalKeys.ENTER);
|
|
410
|
-
});
|
|
411
|
-
// Wait for setValue to be called
|
|
412
|
-
await waitFor(() => {
|
|
413
|
-
expect(setValueSpy).toHaveBeenCalled();
|
|
414
|
-
});
|
|
415
|
-
expect(setValueSpy).toHaveBeenCalledWith(SettingScope.User, 'general.vimMode', true);
|
|
416
|
-
unmount();
|
|
417
|
-
});
|
|
418
|
-
describe('enum values', () => {
|
|
419
|
-
it.each([
|
|
420
|
-
{
|
|
421
|
-
name: 'toggles to next value',
|
|
422
|
-
initialValue: undefined,
|
|
423
|
-
expectedValue: StringEnum.BAZ,
|
|
424
|
-
},
|
|
425
|
-
{
|
|
426
|
-
name: 'loops back to first value when at end',
|
|
427
|
-
initialValue: StringEnum.BAZ,
|
|
428
|
-
expectedValue: StringEnum.FOO,
|
|
429
|
-
},
|
|
430
|
-
])('$name', async ({ initialValue, expectedValue }) => {
|
|
431
|
-
vi.mocked(getSettingsSchema).mockReturnValue(ENUM_FAKE_SCHEMA);
|
|
432
|
-
const settings = createMockSettings();
|
|
433
|
-
if (initialValue !== undefined) {
|
|
434
|
-
settings.setValue(SettingScope.User, 'ui.theme', initialValue);
|
|
435
|
-
}
|
|
436
|
-
const setValueSpy = vi.spyOn(settings, 'setValue');
|
|
437
|
-
const onSelect = vi.fn();
|
|
438
|
-
const { stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
439
|
-
await act(async () => {
|
|
440
|
-
stdin.write(TerminalKeys.DOWN_ARROW);
|
|
441
|
-
});
|
|
442
|
-
await waitUntilReady();
|
|
443
|
-
await act(async () => {
|
|
444
|
-
stdin.write(TerminalKeys.ENTER);
|
|
445
|
-
});
|
|
446
|
-
await waitUntilReady();
|
|
447
|
-
await waitFor(() => {
|
|
448
|
-
expect(setValueSpy).toHaveBeenCalledWith(SettingScope.User, 'ui.theme', expectedValue);
|
|
449
|
-
});
|
|
450
|
-
unmount();
|
|
451
|
-
});
|
|
452
|
-
});
|
|
453
|
-
it('should handle vim mode setting specially', async () => {
|
|
454
|
-
const settings = createMockSettings();
|
|
455
|
-
const onSelect = vi.fn();
|
|
456
|
-
const { stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
457
|
-
// Navigate to vim mode setting and toggle it
|
|
458
|
-
// This would require knowing the exact position, so we'll just test that the mock is called
|
|
459
|
-
await act(async () => {
|
|
460
|
-
stdin.write(TerminalKeys.ENTER); // Enter key
|
|
461
|
-
});
|
|
462
|
-
await waitUntilReady();
|
|
463
|
-
// The mock should potentially be called if vim mode was toggled
|
|
464
|
-
unmount();
|
|
465
|
-
});
|
|
466
|
-
});
|
|
467
|
-
describe('Scope Selection', () => {
|
|
468
|
-
it('should switch between scopes', async () => {
|
|
469
|
-
const settings = createMockSettings();
|
|
470
|
-
const onSelect = vi.fn();
|
|
471
|
-
const { stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
472
|
-
// Switch to scope focus
|
|
473
|
-
await act(async () => {
|
|
474
|
-
stdin.write(TerminalKeys.TAB); // Tab key
|
|
475
|
-
// Select different scope (numbers 1-3 typically available)
|
|
476
|
-
stdin.write('2'); // Select second scope option
|
|
477
|
-
});
|
|
478
|
-
await waitUntilReady();
|
|
479
|
-
unmount();
|
|
480
|
-
});
|
|
481
|
-
it('should reset to settings focus when scope is selected', async () => {
|
|
482
|
-
const settings = createMockSettings();
|
|
483
|
-
const onSelect = vi.fn();
|
|
484
|
-
const { lastFrame, unmount } = await renderDialog(settings, onSelect);
|
|
485
|
-
// Wait for initial render
|
|
486
|
-
await waitFor(() => {
|
|
487
|
-
expect(lastFrame()).toContain('Vim Mode');
|
|
488
|
-
});
|
|
489
|
-
// The UI should show the settings section is active and scope section is inactive
|
|
490
|
-
expect(lastFrame()).toContain('Vim Mode'); // Settings section active
|
|
491
|
-
expect(lastFrame()).toContain('Apply To'); // Scope section (don't rely on exact spacing)
|
|
492
|
-
// This test validates the initial state - scope selection behavior
|
|
493
|
-
// is complex due to keypress handling, so we focus on state validation
|
|
494
|
-
unmount();
|
|
495
|
-
});
|
|
496
|
-
it('should not offer read-only system settings as an editable target', async () => {
|
|
497
|
-
const settings = createMockSettings({
|
|
498
|
-
system: createSettingsFile('', {}, true),
|
|
499
|
-
});
|
|
500
|
-
const onSelect = vi.fn();
|
|
501
|
-
const { lastFrame, unmount } = await renderDialog(settings, onSelect);
|
|
502
|
-
await waitFor(() => {
|
|
503
|
-
expect(lastFrame()).toContain('Apply To');
|
|
504
|
-
});
|
|
505
|
-
const output = lastFrame();
|
|
506
|
-
expect(output).toContain('User Settings');
|
|
507
|
-
expect(output).toContain('Workspace Settings');
|
|
508
|
-
expect(output).not.toContain('System Settings');
|
|
509
|
-
unmount();
|
|
510
|
-
});
|
|
511
|
-
it('should not offer a read-only home-directory workspace as an editable target', async () => {
|
|
512
|
-
const settings = createMockSettings({
|
|
513
|
-
user: createSettingsFile('/mock/home/.gemini/settings.json'),
|
|
514
|
-
system: createSettingsFile('/mock/system/settings.json', {}, true),
|
|
515
|
-
systemDefaults: createSettingsFile('/mock/system-defaults/settings.json', {}, true),
|
|
516
|
-
workspace: createSettingsFile('', {}, true),
|
|
517
|
-
});
|
|
518
|
-
const setValueSpy = vi.spyOn(settings, 'setValue');
|
|
519
|
-
const onSelect = vi.fn();
|
|
520
|
-
const { lastFrame, stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
521
|
-
await waitFor(() => {
|
|
522
|
-
expect(lastFrame()).toContain('Vim Mode');
|
|
523
|
-
});
|
|
524
|
-
const output = lastFrame();
|
|
525
|
-
expect(output).not.toContain('Workspace Settings');
|
|
526
|
-
expect(output).not.toContain('System Settings');
|
|
527
|
-
await act(async () => {
|
|
528
|
-
stdin.write(TerminalKeys.ENTER);
|
|
529
|
-
});
|
|
530
|
-
await waitUntilReady();
|
|
531
|
-
expect(setValueSpy).toHaveBeenCalledWith(SettingScope.User, 'general.vimMode', true);
|
|
532
|
-
unmount();
|
|
533
|
-
});
|
|
534
|
-
it('should fall back to the first writable scope when the selected scope is read-only', async () => {
|
|
535
|
-
const settings = createMockSettings({
|
|
536
|
-
user: createSettingsFile('', {}, true),
|
|
537
|
-
system: createSettingsFile('', {}, true),
|
|
538
|
-
workspace: createSettingsFile('/mock/workspace/.gemini/settings.json'),
|
|
539
|
-
});
|
|
540
|
-
const setValueSpy = vi.spyOn(settings, 'setValue');
|
|
541
|
-
const onSelect = vi.fn();
|
|
542
|
-
const { lastFrame, stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
543
|
-
await waitFor(() => {
|
|
544
|
-
expect(lastFrame()).toContain('Vim Mode');
|
|
545
|
-
});
|
|
546
|
-
await act(async () => {
|
|
547
|
-
stdin.write(TerminalKeys.ENTER);
|
|
548
|
-
});
|
|
549
|
-
await waitUntilReady();
|
|
550
|
-
expect(setValueSpy).toHaveBeenCalledWith(SettingScope.Workspace, 'general.vimMode', true);
|
|
551
|
-
unmount();
|
|
552
|
-
});
|
|
553
|
-
it('should not save when all editable scopes are read-only', async () => {
|
|
554
|
-
const settings = createMockSettings({
|
|
555
|
-
user: createSettingsFile('', {}, true),
|
|
556
|
-
system: createSettingsFile('', {}, true),
|
|
557
|
-
workspace: createSettingsFile('/mock/workspace/.gemini/settings.json', {}, true),
|
|
558
|
-
});
|
|
559
|
-
const setValueSpy = vi.spyOn(settings, 'setValue');
|
|
560
|
-
const onSelect = vi.fn();
|
|
561
|
-
const { lastFrame, stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
562
|
-
await waitFor(() => {
|
|
563
|
-
expect(lastFrame()).toContain('Vim Mode');
|
|
564
|
-
});
|
|
565
|
-
await act(async () => {
|
|
566
|
-
stdin.write(TerminalKeys.ENTER);
|
|
567
|
-
});
|
|
568
|
-
await waitUntilReady();
|
|
569
|
-
expect(setValueSpy).not.toHaveBeenCalled();
|
|
570
|
-
unmount();
|
|
571
|
-
});
|
|
572
|
-
});
|
|
573
|
-
describe('Restart Prompt', () => {
|
|
574
|
-
it('should show restart prompt for restart-required settings', async () => {
|
|
575
|
-
const settings = createMockSettings();
|
|
576
|
-
const onRestartRequest = vi.fn();
|
|
577
|
-
const { unmount } = await renderDialog(settings, vi.fn(), {
|
|
578
|
-
onRestartRequest,
|
|
579
|
-
});
|
|
580
|
-
// This test would need to trigger a restart-required setting change
|
|
581
|
-
// The exact steps depend on which settings require restart
|
|
582
|
-
unmount();
|
|
583
|
-
});
|
|
584
|
-
it('should handle restart request when r is pressed', async () => {
|
|
585
|
-
const settings = createMockSettings();
|
|
586
|
-
const onRestartRequest = vi.fn();
|
|
587
|
-
const { stdin, unmount, waitUntilReady } = await renderDialog(settings, vi.fn(), {
|
|
588
|
-
onRestartRequest,
|
|
589
|
-
});
|
|
590
|
-
// Press 'r' key (this would only work if restart prompt is showing)
|
|
591
|
-
await act(async () => {
|
|
592
|
-
stdin.write('r');
|
|
593
|
-
});
|
|
594
|
-
await waitUntilReady();
|
|
595
|
-
// If restart prompt was showing, onRestartRequest should be called
|
|
596
|
-
unmount();
|
|
597
|
-
});
|
|
598
|
-
});
|
|
599
|
-
describe('Escape Key Behavior', () => {
|
|
600
|
-
it('should call onSelect with undefined when Escape is pressed', async () => {
|
|
601
|
-
const settings = createMockSettings();
|
|
602
|
-
const onSelect = vi.fn();
|
|
603
|
-
const { lastFrame, unmount } = await renderDialog(settings, onSelect);
|
|
604
|
-
// Wait for initial render
|
|
605
|
-
await waitFor(() => {
|
|
606
|
-
expect(lastFrame()).toContain('Vim Mode');
|
|
607
|
-
});
|
|
608
|
-
// Verify the dialog is rendered properly
|
|
609
|
-
expect(lastFrame()).toContain('Settings');
|
|
610
|
-
expect(lastFrame()).toContain('Apply To');
|
|
611
|
-
// This test validates rendering - escape key behavior depends on complex
|
|
612
|
-
// keypress handling that's difficult to test reliably in this environment
|
|
613
|
-
unmount();
|
|
614
|
-
});
|
|
615
|
-
});
|
|
616
|
-
describe('Settings Persistence', () => {
|
|
617
|
-
it('should persist settings across scope changes', async () => {
|
|
618
|
-
const settings = createMockSettings({ vimMode: true });
|
|
619
|
-
const onSelect = vi.fn();
|
|
620
|
-
const { stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
621
|
-
// Switch to scope selector and change scope
|
|
622
|
-
await act(async () => {
|
|
623
|
-
stdin.write(TerminalKeys.TAB); // Tab
|
|
624
|
-
stdin.write('2'); // Select workspace scope
|
|
625
|
-
});
|
|
626
|
-
await waitUntilReady();
|
|
627
|
-
// Settings should be reloaded for new scope
|
|
628
|
-
unmount();
|
|
629
|
-
});
|
|
630
|
-
it('should show different values for different scopes', async () => {
|
|
631
|
-
const settings = createMockSettings({
|
|
632
|
-
user: {
|
|
633
|
-
settings: { vimMode: true },
|
|
634
|
-
originalSettings: { vimMode: true },
|
|
635
|
-
path: '',
|
|
636
|
-
},
|
|
637
|
-
system: {
|
|
638
|
-
settings: { vimMode: false },
|
|
639
|
-
originalSettings: { vimMode: false },
|
|
640
|
-
path: '',
|
|
641
|
-
},
|
|
642
|
-
workspace: {
|
|
643
|
-
settings: { autoUpdate: false },
|
|
644
|
-
originalSettings: { autoUpdate: false },
|
|
645
|
-
path: '',
|
|
646
|
-
},
|
|
647
|
-
});
|
|
648
|
-
const onSelect = vi.fn();
|
|
649
|
-
const { lastFrame, unmount } = await renderDialog(settings, onSelect);
|
|
650
|
-
// Should show user scope values initially
|
|
651
|
-
const output = lastFrame();
|
|
652
|
-
expect(output).toContain('Settings');
|
|
653
|
-
unmount();
|
|
654
|
-
});
|
|
655
|
-
});
|
|
656
|
-
describe('Complex State Management', () => {
|
|
657
|
-
it('should track modified settings correctly', async () => {
|
|
658
|
-
const settings = createMockSettings();
|
|
659
|
-
const onSelect = vi.fn();
|
|
660
|
-
const { stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
661
|
-
// Toggle a setting, then toggle another setting
|
|
662
|
-
await act(async () => {
|
|
663
|
-
stdin.write(TerminalKeys.ENTER); // Enter
|
|
664
|
-
});
|
|
665
|
-
await waitUntilReady();
|
|
666
|
-
await act(async () => {
|
|
667
|
-
stdin.write(TerminalKeys.DOWN_ARROW); // Down
|
|
668
|
-
});
|
|
669
|
-
await waitUntilReady();
|
|
670
|
-
await act(async () => {
|
|
671
|
-
stdin.write(TerminalKeys.ENTER); // Enter
|
|
672
|
-
});
|
|
673
|
-
await waitUntilReady();
|
|
674
|
-
// Should track multiple modified settings
|
|
675
|
-
unmount();
|
|
676
|
-
});
|
|
677
|
-
it('should handle scrolling when there are many settings', async () => {
|
|
678
|
-
const settings = createMockSettings();
|
|
679
|
-
const onSelect = vi.fn();
|
|
680
|
-
const { stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
681
|
-
// Navigate down many times to test scrolling
|
|
682
|
-
await act(async () => {
|
|
683
|
-
for (let i = 0; i < 10; i++) {
|
|
684
|
-
stdin.write(TerminalKeys.DOWN_ARROW); // Down arrow
|
|
685
|
-
}
|
|
686
|
-
});
|
|
687
|
-
await waitUntilReady();
|
|
688
|
-
unmount();
|
|
689
|
-
});
|
|
690
|
-
});
|
|
691
|
-
describe('Specific Settings Behavior', () => {
|
|
692
|
-
it('should show correct display values for settings with different states', async () => {
|
|
693
|
-
const settings = createMockSettings({
|
|
694
|
-
user: {
|
|
695
|
-
settings: { vimMode: true, hideTips: false },
|
|
696
|
-
originalSettings: { vimMode: true, hideTips: false },
|
|
697
|
-
path: '',
|
|
698
|
-
},
|
|
699
|
-
system: {
|
|
700
|
-
settings: { hideWindowTitle: true },
|
|
701
|
-
originalSettings: { hideWindowTitle: true },
|
|
702
|
-
path: '',
|
|
703
|
-
},
|
|
704
|
-
workspace: {
|
|
705
|
-
settings: { ideMode: false },
|
|
706
|
-
originalSettings: { ideMode: false },
|
|
707
|
-
path: '',
|
|
708
|
-
},
|
|
709
|
-
});
|
|
710
|
-
const onSelect = vi.fn();
|
|
711
|
-
const { lastFrame, unmount } = await renderDialog(settings, onSelect);
|
|
712
|
-
const output = lastFrame();
|
|
713
|
-
// Should contain settings labels
|
|
714
|
-
expect(output).toContain('Settings');
|
|
715
|
-
unmount();
|
|
716
|
-
});
|
|
717
|
-
it('should handle immediate settings save for non-restart-required settings', async () => {
|
|
718
|
-
const settings = createMockSettings();
|
|
719
|
-
const onSelect = vi.fn();
|
|
720
|
-
const { stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
721
|
-
// Toggle a non-restart-required setting (like hideTips)
|
|
722
|
-
await act(async () => {
|
|
723
|
-
stdin.write(TerminalKeys.ENTER); // Enter - toggle current setting
|
|
724
|
-
});
|
|
725
|
-
await waitUntilReady();
|
|
726
|
-
// Should save immediately without showing restart prompt
|
|
727
|
-
unmount();
|
|
728
|
-
});
|
|
729
|
-
it('should show restart prompt for restart-required settings', async () => {
|
|
730
|
-
const settings = createMockSettings();
|
|
731
|
-
const onSelect = vi.fn();
|
|
732
|
-
const { lastFrame, unmount } = await renderDialog(settings, onSelect);
|
|
733
|
-
// This test would need to navigate to a specific restart-required setting
|
|
734
|
-
// Since we can't easily target specific settings, we test the general behavior
|
|
735
|
-
// Should not show restart prompt initially
|
|
736
|
-
await waitFor(() => {
|
|
737
|
-
expect(lastFrame()).not.toContain('Changes that require a restart have been modified');
|
|
738
|
-
});
|
|
739
|
-
unmount();
|
|
740
|
-
});
|
|
741
|
-
it('should clear restart prompt when switching scopes', async () => {
|
|
742
|
-
const settings = createMockSettings();
|
|
743
|
-
const onSelect = vi.fn();
|
|
744
|
-
const { unmount } = await renderDialog(settings, onSelect);
|
|
745
|
-
// Restart prompt should be cleared when switching scopes
|
|
746
|
-
unmount();
|
|
747
|
-
});
|
|
748
|
-
});
|
|
749
|
-
describe('Settings Display Values', () => {
|
|
750
|
-
it('should show correct values for inherited settings', async () => {
|
|
751
|
-
const settings = createMockSettings({
|
|
752
|
-
system: {
|
|
753
|
-
settings: { vimMode: true, hideWindowTitle: false },
|
|
754
|
-
originalSettings: { vimMode: true, hideWindowTitle: false },
|
|
755
|
-
path: '',
|
|
756
|
-
},
|
|
757
|
-
});
|
|
758
|
-
const onSelect = vi.fn();
|
|
759
|
-
const { lastFrame, unmount } = await renderDialog(settings, onSelect);
|
|
760
|
-
const output = lastFrame();
|
|
761
|
-
// Settings should show inherited values
|
|
762
|
-
expect(output).toContain('Settings');
|
|
763
|
-
unmount();
|
|
764
|
-
});
|
|
765
|
-
it('should show override indicator for overridden settings', async () => {
|
|
766
|
-
const settings = createMockSettings({
|
|
767
|
-
user: {
|
|
768
|
-
settings: { vimMode: false },
|
|
769
|
-
originalSettings: { vimMode: false },
|
|
770
|
-
path: '',
|
|
771
|
-
},
|
|
772
|
-
system: {
|
|
773
|
-
settings: { vimMode: true },
|
|
774
|
-
originalSettings: { vimMode: true },
|
|
775
|
-
path: '',
|
|
776
|
-
},
|
|
777
|
-
});
|
|
778
|
-
const onSelect = vi.fn();
|
|
779
|
-
const { lastFrame, unmount } = await renderDialog(settings, onSelect);
|
|
780
|
-
const output = lastFrame();
|
|
781
|
-
// Should show settings with override indicators
|
|
782
|
-
expect(output).toContain('Settings');
|
|
783
|
-
unmount();
|
|
784
|
-
});
|
|
785
|
-
});
|
|
786
|
-
describe('Race Condition Regression Tests', () => {
|
|
787
|
-
it.each([
|
|
788
|
-
{
|
|
789
|
-
name: 'not reset sibling settings when toggling a nested setting multiple times',
|
|
790
|
-
toggleCount: 5,
|
|
791
|
-
shellSettings: {
|
|
792
|
-
showColor: false,
|
|
793
|
-
enableInteractiveShell: true,
|
|
794
|
-
},
|
|
795
|
-
expectedSiblings: {
|
|
796
|
-
enableInteractiveShell: true,
|
|
797
|
-
},
|
|
798
|
-
},
|
|
799
|
-
{
|
|
800
|
-
name: 'preserve multiple sibling settings in nested objects during rapid toggles',
|
|
801
|
-
toggleCount: 3,
|
|
802
|
-
shellSettings: {
|
|
803
|
-
showColor: false,
|
|
804
|
-
enableInteractiveShell: true,
|
|
805
|
-
pager: 'less',
|
|
806
|
-
},
|
|
807
|
-
expectedSiblings: {
|
|
808
|
-
enableInteractiveShell: true,
|
|
809
|
-
pager: 'less',
|
|
810
|
-
},
|
|
811
|
-
},
|
|
812
|
-
])('should $name', async ({ toggleCount, shellSettings }) => {
|
|
813
|
-
vi.mocked(getSettingsSchema).mockReturnValue(TOOLS_SHELL_FAKE_SCHEMA);
|
|
814
|
-
const settings = createMockSettings({
|
|
815
|
-
tools: {
|
|
816
|
-
shell: shellSettings,
|
|
817
|
-
},
|
|
818
|
-
});
|
|
819
|
-
const setValueSpy = vi.spyOn(settings, 'setValue');
|
|
820
|
-
const onSelect = vi.fn();
|
|
821
|
-
const { stdin, unmount } = await renderDialog(settings, onSelect);
|
|
822
|
-
for (let i = 0; i < toggleCount; i++) {
|
|
823
|
-
act(() => {
|
|
824
|
-
stdin.write(TerminalKeys.ENTER);
|
|
825
|
-
});
|
|
826
|
-
}
|
|
827
|
-
await waitFor(() => {
|
|
828
|
-
expect(setValueSpy).toHaveBeenCalled();
|
|
829
|
-
});
|
|
830
|
-
// With the store pattern, setValue is called atomically per key.
|
|
831
|
-
// Sibling preservation is handled by LoadedSettings internally.
|
|
832
|
-
const calls = setValueSpy.mock.calls;
|
|
833
|
-
expect(calls.length).toBeGreaterThan(0);
|
|
834
|
-
calls.forEach((call) => {
|
|
835
|
-
// Each call should target only 'tools.shell.showColor'
|
|
836
|
-
expect(call[1]).toBe('tools.shell.showColor');
|
|
837
|
-
});
|
|
838
|
-
unmount();
|
|
839
|
-
});
|
|
840
|
-
});
|
|
841
|
-
describe('Keyboard Shortcuts Edge Cases', () => {
|
|
842
|
-
it('should handle rapid key presses gracefully', async () => {
|
|
843
|
-
const settings = createMockSettings();
|
|
844
|
-
const onSelect = vi.fn();
|
|
845
|
-
const { stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
846
|
-
// Rapid navigation
|
|
847
|
-
await act(async () => {
|
|
848
|
-
for (let i = 0; i < 5; i++) {
|
|
849
|
-
stdin.write(TerminalKeys.DOWN_ARROW);
|
|
850
|
-
stdin.write(TerminalKeys.UP_ARROW);
|
|
851
|
-
}
|
|
852
|
-
});
|
|
853
|
-
await waitUntilReady();
|
|
854
|
-
// Should not crash
|
|
855
|
-
unmount();
|
|
856
|
-
});
|
|
857
|
-
it.each([
|
|
858
|
-
{ key: 'Ctrl+C', code: '\u0003' },
|
|
859
|
-
{ key: 'Ctrl+L', code: '\u000C' },
|
|
860
|
-
])('should handle $key to reset current setting to default', async ({ code }) => {
|
|
861
|
-
const settings = createMockSettings({ vimMode: true });
|
|
862
|
-
const onSelect = vi.fn();
|
|
863
|
-
const { stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
864
|
-
await act(async () => {
|
|
865
|
-
stdin.write(code);
|
|
866
|
-
});
|
|
867
|
-
await waitUntilReady();
|
|
868
|
-
// Should reset the current setting to its default value
|
|
869
|
-
unmount();
|
|
870
|
-
});
|
|
871
|
-
it('should handle navigation when only one setting exists', async () => {
|
|
872
|
-
const settings = createMockSettings();
|
|
873
|
-
const onSelect = vi.fn();
|
|
874
|
-
const { stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
875
|
-
// Try to navigate when potentially at bounds
|
|
876
|
-
await act(async () => {
|
|
877
|
-
stdin.write(TerminalKeys.DOWN_ARROW);
|
|
878
|
-
});
|
|
879
|
-
await waitUntilReady();
|
|
880
|
-
await act(async () => {
|
|
881
|
-
stdin.write(TerminalKeys.UP_ARROW);
|
|
882
|
-
});
|
|
883
|
-
await waitUntilReady();
|
|
884
|
-
unmount();
|
|
885
|
-
});
|
|
886
|
-
it('should properly handle Tab navigation between sections', async () => {
|
|
887
|
-
const settings = createMockSettings();
|
|
888
|
-
const onSelect = vi.fn();
|
|
889
|
-
const { lastFrame, unmount } = await renderDialog(settings, onSelect);
|
|
890
|
-
// Wait for initial render
|
|
891
|
-
await waitFor(() => {
|
|
892
|
-
expect(lastFrame()).toContain('Vim Mode');
|
|
893
|
-
});
|
|
894
|
-
// Verify initial state: settings section active, scope section inactive
|
|
895
|
-
expect(lastFrame()).toContain('Vim Mode'); // Settings section active
|
|
896
|
-
expect(lastFrame()).toContain('Apply To'); // Scope section (don't rely on exact spacing)
|
|
897
|
-
// This test validates the rendered UI structure for tab navigation
|
|
898
|
-
// Actual tab behavior testing is complex due to keypress handling
|
|
899
|
-
unmount();
|
|
900
|
-
});
|
|
901
|
-
});
|
|
902
|
-
describe('Error Recovery', () => {
|
|
903
|
-
it('should handle malformed settings gracefully', async () => {
|
|
904
|
-
// Create settings with potentially problematic values
|
|
905
|
-
const settings = createMockSettings({
|
|
906
|
-
user: {
|
|
907
|
-
settings: { vimMode: null },
|
|
908
|
-
originalSettings: { vimMode: null },
|
|
909
|
-
path: '',
|
|
910
|
-
},
|
|
911
|
-
});
|
|
912
|
-
const onSelect = vi.fn();
|
|
913
|
-
const { lastFrame, unmount } = await renderDialog(settings, onSelect);
|
|
914
|
-
// Should still render without crashing
|
|
915
|
-
expect(lastFrame()).toContain('Settings');
|
|
916
|
-
unmount();
|
|
917
|
-
});
|
|
918
|
-
it('should handle missing setting definitions gracefully', async () => {
|
|
919
|
-
const settings = createMockSettings();
|
|
920
|
-
const onSelect = vi.fn();
|
|
921
|
-
// Should not crash even if some settings are missing definitions
|
|
922
|
-
const { lastFrame, unmount } = await renderDialog(settings, onSelect);
|
|
923
|
-
expect(lastFrame()).toContain('Settings');
|
|
924
|
-
unmount();
|
|
925
|
-
});
|
|
926
|
-
});
|
|
927
|
-
describe('Complex User Interactions', () => {
|
|
928
|
-
it('should handle complete user workflow: navigate, toggle, change scope, exit', async () => {
|
|
929
|
-
const settings = createMockSettings();
|
|
930
|
-
const onSelect = vi.fn();
|
|
931
|
-
const { lastFrame, unmount } = await renderDialog(settings, onSelect);
|
|
932
|
-
// Wait for initial render
|
|
933
|
-
await waitFor(() => {
|
|
934
|
-
expect(lastFrame()).toContain('Vim Mode');
|
|
935
|
-
});
|
|
936
|
-
// Verify the complete UI is rendered with all necessary sections
|
|
937
|
-
expect(lastFrame()).toContain('Settings'); // Title
|
|
938
|
-
expect(lastFrame()).toContain('Vim Mode'); // Active setting
|
|
939
|
-
expect(lastFrame()).toContain('Apply To'); // Scope section
|
|
940
|
-
expect(lastFrame()).toContain('User Settings'); // Scope options (no numbers when settings focused)
|
|
941
|
-
// Use regex for more flexible help text matching
|
|
942
|
-
expect(lastFrame()).toMatch(/Enter.*select.*Tab.*focus.*Esc.*close/);
|
|
943
|
-
// This test validates the complete UI structure is available for user workflow
|
|
944
|
-
// Individual interactions are tested in focused unit tests
|
|
945
|
-
unmount();
|
|
946
|
-
});
|
|
947
|
-
it('should allow changing multiple settings without losing pending changes', async () => {
|
|
948
|
-
const settings = createMockSettings();
|
|
949
|
-
const onSelect = vi.fn();
|
|
950
|
-
const { stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
951
|
-
// Toggle multiple settings
|
|
952
|
-
await act(async () => {
|
|
953
|
-
stdin.write(TerminalKeys.ENTER); // Enter
|
|
954
|
-
});
|
|
955
|
-
await waitUntilReady();
|
|
956
|
-
await act(async () => {
|
|
957
|
-
stdin.write(TerminalKeys.DOWN_ARROW); // Down
|
|
958
|
-
});
|
|
959
|
-
await waitUntilReady();
|
|
960
|
-
await act(async () => {
|
|
961
|
-
stdin.write(TerminalKeys.ENTER); // Enter
|
|
962
|
-
});
|
|
963
|
-
await waitUntilReady();
|
|
964
|
-
await act(async () => {
|
|
965
|
-
stdin.write(TerminalKeys.DOWN_ARROW); // Down
|
|
966
|
-
});
|
|
967
|
-
await waitUntilReady();
|
|
968
|
-
await act(async () => {
|
|
969
|
-
stdin.write(TerminalKeys.ENTER); // Enter
|
|
970
|
-
});
|
|
971
|
-
await waitUntilReady();
|
|
972
|
-
// The test verifies that all changes are preserved and the dialog still works
|
|
973
|
-
// This tests the fix for the bug where changing one setting would reset all pending changes
|
|
974
|
-
unmount();
|
|
975
|
-
});
|
|
976
|
-
it('should maintain state consistency during complex interactions', async () => {
|
|
977
|
-
const settings = createMockSettings({ vimMode: true });
|
|
978
|
-
const onSelect = vi.fn();
|
|
979
|
-
const { stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
980
|
-
// Multiple scope changes
|
|
981
|
-
await act(async () => {
|
|
982
|
-
stdin.write(TerminalKeys.TAB); // Tab to scope
|
|
983
|
-
});
|
|
984
|
-
await waitUntilReady();
|
|
985
|
-
await act(async () => {
|
|
986
|
-
stdin.write('2'); // Workspace
|
|
987
|
-
});
|
|
988
|
-
await waitUntilReady();
|
|
989
|
-
await act(async () => {
|
|
990
|
-
stdin.write(TerminalKeys.TAB); // Tab to settings
|
|
991
|
-
});
|
|
992
|
-
await waitUntilReady();
|
|
993
|
-
await act(async () => {
|
|
994
|
-
stdin.write(TerminalKeys.TAB); // Tab to scope
|
|
995
|
-
});
|
|
996
|
-
await waitUntilReady();
|
|
997
|
-
await act(async () => {
|
|
998
|
-
stdin.write('1'); // User
|
|
999
|
-
});
|
|
1000
|
-
await waitUntilReady();
|
|
1001
|
-
// Should maintain consistent state
|
|
1002
|
-
unmount();
|
|
1003
|
-
});
|
|
1004
|
-
it('should handle restart workflow correctly', async () => {
|
|
1005
|
-
const settings = createMockSettings();
|
|
1006
|
-
const onRestartRequest = vi.fn();
|
|
1007
|
-
const { stdin, unmount, waitUntilReady } = await renderDialog(settings, vi.fn(), {
|
|
1008
|
-
onRestartRequest,
|
|
1009
|
-
});
|
|
1010
|
-
// This would test the restart workflow if we could trigger it
|
|
1011
|
-
await act(async () => {
|
|
1012
|
-
stdin.write('r'); // Try restart key
|
|
1013
|
-
});
|
|
1014
|
-
await waitUntilReady();
|
|
1015
|
-
// Without restart prompt showing, this should have no effect
|
|
1016
|
-
expect(onRestartRequest).not.toHaveBeenCalled();
|
|
1017
|
-
unmount();
|
|
1018
|
-
});
|
|
1019
|
-
});
|
|
1020
|
-
describe('Restart and Search Conflict Regression', () => {
|
|
1021
|
-
it('should prioritize restart request over search text box when showRestartPrompt is true', async () => {
|
|
1022
|
-
vi.mocked(getSettingsSchema).mockReturnValue(TOOLS_SHELL_FAKE_SCHEMA);
|
|
1023
|
-
const settings = createMockSettings();
|
|
1024
|
-
const onRestartRequest = vi.fn();
|
|
1025
|
-
const { stdin, lastFrame, unmount, waitUntilReady } = await renderDialog(settings, vi.fn(), {
|
|
1026
|
-
onRestartRequest,
|
|
1027
|
-
});
|
|
1028
|
-
// Wait for initial render
|
|
1029
|
-
await waitFor(() => expect(lastFrame()).toContain('Show Color'));
|
|
1030
|
-
// Navigate to "Enable Interactive Shell" (second item in TOOLS_SHELL_FAKE_SCHEMA)
|
|
1031
|
-
await act(async () => {
|
|
1032
|
-
stdin.write(TerminalKeys.DOWN_ARROW);
|
|
1033
|
-
});
|
|
1034
|
-
await waitUntilReady();
|
|
1035
|
-
// Wait for navigation to complete
|
|
1036
|
-
await waitFor(() => expect(lastFrame()).toContain('● Enable Interactive Shell'));
|
|
1037
|
-
// Toggle it to trigger restart required
|
|
1038
|
-
await act(async () => {
|
|
1039
|
-
stdin.write(TerminalKeys.ENTER);
|
|
1040
|
-
});
|
|
1041
|
-
await waitUntilReady();
|
|
1042
|
-
await waitFor(() => {
|
|
1043
|
-
expect(lastFrame()).toContain('Changes that require a restart have been modified');
|
|
1044
|
-
});
|
|
1045
|
-
// Press 'r' - it should call onRestartRequest, NOT be handled by search
|
|
1046
|
-
await act(async () => {
|
|
1047
|
-
stdin.write('r');
|
|
1048
|
-
});
|
|
1049
|
-
await waitUntilReady();
|
|
1050
|
-
await waitFor(() => {
|
|
1051
|
-
expect(onRestartRequest).toHaveBeenCalled();
|
|
1052
|
-
});
|
|
1053
|
-
unmount();
|
|
1054
|
-
});
|
|
1055
|
-
it('should hide search box when showRestartPrompt is true', async () => {
|
|
1056
|
-
vi.mocked(getSettingsSchema).mockReturnValue(TOOLS_SHELL_FAKE_SCHEMA);
|
|
1057
|
-
const settings = createMockSettings();
|
|
1058
|
-
const { stdin, lastFrame, unmount, waitUntilReady } = await renderDialog(settings, vi.fn());
|
|
1059
|
-
// Search box should be visible initially (searchPlaceholder)
|
|
1060
|
-
expect(lastFrame()).toContain('Search to filter');
|
|
1061
|
-
// Navigate to "Enable Interactive Shell" and toggle it
|
|
1062
|
-
await act(async () => {
|
|
1063
|
-
stdin.write(TerminalKeys.DOWN_ARROW);
|
|
1064
|
-
});
|
|
1065
|
-
await waitUntilReady();
|
|
1066
|
-
await waitFor(() => expect(lastFrame()).toContain('● Enable Interactive Shell'));
|
|
1067
|
-
await act(async () => {
|
|
1068
|
-
stdin.write(TerminalKeys.ENTER);
|
|
1069
|
-
});
|
|
1070
|
-
await waitUntilReady();
|
|
1071
|
-
await waitFor(() => {
|
|
1072
|
-
expect(lastFrame()).toContain('Changes that require a restart have been modified');
|
|
1073
|
-
});
|
|
1074
|
-
// Search box should now be hidden
|
|
1075
|
-
expect(lastFrame()).not.toContain('Search to filter');
|
|
1076
|
-
unmount();
|
|
1077
|
-
});
|
|
1078
|
-
});
|
|
1079
|
-
describe('String Settings Editing', () => {
|
|
1080
|
-
it('should allow editing and committing a string setting', async () => {
|
|
1081
|
-
const settings = createMockSettings({
|
|
1082
|
-
'general.sessionCleanup.maxAge': 'initial',
|
|
1083
|
-
});
|
|
1084
|
-
const onSelect = vi.fn();
|
|
1085
|
-
const { stdin, unmount, waitUntilReady } = await renderWithProviders(_jsx(SettingsDialog, { onSelect: onSelect }), { settings, config: makeFakeConfig() });
|
|
1086
|
-
// Search for 'chat history' to filter the list
|
|
1087
|
-
await act(async () => {
|
|
1088
|
-
stdin.write('chat history');
|
|
1089
|
-
});
|
|
1090
|
-
await waitUntilReady();
|
|
1091
|
-
// Press Down Arrow to focus the list
|
|
1092
|
-
await act(async () => {
|
|
1093
|
-
stdin.write(TerminalKeys.DOWN_ARROW);
|
|
1094
|
-
});
|
|
1095
|
-
await waitUntilReady();
|
|
1096
|
-
// Press Enter to start editing, type new value, and commit
|
|
1097
|
-
await act(async () => {
|
|
1098
|
-
stdin.write('\r'); // Start editing
|
|
1099
|
-
});
|
|
1100
|
-
await waitUntilReady();
|
|
1101
|
-
await act(async () => {
|
|
1102
|
-
stdin.write('new value');
|
|
1103
|
-
});
|
|
1104
|
-
await waitUntilReady();
|
|
1105
|
-
await act(async () => {
|
|
1106
|
-
stdin.write('\r'); // Commit
|
|
1107
|
-
});
|
|
1108
|
-
await waitUntilReady();
|
|
1109
|
-
// Simulate the settings file being updated on disk
|
|
1110
|
-
await act(async () => {
|
|
1111
|
-
settings.setValue(SettingScope.User, 'general.sessionCleanup.maxAge', 'new value');
|
|
1112
|
-
});
|
|
1113
|
-
await waitUntilReady();
|
|
1114
|
-
// Press Escape to exit
|
|
1115
|
-
await act(async () => {
|
|
1116
|
-
stdin.write('\u001B');
|
|
1117
|
-
});
|
|
1118
|
-
await waitUntilReady();
|
|
1119
|
-
await waitFor(() => {
|
|
1120
|
-
expect(onSelect).toHaveBeenCalledWith(undefined, 'User');
|
|
1121
|
-
});
|
|
1122
|
-
unmount();
|
|
1123
|
-
});
|
|
1124
|
-
});
|
|
1125
|
-
describe('Array Settings Editing', () => {
|
|
1126
|
-
const typeInput = async (stdin, input) => {
|
|
1127
|
-
for (const ch of input) {
|
|
1128
|
-
await act(async () => {
|
|
1129
|
-
stdin.write(ch);
|
|
1130
|
-
});
|
|
1131
|
-
}
|
|
1132
|
-
};
|
|
1133
|
-
it('should parse comma-separated input as string arrays', async () => {
|
|
1134
|
-
vi.mocked(getSettingsSchema).mockReturnValue(ARRAY_FAKE_SCHEMA);
|
|
1135
|
-
const settings = createMockSettings();
|
|
1136
|
-
const setValueSpy = vi.spyOn(settings, 'setValue');
|
|
1137
|
-
const { stdin, unmount } = await renderDialog(settings, vi.fn());
|
|
1138
|
-
await act(async () => {
|
|
1139
|
-
stdin.write(TerminalKeys.ENTER); // Start editing first array setting
|
|
1140
|
-
});
|
|
1141
|
-
await typeInput(stdin, 'first/path, second/path,third/path');
|
|
1142
|
-
await act(async () => {
|
|
1143
|
-
stdin.write(TerminalKeys.ENTER); // Commit
|
|
1144
|
-
});
|
|
1145
|
-
await waitFor(() => {
|
|
1146
|
-
expect(setValueSpy).toHaveBeenCalledWith(SettingScope.User, 'context.fileFiltering.customIgnoreFilePaths', ['first/path', 'second/path', 'third/path']);
|
|
1147
|
-
});
|
|
1148
|
-
unmount();
|
|
1149
|
-
});
|
|
1150
|
-
it('should parse JSON array input for allowedExtensions', async () => {
|
|
1151
|
-
vi.mocked(getSettingsSchema).mockReturnValue(ARRAY_FAKE_SCHEMA);
|
|
1152
|
-
const settings = createMockSettings();
|
|
1153
|
-
const setValueSpy = vi.spyOn(settings, 'setValue');
|
|
1154
|
-
const { stdin, unmount } = await renderDialog(settings, vi.fn());
|
|
1155
|
-
await act(async () => {
|
|
1156
|
-
stdin.write(TerminalKeys.DOWN_ARROW); // Move to second array setting
|
|
1157
|
-
});
|
|
1158
|
-
await act(async () => {
|
|
1159
|
-
stdin.write(TerminalKeys.ENTER); // Start editing
|
|
1160
|
-
});
|
|
1161
|
-
await typeInput(stdin, '["^github\\\\.com/.*$", "^gitlab\\\\.com/.*$"]');
|
|
1162
|
-
await act(async () => {
|
|
1163
|
-
stdin.write(TerminalKeys.ENTER); // Commit
|
|
1164
|
-
});
|
|
1165
|
-
await waitFor(() => {
|
|
1166
|
-
expect(setValueSpy).toHaveBeenCalledWith(SettingScope.User, 'security.allowedExtensions', ['^github\\.com/.*$', '^gitlab\\.com/.*$']);
|
|
1167
|
-
});
|
|
1168
|
-
unmount();
|
|
1169
|
-
});
|
|
1170
|
-
});
|
|
1171
|
-
describe('Search Functionality', () => {
|
|
1172
|
-
it('should display text entered in search', async () => {
|
|
1173
|
-
const settings = createMockSettings();
|
|
1174
|
-
const onSelect = vi.fn();
|
|
1175
|
-
const { lastFrame, stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
1176
|
-
// Wait for initial render and verify that search is not active
|
|
1177
|
-
await waitFor(() => {
|
|
1178
|
-
expect(lastFrame()).not.toContain('> Search:');
|
|
1179
|
-
});
|
|
1180
|
-
expect(lastFrame()).toContain('Search to filter');
|
|
1181
|
-
// Press '/' to enter search mode
|
|
1182
|
-
await act(async () => {
|
|
1183
|
-
stdin.write('/');
|
|
1184
|
-
});
|
|
1185
|
-
await waitUntilReady();
|
|
1186
|
-
await waitFor(() => {
|
|
1187
|
-
expect(lastFrame()).toContain('/');
|
|
1188
|
-
expect(lastFrame()).not.toContain('Search to filter');
|
|
1189
|
-
});
|
|
1190
|
-
unmount();
|
|
1191
|
-
});
|
|
1192
|
-
it('should show search query and filter settings as user types', async () => {
|
|
1193
|
-
const settings = createMockSettings();
|
|
1194
|
-
const onSelect = vi.fn();
|
|
1195
|
-
const { lastFrame, stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
1196
|
-
await act(async () => {
|
|
1197
|
-
stdin.write('yolo');
|
|
1198
|
-
});
|
|
1199
|
-
await waitUntilReady();
|
|
1200
|
-
await waitFor(() => {
|
|
1201
|
-
expect(lastFrame()).toContain('yolo');
|
|
1202
|
-
expect(lastFrame()).toContain('Disable YOLO Mode');
|
|
1203
|
-
});
|
|
1204
|
-
unmount();
|
|
1205
|
-
});
|
|
1206
|
-
it('should exit search settings when Escape is pressed', async () => {
|
|
1207
|
-
const settings = createMockSettings();
|
|
1208
|
-
const onSelect = vi.fn();
|
|
1209
|
-
const { lastFrame, stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
1210
|
-
await act(async () => {
|
|
1211
|
-
stdin.write('vim');
|
|
1212
|
-
});
|
|
1213
|
-
await waitUntilReady();
|
|
1214
|
-
await waitFor(() => {
|
|
1215
|
-
expect(lastFrame()).toContain('vim');
|
|
1216
|
-
});
|
|
1217
|
-
// Press Escape
|
|
1218
|
-
await act(async () => {
|
|
1219
|
-
stdin.write(TerminalKeys.ESCAPE);
|
|
1220
|
-
});
|
|
1221
|
-
await waitUntilReady();
|
|
1222
|
-
await waitFor(() => {
|
|
1223
|
-
// onSelect is called with (settingName, scope).
|
|
1224
|
-
// undefined settingName means "close dialog"
|
|
1225
|
-
expect(onSelect).toHaveBeenCalledWith(undefined, expect.anything());
|
|
1226
|
-
});
|
|
1227
|
-
unmount();
|
|
1228
|
-
});
|
|
1229
|
-
it('should handle backspace to modify search query', async () => {
|
|
1230
|
-
const settings = createMockSettings();
|
|
1231
|
-
const onSelect = vi.fn();
|
|
1232
|
-
const { lastFrame, stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
1233
|
-
await act(async () => {
|
|
1234
|
-
stdin.write('vimm');
|
|
1235
|
-
});
|
|
1236
|
-
await waitUntilReady();
|
|
1237
|
-
await waitFor(() => {
|
|
1238
|
-
expect(lastFrame()).toContain('vimm');
|
|
1239
|
-
});
|
|
1240
|
-
// Press backspace
|
|
1241
|
-
await act(async () => {
|
|
1242
|
-
stdin.write(TerminalKeys.BACKSPACE);
|
|
1243
|
-
});
|
|
1244
|
-
await waitUntilReady();
|
|
1245
|
-
await waitFor(() => {
|
|
1246
|
-
expect(lastFrame()).toContain('vim');
|
|
1247
|
-
expect(lastFrame()).toContain('Vim Mode');
|
|
1248
|
-
expect(lastFrame()).not.toContain('Hook Notifications');
|
|
1249
|
-
});
|
|
1250
|
-
unmount();
|
|
1251
|
-
});
|
|
1252
|
-
it('should display nothing when search yields no results', async () => {
|
|
1253
|
-
const settings = createMockSettings();
|
|
1254
|
-
const onSelect = vi.fn();
|
|
1255
|
-
const { lastFrame, stdin, unmount, waitUntilReady } = await renderDialog(settings, onSelect);
|
|
1256
|
-
// Type a search query that won't match any settings
|
|
1257
|
-
await act(async () => {
|
|
1258
|
-
stdin.write('nonexistentsetting');
|
|
1259
|
-
});
|
|
1260
|
-
await waitUntilReady();
|
|
1261
|
-
await waitFor(() => {
|
|
1262
|
-
expect(lastFrame()).toContain('nonexistentsetting');
|
|
1263
|
-
expect(lastFrame()).not.toContain('Vim Mode'); // Should not contain any settings
|
|
1264
|
-
expect(lastFrame()).not.toContain('Enable Auto Update'); // Should not contain any settings
|
|
1265
|
-
});
|
|
1266
|
-
unmount();
|
|
1267
|
-
});
|
|
1268
|
-
});
|
|
1269
|
-
describe('Snapshot Tests', () => {
|
|
1270
|
-
/**
|
|
1271
|
-
* Snapshot tests for SettingsDialog component using ink-testing-library.
|
|
1272
|
-
* These tests capture the visual output of the component in various states.
|
|
1273
|
-
* The snapshots help ensure UI consistency and catch unintended visual changes.
|
|
1274
|
-
*/
|
|
1275
|
-
it.each([
|
|
1276
|
-
{
|
|
1277
|
-
name: 'default state',
|
|
1278
|
-
userSettings: {},
|
|
1279
|
-
systemSettings: {},
|
|
1280
|
-
workspaceSettings: {},
|
|
1281
|
-
stdinActions: undefined,
|
|
1282
|
-
},
|
|
1283
|
-
{
|
|
1284
|
-
name: 'various boolean settings enabled',
|
|
1285
|
-
userSettings: {
|
|
1286
|
-
general: {
|
|
1287
|
-
vimMode: true,
|
|
1288
|
-
enableAutoUpdate: false,
|
|
1289
|
-
debugKeystrokeLogging: true,
|
|
1290
|
-
},
|
|
1291
|
-
ui: {
|
|
1292
|
-
hideWindowTitle: true,
|
|
1293
|
-
hideTips: true,
|
|
1294
|
-
showMemoryUsage: true,
|
|
1295
|
-
showLineNumbers: true,
|
|
1296
|
-
showCitations: true,
|
|
1297
|
-
accessibility: {
|
|
1298
|
-
enableLoadingPhrases: false,
|
|
1299
|
-
screenReader: true,
|
|
1300
|
-
},
|
|
1301
|
-
},
|
|
1302
|
-
ide: {
|
|
1303
|
-
enabled: true,
|
|
1304
|
-
},
|
|
1305
|
-
context: {
|
|
1306
|
-
loadMemoryFromIncludeDirectories: true,
|
|
1307
|
-
fileFiltering: {
|
|
1308
|
-
respectGitIgnore: true,
|
|
1309
|
-
respectGeminiIgnore: true,
|
|
1310
|
-
enableRecursiveFileSearch: true,
|
|
1311
|
-
enableFuzzySearch: true,
|
|
1312
|
-
},
|
|
1313
|
-
},
|
|
1314
|
-
tools: {
|
|
1315
|
-
enableInteractiveShell: true,
|
|
1316
|
-
useRipgrep: true,
|
|
1317
|
-
},
|
|
1318
|
-
security: {
|
|
1319
|
-
folderTrust: {
|
|
1320
|
-
enabled: true,
|
|
1321
|
-
},
|
|
1322
|
-
},
|
|
1323
|
-
},
|
|
1324
|
-
systemSettings: {},
|
|
1325
|
-
workspaceSettings: {},
|
|
1326
|
-
stdinActions: undefined,
|
|
1327
|
-
},
|
|
1328
|
-
{
|
|
1329
|
-
name: 'mixed boolean and number settings',
|
|
1330
|
-
userSettings: {
|
|
1331
|
-
general: {
|
|
1332
|
-
vimMode: false,
|
|
1333
|
-
enableAutoUpdate: false,
|
|
1334
|
-
},
|
|
1335
|
-
ui: {
|
|
1336
|
-
showMemoryUsage: true,
|
|
1337
|
-
hideWindowTitle: false,
|
|
1338
|
-
},
|
|
1339
|
-
tools: {
|
|
1340
|
-
truncateToolOutputThreshold: 50000,
|
|
1341
|
-
},
|
|
1342
|
-
context: {
|
|
1343
|
-
discoveryMaxDirs: 500,
|
|
1344
|
-
},
|
|
1345
|
-
model: {
|
|
1346
|
-
maxSessionTurns: 100,
|
|
1347
|
-
skipNextSpeakerCheck: false,
|
|
1348
|
-
},
|
|
1349
|
-
},
|
|
1350
|
-
systemSettings: {},
|
|
1351
|
-
workspaceSettings: {},
|
|
1352
|
-
stdinActions: undefined,
|
|
1353
|
-
},
|
|
1354
|
-
{
|
|
1355
|
-
name: 'focused on scope selector',
|
|
1356
|
-
userSettings: {},
|
|
1357
|
-
systemSettings: {},
|
|
1358
|
-
workspaceSettings: {},
|
|
1359
|
-
stdinActions: async (stdin, waitUntilReady) => {
|
|
1360
|
-
await act(async () => {
|
|
1361
|
-
stdin.write('\t');
|
|
1362
|
-
});
|
|
1363
|
-
await waitUntilReady();
|
|
1364
|
-
},
|
|
1365
|
-
},
|
|
1366
|
-
{
|
|
1367
|
-
name: 'accessibility settings enabled',
|
|
1368
|
-
userSettings: {
|
|
1369
|
-
ui: {
|
|
1370
|
-
accessibility: {
|
|
1371
|
-
enableLoadingPhrases: false,
|
|
1372
|
-
screenReader: true,
|
|
1373
|
-
},
|
|
1374
|
-
showMemoryUsage: true,
|
|
1375
|
-
showLineNumbers: true,
|
|
1376
|
-
},
|
|
1377
|
-
general: {
|
|
1378
|
-
vimMode: true,
|
|
1379
|
-
},
|
|
1380
|
-
},
|
|
1381
|
-
systemSettings: {},
|
|
1382
|
-
workspaceSettings: {},
|
|
1383
|
-
stdinActions: undefined,
|
|
1384
|
-
},
|
|
1385
|
-
{
|
|
1386
|
-
name: 'file filtering settings configured',
|
|
1387
|
-
userSettings: {
|
|
1388
|
-
context: {
|
|
1389
|
-
fileFiltering: {
|
|
1390
|
-
respectGitIgnore: false,
|
|
1391
|
-
respectGeminiIgnore: true,
|
|
1392
|
-
enableRecursiveFileSearch: false,
|
|
1393
|
-
enableFuzzySearch: false,
|
|
1394
|
-
},
|
|
1395
|
-
loadMemoryFromIncludeDirectories: true,
|
|
1396
|
-
discoveryMaxDirs: 100,
|
|
1397
|
-
},
|
|
1398
|
-
},
|
|
1399
|
-
systemSettings: {},
|
|
1400
|
-
workspaceSettings: {},
|
|
1401
|
-
stdinActions: undefined,
|
|
1402
|
-
},
|
|
1403
|
-
{
|
|
1404
|
-
name: 'tools and security settings',
|
|
1405
|
-
userSettings: {
|
|
1406
|
-
tools: {
|
|
1407
|
-
enableInteractiveShell: true,
|
|
1408
|
-
useRipgrep: true,
|
|
1409
|
-
truncateToolOutputThreshold: 25000,
|
|
1410
|
-
},
|
|
1411
|
-
security: {
|
|
1412
|
-
folderTrust: {
|
|
1413
|
-
enabled: true,
|
|
1414
|
-
},
|
|
1415
|
-
},
|
|
1416
|
-
model: {
|
|
1417
|
-
maxSessionTurns: 50,
|
|
1418
|
-
skipNextSpeakerCheck: true,
|
|
1419
|
-
},
|
|
1420
|
-
},
|
|
1421
|
-
systemSettings: {},
|
|
1422
|
-
workspaceSettings: {},
|
|
1423
|
-
stdinActions: undefined,
|
|
1424
|
-
},
|
|
1425
|
-
{
|
|
1426
|
-
name: 'all boolean settings disabled',
|
|
1427
|
-
userSettings: {
|
|
1428
|
-
general: {
|
|
1429
|
-
vimMode: false,
|
|
1430
|
-
enableAutoUpdate: true,
|
|
1431
|
-
debugKeystrokeLogging: false,
|
|
1432
|
-
},
|
|
1433
|
-
ui: {
|
|
1434
|
-
hideWindowTitle: false,
|
|
1435
|
-
hideTips: false,
|
|
1436
|
-
showMemoryUsage: false,
|
|
1437
|
-
showLineNumbers: false,
|
|
1438
|
-
showCitations: false,
|
|
1439
|
-
accessibility: {
|
|
1440
|
-
enableLoadingPhrases: true,
|
|
1441
|
-
screenReader: false,
|
|
1442
|
-
},
|
|
1443
|
-
},
|
|
1444
|
-
ide: {
|
|
1445
|
-
enabled: false,
|
|
1446
|
-
},
|
|
1447
|
-
context: {
|
|
1448
|
-
loadMemoryFromIncludeDirectories: false,
|
|
1449
|
-
fileFiltering: {
|
|
1450
|
-
respectGitIgnore: false,
|
|
1451
|
-
respectGeminiIgnore: false,
|
|
1452
|
-
enableRecursiveFileSearch: false,
|
|
1453
|
-
enableFuzzySearch: true,
|
|
1454
|
-
},
|
|
1455
|
-
},
|
|
1456
|
-
tools: {
|
|
1457
|
-
enableInteractiveShell: false,
|
|
1458
|
-
useRipgrep: false,
|
|
1459
|
-
},
|
|
1460
|
-
security: {
|
|
1461
|
-
folderTrust: {
|
|
1462
|
-
enabled: false,
|
|
1463
|
-
},
|
|
1464
|
-
},
|
|
1465
|
-
},
|
|
1466
|
-
systemSettings: {},
|
|
1467
|
-
workspaceSettings: {},
|
|
1468
|
-
stdinActions: undefined,
|
|
1469
|
-
},
|
|
1470
|
-
])('should render $name correctly', async ({ userSettings, systemSettings, workspaceSettings, stdinActions, }) => {
|
|
1471
|
-
const settings = createMockSettings({
|
|
1472
|
-
user: {
|
|
1473
|
-
settings: userSettings,
|
|
1474
|
-
originalSettings: userSettings,
|
|
1475
|
-
path: '',
|
|
1476
|
-
},
|
|
1477
|
-
system: {
|
|
1478
|
-
settings: systemSettings,
|
|
1479
|
-
originalSettings: systemSettings,
|
|
1480
|
-
path: '',
|
|
1481
|
-
},
|
|
1482
|
-
workspace: {
|
|
1483
|
-
settings: workspaceSettings,
|
|
1484
|
-
originalSettings: workspaceSettings,
|
|
1485
|
-
path: '',
|
|
1486
|
-
},
|
|
1487
|
-
});
|
|
1488
|
-
const onSelect = vi.fn();
|
|
1489
|
-
const renderResult = await renderDialog(settings, onSelect);
|
|
1490
|
-
await renderResult.waitUntilReady();
|
|
1491
|
-
if (stdinActions) {
|
|
1492
|
-
await stdinActions(renderResult.stdin, renderResult.waitUntilReady);
|
|
1493
|
-
}
|
|
1494
|
-
await expect(renderResult).toMatchSvgSnapshot();
|
|
1495
|
-
renderResult.unmount();
|
|
1496
|
-
});
|
|
1497
|
-
});
|
|
1498
|
-
});
|
|
1499
|
-
//# sourceMappingURL=SettingsDialog.test.js.map
|