@machina.ai/cell-cli 1.33.0-rc1 → 1.38.1-rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/dist/package.json +7 -7
- package/dist/src/acp/acpClient.d.ts +56 -0
- package/dist/src/{zed-integration/zedIntegration.js → acp/acpClient.js} +765 -121
- package/dist/src/acp/acpClient.js.map +1 -0
- package/dist/src/acp/acpClient.test.js +1787 -0
- package/dist/src/acp/acpClient.test.js.map +1 -0
- package/dist/src/{zed-integration → acp}/acpErrors.js +2 -0
- package/dist/src/acp/acpErrors.js.map +1 -0
- package/dist/src/acp/acpErrors.test.js.map +1 -0
- package/dist/src/{zed-integration → acp}/acpResume.test.js +83 -8
- package/dist/src/acp/acpResume.test.js.map +1 -0
- package/dist/src/acp/commandHandler.d.ts +26 -0
- package/dist/src/acp/commandHandler.js +106 -0
- package/dist/src/acp/commandHandler.js.map +1 -0
- package/dist/src/acp/commandHandler.test.js +29 -0
- package/dist/src/acp/commandHandler.test.js.map +1 -0
- package/dist/src/acp/commands/about.d.ts +11 -0
- package/dist/src/acp/commands/about.js +53 -0
- package/dist/src/acp/commands/about.js.map +1 -0
- package/dist/src/acp/commands/commandRegistry.d.ts +12 -0
- package/dist/src/acp/commands/commandRegistry.js +26 -0
- package/dist/src/acp/commands/commandRegistry.js.map +1 -0
- package/dist/src/acp/commands/extensions.d.ts +57 -0
- package/dist/src/acp/commands/extensions.js +331 -0
- package/dist/src/acp/commands/extensions.js.map +1 -0
- package/dist/src/acp/commands/help.d.ts +14 -0
- package/dist/src/acp/commands/help.js +35 -0
- package/dist/src/acp/commands/help.js.map +1 -0
- package/dist/src/acp/commands/help.test.js +40 -0
- package/dist/src/acp/commands/help.test.js.map +1 -0
- package/dist/src/acp/commands/init.d.ts +12 -0
- package/dist/src/acp/commands/init.js +47 -0
- package/dist/src/acp/commands/init.js.map +1 -0
- package/dist/src/acp/commands/memory.d.ts +34 -0
- package/dist/src/acp/commands/memory.js +86 -0
- package/dist/src/acp/commands/memory.js.map +1 -0
- package/dist/src/acp/commands/restore.d.ts +18 -0
- package/dist/src/acp/commands/restore.js +141 -0
- package/dist/src/acp/commands/restore.js.map +1 -0
- package/dist/src/acp/commands/types.d.ts +31 -0
- package/dist/src/acp/commands/types.js +7 -0
- package/dist/src/acp/commands/types.js.map +1 -0
- package/dist/src/{zed-integration → acp}/fileSystemService.d.ts +6 -2
- package/dist/src/acp/fileSystemService.js +78 -0
- package/dist/src/acp/fileSystemService.js.map +1 -0
- package/dist/src/acp/fileSystemService.test.js +162 -0
- package/dist/src/acp/fileSystemService.test.js.map +1 -0
- package/dist/src/commands/extensions/disable.js +1 -2
- package/dist/src/commands/extensions/disable.js.map +1 -1
- package/dist/src/commands/extensions/disable.test.js +2 -2
- package/dist/src/commands/extensions/disable.test.js.map +1 -1
- package/dist/src/commands/extensions/examples/policies/README.md +41 -0
- package/dist/src/commands/extensions/examples/policies/gemini-extension.json +5 -0
- package/dist/src/commands/extensions/examples/policies/policies/policies.toml +28 -0
- package/dist/src/commands/extensions/examples/themes-example/README.md +8 -5
- package/dist/src/commands/extensions/examples/themes-example/gemini-extension.json +1 -1
- package/dist/src/commands/extensions/install.d.ts +1 -0
- package/dist/src/commands/extensions/install.js +86 -6
- package/dist/src/commands/extensions/install.js.map +1 -1
- package/dist/src/commands/extensions/install.test.js +199 -28
- package/dist/src/commands/extensions/install.test.js.map +1 -1
- package/dist/src/commands/extensions/link.js +1 -2
- package/dist/src/commands/extensions/link.js.map +1 -1
- package/dist/src/commands/extensions/link.test.js +6 -22
- package/dist/src/commands/extensions/link.test.js.map +1 -1
- package/dist/src/commands/extensions/list.js +1 -2
- package/dist/src/commands/extensions/list.js.map +1 -1
- package/dist/src/commands/extensions/list.test.js +9 -25
- package/dist/src/commands/extensions/list.test.js.map +1 -1
- package/dist/src/commands/extensions/new.js +1 -1
- package/dist/src/commands/extensions/new.js.map +1 -1
- package/dist/src/commands/extensions/uninstall.d.ts +2 -1
- package/dist/src/commands/extensions/uninstall.js +27 -6
- package/dist/src/commands/extensions/uninstall.js.map +1 -1
- package/dist/src/commands/extensions/uninstall.test.js +48 -7
- package/dist/src/commands/extensions/uninstall.test.js.map +1 -1
- package/dist/src/commands/extensions/update.js +1 -2
- package/dist/src/commands/extensions/update.js.map +1 -1
- package/dist/src/commands/extensions/utils.js +1 -0
- package/dist/src/commands/extensions/utils.js.map +1 -1
- package/dist/src/commands/extensions/validate.js +1 -2
- package/dist/src/commands/extensions/validate.js.map +1 -1
- package/dist/src/commands/hooks/migrate.js +3 -0
- package/dist/src/commands/hooks/migrate.js.map +1 -1
- package/dist/src/commands/mcp/list.d.ts +3 -3
- package/dist/src/commands/mcp/list.js +68 -24
- package/dist/src/commands/mcp/list.js.map +1 -1
- package/dist/src/commands/mcp/list.test.js +69 -3
- package/dist/src/commands/mcp/list.test.js.map +1 -1
- package/dist/src/commands/mcp.test.js +2 -3
- package/dist/src/commands/mcp.test.js.map +1 -1
- package/dist/src/commands/skills/disable.test.js +4 -7
- package/dist/src/commands/skills/disable.test.js.map +1 -1
- package/dist/src/commands/skills/enable.test.js +4 -7
- package/dist/src/commands/skills/enable.test.js.map +1 -1
- package/dist/src/commands/skills/install.js +1 -2
- package/dist/src/commands/skills/install.js.map +1 -1
- package/dist/src/commands/skills/install.test.js +13 -9
- package/dist/src/commands/skills/install.test.js.map +1 -1
- package/dist/src/commands/skills/link.js +1 -2
- package/dist/src/commands/skills/link.js.map +1 -1
- package/dist/src/commands/skills/link.test.js +6 -2
- package/dist/src/commands/skills/link.test.js.map +1 -1
- package/dist/src/commands/skills/list.js +5 -8
- package/dist/src/commands/skills/list.js.map +1 -1
- package/dist/src/commands/skills/list.test.js +21 -30
- package/dist/src/commands/skills/list.test.js.map +1 -1
- package/dist/src/commands/skills/uninstall.js +1 -2
- package/dist/src/commands/skills/uninstall.js.map +1 -1
- package/dist/src/commands/skills/uninstall.test.js +10 -6
- package/dist/src/commands/skills/uninstall.test.js.map +1 -1
- package/dist/src/config/config.d.ts +18 -3
- package/dist/src/config/config.js +334 -136
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +513 -61
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/extension-manager-hydration.test.js +2 -2
- package/dist/src/config/extension-manager-hydration.test.js.map +1 -1
- package/dist/src/config/extension-manager-permissions.test.d.ts +6 -0
- package/dist/src/config/extension-manager-permissions.test.js +107 -0
- package/dist/src/config/extension-manager-permissions.test.js.map +1 -0
- package/dist/src/config/extension-manager-scope.test.js +1 -1
- package/dist/src/config/extension-manager-scope.test.js.map +1 -1
- package/dist/src/config/extension-manager-skills.test.js +9 -0
- package/dist/src/config/extension-manager-skills.test.js.map +1 -1
- package/dist/src/config/extension-manager-themes.spec.js +3 -1
- package/dist/src/config/extension-manager-themes.spec.js.map +1 -1
- package/dist/src/config/extension-manager.d.ts +16 -3
- package/dist/src/config/extension-manager.js +202 -54
- package/dist/src/config/extension-manager.js.map +1 -1
- package/dist/src/config/extension-manager.test.js +430 -0
- package/dist/src/config/extension-manager.test.js.map +1 -0
- package/dist/src/config/extension.d.ts +13 -0
- package/dist/src/config/extension.js +1 -1
- package/dist/src/config/extension.js.map +1 -1
- package/dist/src/config/extension.test.js +139 -30
- package/dist/src/config/extension.test.js.map +1 -1
- package/dist/src/config/extensionRegistryClient.d.ts +3 -1
- package/dist/src/config/extensionRegistryClient.js +29 -9
- package/dist/src/config/extensionRegistryClient.js.map +1 -1
- package/dist/src/config/extensionRegistryClient.test.js +81 -3
- package/dist/src/config/extensionRegistryClient.test.js.map +1 -1
- package/dist/src/config/extensions/consent.d.ts +11 -1
- package/dist/src/config/extensions/consent.js +27 -7
- package/dist/src/config/extensions/consent.js.map +1 -1
- package/dist/src/config/extensions/consent.test.js +43 -44
- package/dist/src/config/extensions/consent.test.js.map +1 -1
- package/dist/src/config/extensions/extensionEnablement.js +1 -0
- package/dist/src/config/extensions/extensionEnablement.js.map +1 -1
- package/dist/src/config/extensions/extensionSettings.js +20 -3
- package/dist/src/config/extensions/extensionSettings.js.map +1 -1
- package/dist/src/config/extensions/extensionSettings.test.js +17 -1
- package/dist/src/config/extensions/extensionSettings.test.js.map +1 -1
- package/dist/src/config/extensions/extensionUpdates.test.js +74 -13
- package/dist/src/config/extensions/extensionUpdates.test.js.map +1 -1
- package/dist/src/config/extensions/github.js +13 -3
- package/dist/src/config/extensions/github.js.map +1 -1
- package/dist/src/config/extensions/github.test.js +14 -1
- package/dist/src/config/extensions/github.test.js.map +1 -1
- package/dist/src/config/extensions/update.js +25 -2
- package/dist/src/config/extensions/update.js.map +1 -1
- package/dist/src/config/extensions/update.test.js +68 -3
- package/dist/src/config/extensions/update.test.js.map +1 -1
- package/dist/src/config/extensions/variables.js +14 -2
- package/dist/src/config/extensions/variables.js.map +1 -1
- package/dist/src/config/extensions/variables.test.js +16 -0
- package/dist/src/config/extensions/variables.test.js.map +1 -1
- package/dist/src/config/footerItems.d.ts +62 -0
- package/dist/src/config/footerItems.js +128 -0
- package/dist/src/config/footerItems.js.map +1 -0
- package/dist/src/config/footerItems.test.d.ts +6 -0
- package/dist/src/config/footerItems.test.js +141 -0
- package/dist/src/config/footerItems.test.js.map +1 -0
- package/dist/src/config/mcp/mcpServerEnablement.test.js +1 -0
- package/dist/src/config/mcp/mcpServerEnablement.test.js.map +1 -1
- package/dist/src/config/policy-engine.integration.test.js +90 -51
- package/dist/src/config/policy-engine.integration.test.js.map +1 -1
- package/dist/src/config/policy.d.ts +35 -3
- package/dist/src/config/policy.js +82 -5
- package/dist/src/config/policy.js.map +1 -1
- package/dist/src/config/policy.test.js +199 -0
- package/dist/src/config/policy.test.js.map +1 -0
- package/dist/src/config/sandboxConfig.js +50 -7
- package/dist/src/config/sandboxConfig.js.map +1 -1
- package/dist/src/config/sandboxConfig.test.js +227 -10
- package/dist/src/config/sandboxConfig.test.js.map +1 -1
- package/dist/src/config/settings-validation.js +1 -1
- package/dist/src/config/settings-validation.js.map +1 -1
- package/dist/src/config/settings-validation.test.js +2 -3
- package/dist/src/config/settings-validation.test.js.map +1 -1
- package/dist/src/config/settings.d.ts +26 -2
- package/dist/src/config/settings.js +102 -31
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settings.test.js +374 -146
- package/dist/src/config/settings.test.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +838 -67
- package/dist/src/config/settingsSchema.js +988 -81
- package/dist/src/config/settingsSchema.js.map +1 -1
- package/dist/src/config/settingsSchema.test.js +128 -7
- package/dist/src/config/settingsSchema.test.js.map +1 -1
- package/dist/src/config/settings_repro.test.js +0 -1
- package/dist/src/config/settings_repro.test.js.map +1 -1
- package/dist/src/config/settings_validation_warning.test.js +2 -1
- package/dist/src/config/settings_validation_warning.test.js.map +1 -1
- package/dist/src/config/trustedFolders.test.js +4 -2
- package/dist/src/config/trustedFolders.test.js.map +1 -1
- package/dist/src/config/workspace-policy-cli.test.js +209 -0
- package/dist/src/config/workspace-policy-cli.test.js.map +1 -0
- package/dist/src/core/auth.d.ts +7 -2
- package/dist/src/core/auth.js +28 -6
- package/dist/src/core/auth.js.map +1 -1
- package/dist/src/core/auth.test.js +53 -7
- package/dist/src/core/auth.test.js.map +1 -1
- package/dist/src/core/initializer.d.ts +2 -0
- package/dist/src/core/initializer.js +12 -5
- package/dist/src/core/initializer.js.map +1 -1
- package/dist/src/core/initializer.test.js +12 -2
- package/dist/src/core/initializer.test.js.map +1 -1
- package/dist/src/deferred.test.js +1 -1
- package/dist/src/deferred.test.js.map +1 -1
- package/dist/src/gemini.d.ts +3 -3
- package/dist/src/gemini.js +120 -146
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/gemini.test.js +220 -44
- package/dist/src/gemini.test.js.map +1 -1
- package/dist/src/gemini_cleanup.test.js +99 -30
- package/dist/src/gemini_cleanup.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/integration-tests/modelSteering.test.d.ts +6 -0
- package/dist/src/integration-tests/modelSteering.test.js +62 -0
- package/dist/src/integration-tests/modelSteering.test.js.map +1 -0
- package/dist/src/interactiveCli.d.ts +9 -0
- package/dist/src/interactiveCli.js +128 -0
- package/dist/src/interactiveCli.js.map +1 -0
- package/dist/src/nonInteractiveCli.d.ts +1 -1
- package/dist/src/nonInteractiveCli.js +15 -6
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/nonInteractiveCli.test.js +20 -16
- package/dist/src/nonInteractiveCli.test.js.map +1 -1
- package/dist/src/nonInteractiveCliAgentSession.d.ts +16 -0
- package/dist/src/nonInteractiveCliAgentSession.js +484 -0
- package/dist/src/nonInteractiveCliAgentSession.js.map +1 -0
- package/dist/src/nonInteractiveCliAgentSession.test.js +1837 -0
- package/dist/src/nonInteractiveCliAgentSession.test.js.map +1 -0
- package/dist/src/nonInteractiveCliCommands.js +3 -3
- package/dist/src/nonInteractiveCliCommands.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.js +41 -7
- package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.test.js +83 -6
- package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
- package/dist/src/services/CommandService.d.ts +25 -18
- package/dist/src/services/CommandService.js +51 -42
- package/dist/src/services/CommandService.js.map +1 -1
- package/dist/src/services/CommandService.test.js +44 -204
- package/dist/src/services/CommandService.test.js.map +1 -1
- package/dist/src/services/FileCommandLoader.d.ts +2 -1
- package/dist/src/services/FileCommandLoader.js +14 -6
- package/dist/src/services/FileCommandLoader.js.map +1 -1
- package/dist/src/services/FileCommandLoader.test.js.map +1 -1
- package/dist/src/services/McpPromptLoader.d.ts +2 -2
- package/dist/src/services/McpPromptLoader.js +3 -2
- package/dist/src/services/McpPromptLoader.js.map +1 -1
- package/dist/src/services/SkillCommandLoader.d.ts +23 -0
- package/dist/src/services/SkillCommandLoader.js +52 -0
- package/dist/src/services/SkillCommandLoader.js.map +1 -0
- package/dist/src/services/SkillCommandLoader.test.d.ts +6 -0
- package/dist/src/services/SkillCommandLoader.test.js +113 -0
- package/dist/src/services/SkillCommandLoader.test.js.map +1 -0
- package/dist/src/services/SlashCommandConflictHandler.d.ts +35 -0
- package/dist/src/services/SlashCommandConflictHandler.js +128 -0
- package/dist/src/services/SlashCommandConflictHandler.js.map +1 -0
- package/dist/src/services/SlashCommandConflictHandler.test.d.ts +6 -0
- package/dist/src/services/SlashCommandConflictHandler.test.js +144 -0
- package/dist/src/services/SlashCommandConflictHandler.test.js.map +1 -0
- package/dist/src/services/SlashCommandResolver.d.ts +53 -0
- package/dist/src/services/SlashCommandResolver.js +156 -0
- package/dist/src/services/SlashCommandResolver.js.map +1 -0
- package/dist/src/services/SlashCommandResolver.test.d.ts +6 -0
- package/dist/src/services/SlashCommandResolver.test.js +186 -0
- package/dist/src/services/SlashCommandResolver.test.js.map +1 -0
- package/dist/src/services/prompt-processors/atFileProcessor.js +1 -1
- package/dist/src/services/prompt-processors/atFileProcessor.js.map +1 -1
- package/dist/src/services/prompt-processors/atFileProcessor.test.js +6 -3
- package/dist/src/services/prompt-processors/atFileProcessor.test.js.map +1 -1
- package/dist/src/services/prompt-processors/shellProcessor.js +1 -1
- package/dist/src/services/prompt-processors/shellProcessor.js.map +1 -1
- package/dist/src/services/prompt-processors/shellProcessor.test.js +14 -4
- package/dist/src/services/prompt-processors/shellProcessor.test.js.map +1 -1
- package/dist/src/services/types.d.ts +8 -0
- package/dist/src/test-utils/AppRig.d.ts +83 -0
- package/dist/src/test-utils/AppRig.js +583 -0
- package/dist/src/test-utils/AppRig.js.map +1 -0
- package/dist/src/test-utils/AppRig.test.d.ts +6 -0
- package/dist/src/test-utils/AppRig.test.js +60 -0
- package/dist/src/test-utils/AppRig.test.js.map +1 -0
- package/dist/src/test-utils/MockShellExecutionService.d.ts +37 -0
- package/dist/src/test-utils/MockShellExecutionService.js +88 -0
- package/dist/src/test-utils/MockShellExecutionService.js.map +1 -0
- package/dist/src/test-utils/async.d.ts +1 -1
- package/dist/src/test-utils/async.js +1 -1
- package/dist/src/test-utils/async.js.map +1 -1
- package/dist/src/test-utils/customMatchers.d.ts +25 -5
- package/dist/src/test-utils/customMatchers.js +47 -2
- package/dist/src/test-utils/customMatchers.js.map +1 -1
- package/dist/src/test-utils/mockCommandContext.js +2 -5
- package/dist/src/test-utils/mockCommandContext.js.map +1 -1
- package/dist/src/test-utils/mockCommandContext.test.js +4 -4
- package/dist/src/test-utils/mockCommandContext.test.js.map +1 -1
- package/dist/src/test-utils/mockConfig.d.ts +1 -1
- package/dist/src/test-utils/mockConfig.js +41 -12
- package/dist/src/test-utils/mockConfig.js.map +1 -1
- package/dist/src/test-utils/mockDebugLogger.d.ts +35 -0
- package/dist/src/test-utils/mockDebugLogger.js +68 -0
- package/dist/src/test-utils/mockDebugLogger.js.map +1 -0
- package/dist/src/test-utils/mockSpinner.d.ts +6 -0
- package/dist/src/test-utils/mockSpinner.js +21 -0
- package/dist/src/test-utils/mockSpinner.js.map +1 -0
- package/dist/src/test-utils/render.d.ts +109 -14
- package/dist/src/test-utils/render.js +393 -95
- package/dist/src/test-utils/render.js.map +1 -1
- package/dist/src/test-utils/render.test.js +34 -30
- package/dist/src/test-utils/render.test.js.map +1 -1
- package/dist/src/test-utils/settings.js +2 -11
- package/dist/src/test-utils/settings.js.map +1 -1
- package/dist/src/test-utils/svg.d.ts +7 -0
- package/dist/src/test-utils/svg.js +182 -0
- package/dist/src/test-utils/svg.js.map +1 -0
- package/dist/src/ui/App.test.js +64 -36
- package/dist/src/ui/App.test.js.map +1 -1
- package/dist/src/ui/AppContainer.d.ts +2 -2
- package/dist/src/ui/AppContainer.js +696 -301
- package/dist/src/ui/AppContainer.js.map +1 -1
- package/dist/src/ui/AppContainer.test.js +1155 -707
- package/dist/src/ui/AppContainer.test.js.map +1 -1
- package/dist/src/ui/IdeIntegrationNudge.js +1 -1
- package/dist/src/ui/IdeIntegrationNudge.js.map +1 -1
- package/dist/src/ui/IdeIntegrationNudge.test.js +27 -36
- package/dist/src/ui/IdeIntegrationNudge.test.js.map +1 -1
- package/dist/src/ui/ToolConfirmationFullFrame.test.d.ts +1 -0
- package/dist/src/ui/ToolConfirmationFullFrame.test.js +158 -0
- package/dist/src/ui/ToolConfirmationFullFrame.test.js.map +1 -0
- package/dist/src/ui/auth/ApiAuthDialog.js +4 -2
- package/dist/src/ui/auth/ApiAuthDialog.js.map +1 -1
- package/dist/src/ui/auth/ApiAuthDialog.test.js +23 -13
- package/dist/src/ui/auth/ApiAuthDialog.test.js.map +1 -1
- package/dist/src/ui/auth/AuthDialog.d.ts +1 -1
- package/dist/src/ui/auth/AuthDialog.js +10 -17
- package/dist/src/ui/auth/AuthDialog.js.map +1 -1
- package/dist/src/ui/auth/AuthDialog.test.js +69 -34
- package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
- package/dist/src/ui/auth/AuthInProgress.test.js +33 -15
- package/dist/src/ui/auth/AuthInProgress.test.js.map +1 -1
- package/dist/src/ui/auth/BannedAccountDialog.d.ts +14 -0
- package/dist/src/ui/auth/BannedAccountDialog.js +66 -0
- package/dist/src/ui/auth/BannedAccountDialog.js.map +1 -0
- package/dist/src/ui/auth/BannedAccountDialog.test.d.ts +6 -0
- package/dist/src/ui/auth/BannedAccountDialog.test.js +140 -0
- package/dist/src/ui/auth/BannedAccountDialog.test.js.map +1 -0
- package/dist/src/ui/auth/LoginWithGoogleRestartDialog.js +4 -6
- package/dist/src/ui/auth/LoginWithGoogleRestartDialog.js.map +1 -1
- package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js +10 -6
- package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js.map +1 -1
- package/dist/src/ui/auth/useAuth.d.ts +4 -1
- package/dist/src/ui/auth/useAuth.js +22 -4
- package/dist/src/ui/auth/useAuth.js.map +1 -1
- package/dist/src/ui/auth/useAuth.test.js +83 -58
- package/dist/src/ui/auth/useAuth.test.js.map +1 -1
- package/dist/src/ui/colors.js +8 -2
- package/dist/src/ui/colors.js.map +1 -1
- package/dist/src/ui/commands/aboutCommand.d.ts +1 -1
- package/dist/src/ui/commands/aboutCommand.js +5 -4
- package/dist/src/ui/commands/aboutCommand.js.map +1 -1
- package/dist/src/ui/commands/aboutCommand.test.js +8 -6
- package/dist/src/ui/commands/aboutCommand.test.js.map +1 -1
- package/dist/src/ui/commands/agentsCommand.js +17 -13
- package/dist/src/ui/commands/agentsCommand.js.map +1 -1
- package/dist/src/ui/commands/agentsCommand.test.js +20 -13
- package/dist/src/ui/commands/agentsCommand.test.js.map +1 -1
- package/dist/src/ui/commands/authCommand.js +7 -5
- package/dist/src/ui/commands/authCommand.js.map +1 -1
- package/dist/src/ui/commands/authCommand.test.js +18 -13
- package/dist/src/ui/commands/authCommand.test.js.map +1 -1
- package/dist/src/ui/commands/bugCommand.js +4 -3
- package/dist/src/ui/commands/bugCommand.js.map +1 -1
- package/dist/src/ui/commands/bugCommand.test.js +29 -23
- package/dist/src/ui/commands/bugCommand.test.js.map +1 -1
- package/dist/src/ui/commands/chatCommand.d.ts +2 -0
- package/dist/src/ui/commands/chatCommand.js +60 -26
- package/dist/src/ui/commands/chatCommand.js.map +1 -1
- package/dist/src/ui/commands/chatCommand.test.js +22 -15
- package/dist/src/ui/commands/chatCommand.test.js.map +1 -1
- package/dist/src/ui/commands/clearCommand.d.ts +1 -1
- package/dist/src/ui/commands/clearCommand.js +16 -14
- package/dist/src/ui/commands/clearCommand.js.map +1 -1
- package/dist/src/ui/commands/clearCommand.test.js +27 -17
- package/dist/src/ui/commands/clearCommand.test.js.map +1 -1
- package/dist/src/ui/commands/commandsCommand.d.ts +7 -0
- package/dist/src/ui/commands/commandsCommand.js +56 -0
- package/dist/src/ui/commands/commandsCommand.js.map +1 -0
- package/dist/src/ui/commands/commandsCommand.test.d.ts +6 -0
- package/dist/src/ui/commands/commandsCommand.test.js +42 -0
- package/dist/src/ui/commands/commandsCommand.test.js.map +1 -0
- package/dist/src/ui/commands/compressCommand.d.ts +1 -1
- package/dist/src/ui/commands/compressCommand.js +2 -4
- package/dist/src/ui/commands/compressCommand.js.map +1 -1
- package/dist/src/ui/commands/compressCommand.test.js +10 -3
- package/dist/src/ui/commands/compressCommand.test.js.map +1 -1
- package/dist/src/ui/commands/copyCommand.d.ts +1 -1
- package/dist/src/ui/commands/copyCommand.js +4 -3
- package/dist/src/ui/commands/copyCommand.js.map +1 -1
- package/dist/src/ui/commands/copyCommand.test.js +10 -8
- package/dist/src/ui/commands/copyCommand.test.js.map +1 -1
- package/dist/src/ui/commands/directoryCommand.d.ts +1 -1
- package/dist/src/ui/commands/directoryCommand.js +15 -15
- package/dist/src/ui/commands/directoryCommand.js.map +1 -1
- package/dist/src/ui/commands/directoryCommand.test.js +5 -2
- package/dist/src/ui/commands/directoryCommand.test.js.map +1 -1
- package/dist/src/ui/commands/extensionsCommand.js +110 -55
- package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
- package/dist/src/ui/commands/extensionsCommand.test.js +80 -33
- package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
- package/dist/src/ui/commands/footerCommand.d.ts +7 -0
- package/dist/src/ui/commands/footerCommand.js +20 -0
- package/dist/src/ui/commands/footerCommand.js.map +1 -0
- package/dist/src/ui/commands/helpCommand.d.ts +1 -1
- package/dist/src/ui/commands/helpCommand.js.map +1 -1
- package/dist/src/ui/commands/helpCommand.test.js +1 -2
- package/dist/src/ui/commands/helpCommand.test.js.map +1 -1
- package/dist/src/ui/commands/hooksCommand.js +26 -15
- package/dist/src/ui/commands/hooksCommand.js.map +1 -1
- package/dist/src/ui/commands/hooksCommand.test.js +23 -31
- package/dist/src/ui/commands/hooksCommand.test.js.map +1 -1
- package/dist/src/ui/commands/ideCommand.js +3 -3
- package/dist/src/ui/commands/ideCommand.js.map +1 -1
- package/dist/src/ui/commands/ideCommand.test.js +7 -5
- package/dist/src/ui/commands/ideCommand.test.js.map +1 -1
- package/dist/src/ui/commands/initCommand.js +2 -2
- package/dist/src/ui/commands/initCommand.js.map +1 -1
- package/dist/src/ui/commands/initCommand.test.js +5 -3
- package/dist/src/ui/commands/initCommand.test.js.map +1 -1
- package/dist/src/ui/commands/mcpCommand.js +68 -28
- package/dist/src/ui/commands/mcpCommand.js.map +1 -1
- package/dist/src/ui/commands/mcpCommand.test.js +49 -8
- package/dist/src/ui/commands/mcpCommand.test.js.map +1 -1
- package/dist/src/ui/commands/memoryCommand.d.ts +1 -1
- package/dist/src/ui/commands/memoryCommand.js +9 -8
- package/dist/src/ui/commands/memoryCommand.js.map +1 -1
- package/dist/src/ui/commands/memoryCommand.test.js +39 -35
- package/dist/src/ui/commands/memoryCommand.test.js.map +1 -1
- package/dist/src/ui/commands/modelCommand.js +41 -4
- package/dist/src/ui/commands/modelCommand.js.map +1 -1
- package/dist/src/ui/commands/modelCommand.test.js +98 -4
- package/dist/src/ui/commands/modelCommand.test.js.map +1 -1
- package/dist/src/ui/commands/oncallCommand.js +4 -2
- package/dist/src/ui/commands/oncallCommand.js.map +1 -1
- package/dist/src/ui/commands/planCommand.js +44 -5
- package/dist/src/ui/commands/planCommand.js.map +1 -1
- package/dist/src/ui/commands/planCommand.test.js +73 -14
- package/dist/src/ui/commands/planCommand.test.js.map +1 -1
- package/dist/src/ui/commands/policiesCommand.js +7 -1
- package/dist/src/ui/commands/policiesCommand.js.map +1 -1
- package/dist/src/ui/commands/policiesCommand.test.js +50 -4
- package/dist/src/ui/commands/policiesCommand.test.js.map +1 -1
- package/dist/src/ui/commands/privacyCommand.d.ts +1 -1
- package/dist/src/ui/commands/privacyCommand.js +1 -1
- package/dist/src/ui/commands/privacyCommand.js.map +1 -1
- package/dist/src/ui/commands/restoreCommand.js +6 -6
- package/dist/src/ui/commands/restoreCommand.js.map +1 -1
- package/dist/src/ui/commands/restoreCommand.test.js +6 -3
- package/dist/src/ui/commands/restoreCommand.test.js.map +1 -1
- package/dist/src/ui/commands/resumeCommand.js +3 -1
- package/dist/src/ui/commands/resumeCommand.js.map +1 -1
- package/dist/src/ui/commands/resumeCommand.test.js +28 -0
- package/dist/src/ui/commands/resumeCommand.test.js.map +1 -0
- package/dist/src/ui/commands/rewindCommand.js +9 -5
- package/dist/src/ui/commands/rewindCommand.js.map +1 -1
- package/dist/src/ui/commands/rewindCommand.test.js +20 -9
- package/dist/src/ui/commands/rewindCommand.test.js.map +1 -1
- package/dist/src/ui/commands/settingsCommand.d.ts +1 -1
- package/dist/src/ui/commands/settingsCommand.js +2 -1
- package/dist/src/ui/commands/settingsCommand.js.map +1 -1
- package/dist/src/ui/commands/setupGithubCommand.d.ts +1 -1
- package/dist/src/ui/commands/setupGithubCommand.js +9 -7
- package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
- package/dist/src/ui/commands/setupGithubCommand.test.js.map +1 -1
- package/dist/src/ui/commands/shortcutsCommand.d.ts +1 -1
- package/dist/src/ui/commands/shortcutsCommand.js.map +1 -1
- package/dist/src/ui/commands/skillsCommand.js +23 -13
- package/dist/src/ui/commands/skillsCommand.js.map +1 -1
- package/dist/src/ui/commands/skillsCommand.test.js +19 -20
- package/dist/src/ui/commands/skillsCommand.test.js.map +1 -1
- package/dist/src/ui/commands/statsCommand.js +27 -14
- package/dist/src/ui/commands/statsCommand.js.map +1 -1
- package/dist/src/ui/commands/statsCommand.test.js +20 -4
- package/dist/src/ui/commands/statsCommand.test.js.map +1 -1
- package/dist/src/ui/commands/{shellsCommand.d.ts → tasksCommand.d.ts} +1 -1
- package/dist/src/ui/commands/{shellsCommand.js → tasksCommand.js} +6 -6
- package/dist/src/ui/commands/tasksCommand.js.map +1 -0
- package/dist/src/ui/commands/tasksCommand.test.js +30 -0
- package/dist/src/ui/commands/tasksCommand.test.js.map +1 -0
- package/dist/src/ui/commands/terminalSetupCommand.d.ts +1 -1
- package/dist/src/ui/commands/terminalSetupCommand.js.map +1 -1
- package/dist/src/ui/commands/themeCommand.d.ts +1 -1
- package/dist/src/ui/commands/themeCommand.js +1 -1
- package/dist/src/ui/commands/themeCommand.js.map +1 -1
- package/dist/src/ui/commands/toolsCommand.js +43 -27
- package/dist/src/ui/commands/toolsCommand.js.map +1 -1
- package/dist/src/ui/commands/toolsCommand.test.js +97 -10
- package/dist/src/ui/commands/toolsCommand.test.js.map +1 -1
- package/dist/src/ui/commands/types.d.ts +26 -5
- package/dist/src/ui/commands/types.js +4 -1
- package/dist/src/ui/commands/types.js.map +1 -1
- package/dist/src/ui/commands/upgradeCommand.d.ts +11 -0
- package/dist/src/ui/commands/upgradeCommand.js +58 -0
- package/dist/src/ui/commands/upgradeCommand.js.map +1 -0
- package/dist/src/ui/commands/upgradeCommand.test.d.ts +6 -0
- package/dist/src/ui/commands/upgradeCommand.test.js +102 -0
- package/dist/src/ui/commands/upgradeCommand.test.js.map +1 -0
- package/dist/src/ui/commands/vimCommand.d.ts +1 -1
- package/dist/src/ui/commands/vimCommand.js +1 -0
- package/dist/src/ui/commands/vimCommand.js.map +1 -1
- package/dist/src/ui/components/AboutBox.js +2 -2
- package/dist/src/ui/components/AboutBox.test.js +14 -10
- package/dist/src/ui/components/AboutBox.test.js.map +1 -1
- package/dist/src/ui/components/AdminSettingsChangedDialog.js +3 -1
- package/dist/src/ui/components/AdminSettingsChangedDialog.js.map +1 -1
- package/dist/src/ui/components/AdminSettingsChangedDialog.test.js +4 -4
- package/dist/src/ui/components/AdminSettingsChangedDialog.test.js.map +1 -1
- package/dist/src/ui/components/AgentConfigDialog.d.ts +4 -2
- package/dist/src/ui/components/AgentConfigDialog.js +25 -38
- package/dist/src/ui/components/AgentConfigDialog.js.map +1 -1
- package/dist/src/ui/components/AgentConfigDialog.test.js +52 -26
- package/dist/src/ui/components/AgentConfigDialog.test.js.map +1 -1
- package/dist/src/ui/components/AlternateBufferQuittingDisplay.js +2 -4
- package/dist/src/ui/components/AlternateBufferQuittingDisplay.js.map +1 -1
- package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js +23 -18
- package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js.map +1 -1
- package/dist/src/ui/components/AnsiOutput.js +7 -1
- package/dist/src/ui/components/AnsiOutput.js.map +1 -1
- package/dist/src/ui/components/AnsiOutput.test.js +40 -19
- package/dist/src/ui/components/AnsiOutput.test.js.map +1 -1
- package/dist/src/ui/components/AppHeader.d.ts +3 -2
- package/dist/src/ui/components/AppHeader.js +55 -8
- package/dist/src/ui/components/AppHeader.js.map +1 -1
- package/dist/src/ui/components/AppHeader.test.js +62 -40
- package/dist/src/ui/components/AppHeader.test.js.map +1 -1
- package/dist/src/ui/components/AppHeaderIcon.test.d.ts +6 -0
- package/dist/src/ui/components/AppHeaderIcon.test.js +39 -0
- package/dist/src/ui/components/AppHeaderIcon.test.js.map +1 -0
- package/dist/src/ui/components/ApprovalModeIndicator.d.ts +1 -1
- package/dist/src/ui/components/ApprovalModeIndicator.js +14 -10
- package/dist/src/ui/components/ApprovalModeIndicator.js.map +1 -1
- package/dist/src/ui/components/ApprovalModeIndicator.test.js +12 -12
- package/dist/src/ui/components/ApprovalModeIndicator.test.js.map +1 -1
- package/dist/src/ui/components/AsciiArt.d.ts +9 -6
- package/dist/src/ui/components/AsciiArt.js +24 -6
- package/dist/src/ui/components/AsciiArt.js.map +1 -1
- package/dist/src/ui/components/AskUserDialog.d.ts +5 -1
- package/dist/src/ui/components/AskUserDialog.js +126 -54
- package/dist/src/ui/components/AskUserDialog.js.map +1 -1
- package/dist/src/ui/components/AskUserDialog.test.js +394 -96
- package/dist/src/ui/components/AskUserDialog.test.js.map +1 -1
- package/dist/src/ui/components/BackgroundTaskDisplay.d.ts +16 -0
- package/dist/src/ui/components/{BackgroundShellDisplay.js → BackgroundTaskDisplay.js} +36 -19
- package/dist/src/ui/components/BackgroundTaskDisplay.js.map +1 -0
- package/dist/src/ui/components/{BackgroundShellDisplay.test.js → BackgroundTaskDisplay.test.js} +54 -66
- package/dist/src/ui/components/BackgroundTaskDisplay.test.js.map +1 -0
- package/dist/src/ui/components/Banner.js +4 -4
- package/dist/src/ui/components/Banner.js.map +1 -1
- package/dist/src/ui/components/Banner.test.js +12 -7
- package/dist/src/ui/components/Banner.test.js.map +1 -1
- package/dist/src/ui/components/BubblingRegression.test.js +3 -1
- package/dist/src/ui/components/BubblingRegression.test.js.map +1 -1
- package/dist/src/ui/components/Checklist.js +1 -1
- package/dist/src/ui/components/Checklist.js.map +1 -1
- package/dist/src/ui/components/Checklist.test.js +12 -12
- package/dist/src/ui/components/Checklist.test.js.map +1 -1
- package/dist/src/ui/components/ChecklistItem.d.ts +1 -1
- package/dist/src/ui/components/ChecklistItem.js +3 -0
- package/dist/src/ui/components/ChecklistItem.js.map +1 -1
- package/dist/src/ui/components/ChecklistItem.test.js +7 -6
- package/dist/src/ui/components/ChecklistItem.test.js.map +1 -1
- package/dist/src/ui/components/CliSpinner.test.js +8 -5
- package/dist/src/ui/components/CliSpinner.test.js.map +1 -1
- package/dist/src/ui/components/ColorsDisplay.d.ts +12 -0
- package/dist/src/ui/components/ColorsDisplay.js +119 -0
- package/dist/src/ui/components/ColorsDisplay.js.map +1 -0
- package/dist/src/ui/components/ColorsDisplay.test.d.ts +6 -0
- package/dist/src/ui/components/ColorsDisplay.test.js +107 -0
- package/dist/src/ui/components/ColorsDisplay.test.js.map +1 -0
- package/dist/src/ui/components/Composer.d.ts +1 -1
- package/dist/src/ui/components/Composer.js +53 -58
- package/dist/src/ui/components/Composer.js.map +1 -1
- package/dist/src/ui/components/Composer.test.js +436 -108
- package/dist/src/ui/components/Composer.test.js.map +1 -1
- package/dist/src/ui/components/ConfigExtensionDialog.js +2 -2
- package/dist/src/ui/components/ConfigExtensionDialog.js.map +1 -1
- package/dist/src/ui/components/ConfigInitDisplay.js +4 -4
- package/dist/src/ui/components/ConfigInitDisplay.js.map +1 -1
- package/dist/src/ui/components/ConfigInitDisplay.test.js +7 -7
- package/dist/src/ui/components/ConfigInitDisplay.test.js.map +1 -1
- package/dist/src/ui/components/ConsentPrompt.js +5 -4
- package/dist/src/ui/components/ConsentPrompt.js.map +1 -1
- package/dist/src/ui/components/ConsentPrompt.test.js +10 -8
- package/dist/src/ui/components/ConsentPrompt.test.js.map +1 -1
- package/dist/src/ui/components/ConsoleSummaryDisplay.test.js +7 -5
- package/dist/src/ui/components/ConsoleSummaryDisplay.test.js.map +1 -1
- package/dist/src/ui/components/ContextSummaryDisplay.js +5 -10
- package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
- package/dist/src/ui/components/ContextSummaryDisplay.test.js +9 -30
- package/dist/src/ui/components/ContextSummaryDisplay.test.js.map +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.d.ts +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.js +17 -5
- package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.test.js +26 -19
- package/dist/src/ui/components/ContextUsageDisplay.test.js.map +1 -1
- package/dist/src/ui/components/CopyModeWarning.js +3 -6
- package/dist/src/ui/components/CopyModeWarning.js.map +1 -1
- package/dist/src/ui/components/CopyModeWarning.test.js +14 -12
- package/dist/src/ui/components/CopyModeWarning.test.js.map +1 -1
- package/dist/src/ui/components/DebugProfiler.js +12 -0
- package/dist/src/ui/components/DebugProfiler.js.map +1 -1
- package/dist/src/ui/components/DebugProfiler.test.js +13 -14
- package/dist/src/ui/components/DebugProfiler.test.js.map +1 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.d.ts +0 -2
- package/dist/src/ui/components/DetailedMessagesDisplay.js +12 -7
- package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.test.js +50 -9
- package/dist/src/ui/components/DetailedMessagesDisplay.test.js.map +1 -1
- package/dist/src/ui/components/DialogManager.js +25 -9
- package/dist/src/ui/components/DialogManager.js.map +1 -1
- package/dist/src/ui/components/DialogManager.test.js +11 -5
- package/dist/src/ui/components/DialogManager.test.js.map +1 -1
- package/dist/src/ui/components/EditorSettingsDialog.d.ts +1 -1
- package/dist/src/ui/components/EditorSettingsDialog.js +2 -3
- package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
- package/dist/src/ui/components/EditorSettingsDialog.test.js +13 -11
- package/dist/src/ui/components/EditorSettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/EmptyWalletDialog.d.ts +22 -0
- package/dist/src/ui/components/EmptyWalletDialog.js +33 -0
- package/dist/src/ui/components/EmptyWalletDialog.js.map +1 -0
- package/dist/src/ui/components/EmptyWalletDialog.test.d.ts +6 -0
- package/dist/src/ui/components/EmptyWalletDialog.test.js +116 -0
- package/dist/src/ui/components/EmptyWalletDialog.test.js.map +1 -0
- package/dist/src/ui/components/ExitPlanModeDialog.d.ts +2 -1
- package/dist/src/ui/components/ExitPlanModeDialog.js +49 -9
- package/dist/src/ui/components/ExitPlanModeDialog.js.map +1 -1
- package/dist/src/ui/components/ExitPlanModeDialog.test.js +81 -37
- package/dist/src/ui/components/ExitPlanModeDialog.test.js.map +1 -1
- package/dist/src/ui/components/ExitWarning.test.js +14 -10
- package/dist/src/ui/components/ExitWarning.test.js.map +1 -1
- package/dist/src/ui/components/FolderTrustDialog.d.ts +2 -0
- package/dist/src/ui/components/FolderTrustDialog.js +52 -7
- package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
- package/dist/src/ui/components/FolderTrustDialog.test.js +256 -23
- package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
- package/dist/src/ui/components/Footer.d.ts +13 -0
- package/dist/src/ui/components/Footer.js +228 -14
- package/dist/src/ui/components/Footer.js.map +1 -1
- package/dist/src/ui/components/Footer.test.js +547 -109
- package/dist/src/ui/components/Footer.test.js.map +1 -1
- package/dist/src/ui/components/FooterConfigDialog.d.ts +11 -0
- package/dist/src/ui/components/FooterConfigDialog.js +214 -0
- package/dist/src/ui/components/FooterConfigDialog.js.map +1 -0
- package/dist/src/ui/components/FooterConfigDialog.test.d.ts +6 -0
- package/dist/src/ui/components/FooterConfigDialog.test.js +191 -0
- package/dist/src/ui/components/FooterConfigDialog.test.js.map +1 -0
- package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +6 -5
- package/dist/src/ui/components/GeminiRespondingSpinner.js +6 -35
- package/dist/src/ui/components/GeminiRespondingSpinner.js.map +1 -1
- package/dist/src/ui/components/GeminiRespondingSpinner.test.js +23 -19
- package/dist/src/ui/components/GeminiRespondingSpinner.test.js.map +1 -1
- package/dist/src/ui/components/GeminiSpinner.d.ts +13 -0
- package/dist/src/ui/components/GeminiSpinner.js +35 -0
- package/dist/src/ui/components/GeminiSpinner.js.map +1 -0
- package/dist/src/ui/components/GradientRegression.test.js +22 -11
- package/dist/src/ui/components/GradientRegression.test.js.map +1 -1
- package/dist/src/ui/components/Header.test.js +16 -12
- package/dist/src/ui/components/Header.test.js.map +1 -1
- package/dist/src/ui/components/Help.js +3 -3
- package/dist/src/ui/components/Help.js.map +1 -1
- package/dist/src/ui/components/Help.test.js +8 -8
- package/dist/src/ui/components/Help.test.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.d.ts +5 -3
- package/dist/src/ui/components/HistoryItemDisplay.js +15 -12
- package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.test.js +95 -44
- package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
- package/dist/src/ui/components/HookStatusDisplay.js +18 -11
- package/dist/src/ui/components/HookStatusDisplay.js.map +1 -1
- package/dist/src/ui/components/HookStatusDisplay.test.js +35 -9
- package/dist/src/ui/components/HookStatusDisplay.test.js.map +1 -1
- package/dist/src/ui/components/HooksDialog.d.ts +36 -0
- package/dist/src/ui/components/HooksDialog.js +83 -0
- package/dist/src/ui/components/HooksDialog.js.map +1 -0
- package/dist/src/ui/components/HooksDialog.test.d.ts +6 -0
- package/dist/src/ui/components/HooksDialog.test.js +175 -0
- package/dist/src/ui/components/HooksDialog.test.js.map +1 -0
- package/dist/src/ui/components/IdeTrustChangeDialog.test.js +39 -19
- package/dist/src/ui/components/IdeTrustChangeDialog.test.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.d.ts +12 -8
- package/dist/src/ui/components/InputPrompt.js +383 -180
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.test.d.ts +12 -1
- package/dist/src/ui/components/InputPrompt.test.js +701 -239
- package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.d.ts +7 -0
- package/dist/src/ui/components/LoadingIndicator.js +18 -13
- package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.test.js +170 -60
- package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -1
- package/dist/src/ui/components/LogoutConfirmationDialog.js +3 -3
- package/dist/src/ui/components/LogoutConfirmationDialog.js.map +1 -1
- package/dist/src/ui/components/LogoutConfirmationDialog.test.js +23 -12
- package/dist/src/ui/components/LogoutConfirmationDialog.test.js.map +1 -1
- package/dist/src/ui/components/LoopDetectionConfirmation.js +1 -1
- package/dist/src/ui/components/LoopDetectionConfirmation.js.map +1 -1
- package/dist/src/ui/components/LoopDetectionConfirmation.test.js +7 -5
- package/dist/src/ui/components/LoopDetectionConfirmation.test.js.map +1 -1
- package/dist/src/ui/components/MainContent.d.ts +1 -1
- package/dist/src/ui/components/MainContent.js +144 -29
- package/dist/src/ui/components/MainContent.js.map +1 -1
- package/dist/src/ui/components/MainContent.test.js +558 -27
- package/dist/src/ui/components/MainContent.test.js.map +1 -1
- package/dist/src/ui/components/MemoryUsageDisplay.d.ts +4 -1
- package/dist/src/ui/components/MemoryUsageDisplay.js +10 -9
- package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -1
- package/dist/src/ui/components/MemoryUsageDisplay.test.js +6 -3
- package/dist/src/ui/components/MemoryUsageDisplay.test.js.map +1 -1
- package/dist/src/ui/components/ModelDialog.js +131 -21
- package/dist/src/ui/components/ModelDialog.js.map +1 -1
- package/dist/src/ui/components/ModelDialog.test.js +148 -35
- package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
- package/dist/src/ui/components/ModelQuotaDisplay.d.ts +18 -0
- package/dist/src/ui/components/ModelQuotaDisplay.js +104 -0
- package/dist/src/ui/components/ModelQuotaDisplay.js.map +1 -0
- package/dist/src/ui/components/ModelQuotaDisplay.test.d.ts +6 -0
- package/dist/src/ui/components/ModelQuotaDisplay.test.js +62 -0
- package/dist/src/ui/components/ModelQuotaDisplay.test.js.map +1 -0
- package/dist/src/ui/components/ModelStatsDisplay.js +56 -4
- package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -1
- package/dist/src/ui/components/ModelStatsDisplay.test.js +212 -20
- package/dist/src/ui/components/ModelStatsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/MultiFolderTrustDialog.d.ts +1 -1
- package/dist/src/ui/components/MultiFolderTrustDialog.js +2 -1
- package/dist/src/ui/components/MultiFolderTrustDialog.js.map +1 -1
- package/dist/src/ui/components/MultiFolderTrustDialog.test.js +24 -9
- package/dist/src/ui/components/MultiFolderTrustDialog.test.js.map +1 -1
- package/dist/src/ui/components/NewAgentsNotification.d.ts +1 -1
- package/dist/src/ui/components/NewAgentsNotification.js +17 -1
- package/dist/src/ui/components/NewAgentsNotification.js.map +1 -1
- package/dist/src/ui/components/NewAgentsNotification.test.js +39 -4
- package/dist/src/ui/components/NewAgentsNotification.test.js.map +1 -1
- package/dist/src/ui/components/Notifications.js +50 -4
- package/dist/src/ui/components/Notifications.js.map +1 -1
- package/dist/src/ui/components/Notifications.test.js +160 -36
- package/dist/src/ui/components/Notifications.test.js.map +1 -1
- package/dist/src/ui/components/OverageMenuDialog.d.ts +22 -0
- package/dist/src/ui/components/OverageMenuDialog.js +32 -0
- package/dist/src/ui/components/OverageMenuDialog.js.map +1 -0
- package/dist/src/ui/components/OverageMenuDialog.test.d.ts +6 -0
- package/dist/src/ui/components/OverageMenuDialog.test.js +118 -0
- package/dist/src/ui/components/OverageMenuDialog.test.js.map +1 -0
- package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +31 -12
- package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +1 -1
- package/dist/src/ui/components/PolicyUpdateDialog.d.ts +18 -0
- package/dist/src/ui/components/PolicyUpdateDialog.js +61 -0
- package/dist/src/ui/components/PolicyUpdateDialog.js.map +1 -0
- package/dist/src/ui/components/PolicyUpdateDialog.test.d.ts +6 -0
- package/dist/src/ui/components/PolicyUpdateDialog.test.js +92 -0
- package/dist/src/ui/components/PolicyUpdateDialog.test.js.map +1 -0
- package/dist/src/ui/components/ProQuotaDialog.d.ts +4 -1
- package/dist/src/ui/components/ProQuotaDialog.js +13 -6
- package/dist/src/ui/components/ProQuotaDialog.js.map +1 -1
- package/dist/src/ui/components/ProQuotaDialog.test.js +53 -22
- package/dist/src/ui/components/ProQuotaDialog.test.js.map +1 -1
- package/dist/src/ui/components/ProgressBar.d.ts +13 -0
- package/dist/src/ui/components/ProgressBar.js +17 -0
- package/dist/src/ui/components/ProgressBar.js.map +1 -0
- package/dist/src/ui/components/ProgressBar.test.d.ts +6 -0
- package/dist/src/ui/components/ProgressBar.test.js +28 -0
- package/dist/src/ui/components/ProgressBar.test.js.map +1 -0
- package/dist/src/ui/components/QueuedMessageDisplay.test.js +11 -11
- package/dist/src/ui/components/QueuedMessageDisplay.test.js.map +1 -1
- package/dist/src/ui/components/QuittingDisplay.test.js +7 -5
- package/dist/src/ui/components/QuittingDisplay.test.js.map +1 -1
- package/dist/src/ui/components/QuotaDisplay.d.ts +2 -0
- package/dist/src/ui/components/QuotaDisplay.js +23 -14
- package/dist/src/ui/components/QuotaDisplay.js.map +1 -1
- package/dist/src/ui/components/QuotaDisplay.test.js +41 -23
- package/dist/src/ui/components/QuotaDisplay.test.js.map +1 -1
- package/dist/src/ui/components/QuotaStatsInfo.js +13 -9
- package/dist/src/ui/components/QuotaStatsInfo.js.map +1 -1
- package/dist/src/ui/components/RatingWidget.js +2 -2
- package/dist/src/ui/components/RatingWidget.js.map +1 -1
- package/dist/src/ui/components/RawMarkdownIndicator.js +3 -1
- package/dist/src/ui/components/RawMarkdownIndicator.js.map +1 -1
- package/dist/src/ui/components/RawMarkdownIndicator.test.js +11 -7
- package/dist/src/ui/components/RawMarkdownIndicator.test.js.map +1 -1
- package/dist/src/ui/components/RewindConfirmation.js +11 -3
- package/dist/src/ui/components/RewindConfirmation.js.map +1 -1
- package/dist/src/ui/components/RewindConfirmation.test.js +11 -7
- package/dist/src/ui/components/RewindConfirmation.test.js.map +1 -1
- package/dist/src/ui/components/RewindViewer.js +32 -9
- package/dist/src/ui/components/RewindViewer.js.map +1 -1
- package/dist/src/ui/components/RewindViewer.test.js +90 -18
- package/dist/src/ui/components/RewindViewer.test.js.map +1 -1
- package/dist/src/ui/components/SessionBrowser/SessionBrowserEmpty.d.ts +10 -0
- package/dist/src/ui/components/SessionBrowser/SessionBrowserEmpty.js +8 -0
- package/dist/src/ui/components/SessionBrowser/SessionBrowserEmpty.js.map +1 -0
- package/dist/src/ui/components/SessionBrowser/SessionBrowserError.d.ts +13 -0
- package/dist/src/ui/components/SessionBrowser/SessionBrowserError.js +8 -0
- package/dist/src/ui/components/SessionBrowser/SessionBrowserError.js.map +1 -0
- package/dist/src/ui/components/SessionBrowser/SessionBrowserLoading.d.ts +10 -0
- package/dist/src/ui/components/SessionBrowser/SessionBrowserLoading.js +8 -0
- package/dist/src/ui/components/SessionBrowser/SessionBrowserLoading.js.map +1 -0
- package/dist/src/ui/components/SessionBrowser/SessionBrowserNav.d.ts +23 -0
- package/dist/src/ui/components/SessionBrowser/SessionBrowserNav.js +17 -0
- package/dist/src/ui/components/SessionBrowser/SessionBrowserNav.js.map +1 -0
- package/dist/src/ui/components/SessionBrowser/SessionBrowserSearchNav.test.d.ts +6 -0
- package/dist/src/ui/components/SessionBrowser/SessionBrowserSearchNav.test.js +47 -0
- package/dist/src/ui/components/SessionBrowser/SessionBrowserSearchNav.test.js.map +1 -0
- package/dist/src/ui/components/SessionBrowser/SessionBrowserStates.test.d.ts +6 -0
- package/dist/src/ui/components/SessionBrowser/SessionBrowserStates.test.js +27 -0
- package/dist/src/ui/components/SessionBrowser/SessionBrowserStates.test.js.map +1 -0
- package/dist/src/ui/components/SessionBrowser/SessionListHeader.d.ts +13 -0
- package/dist/src/ui/components/SessionBrowser/SessionListHeader.js +8 -0
- package/dist/src/ui/components/SessionBrowser/SessionListHeader.js.map +1 -0
- package/dist/src/ui/components/SessionBrowser/utils.d.ts +33 -0
- package/dist/src/ui/components/SessionBrowser/utils.js +100 -0
- package/dist/src/ui/components/SessionBrowser/utils.js.map +1 -0
- package/dist/src/ui/components/SessionBrowser/utils.test.d.ts +6 -0
- package/dist/src/ui/components/SessionBrowser/utils.test.js +108 -0
- package/dist/src/ui/components/SessionBrowser/utils.test.js.map +1 -0
- package/dist/src/ui/components/SessionBrowser.js +13 -128
- package/dist/src/ui/components/SessionBrowser.js.map +1 -1
- package/dist/src/ui/components/SessionBrowser.test.js +22 -13
- package/dist/src/ui/components/SessionBrowser.test.js.map +1 -1
- package/dist/src/ui/components/SessionSummaryDisplay.js +17 -1
- package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -1
- package/dist/src/ui/components/SessionSummaryDisplay.test.js +118 -20
- package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.d.ts +1 -5
- package/dist/src/ui/components/SettingsDialog.js +120 -329
- package/dist/src/ui/components/SettingsDialog.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.test.js +366 -212
- package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/ShellInputPrompt.js +11 -3
- package/dist/src/ui/components/ShellInputPrompt.js.map +1 -1
- package/dist/src/ui/components/ShellInputPrompt.test.js +111 -67
- package/dist/src/ui/components/ShellInputPrompt.test.js.map +1 -1
- package/dist/src/ui/components/ShellModeIndicator.test.js +3 -2
- package/dist/src/ui/components/ShellModeIndicator.test.js.map +1 -1
- package/dist/src/ui/components/ShortcutsHelp.js +46 -17
- package/dist/src/ui/components/ShortcutsHelp.js.map +1 -1
- package/dist/src/ui/components/ShortcutsHelp.test.js +11 -3
- package/dist/src/ui/components/ShortcutsHelp.test.js.map +1 -1
- package/dist/src/ui/components/ShowMoreLines.d.ts +2 -1
- package/dist/src/ui/components/ShowMoreLines.js +7 -5
- package/dist/src/ui/components/ShowMoreLines.js.map +1 -1
- package/dist/src/ui/components/ShowMoreLines.test.js +42 -7
- package/dist/src/ui/components/ShowMoreLines.test.js.map +1 -1
- package/dist/src/ui/components/ShowMoreLinesLayout.test.d.ts +1 -0
- package/dist/src/ui/components/ShowMoreLinesLayout.test.js +67 -0
- package/dist/src/ui/components/ShowMoreLinesLayout.test.js.map +1 -0
- package/dist/src/ui/components/StatsDisplay.d.ts +4 -2
- package/dist/src/ui/components/StatsDisplay.js +58 -88
- package/dist/src/ui/components/StatsDisplay.js.map +1 -1
- package/dist/src/ui/components/StatsDisplay.test.js +109 -166
- package/dist/src/ui/components/StatsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/StatusDisplay.d.ts +1 -2
- package/dist/src/ui/components/StatusDisplay.js +1 -6
- package/dist/src/ui/components/StatusDisplay.js.map +1 -1
- package/dist/src/ui/components/StatusDisplay.test.js +37 -24
- package/dist/src/ui/components/StatusDisplay.test.js.map +1 -1
- package/dist/src/ui/components/StatusRow.d.ts +32 -0
- package/dist/src/ui/components/StatusRow.js +180 -0
- package/dist/src/ui/components/StatusRow.js.map +1 -0
- package/dist/src/ui/components/StatusRow.test.d.ts +6 -0
- package/dist/src/ui/components/StatusRow.test.js +99 -0
- package/dist/src/ui/components/StatusRow.test.js.map +1 -0
- package/dist/src/ui/components/StickyHeader.test.js +3 -2
- package/dist/src/ui/components/StickyHeader.test.js.map +1 -1
- package/dist/src/ui/components/SuggestionsDisplay.d.ts +3 -0
- package/dist/src/ui/components/SuggestionsDisplay.js +9 -5
- package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
- package/dist/src/ui/components/SuggestionsDisplay.test.js +39 -13
- package/dist/src/ui/components/SuggestionsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/Table.test.js +26 -8
- package/dist/src/ui/components/Table.test.js.map +1 -1
- package/dist/src/ui/components/ThemeDialog.d.ts +1 -1
- package/dist/src/ui/components/ThemeDialog.js +31 -32
- package/dist/src/ui/components/ThemeDialog.js.map +1 -1
- package/dist/src/ui/components/ThemeDialog.test.js +48 -24
- package/dist/src/ui/components/ThemeDialog.test.js.map +1 -1
- package/dist/src/ui/components/ThemedGradient.test.js +7 -2
- package/dist/src/ui/components/ThemedGradient.test.js.map +1 -1
- package/dist/src/ui/components/Tips.d.ts +1 -1
- package/dist/src/ui/components/Tips.js +1 -1
- package/dist/src/ui/components/Tips.js.map +1 -1
- package/dist/src/ui/components/Tips.test.d.ts +1 -1
- package/dist/src/ui/components/Tips.test.js +8 -8
- package/dist/src/ui/components/Tips.test.js.map +1 -1
- package/dist/src/ui/components/ToastDisplay.d.ts +2 -1
- package/dist/src/ui/components/ToastDisplay.js +13 -6
- package/dist/src/ui/components/ToastDisplay.js.map +1 -1
- package/dist/src/ui/components/ToastDisplay.test.js +69 -34
- package/dist/src/ui/components/ToastDisplay.test.js.map +1 -1
- package/dist/src/ui/components/ToolConfirmationQueue.js +34 -19
- package/dist/src/ui/components/ToolConfirmationQueue.js.map +1 -1
- package/dist/src/ui/components/ToolConfirmationQueue.test.js +276 -50
- package/dist/src/ui/components/ToolConfirmationQueue.test.js.map +1 -1
- package/dist/src/ui/components/ToolStatsDisplay.test.js +19 -12
- package/dist/src/ui/components/ToolStatsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/UpdateNotification.test.js +3 -2
- package/dist/src/ui/components/UpdateNotification.test.js.map +1 -1
- package/dist/src/ui/components/UserIdentity.d.ts +1 -1
- package/dist/src/ui/components/UserIdentity.js +14 -11
- package/dist/src/ui/components/UserIdentity.js.map +1 -1
- package/dist/src/ui/components/UserIdentity.test.d.ts +1 -1
- package/dist/src/ui/components/UserIdentity.test.js +60 -17
- package/dist/src/ui/components/UserIdentity.test.js.map +1 -1
- package/dist/src/ui/components/ValidationDialog.js +4 -2
- package/dist/src/ui/components/ValidationDialog.js.map +1 -1
- package/dist/src/ui/components/ValidationDialog.test.js +25 -16
- package/dist/src/ui/components/ValidationDialog.test.js.map +1 -1
- package/dist/src/ui/components/messages/CompressionMessage.test.js +91 -102
- package/dist/src/ui/components/messages/CompressionMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/DenseToolMessage.d.ts +13 -0
- package/dist/src/ui/components/messages/DenseToolMessage.js +270 -0
- package/dist/src/ui/components/messages/DenseToolMessage.js.map +1 -0
- package/dist/src/ui/components/messages/DenseToolMessage.test.d.ts +6 -0
- package/dist/src/ui/components/messages/DenseToolMessage.test.js +383 -0
- package/dist/src/ui/components/messages/DenseToolMessage.test.js.map +1 -0
- package/dist/src/ui/components/messages/DiffRenderer.d.ts +18 -0
- package/dist/src/ui/components/messages/DiffRenderer.js +55 -35
- package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
- package/dist/src/ui/components/messages/DiffRenderer.test.js +46 -17
- package/dist/src/ui/components/messages/DiffRenderer.test.js.map +1 -1
- package/dist/src/ui/components/messages/ErrorMessage.test.js +6 -4
- package/dist/src/ui/components/messages/ErrorMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/GeminiMessage.js +3 -6
- package/dist/src/ui/components/messages/GeminiMessage.js.map +1 -1
- package/dist/src/ui/components/messages/GeminiMessage.test.js +15 -4
- package/dist/src/ui/components/messages/GeminiMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/GeminiMessageContent.js +4 -7
- package/dist/src/ui/components/messages/GeminiMessageContent.js.map +1 -1
- package/dist/src/ui/components/messages/HintMessage.d.ts +11 -0
- package/dist/src/ui/components/messages/HintMessage.js +14 -0
- package/dist/src/ui/components/messages/HintMessage.js.map +1 -0
- package/dist/src/ui/components/messages/InfoMessage.d.ts +3 -0
- package/dist/src/ui/components/messages/InfoMessage.js +2 -2
- package/dist/src/ui/components/messages/InfoMessage.js.map +1 -1
- package/dist/src/ui/components/messages/InfoMessage.test.js +9 -6
- package/dist/src/ui/components/messages/InfoMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/RedirectionConfirmation.test.js +6 -4
- package/dist/src/ui/components/messages/RedirectionConfirmation.test.js.map +1 -1
- package/dist/src/ui/components/messages/ShellToolMessage.d.ts +2 -3
- package/dist/src/ui/components/messages/ShellToolMessage.js +37 -29
- package/dist/src/ui/components/messages/ShellToolMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ShellToolMessage.test.js +140 -55
- package/dist/src/ui/components/messages/ShellToolMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/SubagentGroupDisplay.d.ts +17 -0
- package/dist/src/ui/components/messages/SubagentGroupDisplay.js +139 -0
- package/dist/src/ui/components/messages/SubagentGroupDisplay.js.map +1 -0
- package/dist/src/ui/components/messages/SubagentGroupDisplay.test.d.ts +1 -0
- package/dist/src/ui/components/messages/SubagentGroupDisplay.test.js +91 -0
- package/dist/src/ui/components/messages/SubagentGroupDisplay.test.js.map +1 -0
- package/dist/src/ui/components/messages/SubagentHistoryMessage.d.ts +13 -0
- package/dist/src/ui/components/messages/SubagentHistoryMessage.js +4 -0
- package/dist/src/ui/components/messages/SubagentHistoryMessage.js.map +1 -0
- package/dist/src/ui/components/messages/SubagentHistoryMessage.test.d.ts +6 -0
- package/dist/src/ui/components/messages/SubagentHistoryMessage.test.js +68 -0
- package/dist/src/ui/components/messages/SubagentHistoryMessage.test.js.map +1 -0
- package/dist/src/ui/components/messages/SubagentProgressDisplay.d.ts +14 -0
- package/dist/src/ui/components/messages/SubagentProgressDisplay.js +79 -0
- package/dist/src/ui/components/messages/SubagentProgressDisplay.js.map +1 -0
- package/dist/src/ui/components/messages/SubagentProgressDisplay.test.js +163 -0
- package/dist/src/ui/components/messages/SubagentProgressDisplay.test.js.map +1 -0
- package/dist/src/ui/components/messages/ThinkingMessage.d.ts +2 -0
- package/dist/src/ui/components/messages/ThinkingMessage.js +26 -25
- package/dist/src/ui/components/messages/ThinkingMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ThinkingMessage.test.js +81 -22
- package/dist/src/ui/components/messages/ThinkingMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/Todo.js +5 -3
- package/dist/src/ui/components/messages/Todo.js.map +1 -1
- package/dist/src/ui/components/messages/Todo.test.js +35 -21
- package/dist/src/ui/components/messages/Todo.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +4 -2
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +357 -81
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +296 -31
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.compact.test.d.ts +6 -0
- package/dist/src/ui/components/messages/ToolGroupMessage.compact.test.js +147 -0
- package/dist/src/ui/components/messages/ToolGroupMessage.compact.test.js.map +1 -0
- package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +6 -5
- package/dist/src/ui/components/messages/ToolGroupMessage.js +275 -86
- package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js +495 -293
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessageRegression.test.d.ts +6 -0
- package/dist/src/ui/components/messages/ToolGroupMessageRegression.test.js +101 -0
- package/dist/src/ui/components/messages/ToolGroupMessageRegression.test.js.map +1 -0
- package/dist/src/ui/components/messages/ToolMessage.js +7 -4
- package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessage.test.js +158 -43
- package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessageFocusHint.test.js +15 -8
- package/dist/src/ui/components/messages/ToolMessageFocusHint.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.js +15 -5
- package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolOverflowConsistencyChecks.test.d.ts +6 -0
- package/dist/src/ui/components/messages/ToolOverflowConsistencyChecks.test.js +88 -0
- package/dist/src/ui/components/messages/ToolOverflowConsistencyChecks.test.js.map +1 -0
- package/dist/src/ui/components/messages/ToolResultDisplay.d.ts +1 -0
- package/dist/src/ui/components/messages/ToolResultDisplay.js +108 -88
- package/dist/src/ui/components/messages/ToolResultDisplay.js.map +1 -1
- package/dist/src/ui/components/messages/ToolResultDisplay.test.js +193 -55
- package/dist/src/ui/components/messages/ToolResultDisplay.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolResultDisplayOverflow.test.js +63 -39
- package/dist/src/ui/components/messages/ToolResultDisplayOverflow.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolShared.d.ts +15 -6
- package/dist/src/ui/components/messages/ToolShared.js +45 -26
- package/dist/src/ui/components/messages/ToolShared.js.map +1 -1
- package/dist/src/ui/components/messages/ToolShared.test.d.ts +6 -0
- package/dist/src/ui/components/messages/ToolShared.test.js +47 -0
- package/dist/src/ui/components/messages/ToolShared.test.js.map +1 -0
- package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.js +17 -10
- package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.js.map +1 -1
- package/dist/src/ui/components/messages/TopicMessage.d.ts +15 -0
- package/dist/src/ui/components/messages/TopicMessage.js +56 -0
- package/dist/src/ui/components/messages/TopicMessage.js.map +1 -0
- package/dist/src/ui/components/messages/TopicMessage.test.d.ts +6 -0
- package/dist/src/ui/components/messages/TopicMessage.test.js +77 -0
- package/dist/src/ui/components/messages/TopicMessage.test.js.map +1 -0
- package/dist/src/ui/components/messages/UserMessage.js +2 -3
- package/dist/src/ui/components/messages/UserMessage.js.map +1 -1
- package/dist/src/ui/components/messages/UserMessage.test.js +12 -8
- package/dist/src/ui/components/messages/UserMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/UserShellMessage.js +1 -2
- package/dist/src/ui/components/messages/UserShellMessage.js.map +1 -1
- package/dist/src/ui/components/messages/WarningMessage.test.js +6 -4
- package/dist/src/ui/components/messages/WarningMessage.test.js.map +1 -1
- package/dist/src/ui/components/shared/BaseSelectionList.d.ts +3 -2
- package/dist/src/ui/components/shared/BaseSelectionList.js +25 -20
- package/dist/src/ui/components/shared/BaseSelectionList.js.map +1 -1
- package/dist/src/ui/components/shared/BaseSelectionList.test.js +140 -113
- package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +1 -1
- package/dist/src/ui/components/shared/BaseSettingsDialog.d.ts +16 -5
- package/dist/src/ui/components/shared/BaseSettingsDialog.js +130 -170
- package/dist/src/ui/components/shared/BaseSettingsDialog.js.map +1 -1
- package/dist/src/ui/components/shared/BaseSettingsDialog.test.js +244 -48
- package/dist/src/ui/components/shared/BaseSettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js +16 -6
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js.map +1 -1
- package/dist/src/ui/components/shared/DialogFooter.d.ts +3 -1
- package/dist/src/ui/components/shared/DialogFooter.js +2 -1
- package/dist/src/ui/components/shared/DialogFooter.js.map +1 -1
- package/dist/src/ui/components/shared/EnumSelector.js +0 -5
- package/dist/src/ui/components/shared/EnumSelector.js.map +1 -1
- package/dist/src/ui/components/shared/EnumSelector.test.js +33 -20
- package/dist/src/ui/components/shared/EnumSelector.test.js.map +1 -1
- package/dist/src/ui/components/shared/ExpandableText.test.js +28 -23
- package/dist/src/ui/components/shared/ExpandableText.test.js.map +1 -1
- package/dist/src/ui/components/shared/HalfLinePaddedBox.js +3 -2
- package/dist/src/ui/components/shared/HalfLinePaddedBox.js.map +1 -1
- package/dist/src/ui/components/shared/HalfLinePaddedBox.test.js +4 -4
- package/dist/src/ui/components/shared/HalfLinePaddedBox.test.js.map +1 -1
- package/dist/src/ui/components/shared/HorizontalLine.d.ts +1 -0
- package/dist/src/ui/components/shared/HorizontalLine.js +1 -1
- package/dist/src/ui/components/shared/HorizontalLine.js.map +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.d.ts +2 -2
- package/dist/src/ui/components/shared/MaxSizedBox.js +18 -6
- package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.test.js +90 -32
- package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +1 -0
- package/dist/src/ui/components/shared/RadioButtonSelect.js +2 -2
- package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.test.js +22 -11
- package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +1 -1
- package/dist/src/ui/components/shared/Scrollable.d.ts +5 -1
- package/dist/src/ui/components/shared/Scrollable.js +103 -45
- package/dist/src/ui/components/shared/Scrollable.js.map +1 -1
- package/dist/src/ui/components/shared/Scrollable.test.js +41 -36
- package/dist/src/ui/components/shared/Scrollable.test.js.map +1 -1
- package/dist/src/ui/components/shared/ScrollableList.d.ts +9 -12
- package/dist/src/ui/components/shared/ScrollableList.js +20 -13
- package/dist/src/ui/components/shared/ScrollableList.js.map +1 -1
- package/dist/src/ui/components/shared/ScrollableList.test.js +213 -22
- package/dist/src/ui/components/shared/ScrollableList.test.js.map +1 -1
- package/dist/src/ui/components/shared/SearchableList.d.ts +61 -0
- package/dist/src/ui/components/shared/SearchableList.js +86 -0
- package/dist/src/ui/components/shared/SearchableList.js.map +1 -0
- package/dist/src/ui/components/shared/SearchableList.test.js +169 -0
- package/dist/src/ui/components/shared/SearchableList.test.js.map +1 -0
- package/dist/src/ui/components/shared/SectionHeader.d.ts +1 -0
- package/dist/src/ui/components/shared/SectionHeader.js +1 -1
- package/dist/src/ui/components/shared/SectionHeader.js.map +1 -1
- package/dist/src/ui/components/shared/SectionHeader.test.js +8 -2
- package/dist/src/ui/components/shared/SectionHeader.test.js.map +1 -1
- package/dist/src/ui/components/shared/SlicingMaxSizedBox.d.ts +18 -0
- package/dist/src/ui/components/shared/SlicingMaxSizedBox.js +75 -0
- package/dist/src/ui/components/shared/SlicingMaxSizedBox.js.map +1 -0
- package/dist/src/ui/components/shared/SlicingMaxSizedBox.test.d.ts +6 -0
- package/dist/src/ui/components/shared/SlicingMaxSizedBox.test.js +53 -0
- package/dist/src/ui/components/shared/SlicingMaxSizedBox.test.js.map +1 -0
- package/dist/src/ui/components/shared/TabHeader.js +1 -1
- package/dist/src/ui/components/shared/TabHeader.js.map +1 -1
- package/dist/src/ui/components/shared/TabHeader.test.js +52 -25
- package/dist/src/ui/components/shared/TabHeader.test.js.map +1 -1
- package/dist/src/ui/components/shared/TextInput.d.ts +1 -1
- package/dist/src/ui/components/shared/TextInput.js +7 -3
- package/dist/src/ui/components/shared/TextInput.js.map +1 -1
- package/dist/src/ui/components/shared/TextInput.test.js +144 -66
- package/dist/src/ui/components/shared/TextInput.test.js.map +1 -1
- package/dist/src/ui/components/shared/VirtualizedList.d.ts +13 -1
- package/dist/src/ui/components/shared/VirtualizedList.js +269 -113
- package/dist/src/ui/components/shared/VirtualizedList.js.map +1 -1
- package/dist/src/ui/components/shared/VirtualizedList.test.js +30 -51
- package/dist/src/ui/components/shared/VirtualizedList.test.js.map +1 -1
- package/dist/src/ui/components/shared/performance.test.js +4 -4
- package/dist/src/ui/components/shared/performance.test.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.d.ts +172 -2
- package/dist/src/ui/components/shared/text-buffer.js +228 -64
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.test.js +382 -275
- package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
- package/dist/src/ui/components/shared/vim-buffer-actions.d.ts +42 -0
- package/dist/src/ui/components/shared/vim-buffer-actions.js +673 -32
- package/dist/src/ui/components/shared/vim-buffer-actions.js.map +1 -1
- package/dist/src/ui/components/shared/vim-buffer-actions.test.js +1296 -42
- package/dist/src/ui/components/shared/vim-buffer-actions.test.js.map +1 -1
- package/dist/src/ui/components/triage/TriageDuplicates.d.ts +1 -1
- package/dist/src/ui/components/triage/TriageDuplicates.js +6 -2
- package/dist/src/ui/components/triage/TriageDuplicates.js.map +1 -1
- package/dist/src/ui/components/triage/TriageIssues.d.ts +1 -1
- package/dist/src/ui/components/triage/TriageIssues.js +6 -2
- package/dist/src/ui/components/triage/TriageIssues.js.map +1 -1
- package/dist/src/ui/components/views/ChatList.test.js +6 -6
- package/dist/src/ui/components/views/ChatList.test.js.map +1 -1
- package/dist/src/ui/components/views/ExtensionDetails.d.ts +18 -0
- package/dist/src/ui/components/views/ExtensionDetails.js +85 -0
- package/dist/src/ui/components/views/ExtensionDetails.js.map +1 -0
- package/dist/src/ui/components/views/ExtensionDetails.test.d.ts +6 -0
- package/dist/src/ui/components/views/ExtensionDetails.test.js +154 -0
- package/dist/src/ui/components/views/ExtensionDetails.test.js.map +1 -0
- package/dist/src/ui/components/views/ExtensionRegistryView.d.ts +15 -0
- package/dist/src/ui/components/views/ExtensionRegistryView.js +97 -0
- package/dist/src/ui/components/views/ExtensionRegistryView.js.map +1 -0
- package/dist/src/ui/components/views/ExtensionRegistryView.test.d.ts +6 -0
- package/dist/src/ui/components/views/ExtensionRegistryView.test.js +222 -0
- package/dist/src/ui/components/views/ExtensionRegistryView.test.js.map +1 -0
- package/dist/src/ui/components/views/ExtensionsList.test.js +16 -19
- package/dist/src/ui/components/views/ExtensionsList.test.js.map +1 -1
- package/dist/src/ui/components/views/McpStatus.d.ts +2 -2
- package/dist/src/ui/components/views/McpStatus.js +8 -3
- package/dist/src/ui/components/views/McpStatus.js.map +1 -1
- package/dist/src/ui/components/views/McpStatus.test.js +47 -26
- package/dist/src/ui/components/views/McpStatus.test.js.map +1 -1
- package/dist/src/ui/components/views/SkillsList.js +2 -1
- package/dist/src/ui/components/views/SkillsList.js.map +1 -1
- package/dist/src/ui/components/views/SkillsList.test.js +15 -13
- package/dist/src/ui/components/views/SkillsList.test.js.map +1 -1
- package/dist/src/ui/components/views/ToolsList.test.js +6 -6
- package/dist/src/ui/components/views/ToolsList.test.js.map +1 -1
- package/dist/src/ui/constants/tips.js +81 -82
- package/dist/src/ui/constants/tips.js.map +1 -1
- package/dist/src/ui/constants/wittyPhrases.js +107 -107
- package/dist/src/ui/constants/wittyPhrases.js.map +1 -1
- package/dist/src/ui/constants.d.ts +14 -1
- package/dist/src/ui/constants.js +24 -1
- package/dist/src/ui/constants.js.map +1 -1
- package/dist/src/ui/contexts/AppContext.d.ts +2 -1
- package/dist/src/ui/contexts/AppContext.js.map +1 -1
- package/dist/src/ui/contexts/InputContext.d.ts +17 -0
- package/dist/src/ui/contexts/InputContext.js +15 -0
- package/dist/src/ui/contexts/InputContext.js.map +1 -0
- package/dist/src/ui/contexts/KeypressContext.d.ts +8 -3
- package/dist/src/ui/contexts/KeypressContext.js +196 -45
- package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.test.js +200 -76
- package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
- package/dist/src/ui/contexts/MouseContext.d.ts +1 -2
- package/dist/src/ui/contexts/MouseContext.js +7 -3
- package/dist/src/ui/contexts/MouseContext.js.map +1 -1
- package/dist/src/ui/contexts/MouseContext.test.js +32 -21
- package/dist/src/ui/contexts/MouseContext.test.js.map +1 -1
- package/dist/src/ui/contexts/OverflowContext.d.ts +3 -3
- package/dist/src/ui/contexts/OverflowContext.js +49 -20
- package/dist/src/ui/contexts/OverflowContext.js.map +1 -1
- package/dist/src/ui/contexts/ScrollProvider.drag.test.js +6 -6
- package/dist/src/ui/contexts/ScrollProvider.drag.test.js.map +1 -1
- package/dist/src/ui/contexts/ScrollProvider.js +25 -3
- package/dist/src/ui/contexts/ScrollProvider.js.map +1 -1
- package/dist/src/ui/contexts/ScrollProvider.test.js +111 -11
- package/dist/src/ui/contexts/ScrollProvider.test.js.map +1 -1
- package/dist/src/ui/contexts/SessionContext.d.ts +2 -2
- package/dist/src/ui/contexts/SessionContext.js +10 -0
- package/dist/src/ui/contexts/SessionContext.js.map +1 -1
- package/dist/src/ui/contexts/SessionContext.test.js +26 -11
- package/dist/src/ui/contexts/SessionContext.test.js.map +1 -1
- package/dist/src/ui/contexts/SettingsContext.d.ts +9 -1
- package/dist/src/ui/contexts/SettingsContext.js +34 -1
- package/dist/src/ui/contexts/SettingsContext.js.map +1 -1
- package/dist/src/ui/contexts/SettingsContext.test.d.ts +6 -0
- package/dist/src/ui/contexts/SettingsContext.test.js +106 -0
- package/dist/src/ui/contexts/SettingsContext.test.js.map +1 -0
- package/dist/src/ui/contexts/TerminalContext.d.ts +1 -0
- package/dist/src/ui/contexts/TerminalContext.js +15 -2
- package/dist/src/ui/contexts/TerminalContext.js.map +1 -1
- package/dist/src/ui/contexts/TerminalContext.test.js +24 -10
- package/dist/src/ui/contexts/TerminalContext.test.js.map +1 -1
- package/dist/src/ui/contexts/ToolActionsContext.d.ts +6 -0
- package/dist/src/ui/contexts/ToolActionsContext.js +28 -18
- package/dist/src/ui/contexts/ToolActionsContext.js.map +1 -1
- package/dist/src/ui/contexts/ToolActionsContext.test.js +136 -56
- package/dist/src/ui/contexts/ToolActionsContext.test.js.map +1 -1
- package/dist/src/ui/contexts/UIActionsContext.d.ts +20 -5
- package/dist/src/ui/contexts/UIActionsContext.js +1 -1
- package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
- package/dist/src/ui/contexts/UIStateContext.d.ts +51 -19
- package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
- package/dist/src/ui/contexts/VimModeContext.d.ts +1 -3
- package/dist/src/ui/contexts/VimModeContext.js +7 -16
- package/dist/src/ui/contexts/VimModeContext.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.d.ts +15 -5
- package/dist/src/ui/hooks/atCommandProcessor.js +47 -18
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.test.js +92 -14
- package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor_agents.test.js +2 -1
- package/dist/src/ui/hooks/atCommandProcessor_agents.test.js.map +1 -1
- package/dist/src/ui/hooks/creditsFlowHandler.d.ts +35 -0
- package/dist/src/ui/hooks/creditsFlowHandler.js +158 -0
- package/dist/src/ui/hooks/creditsFlowHandler.js.map +1 -0
- package/dist/src/ui/hooks/creditsFlowHandler.test.d.ts +6 -0
- package/dist/src/ui/hooks/creditsFlowHandler.test.js +211 -0
- package/dist/src/ui/hooks/creditsFlowHandler.test.js.map +1 -0
- package/dist/src/ui/hooks/shell-completions/gitProvider.d.ts +7 -0
- package/dist/src/ui/hooks/shell-completions/gitProvider.js +73 -0
- package/dist/src/ui/hooks/shell-completions/gitProvider.js.map +1 -0
- package/dist/src/ui/hooks/shell-completions/gitProvider.test.d.ts +6 -0
- package/dist/src/ui/hooks/shell-completions/gitProvider.test.js +73 -0
- package/dist/src/ui/hooks/shell-completions/gitProvider.test.js.map +1 -0
- package/dist/src/ui/hooks/shell-completions/index.d.ts +7 -0
- package/dist/src/ui/hooks/shell-completions/index.js +16 -0
- package/dist/src/ui/hooks/shell-completions/index.js.map +1 -0
- package/dist/src/ui/hooks/shell-completions/npmProvider.d.ts +7 -0
- package/dist/src/ui/hooks/shell-completions/npmProvider.js +67 -0
- package/dist/src/ui/hooks/shell-completions/npmProvider.js.map +1 -0
- package/dist/src/ui/hooks/shell-completions/npmProvider.test.d.ts +6 -0
- package/dist/src/ui/hooks/shell-completions/npmProvider.test.js +69 -0
- package/dist/src/ui/hooks/shell-completions/npmProvider.test.js.map +1 -0
- package/dist/src/ui/hooks/shell-completions/types.d.ts +16 -0
- package/dist/src/ui/hooks/shell-completions/types.js +7 -0
- package/dist/src/ui/hooks/shell-completions/types.js.map +1 -0
- package/dist/src/ui/hooks/shellReducer.d.ts +12 -10
- package/dist/src/ui/hooks/shellReducer.js +67 -37
- package/dist/src/ui/hooks/shellReducer.js.map +1 -1
- package/dist/src/ui/hooks/shellReducer.test.js +207 -36
- package/dist/src/ui/hooks/shellReducer.test.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.d.ts +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.js +38 -17
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.test.js +39 -83
- package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/toolMapping.d.ts +4 -3
- package/dist/src/ui/hooks/toolMapping.js +34 -32
- package/dist/src/ui/hooks/toolMapping.js.map +1 -1
- package/dist/src/ui/hooks/toolMapping.test.js +94 -27
- package/dist/src/ui/hooks/toolMapping.test.js.map +1 -1
- package/dist/src/ui/hooks/useAlternateBuffer.d.ts +2 -2
- package/dist/src/ui/hooks/useAlternateBuffer.js +10 -4
- package/dist/src/ui/hooks/useAlternateBuffer.js.map +1 -1
- package/dist/src/ui/hooks/useAlternateBuffer.test.d.ts +6 -0
- package/dist/src/ui/hooks/useAlternateBuffer.test.js +62 -0
- package/dist/src/ui/hooks/useAlternateBuffer.test.js.map +1 -0
- package/dist/src/ui/hooks/useAnimatedScrollbar.js +15 -5
- package/dist/src/ui/hooks/useAnimatedScrollbar.js.map +1 -1
- package/dist/src/ui/hooks/useAnimatedScrollbar.test.js +12 -12
- package/dist/src/ui/hooks/useAnimatedScrollbar.test.js.map +1 -1
- package/dist/src/ui/hooks/useApprovalModeIndicator.d.ts +3 -2
- package/dist/src/ui/hooks/useApprovalModeIndicator.js +5 -3
- package/dist/src/ui/hooks/useApprovalModeIndicator.js.map +1 -1
- package/dist/src/ui/hooks/useApprovalModeIndicator.test.js +66 -63
- package/dist/src/ui/hooks/useApprovalModeIndicator.test.js.map +1 -1
- package/dist/src/ui/hooks/useAtCompletion.d.ts +2 -2
- package/dist/src/ui/hooks/useAtCompletion.js +76 -24
- package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useAtCompletion.test.js +152 -31
- package/dist/src/ui/hooks/useAtCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useAtCompletion_agents.test.js +2 -2
- package/dist/src/ui/hooks/useAtCompletion_agents.test.js.map +1 -1
- package/dist/src/ui/hooks/useBackgroundTaskManager.d.ts +22 -0
- package/dist/src/ui/hooks/useBackgroundTaskManager.js +58 -0
- package/dist/src/ui/hooks/useBackgroundTaskManager.js.map +1 -0
- package/dist/src/ui/hooks/useBackgroundTaskManager.test.d.ts +6 -0
- package/dist/src/ui/hooks/useBackgroundTaskManager.test.js +168 -0
- package/dist/src/ui/hooks/useBackgroundTaskManager.test.js.map +1 -0
- package/dist/src/ui/hooks/useBanner.d.ts +1 -0
- package/dist/src/ui/hooks/useBanner.js +16 -9
- package/dist/src/ui/hooks/useBanner.js.map +1 -1
- package/dist/src/ui/hooks/useBanner.test.js +19 -13
- package/dist/src/ui/hooks/useBanner.test.js.map +1 -1
- package/dist/src/ui/hooks/useBatchedScroll.js +2 -2
- package/dist/src/ui/hooks/useBatchedScroll.js.map +1 -1
- package/dist/src/ui/hooks/useBatchedScroll.test.js +14 -14
- package/dist/src/ui/hooks/useBatchedScroll.test.js.map +1 -1
- package/dist/src/ui/hooks/useCommandCompletion.d.ts +8 -3
- package/dist/src/ui/hooks/useCommandCompletion.js +110 -15
- package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useCommandCompletion.test.d.ts +1 -1
- package/dist/src/ui/hooks/useCommandCompletion.test.js +275 -55
- package/dist/src/ui/hooks/useCommandCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useCompletion.d.ts +1 -1
- package/dist/src/ui/hooks/useCompletion.js +1 -1
- package/dist/src/ui/hooks/useCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useComposerStatus.d.ts +21 -0
- package/dist/src/ui/hooks/useComposerStatus.js +78 -0
- package/dist/src/ui/hooks/useComposerStatus.js.map +1 -0
- package/dist/src/ui/hooks/useConfirmingTool.d.ts +2 -6
- package/dist/src/ui/hooks/useConfirmingTool.js +2 -22
- package/dist/src/ui/hooks/useConfirmingTool.js.map +1 -1
- package/dist/src/ui/hooks/useConsoleMessages.d.ts +20 -4
- package/dist/src/ui/hooks/useConsoleMessages.js +126 -87
- package/dist/src/ui/hooks/useConsoleMessages.js.map +1 -1
- package/dist/src/ui/hooks/useConsoleMessages.test.js +106 -64
- package/dist/src/ui/hooks/useConsoleMessages.test.js.map +1 -1
- package/dist/src/ui/hooks/useEditorSettings.test.js +20 -20
- package/dist/src/ui/hooks/useEditorSettings.test.js.map +1 -1
- package/dist/src/ui/hooks/useExecutionLifecycle.d.ts +28 -0
- package/dist/src/ui/hooks/{shellCommandProcessor.js → useExecutionLifecycle.js} +152 -70
- package/dist/src/ui/hooks/useExecutionLifecycle.js.map +1 -0
- package/dist/src/ui/hooks/useExecutionLifecycle.test.d.ts +6 -0
- package/dist/src/ui/hooks/{shellCommandProcessor.test.js → useExecutionLifecycle.test.js} +172 -124
- package/dist/src/ui/hooks/useExecutionLifecycle.test.js.map +1 -0
- package/dist/src/ui/hooks/useExtensionRegistry.d.ts +13 -0
- package/dist/src/ui/hooks/useExtensionRegistry.js +70 -0
- package/dist/src/ui/hooks/useExtensionRegistry.js.map +1 -0
- package/dist/src/ui/hooks/useExtensionUpdates.js +10 -9
- package/dist/src/ui/hooks/useExtensionUpdates.js.map +1 -1
- package/dist/src/ui/hooks/useExtensionUpdates.test.js +7 -6
- package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -1
- package/dist/src/ui/hooks/useFlickerDetector.test.js +12 -13
- package/dist/src/ui/hooks/useFlickerDetector.test.js.map +1 -1
- package/dist/src/ui/hooks/useFocus.d.ts +4 -1
- package/dist/src/ui/hooks/useFocus.js +7 -1
- package/dist/src/ui/hooks/useFocus.js.map +1 -1
- package/dist/src/ui/hooks/useFocus.test.js +35 -27
- package/dist/src/ui/hooks/useFocus.test.js.map +1 -1
- package/dist/src/ui/hooks/useFolderTrust.d.ts +2 -0
- package/dist/src/ui/hooks/useFolderTrust.js +16 -4
- package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
- package/dist/src/ui/hooks/useFolderTrust.test.js +23 -20
- package/dist/src/ui/hooks/useFolderTrust.test.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.d.ts +7 -7
- package/dist/src/ui/hooks/useGeminiStream.js +468 -125
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.test.js +832 -230
- package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
- package/dist/src/ui/hooks/useGitBranchName.js +2 -2
- package/dist/src/ui/hooks/useGitBranchName.js.map +1 -1
- package/dist/src/ui/hooks/useGitBranchName.test.js +63 -60
- package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
- package/dist/src/ui/hooks/useHistoryManager.js +9 -5
- package/dist/src/ui/hooks/useHistoryManager.js.map +1 -1
- package/dist/src/ui/hooks/useHistoryManager.test.js +63 -24
- package/dist/src/ui/hooks/useHistoryManager.test.js.map +1 -1
- package/dist/src/ui/hooks/useHookDisplayState.js +1 -0
- package/dist/src/ui/hooks/useHookDisplayState.js.map +1 -1
- package/dist/src/ui/hooks/useHookDisplayState.test.js +12 -12
- package/dist/src/ui/hooks/useHookDisplayState.test.js.map +1 -1
- package/dist/src/ui/hooks/useIdeTrustListener.test.js +17 -6
- package/dist/src/ui/hooks/useIdeTrustListener.test.js.map +1 -1
- package/dist/src/ui/hooks/useIncludeDirsTrust.test.js +10 -10
- package/dist/src/ui/hooks/useIncludeDirsTrust.test.js.map +1 -1
- package/dist/src/ui/hooks/useInlineEditBuffer.d.ts +43 -0
- package/dist/src/ui/hooks/useInlineEditBuffer.js +113 -0
- package/dist/src/ui/hooks/useInlineEditBuffer.js.map +1 -0
- package/dist/src/ui/hooks/useInlineEditBuffer.test.d.ts +6 -0
- package/dist/src/ui/hooks/useInlineEditBuffer.test.js +112 -0
- package/dist/src/ui/hooks/useInlineEditBuffer.test.js.map +1 -0
- package/dist/src/ui/hooks/useInputHistory.test.js +28 -28
- package/dist/src/ui/hooks/useInputHistory.test.js.map +1 -1
- package/dist/src/ui/hooks/useInputHistoryStore.test.js +20 -20
- package/dist/src/ui/hooks/useInputHistoryStore.test.js.map +1 -1
- package/dist/src/ui/hooks/useKeyMatchers.d.ts +17 -0
- package/dist/src/ui/hooks/useKeyMatchers.js +13 -0
- package/dist/src/ui/hooks/useKeyMatchers.js.map +1 -0
- package/dist/src/ui/hooks/useKeypress.d.ts +4 -4
- package/dist/src/ui/hooks/useKeypress.js +3 -3
- package/dist/src/ui/hooks/useKeypress.js.map +1 -1
- package/dist/src/ui/hooks/useKeypress.test.js +23 -31
- package/dist/src/ui/hooks/useKeypress.test.js.map +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.d.ts +7 -1
- package/dist/src/ui/hooks/useLoadingIndicator.js +12 -5
- package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.test.js +67 -35
- package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
- package/dist/src/ui/hooks/useLogger.d.ts +1 -2
- package/dist/src/ui/hooks/useLogger.js +7 -4
- package/dist/src/ui/hooks/useLogger.js.map +1 -1
- package/dist/src/ui/hooks/useLogger.test.d.ts +6 -0
- package/dist/src/ui/hooks/useLogger.test.js +57 -0
- package/dist/src/ui/hooks/useLogger.test.js.map +1 -0
- package/dist/src/ui/hooks/useMcpStatus.test.js +10 -10
- package/dist/src/ui/hooks/useMcpStatus.test.js.map +1 -1
- package/dist/src/ui/hooks/useMemoryMonitor.test.js +6 -6
- package/dist/src/ui/hooks/useMemoryMonitor.test.js.map +1 -1
- package/dist/src/ui/hooks/useMessageQueue.test.js +29 -29
- package/dist/src/ui/hooks/useMessageQueue.test.js.map +1 -1
- package/dist/src/ui/hooks/useModelCommand.test.js +6 -6
- package/dist/src/ui/hooks/useModelCommand.test.js.map +1 -1
- package/dist/src/ui/hooks/useMouse.d.ts +1 -1
- package/dist/src/ui/hooks/useMouse.js +1 -1
- package/dist/src/ui/hooks/useMouse.js.map +1 -1
- package/dist/src/ui/hooks/useMouse.test.js +11 -16
- package/dist/src/ui/hooks/useMouse.test.js.map +1 -1
- package/dist/src/ui/hooks/useMouseClick.test.js +15 -7
- package/dist/src/ui/hooks/useMouseClick.test.js.map +1 -1
- package/dist/src/ui/hooks/usePermissionsModifyTrust.js +2 -2
- package/dist/src/ui/hooks/usePermissionsModifyTrust.js.map +1 -1
- package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js +19 -19
- package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js.map +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.d.ts +11 -4
- package/dist/src/ui/hooks/usePhraseCycler.js +116 -55
- package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.test.js +104 -126
- package/dist/src/ui/hooks/usePhraseCycler.test.js.map +1 -1
- package/dist/src/ui/hooks/usePrivacySettings.js +9 -3
- package/dist/src/ui/hooks/usePrivacySettings.js.map +1 -1
- package/dist/src/ui/hooks/usePrivacySettings.test.js +20 -11
- package/dist/src/ui/hooks/usePrivacySettings.test.js.map +1 -1
- package/dist/src/ui/hooks/usePromptCompletion.d.ts +2 -3
- package/dist/src/ui/hooks/usePromptCompletion.js +4 -4
- package/dist/src/ui/hooks/usePromptCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useQuotaAndFallback.d.ts +11 -3
- package/dist/src/ui/hooks/useQuotaAndFallback.js +95 -19
- package/dist/src/ui/hooks/useQuotaAndFallback.js.map +1 -1
- package/dist/src/ui/hooks/useQuotaAndFallback.test.js +328 -38
- package/dist/src/ui/hooks/useQuotaAndFallback.test.js.map +1 -1
- package/dist/src/ui/hooks/useRegistrySearch.d.ts +19 -0
- package/dist/src/ui/hooks/useRegistrySearch.js +35 -0
- package/dist/src/ui/hooks/useRegistrySearch.js.map +1 -0
- package/dist/src/ui/hooks/useRepeatedKeyPress.d.ts +15 -0
- package/dist/src/ui/hooks/useRepeatedKeyPress.js +50 -0
- package/dist/src/ui/hooks/useRepeatedKeyPress.js.map +1 -0
- package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +20 -20
- package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useRewind.test.js +10 -10
- package/dist/src/ui/hooks/useRewind.test.js.map +1 -1
- package/dist/src/ui/hooks/useRunEventNotifications.d.ts +22 -0
- package/dist/src/ui/hooks/useRunEventNotifications.js +93 -0
- package/dist/src/ui/hooks/useRunEventNotifications.js.map +1 -0
- package/dist/src/ui/hooks/useSearchBuffer.d.ts +11 -0
- package/dist/src/ui/hooks/useSearchBuffer.js +24 -0
- package/dist/src/ui/hooks/useSearchBuffer.js.map +1 -0
- package/dist/src/ui/hooks/useSelectionList.js +5 -4
- package/dist/src/ui/hooks/useSelectionList.js.map +1 -1
- package/dist/src/ui/hooks/useSelectionList.test.js +162 -50
- package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -1
- package/dist/src/ui/hooks/useSessionBrowser.d.ts +3 -4
- package/dist/src/ui/hooks/useSessionBrowser.js +7 -5
- package/dist/src/ui/hooks/useSessionBrowser.js.map +1 -1
- package/dist/src/ui/hooks/useSessionBrowser.test.js +60 -17
- package/dist/src/ui/hooks/useSessionBrowser.test.js.map +1 -1
- package/dist/src/ui/hooks/useSessionResume.js +2 -2
- package/dist/src/ui/hooks/useSessionResume.js.map +1 -1
- package/dist/src/ui/hooks/useSessionResume.test.js +20 -20
- package/dist/src/ui/hooks/useSessionResume.test.js.map +1 -1
- package/dist/src/ui/hooks/useSettingsNavigation.d.ts +18 -0
- package/dist/src/ui/hooks/useSettingsNavigation.js +72 -0
- package/dist/src/ui/hooks/useSettingsNavigation.js.map +1 -0
- package/dist/src/ui/hooks/useSettingsNavigation.test.d.ts +6 -0
- package/dist/src/ui/hooks/useSettingsNavigation.test.js +87 -0
- package/dist/src/ui/hooks/useSettingsNavigation.test.js.map +1 -0
- package/dist/src/ui/hooks/useShellCompletion.d.ts +50 -0
- package/dist/src/ui/hooks/useShellCompletion.js +502 -0
- package/dist/src/ui/hooks/useShellCompletion.js.map +1 -0
- package/dist/src/ui/hooks/useShellCompletion.test.d.ts +6 -0
- package/dist/src/ui/hooks/useShellCompletion.test.js +354 -0
- package/dist/src/ui/hooks/useShellCompletion.test.js.map +1 -0
- package/dist/src/ui/hooks/useShellHistory.test.js +7 -7
- package/dist/src/ui/hooks/useShellHistory.test.js.map +1 -1
- package/dist/src/ui/hooks/useShellInactivityStatus.d.ts +1 -1
- package/dist/src/ui/hooks/useShellInactivityStatus.js +1 -1
- package/dist/src/ui/hooks/useShellInactivityStatus.js.map +1 -1
- package/dist/src/ui/hooks/useShellInactivityStatus.test.js +4 -4
- package/dist/src/ui/hooks/useShellInactivityStatus.test.js.map +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.d.ts +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.js +67 -33
- package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.test.d.ts +2 -1
- package/dist/src/ui/hooks/useSlashCompletion.test.js +254 -162
- package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useSnowfall.js +1 -1
- package/dist/src/ui/hooks/useSnowfall.js.map +1 -1
- package/dist/src/ui/hooks/useSnowfall.test.js +15 -11
- package/dist/src/ui/hooks/useSnowfall.test.js.map +1 -1
- package/dist/src/ui/hooks/useStateAndRef.js +1 -0
- package/dist/src/ui/hooks/useStateAndRef.js.map +1 -1
- package/dist/src/ui/hooks/useSuspend.d.ts +16 -0
- package/dist/src/ui/hooks/useSuspend.js +116 -0
- package/dist/src/ui/hooks/useSuspend.js.map +1 -0
- package/dist/src/ui/hooks/useSuspend.test.d.ts +6 -0
- package/dist/src/ui/hooks/useSuspend.test.js +150 -0
- package/dist/src/ui/hooks/useSuspend.test.js.map +1 -0
- package/dist/src/ui/hooks/useTabbedNavigation.js +4 -1
- package/dist/src/ui/hooks/useTabbedNavigation.js.map +1 -1
- package/dist/src/ui/hooks/useTabbedNavigation.test.js +49 -63
- package/dist/src/ui/hooks/useTabbedNavigation.test.js.map +1 -1
- package/dist/src/ui/hooks/useTerminalTheme.d.ts +1 -1
- package/dist/src/ui/hooks/useTerminalTheme.js +24 -9
- package/dist/src/ui/hooks/useTerminalTheme.js.map +1 -1
- package/dist/src/ui/hooks/useTerminalTheme.test.js +79 -38
- package/dist/src/ui/hooks/useTerminalTheme.test.js.map +1 -1
- package/dist/src/ui/hooks/useThemeCommand.d.ts +2 -2
- package/dist/src/ui/hooks/useThemeCommand.js +12 -5
- package/dist/src/ui/hooks/useThemeCommand.js.map +1 -1
- package/dist/src/ui/hooks/useTimedMessage.d.ts +1 -1
- package/dist/src/ui/hooks/useTimedMessage.js +5 -3
- package/dist/src/ui/hooks/useTimedMessage.js.map +1 -1
- package/dist/src/ui/hooks/useTimer.test.js +18 -18
- package/dist/src/ui/hooks/useTimer.test.js.map +1 -1
- package/dist/src/ui/hooks/useTips.test.js +6 -6
- package/dist/src/ui/hooks/useTips.test.js.map +1 -1
- package/dist/src/ui/hooks/useToolScheduler.d.ts +34 -10
- package/dist/src/ui/hooks/useToolScheduler.js +202 -4
- package/dist/src/ui/hooks/useToolScheduler.js.map +1 -1
- package/dist/src/ui/hooks/useToolScheduler.test.d.ts +1 -1
- package/dist/src/ui/hooks/useToolScheduler.test.js +462 -809
- package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
- package/dist/src/ui/hooks/useTurnActivityMonitor.d.ts +1 -1
- package/dist/src/ui/hooks/useTurnActivityMonitor.js +1 -1
- package/dist/src/ui/hooks/useTurnActivityMonitor.js.map +1 -1
- package/dist/src/ui/hooks/useTurnActivityMonitor.test.js +14 -12
- package/dist/src/ui/hooks/useTurnActivityMonitor.test.js.map +1 -1
- package/dist/src/ui/hooks/useVisibilityToggle.d.ts +12 -0
- package/dist/src/ui/hooks/useVisibilityToggle.js +60 -0
- package/dist/src/ui/hooks/useVisibilityToggle.js.map +1 -0
- package/dist/src/ui/hooks/vim-passthrough.test.js +2 -2
- package/dist/src/ui/hooks/vim-passthrough.test.js.map +1 -1
- package/dist/src/ui/hooks/vim.js +587 -27
- package/dist/src/ui/hooks/vim.js.map +1 -1
- package/dist/src/ui/hooks/vim.test.js +734 -183
- package/dist/src/ui/hooks/vim.test.js.map +1 -1
- package/dist/src/{config → ui/key}/keyBindings.d.ts +40 -26
- package/dist/src/ui/key/keyBindings.js +698 -0
- package/dist/src/ui/key/keyBindings.js.map +1 -0
- package/dist/src/ui/key/keyBindings.test.d.ts +6 -0
- package/dist/src/ui/key/keyBindings.test.js +214 -0
- package/dist/src/ui/key/keyBindings.test.js.map +1 -0
- package/dist/src/ui/{keyMatchers.d.ts → key/keyMatchers.d.ts} +11 -4
- package/dist/src/ui/key/keyMatchers.js +43 -0
- package/dist/src/ui/key/keyMatchers.js.map +1 -0
- package/dist/src/ui/key/keyMatchers.test.d.ts +6 -0
- package/dist/src/ui/{keyMatchers.test.js → key/keyMatchers.test.js} +149 -66
- package/dist/src/ui/key/keyMatchers.test.js.map +1 -0
- package/dist/src/ui/key/keyToAnsi.js +46 -0
- package/dist/src/ui/key/keyToAnsi.js.map +1 -0
- package/dist/src/ui/{utils → key}/keybindingUtils.d.ts +3 -3
- package/dist/src/ui/key/keybindingUtils.js +87 -0
- package/dist/src/ui/key/keybindingUtils.js.map +1 -0
- package/dist/src/ui/key/keybindingUtils.test.d.ts +6 -0
- package/dist/src/ui/key/keybindingUtils.test.js +121 -0
- package/dist/src/ui/key/keybindingUtils.test.js.map +1 -0
- package/dist/src/ui/layouts/DefaultAppLayout.js +8 -6
- package/dist/src/ui/layouts/DefaultAppLayout.js.map +1 -1
- package/dist/src/ui/layouts/DefaultAppLayout.test.js +34 -26
- package/dist/src/ui/layouts/DefaultAppLayout.test.js.map +1 -1
- package/dist/src/ui/noninteractive/nonInteractiveUi.js +15 -2
- package/dist/src/ui/noninteractive/nonInteractiveUi.js.map +1 -1
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.js +21 -8
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.js.map +1 -1
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.js +14 -5
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.js.map +1 -1
- package/dist/src/ui/privacy/GeminiPrivacyNotice.test.js +14 -5
- package/dist/src/ui/privacy/GeminiPrivacyNotice.test.js.map +1 -1
- package/dist/src/ui/privacy/PrivacyNotice.test.js +3 -2
- package/dist/src/ui/privacy/PrivacyNotice.test.js.map +1 -1
- package/dist/src/ui/textConstants.d.ts +2 -1
- package/dist/src/ui/textConstants.js +2 -1
- package/dist/src/ui/textConstants.js.map +1 -1
- package/dist/src/ui/themes/{ansi.d.ts → builtin/dark/ansi-dark.d.ts} +2 -2
- package/dist/src/ui/themes/{ansi.js → builtin/dark/ansi-dark.js} +5 -4
- package/dist/src/ui/themes/builtin/dark/ansi-dark.js.map +1 -0
- package/dist/src/ui/themes/{atom-one-dark.d.ts → builtin/dark/atom-one-dark.d.ts} +2 -2
- package/dist/src/ui/themes/{atom-one-dark.js → builtin/dark/atom-one-dark.js} +3 -3
- package/dist/src/ui/themes/builtin/dark/atom-one-dark.js.map +1 -0
- package/dist/src/ui/themes/{ayu.d.ts → builtin/dark/ayu-dark.d.ts} +2 -2
- package/dist/src/ui/themes/{ayu.js → builtin/dark/ayu-dark.js} +4 -4
- package/dist/src/ui/themes/builtin/dark/ayu-dark.js.map +1 -0
- package/dist/src/ui/themes/{default.d.ts → builtin/dark/default-dark.d.ts} +2 -2
- package/dist/src/ui/themes/{default.js → builtin/dark/default-dark.js} +3 -3
- package/dist/src/ui/themes/builtin/dark/default-dark.js.map +1 -0
- package/dist/src/ui/themes/{dracula.d.ts → builtin/dark/dracula-dark.d.ts} +2 -2
- package/dist/src/ui/themes/{dracula.js → builtin/dark/dracula-dark.js} +4 -4
- package/dist/src/ui/themes/builtin/dark/dracula-dark.js.map +1 -0
- package/dist/src/ui/themes/{github-dark.d.ts → builtin/dark/github-dark.d.ts} +2 -2
- package/dist/src/ui/themes/{github-dark.js → builtin/dark/github-dark.js} +3 -3
- package/dist/src/ui/themes/builtin/dark/github-dark.js.map +1 -0
- package/dist/src/ui/themes/{holiday.d.ts → builtin/dark/holiday-dark.d.ts} +2 -2
- package/dist/src/ui/themes/{holiday.js → builtin/dark/holiday-dark.js} +5 -4
- package/dist/src/ui/themes/{holiday.js.map → builtin/dark/holiday-dark.js.map} +1 -1
- package/dist/src/ui/themes/{shades-of-purple.d.ts → builtin/dark/shades-of-purple-dark.d.ts} +2 -2
- package/dist/src/ui/themes/{shades-of-purple.js → builtin/dark/shades-of-purple-dark.js} +4 -4
- package/dist/src/ui/themes/builtin/dark/shades-of-purple-dark.js.map +1 -0
- package/dist/src/ui/themes/builtin/dark/solarized-dark.d.ts +7 -0
- package/dist/src/ui/themes/builtin/dark/solarized-dark.js +198 -0
- package/dist/src/ui/themes/builtin/dark/solarized-dark.js.map +1 -0
- package/dist/src/ui/themes/builtin/dark/tokyonight-dark.d.ts +7 -0
- package/dist/src/ui/themes/builtin/dark/tokyonight-dark.js +147 -0
- package/dist/src/ui/themes/builtin/dark/tokyonight-dark.js.map +1 -0
- package/dist/src/ui/themes/{ansi-light.d.ts → builtin/light/ansi-light.d.ts} +2 -2
- package/dist/src/ui/themes/{ansi-light.js → builtin/light/ansi-light.js} +3 -3
- package/dist/src/ui/themes/builtin/light/ansi-light.js.map +1 -0
- package/dist/src/ui/themes/{ayu-light.d.ts → builtin/light/ayu-light.d.ts} +2 -2
- package/dist/src/ui/themes/{ayu-light.js → builtin/light/ayu-light.js} +3 -3
- package/dist/src/ui/themes/builtin/light/ayu-light.js.map +1 -0
- package/dist/src/ui/themes/{default-light.d.ts → builtin/light/default-light.d.ts} +2 -2
- package/dist/src/ui/themes/{default-light.js → builtin/light/default-light.js} +2 -2
- package/dist/src/ui/themes/builtin/light/default-light.js.map +1 -0
- package/dist/src/ui/themes/{github-light.d.ts → builtin/light/github-light.d.ts} +2 -2
- package/dist/src/ui/themes/{github-light.js → builtin/light/github-light.js} +4 -3
- package/dist/src/ui/themes/builtin/light/github-light.js.map +1 -0
- package/dist/src/ui/themes/{googlecode.d.ts → builtin/light/googlecode-light.d.ts} +2 -2
- package/dist/src/ui/themes/{googlecode.js → builtin/light/googlecode-light.js} +4 -4
- package/dist/src/ui/themes/builtin/light/googlecode-light.js.map +1 -0
- package/dist/src/ui/themes/builtin/light/solarized-light.d.ts +7 -0
- package/dist/src/ui/themes/builtin/light/solarized-light.js +198 -0
- package/dist/src/ui/themes/builtin/light/solarized-light.js.map +1 -0
- package/dist/src/ui/themes/{xcode.d.ts → builtin/light/xcode-light.d.ts} +2 -2
- package/dist/src/ui/themes/{xcode.js → builtin/light/xcode-light.js} +5 -4
- package/dist/src/ui/themes/builtin/light/xcode-light.js.map +1 -0
- package/dist/src/ui/themes/{no-color.d.ts → builtin/no-color.d.ts} +2 -2
- package/dist/src/ui/themes/{no-color.js → builtin/no-color.js} +10 -3
- package/dist/src/ui/themes/builtin/no-color.js.map +1 -0
- package/dist/src/ui/themes/color-utils.d.ts +2 -18
- package/dist/src/ui/themes/color-utils.js +2 -231
- package/dist/src/ui/themes/color-utils.js.map +1 -1
- package/dist/src/ui/themes/semantic-tokens.d.ts +5 -1
- package/dist/src/ui/themes/semantic-tokens.js +12 -4
- package/dist/src/ui/themes/semantic-tokens.js.map +1 -1
- package/dist/src/ui/themes/theme-manager.d.ts +47 -7
- package/dist/src/ui/themes/theme-manager.js +171 -27
- package/dist/src/ui/themes/theme-manager.js.map +1 -1
- package/dist/src/ui/themes/theme-manager.test.js +86 -2
- package/dist/src/ui/themes/theme-manager.test.js.map +1 -1
- package/dist/src/ui/themes/theme.d.ts +25 -0
- package/dist/src/ui/themes/theme.js +178 -36
- package/dist/src/ui/themes/theme.js.map +1 -1
- package/dist/src/ui/themes/theme.test.js +7 -7
- package/dist/src/ui/themes/theme.test.js.map +1 -1
- package/dist/src/ui/types.d.ts +48 -23
- package/dist/src/ui/types.js +31 -1
- package/dist/src/ui/types.js.map +1 -1
- package/dist/src/ui/utils/CodeColorizer.d.ts +10 -2
- package/dist/src/ui/utils/CodeColorizer.js +37 -32
- package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
- package/dist/src/ui/utils/CodeColorizer.test.js +38 -2
- package/dist/src/ui/utils/CodeColorizer.test.js.map +1 -1
- package/dist/src/ui/utils/ConsolePatcher.d.ts +1 -0
- package/dist/src/ui/utils/ConsolePatcher.js +12 -5
- package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
- package/dist/src/ui/utils/ConsolePatcher.test.d.ts +6 -0
- package/dist/src/ui/utils/ConsolePatcher.test.js +199 -0
- package/dist/src/ui/utils/ConsolePatcher.test.js.map +1 -0
- package/dist/src/ui/utils/InlineMarkdownRenderer.d.ts +0 -5
- package/dist/src/ui/utils/InlineMarkdownRenderer.js +7 -103
- package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.js +3 -2
- package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.test.js +51 -35
- package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -1
- package/dist/src/ui/utils/TableRenderer.js +124 -56
- package/dist/src/ui/utils/TableRenderer.js.map +1 -1
- package/dist/src/ui/utils/TableRenderer.test.js +344 -6
- package/dist/src/ui/utils/TableRenderer.test.js.map +1 -1
- package/dist/src/ui/utils/borderStyles.d.ts +18 -0
- package/dist/src/ui/utils/borderStyles.js +83 -0
- package/dist/src/ui/utils/borderStyles.js.map +1 -0
- package/dist/src/ui/utils/borderStyles.test.d.ts +6 -0
- package/dist/src/ui/utils/borderStyles.test.js +171 -0
- package/dist/src/ui/utils/borderStyles.test.js.map +1 -0
- package/dist/src/ui/utils/clipboardUtils.d.ts +23 -11
- package/dist/src/ui/utils/clipboardUtils.js +79 -49
- package/dist/src/ui/utils/clipboardUtils.js.map +1 -1
- package/dist/src/ui/utils/clipboardUtils.test.js +168 -120
- package/dist/src/ui/utils/clipboardUtils.test.js.map +1 -1
- package/dist/src/ui/utils/commandUtils.d.ts +8 -3
- package/dist/src/ui/utils/commandUtils.js +20 -8
- package/dist/src/ui/utils/commandUtils.js.map +1 -1
- package/dist/src/ui/utils/commandUtils.test.js +39 -7
- package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
- package/dist/src/ui/utils/computeStats.test.js +8 -0
- package/dist/src/ui/utils/computeStats.test.js.map +1 -1
- package/dist/src/ui/utils/confirmingTool.d.ts +15 -0
- package/dist/src/ui/utils/confirmingTool.js +26 -0
- package/dist/src/ui/utils/confirmingTool.js.map +1 -0
- package/dist/src/ui/utils/contextUsage.d.ts +7 -0
- package/dist/src/ui/utils/contextUsage.js +20 -0
- package/dist/src/ui/utils/contextUsage.js.map +1 -0
- package/dist/src/ui/utils/directoryUtils.js +1 -1
- package/dist/src/ui/utils/directoryUtils.js.map +1 -1
- package/dist/src/ui/utils/displayUtils.d.ts +9 -0
- package/dist/src/ui/utils/displayUtils.js +14 -0
- package/dist/src/ui/utils/displayUtils.js.map +1 -1
- package/dist/src/ui/utils/editorUtils.d.ts +17 -0
- package/dist/src/ui/utils/editorUtils.js +104 -0
- package/dist/src/ui/utils/editorUtils.js.map +1 -0
- package/dist/src/ui/utils/fileUtils.d.ts +10 -0
- package/dist/src/ui/utils/fileUtils.js +17 -0
- package/dist/src/ui/utils/fileUtils.js.map +1 -0
- package/dist/src/ui/utils/formatters.d.ts +1 -1
- package/dist/src/ui/utils/formatters.js +38 -12
- package/dist/src/ui/utils/formatters.js.map +1 -1
- package/dist/src/ui/utils/formatters.test.js +29 -1
- package/dist/src/ui/utils/formatters.test.js.map +1 -1
- package/dist/src/ui/utils/highlight.js +1 -1
- package/dist/src/ui/utils/highlight.js.map +1 -1
- package/dist/src/ui/utils/historyExportUtils.d.ts +2 -2
- package/dist/src/ui/utils/historyExportUtils.js.map +1 -1
- package/dist/src/ui/utils/historyUtils.d.ts +10 -0
- package/dist/src/ui/utils/historyUtils.js +56 -0
- package/dist/src/ui/utils/historyUtils.js.map +1 -0
- package/dist/src/ui/utils/markdownParsingUtils.d.ts +10 -0
- package/dist/src/ui/utils/markdownParsingUtils.js +150 -0
- package/dist/src/ui/utils/markdownParsingUtils.js.map +1 -0
- package/dist/src/ui/utils/markdownParsingUtils.test.d.ts +6 -0
- package/dist/src/ui/utils/markdownParsingUtils.test.js +166 -0
- package/dist/src/ui/utils/markdownParsingUtils.test.js.map +1 -0
- package/dist/src/ui/utils/pendingAttentionNotification.d.ts +12 -0
- package/dist/src/ui/utils/pendingAttentionNotification.js +101 -0
- package/dist/src/ui/utils/pendingAttentionNotification.js.map +1 -0
- package/dist/src/ui/utils/pendingAttentionNotification.test.d.ts +6 -0
- package/dist/src/ui/utils/pendingAttentionNotification.test.js +79 -0
- package/dist/src/ui/utils/pendingAttentionNotification.test.js.map +1 -0
- package/dist/src/ui/utils/shortcutsHelp.d.ts +7 -0
- package/dist/src/ui/utils/shortcutsHelp.js +12 -0
- package/dist/src/ui/utils/shortcutsHelp.js.map +1 -0
- package/dist/src/ui/utils/terminalCapabilityManager.d.ts +14 -1
- package/dist/src/ui/utils/terminalCapabilityManager.js +73 -18
- package/dist/src/ui/utils/terminalCapabilityManager.js.map +1 -1
- package/dist/src/ui/utils/terminalCapabilityManager.test.js +126 -0
- package/dist/src/ui/utils/terminalCapabilityManager.test.js.map +1 -1
- package/dist/src/ui/utils/terminalSetup.d.ts +24 -0
- package/dist/src/ui/utils/terminalSetup.js +130 -34
- package/dist/src/ui/utils/terminalSetup.js.map +1 -1
- package/dist/src/ui/utils/terminalSetup.test.js +35 -1
- package/dist/src/ui/utils/terminalSetup.test.js.map +1 -1
- package/dist/src/ui/utils/textOutput.test.js +1 -0
- package/dist/src/ui/utils/textOutput.test.js.map +1 -1
- package/dist/src/ui/utils/textUtils.d.ts +4 -0
- package/dist/src/ui/utils/textUtils.js +10 -1
- package/dist/src/ui/utils/textUtils.js.map +1 -1
- package/dist/src/ui/utils/textUtils.test.js +28 -7
- package/dist/src/ui/utils/textUtils.test.js.map +1 -1
- package/dist/src/ui/utils/toolLayoutUtils.d.ts +49 -0
- package/dist/src/ui/utils/toolLayoutUtils.js +80 -0
- package/dist/src/ui/utils/toolLayoutUtils.js.map +1 -0
- package/dist/src/ui/utils/toolLayoutUtils.test.d.ts +6 -0
- package/dist/src/ui/utils/toolLayoutUtils.test.js +187 -0
- package/dist/src/ui/utils/toolLayoutUtils.test.js.map +1 -0
- package/dist/src/ui/utils/ui-sizing.d.ts +2 -2
- package/dist/src/ui/utils/ui-sizing.js +2 -3
- package/dist/src/ui/utils/ui-sizing.js.map +1 -1
- package/dist/src/ui/utils/ui-sizing.test.js +6 -19
- package/dist/src/ui/utils/ui-sizing.test.js.map +1 -1
- package/dist/src/ui/utils/updateCheck.d.ts +1 -0
- package/dist/src/ui/utils/updateCheck.js.map +1 -1
- package/dist/src/ui/utils/urlSecurityUtils.d.ts +32 -0
- package/dist/src/ui/utils/urlSecurityUtils.js +71 -0
- package/dist/src/ui/utils/urlSecurityUtils.js.map +1 -0
- package/dist/src/ui/utils/urlSecurityUtils.test.d.ts +6 -0
- package/dist/src/ui/utils/urlSecurityUtils.test.js +49 -0
- package/dist/src/ui/utils/urlSecurityUtils.test.js.map +1 -0
- package/dist/src/utils/activityLogger.js +113 -24
- package/dist/src/utils/activityLogger.js.map +1 -1
- package/dist/src/utils/agentSettings.d.ts +7 -14
- package/dist/src/utils/agentSettings.js +27 -84
- package/dist/src/utils/agentSettings.js.map +1 -1
- package/dist/src/utils/agentSettings.test.d.ts +6 -0
- package/dist/src/utils/agentSettings.test.js +111 -0
- package/dist/src/utils/agentSettings.test.js.map +1 -0
- package/dist/src/utils/cleanup.d.ts +2 -0
- package/dist/src/utils/cleanup.js +63 -6
- package/dist/src/utils/cleanup.js.map +1 -1
- package/dist/src/utils/cleanup.test.js +165 -2
- package/dist/src/utils/cleanup.test.js.map +1 -1
- package/dist/src/utils/commands.js +15 -0
- package/dist/src/utils/commands.js.map +1 -1
- package/dist/src/utils/commands.test.js +80 -1
- package/dist/src/utils/commands.test.js.map +1 -1
- package/dist/src/utils/deepMerge.js +1 -1
- package/dist/src/utils/deepMerge.js.map +1 -1
- package/dist/src/utils/deepMerge.test.js +13 -3
- package/dist/src/utils/deepMerge.test.js.map +1 -1
- package/dist/src/utils/devtoolsService.d.ts +11 -1
- package/dist/src/utils/devtoolsService.js +36 -2
- package/dist/src/utils/devtoolsService.js.map +1 -1
- package/dist/src/utils/devtoolsService.test.js +74 -2
- package/dist/src/utils/devtoolsService.test.js.map +1 -1
- package/dist/src/utils/dialogScopeUtils.d.ts +6 -2
- package/dist/src/utils/dialogScopeUtils.js +4 -4
- package/dist/src/utils/dialogScopeUtils.js.map +1 -1
- package/dist/src/utils/dialogScopeUtils.test.js +5 -5
- package/dist/src/utils/dialogScopeUtils.test.js.map +1 -1
- package/dist/src/utils/envVarResolver.d.ts +5 -2
- package/dist/src/utils/envVarResolver.js +18 -6
- package/dist/src/utils/envVarResolver.js.map +1 -1
- package/dist/src/utils/envVarResolver.test.js +41 -24
- package/dist/src/utils/envVarResolver.test.js.map +1 -1
- package/dist/src/utils/errors.d.ts +0 -1
- package/dist/src/utils/errors.js +4 -10
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/errors.test.js +2 -17
- package/dist/src/utils/errors.test.js.map +1 -1
- package/dist/src/utils/events.d.ts +3 -1
- package/dist/src/utils/events.js +1 -0
- package/dist/src/utils/events.js.map +1 -1
- package/dist/src/utils/featureToggleUtils.d.ts +55 -0
- package/dist/src/utils/featureToggleUtils.js +95 -0
- package/dist/src/utils/featureToggleUtils.js.map +1 -0
- package/dist/src/utils/featureToggleUtils.test.d.ts +6 -0
- package/dist/src/utils/featureToggleUtils.test.js +126 -0
- package/dist/src/utils/featureToggleUtils.test.js.map +1 -0
- package/dist/src/utils/gitUtils.js +6 -4
- package/dist/src/utils/gitUtils.js.map +1 -1
- package/dist/src/utils/handleAutoUpdate.d.ts +8 -1
- package/dist/src/utils/handleAutoUpdate.js +56 -3
- package/dist/src/utils/handleAutoUpdate.js.map +1 -1
- package/dist/src/utils/handleAutoUpdate.test.js +67 -5
- package/dist/src/utils/handleAutoUpdate.test.js.map +1 -1
- package/dist/src/utils/installationInfo.d.ts +1 -0
- package/dist/src/utils/installationInfo.js +10 -1
- package/dist/src/utils/installationInfo.js.map +1 -1
- package/dist/src/utils/installationInfo.test.js +10 -0
- package/dist/src/utils/installationInfo.test.js.map +1 -1
- package/dist/src/utils/jsonoutput.js +3 -1
- package/dist/src/utils/jsonoutput.js.map +1 -1
- package/dist/src/utils/logCleanup.d.ts +12 -0
- package/dist/src/utils/logCleanup.js +58 -0
- package/dist/src/utils/logCleanup.js.map +1 -0
- package/dist/src/utils/logCleanup.test.d.ts +6 -0
- package/dist/src/utils/logCleanup.test.js +87 -0
- package/dist/src/utils/logCleanup.test.js.map +1 -0
- package/dist/src/utils/persistentState.d.ts +3 -0
- package/dist/src/utils/persistentState.js +1 -0
- package/dist/src/utils/persistentState.js.map +1 -1
- package/dist/src/utils/processUtils.d.ts +2 -3
- package/dist/src/utils/processUtils.js +10 -0
- package/dist/src/utils/processUtils.js.map +1 -1
- package/dist/src/utils/processUtils.test.js +11 -2
- package/dist/src/utils/processUtils.test.js.map +1 -1
- package/dist/src/utils/readStdin.js +1 -0
- package/dist/src/utils/readStdin.js.map +1 -1
- package/dist/src/utils/relaunch.test.js.map +1 -1
- package/dist/src/utils/{sandbox-macos-restrictive-closed.sb → sandbox-macos-strict-open.sb} +41 -3
- package/dist/src/utils/sandbox-macos-strict-proxied.sb +133 -0
- package/dist/src/utils/sandbox.js +277 -20
- package/dist/src/utils/sandbox.js.map +1 -1
- package/dist/src/utils/sandbox.test.js +198 -17
- package/dist/src/utils/sandbox.test.js.map +1 -1
- package/dist/src/utils/sandboxUtils.js +3 -3
- package/dist/src/utils/sandboxUtils.js.map +1 -1
- package/dist/src/utils/sessionCleanup.d.ts +6 -1
- package/dist/src/utils/sessionCleanup.integration.test.js +94 -0
- package/dist/src/utils/sessionCleanup.integration.test.js.map +1 -1
- package/dist/src/utils/sessionCleanup.js +107 -38
- package/dist/src/utils/sessionCleanup.js.map +1 -1
- package/dist/src/utils/sessionCleanup.test.js +545 -1089
- package/dist/src/utils/sessionCleanup.test.js.map +1 -1
- package/dist/src/utils/sessionUtils.d.ts +2 -7
- package/dist/src/utils/sessionUtils.js +39 -115
- package/dist/src/utils/sessionUtils.js.map +1 -1
- package/dist/src/utils/sessionUtils.test.js +269 -3
- package/dist/src/utils/sessionUtils.test.js.map +1 -1
- package/dist/src/utils/sessions.js +1 -1
- package/dist/src/utils/sessions.js.map +1 -1
- package/dist/src/utils/sessions.test.js +3 -1
- package/dist/src/utils/sessions.test.js.map +1 -1
- package/dist/src/utils/settingsUtils.d.ts +20 -93
- package/dist/src/utils/settingsUtils.js +135 -207
- package/dist/src/utils/settingsUtils.js.map +1 -1
- package/dist/src/utils/settingsUtils.test.js +129 -264
- package/dist/src/utils/settingsUtils.test.js.map +1 -1
- package/dist/src/utils/skillSettings.d.ts +4 -14
- package/dist/src/utils/skillSettings.js +32 -81
- package/dist/src/utils/skillSettings.js.map +1 -1
- package/dist/src/utils/skillSettings.test.d.ts +6 -0
- package/dist/src/utils/skillSettings.test.js +142 -0
- package/dist/src/utils/skillSettings.test.js.map +1 -0
- package/dist/src/utils/skillUtils.js +24 -7
- package/dist/src/utils/skillUtils.js.map +1 -1
- package/dist/src/utils/skillUtils.test.js +52 -4
- package/dist/src/utils/skillUtils.test.js.map +1 -1
- package/dist/src/utils/terminalNotifications.d.ts +25 -0
- package/dist/src/utils/terminalNotifications.js +75 -0
- package/dist/src/utils/terminalNotifications.js.map +1 -0
- package/dist/src/utils/terminalNotifications.test.d.ts +6 -0
- package/dist/src/utils/terminalNotifications.test.js +125 -0
- package/dist/src/utils/terminalNotifications.test.js.map +1 -0
- package/dist/src/utils/terminalTheme.js +3 -4
- package/dist/src/utils/terminalTheme.js.map +1 -1
- package/dist/src/utils/tierUtils.d.ts +12 -0
- package/dist/src/utils/tierUtils.js +15 -0
- package/dist/src/utils/tierUtils.js.map +1 -0
- package/dist/src/utils/tierUtils.test.d.ts +6 -0
- package/dist/src/utils/tierUtils.test.js +25 -0
- package/dist/src/utils/tierUtils.test.js.map +1 -0
- package/dist/src/utils/userStartupWarnings.d.ts +4 -1
- package/dist/src/utils/userStartupWarnings.js +24 -6
- package/dist/src/utils/userStartupWarnings.js.map +1 -1
- package/dist/src/utils/userStartupWarnings.test.js +53 -11
- package/dist/src/utils/userStartupWarnings.test.js.map +1 -1
- package/dist/src/utils/worktreeSetup.d.ts +14 -0
- package/dist/src/utils/worktreeSetup.js +32 -0
- package/dist/src/utils/worktreeSetup.js.map +1 -0
- package/dist/src/utils/worktreeSetup.test.d.ts +6 -0
- package/dist/src/utils/worktreeSetup.test.js +89 -0
- package/dist/src/utils/worktreeSetup.test.js.map +1 -0
- package/dist/src/validateNonInterActiveAuth.d.ts +1 -2
- package/dist/src/validateNonInterActiveAuth.js +1 -14
- package/dist/src/validateNonInterActiveAuth.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -8
- package/dist/src/config/keyBindings.js +0 -460
- package/dist/src/config/keyBindings.js.map +0 -1
- package/dist/src/config/keyBindings.test.js +0 -108
- package/dist/src/config/keyBindings.test.js.map +0 -1
- package/dist/src/ui/commands/shellsCommand.js.map +0 -1
- package/dist/src/ui/commands/shellsCommand.test.js +0 -29
- package/dist/src/ui/commands/shellsCommand.test.js.map +0 -1
- package/dist/src/ui/components/BackgroundShellDisplay.d.ts +0 -16
- package/dist/src/ui/components/BackgroundShellDisplay.js.map +0 -1
- package/dist/src/ui/components/BackgroundShellDisplay.test.js.map +0 -1
- package/dist/src/ui/components/ShortcutsHint.d.ts +0 -7
- package/dist/src/ui/components/ShortcutsHint.js +0 -12
- package/dist/src/ui/components/ShortcutsHint.js.map +0 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessageOverflow.test.js +0 -93
- package/dist/src/ui/components/messages/ToolConfirmationMessageOverflow.test.js.map +0 -1
- package/dist/src/ui/components/views/HooksList.d.ts +0 -24
- package/dist/src/ui/components/views/HooksList.js +0 -28
- package/dist/src/ui/components/views/HooksList.js.map +0 -1
- package/dist/src/ui/hooks/keyToAnsi.js +0 -67
- package/dist/src/ui/hooks/keyToAnsi.js.map +0 -1
- package/dist/src/ui/hooks/shellCommandProcessor.d.ts +0 -28
- package/dist/src/ui/hooks/shellCommandProcessor.js.map +0 -1
- package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +0 -1
- package/dist/src/ui/hooks/useBackgroundShellManager.d.ts +0 -22
- package/dist/src/ui/hooks/useBackgroundShellManager.js +0 -58
- package/dist/src/ui/hooks/useBackgroundShellManager.js.map +0 -1
- package/dist/src/ui/hooks/useBackgroundShellManager.test.js +0 -168
- package/dist/src/ui/hooks/useBackgroundShellManager.test.js.map +0 -1
- package/dist/src/ui/hooks/useReactToolScheduler.d.ts +0 -42
- package/dist/src/ui/hooks/useReactToolScheduler.js +0 -106
- package/dist/src/ui/hooks/useReactToolScheduler.js.map +0 -1
- package/dist/src/ui/hooks/useReactToolScheduler.test.js +0 -58
- package/dist/src/ui/hooks/useReactToolScheduler.test.js.map +0 -1
- package/dist/src/ui/hooks/useToolExecutionScheduler.d.ts +0 -30
- package/dist/src/ui/hooks/useToolExecutionScheduler.js +0 -149
- package/dist/src/ui/hooks/useToolExecutionScheduler.js.map +0 -1
- package/dist/src/ui/hooks/useToolExecutionScheduler.test.js +0 -376
- package/dist/src/ui/hooks/useToolExecutionScheduler.test.js.map +0 -1
- package/dist/src/ui/keyMatchers.js +0 -46
- package/dist/src/ui/keyMatchers.js.map +0 -1
- package/dist/src/ui/keyMatchers.test.js.map +0 -1
- package/dist/src/ui/themes/ansi-light.js.map +0 -1
- package/dist/src/ui/themes/ansi.js.map +0 -1
- package/dist/src/ui/themes/atom-one-dark.js.map +0 -1
- package/dist/src/ui/themes/ayu-light.js.map +0 -1
- package/dist/src/ui/themes/ayu.js.map +0 -1
- package/dist/src/ui/themes/default-light.js.map +0 -1
- package/dist/src/ui/themes/default.js.map +0 -1
- package/dist/src/ui/themes/dracula.js.map +0 -1
- package/dist/src/ui/themes/github-dark.js.map +0 -1
- package/dist/src/ui/themes/github-light.js.map +0 -1
- package/dist/src/ui/themes/googlecode.js.map +0 -1
- package/dist/src/ui/themes/no-color.js.map +0 -1
- package/dist/src/ui/themes/shades-of-purple.js.map +0 -1
- package/dist/src/ui/themes/xcode.js.map +0 -1
- package/dist/src/ui/utils/InlineMarkdownRenderer.test.js +0 -21
- package/dist/src/ui/utils/InlineMarkdownRenderer.test.js.map +0 -1
- package/dist/src/ui/utils/keybindingUtils.js +0 -54
- package/dist/src/ui/utils/keybindingUtils.js.map +0 -1
- package/dist/src/ui/utils/keybindingUtils.test.js +0 -44
- package/dist/src/ui/utils/keybindingUtils.test.js.map +0 -1
- package/dist/src/utils/sandbox-macos-permissive-closed.sb +0 -32
- package/dist/src/zed-integration/acpErrors.js.map +0 -1
- package/dist/src/zed-integration/acpErrors.test.js.map +0 -1
- package/dist/src/zed-integration/acpResume.test.js.map +0 -1
- package/dist/src/zed-integration/fileSystemService.js +0 -41
- package/dist/src/zed-integration/fileSystemService.js.map +0 -1
- package/dist/src/zed-integration/fileSystemService.test.js +0 -88
- package/dist/src/zed-integration/fileSystemService.test.js.map +0 -1
- package/dist/src/zed-integration/zedIntegration.d.ts +0 -42
- package/dist/src/zed-integration/zedIntegration.js.map +0 -1
- package/dist/src/zed-integration/zedIntegration.test.js +0 -664
- package/dist/src/zed-integration/zedIntegration.test.js.map +0 -1
- /package/dist/src/{config/keyBindings.test.d.ts → acp/acpClient.test.d.ts} +0 -0
- /package/dist/src/{zed-integration → acp}/acpErrors.d.ts +0 -0
- /package/dist/src/{zed-integration → acp}/acpErrors.test.d.ts +0 -0
- /package/dist/src/{zed-integration → acp}/acpErrors.test.js +0 -0
- /package/dist/src/{zed-integration → acp}/acpResume.test.d.ts +0 -0
- /package/dist/src/{ui/components/messages/ToolConfirmationMessageOverflow.test.d.ts → acp/commandHandler.test.d.ts} +0 -0
- /package/dist/src/{ui/hooks/useToolExecutionScheduler.test.d.ts → acp/commands/help.test.d.ts} +0 -0
- /package/dist/src/{zed-integration → acp}/fileSystemService.test.d.ts +0 -0
- /package/dist/src/{ui/commands/shellsCommand.test.d.ts → config/extension-manager.test.d.ts} +0 -0
- /package/dist/src/{ui/components/BackgroundShellDisplay.test.d.ts → config/policy.test.d.ts} +0 -0
- /package/dist/src/{ui/hooks/shellCommandProcessor.test.d.ts → config/workspace-policy-cli.test.d.ts} +0 -0
- /package/dist/src/{ui/hooks/useBackgroundShellManager.test.d.ts → nonInteractiveCliAgentSession.test.d.ts} +0 -0
- /package/dist/src/ui/{hooks/useReactToolScheduler.test.d.ts → commands/resumeCommand.test.d.ts} +0 -0
- /package/dist/src/ui/{keyMatchers.test.d.ts → commands/tasksCommand.test.d.ts} +0 -0
- /package/dist/src/ui/{utils/InlineMarkdownRenderer.test.d.ts → components/BackgroundTaskDisplay.test.d.ts} +0 -0
- /package/dist/src/ui/{utils/keybindingUtils.test.d.ts → components/messages/SubagentProgressDisplay.test.d.ts} +0 -0
- /package/dist/src/{zed-integration/zedIntegration.test.d.ts → ui/components/shared/SearchableList.test.d.ts} +0 -0
- /package/dist/src/ui/{hooks → key}/keyToAnsi.d.ts +0 -0
|
@@ -3,20 +3,35 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { AuthType, logToolCall, convertToFunctionResponse, ToolConfirmationOutcome, clearCachedCredentialFile, isNodeError, getErrorMessage, isWithinRoot, getErrorStatus, MCPServerConfig, DiscoveredMCPTool, StreamEventType, ToolCallEvent, debugLogger, ReadManyFilesTool, REFERENCE_CONTENT_START,
|
|
6
|
+
import { CoreToolCallStatus, AuthType, logToolCall, convertToFunctionResponse, ToolConfirmationOutcome, clearCachedCredentialFile, isNodeError, getErrorMessage, isWithinRoot, getErrorStatus, MCPServerConfig, DiscoveredMCPTool, StreamEventType, ToolCallEvent, debugLogger, ReadManyFilesTool, REFERENCE_CONTENT_START, createWorkingStdio, startupProfiler, Kind, partListUnionToString, LlmRole, ApprovalMode, getVersion, convertSessionToClientHistory, DEFAULT_GEMINI_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_FLASH_LITE_MODEL, PREVIEW_GEMINI_MODEL, PREVIEW_GEMINI_3_1_MODEL, PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL, PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL, PREVIEW_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_MODEL_AUTO, PREVIEW_GEMINI_MODEL_AUTO, getDisplayString, processSingleFileContent, InvalidStreamError, updatePolicy, } from '@google/gemini-cli-core';
|
|
7
7
|
import * as acp from '@agentclientprotocol/sdk';
|
|
8
8
|
import { AcpFileSystemService } from './fileSystemService.js';
|
|
9
9
|
import { getAcpErrorMessage } from './acpErrors.js';
|
|
10
10
|
import { Readable, Writable } from 'node:stream';
|
|
11
|
-
|
|
11
|
+
function hasMeta(obj) {
|
|
12
|
+
return typeof obj === 'object' && obj !== null && '_meta' in obj;
|
|
13
|
+
}
|
|
14
|
+
import { SettingScope, loadSettings, } from '../config/settings.js';
|
|
15
|
+
import { createPolicyUpdater } from '../config/policy.js';
|
|
12
16
|
import * as fs from 'node:fs/promises';
|
|
13
17
|
import * as path from 'node:path';
|
|
14
18
|
import { z } from 'zod';
|
|
15
19
|
import { randomUUID } from 'node:crypto';
|
|
16
20
|
import { loadCliConfig } from '../config/config.js';
|
|
17
21
|
import { runExitCleanup } from '../utils/cleanup.js';
|
|
18
|
-
import { SessionSelector
|
|
19
|
-
|
|
22
|
+
import { SessionSelector } from '../utils/sessionUtils.js';
|
|
23
|
+
import { CommandHandler } from './commandHandler.js';
|
|
24
|
+
const RequestPermissionResponseSchema = z.object({
|
|
25
|
+
outcome: z.discriminatedUnion('outcome', [
|
|
26
|
+
z.object({ outcome: z.literal('cancelled') }),
|
|
27
|
+
z.object({
|
|
28
|
+
outcome: z.literal('selected'),
|
|
29
|
+
optionId: z.string(),
|
|
30
|
+
}),
|
|
31
|
+
]),
|
|
32
|
+
});
|
|
33
|
+
export async function runAcpClient(config, settings, argv) {
|
|
34
|
+
// ... (skip unchanged lines) ...
|
|
20
35
|
const { stdout: workingStdout } = createWorkingStdio();
|
|
21
36
|
const stdout = Writable.toWeb(workingStdout);
|
|
22
37
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
@@ -29,14 +44,21 @@ export async function runZedIntegration(config, settings, argv) {
|
|
|
29
44
|
await connection.closed.finally(runExitCleanup);
|
|
30
45
|
}
|
|
31
46
|
export class GeminiAgent {
|
|
32
|
-
|
|
47
|
+
context;
|
|
33
48
|
settings;
|
|
34
49
|
argv;
|
|
35
50
|
connection;
|
|
51
|
+
static callIdCounter = 0;
|
|
52
|
+
static generateCallId(name) {
|
|
53
|
+
return `${name}-${Date.now()}-${++GeminiAgent.callIdCounter}`;
|
|
54
|
+
}
|
|
36
55
|
sessions = new Map();
|
|
37
56
|
clientCapabilities;
|
|
38
|
-
|
|
39
|
-
|
|
57
|
+
apiKey;
|
|
58
|
+
baseUrl;
|
|
59
|
+
customHeaders;
|
|
60
|
+
constructor(context, settings, argv, connection) {
|
|
61
|
+
this.context = context;
|
|
40
62
|
this.settings = settings;
|
|
41
63
|
this.argv = argv;
|
|
42
64
|
this.connection = connection;
|
|
@@ -47,22 +69,45 @@ export class GeminiAgent {
|
|
|
47
69
|
{
|
|
48
70
|
id: AuthType.LOGIN_WITH_GOOGLE,
|
|
49
71
|
name: 'Log in with Google',
|
|
50
|
-
description:
|
|
72
|
+
description: 'Log in with your Google account',
|
|
51
73
|
},
|
|
52
74
|
{
|
|
53
75
|
id: AuthType.USE_GEMINI,
|
|
54
|
-
name: '
|
|
55
|
-
description: '
|
|
76
|
+
name: 'Gemini API key',
|
|
77
|
+
description: 'Use an API key with Gemini Developer API',
|
|
78
|
+
_meta: {
|
|
79
|
+
'api-key': {
|
|
80
|
+
provider: 'google',
|
|
81
|
+
},
|
|
82
|
+
},
|
|
56
83
|
},
|
|
57
84
|
{
|
|
58
85
|
id: AuthType.USE_VERTEX_AI,
|
|
59
86
|
name: 'Vertex AI',
|
|
60
|
-
description:
|
|
87
|
+
description: 'Use an API key with Vertex AI GenAI API',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
id: AuthType.GATEWAY,
|
|
91
|
+
name: 'AI API Gateway',
|
|
92
|
+
description: 'Use a custom AI API Gateway',
|
|
93
|
+
_meta: {
|
|
94
|
+
gateway: {
|
|
95
|
+
protocol: 'google',
|
|
96
|
+
restartRequired: 'false',
|
|
97
|
+
},
|
|
98
|
+
},
|
|
61
99
|
},
|
|
62
100
|
];
|
|
101
|
+
await this.context.config.initialize();
|
|
102
|
+
const version = await getVersion();
|
|
63
103
|
return {
|
|
64
104
|
protocolVersion: acp.PROTOCOL_VERSION,
|
|
65
105
|
authMethods,
|
|
106
|
+
agentInfo: {
|
|
107
|
+
name: 'gemini-cli',
|
|
108
|
+
title: 'Cell CLI',
|
|
109
|
+
version,
|
|
110
|
+
},
|
|
66
111
|
agentCapabilities: {
|
|
67
112
|
loadSession: true,
|
|
68
113
|
promptCapabilities: {
|
|
@@ -77,21 +122,47 @@ export class GeminiAgent {
|
|
|
77
122
|
},
|
|
78
123
|
};
|
|
79
124
|
}
|
|
80
|
-
async authenticate(
|
|
125
|
+
async authenticate(req) {
|
|
126
|
+
const { methodId } = req;
|
|
81
127
|
const method = z.nativeEnum(AuthType).parse(methodId);
|
|
82
128
|
const selectedAuthType = this.settings.merged.security.auth.selectedType;
|
|
83
129
|
// Only clear credentials when switching to a different auth method
|
|
84
130
|
if (selectedAuthType && selectedAuthType !== method) {
|
|
85
131
|
await clearCachedCredentialFile();
|
|
86
132
|
}
|
|
133
|
+
// Check for api-key in _meta
|
|
134
|
+
const meta = hasMeta(req) ? req._meta : undefined;
|
|
135
|
+
const apiKey = typeof meta?.['api-key'] === 'string' ? meta['api-key'] : undefined;
|
|
87
136
|
// Refresh auth with the requested method
|
|
88
137
|
// This will reuse existing credentials if they're valid,
|
|
89
138
|
// or perform new authentication if needed
|
|
90
139
|
try {
|
|
91
|
-
|
|
140
|
+
if (apiKey) {
|
|
141
|
+
this.apiKey = apiKey;
|
|
142
|
+
}
|
|
143
|
+
// Extract gateway details if present
|
|
144
|
+
const gatewaySchema = z.object({
|
|
145
|
+
baseUrl: z.string().optional(),
|
|
146
|
+
headers: z.record(z.string()).optional(),
|
|
147
|
+
});
|
|
148
|
+
let baseUrl;
|
|
149
|
+
let headers;
|
|
150
|
+
if (meta?.['gateway']) {
|
|
151
|
+
const result = gatewaySchema.safeParse(meta['gateway']);
|
|
152
|
+
if (result.success) {
|
|
153
|
+
baseUrl = result.data.baseUrl;
|
|
154
|
+
headers = result.data.headers;
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
throw new acp.RequestError(-32602, `Malformed gateway payload: ${result.error.message}`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
this.baseUrl = baseUrl;
|
|
161
|
+
this.customHeaders = headers;
|
|
162
|
+
await this.context.config.refreshAuth(method, undefined, apiKey ?? this.apiKey, baseUrl, headers);
|
|
92
163
|
}
|
|
93
164
|
catch (e) {
|
|
94
|
-
throw new acp.RequestError(
|
|
165
|
+
throw new acp.RequestError(-32000, getAcpErrorMessage(e));
|
|
95
166
|
}
|
|
96
167
|
this.settings.setValue(SettingScope.User, 'security.auth.selectedType', method);
|
|
97
168
|
}
|
|
@@ -103,7 +174,7 @@ export class GeminiAgent {
|
|
|
103
174
|
let isAuthenticated = false;
|
|
104
175
|
let authErrorMessage = '';
|
|
105
176
|
try {
|
|
106
|
-
await config.refreshAuth(authType);
|
|
177
|
+
await config.refreshAuth(authType, undefined, this.apiKey, this.baseUrl, this.customHeaders);
|
|
107
178
|
isAuthenticated = true;
|
|
108
179
|
// Extra validation for Gemini API key
|
|
109
180
|
const contentGeneratorConfig = config.getContentGeneratorConfig();
|
|
@@ -119,43 +190,68 @@ export class GeminiAgent {
|
|
|
119
190
|
debugLogger.error(`Authentication failed: ${e instanceof Error ? e.stack : e}`);
|
|
120
191
|
}
|
|
121
192
|
if (!isAuthenticated) {
|
|
122
|
-
throw new acp.RequestError(
|
|
193
|
+
throw new acp.RequestError(-32000, authErrorMessage || 'Authentication required.');
|
|
123
194
|
}
|
|
124
195
|
if (this.clientCapabilities?.fs) {
|
|
125
|
-
const acpFileSystemService = new AcpFileSystemService(this.connection, sessionId, this.clientCapabilities.fs, config.getFileSystemService());
|
|
196
|
+
const acpFileSystemService = new AcpFileSystemService(this.connection, sessionId, this.clientCapabilities.fs, config.getFileSystemService(), cwd);
|
|
126
197
|
config.setFileSystemService(acpFileSystemService);
|
|
127
198
|
}
|
|
128
199
|
await config.initialize();
|
|
129
200
|
startupProfiler.flush(config);
|
|
130
201
|
const geminiClient = config.getGeminiClient();
|
|
131
202
|
const chat = await geminiClient.startChat();
|
|
132
|
-
const session = new Session(sessionId, chat, config, this.connection);
|
|
203
|
+
const session = new Session(sessionId, chat, config, this.connection, this.settings);
|
|
133
204
|
this.sessions.set(sessionId, session);
|
|
134
|
-
|
|
205
|
+
setTimeout(() => {
|
|
206
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
207
|
+
session.sendAvailableCommands();
|
|
208
|
+
}, 0);
|
|
209
|
+
const { availableModels, currentModelId } = buildAvailableModels(config, loadedSettings);
|
|
210
|
+
const response = {
|
|
135
211
|
sessionId,
|
|
212
|
+
modes: {
|
|
213
|
+
availableModes: buildAvailableModes(config.isPlanEnabled()),
|
|
214
|
+
currentModeId: config.getApprovalMode(),
|
|
215
|
+
},
|
|
216
|
+
models: {
|
|
217
|
+
availableModels,
|
|
218
|
+
currentModelId,
|
|
219
|
+
},
|
|
136
220
|
};
|
|
221
|
+
return response;
|
|
137
222
|
}
|
|
138
223
|
async loadSession({ sessionId, cwd, mcpServers, }) {
|
|
139
224
|
const config = await this.initializeSessionConfig(sessionId, cwd, mcpServers);
|
|
140
225
|
const sessionSelector = new SessionSelector(config);
|
|
141
226
|
const { sessionData, sessionPath } = await sessionSelector.resolveSession(sessionId);
|
|
142
|
-
|
|
143
|
-
const acpFileSystemService = new AcpFileSystemService(this.connection, sessionId, this.clientCapabilities.fs, config.getFileSystemService());
|
|
144
|
-
config.setFileSystemService(acpFileSystemService);
|
|
145
|
-
}
|
|
146
|
-
const { clientHistory } = convertSessionToHistoryFormats(sessionData.messages);
|
|
227
|
+
const clientHistory = convertSessionToClientHistory(sessionData.messages);
|
|
147
228
|
const geminiClient = config.getGeminiClient();
|
|
148
229
|
await geminiClient.initialize();
|
|
149
230
|
await geminiClient.resumeChat(clientHistory, {
|
|
150
231
|
conversation: sessionData,
|
|
151
232
|
filePath: sessionPath,
|
|
152
233
|
});
|
|
153
|
-
const session = new Session(sessionId, geminiClient.getChat(), config, this.connection);
|
|
234
|
+
const session = new Session(sessionId, geminiClient.getChat(), config, this.connection, this.settings);
|
|
154
235
|
this.sessions.set(sessionId, session);
|
|
155
236
|
// Stream history back to client
|
|
156
237
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
157
238
|
session.streamHistory(sessionData.messages);
|
|
158
|
-
|
|
239
|
+
setTimeout(() => {
|
|
240
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
241
|
+
session.sendAvailableCommands();
|
|
242
|
+
}, 0);
|
|
243
|
+
const { availableModels, currentModelId } = buildAvailableModels(config, this.settings);
|
|
244
|
+
const response = {
|
|
245
|
+
modes: {
|
|
246
|
+
availableModes: buildAvailableModes(config.isPlanEnabled()),
|
|
247
|
+
currentModeId: config.getApprovalMode(),
|
|
248
|
+
},
|
|
249
|
+
models: {
|
|
250
|
+
availableModels,
|
|
251
|
+
currentModelId,
|
|
252
|
+
},
|
|
253
|
+
};
|
|
254
|
+
return response;
|
|
159
255
|
}
|
|
160
256
|
async initializeSessionConfig(sessionId, cwd, mcpServers) {
|
|
161
257
|
const selectedAuthType = this.settings.merged.security.auth.selectedType;
|
|
@@ -168,13 +264,18 @@ export class GeminiAgent {
|
|
|
168
264
|
// This satisfies the security requirement to verify the user before executing
|
|
169
265
|
// potentially unsafe server definitions.
|
|
170
266
|
try {
|
|
171
|
-
await config.refreshAuth(selectedAuthType);
|
|
267
|
+
await config.refreshAuth(selectedAuthType, undefined, this.apiKey, this.baseUrl, this.customHeaders);
|
|
172
268
|
}
|
|
173
269
|
catch (e) {
|
|
174
270
|
debugLogger.error(`Authentication failed: ${e}`);
|
|
175
271
|
throw acp.RequestError.authRequired();
|
|
176
272
|
}
|
|
177
|
-
// 3.
|
|
273
|
+
// 3. Set the ACP FileSystemService (if supported) before config initialization
|
|
274
|
+
if (this.clientCapabilities?.fs) {
|
|
275
|
+
const acpFileSystemService = new AcpFileSystemService(this.connection, sessionId, this.clientCapabilities.fs, config.getFileSystemService(), cwd);
|
|
276
|
+
config.setFileSystemService(acpFileSystemService);
|
|
277
|
+
}
|
|
278
|
+
// 4. Now that we are authenticated, it is safe to initialize the config
|
|
178
279
|
// which starts the MCP servers and other heavy resources.
|
|
179
280
|
await config.initialize();
|
|
180
281
|
startupProfiler.flush(config);
|
|
@@ -211,6 +312,7 @@ export class GeminiAgent {
|
|
|
211
312
|
mcpServers: mergedMcpServers,
|
|
212
313
|
};
|
|
213
314
|
const config = await loadCliConfig(settings, sessionId, this.argv, { cwd });
|
|
315
|
+
createPolicyUpdater(config.getPolicyEngine(), config.messageBus, config.storage);
|
|
214
316
|
return config;
|
|
215
317
|
}
|
|
216
318
|
async cancel(params) {
|
|
@@ -227,18 +329,35 @@ export class GeminiAgent {
|
|
|
227
329
|
}
|
|
228
330
|
return session.prompt(params);
|
|
229
331
|
}
|
|
332
|
+
async setSessionMode(params) {
|
|
333
|
+
const session = this.sessions.get(params.sessionId);
|
|
334
|
+
if (!session) {
|
|
335
|
+
throw new Error(`Session not found: ${params.sessionId}`);
|
|
336
|
+
}
|
|
337
|
+
return session.setMode(params.modeId);
|
|
338
|
+
}
|
|
339
|
+
async unstable_setSessionModel(params) {
|
|
340
|
+
const session = this.sessions.get(params.sessionId);
|
|
341
|
+
if (!session) {
|
|
342
|
+
throw new Error(`Session not found: ${params.sessionId}`);
|
|
343
|
+
}
|
|
344
|
+
return session.setModel(params.modelId);
|
|
345
|
+
}
|
|
230
346
|
}
|
|
231
347
|
export class Session {
|
|
232
348
|
id;
|
|
233
349
|
chat;
|
|
234
|
-
|
|
350
|
+
context;
|
|
235
351
|
connection;
|
|
352
|
+
settings;
|
|
236
353
|
pendingPrompt = null;
|
|
237
|
-
|
|
354
|
+
commandHandler = new CommandHandler();
|
|
355
|
+
constructor(id, chat, context, connection, settings) {
|
|
238
356
|
this.id = id;
|
|
239
357
|
this.chat = chat;
|
|
240
|
-
this.
|
|
358
|
+
this.context = context;
|
|
241
359
|
this.connection = connection;
|
|
360
|
+
this.settings = settings;
|
|
242
361
|
}
|
|
243
362
|
async cancelPendingPrompt() {
|
|
244
363
|
if (!this.pendingPrompt) {
|
|
@@ -247,6 +366,33 @@ export class Session {
|
|
|
247
366
|
this.pendingPrompt.abort();
|
|
248
367
|
this.pendingPrompt = null;
|
|
249
368
|
}
|
|
369
|
+
setMode(modeId) {
|
|
370
|
+
const availableModes = buildAvailableModes(this.context.config.isPlanEnabled());
|
|
371
|
+
const mode = availableModes.find((m) => m.id === modeId);
|
|
372
|
+
if (!mode) {
|
|
373
|
+
throw new Error(`Invalid or unavailable mode: ${modeId}`);
|
|
374
|
+
}
|
|
375
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
376
|
+
this.context.config.setApprovalMode(mode.id);
|
|
377
|
+
return {};
|
|
378
|
+
}
|
|
379
|
+
getAvailableCommands() {
|
|
380
|
+
return this.commandHandler.getAvailableCommands();
|
|
381
|
+
}
|
|
382
|
+
async sendAvailableCommands() {
|
|
383
|
+
const availableCommands = this.getAvailableCommands().map((command) => ({
|
|
384
|
+
name: command.name,
|
|
385
|
+
description: command.description,
|
|
386
|
+
}));
|
|
387
|
+
await this.sendUpdate({
|
|
388
|
+
sessionUpdate: 'available_commands_update',
|
|
389
|
+
availableCommands,
|
|
390
|
+
});
|
|
391
|
+
}
|
|
392
|
+
setModel(modelId) {
|
|
393
|
+
this.context.config.setModel(modelId);
|
|
394
|
+
return {};
|
|
395
|
+
}
|
|
250
396
|
async streamHistory(messages) {
|
|
251
397
|
for (const msg of messages) {
|
|
252
398
|
const contentString = partListUnionToString(msg.content);
|
|
@@ -296,11 +442,13 @@ export class Session {
|
|
|
296
442
|
});
|
|
297
443
|
}
|
|
298
444
|
}
|
|
299
|
-
const tool = this.
|
|
445
|
+
const tool = this.context.toolRegistry.getTool(toolCall.name);
|
|
300
446
|
await this.sendUpdate({
|
|
301
447
|
sessionUpdate: 'tool_call',
|
|
302
448
|
toolCallId: toolCall.id,
|
|
303
|
-
status: toolCall.status ===
|
|
449
|
+
status: toolCall.status === CoreToolCallStatus.Success
|
|
450
|
+
? 'completed'
|
|
451
|
+
: 'failed',
|
|
304
452
|
title: toolCall.displayName || toolCall.name,
|
|
305
453
|
content: toolCallContent,
|
|
306
454
|
kind: tool ? toAcpToolKind(tool.kind) : 'other',
|
|
@@ -314,23 +462,84 @@ export class Session {
|
|
|
314
462
|
this.pendingPrompt?.abort();
|
|
315
463
|
const pendingSend = new AbortController();
|
|
316
464
|
this.pendingPrompt = pendingSend;
|
|
465
|
+
await this.context.config.waitForMcpInit();
|
|
317
466
|
const promptId = Math.random().toString(16).slice(2);
|
|
318
467
|
const chat = this.chat;
|
|
319
468
|
const parts = await this.#resolvePrompt(params.prompt, pendingSend.signal);
|
|
469
|
+
// Command interception
|
|
470
|
+
let commandText = '';
|
|
471
|
+
for (const part of parts) {
|
|
472
|
+
if (typeof part === 'object' && part !== null) {
|
|
473
|
+
if ('text' in part) {
|
|
474
|
+
// It is a text part
|
|
475
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-type-assertion
|
|
476
|
+
const text = part.text;
|
|
477
|
+
if (typeof text === 'string') {
|
|
478
|
+
commandText += text;
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
else {
|
|
482
|
+
// Non-text part (image, embedded resource)
|
|
483
|
+
// Stop looking for command
|
|
484
|
+
break;
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
commandText = commandText.trim();
|
|
489
|
+
if (commandText &&
|
|
490
|
+
(commandText.startsWith('/') || commandText.startsWith('$'))) {
|
|
491
|
+
// If we found a command, pass it to handleCommand
|
|
492
|
+
// Note: handleCommand currently expects `commandText` to be the command string
|
|
493
|
+
// It uses `parts` argument but effectively ignores it in current implementation
|
|
494
|
+
const handled = await this.handleCommand(commandText, parts);
|
|
495
|
+
if (handled) {
|
|
496
|
+
return {
|
|
497
|
+
stopReason: 'end_turn',
|
|
498
|
+
_meta: {
|
|
499
|
+
quota: {
|
|
500
|
+
token_count: { input_tokens: 0, output_tokens: 0 },
|
|
501
|
+
model_usage: [],
|
|
502
|
+
},
|
|
503
|
+
},
|
|
504
|
+
};
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
let totalInputTokens = 0;
|
|
508
|
+
let totalOutputTokens = 0;
|
|
509
|
+
const modelUsageMap = new Map();
|
|
320
510
|
let nextMessage = { role: 'user', parts };
|
|
321
511
|
while (nextMessage !== null) {
|
|
322
512
|
if (pendingSend.signal.aborted) {
|
|
323
513
|
chat.addHistory(nextMessage);
|
|
324
|
-
return { stopReason:
|
|
514
|
+
return { stopReason: CoreToolCallStatus.Cancelled };
|
|
325
515
|
}
|
|
326
516
|
const functionCalls = [];
|
|
327
517
|
try {
|
|
328
|
-
const
|
|
329
|
-
|
|
518
|
+
const routingContext = {
|
|
519
|
+
history: chat.getHistory(/*curated=*/ true),
|
|
520
|
+
request: nextMessage?.parts ?? [],
|
|
521
|
+
signal: pendingSend.signal,
|
|
522
|
+
requestedModel: this.context.config.getModel(),
|
|
523
|
+
};
|
|
524
|
+
const router = this.context.config.getModelRouterService();
|
|
525
|
+
const { model } = await router.route(routingContext);
|
|
526
|
+
const responseStream = await chat.sendMessageStream({ model }, nextMessage?.parts ?? [], promptId, pendingSend.signal, LlmRole.MAIN);
|
|
330
527
|
nextMessage = null;
|
|
528
|
+
let turnInputTokens = 0;
|
|
529
|
+
let turnOutputTokens = 0;
|
|
530
|
+
let turnModelId = model;
|
|
331
531
|
for await (const resp of responseStream) {
|
|
332
532
|
if (pendingSend.signal.aborted) {
|
|
333
|
-
return { stopReason:
|
|
533
|
+
return { stopReason: CoreToolCallStatus.Cancelled };
|
|
534
|
+
}
|
|
535
|
+
if (resp.type === StreamEventType.CHUNK && resp.value.usageMetadata) {
|
|
536
|
+
turnInputTokens =
|
|
537
|
+
resp.value.usageMetadata.promptTokenCount ?? turnInputTokens;
|
|
538
|
+
turnOutputTokens =
|
|
539
|
+
resp.value.usageMetadata.candidatesTokenCount ?? turnOutputTokens;
|
|
540
|
+
if (resp.value.modelVersion) {
|
|
541
|
+
turnModelId = resp.value.modelVersion;
|
|
542
|
+
}
|
|
334
543
|
}
|
|
335
544
|
if (resp.type === StreamEventType.CHUNK &&
|
|
336
545
|
resp.value.candidates &&
|
|
@@ -357,8 +566,19 @@ export class Session {
|
|
|
357
566
|
functionCalls.push(...resp.value.functionCalls);
|
|
358
567
|
}
|
|
359
568
|
}
|
|
569
|
+
totalInputTokens += turnInputTokens;
|
|
570
|
+
totalOutputTokens += turnOutputTokens;
|
|
571
|
+
if (turnInputTokens > 0 || turnOutputTokens > 0) {
|
|
572
|
+
const existing = modelUsageMap.get(turnModelId) ?? {
|
|
573
|
+
input: 0,
|
|
574
|
+
output: 0,
|
|
575
|
+
};
|
|
576
|
+
existing.input += turnInputTokens;
|
|
577
|
+
existing.output += turnOutputTokens;
|
|
578
|
+
modelUsageMap.set(turnModelId, existing);
|
|
579
|
+
}
|
|
360
580
|
if (pendingSend.signal.aborted) {
|
|
361
|
-
return { stopReason:
|
|
581
|
+
return { stopReason: CoreToolCallStatus.Cancelled };
|
|
362
582
|
}
|
|
363
583
|
}
|
|
364
584
|
catch (error) {
|
|
@@ -367,7 +587,36 @@ export class Session {
|
|
|
367
587
|
}
|
|
368
588
|
if (pendingSend.signal.aborted ||
|
|
369
589
|
(error instanceof Error && error.name === 'AbortError')) {
|
|
370
|
-
return { stopReason:
|
|
590
|
+
return { stopReason: CoreToolCallStatus.Cancelled };
|
|
591
|
+
}
|
|
592
|
+
if (error instanceof InvalidStreamError ||
|
|
593
|
+
(error &&
|
|
594
|
+
typeof error === 'object' &&
|
|
595
|
+
'type' in error &&
|
|
596
|
+
(error.type === 'NO_RESPONSE_TEXT' ||
|
|
597
|
+
error.type === 'NO_FINISH_REASON' ||
|
|
598
|
+
error.type === 'MALFORMED_FUNCTION_CALL' ||
|
|
599
|
+
error.type === 'UNEXPECTED_TOOL_CALL'))) {
|
|
600
|
+
// The stream ended with an empty response or malformed tool call.
|
|
601
|
+
// Treat this as a graceful end to the model's turn rather than a crash.
|
|
602
|
+
return {
|
|
603
|
+
stopReason: 'end_turn',
|
|
604
|
+
_meta: {
|
|
605
|
+
quota: {
|
|
606
|
+
token_count: {
|
|
607
|
+
input_tokens: totalInputTokens,
|
|
608
|
+
output_tokens: totalOutputTokens,
|
|
609
|
+
},
|
|
610
|
+
model_usage: Array.from(modelUsageMap.entries()).map(([modelName, counts]) => ({
|
|
611
|
+
model: modelName,
|
|
612
|
+
token_count: {
|
|
613
|
+
input_tokens: counts.input,
|
|
614
|
+
output_tokens: counts.output,
|
|
615
|
+
},
|
|
616
|
+
})),
|
|
617
|
+
},
|
|
618
|
+
},
|
|
619
|
+
};
|
|
371
620
|
}
|
|
372
621
|
throw new acp.RequestError(getErrorStatus(error) || 500, getAcpErrorMessage(error));
|
|
373
622
|
}
|
|
@@ -380,7 +629,42 @@ export class Session {
|
|
|
380
629
|
nextMessage = { role: 'user', parts: toolResponseParts };
|
|
381
630
|
}
|
|
382
631
|
}
|
|
383
|
-
|
|
632
|
+
const modelUsageArray = Array.from(modelUsageMap.entries()).map(([modelName, counts]) => ({
|
|
633
|
+
model: modelName,
|
|
634
|
+
token_count: {
|
|
635
|
+
input_tokens: counts.input,
|
|
636
|
+
output_tokens: counts.output,
|
|
637
|
+
},
|
|
638
|
+
}));
|
|
639
|
+
return {
|
|
640
|
+
stopReason: 'end_turn',
|
|
641
|
+
_meta: {
|
|
642
|
+
quota: {
|
|
643
|
+
token_count: {
|
|
644
|
+
input_tokens: totalInputTokens,
|
|
645
|
+
output_tokens: totalOutputTokens,
|
|
646
|
+
},
|
|
647
|
+
model_usage: modelUsageArray,
|
|
648
|
+
},
|
|
649
|
+
},
|
|
650
|
+
};
|
|
651
|
+
}
|
|
652
|
+
async handleCommand(commandText,
|
|
653
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
654
|
+
parts) {
|
|
655
|
+
const gitService = await this.context.config.getGitService();
|
|
656
|
+
const commandContext = {
|
|
657
|
+
agentContext: this.context,
|
|
658
|
+
settings: this.settings,
|
|
659
|
+
git: gitService,
|
|
660
|
+
sendMessage: async (text) => {
|
|
661
|
+
await this.sendUpdate({
|
|
662
|
+
sessionUpdate: 'agent_message_chunk',
|
|
663
|
+
content: { type: 'text', text },
|
|
664
|
+
});
|
|
665
|
+
},
|
|
666
|
+
};
|
|
667
|
+
return this.commandHandler.handleCommand(commandText, commandContext);
|
|
384
668
|
}
|
|
385
669
|
async sendUpdate(update) {
|
|
386
670
|
const params = {
|
|
@@ -390,12 +674,12 @@ export class Session {
|
|
|
390
674
|
await this.connection.sessionUpdate(params);
|
|
391
675
|
}
|
|
392
676
|
async runTool(abortSignal, promptId, fc) {
|
|
393
|
-
const callId = fc.id ??
|
|
677
|
+
const callId = fc.id ?? GeminiAgent.generateCallId(fc.name || 'unknown');
|
|
394
678
|
const args = fc.args ?? {};
|
|
395
679
|
const startTime = Date.now();
|
|
396
680
|
const errorResponse = (error) => {
|
|
397
681
|
const durationMs = Date.now() - startTime;
|
|
398
|
-
logToolCall(this.config, new ToolCallEvent(undefined, fc.name ?? '', args, durationMs, false, promptId, typeof tool !== 'undefined' && tool instanceof DiscoveredMCPTool
|
|
682
|
+
logToolCall(this.context.config, new ToolCallEvent(undefined, fc.name ?? '', args, durationMs, false, promptId, typeof tool !== 'undefined' && tool instanceof DiscoveredMCPTool
|
|
399
683
|
? 'mcp'
|
|
400
684
|
: 'native', error.message));
|
|
401
685
|
return [
|
|
@@ -411,43 +695,64 @@ export class Session {
|
|
|
411
695
|
if (!fc.name) {
|
|
412
696
|
return errorResponse(new Error('Missing function name'));
|
|
413
697
|
}
|
|
414
|
-
const toolRegistry = this.
|
|
698
|
+
const toolRegistry = this.context.toolRegistry;
|
|
415
699
|
const tool = toolRegistry.getTool(fc.name);
|
|
416
700
|
if (!tool) {
|
|
417
701
|
return errorResponse(new Error(`Tool "${fc.name}" not found in registry.`));
|
|
418
702
|
}
|
|
419
703
|
try {
|
|
420
704
|
const invocation = tool.build(args);
|
|
705
|
+
const displayTitle = typeof invocation.getDisplayTitle === 'function'
|
|
706
|
+
? invocation.getDisplayTitle()
|
|
707
|
+
: invocation.getDescription();
|
|
708
|
+
const explanation = typeof invocation.getExplanation === 'function'
|
|
709
|
+
? invocation.getExplanation()
|
|
710
|
+
: '';
|
|
711
|
+
if (explanation) {
|
|
712
|
+
await this.sendUpdate({
|
|
713
|
+
sessionUpdate: 'agent_thought_chunk',
|
|
714
|
+
content: { type: 'text', text: explanation },
|
|
715
|
+
});
|
|
716
|
+
}
|
|
421
717
|
const confirmationDetails = await invocation.shouldConfirmExecute(abortSignal);
|
|
422
718
|
if (confirmationDetails) {
|
|
423
719
|
const content = [];
|
|
424
720
|
if (confirmationDetails.type === 'edit') {
|
|
425
721
|
content.push({
|
|
426
722
|
type: 'diff',
|
|
427
|
-
path: confirmationDetails.
|
|
723
|
+
path: confirmationDetails.filePath,
|
|
428
724
|
oldText: confirmationDetails.originalContent,
|
|
429
725
|
newText: confirmationDetails.newContent,
|
|
726
|
+
_meta: {
|
|
727
|
+
kind: !confirmationDetails.originalContent
|
|
728
|
+
? 'add'
|
|
729
|
+
: confirmationDetails.newContent === ''
|
|
730
|
+
? 'delete'
|
|
731
|
+
: 'modify',
|
|
732
|
+
},
|
|
430
733
|
});
|
|
431
734
|
}
|
|
432
735
|
const params = {
|
|
433
736
|
sessionId: this.id,
|
|
434
|
-
options: toPermissionOptions(confirmationDetails),
|
|
737
|
+
options: toPermissionOptions(confirmationDetails, this.context.config, this.settings.merged.security.enablePermanentToolApproval),
|
|
435
738
|
toolCall: {
|
|
436
739
|
toolCallId: callId,
|
|
437
740
|
status: 'pending',
|
|
438
|
-
title:
|
|
741
|
+
title: displayTitle,
|
|
439
742
|
content,
|
|
440
743
|
locations: invocation.toolLocations(),
|
|
441
744
|
kind: toAcpToolKind(tool.kind),
|
|
442
745
|
},
|
|
443
746
|
};
|
|
444
|
-
const output = await this.connection.requestPermission(params);
|
|
747
|
+
const output = RequestPermissionResponseSchema.parse(await this.connection.requestPermission(params));
|
|
445
748
|
const outcome = output.outcome.outcome === 'cancelled'
|
|
446
749
|
? ToolConfirmationOutcome.Cancel
|
|
447
750
|
: z
|
|
448
751
|
.nativeEnum(ToolConfirmationOutcome)
|
|
449
752
|
.parse(output.outcome.optionId);
|
|
450
753
|
await confirmationDetails.onConfirm(outcome);
|
|
754
|
+
// Update policy to enable Always Allow persistence
|
|
755
|
+
await updatePolicy(tool, outcome, confirmationDetails, this.context, this.context.messageBus, invocation);
|
|
451
756
|
switch (outcome) {
|
|
452
757
|
case ToolConfirmationOutcome.Cancel:
|
|
453
758
|
return errorResponse(new Error(`Tool "${fc.name}" was canceled by the user.`));
|
|
@@ -465,31 +770,36 @@ export class Session {
|
|
|
465
770
|
}
|
|
466
771
|
}
|
|
467
772
|
else {
|
|
773
|
+
const content = [];
|
|
468
774
|
await this.sendUpdate({
|
|
469
775
|
sessionUpdate: 'tool_call',
|
|
470
776
|
toolCallId: callId,
|
|
471
777
|
status: 'in_progress',
|
|
472
|
-
title:
|
|
473
|
-
content
|
|
778
|
+
title: displayTitle,
|
|
779
|
+
content,
|
|
474
780
|
locations: invocation.toolLocations(),
|
|
475
781
|
kind: toAcpToolKind(tool.kind),
|
|
476
782
|
});
|
|
477
783
|
}
|
|
478
784
|
const toolResult = await invocation.execute(abortSignal);
|
|
479
785
|
const content = toToolCallContent(toolResult);
|
|
786
|
+
const updateContent = content ? [content] : [];
|
|
480
787
|
await this.sendUpdate({
|
|
481
788
|
sessionUpdate: 'tool_call_update',
|
|
482
789
|
toolCallId: callId,
|
|
483
790
|
status: 'completed',
|
|
484
|
-
|
|
791
|
+
title: displayTitle,
|
|
792
|
+
content: updateContent,
|
|
793
|
+
locations: invocation.toolLocations(),
|
|
794
|
+
kind: toAcpToolKind(tool.kind),
|
|
485
795
|
});
|
|
486
796
|
const durationMs = Date.now() - startTime;
|
|
487
|
-
logToolCall(this.config, new ToolCallEvent(undefined, fc.name ?? '', args, durationMs, true, promptId, typeof tool !== 'undefined' && tool instanceof DiscoveredMCPTool
|
|
797
|
+
logToolCall(this.context.config, new ToolCallEvent(undefined, fc.name ?? '', args, durationMs, true, promptId, typeof tool !== 'undefined' && tool instanceof DiscoveredMCPTool
|
|
488
798
|
? 'mcp'
|
|
489
799
|
: 'native'));
|
|
490
|
-
this.chat.recordCompletedToolCalls(this.config.getActiveModel(), [
|
|
800
|
+
this.chat.recordCompletedToolCalls(this.context.config.getActiveModel(), [
|
|
491
801
|
{
|
|
492
|
-
status:
|
|
802
|
+
status: CoreToolCallStatus.Success,
|
|
493
803
|
request: {
|
|
494
804
|
callId,
|
|
495
805
|
name: fc.name,
|
|
@@ -501,14 +811,14 @@ export class Session {
|
|
|
501
811
|
invocation,
|
|
502
812
|
response: {
|
|
503
813
|
callId,
|
|
504
|
-
responseParts: convertToFunctionResponse(fc.name, callId, toolResult.llmContent, this.config.getActiveModel()),
|
|
814
|
+
responseParts: convertToFunctionResponse(fc.name, callId, toolResult.llmContent, this.context.config.getActiveModel(), this.context.config),
|
|
505
815
|
resultDisplay: toolResult.returnDisplay,
|
|
506
816
|
error: undefined,
|
|
507
817
|
errorType: undefined,
|
|
508
818
|
},
|
|
509
819
|
},
|
|
510
820
|
]);
|
|
511
|
-
return convertToFunctionResponse(fc.name, callId, toolResult.llmContent, this.config.getActiveModel());
|
|
821
|
+
return convertToFunctionResponse(fc.name, callId, toolResult.llmContent, this.context.config.getActiveModel(), this.context.config);
|
|
512
822
|
}
|
|
513
823
|
catch (e) {
|
|
514
824
|
const error = e instanceof Error ? e : new Error(String(e));
|
|
@@ -519,10 +829,11 @@ export class Session {
|
|
|
519
829
|
content: [
|
|
520
830
|
{ type: 'content', content: { type: 'text', text: error.message } },
|
|
521
831
|
],
|
|
832
|
+
kind: toAcpToolKind(tool.kind),
|
|
522
833
|
});
|
|
523
|
-
this.chat.recordCompletedToolCalls(this.config.getActiveModel(), [
|
|
834
|
+
this.chat.recordCompletedToolCalls(this.context.config.getActiveModel(), [
|
|
524
835
|
{
|
|
525
|
-
status:
|
|
836
|
+
status: CoreToolCallStatus.Error,
|
|
526
837
|
request: {
|
|
527
838
|
callId,
|
|
528
839
|
name: fc.name,
|
|
@@ -596,13 +907,14 @@ export class Session {
|
|
|
596
907
|
}
|
|
597
908
|
const atPathToResolvedSpecMap = new Map();
|
|
598
909
|
// Get centralized file discovery service
|
|
599
|
-
const fileDiscovery = this.config.getFileService();
|
|
600
|
-
const fileFilteringOptions = this.config.getFileFilteringOptions();
|
|
910
|
+
const fileDiscovery = this.context.config.getFileService();
|
|
911
|
+
const fileFilteringOptions = this.context.config.getFileFilteringOptions();
|
|
601
912
|
const pathSpecsToRead = [];
|
|
602
913
|
const contentLabelsForDisplay = [];
|
|
603
914
|
const ignoredPaths = [];
|
|
604
|
-
const
|
|
605
|
-
const
|
|
915
|
+
const directContents = [];
|
|
916
|
+
const toolRegistry = this.context.toolRegistry;
|
|
917
|
+
const readManyFilesTool = new ReadManyFilesTool(this.context.config, this.context.messageBus);
|
|
606
918
|
const globTool = toolRegistry.getTool('glob');
|
|
607
919
|
if (!readManyFilesTool) {
|
|
608
920
|
throw new Error('Error: read_many_files tool not found.');
|
|
@@ -617,33 +929,170 @@ export class Session {
|
|
|
617
929
|
}
|
|
618
930
|
let currentPathSpec = pathName;
|
|
619
931
|
let resolvedSuccessfully = false;
|
|
932
|
+
let readDirectly = false;
|
|
620
933
|
try {
|
|
621
|
-
const absolutePath = path.resolve(this.config.getTargetDir(), pathName);
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
934
|
+
const absolutePath = path.resolve(this.context.config.getTargetDir(), pathName);
|
|
935
|
+
let validationError = this.context.config.validatePathAccess(absolutePath, 'read');
|
|
936
|
+
// We ask the user for explicit permission to read them if outside sandboxed workspace boundaries (and not already authorized).
|
|
937
|
+
if (validationError &&
|
|
938
|
+
!isWithinRoot(absolutePath, this.context.config.getTargetDir())) {
|
|
939
|
+
try {
|
|
940
|
+
const stats = await fs.stat(absolutePath);
|
|
941
|
+
if (stats.isFile()) {
|
|
942
|
+
const syntheticCallId = `resolve-prompt-${pathName}-${randomUUID()}`;
|
|
943
|
+
const params = {
|
|
944
|
+
sessionId: this.id,
|
|
945
|
+
options: [
|
|
946
|
+
{
|
|
947
|
+
optionId: ToolConfirmationOutcome.ProceedOnce,
|
|
948
|
+
name: 'Allow once',
|
|
949
|
+
kind: 'allow_once',
|
|
950
|
+
},
|
|
951
|
+
{
|
|
952
|
+
optionId: ToolConfirmationOutcome.Cancel,
|
|
953
|
+
name: 'Deny',
|
|
954
|
+
kind: 'reject_once',
|
|
955
|
+
},
|
|
956
|
+
],
|
|
957
|
+
toolCall: {
|
|
958
|
+
toolCallId: syntheticCallId,
|
|
959
|
+
status: 'pending',
|
|
960
|
+
title: `Allow access to absolute path: ${pathName}`,
|
|
961
|
+
content: [
|
|
962
|
+
{
|
|
963
|
+
type: 'content',
|
|
964
|
+
content: {
|
|
965
|
+
type: 'text',
|
|
966
|
+
text: `The Agent needs access to read an attached file outside your workspace: ${pathName}`,
|
|
967
|
+
},
|
|
968
|
+
},
|
|
969
|
+
],
|
|
970
|
+
locations: [],
|
|
971
|
+
kind: 'read',
|
|
972
|
+
},
|
|
973
|
+
};
|
|
974
|
+
const output = RequestPermissionResponseSchema.parse(await this.connection.requestPermission(params));
|
|
975
|
+
const outcome = output.outcome.outcome === 'cancelled'
|
|
976
|
+
? ToolConfirmationOutcome.Cancel
|
|
977
|
+
: z
|
|
978
|
+
.nativeEnum(ToolConfirmationOutcome)
|
|
979
|
+
.parse(output.outcome.optionId);
|
|
980
|
+
if (outcome === ToolConfirmationOutcome.ProceedOnce) {
|
|
981
|
+
this.context.config
|
|
982
|
+
.getWorkspaceContext()
|
|
983
|
+
.addReadOnlyPath(absolutePath);
|
|
984
|
+
validationError = null;
|
|
985
|
+
}
|
|
986
|
+
else {
|
|
987
|
+
this.debug(`Direct read authorization denied for absolute path ${pathName}`);
|
|
988
|
+
directContents.push({
|
|
989
|
+
spec: pathName,
|
|
990
|
+
content: `[Warning: Access to absolute path \`${pathName}\` denied by user.]`,
|
|
991
|
+
});
|
|
992
|
+
continue;
|
|
993
|
+
}
|
|
994
|
+
}
|
|
629
995
|
}
|
|
630
|
-
|
|
631
|
-
this.debug(`
|
|
996
|
+
catch (error) {
|
|
997
|
+
this.debug(`Failed to request permission for absolute attachment ${pathName}: ${getErrorMessage(error)}`);
|
|
998
|
+
await this.sendUpdate({
|
|
999
|
+
sessionUpdate: 'agent_thought_chunk',
|
|
1000
|
+
content: {
|
|
1001
|
+
type: 'text',
|
|
1002
|
+
text: `Warning: Failed to display permission dialog for \`${absolutePath}\`. Error: ${getErrorMessage(error)}`,
|
|
1003
|
+
},
|
|
1004
|
+
});
|
|
1005
|
+
}
|
|
1006
|
+
}
|
|
1007
|
+
if (!validationError) {
|
|
1008
|
+
// If it's an absolute path that is authorized (e.g. added via readOnlyPaths),
|
|
1009
|
+
// read it directly to avoid ReadManyFilesTool absolute path resolution issues.
|
|
1010
|
+
if ((path.isAbsolute(pathName) ||
|
|
1011
|
+
!isWithinRoot(absolutePath, this.context.config.getTargetDir())) &&
|
|
1012
|
+
!readDirectly) {
|
|
1013
|
+
try {
|
|
1014
|
+
const stats = await fs.stat(absolutePath);
|
|
1015
|
+
if (stats.isFile()) {
|
|
1016
|
+
const fileReadResult = await processSingleFileContent(absolutePath, this.context.config.getTargetDir(), this.context.config.getFileSystemService());
|
|
1017
|
+
if (!fileReadResult.error) {
|
|
1018
|
+
if (typeof fileReadResult.llmContent === 'object' &&
|
|
1019
|
+
'inlineData' in fileReadResult.llmContent) {
|
|
1020
|
+
directContents.push({
|
|
1021
|
+
spec: pathName,
|
|
1022
|
+
part: fileReadResult.llmContent,
|
|
1023
|
+
});
|
|
1024
|
+
}
|
|
1025
|
+
else if (typeof fileReadResult.llmContent === 'string') {
|
|
1026
|
+
let contentToPush = fileReadResult.llmContent;
|
|
1027
|
+
if (fileReadResult.isTruncated) {
|
|
1028
|
+
contentToPush = `[WARNING: This file was truncated]\n\n${contentToPush}`;
|
|
1029
|
+
}
|
|
1030
|
+
directContents.push({
|
|
1031
|
+
spec: pathName,
|
|
1032
|
+
content: contentToPush,
|
|
1033
|
+
});
|
|
1034
|
+
}
|
|
1035
|
+
readDirectly = true;
|
|
1036
|
+
resolvedSuccessfully = true;
|
|
1037
|
+
}
|
|
1038
|
+
else {
|
|
1039
|
+
this.debug(`Direct read failed for absolute path ${pathName}: ${fileReadResult.error}`);
|
|
1040
|
+
await this.sendUpdate({
|
|
1041
|
+
sessionUpdate: 'agent_thought_chunk',
|
|
1042
|
+
content: {
|
|
1043
|
+
type: 'text',
|
|
1044
|
+
text: `Warning: file read failed for \`${pathName}\`. Reason: ${fileReadResult.error}`,
|
|
1045
|
+
},
|
|
1046
|
+
});
|
|
1047
|
+
continue;
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
}
|
|
1051
|
+
catch (error) {
|
|
1052
|
+
this.debug(`File stat/access error for absolute path ${pathName}: ${getErrorMessage(error)}`);
|
|
1053
|
+
await this.sendUpdate({
|
|
1054
|
+
sessionUpdate: 'agent_thought_chunk',
|
|
1055
|
+
content: {
|
|
1056
|
+
type: 'text',
|
|
1057
|
+
text: `Warning: file access failed for \`${pathName}\`. Reason: ${getErrorMessage(error)}`,
|
|
1058
|
+
},
|
|
1059
|
+
});
|
|
1060
|
+
continue;
|
|
1061
|
+
}
|
|
1062
|
+
}
|
|
1063
|
+
if (!readDirectly) {
|
|
1064
|
+
const stats = await fs.stat(absolutePath);
|
|
1065
|
+
if (stats.isDirectory()) {
|
|
1066
|
+
currentPathSpec = pathName.endsWith('/')
|
|
1067
|
+
? `${pathName}**`
|
|
1068
|
+
: `${pathName}/**`;
|
|
1069
|
+
this.debug(`Path ${pathName} resolved to directory, using glob: ${currentPathSpec}`);
|
|
1070
|
+
}
|
|
1071
|
+
else {
|
|
1072
|
+
this.debug(`Path ${pathName} resolved to file: ${currentPathSpec}`);
|
|
1073
|
+
}
|
|
1074
|
+
resolvedSuccessfully = true;
|
|
632
1075
|
}
|
|
633
|
-
resolvedSuccessfully = true;
|
|
634
1076
|
}
|
|
635
1077
|
else {
|
|
636
|
-
this.debug(`Path ${pathName}
|
|
1078
|
+
this.debug(`Path ${pathName} access disallowed: ${validationError}. Skipping.`);
|
|
1079
|
+
await this.sendUpdate({
|
|
1080
|
+
sessionUpdate: 'agent_thought_chunk',
|
|
1081
|
+
content: {
|
|
1082
|
+
type: 'text',
|
|
1083
|
+
text: `Warning: skipping access to \`${pathName}\`. Reason: ${validationError}`,
|
|
1084
|
+
},
|
|
1085
|
+
});
|
|
637
1086
|
}
|
|
638
1087
|
}
|
|
639
1088
|
catch (error) {
|
|
640
1089
|
if (isNodeError(error) && error.code === 'ENOENT') {
|
|
641
|
-
if (this.config.getEnableRecursiveFileSearch() && globTool) {
|
|
1090
|
+
if (this.context.config.getEnableRecursiveFileSearch() && globTool) {
|
|
642
1091
|
this.debug(`Path ${pathName} not found directly, attempting glob search.`);
|
|
643
1092
|
try {
|
|
644
1093
|
const globResult = await globTool.buildAndExecute({
|
|
645
1094
|
pattern: `**/*${pathName}*`,
|
|
646
|
-
path: this.config.getTargetDir(),
|
|
1095
|
+
path: this.context.config.getTargetDir(),
|
|
647
1096
|
}, abortSignal);
|
|
648
1097
|
if (globResult.llmContent &&
|
|
649
1098
|
typeof globResult.llmContent === 'string' &&
|
|
@@ -652,7 +1101,7 @@ export class Session {
|
|
|
652
1101
|
const lines = globResult.llmContent.split('\n');
|
|
653
1102
|
if (lines.length > 1 && lines[1]) {
|
|
654
1103
|
const firstMatchAbsolute = lines[1].trim();
|
|
655
|
-
currentPathSpec = path.relative(this.config.getTargetDir(), firstMatchAbsolute);
|
|
1104
|
+
currentPathSpec = path.relative(this.context.config.getTargetDir(), firstMatchAbsolute);
|
|
656
1105
|
this.debug(`Glob search for ${pathName} found ${firstMatchAbsolute}, using relative path: ${currentPathSpec}`);
|
|
657
1106
|
resolvedSuccessfully = true;
|
|
658
1107
|
}
|
|
@@ -677,7 +1126,9 @@ export class Session {
|
|
|
677
1126
|
}
|
|
678
1127
|
}
|
|
679
1128
|
if (resolvedSuccessfully) {
|
|
680
|
-
|
|
1129
|
+
if (!readDirectly) {
|
|
1130
|
+
pathSpecsToRead.push(currentPathSpec);
|
|
1131
|
+
}
|
|
681
1132
|
atPathToResolvedSpecMap.set(pathName, currentPathSpec);
|
|
682
1133
|
contentLabelsForDisplay.push(pathName);
|
|
683
1134
|
}
|
|
@@ -728,7 +1179,9 @@ export class Session {
|
|
|
728
1179
|
this.debug(`Ignored ${ignoredPaths.length} files: ${ignoredPaths.join(', ')}`);
|
|
729
1180
|
}
|
|
730
1181
|
const processedQueryParts = [{ text: initialQueryText }];
|
|
731
|
-
if (pathSpecsToRead.length === 0 &&
|
|
1182
|
+
if (pathSpecsToRead.length === 0 &&
|
|
1183
|
+
embeddedContext.length === 0 &&
|
|
1184
|
+
directContents.length === 0) {
|
|
732
1185
|
// Fallback for lone "@" or completely invalid @-commands resulting in empty initialQueryText
|
|
733
1186
|
debugLogger.warn('No valid file paths found in @ commands to read.');
|
|
734
1187
|
return [{ text: initialQueryText }];
|
|
@@ -737,7 +1190,7 @@ export class Session {
|
|
|
737
1190
|
const toolArgs = {
|
|
738
1191
|
include: pathSpecsToRead,
|
|
739
1192
|
};
|
|
740
|
-
const callId =
|
|
1193
|
+
const callId = GeminiAgent.generateCallId(readManyFilesTool.name);
|
|
741
1194
|
try {
|
|
742
1195
|
const invocation = readManyFilesTool.build(toolArgs);
|
|
743
1196
|
await this.sendUpdate({
|
|
@@ -761,7 +1214,10 @@ export class Session {
|
|
|
761
1214
|
sessionUpdate: 'tool_call_update',
|
|
762
1215
|
toolCallId: callId,
|
|
763
1216
|
status: 'completed',
|
|
1217
|
+
title: invocation.getDescription(),
|
|
764
1218
|
content: content ? [content] : [],
|
|
1219
|
+
locations: invocation.toolLocations(),
|
|
1220
|
+
kind: toAcpToolKind(readManyFilesTool.kind),
|
|
765
1221
|
});
|
|
766
1222
|
if (Array.isArray(result.llmContent)) {
|
|
767
1223
|
const fileContentRegex = /^--- (.*?) ---\n\n([\s\S]*?)\n\n$/;
|
|
@@ -807,10 +1263,32 @@ export class Session {
|
|
|
807
1263
|
},
|
|
808
1264
|
},
|
|
809
1265
|
],
|
|
1266
|
+
kind: toAcpToolKind(readManyFilesTool.kind),
|
|
810
1267
|
});
|
|
811
1268
|
throw error;
|
|
812
1269
|
}
|
|
813
1270
|
}
|
|
1271
|
+
if (directContents.length > 0) {
|
|
1272
|
+
const hasReferenceStart = processedQueryParts.some((p) => 'text' in p &&
|
|
1273
|
+
typeof p.text === 'string' &&
|
|
1274
|
+
p.text.includes(REFERENCE_CONTENT_START));
|
|
1275
|
+
if (!hasReferenceStart) {
|
|
1276
|
+
processedQueryParts.push({
|
|
1277
|
+
text: `\n${REFERENCE_CONTENT_START}`,
|
|
1278
|
+
});
|
|
1279
|
+
}
|
|
1280
|
+
for (const item of directContents) {
|
|
1281
|
+
processedQueryParts.push({
|
|
1282
|
+
text: `\nContent from @${item.spec}:\n`,
|
|
1283
|
+
});
|
|
1284
|
+
if (item.content) {
|
|
1285
|
+
processedQueryParts.push({ text: item.content });
|
|
1286
|
+
}
|
|
1287
|
+
else if (item.part) {
|
|
1288
|
+
processedQueryParts.push(item.part);
|
|
1289
|
+
}
|
|
1290
|
+
}
|
|
1291
|
+
}
|
|
814
1292
|
if (embeddedContext.length > 0) {
|
|
815
1293
|
processedQueryParts.push({
|
|
816
1294
|
text: '\n--- Content from referenced context ---',
|
|
@@ -837,7 +1315,7 @@ export class Session {
|
|
|
837
1315
|
return processedQueryParts;
|
|
838
1316
|
}
|
|
839
1317
|
debug(msg) {
|
|
840
|
-
if (this.config.getDebugMode()) {
|
|
1318
|
+
if (this.context.config.getDebugMode()) {
|
|
841
1319
|
debugLogger.warn(msg);
|
|
842
1320
|
}
|
|
843
1321
|
}
|
|
@@ -857,9 +1335,17 @@ function toToolCallContent(toolResult) {
|
|
|
857
1335
|
if ('fileName' in toolResult.returnDisplay) {
|
|
858
1336
|
return {
|
|
859
1337
|
type: 'diff',
|
|
860
|
-
path: toolResult.returnDisplay.
|
|
1338
|
+
path: toolResult.returnDisplay.filePath ??
|
|
1339
|
+
toolResult.returnDisplay.fileName,
|
|
861
1340
|
oldText: toolResult.returnDisplay.originalContent,
|
|
862
1341
|
newText: toolResult.returnDisplay.newContent,
|
|
1342
|
+
_meta: {
|
|
1343
|
+
kind: !toolResult.returnDisplay.originalContent
|
|
1344
|
+
? 'add'
|
|
1345
|
+
: toolResult.returnDisplay.newContent === ''
|
|
1346
|
+
? 'delete'
|
|
1347
|
+
: 'modify',
|
|
1348
|
+
},
|
|
863
1349
|
};
|
|
864
1350
|
}
|
|
865
1351
|
return null;
|
|
@@ -881,60 +1367,97 @@ const basicPermissionOptions = [
|
|
|
881
1367
|
kind: 'reject_once',
|
|
882
1368
|
},
|
|
883
1369
|
];
|
|
884
|
-
function toPermissionOptions(confirmation) {
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
1370
|
+
function toPermissionOptions(confirmation, config, enablePermanentToolApproval = false) {
|
|
1371
|
+
const disableAlwaysAllow = config.getDisableAlwaysAllow();
|
|
1372
|
+
const options = [];
|
|
1373
|
+
if (!disableAlwaysAllow) {
|
|
1374
|
+
switch (confirmation.type) {
|
|
1375
|
+
case 'edit':
|
|
1376
|
+
options.push({
|
|
889
1377
|
optionId: ToolConfirmationOutcome.ProceedAlways,
|
|
890
|
-
name: 'Allow
|
|
1378
|
+
name: 'Allow for this session',
|
|
891
1379
|
kind: 'allow_always',
|
|
892
|
-
}
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
1380
|
+
});
|
|
1381
|
+
if (enablePermanentToolApproval) {
|
|
1382
|
+
options.push({
|
|
1383
|
+
optionId: ToolConfirmationOutcome.ProceedAlwaysAndSave,
|
|
1384
|
+
name: 'Allow for this file in all future sessions',
|
|
1385
|
+
kind: 'allow_always',
|
|
1386
|
+
});
|
|
1387
|
+
}
|
|
1388
|
+
break;
|
|
1389
|
+
case 'exec':
|
|
1390
|
+
options.push({
|
|
898
1391
|
optionId: ToolConfirmationOutcome.ProceedAlways,
|
|
899
|
-
name:
|
|
1392
|
+
name: 'Allow for this session',
|
|
900
1393
|
kind: 'allow_always',
|
|
901
|
-
}
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
1394
|
+
});
|
|
1395
|
+
if (enablePermanentToolApproval) {
|
|
1396
|
+
options.push({
|
|
1397
|
+
optionId: ToolConfirmationOutcome.ProceedAlwaysAndSave,
|
|
1398
|
+
name: 'Allow this command for all future sessions',
|
|
1399
|
+
kind: 'allow_always',
|
|
1400
|
+
});
|
|
1401
|
+
}
|
|
1402
|
+
break;
|
|
1403
|
+
case 'mcp':
|
|
1404
|
+
options.push({
|
|
907
1405
|
optionId: ToolConfirmationOutcome.ProceedAlwaysServer,
|
|
908
|
-
name:
|
|
1406
|
+
name: 'Allow all server tools for this session',
|
|
909
1407
|
kind: 'allow_always',
|
|
910
|
-
},
|
|
911
|
-
{
|
|
1408
|
+
}, {
|
|
912
1409
|
optionId: ToolConfirmationOutcome.ProceedAlwaysTool,
|
|
913
|
-
name:
|
|
1410
|
+
name: 'Allow tool for this session',
|
|
914
1411
|
kind: 'allow_always',
|
|
915
|
-
}
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
1412
|
+
});
|
|
1413
|
+
if (enablePermanentToolApproval) {
|
|
1414
|
+
options.push({
|
|
1415
|
+
optionId: ToolConfirmationOutcome.ProceedAlwaysAndSave,
|
|
1416
|
+
name: 'Allow tool for all future sessions',
|
|
1417
|
+
kind: 'allow_always',
|
|
1418
|
+
});
|
|
1419
|
+
}
|
|
1420
|
+
break;
|
|
1421
|
+
case 'info':
|
|
1422
|
+
options.push({
|
|
921
1423
|
optionId: ToolConfirmationOutcome.ProceedAlways,
|
|
922
|
-
name:
|
|
1424
|
+
name: 'Allow for this session',
|
|
923
1425
|
kind: 'allow_always',
|
|
924
|
-
}
|
|
925
|
-
|
|
926
|
-
|
|
1426
|
+
});
|
|
1427
|
+
if (enablePermanentToolApproval) {
|
|
1428
|
+
options.push({
|
|
1429
|
+
optionId: ToolConfirmationOutcome.ProceedAlwaysAndSave,
|
|
1430
|
+
name: 'Allow for all future sessions',
|
|
1431
|
+
kind: 'allow_always',
|
|
1432
|
+
});
|
|
1433
|
+
}
|
|
1434
|
+
break;
|
|
1435
|
+
case 'ask_user':
|
|
1436
|
+
case 'exit_plan_mode':
|
|
1437
|
+
// askuser and exit_plan_mode don't need "always allow" options
|
|
1438
|
+
break;
|
|
1439
|
+
default:
|
|
1440
|
+
// No "always allow" options for other types
|
|
1441
|
+
break;
|
|
1442
|
+
}
|
|
1443
|
+
}
|
|
1444
|
+
options.push(...basicPermissionOptions);
|
|
1445
|
+
// Exhaustive check
|
|
1446
|
+
switch (confirmation.type) {
|
|
1447
|
+
case 'edit':
|
|
1448
|
+
case 'exec':
|
|
1449
|
+
case 'mcp':
|
|
1450
|
+
case 'info':
|
|
927
1451
|
case 'ask_user':
|
|
928
|
-
// askuser doesn't need "always allow" options since it's asking questions
|
|
929
|
-
return [...basicPermissionOptions];
|
|
930
1452
|
case 'exit_plan_mode':
|
|
931
|
-
|
|
932
|
-
|
|
1453
|
+
case 'sandbox_expansion':
|
|
1454
|
+
break;
|
|
933
1455
|
default: {
|
|
934
1456
|
const unreachable = confirmation;
|
|
935
1457
|
throw new Error(`Unexpected: ${unreachable}`);
|
|
936
1458
|
}
|
|
937
1459
|
}
|
|
1460
|
+
return options;
|
|
938
1461
|
}
|
|
939
1462
|
/**
|
|
940
1463
|
* Maps our internal tool kind to the ACP ToolKind.
|
|
@@ -944,17 +1467,138 @@ function toAcpToolKind(kind) {
|
|
|
944
1467
|
switch (kind) {
|
|
945
1468
|
case Kind.Read:
|
|
946
1469
|
case Kind.Edit:
|
|
1470
|
+
case Kind.Execute:
|
|
1471
|
+
case Kind.Search:
|
|
947
1472
|
case Kind.Delete:
|
|
948
1473
|
case Kind.Move:
|
|
949
|
-
case Kind.Search:
|
|
950
|
-
case Kind.Execute:
|
|
951
1474
|
case Kind.Think:
|
|
952
1475
|
case Kind.Fetch:
|
|
1476
|
+
case Kind.SwitchMode:
|
|
953
1477
|
case Kind.Other:
|
|
954
1478
|
return kind;
|
|
1479
|
+
case Kind.Agent:
|
|
1480
|
+
return 'think';
|
|
1481
|
+
case Kind.Plan:
|
|
955
1482
|
case Kind.Communicate:
|
|
956
1483
|
default:
|
|
957
1484
|
return 'other';
|
|
958
1485
|
}
|
|
959
1486
|
}
|
|
960
|
-
|
|
1487
|
+
function buildAvailableModes(isPlanEnabled) {
|
|
1488
|
+
const modes = [
|
|
1489
|
+
{
|
|
1490
|
+
id: ApprovalMode.DEFAULT,
|
|
1491
|
+
name: 'Default',
|
|
1492
|
+
description: 'Prompts for approval',
|
|
1493
|
+
},
|
|
1494
|
+
{
|
|
1495
|
+
id: ApprovalMode.AUTO_EDIT,
|
|
1496
|
+
name: 'Auto Edit',
|
|
1497
|
+
description: 'Auto-approves edit tools',
|
|
1498
|
+
},
|
|
1499
|
+
{
|
|
1500
|
+
id: ApprovalMode.YOLO,
|
|
1501
|
+
name: 'YOLO',
|
|
1502
|
+
description: 'Auto-approves all tools',
|
|
1503
|
+
},
|
|
1504
|
+
];
|
|
1505
|
+
if (isPlanEnabled) {
|
|
1506
|
+
modes.push({
|
|
1507
|
+
id: ApprovalMode.PLAN,
|
|
1508
|
+
name: 'Plan',
|
|
1509
|
+
description: 'Read-only mode',
|
|
1510
|
+
});
|
|
1511
|
+
}
|
|
1512
|
+
return modes;
|
|
1513
|
+
}
|
|
1514
|
+
function buildAvailableModels(config, settings) {
|
|
1515
|
+
const preferredModel = config.getModel() || DEFAULT_GEMINI_MODEL_AUTO;
|
|
1516
|
+
const shouldShowPreviewModels = config.getHasAccessToPreviewModel();
|
|
1517
|
+
const useGemini31 = config.getGemini31LaunchedSync?.() ?? false;
|
|
1518
|
+
const useGemini31FlashLite = config.getGemini31FlashLiteLaunchedSync?.() ?? false;
|
|
1519
|
+
const selectedAuthType = settings.merged.security.auth.selectedType;
|
|
1520
|
+
const useCustomToolModel = useGemini31 && selectedAuthType === AuthType.USE_GEMINI;
|
|
1521
|
+
// --- DYNAMIC PATH ---
|
|
1522
|
+
if (config.getExperimentalDynamicModelConfiguration?.() === true &&
|
|
1523
|
+
config.getModelConfigService) {
|
|
1524
|
+
const options = config.getModelConfigService().getAvailableModelOptions({
|
|
1525
|
+
useGemini3_1: useGemini31,
|
|
1526
|
+
useGemini3_1FlashLite: useGemini31FlashLite,
|
|
1527
|
+
useCustomTools: useCustomToolModel,
|
|
1528
|
+
hasAccessToPreview: shouldShowPreviewModels,
|
|
1529
|
+
});
|
|
1530
|
+
return {
|
|
1531
|
+
availableModels: options,
|
|
1532
|
+
currentModelId: preferredModel,
|
|
1533
|
+
};
|
|
1534
|
+
}
|
|
1535
|
+
// --- LEGACY PATH ---
|
|
1536
|
+
const mainOptions = [
|
|
1537
|
+
{
|
|
1538
|
+
value: DEFAULT_GEMINI_MODEL_AUTO,
|
|
1539
|
+
title: getDisplayString(DEFAULT_GEMINI_MODEL_AUTO),
|
|
1540
|
+
description: 'Let Cell CLI decide the best model for the task: gemini-2.5-pro, gemini-2.5-flash',
|
|
1541
|
+
},
|
|
1542
|
+
];
|
|
1543
|
+
if (shouldShowPreviewModels) {
|
|
1544
|
+
mainOptions.unshift({
|
|
1545
|
+
value: PREVIEW_GEMINI_MODEL_AUTO,
|
|
1546
|
+
title: getDisplayString(PREVIEW_GEMINI_MODEL_AUTO),
|
|
1547
|
+
description: useGemini31
|
|
1548
|
+
? 'Let Cell CLI decide the best model for the task: gemini-3.1-pro, gemini-3-flash'
|
|
1549
|
+
: 'Let Cell CLI decide the best model for the task: gemini-3-pro, gemini-3-flash',
|
|
1550
|
+
});
|
|
1551
|
+
}
|
|
1552
|
+
const manualOptions = [
|
|
1553
|
+
{
|
|
1554
|
+
value: DEFAULT_GEMINI_MODEL,
|
|
1555
|
+
title: getDisplayString(DEFAULT_GEMINI_MODEL),
|
|
1556
|
+
},
|
|
1557
|
+
{
|
|
1558
|
+
value: DEFAULT_GEMINI_FLASH_MODEL,
|
|
1559
|
+
title: getDisplayString(DEFAULT_GEMINI_FLASH_MODEL),
|
|
1560
|
+
},
|
|
1561
|
+
{
|
|
1562
|
+
value: DEFAULT_GEMINI_FLASH_LITE_MODEL,
|
|
1563
|
+
title: getDisplayString(DEFAULT_GEMINI_FLASH_LITE_MODEL),
|
|
1564
|
+
},
|
|
1565
|
+
];
|
|
1566
|
+
if (shouldShowPreviewModels) {
|
|
1567
|
+
const previewProModel = useGemini31
|
|
1568
|
+
? PREVIEW_GEMINI_3_1_MODEL
|
|
1569
|
+
: PREVIEW_GEMINI_MODEL;
|
|
1570
|
+
const previewProValue = useCustomToolModel
|
|
1571
|
+
? PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL
|
|
1572
|
+
: previewProModel;
|
|
1573
|
+
const previewOptions = [
|
|
1574
|
+
{
|
|
1575
|
+
value: previewProValue,
|
|
1576
|
+
title: getDisplayString(previewProModel),
|
|
1577
|
+
},
|
|
1578
|
+
{
|
|
1579
|
+
value: PREVIEW_GEMINI_FLASH_MODEL,
|
|
1580
|
+
title: getDisplayString(PREVIEW_GEMINI_FLASH_MODEL),
|
|
1581
|
+
},
|
|
1582
|
+
];
|
|
1583
|
+
if (useGemini31FlashLite) {
|
|
1584
|
+
previewOptions.push({
|
|
1585
|
+
value: PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL,
|
|
1586
|
+
title: getDisplayString(PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL),
|
|
1587
|
+
});
|
|
1588
|
+
}
|
|
1589
|
+
manualOptions.unshift(...previewOptions);
|
|
1590
|
+
}
|
|
1591
|
+
const scaleOptions = (options) => options.map((o) => ({
|
|
1592
|
+
modelId: o.value,
|
|
1593
|
+
name: o.title,
|
|
1594
|
+
description: o.description,
|
|
1595
|
+
}));
|
|
1596
|
+
return {
|
|
1597
|
+
availableModels: [
|
|
1598
|
+
...scaleOptions(mainOptions),
|
|
1599
|
+
...scaleOptions(manualOptions),
|
|
1600
|
+
],
|
|
1601
|
+
currentModelId: preferredModel,
|
|
1602
|
+
};
|
|
1603
|
+
}
|
|
1604
|
+
//# sourceMappingURL=acpClient.js.map
|