@google/gemini-cli 0.1.0-development.2 → 0.1.1
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/LICENSE +1 -1
- package/README.md +16 -38
- package/bundle/gemini.js +257368 -0
- package/{dist/src/utils → bundle}/sandbox-macos-permissive-proxied.sb +1 -1
- package/{dist/src/utils → bundle}/sandbox-macos-restrictive-proxied.sb +1 -1
- package/bundle/shell.json +18 -0
- package/bundle/shell.md +16 -0
- package/package.json +72 -67
- package/dist/.last_build +0 -0
- package/dist/index.d.ts +0 -7
- package/dist/index.js +0 -20
- package/dist/index.js.map +0 -1
- package/dist/package.json +0 -80
- package/dist/src/config/auth.d.ts +0 -6
- package/dist/src/config/auth.js +0 -33
- package/dist/src/config/auth.js.map +0 -1
- package/dist/src/config/config.d.ts +0 -13
- package/dist/src/config/config.js +0 -211
- package/dist/src/config/config.js.map +0 -1
- package/dist/src/config/extension.d.ts +0 -20
- package/dist/src/config/extension.js +0 -81
- package/dist/src/config/extension.js.map +0 -1
- package/dist/src/config/sandboxConfig.d.ts +0 -13
- package/dist/src/config/sandboxConfig.js +0 -75
- package/dist/src/config/sandboxConfig.js.map +0 -1
- package/dist/src/config/settings.d.ts +0 -72
- package/dist/src/config/settings.js +0 -227
- package/dist/src/config/settings.js.map +0 -1
- package/dist/src/gemini.d.ts +0 -6
- package/dist/src/gemini.js +0 -216
- package/dist/src/gemini.js.map +0 -1
- package/dist/src/generated/git-commit.d.ts +0 -6
- package/dist/src/generated/git-commit.js +0 -9
- package/dist/src/generated/git-commit.js.map +0 -1
- package/dist/src/nonInteractiveCli.d.ts +0 -7
- package/dist/src/nonInteractiveCli.js +0 -115
- package/dist/src/nonInteractiveCli.js.map +0 -1
- package/dist/src/services/CommandService.d.ts +0 -13
- package/dist/src/services/CommandService.js +0 -30
- package/dist/src/services/CommandService.js.map +0 -1
- package/dist/src/ui/App.d.ts +0 -14
- package/dist/src/ui/App.js +0 -391
- package/dist/src/ui/App.js.map +0 -1
- package/dist/src/ui/colors.d.ts +0 -7
- package/dist/src/ui/colors.js +0 -48
- package/dist/src/ui/colors.js.map +0 -1
- package/dist/src/ui/commands/clearCommand.d.ts +0 -7
- package/dist/src/ui/commands/clearCommand.js +0 -15
- package/dist/src/ui/commands/clearCommand.js.map +0 -1
- package/dist/src/ui/commands/helpCommand.d.ts +0 -7
- package/dist/src/ui/commands/helpCommand.js +0 -18
- package/dist/src/ui/commands/helpCommand.js.map +0 -1
- package/dist/src/ui/commands/memoryCommand.d.ts +0 -7
- package/dist/src/ui/commands/memoryCommand.js +0 -81
- package/dist/src/ui/commands/memoryCommand.js.map +0 -1
- package/dist/src/ui/commands/types.d.ts +0 -63
- package/dist/src/ui/commands/types.js +0 -7
- package/dist/src/ui/commands/types.js.map +0 -1
- package/dist/src/ui/components/AboutBox.d.ts +0 -16
- package/dist/src/ui/components/AboutBox.js +0 -6
- package/dist/src/ui/components/AboutBox.js.map +0 -1
- package/dist/src/ui/components/AsciiArt.d.ts +0 -7
- package/dist/src/ui/components/AsciiArt.js +0 -26
- package/dist/src/ui/components/AsciiArt.js.map +0 -1
- package/dist/src/ui/components/AuthDialog.d.ts +0 -15
- package/dist/src/ui/components/AuthDialog.js +0 -66
- package/dist/src/ui/components/AuthDialog.js.map +0 -1
- package/dist/src/ui/components/AuthInProgress.d.ts +0 -11
- package/dist/src/ui/components/AuthInProgress.js +0 -27
- package/dist/src/ui/components/AuthInProgress.js.map +0 -1
- package/dist/src/ui/components/AutoAcceptIndicator.d.ts +0 -12
- package/dist/src/ui/components/AutoAcceptIndicator.js +0 -26
- package/dist/src/ui/components/AutoAcceptIndicator.js.map +0 -1
- package/dist/src/ui/components/ConsolePatcher.d.ts +0 -12
- package/dist/src/ui/components/ConsolePatcher.js +0 -40
- package/dist/src/ui/components/ConsolePatcher.js.map +0 -1
- package/dist/src/ui/components/ConsoleSummaryDisplay.d.ts +0 -11
- package/dist/src/ui/components/ConsoleSummaryDisplay.js +0 -11
- package/dist/src/ui/components/ConsoleSummaryDisplay.js.map +0 -1
- package/dist/src/ui/components/ContextSummaryDisplay.d.ts +0 -15
- package/dist/src/ui/components/ContextSummaryDisplay.js +0 -41
- package/dist/src/ui/components/ContextSummaryDisplay.js.map +0 -1
- package/dist/src/ui/components/DetailedMessagesDisplay.d.ts +0 -14
- package/dist/src/ui/components/DetailedMessagesDisplay.js +0 -34
- package/dist/src/ui/components/DetailedMessagesDisplay.js.map +0 -1
- package/dist/src/ui/components/EditorSettingsDialog.d.ts +0 -15
- package/dist/src/ui/components/EditorSettingsDialog.js +0 -73
- package/dist/src/ui/components/EditorSettingsDialog.js.map +0 -1
- package/dist/src/ui/components/Footer.d.ts +0 -20
- package/dist/src/ui/components/Footer.js +0 -13
- package/dist/src/ui/components/Footer.js.map +0 -1
- package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +0 -17
- package/dist/src/ui/components/GeminiRespondingSpinner.js +0 -16
- package/dist/src/ui/components/GeminiRespondingSpinner.js.map +0 -1
- package/dist/src/ui/components/Header.d.ts +0 -12
- package/dist/src/ui/components/Header.js +0 -20
- package/dist/src/ui/components/Header.js.map +0 -1
- package/dist/src/ui/components/Help.d.ts +0 -12
- package/dist/src/ui/components/Help.js +0 -10
- package/dist/src/ui/components/Help.js.map +0 -1
- package/dist/src/ui/components/HistoryItemDisplay.d.ts +0 -18
- package/dist/src/ui/components/HistoryItemDisplay.js +0 -17
- package/dist/src/ui/components/HistoryItemDisplay.js.map +0 -1
- package/dist/src/ui/components/InputPrompt.d.ts +0 -25
- package/dist/src/ui/components/InputPrompt.js +0 -280
- package/dist/src/ui/components/InputPrompt.js.map +0 -1
- package/dist/src/ui/components/LoadingIndicator.d.ts +0 -15
- package/dist/src/ui/components/LoadingIndicator.js +0 -19
- package/dist/src/ui/components/LoadingIndicator.js.map +0 -1
- package/dist/src/ui/components/MemoryUsageDisplay.d.ts +0 -7
- package/dist/src/ui/components/MemoryUsageDisplay.js +0 -27
- package/dist/src/ui/components/MemoryUsageDisplay.js.map +0 -1
- package/dist/src/ui/components/ModelStatsDisplay.d.ts +0 -7
- package/dist/src/ui/components/ModelStatsDisplay.js +0 -33
- package/dist/src/ui/components/ModelStatsDisplay.js.map +0 -1
- package/dist/src/ui/components/SessionSummaryDisplay.d.ts +0 -11
- package/dist/src/ui/components/SessionSummaryDisplay.js +0 -4
- package/dist/src/ui/components/SessionSummaryDisplay.js.map +0 -1
- package/dist/src/ui/components/ShellModeIndicator.d.ts +0 -7
- package/dist/src/ui/components/ShellModeIndicator.js +0 -5
- package/dist/src/ui/components/ShellModeIndicator.js.map +0 -1
- package/dist/src/ui/components/ShowMoreLines.d.ts +0 -10
- package/dist/src/ui/components/ShowMoreLines.js +0 -24
- package/dist/src/ui/components/ShowMoreLines.js.map +0 -1
- package/dist/src/ui/components/StatsDisplay.d.ts +0 -12
- package/dist/src/ui/components/StatsDisplay.js +0 -42
- package/dist/src/ui/components/StatsDisplay.js.map +0 -1
- package/dist/src/ui/components/SuggestionsDisplay.d.ts +0 -21
- package/dist/src/ui/components/SuggestionsDisplay.js +0 -32
- package/dist/src/ui/components/SuggestionsDisplay.js.map +0 -1
- package/dist/src/ui/components/ThemeDialog.d.ts +0 -19
- package/dist/src/ui/components/ThemeDialog.js +0 -126
- package/dist/src/ui/components/ThemeDialog.js.map +0 -1
- package/dist/src/ui/components/Tips.d.ts +0 -12
- package/dist/src/ui/components/Tips.js +0 -8
- package/dist/src/ui/components/Tips.js.map +0 -1
- package/dist/src/ui/components/ToolStatsDisplay.d.ts +0 -7
- package/dist/src/ui/components/ToolStatsDisplay.js +0 -41
- package/dist/src/ui/components/ToolStatsDisplay.js.map +0 -1
- package/dist/src/ui/components/UpdateNotification.d.ts +0 -10
- package/dist/src/ui/components/UpdateNotification.js +0 -10
- package/dist/src/ui/components/UpdateNotification.js.map +0 -1
- package/dist/src/ui/components/messages/CompressionMessage.d.ts +0 -11
- package/dist/src/ui/components/messages/CompressionMessage.js +0 -16
- package/dist/src/ui/components/messages/CompressionMessage.js.map +0 -1
- package/dist/src/ui/components/messages/DiffRenderer.d.ts +0 -15
- package/dist/src/ui/components/messages/DiffRenderer.js +0 -212
- package/dist/src/ui/components/messages/DiffRenderer.js.map +0 -1
- package/dist/src/ui/components/messages/ErrorMessage.d.ts +0 -11
- package/dist/src/ui/components/messages/ErrorMessage.js +0 -9
- package/dist/src/ui/components/messages/ErrorMessage.js.map +0 -1
- package/dist/src/ui/components/messages/GeminiMessage.d.ts +0 -14
- package/dist/src/ui/components/messages/GeminiMessage.js +0 -10
- package/dist/src/ui/components/messages/GeminiMessage.js.map +0 -1
- package/dist/src/ui/components/messages/GeminiMessageContent.d.ts +0 -14
- package/dist/src/ui/components/messages/GeminiMessageContent.js +0 -15
- package/dist/src/ui/components/messages/GeminiMessageContent.js.map +0 -1
- package/dist/src/ui/components/messages/InfoMessage.d.ts +0 -11
- package/dist/src/ui/components/messages/InfoMessage.js +0 -9
- package/dist/src/ui/components/messages/InfoMessage.js.map +0 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +0 -15
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +0 -111
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +0 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +0 -18
- package/dist/src/ui/components/messages/ToolGroupMessage.js +0 -53
- package/dist/src/ui/components/messages/ToolGroupMessage.js.map +0 -1
- package/dist/src/ui/components/messages/ToolMessage.d.ts +0 -15
- package/dist/src/ui/components/messages/ToolMessage.js +0 -61
- package/dist/src/ui/components/messages/ToolMessage.js.map +0 -1
- package/dist/src/ui/components/messages/UserMessage.d.ts +0 -11
- package/dist/src/ui/components/messages/UserMessage.js +0 -9
- package/dist/src/ui/components/messages/UserMessage.js.map +0 -1
- package/dist/src/ui/components/messages/UserShellMessage.d.ts +0 -11
- package/dist/src/ui/components/messages/UserShellMessage.js +0 -9
- package/dist/src/ui/components/messages/UserShellMessage.js.map +0 -1
- package/dist/src/ui/components/shared/MaxSizedBox.d.ts +0 -61
- package/dist/src/ui/components/shared/MaxSizedBox.js +0 -384
- package/dist/src/ui/components/shared/MaxSizedBox.js.map +0 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +0 -41
- package/dist/src/ui/components/shared/RadioButtonSelect.js +0 -52
- package/dist/src/ui/components/shared/RadioButtonSelect.js.map +0 -1
- package/dist/src/ui/components/shared/text-buffer.d.ts +0 -184
- package/dist/src/ui/components/shared/text-buffer.js +0 -1010
- package/dist/src/ui/components/shared/text-buffer.js.map +0 -1
- package/dist/src/ui/constants.d.ts +0 -8
- package/dist/src/ui/constants.js +0 -12
- package/dist/src/ui/constants.js.map +0 -1
- package/dist/src/ui/contexts/OverflowContext.d.ts +0 -19
- package/dist/src/ui/contexts/OverflowContext.js +0 -43
- package/dist/src/ui/contexts/OverflowContext.js.map +0 -1
- package/dist/src/ui/contexts/SessionContext.d.ts +0 -33
- package/dist/src/ui/contexts/SessionContext.js +0 -49
- package/dist/src/ui/contexts/SessionContext.js.map +0 -1
- package/dist/src/ui/contexts/StreamingContext.d.ts +0 -9
- package/dist/src/ui/contexts/StreamingContext.js +0 -15
- package/dist/src/ui/contexts/StreamingContext.js.map +0 -1
- package/dist/src/ui/editors/editorSettingsManager.d.ts +0 -19
- package/dist/src/ui/editors/editorSettingsManager.js +0 -54
- package/dist/src/ui/editors/editorSettingsManager.js.map +0 -1
- package/dist/src/ui/hooks/atCommandProcessor.d.ts +0 -31
- package/dist/src/ui/hooks/atCommandProcessor.js +0 -310
- package/dist/src/ui/hooks/atCommandProcessor.js.map +0 -1
- package/dist/src/ui/hooks/shellCommandProcessor.d.ts +0 -16
- package/dist/src/ui/hooks/shellCommandProcessor.js +0 -261
- package/dist/src/ui/hooks/shellCommandProcessor.js.map +0 -1
- package/dist/src/ui/hooks/slashCommandProcessor.d.ts +0 -27
- package/dist/src/ui/hooks/slashCommandProcessor.js +0 -1050
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +0 -1
- package/dist/src/ui/hooks/useAuthCommand.d.ts +0 -14
- package/dist/src/ui/hooks/useAuthCommand.js +0 -54
- package/dist/src/ui/hooks/useAuthCommand.js.map +0 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.d.ts +0 -10
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js +0 -37
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +0 -1
- package/dist/src/ui/hooks/useBracketedPaste.d.ts +0 -12
- package/dist/src/ui/hooks/useBracketedPaste.js +0 -32
- package/dist/src/ui/hooks/useBracketedPaste.js.map +0 -1
- package/dist/src/ui/hooks/useCompletion.d.ts +0 -21
- package/dist/src/ui/hooks/useCompletion.js +0 -372
- package/dist/src/ui/hooks/useCompletion.js.map +0 -1
- package/dist/src/ui/hooks/useConsoleMessages.d.ts +0 -12
- package/dist/src/ui/hooks/useConsoleMessages.js +0 -60
- package/dist/src/ui/hooks/useConsoleMessages.js.map +0 -1
- package/dist/src/ui/hooks/useEditorSettings.d.ts +0 -16
- package/dist/src/ui/hooks/useEditorSettings.js +0 -43
- package/dist/src/ui/hooks/useEditorSettings.js.map +0 -1
- package/dist/src/ui/hooks/useGeminiStream.d.ts +0 -23
- package/dist/src/ui/hooks/useGeminiStream.js +0 -518
- package/dist/src/ui/hooks/useGeminiStream.js.map +0 -1
- package/dist/src/ui/hooks/useGitBranchName.d.ts +0 -6
- package/dist/src/ui/hooks/useGitBranchName.js +0 -61
- package/dist/src/ui/hooks/useGitBranchName.js.map +0 -1
- package/dist/src/ui/hooks/useHistoryManager.d.ts +0 -22
- package/dist/src/ui/hooks/useHistoryManager.js +0 -72
- package/dist/src/ui/hooks/useHistoryManager.js.map +0 -1
- package/dist/src/ui/hooks/useInputHistory.d.ts +0 -19
- package/dist/src/ui/hooks/useInputHistory.js +0 -84
- package/dist/src/ui/hooks/useInputHistory.js.map +0 -1
- package/dist/src/ui/hooks/useKeypress.d.ts +0 -29
- package/dist/src/ui/hooks/useKeypress.js +0 -86
- package/dist/src/ui/hooks/useKeypress.js.map +0 -1
- package/dist/src/ui/hooks/useLoadingIndicator.d.ts +0 -10
- package/dist/src/ui/hooks/useLoadingIndicator.js +0 -44
- package/dist/src/ui/hooks/useLoadingIndicator.js.map +0 -1
- package/dist/src/ui/hooks/useLogger.d.ts +0 -10
- package/dist/src/ui/hooks/useLogger.js +0 -29
- package/dist/src/ui/hooks/useLogger.js.map +0 -1
- package/dist/src/ui/hooks/usePhraseCycler.d.ts +0 -14
- package/dist/src/ui/hooks/usePhraseCycler.js +0 -189
- package/dist/src/ui/hooks/usePhraseCycler.js.map +0 -1
- package/dist/src/ui/hooks/usePrivacySettings.d.ts +0 -16
- package/dist/src/ui/hooks/usePrivacySettings.js +0 -115
- package/dist/src/ui/hooks/usePrivacySettings.js.map +0 -1
- package/dist/src/ui/hooks/useReactToolScheduler.d.ts +0 -33
- package/dist/src/ui/hooks/useReactToolScheduler.js +0 -186
- package/dist/src/ui/hooks/useReactToolScheduler.js.map +0 -1
- package/dist/src/ui/hooks/useRefreshMemoryCommand.d.ts +0 -6
- package/dist/src/ui/hooks/useRefreshMemoryCommand.js +0 -7
- package/dist/src/ui/hooks/useRefreshMemoryCommand.js.map +0 -1
- package/dist/src/ui/hooks/useShellHistory.d.ts +0 -11
- package/dist/src/ui/hooks/useShellHistory.js +0 -89
- package/dist/src/ui/hooks/useShellHistory.js.map +0 -1
- package/dist/src/ui/hooks/useShowMemoryCommand.d.ts +0 -9
- package/dist/src/ui/hooks/useShowMemoryCommand.js +0 -58
- package/dist/src/ui/hooks/useShowMemoryCommand.js.map +0 -1
- package/dist/src/ui/hooks/useStateAndRef.d.ts +0 -7
- package/dist/src/ui/hooks/useStateAndRef.js +0 -26
- package/dist/src/ui/hooks/useStateAndRef.js.map +0 -1
- package/dist/src/ui/hooks/useTerminalSize.d.ts +0 -9
- package/dist/src/ui/hooks/useTerminalSize.js +0 -27
- package/dist/src/ui/hooks/useTerminalSize.js.map +0 -1
- package/dist/src/ui/hooks/useThemeCommand.d.ts +0 -15
- package/dist/src/ui/hooks/useThemeCommand.js +0 -78
- package/dist/src/ui/hooks/useThemeCommand.js.map +0 -1
- package/dist/src/ui/hooks/useTimer.d.ts +0 -12
- package/dist/src/ui/hooks/useTimer.js +0 -58
- package/dist/src/ui/hooks/useTimer.js.map +0 -1
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.d.ts +0 -12
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +0 -40
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +0 -1
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.d.ts +0 -10
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +0 -17
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js.map +0 -1
- package/dist/src/ui/privacy/GeminiPrivacyNotice.d.ts +0 -10
- package/dist/src/ui/privacy/GeminiPrivacyNotice.js +0 -17
- package/dist/src/ui/privacy/GeminiPrivacyNotice.js.map +0 -1
- package/dist/src/ui/privacy/PrivacyNotice.d.ts +0 -12
- package/dist/src/ui/privacy/PrivacyNotice.js +0 -25
- package/dist/src/ui/privacy/PrivacyNotice.js.map +0 -1
- package/dist/src/ui/themes/ansi-light.d.ts +0 -7
- package/dist/src/ui/themes/ansi-light.js +0 -139
- package/dist/src/ui/themes/ansi-light.js.map +0 -1
- package/dist/src/ui/themes/ansi.d.ts +0 -7
- package/dist/src/ui/themes/ansi.js +0 -149
- package/dist/src/ui/themes/ansi.js.map +0 -1
- package/dist/src/ui/themes/atom-one-dark.d.ts +0 -7
- package/dist/src/ui/themes/atom-one-dark.js +0 -136
- package/dist/src/ui/themes/atom-one-dark.js.map +0 -1
- package/dist/src/ui/themes/ayu-light.d.ts +0 -7
- package/dist/src/ui/themes/ayu-light.js +0 -128
- package/dist/src/ui/themes/ayu-light.js.map +0 -1
- package/dist/src/ui/themes/ayu.d.ts +0 -7
- package/dist/src/ui/themes/ayu.js +0 -102
- package/dist/src/ui/themes/ayu.js.map +0 -1
- package/dist/src/ui/themes/default-light.d.ts +0 -7
- package/dist/src/ui/themes/default-light.js +0 -100
- package/dist/src/ui/themes/default-light.js.map +0 -1
- package/dist/src/ui/themes/default.d.ts +0 -7
- package/dist/src/ui/themes/default.js +0 -143
- package/dist/src/ui/themes/default.js.map +0 -1
- package/dist/src/ui/themes/dracula.d.ts +0 -7
- package/dist/src/ui/themes/dracula.js +0 -113
- package/dist/src/ui/themes/dracula.js.map +0 -1
- package/dist/src/ui/themes/github-dark.d.ts +0 -7
- package/dist/src/ui/themes/github-dark.js +0 -136
- package/dist/src/ui/themes/github-dark.js.map +0 -1
- package/dist/src/ui/themes/github-light.d.ts +0 -7
- package/dist/src/ui/themes/github-light.js +0 -138
- package/dist/src/ui/themes/github-light.js.map +0 -1
- package/dist/src/ui/themes/googlecode.d.ts +0 -7
- package/dist/src/ui/themes/googlecode.js +0 -135
- package/dist/src/ui/themes/googlecode.js.map +0 -1
- package/dist/src/ui/themes/no-color.d.ts +0 -7
- package/dist/src/ui/themes/no-color.js +0 -84
- package/dist/src/ui/themes/no-color.js.map +0 -1
- package/dist/src/ui/themes/shades-of-purple.d.ts +0 -11
- package/dist/src/ui/themes/shades-of-purple.js +0 -302
- package/dist/src/ui/themes/shades-of-purple.js.map +0 -1
- package/dist/src/ui/themes/theme-manager.d.ts +0 -33
- package/dist/src/ui/themes/theme-manager.js +0 -109
- package/dist/src/ui/themes/theme-manager.js.map +0 -1
- package/dist/src/ui/themes/theme.d.ts +0 -67
- package/dist/src/ui/themes/theme.js +0 -304
- package/dist/src/ui/themes/theme.js.map +0 -1
- package/dist/src/ui/themes/xcode.d.ts +0 -7
- package/dist/src/ui/themes/xcode.js +0 -143
- package/dist/src/ui/themes/xcode.js.map +0 -1
- package/dist/src/ui/types.d.ts +0 -172
- package/dist/src/ui/types.js +0 -43
- package/dist/src/ui/types.js.map +0 -1
- package/dist/src/ui/utils/CodeColorizer.d.ts +0 -14
- package/dist/src/ui/utils/CodeColorizer.js +0 -97
- package/dist/src/ui/utils/CodeColorizer.js.map +0 -1
- package/dist/src/ui/utils/InlineMarkdownRenderer.d.ts +0 -16
- package/dist/src/ui/utils/InlineMarkdownRenderer.js +0 -104
- package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +0 -1
- package/dist/src/ui/utils/MarkdownDisplay.d.ts +0 -14
- package/dist/src/ui/utils/MarkdownDisplay.js +0 -197
- package/dist/src/ui/utils/MarkdownDisplay.js.map +0 -1
- package/dist/src/ui/utils/TableRenderer.d.ts +0 -17
- package/dist/src/ui/utils/TableRenderer.js +0 -84
- package/dist/src/ui/utils/TableRenderer.js.map +0 -1
- package/dist/src/ui/utils/commandUtils.d.ts +0 -22
- package/dist/src/ui/utils/commandUtils.js +0 -25
- package/dist/src/ui/utils/commandUtils.js.map +0 -1
- package/dist/src/ui/utils/computeStats.d.ts +0 -10
- package/dist/src/ui/utils/computeStats.js +0 -55
- package/dist/src/ui/utils/computeStats.js.map +0 -1
- package/dist/src/ui/utils/displayUtils.d.ts +0 -17
- package/dist/src/ui/utils/displayUtils.js +0 -24
- package/dist/src/ui/utils/displayUtils.js.map +0 -1
- package/dist/src/ui/utils/errorParsing.d.ts +0 -15
- package/dist/src/ui/utils/errorParsing.js +0 -79
- package/dist/src/ui/utils/errorParsing.js.map +0 -1
- package/dist/src/ui/utils/formatters.d.ts +0 -13
- package/dist/src/ui/utils/formatters.js +0 -56
- package/dist/src/ui/utils/formatters.js.map +0 -1
- package/dist/src/ui/utils/markdownUtilities.d.ts +0 -6
- package/dist/src/ui/utils/markdownUtilities.js +0 -110
- package/dist/src/ui/utils/markdownUtilities.js.map +0 -1
- package/dist/src/ui/utils/textUtils.d.ts +0 -22
- package/dist/src/ui/utils/textUtils.js +0 -58
- package/dist/src/ui/utils/textUtils.js.map +0 -1
- package/dist/src/ui/utils/updateCheck.d.ts +0 -6
- package/dist/src/ui/utils/updateCheck.js +0 -36
- package/dist/src/ui/utils/updateCheck.js.map +0 -1
- package/dist/src/utils/cleanup.d.ts +0 -6
- package/dist/src/utils/cleanup.js +0 -19
- package/dist/src/utils/cleanup.js.map +0 -1
- package/dist/src/utils/package.d.ts +0 -12
- package/dist/src/utils/package.js +0 -24
- package/dist/src/utils/package.js.map +0 -1
- package/dist/src/utils/readStdin.d.ts +0 -6
- package/dist/src/utils/readStdin.js +0 -34
- package/dist/src/utils/readStdin.js.map +0 -1
- package/dist/src/utils/sandbox.d.ts +0 -7
- package/dist/src/utils/sandbox.js +0 -680
- package/dist/src/utils/sandbox.js.map +0 -1
- package/dist/src/utils/startupWarnings.d.ts +0 -6
- package/dist/src/utils/startupWarnings.js +0 -40
- package/dist/src/utils/startupWarnings.js.map +0 -1
- package/dist/src/utils/userStartupWarnings.d.ts +0 -6
- package/dist/src/utils/userStartupWarnings.js +0 -33
- package/dist/src/utils/userStartupWarnings.js.map +0 -1
- package/dist/src/utils/version.d.ts +0 -6
- package/dist/src/utils/version.js +0 -11
- package/dist/src/utils/version.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- /package/{dist/src/utils → bundle}/sandbox-macos-permissive-closed.sb +0 -0
- /package/{dist/src/utils → bundle}/sandbox-macos-permissive-open.sb +0 -0
- /package/{dist/src/utils → bundle}/sandbox-macos-restrictive-closed.sb +0 -0
- /package/{dist/src/utils → bundle}/sandbox-macos-restrictive-open.sb +0 -0
|
@@ -1,384 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* @license
|
|
4
|
-
* Copyright 2025 Google LLC
|
|
5
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
6
|
-
*/
|
|
7
|
-
import React, { Fragment, useEffect, useId } from 'react';
|
|
8
|
-
import { Box, Text } from 'ink';
|
|
9
|
-
import stringWidth from 'string-width';
|
|
10
|
-
import { Colors } from '../../colors.js';
|
|
11
|
-
import { toCodePoints } from '../../utils/textUtils.js';
|
|
12
|
-
import { useOverflowActions } from '../../contexts/OverflowContext.js';
|
|
13
|
-
let enableDebugLog = false;
|
|
14
|
-
/**
|
|
15
|
-
* Minimum height for the MaxSizedBox component.
|
|
16
|
-
* This ensures there is room for at least one line of content as well as the
|
|
17
|
-
* message that content was truncated.
|
|
18
|
-
*/
|
|
19
|
-
export const MINIMUM_MAX_HEIGHT = 2;
|
|
20
|
-
export function setMaxSizedBoxDebugging(value) {
|
|
21
|
-
enableDebugLog = value;
|
|
22
|
-
}
|
|
23
|
-
function debugReportError(message, element) {
|
|
24
|
-
if (!enableDebugLog)
|
|
25
|
-
return;
|
|
26
|
-
if (!React.isValidElement(element)) {
|
|
27
|
-
console.error(message, `Invalid element: '${String(element)}' typeof=${typeof element}`);
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
let sourceMessage = '<Unknown file>';
|
|
31
|
-
try {
|
|
32
|
-
const elementWithSource = element;
|
|
33
|
-
const fileName = elementWithSource._source?.fileName;
|
|
34
|
-
const lineNumber = elementWithSource._source?.lineNumber;
|
|
35
|
-
sourceMessage = fileName ? `${fileName}:${lineNumber}` : '<Unknown file>';
|
|
36
|
-
}
|
|
37
|
-
catch (error) {
|
|
38
|
-
console.error('Error while trying to get file name:', error);
|
|
39
|
-
}
|
|
40
|
-
console.error(message, `${String(element.type)}. Source: ${sourceMessage}`);
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* A React component that constrains the size of its children and provides
|
|
44
|
-
* content-aware truncation when the content exceeds the specified `maxHeight`.
|
|
45
|
-
*
|
|
46
|
-
* `MaxSizedBox` requires a specific structure for its children to correctly
|
|
47
|
-
* measure and render the content:
|
|
48
|
-
*
|
|
49
|
-
* 1. **Direct children must be `<Box>` elements.** Each `<Box>` represents a
|
|
50
|
-
* single row of content.
|
|
51
|
-
* 2. **Row `<Box>` elements must contain only `<Text>` elements.** These
|
|
52
|
-
* `<Text>` elements can be nested and there are no restrictions to Text
|
|
53
|
-
* element styling other than that non-wrapping text elements must be
|
|
54
|
-
* before wrapping text elements.
|
|
55
|
-
*
|
|
56
|
-
* **Constraints:**
|
|
57
|
-
* - **Box Properties:** Custom properties on the child `<Box>` elements are
|
|
58
|
-
* ignored. In debug mode, runtime checks will report errors for any
|
|
59
|
-
* unsupported properties.
|
|
60
|
-
* - **Text Wrapping:** Within a single row, `<Text>` elements with no wrapping
|
|
61
|
-
* (e.g., headers, labels) must appear before any `<Text>` elements that wrap.
|
|
62
|
-
* - **Element Types:** Runtime checks will warn if unsupported element types
|
|
63
|
-
* are used as children.
|
|
64
|
-
*
|
|
65
|
-
* @example
|
|
66
|
-
* <MaxSizedBox maxWidth={80} maxHeight={10}>
|
|
67
|
-
* <Box>
|
|
68
|
-
* <Text>This is the first line.</Text>
|
|
69
|
-
* </Box>
|
|
70
|
-
* <Box>
|
|
71
|
-
* <Text color="cyan" wrap="truncate">Non-wrapping Header: </Text>
|
|
72
|
-
* <Text>This is the rest of the line which will wrap if it's too long.</Text>
|
|
73
|
-
* </Box>
|
|
74
|
-
* <Box>
|
|
75
|
-
* <Text>
|
|
76
|
-
* Line 3 with <Text color="yellow">nested styled text</Text> inside of it.
|
|
77
|
-
* </Text>
|
|
78
|
-
* </Box>
|
|
79
|
-
* </MaxSizedBox>
|
|
80
|
-
*/
|
|
81
|
-
export const MaxSizedBox = ({ children, maxWidth, maxHeight, overflowDirection = 'top', additionalHiddenLinesCount = 0, }) => {
|
|
82
|
-
const id = useId();
|
|
83
|
-
const { addOverflowingId, removeOverflowingId } = useOverflowActions() || {};
|
|
84
|
-
const laidOutStyledText = [];
|
|
85
|
-
const targetMaxHeight = Math.max(Math.round(maxHeight ?? Number.MAX_SAFE_INTEGER), MINIMUM_MAX_HEIGHT);
|
|
86
|
-
if (maxWidth === undefined) {
|
|
87
|
-
throw new Error('maxWidth must be defined when maxHeight is set.');
|
|
88
|
-
}
|
|
89
|
-
function visitRows(element) {
|
|
90
|
-
if (!React.isValidElement(element)) {
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
if (element.type === Fragment) {
|
|
94
|
-
React.Children.forEach(element.props.children, visitRows);
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
if (element.type === Box) {
|
|
98
|
-
layoutInkElementAsStyledText(element, maxWidth, laidOutStyledText);
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
debugReportError('MaxSizedBox children must be <Box> elements', element);
|
|
102
|
-
}
|
|
103
|
-
React.Children.forEach(children, visitRows);
|
|
104
|
-
const contentWillOverflow = (targetMaxHeight !== undefined &&
|
|
105
|
-
laidOutStyledText.length > targetMaxHeight) ||
|
|
106
|
-
additionalHiddenLinesCount > 0;
|
|
107
|
-
const visibleContentHeight = contentWillOverflow && targetMaxHeight !== undefined
|
|
108
|
-
? targetMaxHeight - 1
|
|
109
|
-
: targetMaxHeight;
|
|
110
|
-
const hiddenLinesCount = visibleContentHeight !== undefined
|
|
111
|
-
? Math.max(0, laidOutStyledText.length - visibleContentHeight)
|
|
112
|
-
: 0;
|
|
113
|
-
const totalHiddenLines = hiddenLinesCount + additionalHiddenLinesCount;
|
|
114
|
-
useEffect(() => {
|
|
115
|
-
if (totalHiddenLines > 0) {
|
|
116
|
-
addOverflowingId?.(id);
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
removeOverflowingId?.(id);
|
|
120
|
-
}
|
|
121
|
-
return () => {
|
|
122
|
-
removeOverflowingId?.(id);
|
|
123
|
-
};
|
|
124
|
-
}, [id, totalHiddenLines, addOverflowingId, removeOverflowingId]);
|
|
125
|
-
const visibleStyledText = hiddenLinesCount > 0
|
|
126
|
-
? overflowDirection === 'top'
|
|
127
|
-
? laidOutStyledText.slice(hiddenLinesCount, laidOutStyledText.length)
|
|
128
|
-
: laidOutStyledText.slice(0, visibleContentHeight)
|
|
129
|
-
: laidOutStyledText;
|
|
130
|
-
const visibleLines = visibleStyledText.map((line, index) => (_jsx(Box, { children: line.length > 0 ? (line.map((segment, segIndex) => (_jsx(Text, { ...segment.props, children: segment.text }, segIndex)))) : (_jsx(Text, { children: " " })) }, index)));
|
|
131
|
-
return (_jsxs(Box, { flexDirection: "column", width: maxWidth, flexShrink: 0, children: [totalHiddenLines > 0 && overflowDirection === 'top' && (_jsxs(Text, { color: Colors.Gray, wrap: "truncate", children: ["... first ", totalHiddenLines, " line", totalHiddenLines === 1 ? '' : 's', ' ', "hidden ..."] })), visibleLines, totalHiddenLines > 0 && overflowDirection === 'bottom' && (_jsxs(Text, { color: Colors.Gray, wrap: "truncate", children: ["... last ", totalHiddenLines, " line", totalHiddenLines === 1 ? '' : 's', ' ', "hidden ..."] }))] }));
|
|
132
|
-
};
|
|
133
|
-
/**
|
|
134
|
-
* Flattens the child elements of MaxSizedBox into an array of `Row` objects.
|
|
135
|
-
*
|
|
136
|
-
* This function expects a specific child structure to function correctly:
|
|
137
|
-
* 1. The top-level child of `MaxSizedBox` should be a single `<Box>`. This
|
|
138
|
-
* outer box is primarily for structure and is not directly rendered.
|
|
139
|
-
* 2. Inside the outer `<Box>`, there should be one or more children. Each of
|
|
140
|
-
* these children must be a `<Box>` that represents a row.
|
|
141
|
-
* 3. Inside each "row" `<Box>`, the children must be `<Text>` components.
|
|
142
|
-
*
|
|
143
|
-
* The structure should look like this:
|
|
144
|
-
* <MaxSizedBox>
|
|
145
|
-
* <Box> // Row 1
|
|
146
|
-
* <Text>...</Text>
|
|
147
|
-
* <Text>...</Text>
|
|
148
|
-
* </Box>
|
|
149
|
-
* <Box> // Row 2
|
|
150
|
-
* <Text>...</Text>
|
|
151
|
-
* </Box>
|
|
152
|
-
* </MaxSizedBox>
|
|
153
|
-
*
|
|
154
|
-
* It is an error for a <Text> child without wrapping to appear after a
|
|
155
|
-
* <Text> child with wrapping within the same row Box.
|
|
156
|
-
*
|
|
157
|
-
* @param element The React node to flatten.
|
|
158
|
-
* @returns An array of `Row` objects.
|
|
159
|
-
*/
|
|
160
|
-
function visitBoxRow(element) {
|
|
161
|
-
if (!React.isValidElement(element) ||
|
|
162
|
-
element.type !== Box) {
|
|
163
|
-
debugReportError(`All children of MaxSizedBox must be <Box> elements`, element);
|
|
164
|
-
return {
|
|
165
|
-
noWrapSegments: [{ text: '<ERROR>', props: {} }],
|
|
166
|
-
segments: [],
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
if (enableDebugLog) {
|
|
170
|
-
const boxProps = element.props;
|
|
171
|
-
// Ensure the Box has no props other than the default ones and key.
|
|
172
|
-
let maxExpectedProps = 4;
|
|
173
|
-
if (boxProps.children !== undefined) {
|
|
174
|
-
// Allow the key prop, which is automatically added by React.
|
|
175
|
-
maxExpectedProps += 1;
|
|
176
|
-
}
|
|
177
|
-
if (boxProps.flexDirection !== undefined &&
|
|
178
|
-
boxProps.flexDirection !== 'row') {
|
|
179
|
-
debugReportError('MaxSizedBox children must have flexDirection="row".', element);
|
|
180
|
-
}
|
|
181
|
-
if (Object.keys(boxProps).length > maxExpectedProps) {
|
|
182
|
-
debugReportError(`Boxes inside MaxSizedBox must not have additional props. ${Object.keys(boxProps).join(', ')}`, element);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
const row = {
|
|
186
|
-
noWrapSegments: [],
|
|
187
|
-
segments: [],
|
|
188
|
-
};
|
|
189
|
-
let hasSeenWrapped = false;
|
|
190
|
-
function visitRowChild(element, parentProps) {
|
|
191
|
-
if (element === null) {
|
|
192
|
-
return;
|
|
193
|
-
}
|
|
194
|
-
if (typeof element === 'string' || typeof element === 'number') {
|
|
195
|
-
const text = String(element);
|
|
196
|
-
// Ignore empty strings as they don't need to be rendered.
|
|
197
|
-
if (!text) {
|
|
198
|
-
return;
|
|
199
|
-
}
|
|
200
|
-
const segment = { text, props: parentProps ?? {} };
|
|
201
|
-
// Check the 'wrap' property from the merged props to decide the segment type.
|
|
202
|
-
if (parentProps === undefined || parentProps.wrap === 'wrap') {
|
|
203
|
-
hasSeenWrapped = true;
|
|
204
|
-
row.segments.push(segment);
|
|
205
|
-
}
|
|
206
|
-
else {
|
|
207
|
-
if (!hasSeenWrapped) {
|
|
208
|
-
row.noWrapSegments.push(segment);
|
|
209
|
-
}
|
|
210
|
-
else {
|
|
211
|
-
// put in the wrapped segment as the row is already stuck in wrapped mode.
|
|
212
|
-
row.segments.push(segment);
|
|
213
|
-
debugReportError('Text elements without wrapping cannot appear after elements with wrapping in the same row.', element);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
return;
|
|
217
|
-
}
|
|
218
|
-
if (!React.isValidElement(element)) {
|
|
219
|
-
debugReportError('Invalid element.', element);
|
|
220
|
-
return;
|
|
221
|
-
}
|
|
222
|
-
if (element.type === Fragment) {
|
|
223
|
-
React.Children.forEach(element.props.children, (child) => visitRowChild(child, parentProps));
|
|
224
|
-
return;
|
|
225
|
-
}
|
|
226
|
-
if (element.type !== Text) {
|
|
227
|
-
debugReportError('Children of a row Box must be <Text> elements.', element);
|
|
228
|
-
return;
|
|
229
|
-
}
|
|
230
|
-
// Merge props from parent <Text> elements. Child props take precedence.
|
|
231
|
-
const { children, ...currentProps } = element.props;
|
|
232
|
-
const mergedProps = parentProps === undefined
|
|
233
|
-
? currentProps
|
|
234
|
-
: { ...parentProps, ...currentProps };
|
|
235
|
-
React.Children.forEach(children, (child) => visitRowChild(child, mergedProps));
|
|
236
|
-
}
|
|
237
|
-
React.Children.forEach(element.props.children, (child) => visitRowChild(child, undefined));
|
|
238
|
-
return row;
|
|
239
|
-
}
|
|
240
|
-
function layoutInkElementAsStyledText(element, maxWidth, output) {
|
|
241
|
-
const row = visitBoxRow(element);
|
|
242
|
-
if (row.segments.length === 0 && row.noWrapSegments.length === 0) {
|
|
243
|
-
// Return a single empty line if there are no segments to display
|
|
244
|
-
output.push([]);
|
|
245
|
-
return;
|
|
246
|
-
}
|
|
247
|
-
const lines = [];
|
|
248
|
-
const nonWrappingContent = [];
|
|
249
|
-
let noWrappingWidth = 0;
|
|
250
|
-
// First, lay out the non-wrapping segments
|
|
251
|
-
row.noWrapSegments.forEach((segment) => {
|
|
252
|
-
nonWrappingContent.push(segment);
|
|
253
|
-
noWrappingWidth += stringWidth(segment.text);
|
|
254
|
-
});
|
|
255
|
-
if (row.segments.length === 0) {
|
|
256
|
-
// This is a bit of a special case when there are no segments that allow
|
|
257
|
-
// wrapping. It would be ideal to unify.
|
|
258
|
-
const lines = [];
|
|
259
|
-
let currentLine = [];
|
|
260
|
-
nonWrappingContent.forEach((segment) => {
|
|
261
|
-
const textLines = segment.text.split('\n');
|
|
262
|
-
textLines.forEach((text, index) => {
|
|
263
|
-
if (index > 0) {
|
|
264
|
-
lines.push(currentLine);
|
|
265
|
-
currentLine = [];
|
|
266
|
-
}
|
|
267
|
-
if (text) {
|
|
268
|
-
currentLine.push({ text, props: segment.props });
|
|
269
|
-
}
|
|
270
|
-
});
|
|
271
|
-
});
|
|
272
|
-
if (currentLine.length > 0 ||
|
|
273
|
-
(nonWrappingContent.length > 0 &&
|
|
274
|
-
nonWrappingContent[nonWrappingContent.length - 1].text.endsWith('\n'))) {
|
|
275
|
-
lines.push(currentLine);
|
|
276
|
-
}
|
|
277
|
-
for (const line of lines) {
|
|
278
|
-
output.push(line);
|
|
279
|
-
}
|
|
280
|
-
return;
|
|
281
|
-
}
|
|
282
|
-
const availableWidth = maxWidth - noWrappingWidth;
|
|
283
|
-
if (availableWidth < 1) {
|
|
284
|
-
// No room to render the wrapping segments. TODO(jacob314): consider an alternative fallback strategy.
|
|
285
|
-
output.push(nonWrappingContent);
|
|
286
|
-
return;
|
|
287
|
-
}
|
|
288
|
-
// Now, lay out the wrapping segments
|
|
289
|
-
let wrappingPart = [];
|
|
290
|
-
let wrappingPartWidth = 0;
|
|
291
|
-
function addWrappingPartToLines() {
|
|
292
|
-
if (lines.length === 0) {
|
|
293
|
-
lines.push([...nonWrappingContent, ...wrappingPart]);
|
|
294
|
-
}
|
|
295
|
-
else {
|
|
296
|
-
if (noWrappingWidth > 0) {
|
|
297
|
-
lines.push([
|
|
298
|
-
...[{ text: ' '.repeat(noWrappingWidth), props: {} }],
|
|
299
|
-
...wrappingPart,
|
|
300
|
-
]);
|
|
301
|
-
}
|
|
302
|
-
else {
|
|
303
|
-
lines.push(wrappingPart);
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
wrappingPart = [];
|
|
307
|
-
wrappingPartWidth = 0;
|
|
308
|
-
}
|
|
309
|
-
function addToWrappingPart(text, props) {
|
|
310
|
-
if (wrappingPart.length > 0 &&
|
|
311
|
-
wrappingPart[wrappingPart.length - 1].props === props) {
|
|
312
|
-
wrappingPart[wrappingPart.length - 1].text += text;
|
|
313
|
-
}
|
|
314
|
-
else {
|
|
315
|
-
wrappingPart.push({ text, props });
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
row.segments.forEach((segment) => {
|
|
319
|
-
const linesFromSegment = segment.text.split('\n');
|
|
320
|
-
linesFromSegment.forEach((lineText, lineIndex) => {
|
|
321
|
-
if (lineIndex > 0) {
|
|
322
|
-
addWrappingPartToLines();
|
|
323
|
-
}
|
|
324
|
-
const words = lineText.split(/(\s+)/); // Split by whitespace
|
|
325
|
-
words.forEach((word) => {
|
|
326
|
-
if (!word)
|
|
327
|
-
return;
|
|
328
|
-
const wordWidth = stringWidth(word);
|
|
329
|
-
if (wrappingPartWidth + wordWidth > availableWidth &&
|
|
330
|
-
wrappingPartWidth > 0) {
|
|
331
|
-
addWrappingPartToLines();
|
|
332
|
-
if (/^\s+$/.test(word)) {
|
|
333
|
-
return;
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
if (wordWidth > availableWidth) {
|
|
337
|
-
// Word is too long, needs to be split across lines
|
|
338
|
-
const wordAsCodePoints = toCodePoints(word);
|
|
339
|
-
let remainingWordAsCodePoints = wordAsCodePoints;
|
|
340
|
-
while (remainingWordAsCodePoints.length > 0) {
|
|
341
|
-
let splitIndex = 0;
|
|
342
|
-
let currentSplitWidth = 0;
|
|
343
|
-
for (const char of remainingWordAsCodePoints) {
|
|
344
|
-
const charWidth = stringWidth(char);
|
|
345
|
-
if (wrappingPartWidth + currentSplitWidth + charWidth >
|
|
346
|
-
availableWidth) {
|
|
347
|
-
break;
|
|
348
|
-
}
|
|
349
|
-
currentSplitWidth += charWidth;
|
|
350
|
-
splitIndex++;
|
|
351
|
-
}
|
|
352
|
-
if (splitIndex > 0) {
|
|
353
|
-
const part = remainingWordAsCodePoints
|
|
354
|
-
.slice(0, splitIndex)
|
|
355
|
-
.join('');
|
|
356
|
-
addToWrappingPart(part, segment.props);
|
|
357
|
-
wrappingPartWidth += stringWidth(part);
|
|
358
|
-
remainingWordAsCodePoints =
|
|
359
|
-
remainingWordAsCodePoints.slice(splitIndex);
|
|
360
|
-
}
|
|
361
|
-
if (remainingWordAsCodePoints.length > 0) {
|
|
362
|
-
addWrappingPartToLines();
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
else {
|
|
367
|
-
addToWrappingPart(word, segment.props);
|
|
368
|
-
wrappingPartWidth += wordWidth;
|
|
369
|
-
}
|
|
370
|
-
});
|
|
371
|
-
});
|
|
372
|
-
// Split omits a trailing newline, so we need to handle it here
|
|
373
|
-
if (segment.text.endsWith('\n')) {
|
|
374
|
-
addWrappingPartToLines();
|
|
375
|
-
}
|
|
376
|
-
});
|
|
377
|
-
if (wrappingPart.length > 0) {
|
|
378
|
-
addWrappingPartToLines();
|
|
379
|
-
}
|
|
380
|
-
for (const line of lines) {
|
|
381
|
-
output.push(line);
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
//# sourceMappingURL=MaxSizedBox.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MaxSizedBox.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/MaxSizedBox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import React from 'react';
|
|
7
|
-
/**
|
|
8
|
-
* Represents a single option for the RadioButtonSelect.
|
|
9
|
-
* Requires a label for display and a value to be returned on selection.
|
|
10
|
-
*/
|
|
11
|
-
export interface RadioSelectItem<T> {
|
|
12
|
-
label: string;
|
|
13
|
-
value: T;
|
|
14
|
-
disabled?: boolean;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Props for the RadioButtonSelect component.
|
|
18
|
-
* @template T The type of the value associated with each radio item.
|
|
19
|
-
*/
|
|
20
|
-
export interface RadioButtonSelectProps<T> {
|
|
21
|
-
/** An array of items to display as radio options. */
|
|
22
|
-
items: Array<RadioSelectItem<T> & {
|
|
23
|
-
themeNameDisplay?: string;
|
|
24
|
-
themeTypeDisplay?: string;
|
|
25
|
-
}>;
|
|
26
|
-
/** The initial index selected */
|
|
27
|
-
initialIndex?: number;
|
|
28
|
-
/** Function called when an item is selected. Receives the `value` of the selected item. */
|
|
29
|
-
onSelect: (value: T) => void;
|
|
30
|
-
/** Function called when an item is highlighted. Receives the `value` of the selected item. */
|
|
31
|
-
onHighlight?: (value: T) => void;
|
|
32
|
-
/** Whether this select input is currently focused and should respond to input. */
|
|
33
|
-
isFocused?: boolean;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* A specialized SelectInput component styled to look like radio buttons.
|
|
37
|
-
* It uses '◉' for selected and '○' for unselected items.
|
|
38
|
-
*
|
|
39
|
-
* @template T The type of the value associated with each radio item.
|
|
40
|
-
*/
|
|
41
|
-
export declare function RadioButtonSelect<T>({ items, initialIndex, onSelect, onHighlight, isFocused, }: RadioButtonSelectProps<T>): React.JSX.Element;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Text, Box } from 'ink';
|
|
3
|
-
import SelectInput from 'ink-select-input';
|
|
4
|
-
import { Colors } from '../../colors.js';
|
|
5
|
-
/**
|
|
6
|
-
* A specialized SelectInput component styled to look like radio buttons.
|
|
7
|
-
* It uses '◉' for selected and '○' for unselected items.
|
|
8
|
-
*
|
|
9
|
-
* @template T The type of the value associated with each radio item.
|
|
10
|
-
*/
|
|
11
|
-
export function RadioButtonSelect({ items, initialIndex, onSelect, onHighlight, isFocused, // This prop indicates if the current RadioButtonSelect group is focused
|
|
12
|
-
}) {
|
|
13
|
-
const handleSelect = (item) => {
|
|
14
|
-
onSelect(item.value);
|
|
15
|
-
};
|
|
16
|
-
const handleHighlight = (item) => {
|
|
17
|
-
if (onHighlight) {
|
|
18
|
-
onHighlight(item.value);
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* Custom indicator component displaying radio button style (◉/○).
|
|
23
|
-
* Color changes based on whether the item is selected and if its group is focused.
|
|
24
|
-
*/
|
|
25
|
-
function DynamicRadioIndicator({ isSelected = false, }) {
|
|
26
|
-
return (_jsx(Box, { minWidth: 2, flexShrink: 0, children: _jsx(Text, { color: isSelected ? Colors.AccentGreen : Colors.Foreground, children: isSelected ? '●' : '○' }) }));
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Custom item component for displaying the label.
|
|
30
|
-
* Color changes based on whether the item is selected and if its group is focused.
|
|
31
|
-
* Now also handles displaying theme type with custom color.
|
|
32
|
-
*/
|
|
33
|
-
function CustomThemeItemComponent(props) {
|
|
34
|
-
const { isSelected = false, label } = props;
|
|
35
|
-
const itemWithThemeProps = props;
|
|
36
|
-
let textColor = Colors.Foreground;
|
|
37
|
-
if (isSelected) {
|
|
38
|
-
textColor = Colors.AccentGreen;
|
|
39
|
-
}
|
|
40
|
-
else if (itemWithThemeProps.disabled === true) {
|
|
41
|
-
textColor = Colors.Gray;
|
|
42
|
-
}
|
|
43
|
-
if (itemWithThemeProps.themeNameDisplay &&
|
|
44
|
-
itemWithThemeProps.themeTypeDisplay) {
|
|
45
|
-
return (_jsxs(Text, { color: textColor, wrap: "truncate", children: [itemWithThemeProps.themeNameDisplay, ' ', _jsx(Text, { color: Colors.Gray, children: itemWithThemeProps.themeTypeDisplay })] }));
|
|
46
|
-
}
|
|
47
|
-
return (_jsx(Text, { color: textColor, wrap: "truncate", children: label }));
|
|
48
|
-
}
|
|
49
|
-
initialIndex = initialIndex ?? 0;
|
|
50
|
-
return (_jsx(SelectInput, { indicatorComponent: DynamicRadioIndicator, itemComponent: CustomThemeItemComponent, items: items, initialIndex: initialIndex, onSelect: handleSelect, onHighlight: handleHighlight, isFocused: isFocused }));
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=RadioButtonSelect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RadioButtonSelect.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/RadioButtonSelect.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,WAGN,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAsCzC;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAI,EACnC,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,SAAS,EAAE,wEAAwE;EACzD;IAC1B,MAAM,YAAY,GAAG,CAAC,IAAwB,EAAE,EAAE;QAChD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,CAAC,IAAwB,EAAE,EAAE;QACnD,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;IAEF;;;OAGG;IACH,SAAS,qBAAqB,CAAC,EAC7B,UAAU,GAAG,KAAK,GACM;QACxB,OAAO,CACL,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,YAC7B,KAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,YAC7D,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAClB,GACH,CACP,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,SAAS,wBAAwB,CAC/B,KAAyB;QAEzB,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAC5C,MAAM,kBAAkB,GAAG,KAI1B,CAAC;QAEF,IAAI,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;QAClC,IAAI,UAAU,EAAE,CAAC;YACf,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;QACjC,CAAC;aAAM,IAAI,kBAAkB,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAChD,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC;QAED,IACE,kBAAkB,CAAC,gBAAgB;YACnC,kBAAkB,CAAC,gBAAgB,EACnC,CAAC;YACD,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC,UAAU,aACpC,kBAAkB,CAAC,gBAAgB,EAAE,GAAG,EACzC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,YAAG,kBAAkB,CAAC,gBAAgB,GAAQ,IACjE,CACR,CAAC;QACJ,CAAC;QAED,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC,UAAU,YACpC,KAAK,GACD,CACR,CAAC;IACJ,CAAC;IAED,YAAY,GAAG,YAAY,IAAI,CAAC,CAAC;IACjC,OAAO,CACL,KAAC,WAAW,IACV,kBAAkB,EAAE,qBAAqB,EACzC,aAAa,EAAE,wBAAwB,EACvC,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,eAAe,EAC5B,SAAS,EAAE,SAAS,GACpB,CACH,CAAC;AACJ,CAAC"}
|