@machina.ai/cell-cli 1.6.1-rc1 → 1.8.2-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/package.json +7 -4
- package/dist/src/commands/extensions/examples/context/gemini-extension.json +1 -2
- package/dist/src/commands/extensions/examples/mcp-server/gemini-extension.json +3 -2
- package/dist/src/commands/extensions/examples/mcp-server/package.json +18 -0
- package/dist/src/commands/extensions/examples/mcp-server/tsconfig.json +13 -0
- package/dist/src/commands/extensions/install.d.ts +1 -2
- package/dist/src/commands/extensions/install.js +29 -36
- package/dist/src/commands/extensions/install.js.map +1 -1
- package/dist/src/commands/extensions/install.test.js +16 -16
- package/dist/src/commands/extensions/install.test.js.map +1 -1
- package/dist/src/commands/extensions/link.js +2 -2
- package/dist/src/commands/extensions/link.js.map +1 -1
- package/dist/src/commands/extensions/list.js +1 -1
- package/dist/src/commands/extensions/list.js.map +1 -1
- package/dist/src/commands/extensions/new.js +28 -8
- package/dist/src/commands/extensions/new.js.map +1 -1
- package/dist/src/commands/extensions/new.test.js +14 -5
- package/dist/src/commands/extensions/new.test.js.map +1 -1
- package/dist/src/commands/extensions/uninstall.test.js +4 -1
- package/dist/src/commands/extensions/uninstall.test.js.map +1 -1
- package/dist/src/commands/extensions/update.js +19 -5
- package/dist/src/commands/extensions/update.js.map +1 -1
- package/dist/src/commands/mcp/add.js +6 -1
- package/dist/src/commands/mcp/add.js.map +1 -1
- package/dist/src/commands/mcp/list.js +3 -2
- package/dist/src/commands/mcp/list.js.map +1 -1
- package/dist/src/config/config.d.ts +5 -2
- package/dist/src/config/config.js +126 -73
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/extension.d.ts +29 -5
- package/dist/src/config/extension.js +139 -65
- package/dist/src/config/extension.js.map +1 -1
- package/dist/src/config/extensions/extensionEnablement.d.ts +12 -9
- package/dist/src/config/extensions/extensionEnablement.js +37 -9
- package/dist/src/config/extensions/extensionEnablement.js.map +1 -1
- package/dist/src/config/extensions/extensionEnablement.test.js +72 -0
- package/dist/src/config/extensions/extensionEnablement.test.js.map +1 -1
- package/dist/src/config/extensions/github.d.ts +1 -0
- package/dist/src/config/extensions/github.js +31 -15
- package/dist/src/config/extensions/github.js.map +1 -1
- package/dist/src/config/extensions/github.test.js +68 -1
- package/dist/src/config/extensions/github.test.js.map +1 -1
- package/dist/src/config/extensions/update.d.ts +4 -5
- package/dist/src/config/extensions/update.js +59 -40
- package/dist/src/config/extensions/update.js.map +1 -1
- package/dist/src/config/extensions/update.test.js +89 -71
- package/dist/src/config/extensions/update.test.js.map +1 -1
- package/dist/src/config/policy-engine.integration.test.js +270 -0
- package/dist/src/config/policy-engine.integration.test.js.map +1 -0
- package/dist/src/config/policy.d.ts +8 -0
- package/dist/src/config/policy.js +150 -0
- package/dist/src/config/policy.js.map +1 -0
- package/dist/src/config/policy.test.d.ts +6 -0
- package/dist/src/config/policy.test.js +336 -0
- package/dist/src/config/policy.test.js.map +1 -0
- package/dist/src/config/settings.js +19 -3
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +30 -3
- package/dist/src/config/settingsSchema.js +29 -2
- package/dist/src/config/settingsSchema.js.map +1 -1
- package/dist/src/config/trustedFolders.d.ts +10 -1
- package/dist/src/config/trustedFolders.js +42 -16
- package/dist/src/config/trustedFolders.js.map +1 -1
- package/dist/src/config/trustedFolders.test.js +98 -17
- package/dist/src/config/trustedFolders.test.js.map +1 -1
- package/dist/src/gemini.js +118 -161
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/gemini.test.js +81 -12
- package/dist/src/gemini.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/nonInteractiveCli.d.ts +2 -1
- package/dist/src/nonInteractiveCli.js +29 -16
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/nonInteractiveCliCommands.d.ts +17 -0
- package/dist/src/nonInteractiveCliCommands.js +79 -0
- package/dist/src/nonInteractiveCliCommands.js.map +1 -0
- package/dist/src/services/BuiltinCommandLoader.js +4 -0
- package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.test.js +50 -1
- package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
- package/dist/src/test-utils/render.d.ts +5 -1
- package/dist/src/test-utils/render.js +5 -1
- package/dist/src/test-utils/render.js.map +1 -1
- package/dist/src/ui/App.js +23 -8
- package/dist/src/ui/App.js.map +1 -1
- package/dist/src/ui/AppContainer.js +114 -55
- package/dist/src/ui/AppContainer.js.map +1 -1
- package/dist/src/ui/AppContainer.test.js +399 -7
- package/dist/src/ui/AppContainer.test.js.map +1 -1
- package/dist/src/ui/IdeIntegrationNudge.d.ts +2 -2
- package/dist/src/ui/IdeIntegrationNudge.js +4 -2
- package/dist/src/ui/IdeIntegrationNudge.js.map +1 -1
- package/dist/src/ui/auth/AuthDialog.js +1 -0
- package/dist/src/ui/auth/AuthDialog.js.map +1 -1
- package/dist/src/ui/auth/AuthDialog.test.js +1 -0
- package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
- package/dist/src/ui/commands/chatCommand.js +14 -3
- package/dist/src/ui/commands/chatCommand.js.map +1 -1
- package/dist/src/ui/commands/clearCommand.js +1 -1
- package/dist/src/ui/commands/clearCommand.js.map +1 -1
- package/dist/src/ui/commands/extensionsCommand.js +17 -10
- package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
- package/dist/src/ui/commands/ideCommand.js +1 -1
- package/dist/src/ui/commands/ideCommand.js.map +1 -1
- package/dist/src/ui/commands/mcpCommand.js +87 -262
- package/dist/src/ui/commands/mcpCommand.js.map +1 -1
- package/dist/src/ui/commands/modelCommand.d.ts +7 -0
- package/dist/src/ui/commands/modelCommand.js +16 -0
- package/dist/src/ui/commands/modelCommand.js.map +1 -0
- package/dist/src/ui/commands/modelCommand.test.d.ts +6 -0
- package/dist/src/ui/commands/modelCommand.test.js +30 -0
- package/dist/src/ui/commands/modelCommand.test.js.map +1 -0
- package/dist/src/ui/commands/permissionsCommand.d.ts +7 -0
- package/dist/src/ui/commands/permissionsCommand.js +16 -0
- package/dist/src/ui/commands/permissionsCommand.js.map +1 -0
- package/dist/src/ui/commands/permissionsCommand.test.d.ts +6 -0
- package/dist/src/ui/commands/permissionsCommand.test.js +30 -0
- package/dist/src/ui/commands/permissionsCommand.test.js.map +1 -0
- package/dist/src/ui/commands/toolsCommand.js +10 -24
- package/dist/src/ui/commands/toolsCommand.js.map +1 -1
- package/dist/src/ui/commands/types.d.ts +7 -6
- package/dist/src/ui/commands/types.js.map +1 -1
- package/dist/src/ui/components/AppHeader.js +2 -5
- package/dist/src/ui/components/AppHeader.js.map +1 -1
- package/dist/src/ui/components/AsciiArt.d.ts +3 -3
- package/dist/src/ui/components/AsciiArt.js +3 -3
- package/dist/src/ui/components/Composer.js +12 -32
- package/dist/src/ui/components/Composer.js.map +1 -1
- package/dist/src/ui/components/Composer.test.js +18 -21
- package/dist/src/ui/components/Composer.test.js.map +1 -1
- package/dist/src/ui/components/ConsentPrompt.d.ts +13 -0
- package/dist/src/ui/components/ConsentPrompt.js +19 -0
- package/dist/src/ui/components/ConsentPrompt.js.map +1 -0
- package/dist/src/ui/components/ConsentPrompt.test.d.ts +6 -0
- package/dist/src/ui/components/ConsentPrompt.test.js +67 -0
- package/dist/src/ui/components/ConsentPrompt.test.js.map +1 -0
- package/dist/src/ui/components/ContextUsageDisplay.d.ts +2 -1
- package/dist/src/ui/components/ContextUsageDisplay.js +4 -2
- package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -1
- package/dist/src/ui/components/DialogManager.d.ts +7 -1
- package/dist/src/ui/components/DialogManager.js +18 -9
- package/dist/src/ui/components/DialogManager.js.map +1 -1
- package/dist/src/ui/components/EditorSettingsDialog.js +11 -2
- package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
- package/dist/src/ui/components/ExitWarning.d.ts +7 -0
- package/dist/src/ui/components/ExitWarning.js +9 -0
- package/dist/src/ui/components/ExitWarning.js.map +1 -0
- package/dist/src/ui/components/FolderTrustDialog.js +3 -0
- package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
- package/dist/src/ui/components/FolderTrustDialog.test.js +2 -2
- package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
- package/dist/src/ui/components/Footer.d.ts +1 -19
- package/dist/src/ui/components/Footer.js +32 -15
- package/dist/src/ui/components/Footer.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.d.ts +2 -1
- package/dist/src/ui/components/HistoryItemDisplay.js +10 -1
- package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
- package/dist/src/ui/components/HistoryItemDisplay.test.js +90 -9
- package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
- package/dist/src/ui/components/IdeTrustChangeDialog.d.ts +11 -0
- package/dist/src/ui/components/IdeTrustChangeDialog.js +32 -0
- package/dist/src/ui/components/IdeTrustChangeDialog.js.map +1 -0
- package/dist/src/ui/components/IdeTrustChangeDialog.test.d.ts +6 -0
- package/dist/src/ui/components/IdeTrustChangeDialog.test.js +57 -0
- package/dist/src/ui/components/IdeTrustChangeDialog.test.js.map +1 -0
- package/dist/src/ui/components/InputPrompt.d.ts +7 -1
- package/dist/src/ui/components/InputPrompt.js +59 -22
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.js +1 -1
- package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.test.js +4 -0
- package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -1
- package/dist/src/ui/components/LoopDetectionConfirmation.js +2 -0
- package/dist/src/ui/components/LoopDetectionConfirmation.js.map +1 -1
- package/dist/src/ui/components/MainContent.js +7 -2
- package/dist/src/ui/components/MainContent.js.map +1 -1
- package/dist/src/ui/components/ModelDialog.d.ts +11 -0
- package/dist/src/ui/components/ModelDialog.js +57 -0
- package/dist/src/ui/components/ModelDialog.js.map +1 -0
- package/dist/src/ui/components/ModelDialog.test.d.ts +6 -0
- package/dist/src/ui/components/ModelDialog.test.js +153 -0
- package/dist/src/ui/components/ModelDialog.test.js.map +1 -0
- package/dist/src/ui/components/PermissionsModifyTrustDialog.d.ts +13 -0
- package/dist/src/ui/components/PermissionsModifyTrustDialog.js +48 -0
- package/dist/src/ui/components/PermissionsModifyTrustDialog.js.map +1 -0
- package/dist/src/ui/components/PermissionsModifyTrustDialog.test.d.ts +6 -0
- package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +154 -0
- package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +1 -0
- package/dist/src/ui/components/ProQuotaDialog.js +2 -0
- package/dist/src/ui/components/ProQuotaDialog.js.map +1 -1
- package/dist/src/ui/components/ProQuotaDialog.test.js +2 -0
- package/dist/src/ui/components/ProQuotaDialog.test.js.map +1 -1
- package/dist/src/ui/components/QueuedMessageDisplay.d.ts +9 -0
- package/dist/src/ui/components/QueuedMessageDisplay.js +20 -0
- package/dist/src/ui/components/QueuedMessageDisplay.js.map +1 -0
- package/dist/src/ui/components/QueuedMessageDisplay.test.d.ts +6 -0
- package/dist/src/ui/components/QueuedMessageDisplay.test.js +56 -0
- package/dist/src/ui/components/QueuedMessageDisplay.test.js.map +1 -0
- package/dist/src/ui/components/RatingWidget.js +5 -1
- package/dist/src/ui/components/RatingWidget.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.js +5 -2
- package/dist/src/ui/components/SettingsDialog.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.test.js +47 -13
- package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
- package/dist/src/ui/components/ShellConfirmationDialog.js +3 -0
- package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
- package/dist/src/ui/components/ThemeDialog.js +2 -0
- package/dist/src/ui/components/ThemeDialog.js.map +1 -1
- package/dist/src/ui/components/WorkspaceMigrationDialog.js +5 -3
- package/dist/src/ui/components/WorkspaceMigrationDialog.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +14 -0
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +1 -1
- package/dist/src/ui/components/messages/ToolGroupMessage.js +5 -5
- package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
- package/dist/src/ui/components/messages/ToolMessage.d.ts +1 -1
- package/dist/src/ui/components/messages/ToolMessage.js +27 -4
- package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
- package/dist/src/ui/components/messages/UserMessage.js +1 -2
- package/dist/src/ui/components/messages/UserMessage.js.map +1 -1
- package/dist/src/ui/components/messages/WarningMessage.d.ts +11 -0
- package/dist/src/ui/components/messages/WarningMessage.js +10 -0
- package/dist/src/ui/components/messages/WarningMessage.js.map +1 -0
- package/dist/src/ui/components/shared/BaseSelectionList.d.ts +38 -0
- package/dist/src/ui/components/shared/BaseSelectionList.js +72 -0
- package/dist/src/ui/components/shared/BaseSelectionList.js.map +1 -0
- package/dist/src/ui/components/shared/BaseSelectionList.test.d.ts +6 -0
- package/dist/src/ui/components/shared/BaseSelectionList.test.js +376 -0
- package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +1 -0
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.d.ts +35 -0
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.js +13 -0
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.js.map +1 -0
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.d.ts +6 -0
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js +79 -0
- package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js.map +1 -0
- package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +2 -3
- package/dist/src/ui/components/shared/RadioButtonSelect.js +9 -104
- package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.test.js +115 -92
- package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +1 -1
- package/dist/src/ui/components/shared/ScopeSelector.js +4 -1
- package/dist/src/ui/components/shared/ScopeSelector.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.d.ts +6 -0
- package/dist/src/ui/components/shared/text-buffer.js +71 -4
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
- package/dist/src/ui/components/views/ExtensionsList.test.js +1 -1
- package/dist/src/ui/components/views/ExtensionsList.test.js.map +1 -1
- package/dist/src/ui/components/views/McpStatus.d.ts +27 -0
- package/dist/src/ui/components/views/McpStatus.js +77 -0
- package/dist/src/ui/components/views/McpStatus.js.map +1 -0
- package/dist/src/ui/components/views/McpStatus.test.d.ts +6 -0
- package/dist/src/ui/components/views/McpStatus.test.js +117 -0
- package/dist/src/ui/components/views/McpStatus.test.js.map +1 -0
- package/dist/src/ui/components/views/ToolsList.d.ts +14 -0
- package/dist/src/ui/components/views/ToolsList.js +7 -0
- package/dist/src/ui/components/views/ToolsList.js.map +1 -0
- package/dist/src/ui/components/views/ToolsList.test.d.ts +6 -0
- package/dist/src/ui/components/views/ToolsList.test.js +45 -0
- package/dist/src/ui/components/views/ToolsList.test.js.map +1 -0
- package/dist/src/ui/contexts/KeypressContext.js +3 -0
- package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
- package/dist/src/ui/contexts/SessionContext.d.ts +6 -0
- package/dist/src/ui/contexts/SessionContext.js +107 -5
- package/dist/src/ui/contexts/SessionContext.js.map +1 -1
- package/dist/src/ui/contexts/ShellFocusContext.d.ts +7 -0
- package/dist/src/ui/contexts/ShellFocusContext.js +9 -0
- package/dist/src/ui/contexts/ShellFocusContext.js.map +1 -0
- package/dist/src/ui/contexts/UIActionsContext.d.ts +2 -0
- package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
- package/dist/src/ui/contexts/UIStateContext.d.ts +11 -5
- package/dist/src/ui/contexts/UIStateContext.js +2 -0
- package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.d.ts +7 -5
- package/dist/src/ui/hooks/slashCommandProcessor.js +10 -2
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/useExtensionUpdates.d.ts +10 -1
- package/dist/src/ui/hooks/useExtensionUpdates.js +93 -41
- package/dist/src/ui/hooks/useExtensionUpdates.js.map +1 -1
- package/dist/src/ui/hooks/useExtensionUpdates.test.js +160 -79
- package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -1
- package/dist/src/ui/hooks/useFocus.js +10 -0
- package/dist/src/ui/hooks/useFocus.js.map +1 -1
- package/dist/src/ui/hooks/useFolderTrust.d.ts +1 -1
- package/dist/src/ui/hooks/useFolderTrust.js +2 -7
- package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
- package/dist/src/ui/hooks/useGeminiStream.js +7 -6
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
- package/dist/src/ui/hooks/useIdeTrustListener.d.ts +4 -2
- package/dist/src/ui/hooks/useIdeTrustListener.js +40 -14
- package/dist/src/ui/hooks/useIdeTrustListener.js.map +1 -1
- package/dist/src/ui/hooks/useIdeTrustListener.test.d.ts +6 -0
- package/dist/src/ui/hooks/useIdeTrustListener.test.js +183 -0
- package/dist/src/ui/hooks/useIdeTrustListener.test.js.map +1 -0
- package/dist/src/ui/hooks/useMemoryMonitor.d.ts +13 -0
- package/dist/src/ui/hooks/useMemoryMonitor.js +28 -0
- package/dist/src/ui/hooks/useMemoryMonitor.js.map +1 -0
- package/dist/src/ui/hooks/useMemoryMonitor.test.d.ts +6 -0
- package/dist/src/ui/hooks/useMemoryMonitor.test.js +57 -0
- package/dist/src/ui/hooks/useMemoryMonitor.test.js.map +1 -0
- package/dist/src/ui/hooks/useModelCommand.d.ts +12 -0
- package/dist/src/ui/hooks/useModelCommand.js +21 -0
- package/dist/src/ui/hooks/useModelCommand.js.map +1 -0
- package/dist/src/ui/hooks/useModelCommand.test.d.ts +6 -0
- package/dist/src/ui/hooks/useModelCommand.test.js +35 -0
- package/dist/src/ui/hooks/useModelCommand.test.js.map +1 -0
- package/dist/src/ui/hooks/usePermissionsModifyTrust.d.ts +17 -0
- package/dist/src/ui/hooks/usePermissionsModifyTrust.js +78 -0
- package/dist/src/ui/hooks/usePermissionsModifyTrust.js.map +1 -0
- package/dist/src/ui/hooks/usePermissionsModifyTrust.test.d.ts +6 -0
- package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js +182 -0
- package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js.map +1 -0
- package/dist/src/ui/hooks/useSelectionList.d.ts +34 -0
- package/dist/src/ui/hooks/useSelectionList.js +245 -0
- package/dist/src/ui/hooks/useSelectionList.js.map +1 -0
- package/dist/src/ui/hooks/useSelectionList.test.d.ts +6 -0
- package/dist/src/ui/hooks/useSelectionList.test.js +701 -0
- package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -0
- package/dist/src/ui/hooks/useSlashCompletion.js +7 -2
- package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useSlashCompletion.test.js +33 -0
- package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
- package/dist/src/ui/hooks/useStateAndRef.d.ts +1 -1
- package/dist/src/ui/hooks/useStateAndRef.js +2 -2
- package/dist/src/ui/hooks/useStateAndRef.js.map +1 -1
- package/dist/src/ui/hooks/useToolScheduler.test.js +2 -2
- package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
- package/dist/src/ui/layouts/DefaultAppLayout.d.ts +9 -0
- package/dist/src/ui/layouts/DefaultAppLayout.js +13 -0
- package/dist/src/ui/layouts/DefaultAppLayout.js.map +1 -0
- package/dist/src/ui/layouts/ScreenReaderAppLayout.d.ts +7 -0
- package/dist/src/ui/layouts/ScreenReaderAppLayout.js +14 -0
- package/dist/src/ui/layouts/ScreenReaderAppLayout.js.map +1 -0
- package/dist/src/ui/noninteractive/nonInteractiveUi.d.ts +12 -0
- package/dist/src/ui/noninteractive/nonInteractiveUi.js +28 -0
- package/dist/src/ui/noninteractive/nonInteractiveUi.js.map +1 -0
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +2 -2
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +1 -1
- package/dist/src/ui/state/extensions.d.ts +28 -1
- package/dist/src/ui/state/extensions.js +46 -1
- package/dist/src/ui/state/extensions.js.map +1 -1
- package/dist/src/ui/themes/theme.js +2 -2
- package/dist/src/ui/themes/theme.js.map +1 -1
- package/dist/src/ui/types.d.ts +50 -3
- package/dist/src/ui/types.js +3 -0
- package/dist/src/ui/types.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.js +1 -2
- package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.test.js +94 -91
- package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -1
- package/dist/src/ui/utils/displayUtils.d.ts +1 -0
- package/dist/src/ui/utils/displayUtils.js +4 -1
- package/dist/src/ui/utils/displayUtils.js.map +1 -1
- package/dist/src/ui/utils/displayUtils.test.js +36 -17
- package/dist/src/ui/utils/displayUtils.test.js.map +1 -1
- package/dist/src/ui/utils/highlight.d.ts +1 -0
- package/dist/src/ui/utils/highlight.js +28 -0
- package/dist/src/ui/utils/highlight.js.map +1 -1
- package/dist/src/ui/utils/textUtils.d.ts +1 -0
- package/dist/src/ui/utils/textUtils.js +56 -0
- package/dist/src/ui/utils/textUtils.js.map +1 -1
- package/dist/src/ui/utils/textUtils.test.d.ts +6 -0
- package/dist/src/ui/utils/textUtils.test.js +132 -0
- package/dist/src/ui/utils/textUtils.test.js.map +1 -0
- package/dist/src/utils/deepMerge.d.ts +2 -3
- package/dist/src/utils/events.d.ts +2 -1
- package/dist/src/utils/events.js +1 -0
- package/dist/src/utils/events.js.map +1 -1
- package/dist/src/utils/math.d.ts +13 -0
- package/dist/src/utils/math.js +14 -0
- package/dist/src/utils/math.js.map +1 -0
- package/dist/src/utils/relaunch.d.ts +7 -0
- package/dist/src/utils/relaunch.js +57 -0
- package/dist/src/utils/relaunch.js.map +1 -0
- package/dist/src/utils/relaunch.test.d.ts +6 -0
- package/dist/src/utils/relaunch.test.js +273 -0
- package/dist/src/utils/relaunch.test.js.map +1 -0
- package/dist/src/utils/sandbox.js +24 -10
- package/dist/src/utils/sandbox.js.map +1 -1
- package/dist/src/utils/windowTitle.d.ts +12 -0
- package/dist/src/utils/windowTitle.js +19 -0
- package/dist/src/utils/windowTitle.js.map +1 -0
- package/dist/src/utils/windowTitle.test.d.ts +6 -0
- package/dist/src/utils/windowTitle.test.js +49 -0
- package/dist/src/utils/windowTitle.test.js.map +1 -0
- package/dist/src/validateNonInterActiveAuth.d.ts +2 -1
- package/dist/src/validateNonInterActiveAuth.js +33 -12
- package/dist/src/validateNonInterActiveAuth.js.map +1 -1
- package/dist/src/zed-integration/fileSystemService.d.ts +1 -0
- package/dist/src/zed-integration/fileSystemService.js +3 -0
- package/dist/src/zed-integration/fileSystemService.js.map +1 -1
- package/dist/src/zed-integration/schema.d.ts +128 -128
- package/dist/src/zed-integration/zedIntegration.d.ts +8 -1
- package/dist/src/zed-integration/zedIntegration.js +17 -3
- package/dist/src/zed-integration/zedIntegration.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -8
- package/dist/src/commands/extensions/examples/mcp-server/example.js +0 -46
- package/dist/src/commands/extensions/examples/mcp-server/example.js.map +0 -1
- /package/dist/src/{commands/extensions/examples/mcp-server/example.d.ts → config/policy-engine.integration.test.d.ts} +0 -0
package/dist/src/gemini.js
CHANGED
|
@@ -4,24 +4,24 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
4
4
|
* Copyright 2025 Google LLC
|
|
5
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
*/
|
|
7
|
+
import React from 'react';
|
|
7
8
|
import { render } from 'ink';
|
|
8
9
|
import { AppContainer } from './ui/AppContainer.js';
|
|
9
10
|
import { loadCliConfig, parseArguments } from './config/config.js';
|
|
11
|
+
import * as cliConfig from './config/config.js';
|
|
10
12
|
import { readStdin } from './utils/readStdin.js';
|
|
11
13
|
import { basename } from 'node:path';
|
|
12
14
|
import v8 from 'node:v8';
|
|
13
15
|
import os from 'node:os';
|
|
14
16
|
import dns from 'node:dns';
|
|
15
|
-
import { spawn } from 'node:child_process';
|
|
16
17
|
import { start_sandbox } from './utils/sandbox.js';
|
|
17
|
-
import { RELAUNCH_EXIT_CODE } from './utils/processUtils.js';
|
|
18
18
|
import { loadSettings, migrateDeprecatedSettings, SettingScope, } from './config/settings.js';
|
|
19
19
|
import { themeManager } from './ui/themes/theme-manager.js';
|
|
20
20
|
import { getStartupWarnings } from './utils/startupWarnings.js';
|
|
21
21
|
import { getUserStartupWarnings } from './utils/userStartupWarnings.js';
|
|
22
22
|
import { ConsolePatcher } from './ui/utils/ConsolePatcher.js';
|
|
23
23
|
import { runNonInteractive } from './nonInteractiveCli.js';
|
|
24
|
-
import { loadExtensions } from './config/extension.js';
|
|
24
|
+
import { ExtensionStorage, loadExtensions } from './config/extension.js';
|
|
25
25
|
import { cleanupCheckpoints, registerCleanup, runExitCleanup, } from './utils/cleanup.js';
|
|
26
26
|
import { getCliVersion } from './utils/version.js';
|
|
27
27
|
import { sessionId, logUserPrompt, AuthType, getOauthClient, } from '@google/gemini-cli-core';
|
|
@@ -34,11 +34,13 @@ import { detectAndEnableKittyProtocol } from './ui/utils/kittyProtocolDetector.j
|
|
|
34
34
|
import { checkForUpdates } from './ui/utils/updateCheck.js';
|
|
35
35
|
import { handleAutoUpdate } from './utils/handleAutoUpdate.js';
|
|
36
36
|
import { appEvents, AppEvent } from './utils/events.js';
|
|
37
|
+
import { computeWindowTitle } from './utils/windowTitle.js';
|
|
37
38
|
import { SettingsContext } from './ui/contexts/SettingsContext.js';
|
|
38
39
|
import { SessionStatsProvider } from './ui/contexts/SessionContext.js';
|
|
39
40
|
import { VimModeProvider } from './ui/contexts/VimModeContext.js';
|
|
40
41
|
import { KeypressProvider } from './ui/contexts/KeypressContext.js';
|
|
41
42
|
import { useKittyKeyboardProtocol } from './ui/hooks/useKittyKeyboardProtocol.js';
|
|
43
|
+
import { relaunchAppInChildProcess, relaunchOnExitCode, } from './utils/relaunch.js';
|
|
42
44
|
export function validateDnsResolutionOrder(order) {
|
|
43
45
|
const defaultValue = 'ipv4first';
|
|
44
46
|
if (order === undefined) {
|
|
@@ -51,66 +53,29 @@ export function validateDnsResolutionOrder(order) {
|
|
|
51
53
|
console.warn(`Invalid value for dnsResolutionOrder in settings: "${order}". Using default "${defaultValue}".`);
|
|
52
54
|
return defaultValue;
|
|
53
55
|
}
|
|
54
|
-
function getNodeMemoryArgs(
|
|
56
|
+
function getNodeMemoryArgs(isDebugMode) {
|
|
55
57
|
const totalMemoryMB = os.totalmem() / (1024 * 1024);
|
|
56
58
|
const heapStats = v8.getHeapStatistics();
|
|
57
59
|
const currentMaxOldSpaceSizeMb = Math.floor(heapStats.heap_size_limit / 1024 / 1024);
|
|
58
60
|
// Set target to 50% of total memory
|
|
59
61
|
const targetMaxOldSpaceSizeInMB = Math.floor(totalMemoryMB * 0.5);
|
|
60
|
-
if (
|
|
62
|
+
if (isDebugMode) {
|
|
61
63
|
console.debug(`Current heap size ${currentMaxOldSpaceSizeMb.toFixed(2)} MB`);
|
|
62
64
|
}
|
|
63
|
-
if (process.env['
|
|
65
|
+
if (process.env['CELL_CLI_NO_RELAUNCH']) {
|
|
64
66
|
return [];
|
|
65
67
|
}
|
|
66
68
|
if (targetMaxOldSpaceSizeInMB > currentMaxOldSpaceSizeMb) {
|
|
67
|
-
if (
|
|
69
|
+
if (isDebugMode) {
|
|
68
70
|
console.debug(`Need to relaunch with more memory: ${targetMaxOldSpaceSizeInMB.toFixed(2)} MB`);
|
|
69
71
|
}
|
|
70
72
|
return [`--max-old-space-size=${targetMaxOldSpaceSizeInMB}`];
|
|
71
73
|
}
|
|
72
74
|
return [];
|
|
73
75
|
}
|
|
74
|
-
async function relaunchOnExitCode(runner) {
|
|
75
|
-
while (true) {
|
|
76
|
-
try {
|
|
77
|
-
const exitCode = await runner();
|
|
78
|
-
if (exitCode !== RELAUNCH_EXIT_CODE) {
|
|
79
|
-
process.exit(exitCode);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
catch (error) {
|
|
83
|
-
process.stdin.resume();
|
|
84
|
-
console.error('Fatal error: Failed to relaunch the CLI process.', error);
|
|
85
|
-
process.exit(1);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
async function relaunchAppInChildProcess(additionalArgs) {
|
|
90
|
-
if (process.env['GEMINI_CLI_NO_RELAUNCH']) {
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
const runner = () => {
|
|
94
|
-
const nodeArgs = [...additionalArgs, ...process.argv.slice(1)];
|
|
95
|
-
const newEnv = { ...process.env, GEMINI_CLI_NO_RELAUNCH: 'true' };
|
|
96
|
-
// The parent process should not be reading from stdin while the child is running.
|
|
97
|
-
process.stdin.pause();
|
|
98
|
-
const child = spawn(process.execPath, nodeArgs, {
|
|
99
|
-
stdio: 'inherit',
|
|
100
|
-
env: newEnv,
|
|
101
|
-
});
|
|
102
|
-
return new Promise((resolve, reject) => {
|
|
103
|
-
child.on('error', reject);
|
|
104
|
-
child.on('close', (code) => {
|
|
105
|
-
// Resume stdin before the parent process exits.
|
|
106
|
-
process.stdin.resume();
|
|
107
|
-
resolve(code ?? 1);
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
};
|
|
111
|
-
await relaunchOnExitCode(runner);
|
|
112
|
-
}
|
|
113
76
|
import { runZedIntegration } from './zed-integration/zedIntegration.js';
|
|
77
|
+
import { loadSandboxConfig } from './config/sandboxConfig.js';
|
|
78
|
+
import { ExtensionEnablementManager } from './config/extensions/extensionEnablement.js';
|
|
114
79
|
export function setupUnhandledRejectionHandler() {
|
|
115
80
|
let unhandledRejectionOccurred = false;
|
|
116
81
|
process.on('unhandledRejection', (reason, _promise) => {
|
|
@@ -138,7 +103,7 @@ export async function startInteractiveUI(config, settings, startupWarnings, work
|
|
|
138
103
|
const kittyProtocolStatus = useKittyKeyboardProtocol();
|
|
139
104
|
return (_jsx(SettingsContext.Provider, { value: settings, children: _jsx(KeypressProvider, { kittyProtocolEnabled: kittyProtocolStatus.enabled, config: config, debugKeystrokeLogging: settings.merged.general?.debugKeystrokeLogging, children: _jsx(SessionStatsProvider, { children: _jsx(VimModeProvider, { settings: settings, children: _jsx(AppContainer, { config: config, settings: settings, startupWarnings: startupWarnings, version: version, initializationResult: initializationResult }) }) }) }) }));
|
|
140
105
|
};
|
|
141
|
-
const instance = render(_jsx(AppWrapper, {}), {
|
|
106
|
+
const instance = render(process.env['DEBUG'] ? (_jsx(React.StrictMode, { children: _jsx(AppWrapper, {}) })) : (_jsx(AppWrapper, {})), {
|
|
142
107
|
exitOnCtrlC: false,
|
|
143
108
|
isScreenReaderEnabled: config.getScreenReader(),
|
|
144
109
|
});
|
|
@@ -160,77 +125,25 @@ export async function main() {
|
|
|
160
125
|
migrateDeprecatedSettings(settings);
|
|
161
126
|
await cleanupCheckpoints();
|
|
162
127
|
const argv = await parseArguments(settings.merged);
|
|
163
|
-
// If running in ACP mode, redirect stdout to stderr early.
|
|
164
|
-
if (argv.experimentalAcp) {
|
|
165
|
-
console.log = console.error;
|
|
166
|
-
console.info = console.error;
|
|
167
|
-
console.debug = console.error;
|
|
168
|
-
}
|
|
169
|
-
const extensions = loadExtensions();
|
|
170
|
-
const config = await loadCliConfig(settings.merged, extensions, sessionId, argv);
|
|
171
128
|
// Check for invalid input combinations early to prevent crashes
|
|
172
129
|
if (argv.promptInteractive && !process.stdin.isTTY) {
|
|
173
130
|
console.error('Error: The --prompt-interactive flag cannot be used when input is piped from stdin.');
|
|
174
131
|
process.exit(1);
|
|
175
132
|
}
|
|
176
|
-
const
|
|
177
|
-
let kittyProtocolDetectionComplete;
|
|
178
|
-
if (config.isInteractive() && !wasRaw && process.stdin.isTTY) {
|
|
179
|
-
// Set this as early as possible to avoid spurious characters from
|
|
180
|
-
// input showing up in the output.
|
|
181
|
-
process.stdin.setRawMode(true);
|
|
182
|
-
// This cleanup isn't strictly needed but may help in certain situations.
|
|
183
|
-
process.on('SIGTERM', () => {
|
|
184
|
-
process.stdin.setRawMode(wasRaw);
|
|
185
|
-
});
|
|
186
|
-
process.on('SIGINT', () => {
|
|
187
|
-
process.stdin.setRawMode(wasRaw);
|
|
188
|
-
});
|
|
189
|
-
// Detect and enable Kitty keyboard protocol once at startup.
|
|
190
|
-
kittyProtocolDetectionComplete = detectAndEnableKittyProtocol();
|
|
191
|
-
}
|
|
133
|
+
const isDebugMode = cliConfig.isDebugMode(argv);
|
|
192
134
|
const consolePatcher = new ConsolePatcher({
|
|
193
135
|
stderr: true,
|
|
194
|
-
debugMode:
|
|
136
|
+
debugMode: isDebugMode,
|
|
195
137
|
});
|
|
196
138
|
consolePatcher.patch();
|
|
197
139
|
registerCleanup(consolePatcher.cleanup);
|
|
198
140
|
dns.setDefaultResultOrder(validateDnsResolutionOrder(settings.merged.advanced?.dnsResolutionOrder));
|
|
199
|
-
if (config.getListExtensions()) {
|
|
200
|
-
console.log('Installed extensions:');
|
|
201
|
-
for (const extension of extensions) {
|
|
202
|
-
console.log(`- ${extension.config.name}`);
|
|
203
|
-
}
|
|
204
|
-
process.exit(0);
|
|
205
|
-
}
|
|
206
141
|
// Set a default auth type if one isn't set.
|
|
207
142
|
if (!settings.merged.security?.auth?.selectedType) {
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
setMaxSizedBoxDebugging(config.getDebugMode());
|
|
211
|
-
//const mcpServers = config.getMcpServers();
|
|
212
|
-
//const mcpServersCount = mcpServers ? Object.keys(mcpServers).length : 0;
|
|
213
|
-
let spinnerInstance;
|
|
214
|
-
/*if (config.isInteractive() && mcpServersCount > 0) {
|
|
215
|
-
spinnerInstance = render(
|
|
216
|
-
<InitializingComponent initialTotal={mcpServersCount} />,
|
|
217
|
-
);
|
|
218
|
-
}*/ //
|
|
219
|
-
//await config.initialize();
|
|
220
|
-
if (!config.getExperimentalZedIntegration()) {
|
|
221
|
-
try {
|
|
222
|
-
startProxy(sessionId);
|
|
223
|
-
}
|
|
224
|
-
catch (err) {
|
|
225
|
-
console.error('Error starting api-proxy:', err);
|
|
143
|
+
if (process.env['CLOUD_SHELL'] === 'true') {
|
|
144
|
+
settings.setValue(SettingScope.User, 'selectedAuthType', AuthType.CLOUD_SHELL);
|
|
226
145
|
}
|
|
227
146
|
}
|
|
228
|
-
if (spinnerInstance) {
|
|
229
|
-
// Small UX detail to show the completion message for a bit before unmounting.
|
|
230
|
-
await new Promise((f) => setTimeout(f, 100));
|
|
231
|
-
spinnerInstance.clear();
|
|
232
|
-
spinnerInstance.unmount();
|
|
233
|
-
}
|
|
234
147
|
// Load custom themes from settings
|
|
235
148
|
themeManager.loadCustomThemes(settings.merged.ui?.customThemes);
|
|
236
149
|
if (settings.merged.ui?.theme) {
|
|
@@ -240,14 +153,19 @@ export async function main() {
|
|
|
240
153
|
console.warn(`Warning: Theme "${settings.merged.ui?.theme}" not found.`);
|
|
241
154
|
}
|
|
242
155
|
}
|
|
243
|
-
const initializationResult = await initializeApp(config, settings);
|
|
244
156
|
// hop into sandbox if we are outside and sandboxing is enabled
|
|
245
157
|
if (!process.env['SANDBOX']) {
|
|
246
158
|
const memoryArgs = settings.merged.advanced?.autoConfigureMemory
|
|
247
|
-
? getNodeMemoryArgs(
|
|
159
|
+
? getNodeMemoryArgs(isDebugMode)
|
|
248
160
|
: [];
|
|
249
|
-
const sandboxConfig =
|
|
161
|
+
const sandboxConfig = await loadSandboxConfig(settings.merged, argv);
|
|
162
|
+
// We intentially omit the list of extensions here because extensions
|
|
163
|
+
// should not impact auth or setting up the sandbox.
|
|
164
|
+
// TODO(jacobr): refactor loadCliConfig so there is a minimal version
|
|
165
|
+
// that only initializes enough config to enable refreshAuth or find
|
|
166
|
+
// another way to decouple refreshAuth from requiring a config.
|
|
250
167
|
if (sandboxConfig) {
|
|
168
|
+
const partialConfig = await loadCliConfig(settings.merged, [], new ExtensionEnablementManager(ExtensionStorage.getUserExtensionsDir()), sessionId, argv);
|
|
251
169
|
if (settings.merged.security?.auth?.selectedType &&
|
|
252
170
|
!settings.merged.security?.auth?.useExternal) {
|
|
253
171
|
// Validate authentication here because the sandbox will interfere with the Oauth2 web redirect.
|
|
@@ -256,7 +174,7 @@ export async function main() {
|
|
|
256
174
|
if (err) {
|
|
257
175
|
throw new Error(err);
|
|
258
176
|
}
|
|
259
|
-
await
|
|
177
|
+
await partialConfig.refreshAuth(settings.merged.security.auth.selectedType);
|
|
260
178
|
}
|
|
261
179
|
catch (err) {
|
|
262
180
|
console.error('Error authenticating:', err);
|
|
@@ -286,72 +204,111 @@ export async function main() {
|
|
|
286
204
|
return finalArgs;
|
|
287
205
|
};
|
|
288
206
|
const sandboxArgs = injectStdinIntoArgs(process.argv, stdinData);
|
|
289
|
-
await relaunchOnExitCode(() => start_sandbox(sandboxConfig, memoryArgs,
|
|
207
|
+
await relaunchOnExitCode(() => start_sandbox(sandboxConfig, memoryArgs, partialConfig, sandboxArgs));
|
|
290
208
|
process.exit(0);
|
|
291
209
|
}
|
|
292
210
|
else {
|
|
293
211
|
// Relaunch app so we always have a child process that can be internally
|
|
294
212
|
// restarted if needed.
|
|
295
|
-
await relaunchAppInChildProcess(memoryArgs);
|
|
213
|
+
await relaunchAppInChildProcess(memoryArgs, []);
|
|
296
214
|
}
|
|
297
215
|
}
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
];
|
|
312
|
-
// Render UI, passing necessary config values. Check that there is no command line question.
|
|
313
|
-
if (config.isInteractive()) {
|
|
314
|
-
// Need kitty detection to be complete before we can start the interactive UI.
|
|
315
|
-
await kittyProtocolDetectionComplete;
|
|
316
|
-
await startInteractiveUI(config, settings, startupWarnings, process.cwd(), initializationResult);
|
|
317
|
-
return;
|
|
318
|
-
}
|
|
319
|
-
await config.initialize();
|
|
320
|
-
// If not a TTY, read from stdin
|
|
321
|
-
// This is for cases where the user pipes input directly into the command
|
|
322
|
-
if (!process.stdin.isTTY) {
|
|
323
|
-
const stdinData = await readStdin();
|
|
324
|
-
if (stdinData) {
|
|
325
|
-
input = `${stdinData}\n\n${input}`;
|
|
216
|
+
// We are now past the logic handling potentially launching a child process
|
|
217
|
+
// to run Gemini CLI. It is now safe to perform expensive initialization that
|
|
218
|
+
// may have side effects.
|
|
219
|
+
{
|
|
220
|
+
const extensionEnablementManager = new ExtensionEnablementManager(ExtensionStorage.getUserExtensionsDir(), argv.extensions);
|
|
221
|
+
const extensions = loadExtensions(extensionEnablementManager);
|
|
222
|
+
const config = await loadCliConfig(settings.merged, extensions, extensionEnablementManager, sessionId, argv);
|
|
223
|
+
if (config.getListExtensions()) {
|
|
224
|
+
console.log('Installed extensions:');
|
|
225
|
+
for (const extension of extensions) {
|
|
226
|
+
console.log(`- ${extension.config.name}`);
|
|
227
|
+
}
|
|
228
|
+
process.exit(0);
|
|
326
229
|
}
|
|
230
|
+
const wasRaw = process.stdin.isRaw;
|
|
231
|
+
let kittyProtocolDetectionComplete;
|
|
232
|
+
if (config.isInteractive() && !wasRaw && process.stdin.isTTY) {
|
|
233
|
+
// Set this as early as possible to avoid spurious characters from
|
|
234
|
+
// input showing up in the output.
|
|
235
|
+
process.stdin.setRawMode(true);
|
|
236
|
+
// This cleanup isn't strictly needed but may help in certain situations.
|
|
237
|
+
process.on('SIGTERM', () => {
|
|
238
|
+
process.stdin.setRawMode(wasRaw);
|
|
239
|
+
});
|
|
240
|
+
process.on('SIGINT', () => {
|
|
241
|
+
process.stdin.setRawMode(wasRaw);
|
|
242
|
+
});
|
|
243
|
+
// Detect and enable Kitty keyboard protocol once at startup.
|
|
244
|
+
kittyProtocolDetectionComplete = detectAndEnableKittyProtocol();
|
|
245
|
+
}
|
|
246
|
+
setMaxSizedBoxDebugging(isDebugMode);
|
|
247
|
+
if (!config.getExperimentalZedIntegration()) {
|
|
248
|
+
try {
|
|
249
|
+
startProxy(sessionId);
|
|
250
|
+
}
|
|
251
|
+
catch (err) {
|
|
252
|
+
console.error('Error starting api-proxy:', err);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
const initializationResult = await initializeApp(config, settings);
|
|
256
|
+
if (settings.merged.security?.auth?.selectedType ===
|
|
257
|
+
AuthType.LOGIN_WITH_GOOGLE &&
|
|
258
|
+
config.isBrowserLaunchSuppressed()) {
|
|
259
|
+
// Do oauth before app renders to make copying the link possible.
|
|
260
|
+
await getOauthClient(settings.merged.security.auth.selectedType, config);
|
|
261
|
+
}
|
|
262
|
+
if (config.getExperimentalZedIntegration()) {
|
|
263
|
+
return runZedIntegration(config, settings, extensions, argv);
|
|
264
|
+
}
|
|
265
|
+
let input = config.getQuestion();
|
|
266
|
+
const startupWarnings = [
|
|
267
|
+
...(await getStartupWarnings()),
|
|
268
|
+
...(await getUserStartupWarnings()),
|
|
269
|
+
];
|
|
270
|
+
// Render UI, passing necessary config values. Check that there is no command line question.
|
|
271
|
+
if (config.isInteractive()) {
|
|
272
|
+
// Need kitty detection to be complete before we can start the interactive UI.
|
|
273
|
+
await kittyProtocolDetectionComplete;
|
|
274
|
+
await startInteractiveUI(config, settings, startupWarnings, process.cwd(), initializationResult);
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
await config.initialize();
|
|
278
|
+
// If not a TTY, read from stdin
|
|
279
|
+
// This is for cases where the user pipes input directly into the command
|
|
280
|
+
if (!process.stdin.isTTY) {
|
|
281
|
+
const stdinData = await readStdin();
|
|
282
|
+
if (stdinData) {
|
|
283
|
+
input = `${stdinData}\n\n${input}`;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
if (!input) {
|
|
287
|
+
console.error(`No input provided via stdin. Input can be provided by piping data into gemini or using the --prompt option.`);
|
|
288
|
+
process.exit(1);
|
|
289
|
+
}
|
|
290
|
+
const prompt_id = Math.random().toString(16).slice(2);
|
|
291
|
+
logUserPrompt(config, {
|
|
292
|
+
'event.name': 'user_prompt',
|
|
293
|
+
'event.timestamp': new Date().toISOString(),
|
|
294
|
+
prompt: input,
|
|
295
|
+
prompt_id,
|
|
296
|
+
auth_type: config.getContentGeneratorConfig()?.authType,
|
|
297
|
+
prompt_length: input.length,
|
|
298
|
+
});
|
|
299
|
+
const nonInteractiveConfig = await validateNonInteractiveAuth(settings.merged.security?.auth?.selectedType, settings.merged.security?.auth?.useExternal, config, settings);
|
|
300
|
+
if (config.getDebugMode()) {
|
|
301
|
+
console.log('Session ID: %s', sessionId);
|
|
302
|
+
}
|
|
303
|
+
await runNonInteractive(nonInteractiveConfig, settings, input, prompt_id);
|
|
304
|
+
// Call cleanup before process.exit, which causes cleanup to not run
|
|
305
|
+
await runExitCleanup();
|
|
306
|
+
process.exit(0);
|
|
327
307
|
}
|
|
328
|
-
if (!input) {
|
|
329
|
-
console.error(`No input provided via stdin. Input can be provided by piping data into gemini or using the --prompt option.`);
|
|
330
|
-
process.exit(1);
|
|
331
|
-
}
|
|
332
|
-
const prompt_id = Math.random().toString(16).slice(2);
|
|
333
|
-
logUserPrompt(config, {
|
|
334
|
-
'event.name': 'user_prompt',
|
|
335
|
-
'event.timestamp': new Date().toISOString(),
|
|
336
|
-
prompt: input,
|
|
337
|
-
prompt_id,
|
|
338
|
-
auth_type: config.getContentGeneratorConfig()?.authType,
|
|
339
|
-
prompt_length: input.length,
|
|
340
|
-
});
|
|
341
|
-
const nonInteractiveConfig = await validateNonInteractiveAuth(settings.merged.security?.auth?.selectedType, settings.merged.security?.auth?.useExternal, config);
|
|
342
|
-
if (config.getDebugMode()) {
|
|
343
|
-
console.log('Session ID: %s', sessionId);
|
|
344
|
-
}
|
|
345
|
-
await runNonInteractive(nonInteractiveConfig, input, prompt_id);
|
|
346
|
-
// Call cleanup before process.exit, which causes cleanup to not run
|
|
347
|
-
await runExitCleanup();
|
|
348
|
-
process.exit(0);
|
|
349
308
|
}
|
|
350
309
|
function setWindowTitle(title, settings) {
|
|
351
310
|
if (!settings.merged.ui?.hideWindowTitle) {
|
|
352
|
-
const windowTitle = (
|
|
353
|
-
// eslint-disable-next-line no-control-regex
|
|
354
|
-
/[\x00-\x1F\x7F]/g, '');
|
|
311
|
+
const windowTitle = computeWindowTitle(title);
|
|
355
312
|
process.stdout.write(`\x1b]2;${windowTitle}\x07`);
|
|
356
313
|
process.on('exit', () => {
|
|
357
314
|
process.stdout.write(`\x1b]2;\x07`);
|
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
|
@@ -28,8 +28,10 @@ vi.mock('./config/config.js', () => ({
|
|
|
28
28
|
loadCliConfig: vi.fn().mockResolvedValue({
|
|
29
29
|
getSandbox: vi.fn(() => false),
|
|
30
30
|
getQuestion: vi.fn(() => ''),
|
|
31
|
+
isInteractive: () => false,
|
|
31
32
|
}),
|
|
32
33
|
parseArguments: vi.fn().mockResolvedValue({}),
|
|
34
|
+
isDebugMode: vi.fn(() => false),
|
|
33
35
|
}));
|
|
34
36
|
vi.mock('read-package-up', () => ({
|
|
35
37
|
readPackageUp: vi.fn().mockResolvedValue({
|
|
@@ -55,15 +57,16 @@ vi.mock('./utils/sandbox.js', () => ({
|
|
|
55
57
|
sandbox_command: vi.fn(() => ''), // Default to no sandbox command
|
|
56
58
|
start_sandbox: vi.fn(() => Promise.resolve()), // Mock as an async function that resolves
|
|
57
59
|
}));
|
|
60
|
+
vi.mock('./utils/relaunch.js', () => ({
|
|
61
|
+
relaunchAppInChildProcess: vi.fn(),
|
|
62
|
+
}));
|
|
63
|
+
vi.mock('./config/sandboxConfig.js', () => ({
|
|
64
|
+
loadSandboxConfig: vi.fn(),
|
|
65
|
+
}));
|
|
58
66
|
describe('gemini.tsx main function', () => {
|
|
59
67
|
let originalEnvGeminiSandbox;
|
|
60
68
|
let originalEnvSandbox;
|
|
61
69
|
let initialUnhandledRejectionListeners = [];
|
|
62
|
-
const processExitSpy = vi
|
|
63
|
-
.spyOn(process, 'exit')
|
|
64
|
-
.mockImplementation((code) => {
|
|
65
|
-
throw new MockProcessExitError(code);
|
|
66
|
-
});
|
|
67
70
|
beforeEach(() => {
|
|
68
71
|
// Store and clear sandbox-related env variables to ensure a consistent test environment
|
|
69
72
|
originalEnvGeminiSandbox = process.env['GEMINI_SANDBOX'];
|
|
@@ -94,7 +97,72 @@ describe('gemini.tsx main function', () => {
|
|
|
94
97
|
}
|
|
95
98
|
vi.restoreAllMocks();
|
|
96
99
|
});
|
|
100
|
+
it('verifies that we dont load the config before relaunchAppInChildProcess', async () => {
|
|
101
|
+
const processExitSpy = vi
|
|
102
|
+
.spyOn(process, 'exit')
|
|
103
|
+
.mockImplementation((code) => {
|
|
104
|
+
throw new MockProcessExitError(code);
|
|
105
|
+
});
|
|
106
|
+
const { relaunchAppInChildProcess } = await import('./utils/relaunch.js');
|
|
107
|
+
const { loadCliConfig } = await import('./config/config.js');
|
|
108
|
+
const { loadSettings } = await import('./config/settings.js');
|
|
109
|
+
const { loadSandboxConfig } = await import('./config/sandboxConfig.js');
|
|
110
|
+
vi.mocked(loadSandboxConfig).mockResolvedValue(undefined);
|
|
111
|
+
const callOrder = [];
|
|
112
|
+
vi.mocked(relaunchAppInChildProcess).mockImplementation(async () => {
|
|
113
|
+
callOrder.push('relaunch');
|
|
114
|
+
});
|
|
115
|
+
vi.mocked(loadCliConfig).mockImplementation(async () => {
|
|
116
|
+
callOrder.push('loadCliConfig');
|
|
117
|
+
return {
|
|
118
|
+
isInteractive: () => false,
|
|
119
|
+
getQuestion: () => '',
|
|
120
|
+
getSandbox: () => false,
|
|
121
|
+
getDebugMode: () => false,
|
|
122
|
+
getListExtensions: () => false,
|
|
123
|
+
getMcpServers: () => ({}),
|
|
124
|
+
initialize: vi.fn(),
|
|
125
|
+
getIdeMode: () => false,
|
|
126
|
+
getExperimentalZedIntegration: () => false,
|
|
127
|
+
getScreenReader: () => false,
|
|
128
|
+
getGeminiMdFileCount: () => 0,
|
|
129
|
+
getProjectRoot: () => '/',
|
|
130
|
+
};
|
|
131
|
+
});
|
|
132
|
+
vi.mocked(loadSettings).mockReturnValue({
|
|
133
|
+
errors: [],
|
|
134
|
+
merged: {
|
|
135
|
+
advanced: { autoConfigureMemory: true },
|
|
136
|
+
security: { auth: {} },
|
|
137
|
+
ui: {},
|
|
138
|
+
},
|
|
139
|
+
setValue: vi.fn(),
|
|
140
|
+
forScope: () => ({ settings: {}, originalSettings: {}, path: '' }),
|
|
141
|
+
});
|
|
142
|
+
try {
|
|
143
|
+
await main();
|
|
144
|
+
}
|
|
145
|
+
catch (e) {
|
|
146
|
+
// Mocked process exit throws an error.
|
|
147
|
+
if (!(e instanceof MockProcessExitError))
|
|
148
|
+
throw e;
|
|
149
|
+
}
|
|
150
|
+
// It is critical that we call relaunch before loadCliConfig to avoid
|
|
151
|
+
// loading config in the outer process when we are going to relaunch.
|
|
152
|
+
// By ensuring we don't load the config we also ensure we don't trigger any
|
|
153
|
+
// operations that might require loading the config such as such as
|
|
154
|
+
// initializing mcp servers.
|
|
155
|
+
// For the sandbox case we still have to load a partial cli config.
|
|
156
|
+
// we can authorize outside the sandbox.
|
|
157
|
+
expect(callOrder).toEqual(['relaunch', 'loadCliConfig']);
|
|
158
|
+
processExitSpy.mockRestore();
|
|
159
|
+
});
|
|
97
160
|
it('should log unhandled promise rejections and open debug console on first error', async () => {
|
|
161
|
+
const processExitSpy = vi
|
|
162
|
+
.spyOn(process, 'exit')
|
|
163
|
+
.mockImplementation((code) => {
|
|
164
|
+
throw new MockProcessExitError(code);
|
|
165
|
+
});
|
|
98
166
|
const appEventsMock = vi.mocked(appEvents);
|
|
99
167
|
const rejectionError = new Error('Test unhandled rejection');
|
|
100
168
|
setupUnhandledRejectionHandler();
|
|
@@ -123,8 +191,8 @@ describe('gemini.tsx main function kitty protocol', () => {
|
|
|
123
191
|
let setRawModeSpy;
|
|
124
192
|
beforeEach(() => {
|
|
125
193
|
// Set no relaunch in tests since process spawning causing issues in tests
|
|
126
|
-
originalEnvNoRelaunch = process.env['
|
|
127
|
-
process.env['
|
|
194
|
+
originalEnvNoRelaunch = process.env['CELL_CLI_NO_RELAUNCH'];
|
|
195
|
+
process.env['CELL_CLI_NO_RELAUNCH'] = 'true';
|
|
128
196
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
129
197
|
if (!process.stdin.setRawMode) {
|
|
130
198
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -143,19 +211,19 @@ describe('gemini.tsx main function kitty protocol', () => {
|
|
|
143
211
|
afterEach(() => {
|
|
144
212
|
// Restore original env variables
|
|
145
213
|
if (originalEnvNoRelaunch !== undefined) {
|
|
146
|
-
process.env['
|
|
214
|
+
process.env['CELL_CLI_NO_RELAUNCH'] = originalEnvNoRelaunch;
|
|
147
215
|
}
|
|
148
216
|
else {
|
|
149
|
-
delete process.env['
|
|
217
|
+
delete process.env['CELL_CLI_NO_RELAUNCH'];
|
|
150
218
|
}
|
|
151
219
|
});
|
|
152
220
|
afterEach(() => {
|
|
153
221
|
// Restore original env variables
|
|
154
222
|
if (originalEnvNoRelaunch !== undefined) {
|
|
155
|
-
process.env['
|
|
223
|
+
process.env['CELL_CLI_NO_RELAUNCH'] = originalEnvNoRelaunch;
|
|
156
224
|
}
|
|
157
225
|
else {
|
|
158
|
-
delete process.env['
|
|
226
|
+
delete process.env['CELL_CLI_NO_RELAUNCH'];
|
|
159
227
|
}
|
|
160
228
|
});
|
|
161
229
|
it('should call setRawMode and detectAndEnableKittyProtocol when isInteractive is true', async () => {
|
|
@@ -192,6 +260,7 @@ describe('gemini.tsx main function kitty protocol', () => {
|
|
|
192
260
|
debug: undefined,
|
|
193
261
|
prompt: undefined,
|
|
194
262
|
promptInteractive: undefined,
|
|
263
|
+
query: undefined,
|
|
195
264
|
allFiles: undefined,
|
|
196
265
|
showMemoryUsage: undefined,
|
|
197
266
|
yolo: undefined,
|
|
@@ -214,7 +283,7 @@ describe('gemini.tsx main function kitty protocol', () => {
|
|
|
214
283
|
useSmartEdit: undefined,
|
|
215
284
|
sessionSummary: undefined,
|
|
216
285
|
logout: undefined,
|
|
217
|
-
|
|
286
|
+
useWriteTodos: undefined,
|
|
218
287
|
outputFormat: undefined,
|
|
219
288
|
});
|
|
220
289
|
await main();
|