@machina.ai/cell-cli 1.0.17-rc1 → 1.0.21-rc2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +10 -8
- package/dist/src/commands/mcp/add.d.ts +7 -0
- package/dist/src/commands/mcp/add.js +166 -0
- package/dist/src/commands/mcp/add.js.map +1 -0
- package/dist/src/commands/mcp/list.d.ts +8 -0
- package/dist/src/commands/mcp/list.js +110 -0
- package/dist/src/commands/mcp/list.js.map +1 -0
- package/dist/src/commands/mcp/remove.d.ts +7 -0
- package/dist/src/commands/mcp/remove.js +44 -0
- package/dist/src/commands/mcp/remove.js.map +1 -0
- package/dist/src/commands/mcp.d.ts +7 -0
- package/dist/src/commands/mcp.js +23 -0
- package/dist/src/commands/mcp.js.map +1 -0
- package/dist/src/config/auth.test.d.ts +6 -0
- package/dist/src/config/auth.test.js +28 -0
- package/dist/src/config/auth.test.js.map +1 -0
- package/dist/src/config/config.d.ts +3 -3
- package/dist/src/config/config.js +138 -69
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/keyBindings.d.ts +66 -0
- package/dist/src/config/keyBindings.js +141 -0
- package/dist/src/config/keyBindings.js.map +1 -0
- package/dist/src/config/keyBindings.test.d.ts +6 -0
- package/dist/src/config/keyBindings.test.js +51 -0
- package/dist/src/config/keyBindings.test.js.map +1 -0
- package/dist/src/config/sandboxConfig.js +3 -3
- package/dist/src/config/sandboxConfig.js.map +1 -1
- package/dist/src/config/settings.d.ts +3 -54
- package/dist/src/config/settings.js +58 -38
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +533 -0
- package/dist/src/config/settingsSchema.js +507 -0
- package/dist/src/config/settingsSchema.js.map +1 -0
- package/dist/src/config/settingsSchema.test.d.ts +6 -0
- package/dist/src/config/settingsSchema.test.js +195 -0
- package/dist/src/config/settingsSchema.test.js.map +1 -0
- package/dist/src/config/trustedFolders.d.ts +37 -0
- package/dist/src/config/trustedFolders.js +118 -0
- package/dist/src/config/trustedFolders.js.map +1 -0
- package/dist/src/config/trustedFolders.test.d.ts +6 -0
- package/dist/src/config/trustedFolders.test.js +160 -0
- package/dist/src/config/trustedFolders.test.js.map +1 -0
- package/dist/src/gemini.js +54 -37
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/gemini.test.d.ts +6 -0
- package/dist/src/gemini.test.js +193 -0
- package/dist/src/gemini.test.js.map +1 -0
- package/dist/src/generated/git-commit.d.ts +2 -1
- package/dist/src/generated/git-commit.js +2 -1
- package/dist/src/generated/git-commit.js.map +1 -1
- package/dist/src/nonInteractiveCli.js +22 -17
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.js +5 -2
- package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.test.d.ts +6 -0
- package/dist/src/services/BuiltinCommandLoader.test.js +108 -0
- package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -0
- package/dist/src/services/CommandService.test.d.ts +6 -0
- package/dist/src/services/CommandService.test.js +232 -0
- package/dist/src/services/CommandService.test.js.map +1 -0
- package/dist/src/services/FileCommandLoader.js +10 -8
- package/dist/src/services/FileCommandLoader.js.map +1 -1
- package/dist/src/services/McpPromptLoader.js +3 -3
- package/dist/src/services/McpPromptLoader.js.map +1 -1
- package/dist/src/services/prompt-processors/argumentProcessor.d.ts +2 -7
- package/dist/src/services/prompt-processors/argumentProcessor.js +2 -10
- package/dist/src/services/prompt-processors/argumentProcessor.js.map +1 -1
- package/dist/src/services/prompt-processors/shellProcessor.d.ts +16 -13
- package/dist/src/services/prompt-processors/shellProcessor.js +133 -40
- package/dist/src/services/prompt-processors/shellProcessor.js.map +1 -1
- package/dist/src/services/prompt-processors/types.d.ts +2 -0
- package/dist/src/services/prompt-processors/types.js +2 -0
- package/dist/src/services/prompt-processors/types.js.map +1 -1
- package/dist/src/test-utils/customMatchers.d.ts +14 -0
- package/dist/src/test-utils/customMatchers.js +46 -0
- package/dist/src/test-utils/customMatchers.js.map +1 -0
- package/dist/src/test-utils/mockCommandContext.d.ts +18 -0
- package/dist/src/test-utils/mockCommandContext.js +86 -0
- package/dist/src/test-utils/mockCommandContext.js.map +1 -0
- package/dist/src/test-utils/mockCommandContext.test.d.ts +6 -0
- package/dist/src/test-utils/mockCommandContext.test.js +51 -0
- package/dist/src/test-utils/mockCommandContext.test.js.map +1 -0
- package/dist/src/test-utils/render.d.ts +8 -0
- package/dist/src/test-utils/render.js +10 -0
- package/dist/src/test-utils/render.js.map +1 -0
- package/dist/src/ui/App.js +146 -37
- package/dist/src/ui/App.js.map +1 -1
- package/dist/src/ui/IdeIntegrationNudge.d.ts +16 -0
- package/dist/src/ui/IdeIntegrationNudge.js +52 -0
- package/dist/src/ui/IdeIntegrationNudge.js.map +1 -0
- package/dist/src/ui/commands/aboutCommand.js +9 -5
- package/dist/src/ui/commands/aboutCommand.js.map +1 -1
- package/dist/src/ui/commands/bugCommand.js +13 -5
- package/dist/src/ui/commands/bugCommand.js.map +1 -1
- package/dist/src/ui/commands/chatCommand.js +23 -6
- package/dist/src/ui/commands/chatCommand.js.map +1 -1
- package/dist/src/ui/commands/directoryCommand.js +2 -4
- package/dist/src/ui/commands/directoryCommand.js.map +1 -1
- package/dist/src/ui/commands/docsCommand.js +1 -1
- package/dist/src/ui/commands/docsCommand.js.map +1 -1
- package/dist/src/ui/commands/ideCommand.js +110 -42
- package/dist/src/ui/commands/ideCommand.js.map +1 -1
- package/dist/src/ui/commands/mcpCommand.js +7 -3
- package/dist/src/ui/commands/mcpCommand.js.map +1 -1
- package/dist/src/ui/commands/settingsCommand.d.ts +7 -0
- package/dist/src/ui/commands/settingsCommand.js +16 -0
- package/dist/src/ui/commands/settingsCommand.js.map +1 -0
- package/dist/src/ui/commands/setupGithubCommand.js +86 -19
- package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
- package/dist/src/ui/commands/setupGithubCommand.test.d.ts +6 -0
- package/dist/src/ui/commands/setupGithubCommand.test.js +74 -0
- package/dist/src/ui/commands/setupGithubCommand.test.js.map +1 -0
- package/dist/src/ui/commands/terminalSetupCommand.d.ts +13 -0
- package/dist/src/ui/commands/terminalSetupCommand.js +41 -0
- package/dist/src/ui/commands/terminalSetupCommand.js.map +1 -0
- package/dist/src/ui/commands/types.d.ts +14 -2
- 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 +1 -1
- package/dist/src/ui/components/AboutBox.js.map +1 -1
- package/dist/src/ui/components/AsciiArt.d.ts +2 -1
- package/dist/src/ui/components/AsciiArt.js +22 -11
- package/dist/src/ui/components/AsciiArt.js.map +1 -1
- package/dist/src/ui/components/AuthDialog.js +12 -6
- package/dist/src/ui/components/AuthDialog.js.map +1 -1
- package/dist/src/ui/components/AuthDialog.test.d.ts +6 -0
- package/dist/src/ui/components/AuthDialog.test.js +114 -0
- package/dist/src/ui/components/AuthDialog.test.js.map +1 -0
- package/dist/src/ui/components/AuthInProgress.js +5 -4
- package/dist/src/ui/components/AuthInProgress.js.map +1 -1
- package/dist/src/ui/components/ContextSummaryDisplay.js +22 -25
- package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.d.ts +9 -0
- package/dist/src/ui/components/ContextUsageDisplay.js +14 -0
- package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -0
- package/dist/src/ui/components/DebugProfiler.js +5 -4
- package/dist/src/ui/components/DebugProfiler.js.map +1 -1
- package/dist/src/ui/components/EditorSettingsDialog.js +6 -5
- package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
- package/dist/src/ui/components/FolderTrustDialog.d.ts +16 -0
- package/dist/src/ui/components/FolderTrustDialog.js +39 -0
- package/dist/src/ui/components/FolderTrustDialog.js.map +1 -0
- package/dist/src/ui/components/FolderTrustDialog.test.d.ts +6 -0
- package/dist/src/ui/components/FolderTrustDialog.test.js +26 -0
- package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -0
- package/dist/src/ui/components/Footer.d.ts +1 -0
- package/dist/src/ui/components/Footer.js +16 -6
- package/dist/src/ui/components/Footer.js.map +1 -1
- package/dist/src/ui/components/Header.d.ts +0 -1
- package/dist/src/ui/components/Header.js +13 -5
- package/dist/src/ui/components/Header.js.map +1 -1
- package/dist/src/ui/components/Header.test.d.ts +6 -0
- package/dist/src/ui/components/Header.test.js +44 -0
- package/dist/src/ui/components/Header.test.js.map +1 -0
- package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.test.d.ts +6 -0
- package/dist/src/ui/components/HistoryItemDisplay.test.js +91 -0
- package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -0
- package/dist/src/ui/components/InputPrompt.d.ts +1 -0
- package/dist/src/ui/components/InputPrompt.js +98 -35
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.js +10 -5
- package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.test.d.ts +6 -0
- package/dist/src/ui/components/LoadingIndicator.test.js +190 -0
- package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -0
- package/dist/src/ui/components/SettingsDialog.d.ts +14 -0
- package/dist/src/ui/components/SettingsDialog.js +519 -0
- package/dist/src/ui/components/SettingsDialog.js.map +1 -0
- package/dist/src/ui/components/SettingsDialog.test.d.ts +6 -0
- package/dist/src/ui/components/SettingsDialog.test.js +568 -0
- package/dist/src/ui/components/SettingsDialog.test.js.map +1 -0
- package/dist/src/ui/components/ShellConfirmationDialog.js +7 -5
- package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
- package/dist/src/ui/components/ShellConfirmationDialog.test.d.ts +6 -0
- package/dist/src/ui/components/ShellConfirmationDialog.test.js +40 -0
- package/dist/src/ui/components/ShellConfirmationDialog.test.js.map +1 -0
- package/dist/src/ui/components/StatsDisplay.js +8 -7
- package/dist/src/ui/components/StatsDisplay.js.map +1 -1
- package/dist/src/ui/components/SuggestionsDisplay.js +1 -1
- package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
- package/dist/src/ui/components/ThemeDialog.js +10 -20
- package/dist/src/ui/components/ThemeDialog.js.map +1 -1
- package/dist/src/ui/components/messages/DiffRenderer.js +10 -1
- package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
- package/dist/src/ui/components/messages/DiffRenderer.test.d.ts +6 -0
- package/dist/src/ui/components/messages/DiffRenderer.test.js +239 -0
- package/dist/src/ui/components/messages/DiffRenderer.test.js.map +1 -0
- package/dist/src/ui/components/messages/InfoMessage.js +2 -1
- package/dist/src/ui/components/messages/InfoMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +36 -14
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.d.ts +6 -0
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +37 -0
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -0
- package/dist/src/ui/components/messages/ToolMessage.test.d.ts +6 -0
- package/dist/src/ui/components/messages/ToolMessage.test.js +118 -0
- package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -0
- package/dist/src/ui/components/shared/MaxSizedBox.js +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
- package/dist/src/ui/components/shared/MaxSizedBox.test.d.ts +6 -0
- package/dist/src/ui/components/shared/MaxSizedBox.test.js +154 -0
- package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -0
- package/dist/src/ui/components/shared/RadioButtonSelect.js +11 -9
- package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.test.d.ts +6 -0
- package/dist/src/ui/components/shared/RadioButtonSelect.test.js +111 -0
- package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +1 -0
- package/dist/src/ui/components/shared/text-buffer.d.ts +17 -4
- package/dist/src/ui/components/shared/text-buffer.js +262 -80
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
- package/dist/src/ui/components/shared/vim-buffer-actions.js +139 -152
- package/dist/src/ui/components/shared/vim-buffer-actions.js.map +1 -1
- package/dist/src/ui/contexts/KeypressContext.d.ts +30 -0
- package/dist/src/ui/contexts/KeypressContext.js +309 -0
- package/dist/src/ui/contexts/KeypressContext.js.map +1 -0
- package/dist/src/ui/contexts/KeypressContext.test.d.ts +6 -0
- package/dist/src/ui/contexts/KeypressContext.test.js +219 -0
- package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -0
- package/dist/src/ui/contexts/SessionContext.d.ts +3 -0
- package/dist/src/ui/contexts/SessionContext.js +2 -1
- package/dist/src/ui/contexts/SessionContext.js.map +1 -1
- package/dist/src/ui/contexts/SettingsContext.d.ts +9 -0
- package/dist/src/ui/contexts/SettingsContext.js +15 -0
- package/dist/src/ui/contexts/SettingsContext.js.map +1 -0
- package/dist/src/ui/hooks/atCommandProcessor.js +16 -13
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.test.d.ts +6 -0
- package/dist/src/ui/hooks/atCommandProcessor.test.js +809 -0
- package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -0
- package/dist/src/ui/hooks/shellCommandProcessor.test.d.ts +6 -0
- package/dist/src/ui/hooks/shellCommandProcessor.test.js +328 -0
- package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -0
- package/dist/src/ui/hooks/slashCommandProcessor.d.ts +6 -2
- package/dist/src/ui/hooks/slashCommandProcessor.js +121 -57
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/useAtCompletion.d.ts +23 -0
- package/dist/src/ui/hooks/useAtCompletion.js +178 -0
- package/dist/src/ui/hooks/useAtCompletion.js.map +1 -0
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js +5 -5
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.d.ts +6 -0
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +191 -0
- package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -0
- package/dist/src/ui/hooks/useCommandCompletion.d.ts +6 -1
- package/dist/src/ui/hooks/useCommandCompletion.js +95 -383
- package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useEditorSettings.test.d.ts +6 -0
- package/dist/src/ui/hooks/useEditorSettings.test.js +164 -0
- package/dist/src/ui/hooks/useEditorSettings.test.js.map +1 -0
- package/dist/src/ui/hooks/useFocus.d.ts +4 -0
- package/dist/src/ui/hooks/useFocus.js +4 -4
- package/dist/src/ui/hooks/useFocus.js.map +1 -1
- package/dist/src/ui/hooks/useFolderTrust.d.ts +12 -0
- package/dist/src/ui/hooks/useFolderTrust.js +55 -0
- package/dist/src/ui/hooks/useFolderTrust.js.map +1 -0
- package/dist/src/ui/hooks/useGeminiStream.d.ts +2 -1
- package/dist/src/ui/hooks/useGeminiStream.js +35 -22
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useGitBranchName.test.d.ts +6 -0
- package/dist/src/ui/hooks/useGitBranchName.test.js +175 -0
- package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -0
- package/dist/src/ui/hooks/useHistoryManager.test.d.ts +6 -0
- package/dist/src/ui/hooks/useHistoryManager.test.js +171 -0
- package/dist/src/ui/hooks/useHistoryManager.test.js.map +1 -0
- package/dist/src/ui/hooks/useInputHistory.test.d.ts +6 -0
- package/dist/src/ui/hooks/useInputHistory.test.js +207 -0
- package/dist/src/ui/hooks/useInputHistory.test.js.map +1 -0
- package/dist/src/ui/hooks/useKeypress.d.ts +4 -16
- package/dist/src/ui/hooks/useKeypress.js +8 -140
- package/dist/src/ui/hooks/useKeypress.js.map +1 -1
- package/dist/src/ui/hooks/useKittyKeyboardProtocol.d.ts +15 -0
- package/dist/src/ui/hooks/useKittyKeyboardProtocol.js +20 -0
- package/dist/src/ui/hooks/useKittyKeyboardProtocol.js.map +1 -0
- package/dist/src/ui/hooks/useLoadingIndicator.test.d.ts +6 -0
- package/dist/src/ui/hooks/useLoadingIndicator.test.js +91 -0
- package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -0
- package/dist/src/ui/hooks/useMessageQueue.d.ts +22 -0
- package/dist/src/ui/hooks/useMessageQueue.js +49 -0
- package/dist/src/ui/hooks/useMessageQueue.js.map +1 -0
- package/dist/src/ui/hooks/useMessageQueue.test.d.ts +6 -0
- package/dist/src/ui/hooks/useMessageQueue.test.js +158 -0
- package/dist/src/ui/hooks/useMessageQueue.test.js.map +1 -0
- package/dist/src/ui/hooks/usePhraseCycler.js +2 -5
- package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
- package/dist/src/ui/hooks/usePrivacySettings.js +6 -2
- package/dist/src/ui/hooks/usePrivacySettings.js.map +1 -1
- package/dist/src/ui/hooks/usePrivacySettings.test.d.ts +6 -0
- package/dist/src/ui/hooks/usePrivacySettings.test.js +154 -0
- package/dist/src/ui/hooks/usePrivacySettings.test.js.map +1 -0
- package/dist/src/ui/hooks/useReactToolScheduler.d.ts +1 -1
- package/dist/src/ui/hooks/useReactToolScheduler.js +18 -16
- package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
- package/dist/src/ui/hooks/useReverseSearchCompletion.js +4 -2
- package/dist/src/ui/hooks/useReverseSearchCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useReverseSearchCompletion.test.d.ts +6 -0
- package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +163 -0
- package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +1 -0
- package/dist/src/ui/hooks/useSettingsCommand.d.ts +10 -0
- package/dist/src/ui/hooks/useSettingsCommand.js +21 -0
- package/dist/src/ui/hooks/useSettingsCommand.js.map +1 -0
- package/dist/src/ui/hooks/useShellHistory.test.d.ts +6 -0
- package/dist/src/ui/hooks/useShellHistory.test.js +159 -0
- package/dist/src/ui/hooks/useShellHistory.test.js.map +1 -0
- package/dist/src/ui/hooks/useSlashCompletion.d.ts +20 -0
- package/dist/src/ui/hooks/useSlashCompletion.js +135 -0
- package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -0
- package/dist/src/ui/hooks/useSlashCompletion.test.d.ts +6 -0
- package/dist/src/ui/hooks/useSlashCompletion.test.js +272 -0
- package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -0
- package/dist/src/ui/hooks/useThemeCommand.js +1 -1
- package/dist/src/ui/hooks/useThemeCommand.js.map +1 -1
- package/dist/src/ui/hooks/useTimer.test.d.ts +6 -0
- package/dist/src/ui/hooks/useTimer.test.js +90 -0
- package/dist/src/ui/hooks/useTimer.test.js.map +1 -0
- package/dist/src/ui/hooks/useToolScheduler.test.d.ts +6 -0
- package/dist/src/ui/hooks/useToolScheduler.test.js +846 -0
- package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -0
- package/dist/src/ui/hooks/vim.js +13 -4
- package/dist/src/ui/hooks/vim.js.map +1 -1
- package/dist/src/ui/keyMatchers.d.ts +26 -0
- package/dist/src/ui/keyMatchers.js +68 -0
- package/dist/src/ui/keyMatchers.js.map +1 -0
- package/dist/src/ui/keyMatchers.test.d.ts +6 -0
- package/dist/src/ui/keyMatchers.test.js +276 -0
- package/dist/src/ui/keyMatchers.test.js.map +1 -0
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +5 -4
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +1 -1
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +5 -4
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js.map +1 -1
- package/dist/src/ui/privacy/GeminiPrivacyNotice.js +5 -4
- package/dist/src/ui/privacy/GeminiPrivacyNotice.js.map +1 -1
- package/dist/src/ui/semantic-colors.d.ts +7 -0
- package/dist/src/ui/semantic-colors.js +24 -0
- package/dist/src/ui/semantic-colors.js.map +1 -0
- package/dist/src/ui/themes/ansi-light.js +2 -1
- package/dist/src/ui/themes/ansi-light.js.map +1 -1
- package/dist/src/ui/themes/ansi.js +2 -1
- package/dist/src/ui/themes/ansi.js.map +1 -1
- package/dist/src/ui/themes/atom-one-dark.js +2 -1
- package/dist/src/ui/themes/atom-one-dark.js.map +1 -1
- package/dist/src/ui/themes/ayu-light.js +2 -1
- package/dist/src/ui/themes/ayu-light.js.map +1 -1
- package/dist/src/ui/themes/ayu.js +2 -1
- package/dist/src/ui/themes/ayu.js.map +1 -1
- package/dist/src/ui/themes/color-utils.test.d.ts +6 -0
- package/dist/src/ui/themes/color-utils.test.js +197 -0
- package/dist/src/ui/themes/color-utils.test.js.map +1 -0
- package/dist/src/ui/themes/default-light.js +2 -1
- package/dist/src/ui/themes/default-light.js.map +1 -1
- package/dist/src/ui/themes/default.js +2 -1
- package/dist/src/ui/themes/default.js.map +1 -1
- package/dist/src/ui/themes/dracula.js +2 -1
- package/dist/src/ui/themes/dracula.js.map +1 -1
- package/dist/src/ui/themes/github-dark.js +2 -1
- package/dist/src/ui/themes/github-dark.js.map +1 -1
- package/dist/src/ui/themes/github-light.js +2 -1
- package/dist/src/ui/themes/github-light.js.map +1 -1
- package/dist/src/ui/themes/googlecode.js +2 -1
- package/dist/src/ui/themes/googlecode.js.map +1 -1
- package/dist/src/ui/themes/no-color.js +30 -1
- package/dist/src/ui/themes/no-color.js.map +1 -1
- package/dist/src/ui/themes/semantic-tokens.d.ts +37 -0
- package/dist/src/ui/themes/semantic-tokens.js +94 -0
- package/dist/src/ui/themes/semantic-tokens.js.map +1 -0
- package/dist/src/ui/themes/shades-of-purple.js +2 -1
- package/dist/src/ui/themes/shades-of-purple.js.map +1 -1
- package/dist/src/ui/themes/theme-manager.d.ts +6 -0
- package/dist/src/ui/themes/theme-manager.js +8 -1
- package/dist/src/ui/themes/theme-manager.js.map +1 -1
- package/dist/src/ui/themes/theme-manager.test.d.ts +6 -0
- package/dist/src/ui/themes/theme-manager.test.js +83 -0
- package/dist/src/ui/themes/theme-manager.test.js.map +1 -0
- package/dist/src/ui/themes/theme.d.ts +45 -2
- package/dist/src/ui/themes/theme.js +92 -107
- package/dist/src/ui/themes/theme.js.map +1 -1
- package/dist/src/ui/themes/xcode.js +2 -1
- package/dist/src/ui/themes/xcode.js.map +1 -1
- package/dist/src/ui/types.d.ts +3 -1
- package/dist/src/ui/types.js.map +1 -1
- package/dist/src/ui/utils/CodeColorizer.d.ts +2 -1
- package/dist/src/ui/utils/CodeColorizer.js +5 -4
- package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
- package/dist/src/ui/utils/ConsolePatcher.d.ts +3 -1
- package/dist/src/ui/utils/ConsolePatcher.js +18 -8
- package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
- package/dist/src/ui/utils/InlineMarkdownRenderer.js +8 -1
- package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.js +4 -2
- package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.test.d.ts +6 -0
- package/dist/src/ui/utils/MarkdownDisplay.test.js +151 -0
- package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -0
- package/dist/src/ui/utils/clipboardUtils.test.d.ts +6 -0
- package/dist/src/ui/utils/clipboardUtils.test.js +65 -0
- package/dist/src/ui/utils/clipboardUtils.test.js.map +1 -0
- package/dist/src/ui/utils/commandUtils.d.ts +1 -0
- package/dist/src/ui/utils/commandUtils.js +22 -1
- package/dist/src/ui/utils/commandUtils.js.map +1 -1
- package/dist/src/ui/utils/commandUtils.test.d.ts +6 -0
- package/dist/src/ui/utils/commandUtils.test.js +294 -0
- package/dist/src/ui/utils/commandUtils.test.js.map +1 -0
- package/dist/src/ui/utils/computeStats.js +3 -1
- package/dist/src/ui/utils/computeStats.js.map +1 -1
- package/dist/src/ui/utils/displayUtils.test.d.ts +6 -0
- package/dist/src/ui/utils/displayUtils.test.js +42 -0
- package/dist/src/ui/utils/displayUtils.test.js.map +1 -0
- package/dist/src/ui/utils/formatters.test.d.ts +6 -0
- package/dist/src/ui/utils/formatters.test.js +56 -0
- package/dist/src/ui/utils/formatters.test.js.map +1 -0
- package/dist/src/ui/utils/isNarrowWidth.d.ts +6 -0
- package/dist/src/ui/utils/isNarrowWidth.js +9 -0
- package/dist/src/ui/utils/isNarrowWidth.js.map +1 -0
- package/dist/src/ui/utils/kittyProtocolDetector.d.ts +13 -0
- package/dist/src/ui/utils/kittyProtocolDetector.js +88 -0
- package/dist/src/ui/utils/kittyProtocolDetector.js.map +1 -0
- package/dist/src/ui/utils/markdownUtilities.test.d.ts +6 -0
- package/dist/src/ui/utils/markdownUtilities.test.js +42 -0
- package/dist/src/ui/utils/markdownUtilities.test.js.map +1 -0
- package/dist/src/ui/utils/platformConstants.d.ts +43 -0
- package/dist/src/ui/utils/platformConstants.js +44 -0
- package/dist/src/ui/utils/platformConstants.js.map +1 -0
- package/dist/src/ui/utils/terminalSetup.d.ts +30 -0
- package/dist/src/ui/utils/terminalSetup.js +281 -0
- package/dist/src/ui/utils/terminalSetup.js.map +1 -0
- package/dist/src/ui/utils/updateCheck.js +1 -1
- package/dist/src/ui/utils/updateCheck.js.map +1 -1
- package/dist/src/ui/utils/updateCheck.test.d.ts +6 -0
- package/dist/src/ui/utils/updateCheck.test.js +145 -0
- package/dist/src/ui/utils/updateCheck.test.js.map +1 -0
- package/dist/src/utils/checks.d.ts +19 -0
- package/dist/src/utils/checks.js +24 -0
- package/dist/src/utils/checks.js.map +1 -0
- package/dist/src/utils/cleanup.d.ts +2 -2
- package/dist/src/utils/cleanup.js +2 -2
- package/dist/src/utils/cleanup.js.map +1 -1
- package/dist/src/utils/dialogScopeUtils.d.ts +31 -0
- package/dist/src/utils/dialogScopeUtils.js +48 -0
- package/dist/src/utils/dialogScopeUtils.js.map +1 -0
- package/dist/src/utils/gitUtils.d.ts +21 -1
- package/dist/src/utils/gitUtils.js +68 -3
- package/dist/src/utils/gitUtils.js.map +1 -1
- package/dist/src/utils/gitUtils.test.d.ts +6 -0
- package/dist/src/utils/gitUtils.test.js +113 -0
- package/dist/src/utils/gitUtils.test.js.map +1 -0
- package/dist/src/utils/installationInfo.test.d.ts +6 -0
- package/dist/src/utils/installationInfo.test.js +242 -0
- package/dist/src/utils/installationInfo.test.js.map +1 -0
- package/dist/src/utils/readStdin.js +10 -0
- package/dist/src/utils/readStdin.js.map +1 -1
- package/dist/src/utils/sandbox.js +443 -420
- package/dist/src/utils/sandbox.js.map +1 -1
- package/dist/src/utils/settingsUtils.d.ts +134 -0
- package/dist/src/utils/settingsUtils.js +336 -0
- package/dist/src/utils/settingsUtils.js.map +1 -0
- package/dist/src/utils/settingsUtils.test.d.ts +6 -0
- package/dist/src/utils/settingsUtils.test.js +514 -0
- package/dist/src/utils/settingsUtils.test.js.map +1 -0
- package/dist/src/utils/userStartupWarnings.test.d.ts +6 -0
- package/dist/src/utils/userStartupWarnings.test.js +67 -0
- package/dist/src/utils/userStartupWarnings.test.js.map +1 -0
- package/dist/src/utils/version.js +1 -1
- package/dist/src/utils/version.js.map +1 -1
- package/dist/src/validateNonInterActiveAuth.js +3 -3
- package/dist/src/validateNonInterActiveAuth.js.map +1 -1
- package/dist/src/zed-integration/acp.d.ts +63 -0
- package/dist/src/{acp → zed-integration}/acp.js +76 -44
- package/dist/src/zed-integration/acp.js.map +1 -0
- package/dist/src/zed-integration/fileSystemService.d.ts +19 -0
- package/dist/src/zed-integration/fileSystemService.js +43 -0
- package/dist/src/zed-integration/fileSystemService.js.map +1 -0
- package/dist/src/zed-integration/schema.d.ts +11679 -0
- package/dist/src/zed-integration/schema.js +305 -0
- package/dist/src/zed-integration/schema.js.map +1 -0
- package/dist/src/zed-integration/zedIntegration.d.ts +10 -0
- package/dist/src/{acp/acpPeer.js → zed-integration/zedIntegration.js} +336 -169
- package/dist/src/zed-integration/zedIntegration.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -9
- package/dist/src/acp/acp.d.ts +0 -208
- package/dist/src/acp/acp.js.map +0 -1
- package/dist/src/acp/acpPeer.d.ts +0 -8
- package/dist/src/acp/acpPeer.js.map +0 -1
- package/dist/src/ui/components/IDEContextDetailDisplay.d.ts +0 -12
- package/dist/src/ui/components/IDEContextDetailDisplay.js +0 -12
- package/dist/src/ui/components/IDEContextDetailDisplay.js.map +0 -1
- package/dist/src/ui/utils/errorParsing.d.ts +0 -7
- package/dist/src/ui/utils/errorParsing.js +0 -90
- package/dist/src/ui/utils/errorParsing.js.map +0 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright 2025 Google LLC
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
import { renderWithProviders } from '../../test-utils/render.js';
|
|
8
|
+
import { describe, it, expect, vi } from 'vitest';
|
|
9
|
+
import { ShellConfirmationDialog } from './ShellConfirmationDialog.js';
|
|
10
|
+
describe('ShellConfirmationDialog', () => {
|
|
11
|
+
const onConfirm = vi.fn();
|
|
12
|
+
const request = {
|
|
13
|
+
commands: ['ls -la', 'echo "hello"'],
|
|
14
|
+
onConfirm,
|
|
15
|
+
};
|
|
16
|
+
it('renders correctly', () => {
|
|
17
|
+
const { lastFrame } = renderWithProviders(_jsx(ShellConfirmationDialog, { request: request }));
|
|
18
|
+
expect(lastFrame()).toMatchSnapshot();
|
|
19
|
+
});
|
|
20
|
+
it('calls onConfirm with ProceedOnce when "Yes, allow once" is selected', () => {
|
|
21
|
+
const { lastFrame } = renderWithProviders(_jsx(ShellConfirmationDialog, { request: request }));
|
|
22
|
+
const select = lastFrame().toString();
|
|
23
|
+
// Simulate selecting the first option
|
|
24
|
+
// This is a simplified way to test the selection
|
|
25
|
+
expect(select).toContain('Yes, allow once');
|
|
26
|
+
});
|
|
27
|
+
it('calls onConfirm with ProceedAlways when "Yes, allow always for this session" is selected', () => {
|
|
28
|
+
const { lastFrame } = renderWithProviders(_jsx(ShellConfirmationDialog, { request: request }));
|
|
29
|
+
const select = lastFrame().toString();
|
|
30
|
+
// Simulate selecting the second option
|
|
31
|
+
expect(select).toContain('Yes, allow always for this session');
|
|
32
|
+
});
|
|
33
|
+
it('calls onConfirm with Cancel when "No (esc)" is selected', () => {
|
|
34
|
+
const { lastFrame } = renderWithProviders(_jsx(ShellConfirmationDialog, { request: request }));
|
|
35
|
+
const select = lastFrame().toString();
|
|
36
|
+
// Simulate selecting the third option
|
|
37
|
+
expect(select).toContain('No (esc)');
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=ShellConfirmationDialog.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShellConfirmationDialog.test.js","sourceRoot":"","sources":["../../../../src/ui/components/ShellConfirmationDialog.test.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAE1B,MAAM,OAAO,GAAG;QACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;QACpC,SAAS;KACV,CAAC;IAEF,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,uBAAuB,IAAC,OAAO,EAAE,OAAO,GAAI,CAC9C,CAAC;QACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,uBAAuB,IAAC,OAAO,EAAE,OAAO,GAAI,CAC9C,CAAC;QACF,MAAM,MAAM,GAAG,SAAS,EAAG,CAAC,QAAQ,EAAE,CAAC;QACvC,sCAAsC;QACtC,iDAAiD;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0FAA0F,EAAE,GAAG,EAAE;QAClG,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,uBAAuB,IAAC,OAAO,EAAE,OAAO,GAAI,CAC9C,CAAC;QACF,MAAM,MAAM,GAAG,SAAS,EAAG,CAAC,QAAQ,EAAE,CAAC;QACvC,uCAAuC;QACvC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,uBAAuB,IAAC,OAAO,EAAE,OAAO,GAAI,CAC9C,CAAC;QACF,MAAM,MAAM,GAAG,SAAS,EAAG,CAAC,QAAQ,EAAE,CAAC;QACvC,sCAAsC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Box, Text } from 'ink';
|
|
3
3
|
import Gradient from 'ink-gradient';
|
|
4
|
-
import {
|
|
4
|
+
import { theme } from '../semantic-colors.js';
|
|
5
5
|
import { formatDuration } from '../utils/formatters.js';
|
|
6
6
|
import { useSessionStats } from '../contexts/SessionContext.js';
|
|
7
7
|
import { getStatusColor, TOOL_SUCCESS_RATE_HIGH, TOOL_SUCCESS_RATE_MEDIUM, USER_AGREEMENT_RATE_HIGH, USER_AGREEMENT_RATE_MEDIUM, } from '../utils/displayUtils.js';
|
|
8
8
|
import { computeSessionStats } from '../utils/computeStats.js';
|
|
9
|
-
const StatRow = ({ title, children }) => (_jsxs(Box, { children: [_jsx(Box, { width: 28, children: _jsx(Text, { color:
|
|
9
|
+
const StatRow = ({ title, children }) => (_jsxs(Box, { children: [_jsx(Box, { width: 28, children: _jsx(Text, { color: theme.text.link, children: title }) }), children] }));
|
|
10
10
|
const SubStatRow = ({ title, children }) => (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Box, { width: 26, children: _jsxs(Text, { children: ["\u00BB ", title] }) }), children] }));
|
|
11
11
|
const Section = ({ title, children }) => (_jsxs(Box, { flexDirection: "column", width: "100%", marginBottom: 1, children: [_jsx(Text, { bold: true, children: title }), children] }));
|
|
12
12
|
const ModelUsageTable = ({ models, totalCachedTokens, cacheEfficiency }) => {
|
|
@@ -14,12 +14,12 @@ const ModelUsageTable = ({ models, totalCachedTokens, cacheEfficiency }) => {
|
|
|
14
14
|
const requestsWidth = 8;
|
|
15
15
|
const inputTokensWidth = 15;
|
|
16
16
|
const outputTokensWidth = 15;
|
|
17
|
-
return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Box, { children: [_jsx(Box, { width: nameWidth, children: _jsx(Text, { bold: true, children: "Model Usage" }) }), _jsx(Box, { width: requestsWidth, justifyContent: "flex-end", children: _jsx(Text, { bold: true, children: "Reqs" }) }), _jsx(Box, { width: inputTokensWidth, justifyContent: "flex-end", children: _jsx(Text, { bold: true, children: "Input Tokens" }) }), _jsx(Box, { width: outputTokensWidth, justifyContent: "flex-end", children: _jsx(Text, { bold: true, children: "Output Tokens" }) })] }), _jsx(Box, { borderStyle: "round", borderBottom: true, borderTop: false, borderLeft: false, borderRight: false, width: nameWidth + requestsWidth + inputTokensWidth + outputTokensWidth }), Object.entries(models).map(([name, modelMetrics]) => (_jsxs(Box, { children: [_jsx(Box, { width: nameWidth, children: _jsx(Text, { children: name.replace('-001', '') }) }), _jsx(Box, { width: requestsWidth, justifyContent: "flex-end", children: _jsx(Text, { children: modelMetrics.api.totalRequests }) }), _jsx(Box, { width: inputTokensWidth, justifyContent: "flex-end", children: _jsx(Text, { color:
|
|
17
|
+
return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Box, { children: [_jsx(Box, { width: nameWidth, children: _jsx(Text, { bold: true, children: "Model Usage" }) }), _jsx(Box, { width: requestsWidth, justifyContent: "flex-end", children: _jsx(Text, { bold: true, children: "Reqs" }) }), _jsx(Box, { width: inputTokensWidth, justifyContent: "flex-end", children: _jsx(Text, { bold: true, children: "Input Tokens" }) }), _jsx(Box, { width: outputTokensWidth, justifyContent: "flex-end", children: _jsx(Text, { bold: true, children: "Output Tokens" }) })] }), _jsx(Box, { borderStyle: "round", borderBottom: true, borderTop: false, borderLeft: false, borderRight: false, width: nameWidth + requestsWidth + inputTokensWidth + outputTokensWidth }), Object.entries(models).map(([name, modelMetrics]) => (_jsxs(Box, { children: [_jsx(Box, { width: nameWidth, children: _jsx(Text, { children: name.replace('-001', '') }) }), _jsx(Box, { width: requestsWidth, justifyContent: "flex-end", children: _jsx(Text, { children: modelMetrics.api.totalRequests }) }), _jsx(Box, { width: inputTokensWidth, justifyContent: "flex-end", children: _jsx(Text, { color: theme.status.warning, children: modelMetrics.tokens.prompt.toLocaleString() }) }), _jsx(Box, { width: outputTokensWidth, justifyContent: "flex-end", children: _jsx(Text, { color: theme.status.warning, children: modelMetrics.tokens.candidates.toLocaleString() }) })] }, name))), cacheEfficiency > 0 && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Text, { children: [_jsx(Text, { color: theme.status.success, children: "Savings Highlight:" }), ' ', totalCachedTokens.toLocaleString(), " (", cacheEfficiency.toFixed(1), "%) of input tokens were served from the cache, reducing costs."] }), _jsx(Box, { height: 1 }), _jsx(Text, { color: theme.text.secondary, children: "\u00BB Tip: For a full token breakdown, run `/stats model`." })] }))] }));
|
|
18
18
|
};
|
|
19
19
|
export const StatsDisplay = ({ duration, title, }) => {
|
|
20
20
|
const { stats } = useSessionStats();
|
|
21
21
|
const { metrics } = stats;
|
|
22
|
-
const { models, tools } = metrics;
|
|
22
|
+
const { models, tools, files } = metrics;
|
|
23
23
|
const computed = computeSessionStats(metrics);
|
|
24
24
|
const successThresholds = {
|
|
25
25
|
green: TOOL_SUCCESS_RATE_HIGH,
|
|
@@ -33,10 +33,11 @@ export const StatsDisplay = ({ duration, title, }) => {
|
|
|
33
33
|
const agreementColor = getStatusColor(computed.agreementRate, agreementThresholds);
|
|
34
34
|
const renderTitle = () => {
|
|
35
35
|
if (title) {
|
|
36
|
-
return
|
|
36
|
+
return theme.ui.gradient && theme.ui.gradient.length > 0 ? (_jsx(Gradient, { colors: theme.ui.gradient, children: _jsx(Text, { bold: true, children: title }) })) : (_jsx(Text, { bold: true, color: theme.text.accent, children: title }));
|
|
37
37
|
}
|
|
38
|
-
return (_jsx(Text, { bold: true, color:
|
|
38
|
+
return (_jsx(Text, { bold: true, color: theme.text.accent, children: "Session Stats" }));
|
|
39
39
|
};
|
|
40
|
-
return (_jsxs(Box, { borderStyle: "round", borderColor:
|
|
40
|
+
return (_jsxs(Box, { borderStyle: "round", borderColor: theme.border.default, flexDirection: "column", paddingY: 1, paddingX: 2, children: [renderTitle(), _jsx(Box, { height: 1 }), _jsxs(Section, { title: "Interaction Summary", children: [_jsx(StatRow, { title: "Session ID:", children: _jsx(Text, { children: stats.sessionId }) }), _jsx(StatRow, { title: "Tool Calls:", children: _jsxs(Text, { children: [tools.totalCalls, " (", ' ', _jsxs(Text, { color: theme.status.success, children: ["\u2714 ", tools.totalSuccess] }), ' ', _jsxs(Text, { color: theme.status.error, children: ["\u2716 ", tools.totalFail] }), " )"] }) }), _jsx(StatRow, { title: "Success Rate:", children: _jsxs(Text, { color: successColor, children: [computed.successRate.toFixed(1), "%"] }) }), computed.totalDecisions > 0 && (_jsx(StatRow, { title: "User Agreement:", children: _jsxs(Text, { color: agreementColor, children: [computed.agreementRate.toFixed(1), "%", ' ', _jsxs(Text, { color: theme.text.secondary, children: ["(", computed.totalDecisions, " reviewed)"] })] }) })), files &&
|
|
41
|
+
(files.totalLinesAdded > 0 || files.totalLinesRemoved > 0) && (_jsx(StatRow, { title: "Code Changes:", children: _jsxs(Text, { children: [_jsxs(Text, { color: theme.status.success, children: ["+", files.totalLinesAdded] }), ' ', _jsxs(Text, { color: theme.status.error, children: ["-", files.totalLinesRemoved] })] }) }))] }), _jsxs(Section, { title: "Performance", children: [_jsx(StatRow, { title: "Wall Time:", children: _jsx(Text, { children: duration }) }), _jsx(StatRow, { title: "Agent Active:", children: _jsx(Text, { children: formatDuration(computed.agentActiveTime) }) }), _jsx(SubStatRow, { title: "API Time:", children: _jsxs(Text, { children: [formatDuration(computed.totalApiTime), ' ', _jsxs(Text, { color: theme.text.secondary, children: ["(", computed.apiTimePercent.toFixed(1), "%)"] })] }) }), _jsx(SubStatRow, { title: "Tool Time:", children: _jsxs(Text, { children: [formatDuration(computed.totalToolTime), ' ', _jsxs(Text, { color: theme.text.secondary, children: ["(", computed.toolTimePercent.toFixed(1), "%)"] })] }) })] }), Object.keys(models).length > 0 && (_jsx(ModelUsageTable, { models: models, totalCachedTokens: computed.totalCachedTokens, cacheEfficiency: computed.cacheEfficiency }))] }));
|
|
41
42
|
};
|
|
42
43
|
//# sourceMappingURL=StatsDisplay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatsDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/StatsDisplay.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,QAAQ,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"StatsDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/StatsDisplay.tsx"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ export function SuggestionsDisplay({ suggestions, activeIndex, isLoading, width,
|
|
|
26
26
|
const labelElement = (_jsx(PrepareLabel, { label: suggestion.label, matchedIndex: suggestion.matchedIndex, userInput: userInput, textColor: textColor }));
|
|
27
27
|
return (_jsx(Box, { width: width, children: _jsxs(Box, { flexDirection: "row", children: [userInput.startsWith('/') ? (
|
|
28
28
|
// only use box model for (/) command mode
|
|
29
|
-
_jsx(Box, { width: 20, flexShrink: 0, children: labelElement })) : (labelElement), suggestion.description ? (_jsx(Box, { flexGrow: 1, children: _jsx(Text, { color: textColor, wrap: "
|
|
29
|
+
_jsx(Box, { width: 20, flexShrink: 0, children: labelElement })) : (labelElement), suggestion.description ? (_jsx(Box, { flexGrow: 1, children: _jsx(Text, { color: textColor, wrap: "truncate", children: suggestion.description }) })) : null] }) }, `${suggestion.value}-${originalIndex}`));
|
|
30
30
|
}), endIndex < suggestions.length && _jsx(Text, { color: "gray", children: "\u25BC" }), suggestions.length > MAX_SUGGESTIONS_TO_SHOW && (_jsxs(Text, { color: "gray", children: ["(", activeIndex + 1, "/", suggestions.length, ")"] }))] }));
|
|
31
31
|
}
|
|
32
32
|
//# sourceMappingURL=SuggestionsDisplay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuggestionsDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/SuggestionsDisplay.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAgBjD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC,MAAM,UAAU,kBAAkB,CAAC,EACjC,WAAW,EACX,WAAW,EACX,SAAS,EACT,KAAK,EACL,YAAY,EACZ,SAAS,GACe;IACxB,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CACL,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,YAC5B,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,uCAA8B,GAC5C,CACP,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,CAAC,oDAAoD;IACnE,CAAC;IAED,oDAAoD;IACpD,MAAM,UAAU,GAAG,YAAY,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,YAAY,GAAG,uBAAuB,EACtC,WAAW,CAAC,MAAM,CACnB,CAAC;IACF,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEnE,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,aAClD,YAAY,GAAG,CAAC,IAAI,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,UAAU,uBAAU,EAE5D,kBAAkB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;gBAC5C,MAAM,aAAa,GAAG,UAAU,GAAG,KAAK,CAAC;gBACzC,MAAM,QAAQ,GAAG,aAAa,KAAK,WAAW,CAAC;gBAC/C,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC/D,MAAM,YAAY,GAAG,CACnB,KAAC,YAAY,IACX,KAAK,EAAE,UAAU,CAAC,KAAK,EACvB,YAAY,EAAE,UAAU,CAAC,YAAY,EACrC,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,GACpB,CACH,CAAC;gBAEF,OAAO,CACL,KAAC,GAAG,IAA8C,KAAK,EAAE,KAAK,YAC5D,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,aACrB,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BAC3B,0CAA0C;4BAC1C,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,YAC1B,YAAY,GACT,CACP,CAAC,CAAC,CAAC,CACF,YAAY,CACb,EACA,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CACxB,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACd,KAAC,IAAI,IAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC,
|
|
1
|
+
{"version":3,"file":"SuggestionsDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/SuggestionsDisplay.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,15 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
5
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
*/
|
|
7
7
|
import { useCallback, useState } from 'react';
|
|
8
|
-
import { Box, Text
|
|
8
|
+
import { Box, Text } from 'ink';
|
|
9
9
|
import { Colors } from '../colors.js';
|
|
10
10
|
import { themeManager, DEFAULT_THEME } from '../themes/theme-manager.js';
|
|
11
11
|
import { RadioButtonSelect } from './shared/RadioButtonSelect.js';
|
|
12
12
|
import { DiffRenderer } from './messages/DiffRenderer.js';
|
|
13
13
|
import { colorizeCode } from '../utils/CodeColorizer.js';
|
|
14
14
|
import { SettingScope } from '../../config/settings.js';
|
|
15
|
+
import { getScopeItems, getScopeMessageForSetting, } from '../../utils/dialogScopeUtils.js';
|
|
16
|
+
import { useKeypress } from '../hooks/useKeypress.js';
|
|
15
17
|
export function ThemeDialog({ onSelect, onHighlight, settings, availableTerminalHeight, terminalWidth, }) {
|
|
16
18
|
const [selectedScope, setSelectedScope] = useState(SettingScope.User);
|
|
17
19
|
// Track the currently highlighted theme name
|
|
@@ -46,11 +48,7 @@ export function ThemeDialog({ onSelect, onHighlight, settings, availableTerminal
|
|
|
46
48
|
const initialThemeIndex = themeItems.findIndex((item) => item.value === selectedThemeName);
|
|
47
49
|
// If not found, fall back to the first theme
|
|
48
50
|
const safeInitialThemeIndex = initialThemeIndex >= 0 ? initialThemeIndex : 0;
|
|
49
|
-
const scopeItems =
|
|
50
|
-
{ label: 'User Settings', value: SettingScope.User },
|
|
51
|
-
{ label: 'Workspace Settings', value: SettingScope.Workspace },
|
|
52
|
-
{ label: 'System Settings', value: SettingScope.System },
|
|
53
|
-
];
|
|
51
|
+
const scopeItems = getScopeItems();
|
|
54
52
|
const handleThemeSelect = useCallback((themeName) => {
|
|
55
53
|
onSelect(themeName, selectedScope);
|
|
56
54
|
}, [onSelect, selectedScope]);
|
|
@@ -67,24 +65,16 @@ export function ThemeDialog({ onSelect, onHighlight, settings, availableTerminal
|
|
|
67
65
|
setFocusedSection('theme'); // Reset focus to theme section
|
|
68
66
|
}, [handleScopeHighlight]);
|
|
69
67
|
const [focusedSection, setFocusedSection] = useState('theme');
|
|
70
|
-
|
|
71
|
-
if (key.tab) {
|
|
68
|
+
useKeypress((key) => {
|
|
69
|
+
if (key.name === 'tab') {
|
|
72
70
|
setFocusedSection((prev) => (prev === 'theme' ? 'scope' : 'theme'));
|
|
73
71
|
}
|
|
74
|
-
if (key.escape) {
|
|
72
|
+
if (key.name === 'escape') {
|
|
75
73
|
onSelect(undefined, selectedScope);
|
|
76
74
|
}
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
const
|
|
80
|
-
let otherScopeModifiedMessage = '';
|
|
81
|
-
if (modifiedInOtherScopes.length > 0) {
|
|
82
|
-
const modifiedScopesStr = modifiedInOtherScopes.join(', ');
|
|
83
|
-
otherScopeModifiedMessage =
|
|
84
|
-
settings.forScope(selectedScope).settings.theme !== undefined
|
|
85
|
-
? `(Also modified in ${modifiedScopesStr})`
|
|
86
|
-
: `(Modified in ${modifiedScopesStr})`;
|
|
87
|
-
}
|
|
75
|
+
}, { isActive: true });
|
|
76
|
+
// Generate scope message for theme setting
|
|
77
|
+
const otherScopeModifiedMessage = getScopeMessageForSetting('theme', selectedScope, settings);
|
|
88
78
|
// Constants for calculating preview pane layout.
|
|
89
79
|
// These values are based on the JSX structure below.
|
|
90
80
|
const PREVIEW_PANE_WIDTH_PERCENTAGE = 0.55;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeDialog.js","sourceRoot":"","sources":["../../../../src/ui/components/ThemeDialog.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"ThemeDialog.js","sourceRoot":"","sources":["../../../../src/ui/components/ThemeDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { Colors } from '../../colors.js';
|
|
|
4
4
|
import crypto from 'crypto';
|
|
5
5
|
import { colorizeCode, colorizeLine } from '../../utils/CodeColorizer.js';
|
|
6
6
|
import { MaxSizedBox } from '../shared/MaxSizedBox.js';
|
|
7
|
+
import { theme } from '../../semantic-colors.js';
|
|
7
8
|
function parseDiffWithLineNumbers(diffContent) {
|
|
8
9
|
const lines = diffContent.split('\n');
|
|
9
10
|
const result = [];
|
|
@@ -186,7 +187,15 @@ const renderDiffContent = (parsedLines, filename, tabWidth = DEFAULT_TAB_WIDTH,
|
|
|
186
187
|
return acc;
|
|
187
188
|
}
|
|
188
189
|
const displayContent = line.content.substring(baseIndentation);
|
|
189
|
-
acc.push(_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { color:
|
|
190
|
+
acc.push(_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { color: theme.text.secondary, backgroundColor: line.type === 'add'
|
|
191
|
+
? theme.background.diff.added
|
|
192
|
+
: line.type === 'del'
|
|
193
|
+
? theme.background.diff.removed
|
|
194
|
+
: undefined, children: [gutterNumStr.padStart(gutterWidth), ' '] }), line.type === 'context' ? (_jsxs(_Fragment, { children: [_jsxs(Text, { children: [prefixSymbol, " "] }), _jsx(Text, { wrap: "wrap", children: colorizeLine(displayContent, language) })] })) : (_jsxs(Text, { backgroundColor: line.type === 'add'
|
|
195
|
+
? theme.background.diff.added
|
|
196
|
+
: theme.background.diff.removed, wrap: "wrap", children: [_jsx(Text, { color: line.type === 'add'
|
|
197
|
+
? theme.status.success
|
|
198
|
+
: theme.status.error, children: prefixSymbol }), ' ', colorizeLine(displayContent, language)] }))] }, lineKey));
|
|
190
199
|
return acc;
|
|
191
200
|
}, []) }, key));
|
|
192
201
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiffRenderer.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/DiffRenderer.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"DiffRenderer.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/DiffRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright 2025 Google LLC
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
import { OverflowProvider } from '../../contexts/OverflowContext.js';
|
|
8
|
+
import { render } from 'ink-testing-library';
|
|
9
|
+
import { DiffRenderer } from './DiffRenderer.js';
|
|
10
|
+
import * as CodeColorizer from '../../utils/CodeColorizer.js';
|
|
11
|
+
import { vi } from 'vitest';
|
|
12
|
+
describe('<OverflowProvider><DiffRenderer /></OverflowProvider>', () => {
|
|
13
|
+
const mockColorizeCode = vi.spyOn(CodeColorizer, 'colorizeCode');
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
mockColorizeCode.mockClear();
|
|
16
|
+
});
|
|
17
|
+
const sanitizeOutput = (output, terminalWidth) => output?.replace(/GAP_INDICATOR/g, '═'.repeat(terminalWidth));
|
|
18
|
+
it('should call colorizeCode with correct language for new file with known extension', () => {
|
|
19
|
+
const newFileDiffContent = `
|
|
20
|
+
diff --git a/test.py b/test.py
|
|
21
|
+
new file mode 100644
|
|
22
|
+
index 0000000..e69de29
|
|
23
|
+
--- /dev/null
|
|
24
|
+
+++ b/test.py
|
|
25
|
+
@@ -0,0 +1 @@
|
|
26
|
+
+print("hello world")
|
|
27
|
+
`;
|
|
28
|
+
render(_jsx(OverflowProvider, { children: _jsx(DiffRenderer, { diffContent: newFileDiffContent, filename: "test.py", terminalWidth: 80 }) }));
|
|
29
|
+
expect(mockColorizeCode).toHaveBeenCalledWith('print("hello world")', 'python', undefined, 80, undefined);
|
|
30
|
+
});
|
|
31
|
+
it('should call colorizeCode with null language for new file with unknown extension', () => {
|
|
32
|
+
const newFileDiffContent = `
|
|
33
|
+
diff --git a/test.unknown b/test.unknown
|
|
34
|
+
new file mode 100644
|
|
35
|
+
index 0000000..e69de29
|
|
36
|
+
--- /dev/null
|
|
37
|
+
+++ b/test.unknown
|
|
38
|
+
@@ -0,0 +1 @@
|
|
39
|
+
+some content
|
|
40
|
+
`;
|
|
41
|
+
render(_jsx(OverflowProvider, { children: _jsx(DiffRenderer, { diffContent: newFileDiffContent, filename: "test.unknown", terminalWidth: 80 }) }));
|
|
42
|
+
expect(mockColorizeCode).toHaveBeenCalledWith('some content', null, undefined, 80, undefined);
|
|
43
|
+
});
|
|
44
|
+
it('should call colorizeCode with null language for new file if no filename is provided', () => {
|
|
45
|
+
const newFileDiffContent = `
|
|
46
|
+
diff --git a/test.txt b/test.txt
|
|
47
|
+
new file mode 100644
|
|
48
|
+
index 0000000..e69de29
|
|
49
|
+
--- /dev/null
|
|
50
|
+
+++ b/test.txt
|
|
51
|
+
@@ -0,0 +1 @@
|
|
52
|
+
+some text content
|
|
53
|
+
`;
|
|
54
|
+
render(_jsx(OverflowProvider, { children: _jsx(DiffRenderer, { diffContent: newFileDiffContent, terminalWidth: 80 }) }));
|
|
55
|
+
expect(mockColorizeCode).toHaveBeenCalledWith('some text content', null, undefined, 80, undefined);
|
|
56
|
+
});
|
|
57
|
+
it('should render diff content for existing file (not calling colorizeCode directly for the whole block)', () => {
|
|
58
|
+
const existingFileDiffContent = `
|
|
59
|
+
diff --git a/test.txt b/test.txt
|
|
60
|
+
index 0000001..0000002 100644
|
|
61
|
+
--- a/test.txt
|
|
62
|
+
+++ b/test.txt
|
|
63
|
+
@@ -1 +1 @@
|
|
64
|
+
-old line
|
|
65
|
+
+new line
|
|
66
|
+
`;
|
|
67
|
+
const { lastFrame } = render(_jsx(OverflowProvider, { children: _jsx(DiffRenderer, { diffContent: existingFileDiffContent, filename: "test.txt", terminalWidth: 80 }) }));
|
|
68
|
+
// colorizeCode is used internally by the line-by-line rendering, not for the whole block
|
|
69
|
+
expect(mockColorizeCode).not.toHaveBeenCalledWith(expect.stringContaining('old line'), expect.anything());
|
|
70
|
+
expect(mockColorizeCode).not.toHaveBeenCalledWith(expect.stringContaining('new line'), expect.anything());
|
|
71
|
+
const output = lastFrame();
|
|
72
|
+
const lines = output.split('\n');
|
|
73
|
+
expect(lines[0]).toBe('1 - old line');
|
|
74
|
+
expect(lines[1]).toBe('1 + new line');
|
|
75
|
+
});
|
|
76
|
+
it('should handle diff with only header and no changes', () => {
|
|
77
|
+
const noChangeDiff = `diff --git a/file.txt b/file.txt
|
|
78
|
+
index 1234567..1234567 100644
|
|
79
|
+
--- a/file.txt
|
|
80
|
+
+++ b/file.txt
|
|
81
|
+
`;
|
|
82
|
+
const { lastFrame } = render(_jsx(OverflowProvider, { children: _jsx(DiffRenderer, { diffContent: noChangeDiff, filename: "file.txt", terminalWidth: 80 }) }));
|
|
83
|
+
expect(lastFrame()).toContain('No changes detected');
|
|
84
|
+
expect(mockColorizeCode).not.toHaveBeenCalled();
|
|
85
|
+
});
|
|
86
|
+
it('should handle empty diff content', () => {
|
|
87
|
+
const { lastFrame } = render(_jsx(OverflowProvider, { children: _jsx(DiffRenderer, { diffContent: "", terminalWidth: 80 }) }));
|
|
88
|
+
expect(lastFrame()).toContain('No diff content');
|
|
89
|
+
expect(mockColorizeCode).not.toHaveBeenCalled();
|
|
90
|
+
});
|
|
91
|
+
it('should render a gap indicator for skipped lines', () => {
|
|
92
|
+
const diffWithGap = `
|
|
93
|
+
diff --git a/file.txt b/file.txt
|
|
94
|
+
index 123..456 100644
|
|
95
|
+
--- a/file.txt
|
|
96
|
+
+++ b/file.txt
|
|
97
|
+
@@ -1,2 +1,2 @@
|
|
98
|
+
context line 1
|
|
99
|
+
-deleted line
|
|
100
|
+
+added line
|
|
101
|
+
@@ -10,2 +10,2 @@
|
|
102
|
+
context line 10
|
|
103
|
+
context line 11
|
|
104
|
+
`;
|
|
105
|
+
const { lastFrame } = render(_jsx(OverflowProvider, { children: _jsx(DiffRenderer, { diffContent: diffWithGap, filename: "file.txt", terminalWidth: 80 }) }));
|
|
106
|
+
const output = lastFrame();
|
|
107
|
+
expect(output).toContain('═'); // Check for the border character used in the gap
|
|
108
|
+
// Verify that lines before and after the gap are rendered
|
|
109
|
+
expect(output).toContain('context line 1');
|
|
110
|
+
expect(output).toContain('added line');
|
|
111
|
+
expect(output).toContain('context line 10');
|
|
112
|
+
});
|
|
113
|
+
it('should not render a gap indicator for small gaps (<= MAX_CONTEXT_LINES_WITHOUT_GAP)', () => {
|
|
114
|
+
const diffWithSmallGap = `
|
|
115
|
+
diff --git a/file.txt b/file.txt
|
|
116
|
+
index abc..def 100644
|
|
117
|
+
--- a/file.txt
|
|
118
|
+
+++ b/file.txt
|
|
119
|
+
@@ -1,5 +1,5 @@
|
|
120
|
+
context line 1
|
|
121
|
+
context line 2
|
|
122
|
+
context line 3
|
|
123
|
+
context line 4
|
|
124
|
+
context line 5
|
|
125
|
+
@@ -11,5 +11,5 @@
|
|
126
|
+
context line 11
|
|
127
|
+
context line 12
|
|
128
|
+
context line 13
|
|
129
|
+
context line 14
|
|
130
|
+
context line 15
|
|
131
|
+
`;
|
|
132
|
+
const { lastFrame } = render(_jsx(OverflowProvider, { children: _jsx(DiffRenderer, { diffContent: diffWithSmallGap, filename: "file.txt", terminalWidth: 80 }) }));
|
|
133
|
+
const output = lastFrame();
|
|
134
|
+
expect(output).not.toContain('═'); // Ensure no separator is rendered
|
|
135
|
+
// Verify that lines before and after the gap are rendered
|
|
136
|
+
expect(output).toContain('context line 5');
|
|
137
|
+
expect(output).toContain('context line 11');
|
|
138
|
+
});
|
|
139
|
+
describe('should correctly render a diff with multiple hunks and a gap indicator', () => {
|
|
140
|
+
const diffWithMultipleHunks = `
|
|
141
|
+
diff --git a/multi.js b/multi.js
|
|
142
|
+
index 123..789 100644
|
|
143
|
+
--- a/multi.js
|
|
144
|
+
+++ b/multi.js
|
|
145
|
+
@@ -1,3 +1,3 @@
|
|
146
|
+
console.log('first hunk');
|
|
147
|
+
-const oldVar = 1;
|
|
148
|
+
+const newVar = 1;
|
|
149
|
+
console.log('end of first hunk');
|
|
150
|
+
@@ -20,3 +20,3 @@
|
|
151
|
+
console.log('second hunk');
|
|
152
|
+
-const anotherOld = 'test';
|
|
153
|
+
+const anotherNew = 'test';
|
|
154
|
+
console.log('end of second hunk');
|
|
155
|
+
`;
|
|
156
|
+
it.each([
|
|
157
|
+
{
|
|
158
|
+
terminalWidth: 80,
|
|
159
|
+
height: undefined,
|
|
160
|
+
expected: ` 1 console.log('first hunk');
|
|
161
|
+
2 - const oldVar = 1;
|
|
162
|
+
2 + const newVar = 1;
|
|
163
|
+
3 console.log('end of first hunk');
|
|
164
|
+
════════════════════════════════════════════════════════════════════════════════
|
|
165
|
+
20 console.log('second hunk');
|
|
166
|
+
21 - const anotherOld = 'test';
|
|
167
|
+
21 + const anotherNew = 'test';
|
|
168
|
+
22 console.log('end of second hunk');`,
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
terminalWidth: 80,
|
|
172
|
+
height: 6,
|
|
173
|
+
expected: `... first 4 lines hidden ...
|
|
174
|
+
════════════════════════════════════════════════════════════════════════════════
|
|
175
|
+
20 console.log('second hunk');
|
|
176
|
+
21 - const anotherOld = 'test';
|
|
177
|
+
21 + const anotherNew = 'test';
|
|
178
|
+
22 console.log('end of second hunk');`,
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
terminalWidth: 30,
|
|
182
|
+
height: 6,
|
|
183
|
+
expected: `... first 10 lines hidden ...
|
|
184
|
+
;
|
|
185
|
+
21 + const anotherNew = 'test'
|
|
186
|
+
;
|
|
187
|
+
22 console.log('end of
|
|
188
|
+
second hunk');`,
|
|
189
|
+
},
|
|
190
|
+
])('with terminalWidth $terminalWidth and height $height', ({ terminalWidth, height, expected }) => {
|
|
191
|
+
const { lastFrame } = render(_jsx(OverflowProvider, { children: _jsx(DiffRenderer, { diffContent: diffWithMultipleHunks, filename: "multi.js", terminalWidth: terminalWidth, availableTerminalHeight: height }) }));
|
|
192
|
+
const output = lastFrame();
|
|
193
|
+
expect(sanitizeOutput(output, terminalWidth)).toEqual(expected);
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
it('should correctly render a diff with a SVN diff format', () => {
|
|
197
|
+
const newFileDiff = `
|
|
198
|
+
fileDiff Index: file.txt
|
|
199
|
+
===================================================================
|
|
200
|
+
--- a/file.txt Current
|
|
201
|
+
+++ b/file.txt Proposed
|
|
202
|
+
--- a/multi.js
|
|
203
|
+
+++ b/multi.js
|
|
204
|
+
@@ -1,1 +1,1 @@
|
|
205
|
+
-const oldVar = 1;
|
|
206
|
+
+const newVar = 1;
|
|
207
|
+
@@ -20,1 +20,1 @@
|
|
208
|
+
-const anotherOld = 'test';
|
|
209
|
+
+const anotherNew = 'test';
|
|
210
|
+
\
|
|
211
|
+
`;
|
|
212
|
+
const { lastFrame } = render(_jsx(OverflowProvider, { children: _jsx(DiffRenderer, { diffContent: newFileDiff, filename: "TEST", terminalWidth: 80 }) }));
|
|
213
|
+
const output = lastFrame();
|
|
214
|
+
expect(output).toEqual(` 1 - const oldVar = 1;
|
|
215
|
+
1 + const newVar = 1;
|
|
216
|
+
════════════════════════════════════════════════════════════════════════════════
|
|
217
|
+
20 - const anotherOld = 'test';
|
|
218
|
+
20 + const anotherNew = 'test';`);
|
|
219
|
+
});
|
|
220
|
+
it('should correctly render a new file with no file extension correctly', () => {
|
|
221
|
+
const newFileDiff = `
|
|
222
|
+
fileDiff Index: Dockerfile
|
|
223
|
+
===================================================================
|
|
224
|
+
--- Dockerfile Current
|
|
225
|
+
+++ Dockerfile Proposed
|
|
226
|
+
@@ -0,0 +1,3 @@
|
|
227
|
+
+FROM node:14
|
|
228
|
+
+RUN npm install
|
|
229
|
+
+RUN npm run build
|
|
230
|
+
\
|
|
231
|
+
`;
|
|
232
|
+
const { lastFrame } = render(_jsx(OverflowProvider, { children: _jsx(DiffRenderer, { diffContent: newFileDiff, filename: "Dockerfile", terminalWidth: 80 }) }));
|
|
233
|
+
const output = lastFrame();
|
|
234
|
+
expect(output).toEqual(`1 FROM node:14
|
|
235
|
+
2 RUN npm install
|
|
236
|
+
3 RUN npm run build`);
|
|
237
|
+
});
|
|
238
|
+
});
|
|
239
|
+
//# sourceMappingURL=DiffRenderer.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DiffRenderer.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/DiffRenderer.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Text, Box } from 'ink';
|
|
3
3
|
import { Colors } from '../../colors.js';
|
|
4
|
+
import { RenderInline } from '../../utils/InlineMarkdownRenderer.js';
|
|
4
5
|
export const InfoMessage = ({ text }) => {
|
|
5
6
|
const prefix = 'ℹ ';
|
|
6
7
|
const prefixWidth = prefix.length;
|
|
7
|
-
return (_jsxs(Box, { flexDirection: "row", marginTop: 1, children: [_jsx(Box, { width: prefixWidth, children: _jsx(Text, { color: Colors.AccentYellow, children: prefix }) }), _jsx(Box, { flexGrow: 1, children: _jsx(Text, { wrap: "wrap", color: Colors.AccentYellow, children: text }) })] }));
|
|
8
|
+
return (_jsxs(Box, { flexDirection: "row", marginTop: 1, children: [_jsx(Box, { width: prefixWidth, children: _jsx(Text, { color: Colors.AccentYellow, children: prefix }) }), _jsx(Box, { flexGrow: 1, children: _jsx(Text, { wrap: "wrap", color: Colors.AccentYellow, children: _jsx(RenderInline, { text: text }) }) })] }));
|
|
8
9
|
};
|
|
9
10
|
//# sourceMappingURL=InfoMessage.js.map
|