@machina.ai/cell-cli 1.41.1-rc2 → 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 +4 -4
- 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 -781
- 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 +85 -10
- 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 +108 -30
- 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/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 +32 -37
- 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 +78 -69
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/atCommandProcessor.test.js +128 -18
- 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 +4 -4
- 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 -1816
- 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
package/dist/src/gemini.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { WarningPriority, createSessionId, logUserPrompt, AuthType, UserPromptEvent, coreEvents, CoreEvent, getOauthClient, patchStdio, writeToStdout, writeToStderr, shouldEnterAlternateScreen, startupProfiler, ExitCodes, SessionStartSource, SessionEndReason, ValidationCancelledError, ValidationRequiredError, debugLogger, isHeadlessMode, Storage, } from '@google/gemini-cli-core';
|
|
6
|
+
import { WarningPriority, createSessionId, logUserPrompt, AuthType, UserPromptEvent, coreEvents, CoreEvent, getOauthClient, patchStdio, writeToStdout, writeToStderr, shouldEnterAlternateScreen, startupProfiler, ExitCodes, SessionStartSource, SessionEndReason, ValidationCancelledError, ValidationRequiredError, debugLogger, isHeadlessMode, Storage, getProjectHash, loadConversationRecord, } from '@google/gemini-cli-core';
|
|
7
7
|
import { loadCliConfig, parseArguments } from './config/config.js';
|
|
8
8
|
import * as cliConfig from './config/config.js';
|
|
9
9
|
import { readStdin } from './utils/readStdin.js';
|
|
@@ -11,6 +11,8 @@ import { createHash } from 'node:crypto';
|
|
|
11
11
|
import v8 from 'node:v8';
|
|
12
12
|
import os from 'node:os';
|
|
13
13
|
import dns from 'node:dns';
|
|
14
|
+
import * as path from 'node:path';
|
|
15
|
+
import * as fsPromises from 'node:fs/promises';
|
|
14
16
|
import { start_sandbox } from './utils/sandbox.js';
|
|
15
17
|
import { loadSettings, SettingScope, } from './config/settings.js';
|
|
16
18
|
import { loadTrustedFolders, } from './config/trustedFolders.js';
|
|
@@ -24,10 +26,10 @@ import { setupWorktree } from './utils/worktreeSetup.js';
|
|
|
24
26
|
import { cleanupToolOutputFiles, cleanupExpiredSessions, } from './utils/sessionCleanup.js';
|
|
25
27
|
import { initializeApp, } from './core/initializer.js';
|
|
26
28
|
import { validateAuthMethod } from './config/auth.js';
|
|
27
|
-
import { runAcpClient } from './acp/
|
|
29
|
+
import { runAcpClient } from './acp/acpStdioTransport.js';
|
|
28
30
|
import { validateNonInteractiveAuth } from './validateNonInterActiveAuth.js';
|
|
29
31
|
import { appEvents, AppEvent } from './utils/events.js';
|
|
30
|
-
import { SessionError, SessionSelector } from './utils/sessionUtils.js';
|
|
32
|
+
import { RESUME_LATEST, SessionError, SessionSelector, } from './utils/sessionUtils.js';
|
|
31
33
|
import { relaunchOnExitCode } from './utils/relaunch.js';
|
|
32
34
|
import { loadSandboxConfig } from './config/sandboxConfig.js';
|
|
33
35
|
import { deleteSession, listSessions } from './utils/sessions.js';
|
|
@@ -108,13 +110,65 @@ ${reason.stack}`
|
|
|
108
110
|
}
|
|
109
111
|
});
|
|
110
112
|
}
|
|
111
|
-
export async function resolveSessionId(resumeArg, sessionIdArg) {
|
|
112
|
-
if (!resumeArg && !sessionIdArg) {
|
|
113
|
+
export async function resolveSessionId(resumeArg, sessionIdArg, sessionFileArg) {
|
|
114
|
+
if (!resumeArg && !sessionIdArg && !sessionFileArg) {
|
|
113
115
|
return { sessionId: createSessionId() };
|
|
114
116
|
}
|
|
115
117
|
const storage = new Storage(process.cwd());
|
|
116
118
|
await storage.initialize();
|
|
117
119
|
const sessionSelector = new SessionSelector(storage);
|
|
120
|
+
if (sessionFileArg) {
|
|
121
|
+
try {
|
|
122
|
+
const sessionData = await loadConversationRecord(sessionFileArg);
|
|
123
|
+
if (!sessionData) {
|
|
124
|
+
throw new Error(`File not found or invalid format: ${sessionFileArg}`);
|
|
125
|
+
}
|
|
126
|
+
const now = Date.now();
|
|
127
|
+
const isoNow = new Date(now).toISOString();
|
|
128
|
+
// Filter out old system/info messages that are specific to the previous run
|
|
129
|
+
// and only keep actual conversation messages (user/gemini).
|
|
130
|
+
// Best effort parse: ensure message is an object and has required fields.
|
|
131
|
+
sessionData.messages = (sessionData.messages || []).filter((m) => typeof m === 'object' &&
|
|
132
|
+
m !== null &&
|
|
133
|
+
(m.type === 'user' || m.type === 'gemini') &&
|
|
134
|
+
m.content !== undefined);
|
|
135
|
+
// Add a single info message to the history to confirm the import
|
|
136
|
+
sessionData.messages.unshift({
|
|
137
|
+
id: `import-${now}`,
|
|
138
|
+
type: 'info',
|
|
139
|
+
content: `Imported session from ${sessionFileArg}`,
|
|
140
|
+
timestamp: isoNow,
|
|
141
|
+
});
|
|
142
|
+
const newSessionId = createSessionId();
|
|
143
|
+
sessionData.sessionId = newSessionId;
|
|
144
|
+
sessionData.projectHash = getProjectHash(storage.getProjectRoot());
|
|
145
|
+
sessionData.startTime = isoNow;
|
|
146
|
+
sessionData.lastUpdated = isoNow;
|
|
147
|
+
const chatsDir = path.join(storage.getProjectTempDir(), 'chats');
|
|
148
|
+
const newSessionPath = path.join(chatsDir, `session-${now}-${newSessionId.slice(0, 8)}.jsonl`);
|
|
149
|
+
const { messages: _messages, ...initialMetadata } = sessionData;
|
|
150
|
+
const lines = [JSON.stringify(initialMetadata)];
|
|
151
|
+
if (sessionData.messages) {
|
|
152
|
+
for (const msg of sessionData.messages) {
|
|
153
|
+
lines.push(JSON.stringify(msg));
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
await fsPromises.mkdir(chatsDir, { recursive: true });
|
|
157
|
+
await fsPromises.writeFile(newSessionPath, lines.join('\n') + '\n', 'utf-8');
|
|
158
|
+
return {
|
|
159
|
+
sessionId: newSessionId,
|
|
160
|
+
resumedSessionData: {
|
|
161
|
+
conversation: sessionData,
|
|
162
|
+
filePath: newSessionPath,
|
|
163
|
+
},
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
catch (error) {
|
|
167
|
+
coreEvents.emitFeedback('error', `Error importing session from file: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
168
|
+
await runExitCleanup();
|
|
169
|
+
process.exit(ExitCodes.FATAL_INPUT_ERROR);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
118
172
|
if (sessionIdArg) {
|
|
119
173
|
if (await sessionSelector.sessionExists(sessionIdArg)) {
|
|
120
174
|
coreEvents.emitFeedback('error', `Error starting session: Session ID "${sessionIdArg}" already exists. Use --resume to resume it, or provide a different ID.`);
|
|
@@ -132,8 +186,10 @@ export async function resolveSessionId(resumeArg, sessionIdArg) {
|
|
|
132
186
|
}
|
|
133
187
|
catch (error) {
|
|
134
188
|
if (error instanceof SessionError && error.code === 'NO_SESSIONS_FOUND') {
|
|
135
|
-
|
|
136
|
-
|
|
189
|
+
if (resumeArg === RESUME_LATEST) {
|
|
190
|
+
coreEvents.emitFeedback('warning', error.message);
|
|
191
|
+
return { sessionId: createSessionId() };
|
|
192
|
+
}
|
|
137
193
|
}
|
|
138
194
|
coreEvents.emitFeedback('error', `Error resuming session: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
139
195
|
await runExitCleanup();
|
|
@@ -167,6 +223,7 @@ export async function main() {
|
|
|
167
223
|
// Log error but proceed; let the app fail naturally if auth is strictly required later.
|
|
168
224
|
debugLogger.error('Early authentication check failed:', e);
|
|
169
225
|
}
|
|
226
|
+
let config;
|
|
170
227
|
const cliStartupHandle = startupProfiler.start('cli_startup');
|
|
171
228
|
// Listen for admin controls from parent process (IPC) in non-sandbox mode. In
|
|
172
229
|
// sandbox mode, we re-fetch the admin controls from the server once we enter
|
|
@@ -177,7 +234,7 @@ export async function main() {
|
|
|
177
234
|
const cleanupStdio = patchStdio();
|
|
178
235
|
registerSyncCleanup(() => {
|
|
179
236
|
// This is needed to ensure we don't lose any buffered output.
|
|
180
|
-
initializeOutputListenersAndFlush();
|
|
237
|
+
initializeOutputListenersAndFlush(config);
|
|
181
238
|
cleanupStdio();
|
|
182
239
|
});
|
|
183
240
|
setupUnhandledRejectionHandler();
|
|
@@ -224,7 +281,7 @@ export async function main() {
|
|
|
224
281
|
coreEvents.emitFeedback('warning', `Error in ${error.path}: ${error.message}`);
|
|
225
282
|
});
|
|
226
283
|
const argv = await argvPromise;
|
|
227
|
-
const { sessionId, resumedSessionData } = await resolveSessionId(argv.resume, argv.sessionId);
|
|
284
|
+
const { sessionId, resumedSessionData } = await resolveSessionId(argv.resume, argv.sessionId, argv.sessionFile);
|
|
228
285
|
if ((argv.allowedTools && argv.allowedTools.length > 0) ||
|
|
229
286
|
(settings.merged.tools?.allowed && settings.merged.tools.allowed.length > 0)) {
|
|
230
287
|
coreEvents.emitFeedback('warning', 'Warning: --allowed-tools cli argument and tools.allowed in settings.json are deprecated and will be removed in 1.0: Migrate to Policy Engine: https://geminicli.com/docs/core/policy-engine/');
|
|
@@ -265,6 +322,8 @@ export async function main() {
|
|
|
265
322
|
}
|
|
266
323
|
const partialConfig = await loadCliConfig(settings.merged, sessionId, argv, {
|
|
267
324
|
projectHooks: settings.workspace.settings.hooks,
|
|
325
|
+
skipExtensions: true,
|
|
326
|
+
loadedSettings: settings,
|
|
268
327
|
});
|
|
269
328
|
adminControlsListner.setConfig(partialConfig);
|
|
270
329
|
// Refresh auth to fetch remote admin settings from CCPA and before entering
|
|
@@ -275,7 +334,7 @@ export async function main() {
|
|
|
275
334
|
try {
|
|
276
335
|
if (partialConfig.isInteractive() &&
|
|
277
336
|
settings.merged.security.auth.selectedType) {
|
|
278
|
-
const err = validateAuthMethod(settings.merged.security.auth.selectedType);
|
|
337
|
+
const err = await validateAuthMethod(settings.merged.security.auth.selectedType);
|
|
279
338
|
if (err) {
|
|
280
339
|
throw new Error(err);
|
|
281
340
|
}
|
|
@@ -363,9 +422,10 @@ export async function main() {
|
|
|
363
422
|
// may have side effects.
|
|
364
423
|
{
|
|
365
424
|
const loadConfigHandle = startupProfiler.start('load_cli_config');
|
|
366
|
-
|
|
425
|
+
config = await loadCliConfig(settings.merged, sessionId, argv, {
|
|
367
426
|
projectHooks: settings.workspace.settings.hooks,
|
|
368
427
|
worktreeSettings: worktreeInfo,
|
|
428
|
+
loadedSettings: settings,
|
|
369
429
|
});
|
|
370
430
|
loadConfigHandle?.end();
|
|
371
431
|
// Initialize storage immediately after loading config to ensure that
|
|
@@ -472,7 +532,10 @@ export async function main() {
|
|
|
472
532
|
return runAcpClient(config, settings, argv);
|
|
473
533
|
}
|
|
474
534
|
try {
|
|
475
|
-
startProxy(sessionId);
|
|
535
|
+
const proxyController = startProxy(sessionId);
|
|
536
|
+
if (proxyController) {
|
|
537
|
+
registerCleanup(() => proxyController.stop());
|
|
538
|
+
}
|
|
476
539
|
}
|
|
477
540
|
catch (err) {
|
|
478
541
|
debugLogger.error('Error starting api-proxy:', err);
|
|
@@ -551,7 +614,7 @@ export async function main() {
|
|
|
551
614
|
if (config.getDebugMode()) {
|
|
552
615
|
debugLogger.log('Session ID: %s', sessionId);
|
|
553
616
|
}
|
|
554
|
-
initializeOutputListenersAndFlush();
|
|
617
|
+
initializeOutputListenersAndFlush(config);
|
|
555
618
|
await runNonInteractive({
|
|
556
619
|
config,
|
|
557
620
|
settings,
|
|
@@ -564,7 +627,7 @@ export async function main() {
|
|
|
564
627
|
process.exit(ExitCodes.SUCCESS);
|
|
565
628
|
}
|
|
566
629
|
}
|
|
567
|
-
export function initializeOutputListenersAndFlush() {
|
|
630
|
+
export function initializeOutputListenersAndFlush(config) {
|
|
568
631
|
// If there are no listeners for output, make sure we flush so output is not
|
|
569
632
|
// lost.
|
|
570
633
|
if (coreEvents.listenerCount(CoreEvent.Output) === 0) {
|
|
@@ -577,23 +640,38 @@ export function initializeOutputListenersAndFlush() {
|
|
|
577
640
|
writeToStdout(payload.chunk, payload.encoding);
|
|
578
641
|
}
|
|
579
642
|
});
|
|
580
|
-
if (coreEvents.listenerCount(CoreEvent.ConsoleLog) === 0) {
|
|
581
|
-
coreEvents.on(CoreEvent.ConsoleLog, (payload) => {
|
|
582
|
-
if (payload.type === 'error' || payload.type === 'warn') {
|
|
583
|
-
writeToStderr(payload.content + '\n');
|
|
584
|
-
}
|
|
585
|
-
else {
|
|
586
|
-
writeToStderr(payload.content + '\n');
|
|
587
|
-
}
|
|
588
|
-
});
|
|
589
|
-
}
|
|
590
|
-
if (coreEvents.listenerCount(CoreEvent.UserFeedback) === 0) {
|
|
591
|
-
coreEvents.on(CoreEvent.UserFeedback, (payload) => {
|
|
592
|
-
writeToStderr(payload.message + '\n');
|
|
593
|
-
});
|
|
594
|
-
}
|
|
595
643
|
}
|
|
596
|
-
coreEvents.
|
|
644
|
+
if (coreEvents.listenerCount(CoreEvent.ConsoleLog) === 0) {
|
|
645
|
+
coreEvents.on(CoreEvent.ConsoleLog, (payload) => {
|
|
646
|
+
if (payload.type === 'error' || payload.type === 'warn') {
|
|
647
|
+
writeToStderr(payload.content + '\n');
|
|
648
|
+
}
|
|
649
|
+
else {
|
|
650
|
+
writeToStderr(payload.content + '\n');
|
|
651
|
+
}
|
|
652
|
+
});
|
|
653
|
+
}
|
|
654
|
+
if (coreEvents.listenerCount(CoreEvent.UserFeedback) === 0) {
|
|
655
|
+
coreEvents.on(CoreEvent.UserFeedback, (payload) => {
|
|
656
|
+
writeToStderr(payload.message + '\n');
|
|
657
|
+
});
|
|
658
|
+
}
|
|
659
|
+
const outputFormat = config?.getOutputFormat();
|
|
660
|
+
const forceToStderr = outputFormat === 'json';
|
|
661
|
+
coreEvents.drainBacklogs((event, args) => {
|
|
662
|
+
if (forceToStderr && event === CoreEvent.Output) {
|
|
663
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
664
|
+
const payload = args[0];
|
|
665
|
+
if (!payload.isStderr) {
|
|
666
|
+
return {
|
|
667
|
+
event,
|
|
668
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
669
|
+
args: [{ ...payload, isStderr: true }],
|
|
670
|
+
};
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
return { event, args };
|
|
674
|
+
});
|
|
597
675
|
}
|
|
598
676
|
function setupAdminControlsListener() {
|
|
599
677
|
let pendingSettings;
|
package/dist/src/gemini.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/gemini.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/gemini.tsx"],"names":[],"mappings":"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"}
|
package/dist/src/gemini.test.js
CHANGED
|
@@ -222,6 +222,9 @@ vi.mock('./ui/utils/mouse.js', () => ({
|
|
|
222
222
|
vi.mock('./validateNonInterActiveAuth.js', () => ({
|
|
223
223
|
validateNonInteractiveAuth: vi.fn().mockResolvedValue('google'),
|
|
224
224
|
}));
|
|
225
|
+
vi.mock('./config/auth.js', () => ({
|
|
226
|
+
validateAuthMethod: vi.fn().mockResolvedValue(null),
|
|
227
|
+
}));
|
|
225
228
|
describe('gemini.tsx main function', () => {
|
|
226
229
|
let originalIsTTY;
|
|
227
230
|
let initialUnhandledRejectionListeners = [];
|
|
@@ -694,11 +697,14 @@ describe('gemini.tsx main function kitty protocol', () => {
|
|
|
694
697
|
processExitSpy.mockRestore();
|
|
695
698
|
});
|
|
696
699
|
it('should handle session selector error', async () => {
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
700
|
+
// eslint-disable-next-line prefer-arrow-callback
|
|
701
|
+
vi.mocked(SessionSelector).mockImplementation(function () {
|
|
702
|
+
return {
|
|
703
|
+
resolveSession: vi
|
|
704
|
+
.fn()
|
|
705
|
+
.mockRejectedValue(new Error('Session not found')),
|
|
706
|
+
};
|
|
707
|
+
});
|
|
702
708
|
const processExitSpy = vi
|
|
703
709
|
.spyOn(process, 'exit')
|
|
704
710
|
.mockImplementation((code) => {
|
|
@@ -736,11 +742,14 @@ describe('gemini.tsx main function kitty protocol', () => {
|
|
|
736
742
|
emitFeedbackSpy.mockRestore();
|
|
737
743
|
});
|
|
738
744
|
it('should start normally with a warning when no sessions found for resume', async () => {
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
745
|
+
// eslint-disable-next-line prefer-arrow-callback
|
|
746
|
+
vi.mocked(SessionSelector).mockImplementation(function () {
|
|
747
|
+
return {
|
|
748
|
+
resolveSession: vi
|
|
749
|
+
.fn()
|
|
750
|
+
.mockRejectedValue(SessionError.noSessionsFound()),
|
|
751
|
+
};
|
|
752
|
+
});
|
|
744
753
|
const processExitSpy = vi
|
|
745
754
|
.spyOn(process, 'exit')
|
|
746
755
|
.mockImplementation((code) => {
|
|
@@ -874,10 +883,77 @@ describe('resolveSessionId', () => {
|
|
|
874
883
|
expect(sessionId).toBeDefined();
|
|
875
884
|
expect(resumedSessionData).toBeUndefined();
|
|
876
885
|
});
|
|
886
|
+
it('should import from session file when sessionFile is provided', async () => {
|
|
887
|
+
// eslint-disable-next-line prefer-arrow-callback
|
|
888
|
+
vi.mocked(SessionSelector).mockImplementation(function () {
|
|
889
|
+
return {
|
|
890
|
+
sessionExists: vi.fn().mockResolvedValue(false),
|
|
891
|
+
};
|
|
892
|
+
});
|
|
893
|
+
const coreModule = await import('@google/gemini-cli-core');
|
|
894
|
+
vi.spyOn(coreModule, 'loadConversationRecord').mockResolvedValueOnce({
|
|
895
|
+
sessionId: 'old-session-id',
|
|
896
|
+
projectHash: 'hash',
|
|
897
|
+
startTime: 'time',
|
|
898
|
+
lastUpdated: 'time',
|
|
899
|
+
messages: [
|
|
900
|
+
{ type: 'info', content: 'Old info', id: '1' },
|
|
901
|
+
{ type: 'user', content: 'Hello', id: '2' },
|
|
902
|
+
{ type: 'gemini', content: 'Hi', id: '3' },
|
|
903
|
+
{ type: 'error', content: 'Old error', id: '4' },
|
|
904
|
+
{ type: 'user', id: '5' }, // Missing content
|
|
905
|
+
null, // Null object
|
|
906
|
+
{ type: 'unknown', content: 'Something', id: '6' }, // Unknown type
|
|
907
|
+
],
|
|
908
|
+
});
|
|
909
|
+
const emitFeedbackSpy = vi.spyOn(coreEvents, 'emitFeedback');
|
|
910
|
+
const processExitSpy = vi
|
|
911
|
+
.spyOn(process, 'exit')
|
|
912
|
+
.mockImplementation((code) => {
|
|
913
|
+
throw new MockProcessExitError(code);
|
|
914
|
+
});
|
|
915
|
+
try {
|
|
916
|
+
const { sessionId, resumedSessionData } = await resolveSessionId(undefined, undefined, 'dummy-session.json');
|
|
917
|
+
expect(sessionId).toBeDefined();
|
|
918
|
+
expect(sessionId).not.toBe('old-session-id'); // A new session ID should be created
|
|
919
|
+
expect(resumedSessionData).toBeDefined();
|
|
920
|
+
expect(resumedSessionData?.conversation.sessionId).toBe(sessionId); // Overwritten
|
|
921
|
+
// Verify messages: should have 1 info (the new import confirmation) + 2 valid conversation messages
|
|
922
|
+
// Invalid messages (missing content, null, unknown type) and transient messages should be filtered out.
|
|
923
|
+
expect(resumedSessionData?.conversation.messages).toHaveLength(3);
|
|
924
|
+
expect(resumedSessionData?.conversation.messages[0]).toMatchObject({
|
|
925
|
+
type: 'info',
|
|
926
|
+
content: expect.stringContaining('Imported session from'),
|
|
927
|
+
});
|
|
928
|
+
expect(resumedSessionData?.conversation.messages[1]).toMatchObject({
|
|
929
|
+
type: 'user',
|
|
930
|
+
content: 'Hello',
|
|
931
|
+
});
|
|
932
|
+
expect(resumedSessionData?.conversation.messages[2]).toMatchObject({
|
|
933
|
+
type: 'gemini',
|
|
934
|
+
content: 'Hi',
|
|
935
|
+
});
|
|
936
|
+
expect(resumedSessionData?.filePath).toContain(sessionId.slice(0, 8)); // New path
|
|
937
|
+
}
|
|
938
|
+
catch (e) {
|
|
939
|
+
if (e instanceof MockProcessExitError) {
|
|
940
|
+
throw new Error('process.exit called with: ' +
|
|
941
|
+
JSON.stringify(emitFeedbackSpy.mock.calls));
|
|
942
|
+
}
|
|
943
|
+
throw e;
|
|
944
|
+
}
|
|
945
|
+
finally {
|
|
946
|
+
emitFeedbackSpy.mockRestore();
|
|
947
|
+
processExitSpy.mockRestore();
|
|
948
|
+
}
|
|
949
|
+
});
|
|
877
950
|
it('should exit with FATAL_INPUT_ERROR when sessionId already exists', async () => {
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
951
|
+
// eslint-disable-next-line prefer-arrow-callback
|
|
952
|
+
vi.mocked(SessionSelector).mockImplementation(function () {
|
|
953
|
+
return {
|
|
954
|
+
sessionExists: vi.fn().mockResolvedValue(true),
|
|
955
|
+
};
|
|
956
|
+
});
|
|
881
957
|
const emitFeedbackSpy = vi.spyOn(coreEvents, 'emitFeedback');
|
|
882
958
|
const processExitSpy = vi
|
|
883
959
|
.spyOn(process, 'exit')
|
|
@@ -897,13 +973,40 @@ describe('resolveSessionId', () => {
|
|
|
897
973
|
processExitSpy.mockRestore();
|
|
898
974
|
});
|
|
899
975
|
it('should return provided sessionId when it does not exist', async () => {
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
976
|
+
// eslint-disable-next-line prefer-arrow-callback
|
|
977
|
+
vi.mocked(SessionSelector).mockImplementation(function () {
|
|
978
|
+
return {
|
|
979
|
+
sessionExists: vi.fn().mockResolvedValue(false),
|
|
980
|
+
};
|
|
981
|
+
});
|
|
903
982
|
const { sessionId, resumedSessionData } = await resolveSessionId(undefined, 'new-id');
|
|
904
983
|
expect(sessionId).toBe('new-id');
|
|
905
984
|
expect(resumedSessionData).toBeUndefined();
|
|
906
985
|
});
|
|
986
|
+
it('should exit with FATAL_INPUT_ERROR when explicit resume session is missing', async () => {
|
|
987
|
+
vi.mocked(SessionSelector).mockImplementation(() => ({
|
|
988
|
+
resolveSession: vi
|
|
989
|
+
.fn()
|
|
990
|
+
.mockRejectedValue(SessionError.noSessionsFound()),
|
|
991
|
+
}));
|
|
992
|
+
const emitFeedbackSpy = vi.spyOn(coreEvents, 'emitFeedback');
|
|
993
|
+
const processExitSpy = vi
|
|
994
|
+
.spyOn(process, 'exit')
|
|
995
|
+
.mockImplementation((code) => {
|
|
996
|
+
throw new MockProcessExitError(code);
|
|
997
|
+
});
|
|
998
|
+
try {
|
|
999
|
+
await resolveSessionId('explicit-session-id');
|
|
1000
|
+
}
|
|
1001
|
+
catch (e) {
|
|
1002
|
+
if (!(e instanceof MockProcessExitError))
|
|
1003
|
+
throw e;
|
|
1004
|
+
}
|
|
1005
|
+
expect(emitFeedbackSpy).toHaveBeenCalledWith('error', expect.stringContaining('Error resuming session:'));
|
|
1006
|
+
expect(processExitSpy).toHaveBeenCalledWith(ExitCodes.FATAL_INPUT_ERROR);
|
|
1007
|
+
emitFeedbackSpy.mockRestore();
|
|
1008
|
+
processExitSpy.mockRestore();
|
|
1009
|
+
});
|
|
907
1010
|
});
|
|
908
1011
|
describe('gemini.tsx main function exit codes', () => {
|
|
909
1012
|
let originalEnvNoRelaunch;
|
|
@@ -951,6 +1054,34 @@ describe('gemini.tsx main function exit codes', () => {
|
|
|
951
1054
|
expect(e.code).toBe(42);
|
|
952
1055
|
}
|
|
953
1056
|
});
|
|
1057
|
+
it('should exit with 41 for validateAuthMethod failure during sandbox setup', async () => {
|
|
1058
|
+
vi.stubEnv('SANDBOX', '');
|
|
1059
|
+
vi.mocked(loadSandboxConfig).mockResolvedValue(createMockSandboxConfig({
|
|
1060
|
+
command: 'docker',
|
|
1061
|
+
image: 'test-image',
|
|
1062
|
+
}));
|
|
1063
|
+
vi.mocked(loadCliConfig).mockResolvedValue(createMockConfig({
|
|
1064
|
+
refreshAuth: vi.fn().mockResolvedValue(undefined),
|
|
1065
|
+
getRemoteAdminSettings: vi.fn().mockReturnValue(undefined),
|
|
1066
|
+
isInteractive: vi.fn().mockReturnValue(true),
|
|
1067
|
+
}));
|
|
1068
|
+
vi.mocked(loadSettings).mockReturnValue(createMockSettings({
|
|
1069
|
+
merged: {
|
|
1070
|
+
security: { auth: { selectedType: 'google', useExternal: false } },
|
|
1071
|
+
},
|
|
1072
|
+
}));
|
|
1073
|
+
vi.mocked(parseArguments).mockResolvedValue({});
|
|
1074
|
+
const authModule = await import('./config/auth.js');
|
|
1075
|
+
vi.mocked(authModule.validateAuthMethod).mockResolvedValueOnce('Auth method invalid');
|
|
1076
|
+
try {
|
|
1077
|
+
await main();
|
|
1078
|
+
expect.fail('Should have thrown MockProcessExitError');
|
|
1079
|
+
}
|
|
1080
|
+
catch (e) {
|
|
1081
|
+
expect(e).toBeInstanceOf(MockProcessExitError);
|
|
1082
|
+
expect(e.code).toBe(41);
|
|
1083
|
+
}
|
|
1084
|
+
});
|
|
954
1085
|
it('should exit with 41 for auth failure during sandbox setup', async () => {
|
|
955
1086
|
vi.stubEnv('SANDBOX', '');
|
|
956
1087
|
vi.mocked(loadSandboxConfig).mockResolvedValue(createMockSandboxConfig({
|