@google/gemini-cli 0.26.0-preview.4 → 0.27.0-nightly.20260126.cb772a5b7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -1
- package/dist/google-gemini-cli-0.27.0-nightly.20260121.97aac696f.tgz +0 -0
- package/dist/package.json +3 -4
- package/dist/src/commands/extensions.js +4 -1
- package/dist/src/commands/extensions.js.map +1 -1
- package/dist/src/commands/hooks.js +4 -1
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/mcp/enableDisable.d.ts +13 -0
- package/dist/src/commands/mcp/enableDisable.js +122 -0
- package/dist/src/commands/mcp/enableDisable.js.map +1 -0
- package/dist/src/commands/mcp/list.d.ts +2 -0
- package/dist/src/commands/mcp/list.js +1 -1
- package/dist/src/commands/mcp/list.js.map +1 -1
- package/dist/src/commands/mcp.js +7 -1
- package/dist/src/commands/mcp.js.map +1 -1
- package/dist/src/commands/mcp.test.js +3 -1
- package/dist/src/commands/mcp.test.js.map +1 -1
- package/dist/src/commands/skills.js +4 -1
- package/dist/src/commands/skills.js.map +1 -1
- package/dist/src/config/config.d.ts +4 -0
- package/dist/src/config/config.js +41 -20
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +181 -15
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/keyBindings.d.ts +8 -5
- package/dist/src/config/keyBindings.js +38 -32
- package/dist/src/config/keyBindings.js.map +1 -1
- package/dist/src/config/keyBindings.test.js +8 -5
- package/dist/src/config/keyBindings.test.js.map +1 -1
- package/dist/src/config/mcp/index.d.ts +6 -0
- package/dist/src/config/mcp/index.js +7 -0
- package/dist/src/config/mcp/index.js.map +1 -0
- package/dist/src/config/mcp/mcpServerEnablement.d.ts +145 -0
- package/dist/src/config/mcp/mcpServerEnablement.js +254 -0
- package/dist/src/config/mcp/mcpServerEnablement.js.map +1 -0
- package/dist/src/config/mcp/mcpServerEnablement.test.js +147 -0
- package/dist/src/config/mcp/mcpServerEnablement.test.js.map +1 -0
- package/dist/src/config/sandboxConfig.test.js +11 -5
- package/dist/src/config/sandboxConfig.test.js.map +1 -1
- package/dist/src/config/settings.js +76 -0
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settings.test.js +44 -0
- package/dist/src/config/settings.test.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +21 -78
- package/dist/src/config/settingsSchema.js +21 -79
- package/dist/src/config/settingsSchema.js.map +1 -1
- package/dist/src/config/settingsSchema.test.js +1 -1
- package/dist/src/config/settingsSchema.test.js.map +1 -1
- package/dist/src/config/settings_repro.test.js +6 -2
- package/dist/src/config/settings_repro.test.js.map +1 -1
- package/dist/src/gemini.js +12 -7
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/gemini.test.js +140 -10
- package/dist/src/gemini.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/nonInteractiveCli.js +11 -3
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/nonInteractiveCli.test.js +193 -3
- package/dist/src/nonInteractiveCli.test.js.map +1 -1
- package/dist/src/nonInteractiveCliCommands.js +6 -1
- package/dist/src/nonInteractiveCliCommands.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.js +2 -0
- package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
- package/dist/src/services/FileCommandLoader.js +12 -4
- package/dist/src/services/FileCommandLoader.js.map +1 -1
- package/dist/src/services/FileCommandLoader.test.js +56 -0
- package/dist/src/services/FileCommandLoader.test.js.map +1 -1
- package/dist/src/test-utils/mockCommandContext.js +2 -0
- package/dist/src/test-utils/mockCommandContext.js.map +1 -1
- package/dist/src/test-utils/persistentStateFake.d.ts +26 -0
- package/dist/src/test-utils/persistentStateFake.js +39 -0
- package/dist/src/test-utils/persistentStateFake.js.map +1 -0
- package/dist/src/test-utils/render.d.ts +10 -1
- package/dist/src/test-utils/render.js +45 -16
- package/dist/src/test-utils/render.js.map +1 -1
- package/dist/src/ui/App.test.js +96 -38
- package/dist/src/ui/App.test.js.map +1 -1
- package/dist/src/ui/AppContainer.js +78 -18
- package/dist/src/ui/AppContainer.js.map +1 -1
- package/dist/src/ui/AppContainer.test.js +185 -19
- package/dist/src/ui/AppContainer.test.js.map +1 -1
- package/dist/src/ui/auth/ApiAuthDialog.test.js +5 -5
- package/dist/src/ui/auth/ApiAuthDialog.test.js.map +1 -1
- package/dist/src/ui/auth/AuthDialog.test.js +13 -9
- package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
- package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js +6 -6
- package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js.map +1 -1
- package/dist/src/ui/commands/aboutCommand.js +2 -0
- package/dist/src/ui/commands/aboutCommand.js.map +1 -1
- package/dist/src/ui/commands/aboutCommand.test.js +12 -0
- package/dist/src/ui/commands/aboutCommand.test.js.map +1 -1
- package/dist/src/ui/commands/agentsCommand.js +75 -4
- package/dist/src/ui/commands/agentsCommand.js.map +1 -1
- package/dist/src/ui/commands/agentsCommand.test.js +114 -0
- package/dist/src/ui/commands/agentsCommand.test.js.map +1 -1
- package/dist/src/ui/commands/directoryCommand.js +53 -49
- package/dist/src/ui/commands/directoryCommand.js.map +1 -1
- package/dist/src/ui/commands/directoryCommand.test.js +79 -23
- package/dist/src/ui/commands/directoryCommand.test.js.map +1 -1
- package/dist/src/ui/commands/initCommand.test.js +8 -4
- package/dist/src/ui/commands/initCommand.test.js.map +1 -1
- package/dist/src/ui/commands/mcpCommand.js +136 -5
- package/dist/src/ui/commands/mcpCommand.js.map +1 -1
- package/dist/src/ui/commands/policiesCommand.js +33 -20
- package/dist/src/ui/commands/policiesCommand.js.map +1 -1
- package/dist/src/ui/commands/policiesCommand.test.js +7 -4
- package/dist/src/ui/commands/policiesCommand.test.js.map +1 -1
- package/dist/src/ui/commands/rewindCommand.d.ts +7 -0
- package/dist/src/ui/commands/rewindCommand.js +132 -0
- package/dist/src/ui/commands/rewindCommand.js.map +1 -0
- package/dist/src/ui/commands/rewindCommand.test.js +242 -0
- package/dist/src/ui/commands/rewindCommand.test.js.map +1 -0
- package/dist/src/ui/commands/skillsCommand.js +6 -4
- package/dist/src/ui/commands/skillsCommand.js.map +1 -1
- package/dist/src/ui/commands/skillsCommand.test.js +17 -3
- package/dist/src/ui/commands/skillsCommand.test.js.map +1 -1
- package/dist/src/ui/commands/types.d.ts +5 -3
- package/dist/src/ui/commands/types.js.map +1 -1
- package/dist/src/ui/components/AboutBox.d.ts +1 -0
- package/dist/src/ui/components/AboutBox.js +5 -1
- package/dist/src/ui/components/AboutBox.js.map +1 -1
- package/dist/src/ui/components/AboutBox.test.js +8 -2
- package/dist/src/ui/components/AboutBox.test.js.map +1 -1
- package/dist/src/ui/components/AgentConfigDialog.d.ts +18 -0
- package/dist/src/ui/components/AgentConfigDialog.js +296 -0
- package/dist/src/ui/components/AgentConfigDialog.js.map +1 -0
- package/dist/src/ui/components/AgentConfigDialog.test.js +241 -0
- package/dist/src/ui/components/AgentConfigDialog.test.js.map +1 -0
- package/dist/src/ui/components/AlternateBufferQuittingDisplay.js +9 -2
- package/dist/src/ui/components/AlternateBufferQuittingDisplay.js.map +1 -1
- package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js +54 -25
- package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js.map +1 -1
- package/dist/src/ui/components/AppHeader.js +4 -1
- package/dist/src/ui/components/AppHeader.js.map +1 -1
- package/dist/src/ui/components/AppHeader.test.js +95 -22
- package/dist/src/ui/components/AppHeader.test.js.map +1 -1
- package/dist/src/ui/components/{AutoAcceptIndicator.d.ts → ApprovalModeIndicator.d.ts} +2 -2
- package/dist/src/ui/components/{AutoAcceptIndicator.js → ApprovalModeIndicator.js} +8 -3
- package/dist/src/ui/components/ApprovalModeIndicator.js.map +1 -0
- package/dist/src/ui/components/ApprovalModeIndicator.test.d.ts +6 -0
- package/dist/src/ui/components/{AutoAcceptIndicator.test.js → ApprovalModeIndicator.test.js} +13 -7
- package/dist/src/ui/components/ApprovalModeIndicator.test.js.map +1 -0
- package/dist/src/ui/components/AskUserDialog.d.ts +39 -0
- package/dist/src/ui/components/AskUserDialog.js +618 -0
- package/dist/src/ui/components/AskUserDialog.js.map +1 -0
- package/dist/src/ui/components/AskUserDialog.test.d.ts +6 -0
- package/dist/src/ui/components/AskUserDialog.test.js +598 -0
- package/dist/src/ui/components/AskUserDialog.test.js.map +1 -0
- package/dist/src/ui/components/Composer.d.ts +3 -1
- package/dist/src/ui/components/Composer.js +5 -5
- package/dist/src/ui/components/Composer.js.map +1 -1
- package/dist/src/ui/components/Composer.test.js +6 -6
- package/dist/src/ui/components/Composer.test.js.map +1 -1
- package/dist/src/ui/components/ConfigInitDisplay.js +3 -4
- package/dist/src/ui/components/ConfigInitDisplay.js.map +1 -1
- package/dist/src/ui/components/ConfigInitDisplay.test.js +13 -29
- package/dist/src/ui/components/ConfigInitDisplay.test.js.map +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.test.js +7 -3
- package/dist/src/ui/components/ContextUsageDisplay.test.js.map +1 -1
- package/dist/src/ui/components/DialogManager.js +13 -0
- package/dist/src/ui/components/DialogManager.js.map +1 -1
- package/dist/src/ui/components/DialogManager.test.js +24 -0
- package/dist/src/ui/components/DialogManager.test.js.map +1 -1
- package/dist/src/ui/components/FolderTrustDialog.test.js +3 -1
- package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
- package/dist/src/ui/components/Footer.test.js +7 -0
- package/dist/src/ui/components/Footer.test.js.map +1 -1
- package/dist/src/ui/components/Help.js +5 -2
- package/dist/src/ui/components/Help.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.js +32 -20
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.test.js +75 -1
- package/dist/src/ui/components/InputPrompt.test.js.map +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 +12 -10
- package/dist/src/ui/components/MultiFolderTrustDialog.test.js.map +1 -1
- package/dist/src/ui/components/Notifications.js +14 -20
- package/dist/src/ui/components/Notifications.js.map +1 -1
- package/dist/src/ui/components/Notifications.test.js +45 -35
- package/dist/src/ui/components/Notifications.test.js.map +1 -1
- package/dist/src/ui/components/RewindViewer.d.ts +1 -1
- package/dist/src/ui/components/RewindViewer.js +65 -17
- package/dist/src/ui/components/RewindViewer.js.map +1 -1
- package/dist/src/ui/components/RewindViewer.test.js +5 -3
- package/dist/src/ui/components/RewindViewer.test.js.map +1 -1
- package/dist/src/ui/components/SessionBrowser.js +3 -2
- package/dist/src/ui/components/SessionBrowser.js.map +1 -1
- package/dist/src/ui/components/SessionBrowser.test.js +10 -3
- package/dist/src/ui/components/SessionBrowser.test.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.d.ts +1 -1
- package/dist/src/ui/components/SettingsDialog.js +266 -516
- package/dist/src/ui/components/SettingsDialog.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.test.js +2 -2
- package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/ShellInputPrompt.test.js +17 -8
- package/dist/src/ui/components/ShellInputPrompt.test.js.map +1 -1
- package/dist/src/ui/components/SuggestionsDisplay.d.ts +1 -1
- package/dist/src/ui/components/SuggestionsDisplay.js +4 -3
- package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
- package/dist/src/ui/components/ToolConfirmationQueue.d.ts +12 -0
- package/dist/src/ui/components/ToolConfirmationQueue.js +30 -0
- package/dist/src/ui/components/ToolConfirmationQueue.js.map +1 -0
- package/dist/src/ui/components/ToolConfirmationQueue.test.d.ts +6 -0
- package/dist/src/ui/components/ToolConfirmationQueue.test.js +71 -0
- package/dist/src/ui/components/ToolConfirmationQueue.test.js.map +1 -0
- package/dist/src/ui/components/messages/RedirectionConfirmation.test.js +2 -4
- package/dist/src/ui/components/messages/RedirectionConfirmation.test.js.map +1 -1
- package/dist/src/ui/components/messages/ShellToolMessage.js +6 -41
- package/dist/src/ui/components/messages/ShellToolMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +3 -2
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +61 -76
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +20 -7
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.js +34 -18
- package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js +209 -24
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessage.d.ts +1 -1
- package/dist/src/ui/components/messages/ToolMessage.js +7 -29
- package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessageFocusHint.test.d.ts +6 -0
- package/dist/src/ui/components/messages/ToolMessageFocusHint.test.js +89 -0
- package/dist/src/ui/components/messages/ToolMessageFocusHint.test.js.map +1 -0
- package/dist/src/ui/components/messages/ToolShared.d.ts +26 -0
- package/dist/src/ui/components/messages/ToolShared.js +59 -6
- package/dist/src/ui/components/messages/ToolShared.js.map +1 -1
- package/dist/src/ui/components/shared/BaseSelectionList.d.ts +3 -1
- package/dist/src/ui/components/shared/BaseSelectionList.js +4 -2
- package/dist/src/ui/components/shared/BaseSelectionList.js.map +1 -1
- package/dist/src/ui/components/shared/BaseSelectionList.test.js +1 -0
- package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +1 -1
- package/dist/src/ui/components/shared/BaseSettingsDialog.d.ts +72 -0
- package/dist/src/ui/components/shared/BaseSettingsDialog.js +293 -0
- package/dist/src/ui/components/shared/BaseSettingsDialog.js.map +1 -0
- package/dist/src/ui/components/shared/BaseSettingsDialog.test.d.ts +6 -0
- package/dist/src/ui/components/shared/BaseSettingsDialog.test.js +434 -0
- package/dist/src/ui/components/shared/BaseSettingsDialog.test.js.map +1 -0
- package/dist/src/ui/components/shared/ExpandableText.d.ts +17 -0
- package/dist/src/ui/components/{PrepareLabel.js → shared/ExpandableText.js} +30 -15
- package/dist/src/ui/components/shared/ExpandableText.js.map +1 -0
- package/dist/src/ui/components/shared/ExpandableText.test.d.ts +6 -0
- package/dist/src/ui/components/{PrepareLabel.test.js → shared/ExpandableText.test.js} +22 -11
- package/dist/src/ui/components/shared/ExpandableText.test.js.map +1 -0
- package/dist/src/ui/components/shared/TabHeader.d.ts +51 -0
- package/dist/src/ui/components/shared/TabHeader.js +42 -0
- package/dist/src/ui/components/shared/TabHeader.js.map +1 -0
- package/dist/src/ui/components/shared/TabHeader.test.d.ts +6 -0
- package/dist/src/ui/components/shared/TabHeader.test.js +106 -0
- package/dist/src/ui/components/shared/TabHeader.test.js.map +1 -0
- package/dist/src/ui/components/shared/TextInput.test.js +32 -24
- package/dist/src/ui/components/shared/TextInput.test.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.d.ts +13 -0
- package/dist/src/ui/components/shared/text-buffer.js +173 -14
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.test.js +256 -44
- package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
- package/dist/src/ui/components/shared/vim-buffer-actions.test.js +4 -1
- package/dist/src/ui/components/shared/vim-buffer-actions.test.js.map +1 -1
- package/dist/src/ui/components/views/McpStatus.d.ts +1 -0
- package/dist/src/ui/components/views/McpStatus.js +30 -18
- package/dist/src/ui/components/views/McpStatus.js.map +1 -1
- package/dist/src/ui/components/views/McpStatus.test.js +7 -0
- package/dist/src/ui/components/views/McpStatus.test.js.map +1 -1
- package/dist/src/ui/constants/tips.js +2 -2
- package/dist/src/ui/constants/tips.js.map +1 -1
- package/dist/src/ui/constants.d.ts +1 -0
- package/dist/src/ui/constants.js +1 -0
- package/dist/src/ui/constants.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.d.ts +3 -2
- package/dist/src/ui/contexts/KeypressContext.js +33 -25
- package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.test.js +151 -41
- package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
- package/dist/src/ui/contexts/MouseContext.test.js +8 -8
- package/dist/src/ui/contexts/MouseContext.test.js.map +1 -1
- package/dist/src/ui/contexts/ToolActionsContext.d.ts +20 -0
- package/dist/src/ui/contexts/ToolActionsContext.js +74 -0
- package/dist/src/ui/contexts/ToolActionsContext.js.map +1 -0
- package/dist/src/ui/contexts/ToolActionsContext.test.d.ts +6 -0
- package/dist/src/ui/contexts/ToolActionsContext.test.js +135 -0
- package/dist/src/ui/contexts/ToolActionsContext.test.js.map +1 -0
- package/dist/src/ui/contexts/UIActionsContext.d.ts +3 -1
- package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
- package/dist/src/ui/contexts/UIStateContext.d.ts +6 -2
- package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.js +19 -4
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/keyToAnsi.js +1 -1
- package/dist/src/ui/hooks/keyToAnsi.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.d.ts +3 -1
- package/dist/src/ui/hooks/slashCommandProcessor.js +24 -7
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.test.js +126 -30
- package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/toolMapping.js +8 -11
- package/dist/src/ui/hooks/toolMapping.js.map +1 -1
- package/dist/src/ui/hooks/toolMapping.test.js +27 -6
- package/dist/src/ui/hooks/toolMapping.test.js.map +1 -1
- package/dist/src/ui/hooks/{useAutoAcceptIndicator.d.ts → useApprovalModeIndicator.d.ts} +2 -2
- package/dist/src/ui/hooks/{useAutoAcceptIndicator.js → useApprovalModeIndicator.js} +25 -11
- package/dist/src/ui/hooks/useApprovalModeIndicator.js.map +1 -0
- package/dist/src/ui/hooks/useApprovalModeIndicator.test.d.ts +6 -0
- package/dist/src/ui/hooks/{useAutoAcceptIndicator.test.js → useApprovalModeIndicator.test.js} +56 -31
- package/dist/src/ui/hooks/useApprovalModeIndicator.test.js.map +1 -0
- package/dist/src/ui/hooks/useConfirmingTool.d.ts +16 -0
- package/dist/src/ui/hooks/useConfirmingTool.js +39 -0
- package/dist/src/ui/hooks/useConfirmingTool.js.map +1 -0
- package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -1
- package/dist/src/ui/hooks/useGeminiStream.js +20 -8
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.test.js +79 -19
- package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
- package/dist/src/ui/hooks/useIncludeDirsTrust.d.ts +1 -1
- package/dist/src/ui/hooks/useIncludeDirsTrust.js +9 -20
- package/dist/src/ui/hooks/useIncludeDirsTrust.js.map +1 -1
- package/dist/src/ui/hooks/useIncludeDirsTrust.test.js +33 -12
- package/dist/src/ui/hooks/useIncludeDirsTrust.test.js.map +1 -1
- package/dist/src/ui/hooks/useKeypress.test.js +10 -3
- 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 +3 -3
- package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
- package/dist/src/ui/hooks/useLoadingIndicator.test.js +17 -9
- package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.d.ts +2 -2
- package/dist/src/ui/hooks/usePhraseCycler.js +4 -14
- package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
- package/dist/src/ui/hooks/usePhraseCycler.test.js +13 -42
- package/dist/src/ui/hooks/usePhraseCycler.test.js.map +1 -1
- package/dist/src/ui/hooks/useSelectionList.d.ts +4 -1
- package/dist/src/ui/hooks/useSelectionList.js +51 -13
- package/dist/src/ui/hooks/useSelectionList.js.map +1 -1
- package/dist/src/ui/hooks/useSelectionList.test.js +35 -3
- package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -1
- package/dist/src/ui/hooks/useSessionResume.test.js +3 -2
- package/dist/src/ui/hooks/useSessionResume.test.js.map +1 -1
- package/dist/src/ui/hooks/useShellInactivityStatus.d.ts +26 -0
- package/dist/src/ui/hooks/useShellInactivityStatus.js +46 -0
- package/dist/src/ui/hooks/useShellInactivityStatus.js.map +1 -0
- package/dist/src/ui/hooks/useShellInactivityStatus.test.d.ts +6 -0
- package/dist/src/ui/hooks/useShellInactivityStatus.test.js +84 -0
- package/dist/src/ui/hooks/useShellInactivityStatus.test.js.map +1 -0
- package/dist/src/ui/hooks/useTabbedNavigation.d.ts +53 -0
- package/dist/src/ui/hooks/useTabbedNavigation.js +150 -0
- package/dist/src/ui/hooks/useTabbedNavigation.js.map +1 -0
- package/dist/src/ui/hooks/useTabbedNavigation.test.d.ts +6 -0
- package/dist/src/ui/hooks/useTabbedNavigation.test.js +187 -0
- package/dist/src/ui/hooks/useTabbedNavigation.test.js.map +1 -0
- package/dist/src/ui/hooks/useTips.d.ts +10 -0
- package/dist/src/ui/hooks/useTips.js +18 -0
- package/dist/src/ui/hooks/useTips.js.map +1 -0
- package/dist/src/ui/hooks/useTips.test.d.ts +6 -0
- package/dist/src/ui/hooks/useTips.test.js +33 -0
- package/dist/src/ui/hooks/useTips.test.js.map +1 -0
- package/dist/src/ui/hooks/useToolExecutionScheduler.d.ts +30 -0
- package/dist/src/ui/hooks/useToolExecutionScheduler.js +113 -0
- package/dist/src/ui/hooks/useToolExecutionScheduler.js.map +1 -0
- package/dist/src/ui/hooks/useToolExecutionScheduler.test.d.ts +6 -0
- package/dist/src/ui/hooks/useToolExecutionScheduler.test.js +296 -0
- package/dist/src/ui/hooks/useToolExecutionScheduler.test.js.map +1 -0
- package/dist/src/ui/hooks/useToolScheduler.d.ts +29 -0
- package/dist/src/ui/hooks/useToolScheduler.js +30 -0
- package/dist/src/ui/hooks/useToolScheduler.js.map +1 -0
- package/dist/src/ui/hooks/useToolScheduler.test.js +1 -1
- package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
- package/dist/src/ui/hooks/useToolSchedulerFacade.test.d.ts +6 -0
- package/dist/src/ui/hooks/useToolSchedulerFacade.test.js +45 -0
- package/dist/src/ui/hooks/useToolSchedulerFacade.test.js.map +1 -0
- package/dist/src/ui/hooks/useTurnActivityMonitor.d.ts +16 -0
- package/dist/src/ui/hooks/useTurnActivityMonitor.js +49 -0
- package/dist/src/ui/hooks/useTurnActivityMonitor.js.map +1 -0
- package/dist/src/ui/hooks/useTurnActivityMonitor.test.d.ts +6 -0
- package/dist/src/ui/hooks/useTurnActivityMonitor.test.js +97 -0
- package/dist/src/ui/hooks/useTurnActivityMonitor.test.js.map +1 -0
- package/dist/src/ui/hooks/vim.js +5 -3
- package/dist/src/ui/hooks/vim.js.map +1 -1
- package/dist/src/ui/hooks/vim.test.js +4 -2
- package/dist/src/ui/hooks/vim.test.js.map +1 -1
- package/dist/src/ui/keyMatchers.js +5 -13
- package/dist/src/ui/keyMatchers.js.map +1 -1
- package/dist/src/ui/keyMatchers.test.js +23 -20
- package/dist/src/ui/keyMatchers.test.js.map +1 -1
- package/dist/src/ui/layouts/DefaultAppLayout.js +10 -2
- package/dist/src/ui/layouts/DefaultAppLayout.js.map +1 -1
- package/dist/src/ui/noninteractive/nonInteractiveUi.js +1 -0
- package/dist/src/ui/noninteractive/nonInteractiveUi.js.map +1 -1
- package/dist/src/ui/types.d.ts +11 -3
- package/dist/src/ui/types.js.map +1 -1
- package/dist/src/ui/utils/clipboardUtils.d.ts +4 -4
- package/dist/src/ui/utils/clipboardUtils.js +198 -12
- package/dist/src/ui/utils/clipboardUtils.js.map +1 -1
- package/dist/src/ui/utils/clipboardUtils.test.js +219 -47
- package/dist/src/ui/utils/clipboardUtils.test.js.map +1 -1
- package/dist/src/ui/utils/clipboardUtils.windows.test.js +3 -0
- package/dist/src/ui/utils/clipboardUtils.windows.test.js.map +1 -1
- package/dist/src/ui/utils/commandUtils.test.js +11 -3
- package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
- package/dist/src/ui/utils/directoryUtils.d.ts +10 -0
- package/dist/src/ui/utils/directoryUtils.js +12 -0
- package/dist/src/ui/utils/directoryUtils.js.map +1 -1
- package/dist/src/ui/utils/directoryUtils.test.js +8 -4
- package/dist/src/ui/utils/directoryUtils.test.js.map +1 -1
- package/dist/src/ui/utils/formatters.d.ts +1 -1
- package/dist/src/ui/utils/formatters.js +2 -3
- package/dist/src/ui/utils/formatters.js.map +1 -1
- package/dist/src/ui/utils/highlight.d.ts +2 -2
- package/dist/src/ui/utils/highlight.js +9 -3
- package/dist/src/ui/utils/highlight.js.map +1 -1
- package/dist/src/ui/utils/highlight.test.js +3 -0
- package/dist/src/ui/utils/highlight.test.js.map +1 -1
- package/dist/src/ui/utils/terminalCapabilityManager.d.ts +1 -2
- package/dist/src/ui/utils/terminalCapabilityManager.js +2 -8
- package/dist/src/ui/utils/terminalCapabilityManager.js.map +1 -1
- package/dist/src/ui/utils/terminalCapabilityManager.test.js +2 -3
- package/dist/src/ui/utils/terminalCapabilityManager.test.js.map +1 -1
- package/dist/src/ui/utils/terminalSetup.test.js +5 -3
- package/dist/src/ui/utils/terminalSetup.test.js.map +1 -1
- package/dist/src/ui/utils/textUtils.d.ts +5 -0
- package/dist/src/ui/utils/textUtils.js +14 -0
- package/dist/src/ui/utils/textUtils.js.map +1 -1
- package/dist/src/ui/utils/textUtils.test.js +19 -1
- package/dist/src/ui/utils/textUtils.test.js.map +1 -1
- package/dist/src/utils/cleanup.js +15 -0
- package/dist/src/utils/cleanup.js.map +1 -1
- package/dist/src/utils/events.d.ts +1 -6
- package/dist/src/utils/events.js +0 -2
- package/dist/src/utils/events.js.map +1 -1
- package/dist/src/utils/events.test.js +4 -4
- package/dist/src/utils/events.test.js.map +1 -1
- package/dist/src/utils/handleAutoUpdate.test.js +3 -0
- package/dist/src/utils/handleAutoUpdate.test.js.map +1 -1
- package/dist/src/utils/installationInfo.js +4 -2
- package/dist/src/utils/installationInfo.js.map +1 -1
- package/dist/src/utils/persistentState.d.ts +2 -0
- package/dist/src/utils/persistentState.js.map +1 -1
- package/dist/src/utils/windowTitle.d.ts +2 -1
- package/dist/src/utils/windowTitle.js +8 -1
- package/dist/src/utils/windowTitle.js.map +1 -1
- package/dist/src/utils/windowTitle.test.js +25 -1
- package/dist/src/utils/windowTitle.test.js.map +1 -1
- package/dist/src/zed-integration/zedIntegration.js +26 -5
- package/dist/src/zed-integration/zedIntegration.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -5
- package/dist/google-gemini-cli-0.26.0-preview.3.tgz +0 -0
- package/dist/src/ui/components/AutoAcceptIndicator.js.map +0 -1
- package/dist/src/ui/components/AutoAcceptIndicator.test.js.map +0 -1
- package/dist/src/ui/components/PrepareLabel.d.ts +0 -15
- package/dist/src/ui/components/PrepareLabel.js.map +0 -1
- package/dist/src/ui/components/PrepareLabel.test.js.map +0 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +0 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +0 -1
- /package/dist/src/{ui/components/AutoAcceptIndicator.test.d.ts → config/mcp/mcpServerEnablement.test.d.ts} +0 -0
- /package/dist/src/ui/{components/PrepareLabel.test.d.ts → commands/rewindCommand.test.d.ts} +0 -0
- /package/dist/src/ui/{hooks/useAutoAcceptIndicator.test.d.ts → components/AgentConfigDialog.test.d.ts} +0 -0
|
@@ -5,33 +5,20 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
5
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
*/
|
|
7
7
|
import React from 'react';
|
|
8
|
-
import { Box
|
|
9
|
-
import { ToolCallStatus } from '../../types.js';
|
|
8
|
+
import { Box } from 'ink';
|
|
10
9
|
import { ShellInputPrompt } from '../ShellInputPrompt.js';
|
|
11
10
|
import { StickyHeader } from '../StickyHeader.js';
|
|
12
|
-
import { SHELL_COMMAND_NAME, SHELL_NAME, SHELL_FOCUS_HINT_DELAY_MS, } from '../../constants.js';
|
|
13
|
-
import { theme } from '../../semantic-colors.js';
|
|
14
|
-
import { SHELL_TOOL_NAME } from '@google/gemini-cli-core';
|
|
15
11
|
import { useUIActions } from '../../contexts/UIActionsContext.js';
|
|
16
12
|
import { useMouseClick } from '../../hooks/useMouseClick.js';
|
|
17
13
|
import { ToolResultDisplay } from './ToolResultDisplay.js';
|
|
18
|
-
import { ToolStatusIndicator, ToolInfo, TrailingIndicator, STATUS_INDICATOR_WIDTH, } from './ToolShared.js';
|
|
14
|
+
import { ToolStatusIndicator, ToolInfo, TrailingIndicator, STATUS_INDICATOR_WIDTH, isThisShellFocusable as checkIsShellFocusable, isThisShellFocused as checkIsShellFocused, useFocusHint, FocusHint, } from './ToolShared.js';
|
|
19
15
|
export const ShellToolMessage = ({ name, description, resultDisplay, status, availableTerminalHeight, terminalWidth, emphasis = 'medium', renderOutputAsMarkdown = true, activeShellPtyId, embeddedShellFocused, ptyId, config, isFirst, borderColor, borderDimColor, }) => {
|
|
20
|
-
const isThisShellFocused = (name
|
|
21
|
-
name === SHELL_NAME ||
|
|
22
|
-
name === SHELL_TOOL_NAME) &&
|
|
23
|
-
status === ToolCallStatus.Executing &&
|
|
24
|
-
ptyId === activeShellPtyId &&
|
|
25
|
-
embeddedShellFocused;
|
|
16
|
+
const isThisShellFocused = checkIsShellFocused(name, status, ptyId, activeShellPtyId, embeddedShellFocused);
|
|
26
17
|
const { setEmbeddedShellFocused } = useUIActions();
|
|
27
18
|
const headerRef = React.useRef(null);
|
|
28
19
|
const contentRef = React.useRef(null);
|
|
29
20
|
// The shell is focusable if it's the shell command, it's executing, and the interactive shell is enabled.
|
|
30
|
-
const isThisShellFocusable = (name
|
|
31
|
-
name === SHELL_NAME ||
|
|
32
|
-
name === SHELL_TOOL_NAME) &&
|
|
33
|
-
status === ToolCallStatus.Executing &&
|
|
34
|
-
config?.getEnableInteractiveShell();
|
|
21
|
+
const isThisShellFocusable = checkIsShellFocusable(name, status, config);
|
|
35
22
|
const handleFocus = () => {
|
|
36
23
|
if (isThisShellFocusable) {
|
|
37
24
|
setEmbeddedShellFocused(true);
|
|
@@ -51,29 +38,7 @@ export const ShellToolMessage = ({ name, description, resultDisplay, status, ava
|
|
|
51
38
|
wasFocusedRef.current = false;
|
|
52
39
|
}
|
|
53
40
|
}, [isThisShellFocused, embeddedShellFocused, setEmbeddedShellFocused]);
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
const [showFocusHint, setShowFocusHint] = React.useState(false);
|
|
57
|
-
React.useEffect(() => {
|
|
58
|
-
if (resultDisplay) {
|
|
59
|
-
setLastUpdateTime(new Date());
|
|
60
|
-
}
|
|
61
|
-
}, [resultDisplay]);
|
|
62
|
-
React.useEffect(() => {
|
|
63
|
-
if (!lastUpdateTime) {
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
const timer = setTimeout(() => {
|
|
67
|
-
setShowFocusHint(true);
|
|
68
|
-
}, SHELL_FOCUS_HINT_DELAY_MS);
|
|
69
|
-
return () => clearTimeout(timer);
|
|
70
|
-
}, [lastUpdateTime]);
|
|
71
|
-
React.useEffect(() => {
|
|
72
|
-
if (isThisShellFocused) {
|
|
73
|
-
setUserHasFocused(true);
|
|
74
|
-
}
|
|
75
|
-
}, [isThisShellFocused]);
|
|
76
|
-
const shouldShowFocusHint = isThisShellFocusable && (showFocusHint || userHasFocused);
|
|
77
|
-
return (_jsxs(_Fragment, { children: [_jsxs(StickyHeader, { width: terminalWidth, isFirst: isFirst, borderColor: borderColor, borderDimColor: borderDimColor, containerRef: headerRef, children: [_jsx(ToolStatusIndicator, { status: status, name: name }), _jsx(ToolInfo, { name: name, status: status, description: description, emphasis: emphasis }), shouldShowFocusHint && (_jsx(Box, { marginLeft: 1, flexShrink: 0, children: _jsx(Text, { color: theme.text.accent, children: isThisShellFocused ? '(Focused)' : '(tab to focus)' }) })), emphasis === 'high' && _jsx(TrailingIndicator, {})] }), _jsxs(Box, { ref: contentRef, width: terminalWidth, borderStyle: "round", borderColor: borderColor, borderDimColor: borderDimColor, borderTop: false, borderBottom: false, borderLeft: true, borderRight: true, paddingX: 1, flexDirection: "column", children: [_jsx(ToolResultDisplay, { resultDisplay: resultDisplay, availableTerminalHeight: availableTerminalHeight, terminalWidth: terminalWidth, renderOutputAsMarkdown: renderOutputAsMarkdown }), isThisShellFocused && config && (_jsx(Box, { paddingLeft: STATUS_INDICATOR_WIDTH, marginTop: 1, children: _jsx(ShellInputPrompt, { activeShellPtyId: activeShellPtyId ?? null, focus: embeddedShellFocused }) }))] })] }));
|
|
41
|
+
const { shouldShowFocusHint } = useFocusHint(isThisShellFocusable, isThisShellFocused, resultDisplay);
|
|
42
|
+
return (_jsxs(_Fragment, { children: [_jsxs(StickyHeader, { width: terminalWidth, isFirst: isFirst, borderColor: borderColor, borderDimColor: borderDimColor, containerRef: headerRef, children: [_jsx(ToolStatusIndicator, { status: status, name: name }), _jsx(ToolInfo, { name: name, status: status, description: description, emphasis: emphasis }), _jsx(FocusHint, { shouldShowFocusHint: shouldShowFocusHint, isThisShellFocused: isThisShellFocused }), emphasis === 'high' && _jsx(TrailingIndicator, {})] }), _jsxs(Box, { ref: contentRef, width: terminalWidth, borderStyle: "round", borderColor: borderColor, borderDimColor: borderDimColor, borderTop: false, borderBottom: false, borderLeft: true, borderRight: true, paddingX: 1, flexDirection: "column", children: [_jsx(ToolResultDisplay, { resultDisplay: resultDisplay, availableTerminalHeight: availableTerminalHeight, terminalWidth: terminalWidth, renderOutputAsMarkdown: renderOutputAsMarkdown }), isThisShellFocused && config && (_jsx(Box, { paddingLeft: STATUS_INDICATOR_WIDTH, marginTop: 1, children: _jsx(ShellInputPrompt, { activeShellPtyId: activeShellPtyId ?? null, focus: embeddedShellFocused }) }))] })] }));
|
|
78
43
|
};
|
|
79
44
|
//# sourceMappingURL=ShellToolMessage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShellToolMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ShellToolMessage.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"ShellToolMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ShellToolMessage.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAmB,MAAM,KAAK,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,IAAI,qBAAqB,EAC7C,kBAAkB,IAAI,mBAAmB,EACzC,YAAY,EACZ,SAAS,GACV,MAAM,iBAAiB,CAAC;AAUzB,MAAM,CAAC,MAAM,gBAAgB,GAAoC,CAAC,EAChE,IAAI,EAEJ,WAAW,EAEX,aAAa,EAEb,MAAM,EAEN,uBAAuB,EAEvB,aAAa,EAEb,QAAQ,GAAG,QAAQ,EAEnB,sBAAsB,GAAG,IAAI,EAE7B,gBAAgB,EAEhB,oBAAoB,EAEpB,KAAK,EAEL,MAAM,EAEN,OAAO,EAEP,WAAW,EAEX,cAAc,GACf,EAAE,EAAE;IACH,MAAM,kBAAkB,GAAG,mBAAmB,CAC5C,IAAI,EACJ,MAAM,EACN,KAAK,EACL,gBAAgB,EAChB,oBAAoB,CACrB,CAAC;IAEF,MAAM,EAAE,uBAAuB,EAAE,GAAG,YAAY,EAAE,CAAC;IAEnD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAa,IAAI,CAAC,CAAC;IAEjD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAa,IAAI,CAAC,CAAC;IAElD,0GAA0G;IAE1G,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzE,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,oBAAoB,EAAE,CAAC;YACzB,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC;IAEF,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAE5E,aAAa,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAE7E,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE1C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,kBAAkB,EAAE,CAAC;YACvB,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC/B,CAAC;aAAM,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,oBAAoB,EAAE,CAAC;gBACzB,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;YAED,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;QAChC,CAAC;IACH,CAAC,EAAE,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAExE,MAAM,EAAE,mBAAmB,EAAE,GAAG,YAAY,CAC1C,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,CACd,CAAC;IAEF,OAAO,CACL,8BACE,MAAC,YAAY,IACX,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,SAAS,aAEvB,KAAC,mBAAmB,IAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAI,EAEnD,KAAC,QAAQ,IACP,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,GAClB,EAEF,KAAC,SAAS,IACR,mBAAmB,EAAE,mBAAmB,EACxC,kBAAkB,EAAE,kBAAkB,GACtC,EAED,QAAQ,KAAK,MAAM,IAAI,KAAC,iBAAiB,KAAG,IAChC,EAEf,MAAC,GAAG,IACF,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,aAAa,EACpB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,KAAK,EAChB,YAAY,EAAE,KAAK,EACnB,UAAU,EAAE,IAAI,EAChB,WAAW,EAAE,IAAI,EACjB,QAAQ,EAAE,CAAC,EACX,aAAa,EAAC,QAAQ,aAEtB,KAAC,iBAAiB,IAChB,aAAa,EAAE,aAAa,EAC5B,uBAAuB,EAAE,uBAAuB,EAChD,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EAAE,sBAAsB,GAC9C,EACD,kBAAkB,IAAI,MAAM,IAAI,CAC/B,KAAC,GAAG,IAAC,WAAW,EAAE,sBAAsB,EAAE,SAAS,EAAE,CAAC,YACpD,KAAC,gBAAgB,IACf,gBAAgB,EAAE,gBAAgB,IAAI,IAAI,EAC1C,KAAK,EAAE,oBAAoB,GAC3B,GACE,CACP,IACG,IACL,CACJ,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import type React from 'react';
|
|
7
|
-
import type
|
|
7
|
+
import { type SerializableConfirmationDetails, type ToolCallConfirmationDetails, type Config } from '@google/gemini-cli-core';
|
|
8
8
|
export interface ToolConfirmationMessageProps {
|
|
9
|
-
|
|
9
|
+
callId: string;
|
|
10
|
+
confirmationDetails: ToolCallConfirmationDetails | SerializableConfirmationDetails;
|
|
10
11
|
config: Config;
|
|
11
12
|
isFocused?: boolean;
|
|
12
13
|
availableTerminalHeight?: number;
|
|
@@ -1,65 +1,38 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { useMemo, useCallback } from 'react';
|
|
3
3
|
import { Box, Text } from 'ink';
|
|
4
4
|
import { DiffRenderer } from './DiffRenderer.js';
|
|
5
5
|
import { RenderInline } from '../../utils/InlineMarkdownRenderer.js';
|
|
6
|
-
import {
|
|
6
|
+
import { ToolConfirmationOutcome, hasRedirection, debugLogger, } from '@google/gemini-cli-core';
|
|
7
|
+
import { useToolActions } from '../../contexts/ToolActionsContext.js';
|
|
7
8
|
import { RadioButtonSelect } from '../shared/RadioButtonSelect.js';
|
|
8
9
|
import { MaxSizedBox, MINIMUM_MAX_HEIGHT } from '../shared/MaxSizedBox.js';
|
|
9
10
|
import { useKeypress } from '../../hooks/useKeypress.js';
|
|
10
11
|
import { theme } from '../../semantic-colors.js';
|
|
11
12
|
import { useSettings } from '../../contexts/SettingsContext.js';
|
|
12
13
|
import { REDIRECTION_WARNING_NOTE_LABEL, REDIRECTION_WARNING_NOTE_TEXT, REDIRECTION_WARNING_TIP_LABEL, REDIRECTION_WARNING_TIP_TEXT, } from '../../textConstants.js';
|
|
13
|
-
export const ToolConfirmationMessage = ({ confirmationDetails, config, isFocused = true, availableTerminalHeight, terminalWidth, }) => {
|
|
14
|
-
const {
|
|
14
|
+
export const ToolConfirmationMessage = ({ callId, confirmationDetails, config, isFocused = true, availableTerminalHeight, terminalWidth, }) => {
|
|
15
|
+
const { confirm } = useToolActions();
|
|
15
16
|
const settings = useSettings();
|
|
16
17
|
const allowPermanentApproval = settings.merged.security.enablePermanentToolApproval;
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const getIdeClient = async () => {
|
|
23
|
-
const client = await IdeClient.getInstance();
|
|
24
|
-
if (isMounted) {
|
|
25
|
-
setIdeClient(client);
|
|
26
|
-
setIsDiffingEnabled(client?.isDiffingEnabled() ?? false);
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
30
|
-
getIdeClient();
|
|
31
|
-
}
|
|
32
|
-
return () => {
|
|
33
|
-
isMounted = false;
|
|
34
|
-
};
|
|
35
|
-
}, [config]);
|
|
36
|
-
const handleConfirm = async (outcome) => {
|
|
37
|
-
if (confirmationDetails.type === 'edit') {
|
|
38
|
-
if (config.getIdeMode() && isDiffingEnabled) {
|
|
39
|
-
const cliOutcome = outcome === ToolConfirmationOutcome.Cancel ? 'rejected' : 'accepted';
|
|
40
|
-
await ideClient?.resolveDiffFromCli(confirmationDetails.filePath, cliOutcome);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
44
|
-
onConfirm(outcome);
|
|
45
|
-
};
|
|
18
|
+
const handleConfirm = useCallback((outcome) => {
|
|
19
|
+
void confirm(callId, outcome).catch((error) => {
|
|
20
|
+
debugLogger.error(`Failed to handle tool confirmation for ${callId}:`, error);
|
|
21
|
+
});
|
|
22
|
+
}, [confirm, callId]);
|
|
46
23
|
const isTrustedFolder = config.isTrustedFolder();
|
|
47
24
|
useKeypress((key) => {
|
|
48
25
|
if (!isFocused)
|
|
49
26
|
return;
|
|
50
27
|
if (key.name === 'escape' || (key.ctrl && key.name === 'c')) {
|
|
51
|
-
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
52
28
|
handleConfirm(ToolConfirmationOutcome.Cancel);
|
|
53
29
|
}
|
|
54
30
|
}, { isActive: isFocused });
|
|
55
|
-
const handleSelect = (item) => handleConfirm(item);
|
|
56
|
-
const
|
|
57
|
-
let bodyContent = null;
|
|
58
|
-
let question = '';
|
|
31
|
+
const handleSelect = useCallback((item) => handleConfirm(item), [handleConfirm]);
|
|
32
|
+
const getOptions = useCallback(() => {
|
|
59
33
|
const options = [];
|
|
60
34
|
if (confirmationDetails.type === 'edit') {
|
|
61
35
|
if (!confirmationDetails.isModifying) {
|
|
62
|
-
question = `Apply this change?`;
|
|
63
36
|
options.push({
|
|
64
37
|
label: 'Allow once',
|
|
65
38
|
value: ToolConfirmationOutcome.ProceedOnce,
|
|
@@ -79,7 +52,9 @@ export const ToolConfirmationMessage = ({ confirmationDetails, config, isFocused
|
|
|
79
52
|
});
|
|
80
53
|
}
|
|
81
54
|
}
|
|
82
|
-
if
|
|
55
|
+
// We hide "Modify with external editor" if IDE mode is active, assuming
|
|
56
|
+
// the IDE provides a better interface (diff view) for this.
|
|
57
|
+
if (!config.getIdeMode()) {
|
|
83
58
|
options.push({
|
|
84
59
|
label: 'Modify with external editor',
|
|
85
60
|
value: ToolConfirmationOutcome.ModifyWithEditor,
|
|
@@ -94,13 +69,6 @@ export const ToolConfirmationMessage = ({ confirmationDetails, config, isFocused
|
|
|
94
69
|
}
|
|
95
70
|
}
|
|
96
71
|
else if (confirmationDetails.type === 'exec') {
|
|
97
|
-
const executionProps = confirmationDetails;
|
|
98
|
-
if (executionProps.commands && executionProps.commands.length > 1) {
|
|
99
|
-
question = `Allow execution of ${executionProps.commands.length} commands?`;
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
question = `Allow execution of: '${executionProps.rootCommand}'?`;
|
|
103
|
-
}
|
|
104
72
|
options.push({
|
|
105
73
|
label: 'Allow once',
|
|
106
74
|
value: ToolConfirmationOutcome.ProceedOnce,
|
|
@@ -127,7 +95,6 @@ export const ToolConfirmationMessage = ({ confirmationDetails, config, isFocused
|
|
|
127
95
|
});
|
|
128
96
|
}
|
|
129
97
|
else if (confirmationDetails.type === 'info') {
|
|
130
|
-
question = `Do you want to proceed?`;
|
|
131
98
|
options.push({
|
|
132
99
|
label: 'Allow once',
|
|
133
100
|
value: ToolConfirmationOutcome.ProceedOnce,
|
|
@@ -155,8 +122,6 @@ export const ToolConfirmationMessage = ({ confirmationDetails, config, isFocused
|
|
|
155
122
|
}
|
|
156
123
|
else {
|
|
157
124
|
// mcp tool confirmation
|
|
158
|
-
const mcpProps = confirmationDetails;
|
|
159
|
-
question = `Allow execution of MCP tool "${mcpProps.toolName}" from server "${mcpProps.serverName}"?`;
|
|
160
125
|
options.push({
|
|
161
126
|
label: 'Allow once',
|
|
162
127
|
value: ToolConfirmationOutcome.ProceedOnce,
|
|
@@ -187,28 +152,51 @@ export const ToolConfirmationMessage = ({ confirmationDetails, config, isFocused
|
|
|
187
152
|
key: 'No, suggest changes (esc)',
|
|
188
153
|
});
|
|
189
154
|
}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
155
|
+
return options;
|
|
156
|
+
}, [confirmationDetails, isTrustedFolder, allowPermanentApproval, config]);
|
|
157
|
+
const availableBodyContentHeight = useCallback(() => {
|
|
158
|
+
if (availableTerminalHeight === undefined) {
|
|
159
|
+
return undefined;
|
|
160
|
+
}
|
|
161
|
+
// Calculate the vertical space (in lines) consumed by UI elements
|
|
162
|
+
// surrounding the main body content.
|
|
163
|
+
const PADDING_OUTER_Y = 2; // Main container has `padding={1}` (top & bottom).
|
|
164
|
+
const MARGIN_BODY_BOTTOM = 1; // margin on the body container.
|
|
165
|
+
const HEIGHT_QUESTION = 1; // The question text is one line.
|
|
166
|
+
const MARGIN_QUESTION_BOTTOM = 1; // Margin on the question container.
|
|
167
|
+
const optionsCount = getOptions().length;
|
|
168
|
+
const surroundingElementsHeight = PADDING_OUTER_Y +
|
|
169
|
+
MARGIN_BODY_BOTTOM +
|
|
170
|
+
HEIGHT_QUESTION +
|
|
171
|
+
MARGIN_QUESTION_BOTTOM +
|
|
172
|
+
optionsCount;
|
|
173
|
+
return Math.max(availableTerminalHeight - surroundingElementsHeight, 1);
|
|
174
|
+
}, [availableTerminalHeight, getOptions]);
|
|
175
|
+
const { question, bodyContent, options } = useMemo(() => {
|
|
176
|
+
let bodyContent = null;
|
|
177
|
+
let question = '';
|
|
178
|
+
const options = getOptions();
|
|
179
|
+
if (confirmationDetails.type === 'edit') {
|
|
180
|
+
if (!confirmationDetails.isModifying) {
|
|
181
|
+
question = `Apply this change?`;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
else if (confirmationDetails.type === 'exec') {
|
|
185
|
+
const executionProps = confirmationDetails;
|
|
186
|
+
if (executionProps.commands && executionProps.commands.length > 1) {
|
|
187
|
+
question = `Allow execution of ${executionProps.commands.length} commands?`;
|
|
195
188
|
}
|
|
196
|
-
|
|
197
|
-
|
|
189
|
+
else {
|
|
190
|
+
question = `Allow execution of: '${executionProps.rootCommand}'?`;
|
|
198
191
|
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
const
|
|
206
|
-
|
|
207
|
-
MARGIN_BODY_BOTTOM +
|
|
208
|
-
HEIGHT_QUESTION +
|
|
209
|
-
MARGIN_QUESTION_BOTTOM +
|
|
210
|
-
HEIGHT_OPTIONS;
|
|
211
|
-
return Math.max(availableTerminalHeight - surroundingElementsHeight, 1);
|
|
192
|
+
}
|
|
193
|
+
else if (confirmationDetails.type === 'info') {
|
|
194
|
+
question = `Do you want to proceed?`;
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
// mcp tool confirmation
|
|
198
|
+
const mcpProps = confirmationDetails;
|
|
199
|
+
question = `Allow execution of MCP tool "${mcpProps.toolName}" from server "${mcpProps.serverName}"?`;
|
|
212
200
|
}
|
|
213
201
|
if (confirmationDetails.type === 'edit') {
|
|
214
202
|
if (!confirmationDetails.isModifying) {
|
|
@@ -258,18 +246,15 @@ export const ToolConfirmationMessage = ({ confirmationDetails, config, isFocused
|
|
|
258
246
|
return { question, bodyContent, options };
|
|
259
247
|
}, [
|
|
260
248
|
confirmationDetails,
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
isDiffingEnabled,
|
|
264
|
-
availableTerminalHeight,
|
|
249
|
+
getOptions,
|
|
250
|
+
availableBodyContentHeight,
|
|
265
251
|
terminalWidth,
|
|
266
|
-
allowPermanentApproval,
|
|
267
252
|
]);
|
|
268
253
|
if (confirmationDetails.type === 'edit') {
|
|
269
254
|
if (confirmationDetails.isModifying) {
|
|
270
255
|
return (_jsxs(Box, { width: terminalWidth, borderStyle: "round", borderColor: theme.border.default, justifyContent: "space-around", paddingTop: 1, paddingBottom: 1, overflow: "hidden", children: [_jsx(Text, { color: theme.text.primary, children: "Modify in progress: " }), _jsx(Text, { color: theme.status.success, children: "Save and close external editor to continue" })] }));
|
|
271
256
|
}
|
|
272
257
|
}
|
|
273
|
-
return (_jsxs(Box, { flexDirection: "column", paddingTop: 0, paddingBottom: 1, children: [_jsx(Box, { flexGrow: 1, flexShrink: 1, overflow: "hidden", marginBottom: 1, children: bodyContent }), _jsx(Box, { marginBottom: 1, flexShrink: 0, children: _jsx(Text, { color: theme.text.primary, children: question }) }), _jsx(Box, { flexShrink: 0, children: _jsx(RadioButtonSelect, { items: options, onSelect: handleSelect, isFocused: isFocused }) })] }));
|
|
258
|
+
return (_jsxs(Box, { flexDirection: "column", paddingTop: 0, paddingBottom: 1, children: [_jsx(Box, { flexGrow: 1, flexShrink: 1, overflow: "hidden", marginBottom: 1, children: _jsx(MaxSizedBox, { maxHeight: availableBodyContentHeight(), maxWidth: terminalWidth, overflowDirection: "top", children: bodyContent }) }), _jsx(Box, { marginBottom: 1, flexShrink: 0, children: _jsx(Text, { color: theme.text.primary, children: question }) }), _jsx(Box, { flexShrink: 0, children: _jsx(RadioButtonSelect, { items: options, onSelect: handleSelect, isFocused: isFocused }) })] }));
|
|
274
259
|
};
|
|
275
260
|
//# sourceMappingURL=ToolConfirmationMessage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolConfirmationMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolConfirmationMessage.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ToolConfirmationMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolConfirmationMessage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,20 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
7
7
|
import { describe, it, expect, vi } from 'vitest';
|
|
8
8
|
import { ToolConfirmationMessage } from './ToolConfirmationMessage.js';
|
|
9
9
|
import { renderWithProviders, createMockSettings, } from '../../../test-utils/render.js';
|
|
10
|
+
import { useToolActions } from '../../contexts/ToolActionsContext.js';
|
|
11
|
+
vi.mock('../../contexts/ToolActionsContext.js', async (importOriginal) => {
|
|
12
|
+
const actual = await importOriginal();
|
|
13
|
+
return {
|
|
14
|
+
...actual,
|
|
15
|
+
useToolActions: vi.fn(),
|
|
16
|
+
};
|
|
17
|
+
});
|
|
10
18
|
describe('ToolConfirmationMessage', () => {
|
|
19
|
+
const mockConfirm = vi.fn();
|
|
20
|
+
vi.mocked(useToolActions).mockReturnValue({
|
|
21
|
+
confirm: mockConfirm,
|
|
22
|
+
cancel: vi.fn(),
|
|
23
|
+
});
|
|
11
24
|
const mockConfig = {
|
|
12
25
|
isTrustedFolder: () => true,
|
|
13
26
|
getIdeMode: () => false,
|
|
@@ -20,7 +33,7 @@ describe('ToolConfirmationMessage', () => {
|
|
|
20
33
|
urls: ['https://example.com'],
|
|
21
34
|
onConfirm: vi.fn(),
|
|
22
35
|
};
|
|
23
|
-
const { lastFrame } = renderWithProviders(_jsx(ToolConfirmationMessage, { confirmationDetails: confirmationDetails, config: mockConfig, availableTerminalHeight: 30, terminalWidth: 80 }));
|
|
36
|
+
const { lastFrame } = renderWithProviders(_jsx(ToolConfirmationMessage, { callId: "test-call-id", confirmationDetails: confirmationDetails, config: mockConfig, availableTerminalHeight: 30, terminalWidth: 80 }));
|
|
24
37
|
expect(lastFrame()).toMatchSnapshot();
|
|
25
38
|
});
|
|
26
39
|
it('should display urls if prompt and url are different', () => {
|
|
@@ -33,7 +46,7 @@ describe('ToolConfirmationMessage', () => {
|
|
|
33
46
|
],
|
|
34
47
|
onConfirm: vi.fn(),
|
|
35
48
|
};
|
|
36
|
-
const { lastFrame } = renderWithProviders(_jsx(ToolConfirmationMessage, { confirmationDetails: confirmationDetails, config: mockConfig, availableTerminalHeight: 30, terminalWidth: 80 }));
|
|
49
|
+
const { lastFrame } = renderWithProviders(_jsx(ToolConfirmationMessage, { callId: "test-call-id", confirmationDetails: confirmationDetails, config: mockConfig, availableTerminalHeight: 30, terminalWidth: 80 }));
|
|
37
50
|
expect(lastFrame()).toMatchSnapshot();
|
|
38
51
|
});
|
|
39
52
|
it('should display multiple commands for exec type when provided', () => {
|
|
@@ -46,7 +59,7 @@ describe('ToolConfirmationMessage', () => {
|
|
|
46
59
|
commands: ['echo "hello"', 'ls -la', 'whoami'], // Multi-command list
|
|
47
60
|
onConfirm: vi.fn(),
|
|
48
61
|
};
|
|
49
|
-
const { lastFrame } = renderWithProviders(_jsx(ToolConfirmationMessage, { confirmationDetails: confirmationDetails, config: mockConfig, availableTerminalHeight: 30, terminalWidth: 80 }));
|
|
62
|
+
const { lastFrame } = renderWithProviders(_jsx(ToolConfirmationMessage, { callId: "test-call-id", confirmationDetails: confirmationDetails, config: mockConfig, availableTerminalHeight: 30, terminalWidth: 80 }));
|
|
50
63
|
const output = lastFrame();
|
|
51
64
|
expect(output).toContain('echo "hello"');
|
|
52
65
|
expect(output).toContain('ls -la');
|
|
@@ -114,7 +127,7 @@ describe('ToolConfirmationMessage', () => {
|
|
|
114
127
|
isTrustedFolder: () => true,
|
|
115
128
|
getIdeMode: () => false,
|
|
116
129
|
};
|
|
117
|
-
const { lastFrame } = renderWithProviders(_jsx(ToolConfirmationMessage, { confirmationDetails: details, config: mockConfig, availableTerminalHeight: 30, terminalWidth: 80 }));
|
|
130
|
+
const { lastFrame } = renderWithProviders(_jsx(ToolConfirmationMessage, { callId: "test-call-id", confirmationDetails: details, config: mockConfig, availableTerminalHeight: 30, terminalWidth: 80 }));
|
|
118
131
|
expect(lastFrame()).toMatchSnapshot();
|
|
119
132
|
});
|
|
120
133
|
it('should NOT show "allow always" when folder is untrusted', () => {
|
|
@@ -122,7 +135,7 @@ describe('ToolConfirmationMessage', () => {
|
|
|
122
135
|
isTrustedFolder: () => false,
|
|
123
136
|
getIdeMode: () => false,
|
|
124
137
|
};
|
|
125
|
-
const { lastFrame } = renderWithProviders(_jsx(ToolConfirmationMessage, { confirmationDetails: details, config: mockConfig, availableTerminalHeight: 30, terminalWidth: 80 }));
|
|
138
|
+
const { lastFrame } = renderWithProviders(_jsx(ToolConfirmationMessage, { callId: "test-call-id", confirmationDetails: details, config: mockConfig, availableTerminalHeight: 30, terminalWidth: 80 }));
|
|
126
139
|
expect(lastFrame()).toMatchSnapshot();
|
|
127
140
|
});
|
|
128
141
|
});
|
|
@@ -143,7 +156,7 @@ describe('ToolConfirmationMessage', () => {
|
|
|
143
156
|
isTrustedFolder: () => true,
|
|
144
157
|
getIdeMode: () => false,
|
|
145
158
|
};
|
|
146
|
-
const { lastFrame } = renderWithProviders(_jsx(ToolConfirmationMessage, { confirmationDetails: editConfirmationDetails, config: mockConfig, availableTerminalHeight: 30, terminalWidth: 80 }), {
|
|
159
|
+
const { lastFrame } = renderWithProviders(_jsx(ToolConfirmationMessage, { callId: "test-call-id", confirmationDetails: editConfirmationDetails, config: mockConfig, availableTerminalHeight: 30, terminalWidth: 80 }), {
|
|
147
160
|
settings: createMockSettings({
|
|
148
161
|
security: { enablePermanentToolApproval: false },
|
|
149
162
|
}),
|
|
@@ -155,7 +168,7 @@ describe('ToolConfirmationMessage', () => {
|
|
|
155
168
|
isTrustedFolder: () => true,
|
|
156
169
|
getIdeMode: () => false,
|
|
157
170
|
};
|
|
158
|
-
const { lastFrame } = renderWithProviders(_jsx(ToolConfirmationMessage, { confirmationDetails: editConfirmationDetails, config: mockConfig, availableTerminalHeight: 30, terminalWidth: 80 }), {
|
|
171
|
+
const { lastFrame } = renderWithProviders(_jsx(ToolConfirmationMessage, { callId: "test-call-id", confirmationDetails: editConfirmationDetails, config: mockConfig, availableTerminalHeight: 30, terminalWidth: 80 }), {
|
|
159
172
|
settings: createMockSettings({
|
|
160
173
|
security: { enablePermanentToolApproval: true },
|
|
161
174
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolConfirmationMessage.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolConfirmationMessage.test.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAKvE,OAAO,EACL,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolConfirmationMessage.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolConfirmationMessage.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,16 +6,28 @@ import { ToolMessage } from './ToolMessage.js';
|
|
|
6
6
|
import { ShellToolMessage } from './ShellToolMessage.js';
|
|
7
7
|
import { ToolConfirmationMessage } from './ToolConfirmationMessage.js';
|
|
8
8
|
import { theme } from '../../semantic-colors.js';
|
|
9
|
-
import { SHELL_COMMAND_NAME, SHELL_NAME } from '../../constants.js';
|
|
10
|
-
import { SHELL_TOOL_NAME } from '@google/gemini-cli-core';
|
|
11
9
|
import { useConfig } from '../../contexts/ConfigContext.js';
|
|
10
|
+
import { isShellTool, isThisShellFocused } from './ToolShared.js';
|
|
12
11
|
// Main component renders the border and maps the tools using ToolMessage
|
|
13
12
|
export const ToolGroupMessage = ({ toolCalls, availableTerminalHeight, terminalWidth, isFocused = true, activeShellPtyId, embeddedShellFocused, }) => {
|
|
14
|
-
const isEmbeddedShellFocused = embeddedShellFocused &&
|
|
15
|
-
toolCalls.some((t) => t.ptyId === activeShellPtyId && t.status === ToolCallStatus.Executing);
|
|
16
|
-
const hasPending = !toolCalls.every((t) => t.status === ToolCallStatus.Success);
|
|
17
13
|
const config = useConfig();
|
|
18
|
-
const
|
|
14
|
+
const isEventDriven = config.isEventDrivenSchedulerEnabled();
|
|
15
|
+
// If Event-Driven Scheduler is enabled, we HIDE tools that are still in
|
|
16
|
+
// pre-execution states (Confirming, Pending) from the History log.
|
|
17
|
+
// They live in the Global Queue or wait for their turn.
|
|
18
|
+
const visibleToolCalls = useMemo(() => {
|
|
19
|
+
if (!isEventDriven) {
|
|
20
|
+
return toolCalls;
|
|
21
|
+
}
|
|
22
|
+
// Only show tools that are actually running or finished.
|
|
23
|
+
// We explicitly exclude Pending and Confirming to ensure they only
|
|
24
|
+
// appear in the Global Queue until they are approved and start executing.
|
|
25
|
+
return toolCalls.filter((t) => t.status !== ToolCallStatus.Pending &&
|
|
26
|
+
t.status !== ToolCallStatus.Confirming);
|
|
27
|
+
}, [toolCalls, isEventDriven]);
|
|
28
|
+
const isEmbeddedShellFocused = visibleToolCalls.some((t) => isThisShellFocused(t.name, t.status, t.ptyId, activeShellPtyId, embeddedShellFocused));
|
|
29
|
+
const hasPending = !visibleToolCalls.every((t) => t.status === ToolCallStatus.Success);
|
|
30
|
+
const isShellCommand = toolCalls.some((t) => isShellTool(t.name));
|
|
19
31
|
const borderColor = (isShellCommand && hasPending) || isEmbeddedShellFocused
|
|
20
32
|
? theme.ui.symbol
|
|
21
33
|
: hasPending
|
|
@@ -23,16 +35,22 @@ export const ToolGroupMessage = ({ toolCalls, availableTerminalHeight, terminalW
|
|
|
23
35
|
: theme.border.default;
|
|
24
36
|
const borderDimColor = hasPending && (!isShellCommand || !isEmbeddedShellFocused);
|
|
25
37
|
const staticHeight = /* border */ 2 + /* marginBottom */ 1;
|
|
26
|
-
//
|
|
27
|
-
|
|
28
|
-
|
|
38
|
+
// Inline confirmations are ONLY used when the Global Queue is disabled.
|
|
39
|
+
const toolAwaitingApproval = useMemo(() => isEventDriven
|
|
40
|
+
? undefined
|
|
41
|
+
: toolCalls.find((tc) => tc.status === ToolCallStatus.Confirming), [toolCalls, isEventDriven]);
|
|
42
|
+
// If all tools are hidden (e.g. group only contains confirming or pending tools),
|
|
43
|
+
// render nothing in the history log.
|
|
44
|
+
if (visibleToolCalls.length === 0) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
29
47
|
let countToolCallsWithResults = 0;
|
|
30
|
-
for (const tool of
|
|
48
|
+
for (const tool of visibleToolCalls) {
|
|
31
49
|
if (tool.resultDisplay !== undefined && tool.resultDisplay !== '') {
|
|
32
50
|
countToolCallsWithResults++;
|
|
33
51
|
}
|
|
34
52
|
}
|
|
35
|
-
const countOneLineToolCalls =
|
|
53
|
+
const countOneLineToolCalls = visibleToolCalls.length - countToolCallsWithResults;
|
|
36
54
|
const availableTerminalHeightPerToolMessage = availableTerminalHeight
|
|
37
55
|
? Math.max(Math.floor((availableTerminalHeight - staticHeight - countOneLineToolCalls) /
|
|
38
56
|
Math.max(1, countToolCallsWithResults)), 1)
|
|
@@ -48,12 +66,10 @@ export const ToolGroupMessage = ({ toolCalls, availableTerminalHeight, terminalW
|
|
|
48
66
|
Ink to render the border of the box incorrectly and span multiple lines and even
|
|
49
67
|
cause tearing.
|
|
50
68
|
*/
|
|
51
|
-
width: terminalWidth, children: [
|
|
69
|
+
width: terminalWidth, children: [visibleToolCalls.map((tool, index) => {
|
|
52
70
|
const isConfirming = toolAwaitingApproval?.callId === tool.callId;
|
|
53
71
|
const isFirst = index === 0;
|
|
54
|
-
const
|
|
55
|
-
tool.name === SHELL_NAME ||
|
|
56
|
-
tool.name === SHELL_TOOL_NAME;
|
|
72
|
+
const isShellToolCall = isShellTool(tool.name);
|
|
57
73
|
const commonProps = {
|
|
58
74
|
...tool,
|
|
59
75
|
availableTerminalHeight: availableTerminalHeightPerToolMessage,
|
|
@@ -67,14 +83,14 @@ export const ToolGroupMessage = ({ toolCalls, availableTerminalHeight, terminalW
|
|
|
67
83
|
borderColor,
|
|
68
84
|
borderDimColor,
|
|
69
85
|
};
|
|
70
|
-
return (_jsxs(Box, { flexDirection: "column", minHeight: 1, width: terminalWidth, children: [
|
|
86
|
+
return (_jsxs(Box, { flexDirection: "column", minHeight: 1, width: terminalWidth, children: [isShellToolCall ? (_jsx(ShellToolMessage, { ...commonProps, activeShellPtyId: activeShellPtyId, embeddedShellFocused: embeddedShellFocused, config: config })) : (_jsx(ToolMessage, { ...commonProps })), _jsxs(Box, { borderLeft: true, borderRight: true, borderTop: false, borderBottom: false, borderColor: borderColor, borderDimColor: borderDimColor, flexDirection: "column", borderStyle: "round", paddingLeft: 1, paddingRight: 1, children: [tool.status === ToolCallStatus.Confirming &&
|
|
71
87
|
isConfirming &&
|
|
72
|
-
tool.confirmationDetails && (_jsx(ToolConfirmationMessage, { confirmationDetails: tool.confirmationDetails, config: config, isFocused: isFocused, availableTerminalHeight: availableTerminalHeightPerToolMessage, terminalWidth: terminalWidth - 4 })), tool.outputFile && (_jsx(Box, { children: _jsxs(Text, { color: theme.text.primary, children: ["Output too long and was saved to: ", tool.outputFile] }) }))] })] }, tool.callId));
|
|
88
|
+
tool.confirmationDetails && (_jsx(ToolConfirmationMessage, { callId: tool.callId, confirmationDetails: tool.confirmationDetails, config: config, isFocused: isFocused, availableTerminalHeight: availableTerminalHeightPerToolMessage, terminalWidth: terminalWidth - 4 })), tool.outputFile && (_jsx(Box, { children: _jsxs(Text, { color: theme.text.primary, children: ["Output too long and was saved to: ", tool.outputFile] }) }))] })] }, tool.callId));
|
|
73
89
|
}),
|
|
74
90
|
/*
|
|
75
91
|
We have to keep the bottom border separate so it doesn't get
|
|
76
92
|
drawn over by the sticky header directly inside it.
|
|
77
93
|
*/
|
|
78
|
-
|
|
94
|
+
visibleToolCalls.length > 0 && (_jsx(Box, { height: 0, width: terminalWidth, borderLeft: true, borderRight: true, borderTop: false, borderBottom: true, borderColor: borderColor, borderDimColor: borderDimColor, borderStyle: "round" }))] }));
|
|
79
95
|
};
|
|
80
96
|
//# sourceMappingURL=ToolGroupMessage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolGroupMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolGroupMessage.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ToolGroupMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolGroupMessage.tsx"],"names":[],"mappings":"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"}
|