@machina.ai/cell-cli 1.41.1-rc1 → 1.45.1-rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +17 -17
- package/dist/index.js.map +1 -1
- package/dist/package.json +5 -5
- package/dist/src/acp/README.md +81 -0
- package/dist/src/acp/{commandHandler.d.ts → acpCommandHandler.d.ts} +1 -1
- package/dist/src/acp/{commandHandler.js → acpCommandHandler.js} +2 -2
- package/dist/src/acp/acpCommandHandler.js.map +1 -0
- package/dist/src/acp/{commandHandler.test.js → acpCommandHandler.test.js} +4 -5
- package/dist/src/acp/acpCommandHandler.test.js.map +1 -0
- package/dist/src/acp/acpErrors.d.ts +1 -1
- package/dist/src/acp/acpErrors.js +1 -1
- package/dist/src/acp/acpErrors.test.d.ts +1 -1
- package/dist/src/acp/acpErrors.test.js +1 -1
- package/dist/src/acp/{fileSystemService.d.ts → acpFileSystemService.d.ts} +1 -1
- package/dist/src/acp/{fileSystemService.js → acpFileSystemService.js} +7 -4
- package/dist/src/acp/acpFileSystemService.js.map +1 -0
- package/dist/src/acp/{fileSystemService.test.js → acpFileSystemService.test.js} +3 -3
- package/dist/src/acp/acpFileSystemService.test.js.map +1 -0
- package/dist/src/acp/acpResume.test.d.ts +1 -1
- package/dist/src/acp/acpResume.test.js +12 -7
- package/dist/src/acp/acpResume.test.js.map +1 -1
- package/dist/src/acp/acpRpcDispatcher.d.ts +28 -0
- package/dist/src/acp/acpRpcDispatcher.js +177 -0
- package/dist/src/acp/acpRpcDispatcher.js.map +1 -0
- package/dist/src/acp/acpRpcDispatcher.test.d.ts +6 -0
- package/dist/src/acp/acpRpcDispatcher.test.js +238 -0
- package/dist/src/acp/acpRpcDispatcher.test.js.map +1 -0
- package/dist/src/acp/acpSession.d.ts +36 -0
- package/dist/src/acp/{acpClient.js → acpSession.js} +333 -774
- package/dist/src/acp/acpSession.js.map +1 -0
- package/dist/src/acp/acpSession.test.d.ts +6 -0
- package/dist/src/acp/acpSession.test.js +739 -0
- package/dist/src/acp/acpSession.test.js.map +1 -0
- package/dist/src/acp/acpSessionManager.d.ts +30 -0
- package/dist/src/acp/acpSessionManager.js +206 -0
- package/dist/src/acp/acpSessionManager.js.map +1 -0
- package/dist/src/acp/acpSessionManager.test.d.ts +6 -0
- package/dist/src/acp/acpSessionManager.test.js +283 -0
- package/dist/src/acp/acpSessionManager.test.js.map +1 -0
- package/dist/src/acp/acpStdioTransport.d.ts +9 -0
- package/dist/src/acp/acpStdioTransport.js +23 -0
- package/dist/src/acp/acpStdioTransport.js.map +1 -0
- package/dist/src/acp/acpUtils.d.ts +56 -0
- package/dist/src/acp/acpUtils.js +288 -0
- package/dist/src/acp/acpUtils.js.map +1 -0
- package/dist/src/acp/commands/commandRegistry.d.ts +1 -1
- package/dist/src/acp/commands/commandRegistry.js +1 -1
- package/dist/src/acp/commands/extensions.d.ts +1 -1
- package/dist/src/acp/commands/extensions.js +1 -1
- package/dist/src/acp/commands/extensions.test.d.ts +6 -0
- package/dist/src/acp/commands/extensions.test.js +70 -0
- package/dist/src/acp/commands/extensions.test.js.map +1 -0
- package/dist/src/acp/commands/init.d.ts +1 -1
- package/dist/src/acp/commands/init.js +1 -1
- package/dist/src/acp/commands/memory.d.ts +3 -8
- package/dist/src/acp/commands/memory.js +18 -47
- package/dist/src/acp/commands/memory.js.map +1 -1
- package/dist/src/acp/commands/restore.d.ts +1 -1
- package/dist/src/acp/commands/restore.js +1 -1
- package/dist/src/acp/commands/restore.test.js +7 -13
- package/dist/src/acp/commands/restore.test.js.map +1 -1
- package/dist/src/acp/commands/types.d.ts +1 -1
- package/dist/src/acp/commands/types.js +1 -1
- package/dist/src/commands/extensions/configure.test.js +6 -2
- package/dist/src/commands/extensions/configure.test.js.map +1 -1
- package/dist/src/commands/extensions/utils.d.ts +1 -1
- package/dist/src/commands/extensions/utils.js +1 -2
- package/dist/src/commands/extensions/utils.js.map +1 -1
- package/dist/src/commands/mcp/list.js +19 -5
- package/dist/src/commands/mcp/list.js.map +1 -1
- package/dist/src/commands/mcp/list.test.js +285 -100
- package/dist/src/commands/mcp/list.test.js.map +1 -1
- package/dist/src/config/auth.d.ts +1 -1
- package/dist/src/config/auth.js +4 -3
- package/dist/src/config/auth.js.map +1 -1
- package/dist/src/config/auth.test.js +11 -4
- package/dist/src/config/auth.test.js.map +1 -1
- package/dist/src/config/config.d.ts +4 -0
- package/dist/src/config/config.js +65 -47
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +25 -106
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/extension-manager-agents.test.js +2 -0
- package/dist/src/config/extension-manager-agents.test.js.map +1 -1
- package/dist/src/config/extension-manager-hydration.test.js +2 -0
- package/dist/src/config/extension-manager-hydration.test.js.map +1 -1
- package/dist/src/config/extension-manager-scope.test.js +4 -2
- package/dist/src/config/extension-manager-scope.test.js.map +1 -1
- package/dist/src/config/extension-manager-themes.spec.js +2 -0
- package/dist/src/config/extension-manager-themes.spec.js.map +1 -1
- package/dist/src/config/extension-manager.d.ts +2 -2
- package/dist/src/config/extension-manager.js +2 -1
- package/dist/src/config/extension-manager.js.map +1 -1
- package/dist/src/config/extensionRegistryClient.js +0 -1
- package/dist/src/config/extensionRegistryClient.js.map +1 -1
- package/dist/src/config/extensions/consent.d.ts +1 -1
- package/dist/src/config/extensions/consent.js +5 -4
- package/dist/src/config/extensions/consent.js.map +1 -1
- package/dist/src/config/extensions/consent.test.js +22 -0
- package/dist/src/config/extensions/consent.test.js.map +1 -1
- package/dist/src/config/extensions/extensionEnablement.js +4 -2
- package/dist/src/config/extensions/extensionEnablement.js.map +1 -1
- package/dist/src/config/extensions/extensionSettings.d.ts +3 -3
- package/dist/src/config/extensions/extensionSettings.js +7 -3
- package/dist/src/config/extensions/extensionSettings.js.map +1 -1
- package/dist/src/config/extensions/variables.js +1 -3
- package/dist/src/config/extensions/variables.js.map +1 -1
- package/dist/src/config/footerItems.d.ts +4 -0
- package/dist/src/config/footerItems.js +6 -0
- package/dist/src/config/footerItems.js.map +1 -1
- package/dist/src/config/footerItems.test.js +1 -0
- package/dist/src/config/footerItems.test.js.map +1 -1
- package/dist/src/config/mcp/mcpServerEnablement.js +1 -1
- package/dist/src/config/mcp/mcpServerEnablement.js.map +1 -1
- package/dist/src/config/mutual-exclusivity.test.js +33 -0
- package/dist/src/config/mutual-exclusivity.test.js.map +1 -0
- package/dist/src/config/settings-env-isolation.test.d.ts +6 -0
- package/dist/src/config/settings-env-isolation.test.js +188 -0
- package/dist/src/config/settings-env-isolation.test.js.map +1 -0
- package/dist/src/config/settings.d.ts +15 -1
- package/dist/src/config/settings.js +89 -17
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settings.test.js +167 -0
- package/dist/src/config/settings.test.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +56 -25
- package/dist/src/config/settingsSchema.js +66 -27
- package/dist/src/config/settingsSchema.js.map +1 -1
- package/dist/src/config/settingsSchema.test.js +8 -0
- package/dist/src/config/settingsSchema.test.js.map +1 -1
- package/dist/src/config/skipExtensions.test.d.ts +6 -0
- package/dist/src/config/skipExtensions.test.js +49 -0
- package/dist/src/config/skipExtensions.test.js.map +1 -0
- package/dist/src/config/workspace-policy-cli.test.js +0 -5
- package/dist/src/config/workspace-policy-cli.test.js.map +1 -1
- package/dist/src/gemini.d.ts +2 -2
- package/dist/src/gemini.js +120 -31
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/gemini.test.js +147 -16
- package/dist/src/gemini.test.js.map +1 -1
- package/dist/src/gemini_cleanup.test.js +1 -1
- package/dist/src/gemini_cleanup.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/interactiveCli.js +1 -1
- package/dist/src/interactiveCli.js.map +1 -1
- package/dist/src/nonInteractiveCli.d.ts +7 -0
- package/dist/src/nonInteractiveCli.js +56 -6
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/nonInteractiveCli.test.js +253 -18
- package/dist/src/nonInteractiveCli.test.js.map +1 -1
- package/dist/src/nonInteractiveCliAgentSession.d.ts +7 -0
- package/dist/src/nonInteractiveCliAgentSession.js +22 -3
- package/dist/src/nonInteractiveCliAgentSession.js.map +1 -1
- package/dist/src/nonInteractiveCliAgentSession.test.js +200 -20
- package/dist/src/nonInteractiveCliAgentSession.test.js.map +1 -1
- package/dist/src/output-redirection.test.d.ts +6 -0
- package/dist/src/output-redirection.test.js +77 -0
- package/dist/src/output-redirection.test.js.map +1 -0
- package/dist/src/patches/http-proxy-agent.d.ts +6 -0
- package/dist/src/patches/http-proxy-agent.js +8 -0
- package/dist/src/patches/http-proxy-agent.js.map +1 -0
- package/dist/src/patches/https-proxy-agent.d.ts +6 -0
- package/dist/src/patches/https-proxy-agent.js +8 -0
- package/dist/src/patches/https-proxy-agent.js.map +1 -0
- package/dist/src/services/BuiltinCommandLoader.js +5 -1
- package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.test.js +6 -1
- package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
- package/dist/src/services/FileCommandLoader.d.ts +21 -0
- package/dist/src/services/FileCommandLoader.js +58 -6
- package/dist/src/services/FileCommandLoader.js.map +1 -1
- package/dist/src/services/FileCommandLoader.test.js +27 -1
- package/dist/src/services/FileCommandLoader.test.js.map +1 -1
- package/dist/src/test-utils/mockCommandContext.js +6 -1
- package/dist/src/test-utils/mockCommandContext.js.map +1 -1
- package/dist/src/test-utils/mockConfig.js +0 -3
- package/dist/src/test-utils/mockConfig.js.map +1 -1
- package/dist/src/test-utils/render.js +1 -0
- package/dist/src/test-utils/render.js.map +1 -1
- package/dist/src/test-utils/settings.d.ts +1 -0
- package/dist/src/test-utils/settings.js.map +1 -1
- package/dist/src/ui/AppContainer.js +60 -73
- package/dist/src/ui/AppContainer.js.map +1 -1
- package/dist/src/ui/AppContainer.test.js +101 -1
- package/dist/src/ui/AppContainer.test.js.map +1 -1
- package/dist/src/ui/auth/AuthDialog.js +6 -3
- package/dist/src/ui/auth/AuthDialog.js.map +1 -1
- package/dist/src/ui/auth/AuthDialog.test.js +33 -10
- package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
- package/dist/src/ui/auth/LoginRestartDialog.d.ts +13 -0
- package/dist/src/ui/auth/{LoginWithGoogleRestartDialog.js → LoginRestartDialog.js} +7 -6
- package/dist/src/ui/auth/LoginRestartDialog.js.map +1 -0
- package/dist/src/ui/auth/LoginRestartDialog.test.d.ts +6 -0
- package/dist/src/ui/auth/{LoginWithGoogleRestartDialog.test.js → LoginRestartDialog.test.js} +13 -8
- package/dist/src/ui/auth/LoginRestartDialog.test.js.map +1 -0
- package/dist/src/ui/auth/useAuth.d.ts +1 -1
- package/dist/src/ui/auth/useAuth.js +2 -2
- package/dist/src/ui/auth/useAuth.js.map +1 -1
- package/dist/src/ui/auth/useAuth.test.js +10 -10
- package/dist/src/ui/auth/useAuth.test.js.map +1 -1
- package/dist/src/ui/commands/agentsCommand.js +19 -2
- package/dist/src/ui/commands/agentsCommand.js.map +1 -1
- package/dist/src/ui/commands/agentsCommand.test.js +34 -3
- package/dist/src/ui/commands/agentsCommand.test.js.map +1 -1
- package/dist/src/ui/commands/bugCommand.js +36 -0
- package/dist/src/ui/commands/bugCommand.js.map +1 -1
- package/dist/src/ui/commands/bugCommand.test.js +106 -1
- package/dist/src/ui/commands/bugCommand.test.js.map +1 -1
- package/dist/src/ui/commands/bugMemoryCommand.d.ts +7 -0
- package/dist/src/ui/commands/bugMemoryCommand.js +62 -0
- package/dist/src/ui/commands/bugMemoryCommand.js.map +1 -0
- package/dist/src/ui/commands/bugMemoryCommand.test.js +100 -0
- package/dist/src/ui/commands/bugMemoryCommand.test.js.map +1 -0
- package/dist/src/ui/commands/commandsCommand.js +52 -4
- package/dist/src/ui/commands/commandsCommand.js.map +1 -1
- package/dist/src/ui/commands/commandsCommand.test.js +75 -2
- package/dist/src/ui/commands/commandsCommand.test.js.map +1 -1
- package/dist/src/ui/commands/compressCommand.js +28 -26
- package/dist/src/ui/commands/compressCommand.js.map +1 -1
- package/dist/src/ui/commands/compressCommand.test.js +5 -0
- package/dist/src/ui/commands/compressCommand.test.js.map +1 -1
- package/dist/src/ui/commands/directoryCommand.js +2 -2
- package/dist/src/ui/commands/directoryCommand.js.map +1 -1
- package/dist/src/ui/commands/directoryCommand.test.js +1 -0
- package/dist/src/ui/commands/directoryCommand.test.js.map +1 -1
- package/dist/src/ui/commands/exportSessionCommand.d.ts +7 -0
- package/dist/src/ui/commands/exportSessionCommand.js +74 -0
- package/dist/src/ui/commands/exportSessionCommand.js.map +1 -0
- package/dist/src/ui/commands/exportSessionCommand.test.js +100 -0
- package/dist/src/ui/commands/exportSessionCommand.test.js.map +1 -0
- package/dist/src/ui/commands/extensionsCommand.js +1 -0
- package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
- package/dist/src/ui/commands/extensionsCommand.test.js +4 -0
- package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
- package/dist/src/ui/commands/marketplaceCommand.js +13 -1
- package/dist/src/ui/commands/marketplaceCommand.js.map +1 -1
- package/dist/src/ui/commands/memoryCommand.d.ts +2 -1
- package/dist/src/ui/commands/memoryCommand.js +110 -117
- package/dist/src/ui/commands/memoryCommand.js.map +1 -1
- package/dist/src/ui/commands/memoryCommand.test.js +18 -71
- package/dist/src/ui/commands/memoryCommand.test.js.map +1 -1
- package/dist/src/ui/commands/quitCommand.js +3 -1
- package/dist/src/ui/commands/quitCommand.js.map +1 -1
- package/dist/src/ui/commands/quitCommand.test.js +46 -1
- package/dist/src/ui/commands/quitCommand.test.js.map +1 -1
- package/dist/src/ui/commands/rewindCommand.js.map +1 -1
- package/dist/src/ui/commands/skillsCommand.js +1 -1
- package/dist/src/ui/commands/skillsCommand.js.map +1 -1
- package/dist/src/ui/commands/skillsCommand.test.js +19 -0
- package/dist/src/ui/commands/skillsCommand.test.js.map +1 -1
- package/dist/src/ui/commands/types.d.ts +3 -1
- package/dist/src/ui/commands/types.js.map +1 -1
- package/dist/src/ui/components/AsciiArt.d.ts +6 -6
- package/dist/src/ui/components/AsciiArt.js +6 -6
- package/dist/src/ui/components/AskUserDialog.js +3 -1
- package/dist/src/ui/components/AskUserDialog.js.map +1 -1
- package/dist/src/ui/components/AskUserDialog.test.js +43 -0
- package/dist/src/ui/components/AskUserDialog.test.js.map +1 -1
- package/dist/src/ui/components/Composer.js +1 -1
- package/dist/src/ui/components/Composer.js.map +1 -1
- package/dist/src/ui/components/DialogManager.js +4 -0
- package/dist/src/ui/components/DialogManager.js.map +1 -1
- package/dist/src/ui/components/EditorSettingsDialog.js +3 -6
- package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
- package/dist/src/ui/components/Footer.js +6 -0
- package/dist/src/ui/components/Footer.js.map +1 -1
- package/dist/src/ui/components/FooterConfigDialog.js +1 -0
- package/dist/src/ui/components/FooterConfigDialog.js.map +1 -1
- package/dist/src/ui/components/FooterConfigDialog.test.js +1 -1
- package/dist/src/ui/components/FooterConfigDialog.test.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.js +3 -1
- package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.test.js +15 -0
- package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
- package/dist/src/ui/components/{SkillInboxDialog.d.ts → InboxDialog.d.ts} +3 -2
- package/dist/src/ui/components/InboxDialog.js +756 -0
- package/dist/src/ui/components/InboxDialog.js.map +1 -0
- package/dist/src/ui/components/InboxDialog.test.d.ts +6 -0
- package/dist/src/ui/components/InboxDialog.test.js +824 -0
- package/dist/src/ui/components/InboxDialog.test.js.map +1 -0
- package/dist/src/ui/components/InputPrompt.d.ts +3 -0
- package/dist/src/ui/components/InputPrompt.js +35 -17
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.test.js +95 -46
- package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
- package/dist/src/ui/components/ListeningIndicator.d.ts +10 -0
- package/dist/src/ui/components/ListeningIndicator.js +30 -0
- package/dist/src/ui/components/ListeningIndicator.js.map +1 -0
- package/dist/src/ui/components/MainContent.test.js +23 -3
- package/dist/src/ui/components/MainContent.test.js.map +1 -1
- package/dist/src/ui/components/ModelDialog.js +40 -34
- package/dist/src/ui/components/ModelDialog.js.map +1 -1
- package/dist/src/ui/components/ModelDialog.test.js +30 -27
- package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
- package/dist/src/ui/components/ModelStatsDisplay.js +1 -1
- package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -1
- package/dist/src/ui/components/ModelStatsDisplay.test.js +41 -0
- package/dist/src/ui/components/ModelStatsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/SessionBrowser.js +7 -0
- package/dist/src/ui/components/SessionBrowser.js.map +1 -1
- package/dist/src/ui/components/SessionSummaryDisplay.js +9 -4
- package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -1
- package/dist/src/ui/components/SessionSummaryDisplay.test.js +12 -23
- package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.js +37 -17
- package/dist/src/ui/components/SettingsDialog.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.test.js +83 -1
- package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/StatsDisplay.js +2 -2
- package/dist/src/ui/components/StatsDisplay.js.map +1 -1
- package/dist/src/ui/components/StatsDisplay.test.js +24 -0
- package/dist/src/ui/components/StatsDisplay.test.js.map +1 -1
- package/dist/src/ui/components/ThemeDialog.constants.d.ts +26 -0
- package/dist/src/ui/components/ThemeDialog.constants.js +27 -0
- package/dist/src/ui/components/ThemeDialog.constants.js.map +1 -0
- package/dist/src/ui/components/ThemeDialog.js +5 -15
- package/dist/src/ui/components/ThemeDialog.js.map +1 -1
- package/dist/src/ui/components/ToolConfirmationQueue.test.js +1 -1
- package/dist/src/ui/components/ToolConfirmationQueue.test.js.map +1 -1
- package/dist/src/ui/components/VoiceModelDialog.js +7 -2
- package/dist/src/ui/components/VoiceModelDialog.js.map +1 -1
- package/dist/src/ui/components/VoiceModelDialog.test.d.ts +6 -0
- package/dist/src/ui/components/VoiceModelDialog.test.js +68 -0
- package/dist/src/ui/components/VoiceModelDialog.test.js.map +1 -0
- package/dist/src/ui/components/messages/ExportSessionMessage.d.ts +11 -0
- package/dist/src/ui/components/messages/ExportSessionMessage.js +15 -0
- package/dist/src/ui/components/messages/ExportSessionMessage.js.map +1 -0
- package/dist/src/ui/components/messages/ExportSessionMessage.test.d.ts +6 -0
- package/dist/src/ui/components/messages/ExportSessionMessage.test.js +31 -0
- package/dist/src/ui/components/messages/ExportSessionMessage.test.js.map +1 -0
- package/dist/src/ui/components/messages/ShellToolMessage.js +6 -2
- package/dist/src/ui/components/messages/ShellToolMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ShellToolMessage.test.js +33 -0
- package/dist/src/ui/components/messages/ShellToolMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/SubagentGroupDisplay.js +13 -13
- package/dist/src/ui/components/messages/SubagentGroupDisplay.js.map +1 -1
- package/dist/src/ui/components/messages/SubagentGroupDisplay.test.js +5 -5
- package/dist/src/ui/components/messages/SubagentGroupDisplay.test.js.map +1 -1
- package/dist/src/ui/components/messages/SubagentHistoryMessage.test.js +4 -3
- package/dist/src/ui/components/messages/SubagentHistoryMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/SubagentProgressDisplay.d.ts +1 -1
- package/dist/src/ui/components/messages/SubagentProgressDisplay.js +7 -6
- package/dist/src/ui/components/messages/SubagentProgressDisplay.js.map +1 -1
- package/dist/src/ui/components/messages/SubagentProgressDisplay.test.js +10 -9
- package/dist/src/ui/components/messages/SubagentProgressDisplay.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +3 -9
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +60 -0
- package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupDisplay.d.ts +13 -0
- package/dist/src/ui/components/messages/ToolGroupDisplay.js +78 -0
- package/dist/src/ui/components/messages/ToolGroupDisplay.js.map +1 -0
- package/dist/src/ui/components/messages/ToolGroupDisplay.test.d.ts +6 -0
- package/dist/src/ui/components/messages/ToolGroupDisplay.test.js +210 -0
- package/dist/src/ui/components/messages/ToolGroupDisplay.test.js.map +1 -0
- package/dist/src/ui/components/messages/ToolGroupMessage.js +4 -2
- package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js +28 -0
- package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessageRegression.test.js +3 -3
- package/dist/src/ui/components/messages/ToolGroupMessageRegression.test.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessage.js +6 -2
- package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolShared.d.ts +1 -0
- package/dist/src/ui/components/messages/ToolShared.js +5 -3
- package/dist/src/ui/components/messages/ToolShared.js.map +1 -1
- package/dist/src/ui/components/messages/ToolShared.test.js +18 -1
- package/dist/src/ui/components/messages/ToolShared.test.js.map +1 -1
- package/dist/src/ui/components/shared/BaseSettingsDialog.d.ts +6 -1
- package/dist/src/ui/components/shared/BaseSettingsDialog.js +8 -8
- package/dist/src/ui/components/shared/BaseSettingsDialog.js.map +1 -1
- package/dist/src/ui/components/shared/performance.test.js +9 -0
- package/dist/src/ui/components/shared/performance.test.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.js +22 -5
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.test.js +211 -0
- package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
- package/dist/src/ui/constants/tips.js +0 -1
- package/dist/src/ui/constants/tips.js.map +1 -1
- package/dist/src/ui/contexts/UIActionsContext.d.ts +1 -0
- package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
- package/dist/src/ui/contexts/UIStateContext.d.ts +2 -0
- package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.js +83 -73
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.test.js +134 -42
- package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.js +13 -0
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.test.js +85 -0
- package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
- package/dist/src/ui/hooks/useAgentStream.d.ts +2 -2
- package/dist/src/ui/hooks/useAgentStream.js +63 -30
- package/dist/src/ui/hooks/useAgentStream.js.map +1 -1
- package/dist/src/ui/hooks/useAgentStream.test.js +1 -1
- package/dist/src/ui/hooks/useAgentStream.test.js.map +1 -1
- package/dist/src/ui/hooks/useAtCompletion.js +0 -2
- package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.d.ts +2 -2
- package/dist/src/ui/hooks/useGeminiStream.js +48 -29
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.test.js +44 -82
- package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
- package/dist/src/ui/hooks/useGitBranchName.js +29 -16
- package/dist/src/ui/hooks/useGitBranchName.js.map +1 -1
- package/dist/src/ui/hooks/useGitBranchName.test.js +102 -51
- package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
- package/dist/src/ui/hooks/useIncludeDirsTrust.js +2 -2
- package/dist/src/ui/hooks/useIncludeDirsTrust.js.map +1 -1
- package/dist/src/ui/hooks/useIncludeDirsTrust.test.js +2 -0
- package/dist/src/ui/hooks/useIncludeDirsTrust.test.js.map +1 -1
- package/dist/src/ui/hooks/useMessageQueue.d.ts +2 -1
- package/dist/src/ui/hooks/useMessageQueue.js +3 -1
- package/dist/src/ui/hooks/useMessageQueue.js.map +1 -1
- package/dist/src/ui/hooks/useMessageQueue.test.js +38 -0
- package/dist/src/ui/hooks/useMessageQueue.test.js.map +1 -1
- package/dist/src/ui/hooks/useSessionBrowser.d.ts +3 -3
- package/dist/src/ui/hooks/useSessionBrowser.js.map +1 -1
- package/dist/src/ui/hooks/useSessionBrowser.test.js +44 -38
- package/dist/src/ui/hooks/useSessionBrowser.test.js.map +1 -1
- package/dist/src/ui/hooks/useSessionResume.d.ts +3 -3
- package/dist/src/ui/hooks/useSessionResume.js.map +1 -1
- package/dist/src/ui/hooks/useSessionResume.test.js +6 -4
- package/dist/src/ui/hooks/useSessionResume.test.js.map +1 -1
- package/dist/src/ui/hooks/useSuspend.d.ts +1 -3
- package/dist/src/ui/hooks/useSuspend.js +3 -17
- package/dist/src/ui/hooks/useSuspend.js.map +1 -1
- package/dist/src/ui/hooks/useSuspend.test.js +0 -14
- package/dist/src/ui/hooks/useSuspend.test.js.map +1 -1
- package/dist/src/ui/hooks/useToolScheduler.test.js +6 -6
- package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
- package/dist/src/ui/hooks/useVoiceMode.js +25 -19
- package/dist/src/ui/hooks/useVoiceMode.js.map +1 -1
- package/dist/src/ui/hooks/vim-passthrough.test.js +10 -0
- package/dist/src/ui/hooks/vim-passthrough.test.js.map +1 -1
- package/dist/src/ui/hooks/vim.js +8 -0
- package/dist/src/ui/hooks/vim.js.map +1 -1
- package/dist/src/ui/hooks/vim.test.js +61 -0
- package/dist/src/ui/hooks/vim.test.js.map +1 -1
- package/dist/src/ui/key/keyBindings.d.ts +2 -0
- package/dist/src/ui/key/keyBindings.js +26 -9
- package/dist/src/ui/key/keyBindings.js.map +1 -1
- package/dist/src/ui/key/keyBindings.test.js +24 -0
- package/dist/src/ui/key/keyBindings.test.js.map +1 -1
- package/dist/src/ui/key/keyMatchers.test.js +26 -5
- package/dist/src/ui/key/keyMatchers.test.js.map +1 -1
- package/dist/src/ui/themes/theme-manager.js +0 -2
- package/dist/src/ui/themes/theme-manager.js.map +1 -1
- package/dist/src/ui/types.d.ts +23 -2
- package/dist/src/ui/types.js +3 -2
- package/dist/src/ui/types.js.map +1 -1
- package/dist/src/ui/utils/TableRenderer.js +6 -6
- package/dist/src/ui/utils/TableRenderer.js.map +1 -1
- package/dist/src/ui/utils/TableRenderer.test.js +10 -0
- package/dist/src/ui/utils/TableRenderer.test.js.map +1 -1
- package/dist/src/ui/utils/directoryUtils.test.js +0 -5
- package/dist/src/ui/utils/directoryUtils.test.js.map +1 -1
- package/dist/src/ui/utils/editorUtils.d.ts +2 -1
- package/dist/src/ui/utils/editorUtils.js +75 -28
- package/dist/src/ui/utils/editorUtils.js.map +1 -1
- package/dist/src/ui/utils/latexToUnicode.d.ts +21 -0
- package/dist/src/ui/utils/latexToUnicode.js +538 -0
- package/dist/src/ui/utils/latexToUnicode.js.map +1 -0
- package/dist/src/ui/utils/latexToUnicode.test.d.ts +6 -0
- package/dist/src/ui/utils/latexToUnicode.test.js +222 -0
- package/dist/src/ui/utils/latexToUnicode.test.js.map +1 -0
- package/dist/src/ui/utils/markdownParsingUtils.d.ts +1 -5
- package/dist/src/ui/utils/markdownParsingUtils.js +36 -1
- package/dist/src/ui/utils/markdownParsingUtils.js.map +1 -1
- package/dist/src/ui/utils/markdownParsingUtils.test.js +35 -0
- package/dist/src/ui/utils/markdownParsingUtils.test.js.map +1 -1
- package/dist/src/ui/utils/memorySnapshot.d.ts +19 -0
- package/dist/src/ui/utils/memorySnapshot.js +28 -0
- package/dist/src/ui/utils/memorySnapshot.js.map +1 -0
- package/dist/src/ui/utils/memorySnapshot.test.d.ts +6 -0
- package/dist/src/ui/utils/memorySnapshot.test.js +62 -0
- package/dist/src/ui/utils/memorySnapshot.test.js.map +1 -0
- package/dist/src/ui/utils/updateCheck.js +11 -2
- package/dist/src/ui/utils/updateCheck.js.map +1 -1
- package/dist/src/ui/utils/updateCheck.test.js +73 -0
- package/dist/src/ui/utils/updateCheck.test.js.map +1 -1
- package/dist/src/utils/commands.d.ts +1 -1
- package/dist/src/utils/commands.js +1 -1
- package/dist/src/utils/commands.test.js +14 -14
- package/dist/src/utils/commands.test.js.map +1 -1
- package/dist/src/utils/envVarResolver.js +10 -7
- package/dist/src/utils/envVarResolver.js.map +1 -1
- package/dist/src/utils/gitUtils.js +1 -2
- package/dist/src/utils/gitUtils.js.map +1 -1
- package/dist/src/utils/handleAutoUpdate.d.ts +1 -1
- package/dist/src/utils/handleAutoUpdate.js +15 -3
- package/dist/src/utils/handleAutoUpdate.js.map +1 -1
- package/dist/src/utils/handleAutoUpdate.test.js +45 -16
- package/dist/src/utils/handleAutoUpdate.test.js.map +1 -1
- package/dist/src/utils/installationInfo.d.ts +1 -0
- package/dist/src/utils/installationInfo.js +16 -1
- package/dist/src/utils/installationInfo.js.map +1 -1
- package/dist/src/utils/installationInfo.test.js +16 -0
- package/dist/src/utils/installationInfo.test.js.map +1 -1
- package/dist/src/utils/jsonoutput.js +0 -2
- package/dist/src/utils/jsonoutput.js.map +1 -1
- package/dist/src/utils/processUtils.d.ts +28 -0
- package/dist/src/utils/processUtils.js +71 -0
- package/dist/src/utils/processUtils.js.map +1 -1
- package/dist/src/utils/processUtils.test.js +122 -1
- package/dist/src/utils/processUtils.test.js.map +1 -1
- package/dist/src/utils/readStdin.js +22 -4
- package/dist/src/utils/readStdin.js.map +1 -1
- package/dist/src/utils/readStdin.test.js +32 -0
- package/dist/src/utils/readStdin.test.js.map +1 -1
- package/dist/src/utils/relaunch.js +6 -13
- package/dist/src/utils/relaunch.js.map +1 -1
- package/dist/src/utils/relaunch.test.js +82 -86
- package/dist/src/utils/relaunch.test.js.map +1 -1
- package/dist/src/utils/sandbox.js +34 -24
- package/dist/src/utils/sandbox.js.map +1 -1
- package/dist/src/utils/sandbox.test.js +108 -9
- package/dist/src/utils/sandbox.test.js.map +1 -1
- package/dist/src/utils/sandboxUtils.js +12 -7
- package/dist/src/utils/sandboxUtils.js.map +1 -1
- package/dist/src/utils/sandboxUtils.test.js +68 -0
- package/dist/src/utils/sandboxUtils.test.js.map +1 -1
- package/dist/src/utils/sessionCleanup.js +49 -14
- package/dist/src/utils/sessionCleanup.js.map +1 -1
- package/dist/src/utils/sessionCleanup.test.js +63 -0
- package/dist/src/utils/sessionCleanup.test.js.map +1 -1
- package/dist/src/utils/sessionUtils.js +22 -7
- package/dist/src/utils/sessionUtils.js.map +1 -1
- package/dist/src/utils/sessionUtils.test.js +99 -0
- package/dist/src/utils/sessionUtils.test.js.map +1 -1
- package/dist/src/utils/sessions.js +2 -4
- package/dist/src/utils/sessions.js.map +1 -1
- package/dist/src/utils/sessions.test.js +9 -12
- package/dist/src/utils/sessions.test.js.map +1 -1
- package/dist/src/utils/userStartupWarnings.js +4 -3
- package/dist/src/utils/userStartupWarnings.js.map +1 -1
- package/dist/src/utils/userStartupWarnings.test.js +40 -3
- package/dist/src/utils/userStartupWarnings.test.js.map +1 -1
- package/dist/src/validateNonInterActiveAuth.js +1 -1
- package/dist/src/validateNonInterActiveAuth.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/dist/src/acp/acpClient.d.ts +0 -56
- package/dist/src/acp/acpClient.js.map +0 -1
- package/dist/src/acp/acpClient.test.js +0 -1814
- package/dist/src/acp/acpClient.test.js.map +0 -1
- package/dist/src/acp/commandHandler.js.map +0 -1
- package/dist/src/acp/commandHandler.test.js.map +0 -1
- package/dist/src/acp/fileSystemService.js.map +0 -1
- package/dist/src/acp/fileSystemService.test.js.map +0 -1
- package/dist/src/ui/auth/LoginWithGoogleRestartDialog.d.ts +0 -12
- package/dist/src/ui/auth/LoginWithGoogleRestartDialog.js.map +0 -1
- package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js.map +0 -1
- package/dist/src/ui/components/SkillInboxDialog.js +0 -420
- package/dist/src/ui/components/SkillInboxDialog.js.map +0 -1
- package/dist/src/ui/components/SkillInboxDialog.test.js +0 -467
- package/dist/src/ui/components/SkillInboxDialog.test.js.map +0 -1
- /package/dist/src/acp/{commandHandler.test.d.ts → acpCommandHandler.test.d.ts} +0 -0
- /package/dist/src/{ui/components/SkillInboxDialog.test.d.ts → acp/acpFileSystemService.test.d.ts} +0 -0
- /package/dist/src/{acp/acpClient.test.d.ts → config/mutual-exclusivity.test.d.ts} +0 -0
- /package/dist/src/{acp/fileSystemService.test.d.ts → ui/commands/bugMemoryCommand.test.d.ts} +0 -0
- /package/dist/src/ui/{auth/LoginWithGoogleRestartDialog.test.d.ts → commands/exportSessionCommand.test.d.ts} +0 -0
|
@@ -20,6 +20,7 @@ export var PackageManager;
|
|
|
20
20
|
PackageManager["HOMEBREW"] = "homebrew";
|
|
21
21
|
PackageManager["NPX"] = "npx";
|
|
22
22
|
PackageManager["BINARY"] = "binary";
|
|
23
|
+
PackageManager["VOLTA"] = "volta";
|
|
23
24
|
PackageManager["UNKNOWN"] = "unknown";
|
|
24
25
|
})(PackageManager || (PackageManager = {}));
|
|
25
26
|
export function getInstallationInfo(projectRoot, isAutoUpdateEnabled) {
|
|
@@ -90,9 +91,23 @@ export function getInstallationInfo(projectRoot, isAutoUpdateEnabled) {
|
|
|
90
91
|
// Continue to the next check.
|
|
91
92
|
}
|
|
92
93
|
}
|
|
94
|
+
// Check for Volta
|
|
95
|
+
if (realPath.includes('/.volta/') || realPath.includes('/Volta/')) {
|
|
96
|
+
const updateCommand = 'volta install @google/gemini-cli@latest';
|
|
97
|
+
return {
|
|
98
|
+
packageManager: PackageManager.VOLTA,
|
|
99
|
+
isGlobal: true,
|
|
100
|
+
updateCommand,
|
|
101
|
+
updateMessage: isAutoUpdateEnabled
|
|
102
|
+
? 'Installed with Volta. Attempting to automatically update now...'
|
|
103
|
+
: `Please run ${updateCommand} to update`,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
93
106
|
// Check for pnpm
|
|
94
107
|
if (realPath.includes('/.pnpm/global') ||
|
|
95
|
-
realPath.includes('/.local/share/pnpm')
|
|
108
|
+
realPath.includes('/.local/share/pnpm') ||
|
|
109
|
+
realPath.includes('/Library/pnpm/global/') ||
|
|
110
|
+
realPath.includes('/AppData/Local/pnpm/global/')) {
|
|
96
111
|
const updateCommand = 'pnpm add -g @machina.ai/cell-cli@latest';
|
|
97
112
|
return {
|
|
98
113
|
packageManager: PackageManager.PNPM,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installationInfo.js","sourceRoot":"","sources":["../../../src/utils/installationInfo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,aAAa,CAAC;AAEvE,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"installationInfo.js","sourceRoot":"","sources":["../../../src/utils/installationInfo.ts"],"names":[],"mappings":"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"}
|
|
@@ -272,6 +272,22 @@ describe('getInstallationInfo', () => {
|
|
|
272
272
|
const infoDisabled = getInstallationInfo(projectRoot, false);
|
|
273
273
|
expect(infoDisabled.updateMessage).toContain('Please run npm install');
|
|
274
274
|
});
|
|
275
|
+
it('should detect Volta installation (Unix-style)', () => {
|
|
276
|
+
const voltaPath = '/Users/test/.volta/tools/image/node/20.0.0/lib/node_modules/@google/gemini-cli/dist/index.js';
|
|
277
|
+
process.argv[1] = voltaPath;
|
|
278
|
+
mockedRealPathSync.mockReturnValue(voltaPath);
|
|
279
|
+
const info = getInstallationInfo(projectRoot, true);
|
|
280
|
+
expect(info.packageManager).toBe(PackageManager.VOLTA);
|
|
281
|
+
expect(info.updateCommand).toBe('volta install @google/gemini-cli@latest');
|
|
282
|
+
});
|
|
283
|
+
it('should detect Volta installation (Windows-style)', () => {
|
|
284
|
+
const voltaPath = 'C:\\Users\\test\\AppData\\Local\\Volta\\tools\\image\\node\\20.0.0\\node_modules\\@google/gemini-cli\\dist\\index.js';
|
|
285
|
+
process.argv[1] = voltaPath;
|
|
286
|
+
mockedRealPathSync.mockReturnValue(voltaPath);
|
|
287
|
+
const info = getInstallationInfo(projectRoot, true);
|
|
288
|
+
expect(info.packageManager).toBe(PackageManager.VOLTA);
|
|
289
|
+
expect(info.updateCommand).toBe('volta install @google/gemini-cli@latest');
|
|
290
|
+
});
|
|
275
291
|
it('should NOT detect Homebrew if gemini-cli is installed in brew but running from npm location', () => {
|
|
276
292
|
Object.defineProperty(process, 'platform', {
|
|
277
293
|
value: 'darwin',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installationInfo.test.js","sourceRoot":"","sources":["../../../src/utils/installationInfo.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"installationInfo.test.js","sourceRoot":"","sources":["../../../src/utils/installationInfo.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,6 @@ export function tryParseJSON(input) {
|
|
|
24
24
|
return null;
|
|
25
25
|
const trimmed = input.trim();
|
|
26
26
|
try {
|
|
27
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
28
27
|
const parsed = JSON.parse(trimmed);
|
|
29
28
|
if (parsed === null || typeof parsed !== 'object') {
|
|
30
29
|
return null;
|
|
@@ -34,7 +33,6 @@ export function tryParseJSON(input) {
|
|
|
34
33
|
}
|
|
35
34
|
if (!Array.isArray(parsed) && Object.keys(parsed).length === 0)
|
|
36
35
|
return null;
|
|
37
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
38
36
|
return parsed;
|
|
39
37
|
}
|
|
40
38
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonoutput.js","sourceRoot":"","sources":["../../../src/utils/jsonoutput.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,MAAM,UAAU,UAAU,CAAC,KAAgC;IACzD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAEjD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,
|
|
1
|
+
{"version":3,"file":"jsonoutput.js","sourceRoot":"","sources":["../../../src/utils/jsonoutput.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,MAAM,UAAU,UAAU,CAAC,KAAgC;IACzD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAEjD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAE5E,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -10,3 +10,31 @@ export declare const RELAUNCH_EXIT_CODE = 199;
|
|
|
10
10
|
/** @internal only for testing */
|
|
11
11
|
export declare function _resetRelaunchStateForTesting(): void;
|
|
12
12
|
export declare function relaunchApp(): Promise<void>;
|
|
13
|
+
export interface ProcessWithSea extends NodeJS.Process {
|
|
14
|
+
isSea?: () => boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Determines whether the current process is a "standard" SEA (Single Executable Application)
|
|
18
|
+
* where the user arguments start at index 1 instead of index 2.
|
|
19
|
+
* A relaunched SEA child will have process.argv[0] === process.argv[1] (because we inject execPath),
|
|
20
|
+
* so it will return false here and correctly slice from index 2.
|
|
21
|
+
*/
|
|
22
|
+
export declare function isStandardSea(): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Extracts the user-provided script arguments from process.argv,
|
|
25
|
+
* accounting for the differences in SEA execution modes.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getScriptArgs(): string[];
|
|
28
|
+
/**
|
|
29
|
+
* Determines if the current process is running in any SEA environment
|
|
30
|
+
* (either the initial launch or a relaunched child).
|
|
31
|
+
*/
|
|
32
|
+
export declare function isSeaEnvironment(): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Constructs the arguments and environment for spawning a child process during relaunch.
|
|
35
|
+
* Handles differences between standard Node and SEA binary modes.
|
|
36
|
+
*/
|
|
37
|
+
export declare function getSpawnConfig(nodeArgs: string[], scriptArgs: string[]): {
|
|
38
|
+
spawnArgs: string[];
|
|
39
|
+
env: NodeJS.ProcessEnv;
|
|
40
|
+
};
|
|
@@ -25,4 +25,75 @@ export async function relaunchApp() {
|
|
|
25
25
|
await runExitCleanup();
|
|
26
26
|
process.exit(RELAUNCH_EXIT_CODE);
|
|
27
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Determines whether the current process is a "standard" SEA (Single Executable Application)
|
|
30
|
+
* where the user arguments start at index 1 instead of index 2.
|
|
31
|
+
* A relaunched SEA child will have process.argv[0] === process.argv[1] (because we inject execPath),
|
|
32
|
+
* so it will return false here and correctly slice from index 2.
|
|
33
|
+
*/
|
|
34
|
+
export function isStandardSea() {
|
|
35
|
+
return (process.argv[0] !== process.argv[1] &&
|
|
36
|
+
(process.env['IS_BINARY'] === 'true' ||
|
|
37
|
+
process.isSea?.() === true));
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Extracts the user-provided script arguments from process.argv,
|
|
41
|
+
* accounting for the differences in SEA execution modes.
|
|
42
|
+
*/
|
|
43
|
+
export function getScriptArgs() {
|
|
44
|
+
return process.argv.slice(isStandardSea() ? 1 : 2);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Determines if the current process is running in any SEA environment
|
|
48
|
+
* (either the initial launch or a relaunched child).
|
|
49
|
+
*/
|
|
50
|
+
export function isSeaEnvironment() {
|
|
51
|
+
return (process.env['IS_BINARY'] === 'true' ||
|
|
52
|
+
process.isSea?.() === true ||
|
|
53
|
+
process.argv[0] === process.argv[1]);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Constructs the arguments and environment for spawning a child process during relaunch.
|
|
57
|
+
* Handles differences between standard Node and SEA binary modes.
|
|
58
|
+
*/
|
|
59
|
+
export function getSpawnConfig(nodeArgs, scriptArgs) {
|
|
60
|
+
const isBinary = isSeaEnvironment();
|
|
61
|
+
const newEnv = {
|
|
62
|
+
...process.env,
|
|
63
|
+
CELL_CLI_NO_RELAUNCH: 'true',
|
|
64
|
+
};
|
|
65
|
+
const finalSpawnArgs = [];
|
|
66
|
+
if (isBinary) {
|
|
67
|
+
// In SEA mode, Node flags must be passed via NODE_OPTIONS, as the binary
|
|
68
|
+
// passes all CLI arguments directly to the application.
|
|
69
|
+
// We only need to append the *new* nodeArgs (e.g., memory flags).
|
|
70
|
+
// Existing execArgv are inherited via the environment or baked into the binary.
|
|
71
|
+
if (nodeArgs.length > 0) {
|
|
72
|
+
for (const arg of nodeArgs) {
|
|
73
|
+
if (/[\s"'\\]/.test(arg)) {
|
|
74
|
+
throw new Error(`Unsupported node argument for SEA relaunch: ${arg}. Complex escaping is not supported.`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
const existingNodeOptions = process.env['NODE_OPTIONS'] || '';
|
|
78
|
+
// nodeArgs in our codebase are simple flags like --max-old-space-size=X
|
|
79
|
+
// that do not contain spaces and do not require complex escaping.
|
|
80
|
+
newEnv['NODE_OPTIONS'] =
|
|
81
|
+
`${existingNodeOptions} ${nodeArgs.join(' ')}`.trim();
|
|
82
|
+
}
|
|
83
|
+
// Binary is its own entry point. To maintain the [node, script, ...args]
|
|
84
|
+
// structure expected by the application (which uses slice(2)),
|
|
85
|
+
// we must provide a placeholder for the script path.
|
|
86
|
+
// We explicitly use process.execPath to break the cycle and prevent
|
|
87
|
+
// compounding argument duplication on subsequent relaunches.
|
|
88
|
+
finalSpawnArgs.push(process.execPath, ...scriptArgs);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
// Standard Node mode: pass all flags via command line.
|
|
92
|
+
finalSpawnArgs.push(...process.execArgv, ...nodeArgs, process.argv[1], ...scriptArgs);
|
|
93
|
+
}
|
|
94
|
+
return {
|
|
95
|
+
spawnArgs: finalSpawnArgs,
|
|
96
|
+
env: newEnv,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
28
99
|
//# sourceMappingURL=processUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processUtils.js","sourceRoot":"","sources":["../../../src/utils/processUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC;;GAEG;AACH,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B,iCAAiC;AACjC,MAAM,UAAU,6BAA6B;IAC3C,aAAa,GAAG,KAAK,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,IAAI,aAAa;QAAE,OAAO;IAC1B,aAAa,GAAG,IAAI,CAAC;IACrB,MAAM,uBAAuB,EAAE,CAAC;IAChC,MAAM,cAAc,EAAE,CAAC;IACvB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACnC,CAAC"}
|
|
1
|
+
{"version":3,"file":"processUtils.js","sourceRoot":"","sources":["../../../src/utils/processUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { vi } from 'vitest';
|
|
7
|
-
import { RELAUNCH_EXIT_CODE, relaunchApp, _resetRelaunchStateForTesting, } from './processUtils.js';
|
|
7
|
+
import { RELAUNCH_EXIT_CODE, relaunchApp, _resetRelaunchStateForTesting, isStandardSea, getScriptArgs, isSeaEnvironment, getSpawnConfig, } from './processUtils.js';
|
|
8
8
|
import * as cleanup from './cleanup.js';
|
|
9
9
|
import * as handleAutoUpdate from './handleAutoUpdate.js';
|
|
10
10
|
vi.mock('./handleAutoUpdate.js', () => ({
|
|
@@ -26,4 +26,125 @@ describe('processUtils', () => {
|
|
|
26
26
|
expect(processExit).toHaveBeenCalledWith(RELAUNCH_EXIT_CODE);
|
|
27
27
|
});
|
|
28
28
|
});
|
|
29
|
+
describe('SEA handling utilities', () => {
|
|
30
|
+
const originalArgv = process.argv;
|
|
31
|
+
const originalExecArgv = process.execArgv;
|
|
32
|
+
const originalExecPath = process.execPath;
|
|
33
|
+
const originalIsSea = process.isSea;
|
|
34
|
+
beforeEach(() => {
|
|
35
|
+
vi.unstubAllEnvs();
|
|
36
|
+
vi.stubEnv('NODE_OPTIONS', '');
|
|
37
|
+
process.argv = [...originalArgv];
|
|
38
|
+
process.execArgv = [...originalExecArgv];
|
|
39
|
+
process.execPath = '/fake/exec/path';
|
|
40
|
+
delete process.isSea;
|
|
41
|
+
});
|
|
42
|
+
afterEach(() => {
|
|
43
|
+
vi.unstubAllEnvs();
|
|
44
|
+
process.argv = originalArgv;
|
|
45
|
+
process.execArgv = originalExecArgv;
|
|
46
|
+
process.execPath = originalExecPath;
|
|
47
|
+
if (originalIsSea) {
|
|
48
|
+
process.isSea = originalIsSea;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
delete process.isSea;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
describe('isStandardSea', () => {
|
|
55
|
+
it('returns false if argv[0] === argv[1]', () => {
|
|
56
|
+
process.argv = ['/bin/gemini', '/bin/gemini', 'my-command'];
|
|
57
|
+
vi.stubEnv('IS_BINARY', 'true');
|
|
58
|
+
expect(isStandardSea()).toBe(false);
|
|
59
|
+
});
|
|
60
|
+
it('returns true if IS_BINARY is true and argv[0] !== argv[1]', () => {
|
|
61
|
+
process.argv = ['/bin/gemini', 'my-command'];
|
|
62
|
+
vi.stubEnv('IS_BINARY', 'true');
|
|
63
|
+
expect(isStandardSea()).toBe(true);
|
|
64
|
+
});
|
|
65
|
+
it('returns true if process.isSea() is true and argv[0] !== argv[1]', () => {
|
|
66
|
+
process.argv = ['/bin/gemini', 'my-command'];
|
|
67
|
+
process.isSea = () => true;
|
|
68
|
+
expect(isStandardSea()).toBe(true);
|
|
69
|
+
});
|
|
70
|
+
it('returns false in standard node environment', () => {
|
|
71
|
+
process.argv = ['/bin/node', '/path/to/script.js', 'my-command'];
|
|
72
|
+
expect(isStandardSea()).toBe(false);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
describe('getScriptArgs', () => {
|
|
76
|
+
it('slices from index 1 if isStandardSea is true', () => {
|
|
77
|
+
process.argv = ['/bin/gemini', 'my-command', '--flag'];
|
|
78
|
+
vi.stubEnv('IS_BINARY', 'true');
|
|
79
|
+
expect(getScriptArgs()).toEqual(['my-command', '--flag']);
|
|
80
|
+
});
|
|
81
|
+
it('slices from index 2 if isStandardSea is false (relaunch SEA or standard node)', () => {
|
|
82
|
+
// Relaunch SEA
|
|
83
|
+
process.argv = ['/bin/gemini', '/bin/gemini', 'my-command', '--flag'];
|
|
84
|
+
vi.stubEnv('IS_BINARY', 'true');
|
|
85
|
+
expect(getScriptArgs()).toEqual(['my-command', '--flag']);
|
|
86
|
+
// Standard node
|
|
87
|
+
process.argv = ['/bin/node', '/path/to/script.js', 'my-command'];
|
|
88
|
+
vi.stubEnv('IS_BINARY', '');
|
|
89
|
+
expect(getScriptArgs()).toEqual(['my-command']);
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
describe('isSeaEnvironment', () => {
|
|
93
|
+
it('returns true if IS_BINARY is true', () => {
|
|
94
|
+
vi.stubEnv('IS_BINARY', 'true');
|
|
95
|
+
expect(isSeaEnvironment()).toBe(true);
|
|
96
|
+
});
|
|
97
|
+
it('returns true if process.isSea() is true', () => {
|
|
98
|
+
process.isSea = () => true;
|
|
99
|
+
expect(isSeaEnvironment()).toBe(true);
|
|
100
|
+
});
|
|
101
|
+
it('returns true if argv[0] === argv[1]', () => {
|
|
102
|
+
process.argv = ['/bin/gemini', '/bin/gemini'];
|
|
103
|
+
expect(isSeaEnvironment()).toBe(true);
|
|
104
|
+
});
|
|
105
|
+
it('returns false otherwise', () => {
|
|
106
|
+
process.argv = ['/bin/node', '/path/to/script.js'];
|
|
107
|
+
expect(isSeaEnvironment()).toBe(false);
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
describe('getSpawnConfig', () => {
|
|
111
|
+
it('handles standard node mode', () => {
|
|
112
|
+
process.argv = ['/bin/node', '/path/to/script.js', 'my-command'];
|
|
113
|
+
process.execArgv = ['--inspect'];
|
|
114
|
+
process.execPath = '/bin/node';
|
|
115
|
+
const config = getSpawnConfig(['--max-old-space-size=8192'], ['my-command']);
|
|
116
|
+
expect(config.spawnArgs).toEqual([
|
|
117
|
+
'--inspect',
|
|
118
|
+
'--max-old-space-size=8192',
|
|
119
|
+
'/path/to/script.js',
|
|
120
|
+
'my-command',
|
|
121
|
+
]);
|
|
122
|
+
expect(config.env['CELL_CLI_NO_RELAUNCH']).toBe('true');
|
|
123
|
+
expect(config.env['NODE_OPTIONS']).toBeFalsy();
|
|
124
|
+
});
|
|
125
|
+
it('handles SEA binary mode with new nodeArgs', () => {
|
|
126
|
+
vi.stubEnv('IS_BINARY', 'true');
|
|
127
|
+
vi.stubEnv('NODE_OPTIONS', '--existing-flag');
|
|
128
|
+
process.argv = ['/bin/gemini', 'my-command'];
|
|
129
|
+
process.execArgv = ['--inspect']; // Should not be duplicated in NODE_OPTIONS
|
|
130
|
+
process.execPath = '/bin/gemini';
|
|
131
|
+
const config = getSpawnConfig(['--max-old-space-size=8192'], ['my-command']);
|
|
132
|
+
expect(config.spawnArgs).toEqual([
|
|
133
|
+
'/bin/gemini', // explicitly uses execPath as placeholder
|
|
134
|
+
'my-command',
|
|
135
|
+
]);
|
|
136
|
+
expect(config.env['NODE_OPTIONS']).toBe('--existing-flag --max-old-space-size=8192');
|
|
137
|
+
expect(config.env['CELL_CLI_NO_RELAUNCH']).toBe('true');
|
|
138
|
+
});
|
|
139
|
+
it('throws error for complex nodeArgs in SEA mode', () => {
|
|
140
|
+
vi.stubEnv('IS_BINARY', 'true');
|
|
141
|
+
expect(() => {
|
|
142
|
+
getSpawnConfig(['--title "My App"'], []);
|
|
143
|
+
}).toThrow('Unsupported node argument for SEA relaunch: --title "My App". Complex escaping is not supported.');
|
|
144
|
+
expect(() => {
|
|
145
|
+
getSpawnConfig(['--title=A\\B'], []);
|
|
146
|
+
}).toThrow();
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
});
|
|
29
150
|
//# sourceMappingURL=processUtils.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processUtils.test.js","sourceRoot":"","sources":["../../../src/utils/processUtils.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,6BAA6B,
|
|
1
|
+
{"version":3,"file":"processUtils.test.js","sourceRoot":"","sources":["../../../src/utils/processUtils.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,23 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { debugLogger } from '@google/gemini-cli-core';
|
|
7
|
+
/**
|
|
8
|
+
* Truncates a string to fit within a UTF-8 byte limit without splitting
|
|
9
|
+
* multi-byte characters. Walks back from the cut point to find the last
|
|
10
|
+
* complete character boundary.
|
|
11
|
+
*/
|
|
12
|
+
function truncateUtf8Bytes(str, maxBytes) {
|
|
13
|
+
const buf = Buffer.from(str, 'utf8');
|
|
14
|
+
if (buf.length <= maxBytes)
|
|
15
|
+
return str;
|
|
16
|
+
let end = maxBytes;
|
|
17
|
+
// Walk backward past any UTF-8 continuation bytes (10xxxxxx)
|
|
18
|
+
while (end > 0 && (buf[end] & 0xc0) === 0x80) {
|
|
19
|
+
end--;
|
|
20
|
+
}
|
|
21
|
+
// end now points to the lead byte of an incomplete sequence — exclude it
|
|
22
|
+
return buf.subarray(0, end).toString('utf8');
|
|
23
|
+
}
|
|
7
24
|
export async function readStdin() {
|
|
8
25
|
const MAX_STDIN_SIZE = 8 * 1024 * 1024; // 8MB
|
|
9
26
|
return new Promise((resolve, reject) => {
|
|
@@ -25,16 +42,17 @@ export async function readStdin() {
|
|
|
25
42
|
clearTimeout(pipedInputTimerId);
|
|
26
43
|
pipedInputTimerId = null;
|
|
27
44
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
45
|
+
const chunkByteLength = Buffer.byteLength(chunk, 'utf8');
|
|
46
|
+
if (totalSize + chunkByteLength > MAX_STDIN_SIZE) {
|
|
47
|
+
const remainingBytes = MAX_STDIN_SIZE - totalSize;
|
|
48
|
+
data += truncateUtf8Bytes(chunk, remainingBytes);
|
|
31
49
|
debugLogger.warn(`Warning: stdin input truncated to ${MAX_STDIN_SIZE} bytes.`);
|
|
32
50
|
process.stdin.destroy(); // Stop reading further
|
|
33
51
|
onEnd();
|
|
34
52
|
break;
|
|
35
53
|
}
|
|
36
54
|
data += chunk;
|
|
37
|
-
totalSize +=
|
|
55
|
+
totalSize += chunkByteLength;
|
|
38
56
|
}
|
|
39
57
|
};
|
|
40
58
|
const onEnd = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readStdin.js","sourceRoot":"","sources":["../../../src/utils/readStdin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM;IAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,+BAA+B,GAAG,GAAG,CAAC;QAC5C,IAAI,iBAAiB,GAA0B,UAAU,CAAC,GAAG,EAAE;YAC7D,6DAA6D;YAC7D,4DAA4D;YAC5D,kEAAkE;YAClE,KAAK,EAAE,CAAC;QACV,CAAC,EAAE,+BAA+B,CAAC,CAAC;QAEpC,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,IAAI,KAAK,CAAC;YACV,mEAAmE;YACnE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC/C,IAAI,iBAAiB,EAAE,CAAC;oBACtB,YAAY,CAAC,iBAAiB,CAAC,CAAC;oBAChC,iBAAiB,GAAG,IAAI,CAAC;gBAC3B,CAAC;gBAED,
|
|
1
|
+
{"version":3,"file":"readStdin.js","sourceRoot":"","sources":["../../../src/utils/readStdin.ts"],"names":[],"mappings":"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"}
|
|
@@ -107,6 +107,38 @@ describe('readStdin', () => {
|
|
|
107
107
|
expect(debugLogger.warn).toHaveBeenCalledWith(`Warning: stdin input truncated to ${MAX_STDIN_SIZE} bytes.`);
|
|
108
108
|
expect(mockStdin.destroy).toHaveBeenCalled();
|
|
109
109
|
});
|
|
110
|
+
it('should truncate multi-byte characters at byte boundary', async () => {
|
|
111
|
+
const MAX_STDIN_SIZE = 8 * 1024 * 1024;
|
|
112
|
+
// '한' is 3 bytes. 2,796,202 * 3 = 8,388,606 bytes.
|
|
113
|
+
// 2,796,203 * 3 = 8,388,609 bytes.
|
|
114
|
+
const charCount = Math.floor(MAX_STDIN_SIZE / 3) + 1;
|
|
115
|
+
const multiByteChunk = '한'.repeat(charCount);
|
|
116
|
+
mockStdin.read
|
|
117
|
+
.mockReturnValueOnce(multiByteChunk)
|
|
118
|
+
.mockReturnValueOnce(null);
|
|
119
|
+
const promise = readStdin();
|
|
120
|
+
onReadableHandler();
|
|
121
|
+
const result = await promise;
|
|
122
|
+
const resultBytes = Buffer.byteLength(result, 'utf8');
|
|
123
|
+
expect(resultBytes).toBeLessThanOrEqual(MAX_STDIN_SIZE);
|
|
124
|
+
expect(resultBytes).toBe(Math.floor(MAX_STDIN_SIZE / 3) * 3);
|
|
125
|
+
expect(result).not.toContain('\uFFFD'); // No replacement characters
|
|
126
|
+
});
|
|
127
|
+
it('should use byte length instead of string length for limit', async () => {
|
|
128
|
+
const MAX_STDIN_SIZE = 8 * 1024 * 1024;
|
|
129
|
+
// '한' is 3 bytes. If we use string length, we'd allow 8M characters = 24MB.
|
|
130
|
+
// We want to ensure it stops at 8MB.
|
|
131
|
+
const charCount = MAX_STDIN_SIZE; // 8M characters = 24MB
|
|
132
|
+
const multiByteChunk = '한'.repeat(charCount);
|
|
133
|
+
mockStdin.read
|
|
134
|
+
.mockReturnValueOnce(multiByteChunk)
|
|
135
|
+
.mockReturnValueOnce(null);
|
|
136
|
+
const promise = readStdin();
|
|
137
|
+
onReadableHandler();
|
|
138
|
+
const result = await promise;
|
|
139
|
+
expect(Buffer.byteLength(result, 'utf8')).toBeLessThanOrEqual(MAX_STDIN_SIZE);
|
|
140
|
+
expect(result.length).toBeLessThan(charCount);
|
|
141
|
+
});
|
|
110
142
|
it('should handle stdin error', async () => {
|
|
111
143
|
const promise = readStdin();
|
|
112
144
|
const error = new Error('stdin error');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readStdin.test.js","sourceRoot":"","sources":["../../../src/utils/readStdin.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"readStdin.test.js","sourceRoot":"","sources":["../../../src/utils/readStdin.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { spawn } from 'node:child_process';
|
|
7
|
-
import { RELAUNCH_EXIT_CODE } from './processUtils.js';
|
|
7
|
+
import { RELAUNCH_EXIT_CODE, getSpawnConfig, getScriptArgs, } from './processUtils.js';
|
|
8
8
|
import { writeToStderr, } from '@google/gemini-cli-core';
|
|
9
9
|
export async function relaunchOnExitCode(runner) {
|
|
10
10
|
while (true) {
|
|
11
11
|
try {
|
|
12
12
|
const exitCode = await runner();
|
|
13
|
-
if (exitCode !== RELAUNCH_EXIT_CODE) {
|
|
13
|
+
if (process.platform === 'android' || exitCode !== RELAUNCH_EXIT_CODE) {
|
|
14
14
|
process.exit(exitCode);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -28,21 +28,14 @@ export async function relaunchAppInChildProcess(additionalNodeArgs, additionalSc
|
|
|
28
28
|
}
|
|
29
29
|
let latestAdminSettings = remoteAdminSettings;
|
|
30
30
|
const runner = () => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const script = process.argv[1];
|
|
34
|
-
const scriptArgs = process.argv.slice(2);
|
|
35
|
-
const nodeArgs = [
|
|
36
|
-
...process.execArgv,
|
|
37
|
-
...additionalNodeArgs,
|
|
38
|
-
script,
|
|
31
|
+
const scriptArgs = getScriptArgs();
|
|
32
|
+
const { spawnArgs, env: newEnv } = getSpawnConfig(additionalNodeArgs, [
|
|
39
33
|
...additionalScriptArgs,
|
|
40
34
|
...scriptArgs,
|
|
41
|
-
];
|
|
42
|
-
const newEnv = { ...process.env, CELL_CLI_NO_RELAUNCH: 'true' };
|
|
35
|
+
]);
|
|
43
36
|
// The parent process should not be reading from stdin while the child is running.
|
|
44
37
|
process.stdin.pause();
|
|
45
|
-
const child = spawn(process.execPath,
|
|
38
|
+
const child = spawn(process.execPath, spawnArgs, {
|
|
46
39
|
stdio: ['inherit', 'inherit', 'inherit', 'ipc'],
|
|
47
40
|
env: newEnv,
|
|
48
41
|
});
|