@google/gemini-cli 0.1.18 → 0.1.19-nightly.250814.514e883a
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/README.md +199 -132
- package/dist/package.json +5 -3
- package/dist/src/commands/mcp/add.d.ts +7 -0
- package/dist/src/commands/mcp/add.js +155 -0
- package/dist/src/commands/mcp/add.js.map +1 -0
- package/dist/src/commands/mcp/list.d.ts +8 -0
- package/dist/src/commands/mcp/list.js +110 -0
- package/dist/src/commands/mcp/list.js.map +1 -0
- package/dist/src/commands/mcp/remove.d.ts +7 -0
- package/dist/src/commands/mcp/remove.js +44 -0
- package/dist/src/commands/mcp/remove.js.map +1 -0
- package/dist/src/commands/mcp.d.ts +7 -0
- package/dist/src/commands/mcp.js +23 -0
- package/dist/src/commands/mcp.js.map +1 -0
- package/dist/src/config/config.d.ts +2 -3
- package/dist/src/config/config.js +123 -58
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/keyBindings.d.ts +66 -0
- package/dist/src/config/keyBindings.js +140 -0
- package/dist/src/config/keyBindings.js.map +1 -0
- package/dist/src/config/settings.d.ts +3 -50
- package/dist/src/config/settings.js +17 -1
- package/dist/src/config/settings.js.map +1 -1
- package/dist/src/config/settingsSchema.d.ts +488 -0
- package/dist/src/config/settingsSchema.js +461 -0
- package/dist/src/config/settingsSchema.js.map +1 -0
- package/dist/src/config/trustedFolders.d.ts +36 -0
- package/dist/src/config/trustedFolders.js +112 -0
- package/dist/src/config/trustedFolders.js.map +1 -0
- package/dist/src/gemini.js +15 -31
- package/dist/src/gemini.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +1 -1
- package/dist/src/generated/git-commit.js +1 -1
- package/dist/src/nonInteractiveCli.js +2 -4
- package/dist/src/nonInteractiveCli.js.map +1 -1
- package/dist/src/services/BuiltinCommandLoader.js +5 -2
- package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
- package/dist/src/ui/App.js +112 -35
- package/dist/src/ui/App.js.map +1 -1
- package/dist/src/ui/IdeIntegrationNudge.d.ts +16 -0
- package/dist/src/ui/IdeIntegrationNudge.js +52 -0
- package/dist/src/ui/IdeIntegrationNudge.js.map +1 -0
- package/dist/src/ui/commands/chatCommand.js +15 -0
- package/dist/src/ui/commands/chatCommand.js.map +1 -1
- package/dist/src/ui/commands/directoryCommand.js +2 -4
- package/dist/src/ui/commands/directoryCommand.js.map +1 -1
- package/dist/src/ui/commands/ideCommand.js +59 -5
- package/dist/src/ui/commands/ideCommand.js.map +1 -1
- package/dist/src/ui/commands/mcpCommand.js +4 -0
- package/dist/src/ui/commands/mcpCommand.js.map +1 -1
- package/dist/src/ui/commands/settingsCommand.d.ts +7 -0
- package/dist/src/ui/commands/settingsCommand.js +16 -0
- package/dist/src/ui/commands/settingsCommand.js.map +1 -0
- package/dist/src/ui/commands/setupGithubCommand.js +86 -19
- package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
- package/dist/src/ui/commands/terminalSetupCommand.d.ts +13 -0
- package/dist/src/ui/commands/terminalSetupCommand.js +41 -0
- package/dist/src/ui/commands/terminalSetupCommand.js.map +1 -0
- package/dist/src/ui/commands/types.d.ts +14 -2
- package/dist/src/ui/commands/types.js.map +1 -1
- package/dist/src/ui/components/AsciiArt.d.ts +1 -0
- package/dist/src/ui/components/AsciiArt.js +10 -0
- package/dist/src/ui/components/AsciiArt.js.map +1 -1
- package/dist/src/ui/components/AuthDialog.js +5 -4
- package/dist/src/ui/components/AuthDialog.js.map +1 -1
- package/dist/src/ui/components/AuthInProgress.js +6 -5
- package/dist/src/ui/components/AuthInProgress.js.map +1 -1
- package/dist/src/ui/components/ContextSummaryDisplay.js +21 -24
- package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
- package/dist/src/ui/components/ContextUsageDisplay.d.ts +9 -0
- package/dist/src/ui/components/ContextUsageDisplay.js +14 -0
- package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -0
- package/dist/src/ui/components/DebugProfiler.js +5 -4
- package/dist/src/ui/components/DebugProfiler.js.map +1 -1
- package/dist/src/ui/components/EditorSettingsDialog.js +6 -5
- package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
- package/dist/src/ui/components/FolderTrustDialog.d.ts +16 -0
- package/dist/src/ui/components/FolderTrustDialog.js +39 -0
- package/dist/src/ui/components/FolderTrustDialog.js.map +1 -0
- package/dist/src/ui/components/Footer.js +14 -5
- package/dist/src/ui/components/Footer.js.map +1 -1
- package/dist/src/ui/components/Header.d.ts +0 -1
- package/dist/src/ui/components/Header.js +13 -5
- package/dist/src/ui/components/Header.js.map +1 -1
- package/dist/src/ui/components/InputPrompt.d.ts +1 -0
- package/dist/src/ui/components/InputPrompt.js +97 -35
- package/dist/src/ui/components/InputPrompt.js.map +1 -1
- package/dist/src/ui/components/LoadingIndicator.js +10 -5
- package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
- package/dist/src/ui/components/SettingsDialog.d.ts +14 -0
- package/dist/src/ui/components/SettingsDialog.js +249 -0
- package/dist/src/ui/components/SettingsDialog.js.map +1 -0
- package/dist/src/ui/components/ShellConfirmationDialog.js +5 -4
- package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
- package/dist/src/ui/components/SuggestionsDisplay.js +1 -1
- package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
- package/dist/src/ui/components/ThemeDialog.js +10 -20
- package/dist/src/ui/components/ThemeDialog.js.map +1 -1
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js +34 -13
- package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
- package/dist/src/ui/components/shared/RadioButtonSelect.js +10 -8
- package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
- package/dist/src/ui/components/shared/text-buffer.d.ts +17 -4
- package/dist/src/ui/components/shared/text-buffer.js +224 -70
- package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
- package/dist/src/ui/components/shared/vim-buffer-actions.js +139 -152
- package/dist/src/ui/components/shared/vim-buffer-actions.js.map +1 -1
- package/dist/src/ui/contexts/SettingsContext.d.ts +9 -0
- package/dist/src/ui/contexts/SettingsContext.js +15 -0
- package/dist/src/ui/contexts/SettingsContext.js.map +1 -0
- package/dist/src/ui/hooks/atCommandProcessor.js +7 -4
- package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.d.ts +6 -2
- package/dist/src/ui/hooks/slashCommandProcessor.js +101 -49
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/hooks/useAtCompletion.js +4 -1
- package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js +5 -5
- package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -1
- package/dist/src/ui/hooks/useFocus.d.ts +4 -0
- package/dist/src/ui/hooks/useFocus.js +4 -4
- package/dist/src/ui/hooks/useFocus.js.map +1 -1
- package/dist/src/ui/hooks/useFolderTrust.d.ts +12 -0
- package/dist/src/ui/hooks/useFolderTrust.js +37 -0
- package/dist/src/ui/hooks/useFolderTrust.js.map +1 -0
- package/dist/src/ui/hooks/useGeminiStream.d.ts +2 -1
- package/dist/src/ui/hooks/useGeminiStream.js +34 -21
- package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
- package/dist/src/ui/hooks/useKeypress.d.ts +9 -1
- package/dist/src/ui/hooks/useKeypress.js +197 -8
- package/dist/src/ui/hooks/useKeypress.js.map +1 -1
- package/dist/src/ui/hooks/useKittyKeyboardProtocol.d.ts +15 -0
- package/dist/src/ui/hooks/useKittyKeyboardProtocol.js +20 -0
- package/dist/src/ui/hooks/useKittyKeyboardProtocol.js.map +1 -0
- package/dist/src/ui/hooks/usePhraseCycler.js +2 -2
- package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
- package/dist/src/ui/hooks/useReactToolScheduler.d.ts +1 -1
- package/dist/src/ui/hooks/useReactToolScheduler.js +15 -15
- package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
- package/dist/src/ui/hooks/useSettingsCommand.d.ts +10 -0
- package/dist/src/ui/hooks/useSettingsCommand.js +21 -0
- package/dist/src/ui/hooks/useSettingsCommand.js.map +1 -0
- package/dist/src/ui/keyMatchers.d.ts +26 -0
- package/dist/src/ui/keyMatchers.js +68 -0
- package/dist/src/ui/keyMatchers.js.map +1 -0
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +5 -4
- package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +1 -1
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +5 -4
- package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js.map +1 -1
- package/dist/src/ui/privacy/GeminiPrivacyNotice.js +5 -4
- package/dist/src/ui/privacy/GeminiPrivacyNotice.js.map +1 -1
- package/dist/src/ui/semantic-colors.d.ts +7 -0
- package/dist/src/ui/semantic-colors.js +24 -0
- package/dist/src/ui/semantic-colors.js.map +1 -0
- package/dist/src/ui/themes/ansi-light.js +2 -1
- package/dist/src/ui/themes/ansi-light.js.map +1 -1
- package/dist/src/ui/themes/ansi.js +2 -1
- package/dist/src/ui/themes/ansi.js.map +1 -1
- package/dist/src/ui/themes/atom-one-dark.js +2 -1
- package/dist/src/ui/themes/atom-one-dark.js.map +1 -1
- package/dist/src/ui/themes/ayu-light.js +2 -1
- package/dist/src/ui/themes/ayu-light.js.map +1 -1
- package/dist/src/ui/themes/ayu.js +2 -1
- package/dist/src/ui/themes/ayu.js.map +1 -1
- package/dist/src/ui/themes/default-light.js +2 -1
- package/dist/src/ui/themes/default-light.js.map +1 -1
- package/dist/src/ui/themes/default.js +2 -1
- package/dist/src/ui/themes/default.js.map +1 -1
- package/dist/src/ui/themes/dracula.js +2 -1
- package/dist/src/ui/themes/dracula.js.map +1 -1
- package/dist/src/ui/themes/github-dark.js +2 -1
- package/dist/src/ui/themes/github-dark.js.map +1 -1
- package/dist/src/ui/themes/github-light.js +2 -1
- package/dist/src/ui/themes/github-light.js.map +1 -1
- package/dist/src/ui/themes/googlecode.js +2 -1
- package/dist/src/ui/themes/googlecode.js.map +1 -1
- package/dist/src/ui/themes/no-color.js +30 -1
- package/dist/src/ui/themes/no-color.js.map +1 -1
- package/dist/src/ui/themes/semantic-tokens.d.ts +37 -0
- package/dist/src/ui/themes/semantic-tokens.js +94 -0
- package/dist/src/ui/themes/semantic-tokens.js.map +1 -0
- package/dist/src/ui/themes/shades-of-purple.js +2 -1
- package/dist/src/ui/themes/shades-of-purple.js.map +1 -1
- package/dist/src/ui/themes/theme-manager.d.ts +6 -0
- package/dist/src/ui/themes/theme-manager.js +7 -0
- package/dist/src/ui/themes/theme-manager.js.map +1 -1
- package/dist/src/ui/themes/theme.d.ts +45 -2
- package/dist/src/ui/themes/theme.js +92 -107
- package/dist/src/ui/themes/theme.js.map +1 -1
- package/dist/src/ui/themes/xcode.js +2 -1
- package/dist/src/ui/themes/xcode.js.map +1 -1
- package/dist/src/ui/types.d.ts +1 -1
- package/dist/src/ui/utils/CodeColorizer.d.ts +2 -1
- package/dist/src/ui/utils/CodeColorizer.js +4 -3
- package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
- package/dist/src/ui/utils/ConsolePatcher.d.ts +1 -0
- package/dist/src/ui/utils/ConsolePatcher.js +3 -0
- package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
- package/dist/src/ui/utils/MarkdownDisplay.js +4 -2
- package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
- package/dist/src/ui/utils/commandUtils.d.ts +1 -0
- package/dist/src/ui/utils/commandUtils.js +22 -1
- package/dist/src/ui/utils/commandUtils.js.map +1 -1
- package/dist/src/ui/utils/isNarrowWidth.d.ts +6 -0
- package/dist/src/ui/utils/isNarrowWidth.js +9 -0
- package/dist/src/ui/utils/isNarrowWidth.js.map +1 -0
- package/dist/src/ui/utils/kittyProtocolDetector.d.ts +13 -0
- package/dist/src/ui/utils/kittyProtocolDetector.js +88 -0
- package/dist/src/ui/utils/kittyProtocolDetector.js.map +1 -0
- package/dist/src/ui/utils/platformConstants.d.ts +38 -0
- package/dist/src/ui/utils/platformConstants.js +39 -0
- package/dist/src/ui/utils/platformConstants.js.map +1 -0
- package/dist/src/ui/utils/terminalSetup.d.ts +30 -0
- package/dist/src/ui/utils/terminalSetup.js +281 -0
- package/dist/src/ui/utils/terminalSetup.js.map +1 -0
- package/dist/src/utils/checks.d.ts +19 -0
- package/dist/src/utils/checks.js +24 -0
- package/dist/src/utils/checks.js.map +1 -0
- package/dist/src/utils/cleanup.d.ts +2 -2
- package/dist/src/utils/cleanup.js +2 -2
- package/dist/src/utils/cleanup.js.map +1 -1
- package/dist/src/utils/dialogScopeUtils.d.ts +31 -0
- package/dist/src/utils/dialogScopeUtils.js +48 -0
- package/dist/src/utils/dialogScopeUtils.js.map +1 -0
- package/dist/src/utils/gitUtils.d.ts +21 -1
- package/dist/src/utils/gitUtils.js +68 -3
- package/dist/src/utils/gitUtils.js.map +1 -1
- package/dist/src/utils/sandbox.js +426 -405
- package/dist/src/utils/sandbox.js.map +1 -1
- package/dist/src/utils/settingsUtils.d.ts +126 -0
- package/dist/src/utils/settingsUtils.js +327 -0
- package/dist/src/utils/settingsUtils.js.map +1 -0
- package/dist/src/zed-integration/acp.d.ts +63 -0
- package/dist/src/{acp → zed-integration}/acp.js +76 -44
- package/dist/src/zed-integration/acp.js.map +1 -0
- package/dist/src/zed-integration/schema.d.ts +11679 -0
- package/dist/src/zed-integration/schema.js +305 -0
- package/dist/src/zed-integration/schema.js.map +1 -0
- package/dist/src/zed-integration/zedIntegration.d.ts +10 -0
- package/dist/src/{acp/acpPeer.js → zed-integration/zedIntegration.js} +323 -169
- package/dist/src/zed-integration/zedIntegration.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -4
- package/dist/google-gemini-cli-0.1.17.tgz +0 -0
- package/dist/src/acp/acp.d.ts +0 -208
- package/dist/src/acp/acp.js.map +0 -1
- package/dist/src/acp/acpPeer.d.ts +0 -8
- package/dist/src/acp/acpPeer.js.map +0 -1
- package/dist/src/ui/components/IDEContextDetailDisplay.d.ts +0 -12
- package/dist/src/ui/components/IDEContextDetailDisplay.js +0 -12
- package/dist/src/ui/components/IDEContextDetailDisplay.js.map +0 -1
- package/dist/src/ui/utils/errorParsing.d.ts +0 -7
- package/dist/src/ui/utils/errorParsing.js +0 -90
- package/dist/src/ui/utils/errorParsing.js.map +0 -1
package/dist/src/gemini.js
CHANGED
|
@@ -23,13 +23,15 @@ import { runNonInteractive } from './nonInteractiveCli.js';
|
|
|
23
23
|
import { loadExtensions } from './config/extension.js';
|
|
24
24
|
import { cleanupCheckpoints, registerCleanup } from './utils/cleanup.js';
|
|
25
25
|
import { getCliVersion } from './utils/version.js';
|
|
26
|
-
import {
|
|
26
|
+
import { sessionId, logUserPrompt, AuthType, getOauthClient, logIdeConnection, IdeConnectionEvent, IdeConnectionType, } from '@google/gemini-cli-core';
|
|
27
27
|
import { validateAuthMethod } from './config/auth.js';
|
|
28
28
|
import { setMaxSizedBoxDebugging } from './ui/components/shared/MaxSizedBox.js';
|
|
29
29
|
import { validateNonInteractiveAuth } from './validateNonInterActiveAuth.js';
|
|
30
|
+
import { detectAndEnableKittyProtocol } from './ui/utils/kittyProtocolDetector.js';
|
|
30
31
|
import { checkForUpdates } from './ui/utils/updateCheck.js';
|
|
31
32
|
import { handleAutoUpdate } from './utils/handleAutoUpdate.js';
|
|
32
33
|
import { appEvents, AppEvent } from './utils/events.js';
|
|
34
|
+
import { SettingsContext } from './ui/contexts/SettingsContext.js';
|
|
33
35
|
export function validateDnsResolutionOrder(order) {
|
|
34
36
|
const defaultValue = 'ipv4first';
|
|
35
37
|
if (order === undefined) {
|
|
@@ -72,7 +74,7 @@ async function relaunchWithAdditionalArgs(additionalArgs) {
|
|
|
72
74
|
await new Promise((resolve) => child.on('close', resolve));
|
|
73
75
|
process.exit(0);
|
|
74
76
|
}
|
|
75
|
-
import {
|
|
77
|
+
import { runZedIntegration } from './zed-integration/zedIntegration.js';
|
|
76
78
|
export function setupUnhandledRejectionHandler() {
|
|
77
79
|
let unhandledRejectionOccurred = false;
|
|
78
80
|
process.on('unhandledRejection', (reason, _promise) => {
|
|
@@ -131,6 +133,10 @@ export async function main() {
|
|
|
131
133
|
}
|
|
132
134
|
setMaxSizedBoxDebugging(config.getDebugMode());
|
|
133
135
|
await config.initialize();
|
|
136
|
+
if (config.getIdeMode()) {
|
|
137
|
+
await config.getIdeClient().connect();
|
|
138
|
+
logIdeConnection(config, new IdeConnectionEvent(IdeConnectionType.START));
|
|
139
|
+
}
|
|
134
140
|
// Load custom themes from settings
|
|
135
141
|
themeManager.loadCustomThemes(settings.merged.customThemes);
|
|
136
142
|
if (settings.merged.theme) {
|
|
@@ -179,20 +185,21 @@ export async function main() {
|
|
|
179
185
|
// Do oauth before app renders to make copying the link possible.
|
|
180
186
|
await getOauthClient(settings.merged.selectedAuthType, config);
|
|
181
187
|
}
|
|
182
|
-
if (config.
|
|
183
|
-
return
|
|
188
|
+
if (config.getExperimentalZedIntegration()) {
|
|
189
|
+
return runZedIntegration(config, settings, extensions, argv);
|
|
184
190
|
}
|
|
185
191
|
let input = config.getQuestion();
|
|
186
192
|
const startupWarnings = [
|
|
187
193
|
...(await getStartupWarnings()),
|
|
188
194
|
...(await getUserStartupWarnings(workspaceRoot)),
|
|
189
195
|
];
|
|
190
|
-
const shouldBeInteractive = !!argv.promptInteractive || (process.stdin.isTTY && input?.length === 0);
|
|
191
196
|
// Render UI, passing necessary config values. Check that there is no command line question.
|
|
192
|
-
if (
|
|
197
|
+
if (config.isInteractive()) {
|
|
193
198
|
const version = await getCliVersion();
|
|
199
|
+
// Detect and enable Kitty keyboard protocol once at startup
|
|
200
|
+
await detectAndEnableKittyProtocol();
|
|
194
201
|
setWindowTitle(basename(workspaceRoot), settings);
|
|
195
|
-
const instance = render(_jsx(React.StrictMode, { children: _jsx(AppWrapper, { config: config, settings: settings, startupWarnings: startupWarnings, version: version }) }), { exitOnCtrlC: false });
|
|
202
|
+
const instance = render(_jsx(React.StrictMode, { children: _jsx(SettingsContext.Provider, { value: settings, children: _jsx(AppWrapper, { config: config, settings: settings, startupWarnings: startupWarnings, version: version }) }) }), { exitOnCtrlC: false });
|
|
196
203
|
checkForUpdates()
|
|
197
204
|
.then((info) => {
|
|
198
205
|
handleAutoUpdate(info, settings, config.getProjectRoot());
|
|
@@ -224,8 +231,7 @@ export async function main() {
|
|
|
224
231
|
auth_type: config.getContentGeneratorConfig()?.authType,
|
|
225
232
|
prompt_length: input.length,
|
|
226
233
|
});
|
|
227
|
-
|
|
228
|
-
const nonInteractiveConfig = await loadNonInteractiveConfig(config, extensions, settings, argv);
|
|
234
|
+
const nonInteractiveConfig = await validateNonInteractiveAuth(settings.merged.selectedAuthType, settings.merged.useExternalAuth, config);
|
|
229
235
|
await runNonInteractive(nonInteractiveConfig, input, prompt_id);
|
|
230
236
|
process.exit(0);
|
|
231
237
|
}
|
|
@@ -240,26 +246,4 @@ function setWindowTitle(title, settings) {
|
|
|
240
246
|
});
|
|
241
247
|
}
|
|
242
248
|
}
|
|
243
|
-
async function loadNonInteractiveConfig(config, extensions, settings, argv) {
|
|
244
|
-
let finalConfig = config;
|
|
245
|
-
if (config.getApprovalMode() !== ApprovalMode.YOLO) {
|
|
246
|
-
// Everything is not allowed, ensure that only read-only tools are configured.
|
|
247
|
-
const existingExcludeTools = settings.merged.excludeTools || [];
|
|
248
|
-
const interactiveTools = [
|
|
249
|
-
ShellTool.Name,
|
|
250
|
-
EditTool.Name,
|
|
251
|
-
WriteFileTool.Name,
|
|
252
|
-
];
|
|
253
|
-
const newExcludeTools = [
|
|
254
|
-
...new Set([...existingExcludeTools, ...interactiveTools]),
|
|
255
|
-
];
|
|
256
|
-
const nonInteractiveSettings = {
|
|
257
|
-
...settings.merged,
|
|
258
|
-
excludeTools: newExcludeTools,
|
|
259
|
-
};
|
|
260
|
-
finalConfig = await loadCliConfig(nonInteractiveSettings, extensions, config.getSessionId(), argv);
|
|
261
|
-
await finalConfig.initialize();
|
|
262
|
-
}
|
|
263
|
-
return await validateNonInteractiveAuth(settings.merged.selectedAuthType, settings.merged.useExternalAuth, finalConfig);
|
|
264
|
-
}
|
|
265
249
|
//# sourceMappingURL=gemini.js.map
|
package/dist/src/gemini.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/gemini.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/gemini.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { executeToolCall, shutdownTelemetry, isTelemetrySdkInitialized, GeminiEventType, ToolErrorType, } from '@google/gemini-cli-core';
|
|
7
|
-
import { parseAndFormatApiError } from './ui/utils/errorParsing.js';
|
|
6
|
+
import { executeToolCall, shutdownTelemetry, isTelemetrySdkInitialized, GeminiEventType, ToolErrorType, parseAndFormatApiError, } from '@google/gemini-cli-core';
|
|
8
7
|
import { ConsolePatcher } from './ui/utils/ConsolePatcher.js';
|
|
9
8
|
export async function runNonInteractive(config, input, prompt_id) {
|
|
10
9
|
const consolePatcher = new ConsolePatcher({
|
|
@@ -12,7 +11,6 @@ export async function runNonInteractive(config, input, prompt_id) {
|
|
|
12
11
|
debugMode: config.getDebugMode(),
|
|
13
12
|
});
|
|
14
13
|
try {
|
|
15
|
-
await config.initialize();
|
|
16
14
|
consolePatcher.patch();
|
|
17
15
|
// Handle EPIPE errors when the output is piped to a command that closes early.
|
|
18
16
|
process.stdout.on('error', (err) => {
|
|
@@ -101,7 +99,7 @@ export async function runNonInteractive(config, input, prompt_id) {
|
|
|
101
99
|
finally {
|
|
102
100
|
consolePatcher.cleanup();
|
|
103
101
|
if (isTelemetrySdkInitialized()) {
|
|
104
|
-
await shutdownTelemetry();
|
|
102
|
+
await shutdownTelemetry(config);
|
|
105
103
|
}
|
|
106
104
|
}
|
|
107
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nonInteractiveCli.js","sourceRoot":"","sources":["../../src/nonInteractiveCli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAGL,eAAe,EAEf,iBAAiB,EACjB,yBAAyB,EACzB,eAAe,EACf,aAAa,
|
|
1
|
+
{"version":3,"file":"nonInteractiveCli.js","sourceRoot":"","sources":["../../src/nonInteractiveCli.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,9 +26,10 @@ import { restoreCommand } from '../ui/commands/restoreCommand.js';
|
|
|
26
26
|
import { statsCommand } from '../ui/commands/statsCommand.js';
|
|
27
27
|
import { themeCommand } from '../ui/commands/themeCommand.js';
|
|
28
28
|
import { toolsCommand } from '../ui/commands/toolsCommand.js';
|
|
29
|
+
import { settingsCommand } from '../ui/commands/settingsCommand.js';
|
|
29
30
|
import { vimCommand } from '../ui/commands/vimCommand.js';
|
|
30
31
|
import { setupGithubCommand } from '../ui/commands/setupGithubCommand.js';
|
|
31
|
-
import {
|
|
32
|
+
import { terminalSetupCommand } from '../ui/commands/terminalSetupCommand.js';
|
|
32
33
|
/**
|
|
33
34
|
* Loads the core, hard-coded slash commands that are an integral part
|
|
34
35
|
* of the Gemini CLI application.
|
|
@@ -70,8 +71,10 @@ export class BuiltinCommandLoader {
|
|
|
70
71
|
statsCommand,
|
|
71
72
|
themeCommand,
|
|
72
73
|
toolsCommand,
|
|
74
|
+
settingsCommand,
|
|
73
75
|
vimCommand,
|
|
74
|
-
|
|
76
|
+
setupGithubCommand,
|
|
77
|
+
terminalSetupCommand,
|
|
75
78
|
];
|
|
76
79
|
return allDefinitions.filter((cmd) => cmd !== null);
|
|
77
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuiltinCommandLoader.js","sourceRoot":"","sources":["../../../src/services/BuiltinCommandLoader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"BuiltinCommandLoader.js","sourceRoot":"","sources":["../../../src/services/BuiltinCommandLoader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAE9E;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACX;IAApB,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE7C;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,OAAoB;QACrC,MAAM,cAAc,GAA+B;YACjD,YAAY;YACZ,WAAW;YACX,UAAU;YACV,WAAW;YACX,YAAY;YACZ,eAAe;YACf,WAAW;YACX,YAAY;YACZ,WAAW;YACX,gBAAgB;YAChB,aAAa;YACb,iBAAiB;YACjB,WAAW;YACX,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YACvB,WAAW;YACX,UAAU;YACV,aAAa;YACb,cAAc;YACd,WAAW;YACX,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3B,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,eAAe;YACf,UAAU;YACV,kBAAkB;YAClB,oBAAoB;SACrB,CAAC;QAEF,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAuB,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;IAC3E,CAAC;CACF"}
|
package/dist/src/ui/App.js
CHANGED
|
@@ -5,13 +5,14 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
5
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
6
6
|
*/
|
|
7
7
|
import { useCallback, useEffect, useMemo, useState, useRef } from 'react';
|
|
8
|
-
import { Box, measureElement, Static, Text, useStdin, useStdout,
|
|
8
|
+
import { Box, measureElement, Static, Text, useStdin, useStdout, } from 'ink';
|
|
9
9
|
import { StreamingState, MessageType } from './types.js';
|
|
10
10
|
import { useTerminalSize } from './hooks/useTerminalSize.js';
|
|
11
11
|
import { useGeminiStream } from './hooks/useGeminiStream.js';
|
|
12
12
|
import { useLoadingIndicator } from './hooks/useLoadingIndicator.js';
|
|
13
13
|
import { useThemeCommand } from './hooks/useThemeCommand.js';
|
|
14
14
|
import { useAuthCommand } from './hooks/useAuthCommand.js';
|
|
15
|
+
import { useFolderTrust } from './hooks/useFolderTrust.js';
|
|
15
16
|
import { useEditorSettings } from './hooks/useEditorSettings.js';
|
|
16
17
|
import { useSlashCommandProcessor } from './hooks/slashCommandProcessor.js';
|
|
17
18
|
import { useAutoAcceptIndicator } from './hooks/useAutoAcceptIndicator.js';
|
|
@@ -26,19 +27,22 @@ import { ThemeDialog } from './components/ThemeDialog.js';
|
|
|
26
27
|
import { AuthDialog } from './components/AuthDialog.js';
|
|
27
28
|
import { AuthInProgress } from './components/AuthInProgress.js';
|
|
28
29
|
import { EditorSettingsDialog } from './components/EditorSettingsDialog.js';
|
|
30
|
+
import { FolderTrustDialog } from './components/FolderTrustDialog.js';
|
|
29
31
|
import { ShellConfirmationDialog } from './components/ShellConfirmationDialog.js';
|
|
32
|
+
import { RadioButtonSelect } from './components/shared/RadioButtonSelect.js';
|
|
30
33
|
import { Colors } from './colors.js';
|
|
31
34
|
import { loadHierarchicalGeminiMemory } from '../config/config.js';
|
|
35
|
+
import { SettingScope } from '../config/settings.js';
|
|
32
36
|
import { Tips } from './components/Tips.js';
|
|
33
37
|
import { ConsolePatcher } from './utils/ConsolePatcher.js';
|
|
34
38
|
import { registerCleanup } from '../utils/cleanup.js';
|
|
35
39
|
import { DetailedMessagesDisplay } from './components/DetailedMessagesDisplay.js';
|
|
36
40
|
import { HistoryItemDisplay } from './components/HistoryItemDisplay.js';
|
|
37
41
|
import { ContextSummaryDisplay } from './components/ContextSummaryDisplay.js';
|
|
38
|
-
import { IDEContextDetailDisplay } from './components/IDEContextDetailDisplay.js';
|
|
39
42
|
import { useHistory } from './hooks/useHistoryManager.js';
|
|
40
43
|
import process from 'node:process';
|
|
41
44
|
import { getErrorMessage, getAllGeminiMdFilenames, ApprovalMode, isEditorAvailable, FlashFallbackEvent, logFlashFallback, AuthType, ideContext, } from '@google/gemini-cli-core';
|
|
45
|
+
import { IdeIntegrationNudge, } from './IdeIntegrationNudge.js';
|
|
42
46
|
import { validateAuthMethod } from '../config/auth.js';
|
|
43
47
|
import { useLogger } from './hooks/useLogger.js';
|
|
44
48
|
import { StreamingContext } from './contexts/StreamingContext.js';
|
|
@@ -49,6 +53,9 @@ import { useBracketedPaste } from './hooks/useBracketedPaste.js';
|
|
|
49
53
|
import { useTextBuffer } from './components/shared/text-buffer.js';
|
|
50
54
|
import { useVimMode, VimModeProvider } from './contexts/VimModeContext.js';
|
|
51
55
|
import { useVim } from './hooks/vim.js';
|
|
56
|
+
import { useKeypress } from './hooks/useKeypress.js';
|
|
57
|
+
import { useKittyKeyboardProtocol } from './hooks/useKittyKeyboardProtocol.js';
|
|
58
|
+
import { keyMatchers, Command } from './keyMatchers.js';
|
|
52
59
|
import * as fs from 'fs';
|
|
53
60
|
import { UpdateNotification } from './components/UpdateNotification.js';
|
|
54
61
|
import { isProQuotaExceededError, isGenericQuotaExceededError, UserTierId, } from '@google/gemini-cli-core';
|
|
@@ -56,8 +63,11 @@ import ansiEscapes from 'ansi-escapes';
|
|
|
56
63
|
import { OverflowProvider } from './contexts/OverflowContext.js';
|
|
57
64
|
import { ShowMoreLines } from './components/ShowMoreLines.js';
|
|
58
65
|
import { PrivacyNotice } from './privacy/PrivacyNotice.js';
|
|
66
|
+
import { useSettingsCommand } from './hooks/useSettingsCommand.js';
|
|
67
|
+
import { SettingsDialog } from './components/SettingsDialog.js';
|
|
59
68
|
import { setUpdateHandler } from '../utils/handleAutoUpdate.js';
|
|
60
69
|
import { appEvents, AppEvent } from '../utils/events.js';
|
|
70
|
+
import { isNarrowWidth } from './utils/isNarrowWidth.js';
|
|
61
71
|
const CTRL_EXIT_PROMPT_DURATION_MS = 1000;
|
|
62
72
|
export const AppWrapper = (props) => (_jsx(SessionStatsProvider, { children: _jsx(VimModeProvider, { settings: props.settings, children: _jsx(App, { ...props }) }) }));
|
|
63
73
|
const App = ({ config, settings, startupWarnings = [], version }) => {
|
|
@@ -67,6 +77,15 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
|
|
|
67
77
|
const { stdout } = useStdout();
|
|
68
78
|
const nightly = version.includes('nightly');
|
|
69
79
|
const { history, addItem, clearItems, loadHistory } = useHistory();
|
|
80
|
+
const [idePromptAnswered, setIdePromptAnswered] = useState(false);
|
|
81
|
+
const currentIDE = config.getIdeClient().getCurrentIde();
|
|
82
|
+
useEffect(() => {
|
|
83
|
+
registerCleanup(() => config.getIdeClient().disconnect());
|
|
84
|
+
}, [config]);
|
|
85
|
+
const shouldShowIdePrompt = currentIDE &&
|
|
86
|
+
!config.getIdeMode() &&
|
|
87
|
+
!settings.merged.hasSeenIdeIntegrationNudge &&
|
|
88
|
+
!idePromptAnswered;
|
|
70
89
|
useEffect(() => {
|
|
71
90
|
const cleanup = setUpdateHandler(addItem, setUpdateInfo);
|
|
72
91
|
return cleanup;
|
|
@@ -98,7 +117,6 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
|
|
|
98
117
|
const [shellModeActive, setShellModeActive] = useState(false);
|
|
99
118
|
const [showErrorDetails, setShowErrorDetails] = useState(false);
|
|
100
119
|
const [showToolDescriptions, setShowToolDescriptions] = useState(false);
|
|
101
|
-
const [showIDEContextDetail, setShowIDEContextDetail] = useState(false);
|
|
102
120
|
const [ctrlCPressedOnce, setCtrlCPressedOnce] = useState(false);
|
|
103
121
|
const [quittingMessages, setQuittingMessages] = useState(null);
|
|
104
122
|
const ctrlCTimerRef = useRef(null);
|
|
@@ -109,6 +127,7 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
|
|
|
109
127
|
const [modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError] = useState(false);
|
|
110
128
|
const [userTier, setUserTier] = useState(undefined);
|
|
111
129
|
const [ideContextState, setIdeContextState] = useState();
|
|
130
|
+
const [showEscapePrompt, setShowEscapePrompt] = useState(false);
|
|
112
131
|
const [isProcessing, setIsProcessing] = useState(false);
|
|
113
132
|
useEffect(() => {
|
|
114
133
|
const unsubscribe = ideContext.subscribeToIdeContext(setIdeContextState);
|
|
@@ -138,11 +157,16 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
|
|
|
138
157
|
const openPrivacyNotice = useCallback(() => {
|
|
139
158
|
setShowPrivacyNotice(true);
|
|
140
159
|
}, []);
|
|
160
|
+
const handleEscapePromptChange = useCallback((showPrompt) => {
|
|
161
|
+
setShowEscapePrompt(showPrompt);
|
|
162
|
+
}, []);
|
|
141
163
|
const initialPromptSubmitted = useRef(false);
|
|
142
164
|
const errorCount = useMemo(() => consoleMessages
|
|
143
165
|
.filter((msg) => msg.type === 'error')
|
|
144
166
|
.reduce((total, msg) => total + msg.count, 0), [consoleMessages]);
|
|
145
167
|
const { isThemeDialogOpen, openThemeDialog, handleThemeSelect, handleThemeHighlight, } = useThemeCommand(settings, setThemeError, addItem);
|
|
168
|
+
const { isSettingsDialogOpen, openSettingsDialog, closeSettingsDialog } = useSettingsCommand();
|
|
169
|
+
const { isFolderTrustDialogOpen, handleFolderTrustSelect } = useFolderTrust(settings, config);
|
|
146
170
|
const { isAuthDialogOpen, openAuthDialog, handleAuthSelect, isAuthenticating, cancelAuthentication, } = useAuthCommand(settings, setAuthError, config);
|
|
147
171
|
useEffect(() => {
|
|
148
172
|
if (settings.merged.selectedAuthType && !settings.merged.useExternalAuth) {
|
|
@@ -285,11 +309,12 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
|
|
|
285
309
|
}, [config, addItem, userTier]);
|
|
286
310
|
// Terminal and UI setup
|
|
287
311
|
const { rows: terminalHeight, columns: terminalWidth } = useTerminalSize();
|
|
312
|
+
const isNarrow = isNarrowWidth(terminalWidth);
|
|
288
313
|
const { stdin, setRawMode } = useStdin();
|
|
289
314
|
const isInitialMount = useRef(true);
|
|
290
315
|
const widthFraction = 0.9;
|
|
291
316
|
const inputWidth = Math.max(20, Math.floor(terminalWidth * widthFraction) - 3);
|
|
292
|
-
const suggestionsWidth = Math.max(
|
|
317
|
+
const suggestionsWidth = Math.max(20, Math.floor(terminalWidth * 0.8));
|
|
293
318
|
// Utility callbacks
|
|
294
319
|
const isValidPath = useCallback((filePath) => {
|
|
295
320
|
try {
|
|
@@ -314,15 +339,7 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
|
|
|
314
339
|
}, [openAuthDialog, setAuthError]);
|
|
315
340
|
// Core hooks and processors
|
|
316
341
|
const { vimEnabled: vimModeEnabled, vimMode, toggleVimEnabled, } = useVimMode();
|
|
317
|
-
const { handleSlashCommand, slashCommands, pendingHistoryItems: pendingSlashCommandHistoryItems, commandContext, shellConfirmationRequest, } = useSlashCommandProcessor(config, settings, addItem, clearItems, loadHistory, refreshStatic, setDebugMessage, openThemeDialog, openAuthDialog, openEditorDialog, toggleCorgiMode, setQuittingMessages, openPrivacyNotice, toggleVimEnabled, setIsProcessing, setGeminiMdFileCount);
|
|
318
|
-
const { streamingState, submitQuery, initError, pendingHistoryItems: pendingGeminiHistoryItems, thought, } = useGeminiStream(config.getGeminiClient(), history, addItem, config, setDebugMessage, handleSlashCommand, shellModeActive, getPreferredEditor, onAuthError, performMemoryRefresh, modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError, refreshStatic);
|
|
319
|
-
// Input handling
|
|
320
|
-
const handleFinalSubmit = useCallback((submittedValue) => {
|
|
321
|
-
const trimmedValue = submittedValue.trim();
|
|
322
|
-
if (trimmedValue.length > 0) {
|
|
323
|
-
submitQuery(trimmedValue);
|
|
324
|
-
}
|
|
325
|
-
}, [submitQuery]);
|
|
342
|
+
const { handleSlashCommand, slashCommands, pendingHistoryItems: pendingSlashCommandHistoryItems, commandContext, shellConfirmationRequest, confirmationRequest, } = useSlashCommandProcessor(config, settings, addItem, clearItems, loadHistory, refreshStatic, setDebugMessage, openThemeDialog, openAuthDialog, openEditorDialog, toggleCorgiMode, setQuittingMessages, openPrivacyNotice, openSettingsDialog, toggleVimEnabled, setIsProcessing, setGeminiMdFileCount);
|
|
326
343
|
const buffer = useTextBuffer({
|
|
327
344
|
initialText: '',
|
|
328
345
|
viewport: { height: 10, width: inputWidth },
|
|
@@ -331,11 +348,42 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
|
|
|
331
348
|
isValidPath,
|
|
332
349
|
shellModeActive,
|
|
333
350
|
});
|
|
351
|
+
const [userMessages, setUserMessages] = useState([]);
|
|
352
|
+
const handleUserCancel = useCallback(() => {
|
|
353
|
+
const lastUserMessage = userMessages.at(-1);
|
|
354
|
+
if (lastUserMessage) {
|
|
355
|
+
buffer.setText(lastUserMessage);
|
|
356
|
+
}
|
|
357
|
+
}, [buffer, userMessages]);
|
|
358
|
+
const { streamingState, submitQuery, initError, pendingHistoryItems: pendingGeminiHistoryItems, thought, cancelOngoingRequest, } = useGeminiStream(config.getGeminiClient(), history, addItem, config, setDebugMessage, handleSlashCommand, shellModeActive, getPreferredEditor, onAuthError, performMemoryRefresh, modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError, refreshStatic, handleUserCancel);
|
|
359
|
+
// Input handling
|
|
360
|
+
const handleFinalSubmit = useCallback((submittedValue) => {
|
|
361
|
+
const trimmedValue = submittedValue.trim();
|
|
362
|
+
if (trimmedValue.length > 0) {
|
|
363
|
+
submitQuery(trimmedValue);
|
|
364
|
+
}
|
|
365
|
+
}, [submitQuery]);
|
|
366
|
+
const handleIdePromptComplete = useCallback((result) => {
|
|
367
|
+
if (result.userSelection === 'yes') {
|
|
368
|
+
if (result.isExtensionPreInstalled) {
|
|
369
|
+
handleSlashCommand('/ide enable');
|
|
370
|
+
}
|
|
371
|
+
else {
|
|
372
|
+
handleSlashCommand('/ide install');
|
|
373
|
+
}
|
|
374
|
+
settings.setValue(SettingScope.User, 'hasSeenIdeIntegrationNudge', true);
|
|
375
|
+
}
|
|
376
|
+
else if (result.userSelection === 'dismiss') {
|
|
377
|
+
settings.setValue(SettingScope.User, 'hasSeenIdeIntegrationNudge', true);
|
|
378
|
+
}
|
|
379
|
+
setIdePromptAnswered(true);
|
|
380
|
+
}, [handleSlashCommand, settings]);
|
|
334
381
|
const { handleInput: vimHandleInput } = useVim(buffer, handleFinalSubmit);
|
|
335
382
|
const pendingHistoryItems = [...pendingSlashCommandHistoryItems];
|
|
336
383
|
pendingHistoryItems.push(...pendingGeminiHistoryItems);
|
|
337
384
|
const { elapsedTime, currentLoadingPhrase } = useLoadingIndicator(streamingState);
|
|
338
385
|
const showAutoAcceptIndicator = useAutoAcceptIndicator({ config });
|
|
386
|
+
const kittyProtocolStatus = useKittyKeyboardProtocol();
|
|
339
387
|
const handleExit = useCallback((pressedOnce, setPressedOnce, timerRef) => {
|
|
340
388
|
if (pressedOnce) {
|
|
341
389
|
if (timerRef.current) {
|
|
@@ -352,20 +400,16 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
|
|
|
352
400
|
}, CTRL_EXIT_PROMPT_DURATION_MS);
|
|
353
401
|
}
|
|
354
402
|
}, [handleSlashCommand]);
|
|
355
|
-
|
|
403
|
+
const handleGlobalKeypress = useCallback((key) => {
|
|
356
404
|
let enteringConstrainHeightMode = false;
|
|
357
405
|
if (!constrainHeight) {
|
|
358
|
-
// Automatically re-enter constrain height mode if the user types
|
|
359
|
-
// anything. When constrainHeight==false, the user will experience
|
|
360
|
-
// significant flickering so it is best to disable it immediately when
|
|
361
|
-
// the user starts interacting with the app.
|
|
362
406
|
enteringConstrainHeightMode = true;
|
|
363
407
|
setConstrainHeight(true);
|
|
364
408
|
}
|
|
365
|
-
if (key
|
|
409
|
+
if (keyMatchers[Command.SHOW_ERROR_DETAILS](key)) {
|
|
366
410
|
setShowErrorDetails((prev) => !prev);
|
|
367
411
|
}
|
|
368
|
-
else if (key
|
|
412
|
+
else if (keyMatchers[Command.TOGGLE_TOOL_DESCRIPTIONS](key)) {
|
|
369
413
|
const newValue = !showToolDescriptions;
|
|
370
414
|
setShowToolDescriptions(newValue);
|
|
371
415
|
const mcpServers = config.getMcpServers();
|
|
@@ -373,25 +417,56 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
|
|
|
373
417
|
handleSlashCommand(newValue ? '/mcp desc' : '/mcp nodesc');
|
|
374
418
|
}
|
|
375
419
|
}
|
|
376
|
-
else if (key
|
|
377
|
-
input === 'e' &&
|
|
420
|
+
else if (keyMatchers[Command.TOGGLE_IDE_CONTEXT_DETAIL](key) &&
|
|
378
421
|
config.getIdeMode() &&
|
|
379
422
|
ideContextState) {
|
|
380
|
-
|
|
423
|
+
// Show IDE status when in IDE mode and context is available.
|
|
424
|
+
handleSlashCommand('/ide status');
|
|
381
425
|
}
|
|
382
|
-
else if (
|
|
426
|
+
else if (keyMatchers[Command.QUIT](key)) {
|
|
427
|
+
// When authenticating, let AuthInProgress component handle Ctrl+C.
|
|
428
|
+
if (isAuthenticating) {
|
|
429
|
+
return;
|
|
430
|
+
}
|
|
431
|
+
if (!ctrlCPressedOnce) {
|
|
432
|
+
cancelOngoingRequest?.();
|
|
433
|
+
}
|
|
383
434
|
handleExit(ctrlCPressedOnce, setCtrlCPressedOnce, ctrlCTimerRef);
|
|
384
435
|
}
|
|
385
|
-
else if (
|
|
436
|
+
else if (keyMatchers[Command.EXIT](key)) {
|
|
386
437
|
if (buffer.text.length > 0) {
|
|
387
|
-
// Do nothing if there is text in the input.
|
|
388
438
|
return;
|
|
389
439
|
}
|
|
390
440
|
handleExit(ctrlDPressedOnce, setCtrlDPressedOnce, ctrlDTimerRef);
|
|
391
441
|
}
|
|
392
|
-
else if (key
|
|
442
|
+
else if (keyMatchers[Command.SHOW_MORE_LINES](key) &&
|
|
443
|
+
!enteringConstrainHeightMode) {
|
|
393
444
|
setConstrainHeight(false);
|
|
394
445
|
}
|
|
446
|
+
}, [
|
|
447
|
+
constrainHeight,
|
|
448
|
+
setConstrainHeight,
|
|
449
|
+
setShowErrorDetails,
|
|
450
|
+
showToolDescriptions,
|
|
451
|
+
setShowToolDescriptions,
|
|
452
|
+
config,
|
|
453
|
+
ideContextState,
|
|
454
|
+
handleExit,
|
|
455
|
+
ctrlCPressedOnce,
|
|
456
|
+
setCtrlCPressedOnce,
|
|
457
|
+
ctrlCTimerRef,
|
|
458
|
+
buffer.text.length,
|
|
459
|
+
ctrlDPressedOnce,
|
|
460
|
+
setCtrlDPressedOnce,
|
|
461
|
+
ctrlDTimerRef,
|
|
462
|
+
handleSlashCommand,
|
|
463
|
+
isAuthenticating,
|
|
464
|
+
cancelOngoingRequest,
|
|
465
|
+
]);
|
|
466
|
+
useKeypress(handleGlobalKeypress, {
|
|
467
|
+
isActive: true,
|
|
468
|
+
kittyProtocolEnabled: kittyProtocolStatus.enabled,
|
|
469
|
+
config,
|
|
395
470
|
});
|
|
396
471
|
useEffect(() => {
|
|
397
472
|
if (config) {
|
|
@@ -399,7 +474,6 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
|
|
|
399
474
|
}
|
|
400
475
|
}, [config, config.getGeminiMdFileCount]);
|
|
401
476
|
const logger = useLogger();
|
|
402
|
-
const [userMessages, setUserMessages] = useState([]);
|
|
403
477
|
useEffect(() => {
|
|
404
478
|
const fetchUserMessages = async () => {
|
|
405
479
|
const pastMessagesRaw = (await logger?.getPreviousUserMessages()) || []; // Newest first
|
|
@@ -517,14 +591,19 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
|
|
|
517
591
|
? " Press 'i' for INSERT mode and 'Esc' for NORMAL mode."
|
|
518
592
|
: ' Type your message or @path/to/file';
|
|
519
593
|
return (_jsx(StreamingContext.Provider, { value: streamingState, children: _jsxs(Box, { flexDirection: "column", width: "90%", children: [_jsx(Static, { items: [
|
|
520
|
-
_jsxs(Box, { flexDirection: "column", children: [!settings.merged.hideBanner && (_jsx(Header, {
|
|
594
|
+
_jsxs(Box, { flexDirection: "column", children: [!settings.merged.hideBanner && (_jsx(Header, { version: version, nightly: nightly })), !settings.merged.hideTips && _jsx(Tips, { config: config })] }, "header"),
|
|
521
595
|
...history.map((h) => (_jsx(HistoryItemDisplay, { terminalWidth: mainAreaWidth, availableTerminalHeight: staticAreaMaxItemHeight, item: h, isPending: false, config: config, commands: slashCommands }, h.id))),
|
|
522
596
|
], children: (item) => item }, staticKey), _jsx(OverflowProvider, { children: _jsxs(Box, { ref: pendingHistoryItemRef, flexDirection: "column", children: [pendingHistoryItems.map((item, i) => (_jsx(HistoryItemDisplay, { availableTerminalHeight: constrainHeight ? availableTerminalHeight : undefined, terminalWidth: mainAreaWidth,
|
|
523
597
|
// TODO(taehykim): It seems like references to ids aren't necessary in
|
|
524
598
|
// HistoryItemDisplay. Refactor later. Use a fake id for now.
|
|
525
|
-
item: { ...item, id: 0 }, isPending: true, config: config, isFocused: !isEditorDialogOpen }, i))), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) }), _jsxs(Box, { flexDirection: "column", ref: mainControlsRef, children: [updateInfo && _jsx(UpdateNotification, { message: updateInfo.message }), startupWarnings.length > 0 && (_jsx(Box, { borderStyle: "round", borderColor: Colors.AccentYellow, paddingX: 1, marginY: 1, flexDirection: "column", children: startupWarnings.map((warning, index) => (_jsx(Text, { color: Colors.AccentYellow, children: warning }, index))) })),
|
|
599
|
+
item: { ...item, id: 0 }, isPending: true, config: config, isFocused: !isEditorDialogOpen }, i))), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) }), _jsxs(Box, { flexDirection: "column", ref: mainControlsRef, children: [updateInfo && _jsx(UpdateNotification, { message: updateInfo.message }), startupWarnings.length > 0 && (_jsx(Box, { borderStyle: "round", borderColor: Colors.AccentYellow, paddingX: 1, marginY: 1, flexDirection: "column", children: startupWarnings.map((warning, index) => (_jsx(Text, { color: Colors.AccentYellow, children: warning }, index))) })), shouldShowIdePrompt && currentIDE ? (_jsx(IdeIntegrationNudge, { ide: currentIDE, onComplete: handleIdePromptComplete })) : isFolderTrustDialogOpen ? (_jsx(FolderTrustDialog, { onSelect: handleFolderTrustSelect })) : shellConfirmationRequest ? (_jsx(ShellConfirmationDialog, { request: shellConfirmationRequest })) : confirmationRequest ? (_jsxs(Box, { flexDirection: "column", children: [confirmationRequest.prompt, _jsx(Box, { paddingY: 1, children: _jsx(RadioButtonSelect, { items: [
|
|
600
|
+
{ label: 'Yes', value: true },
|
|
601
|
+
{ label: 'No', value: false },
|
|
602
|
+
], onSelect: (value) => {
|
|
603
|
+
confirmationRequest.onConfirm(value);
|
|
604
|
+
} }) })] })) : isThemeDialogOpen ? (_jsxs(Box, { flexDirection: "column", children: [themeError && (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: Colors.AccentRed, children: themeError }) })), _jsx(ThemeDialog, { onSelect: handleThemeSelect, onHighlight: handleThemeHighlight, settings: settings, availableTerminalHeight: constrainHeight
|
|
526
605
|
? terminalHeight - staticExtraHeight
|
|
527
|
-
: undefined, terminalWidth: mainAreaWidth })] })) : isAuthenticating ? (_jsxs(_Fragment, { children: [_jsx(AuthInProgress, { onTimeout: () => {
|
|
606
|
+
: undefined, terminalWidth: mainAreaWidth })] })) : isSettingsDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(SettingsDialog, { settings: settings, onSelect: () => closeSettingsDialog(), onRestartRequest: () => process.exit(0) }) })) : isAuthenticating ? (_jsxs(_Fragment, { children: [_jsx(AuthInProgress, { onTimeout: () => {
|
|
528
607
|
setAuthError('Authentication timed out. Please try again.');
|
|
529
608
|
cancelAuthentication();
|
|
530
609
|
openAuthDialog();
|
|
@@ -533,9 +612,7 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
|
|
|
533
612
|
? undefined
|
|
534
613
|
: thought, currentLoadingPhrase: config.getAccessibility()?.disableLoadingPhrases
|
|
535
614
|
? undefined
|
|
536
|
-
: currentLoadingPhrase, elapsedTime: elapsedTime }), _jsxs(Box, { marginTop: 1,
|
|
537
|
-
!shellModeActive && (_jsx(AutoAcceptIndicator, { approvalMode: showAutoAcceptIndicator })), shellModeActive && _jsx(ShellModeIndicator, {})] })] }),
|
|
538
|
-
.getIdeClient()
|
|
539
|
-
.getDetectedIdeDisplayName() })), showErrorDetails && (_jsx(OverflowProvider, { children: _jsxs(Box, { flexDirection: "column", children: [_jsx(DetailedMessagesDisplay, { messages: filteredConsoleMessages, maxHeight: constrainHeight ? debugConsoleMaxHeight : undefined, width: inputWidth }), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) })), isInputActive && (_jsx(InputPrompt, { buffer: buffer, inputWidth: inputWidth, suggestionsWidth: suggestionsWidth, onSubmit: handleFinalSubmit, userMessages: userMessages, onClearScreen: handleClearScreen, config: config, slashCommands: slashCommands, commandContext: commandContext, shellModeActive: shellModeActive, setShellModeActive: setShellModeActive, focus: isFocused, vimHandleInput: vimHandleInput, placeholder: placeholder }))] })), initError && streamingState !== StreamingState.Responding && (_jsx(Box, { borderStyle: "round", borderColor: Colors.AccentRed, paddingX: 1, marginBottom: 1, children: history.find((item) => item.type === 'error' && item.text?.includes(initError))?.text ? (_jsx(Text, { color: Colors.AccentRed, children: history.find((item) => item.type === 'error' && item.text?.includes(initError))?.text })) : (_jsxs(_Fragment, { children: [_jsxs(Text, { color: Colors.AccentRed, children: ["Initialization Error: ", initError] }), _jsxs(Text, { color: Colors.AccentRed, children: [' ', "Please check API key and configuration."] })] })) })), _jsx(Footer, { model: currentModel, targetDir: config.getTargetDir(), debugMode: config.getDebugMode(), branchName: branchName, debugMessage: debugMessage, corgiMode: corgiMode, errorCount: errorCount, showErrorDetails: showErrorDetails, showMemoryUsage: config.getDebugMode() || config.getShowMemoryUsage(), promptTokenCount: sessionStats.lastPromptTokenCount, nightly: nightly, vimMode: vimModeEnabled ? vimMode : undefined })] })] }) }));
|
|
615
|
+
: currentLoadingPhrase, elapsedTime: elapsedTime }), _jsxs(Box, { marginTop: 1, justifyContent: "space-between", width: "100%", flexDirection: isNarrow ? 'column' : 'row', alignItems: isNarrow ? 'flex-start' : 'center', children: [_jsxs(Box, { children: [process.env.GEMINI_SYSTEM_MD && (_jsx(Text, { color: Colors.AccentRed, children: "|\u2310\u25A0_\u25A0| " })), ctrlCPressedOnce ? (_jsx(Text, { color: Colors.AccentYellow, children: "Press Ctrl+C again to exit." })) : ctrlDPressedOnce ? (_jsx(Text, { color: Colors.AccentYellow, children: "Press Ctrl+D again to exit." })) : showEscapePrompt ? (_jsx(Text, { color: Colors.Gray, children: "Press Esc again to clear." })) : (_jsx(ContextSummaryDisplay, { ideContext: ideContextState, geminiMdFileCount: geminiMdFileCount, contextFileNames: contextFileNames, mcpServers: config.getMcpServers(), blockedMcpServers: config.getBlockedMcpServers(), showToolDescriptions: showToolDescriptions }))] }), _jsxs(Box, { paddingTop: isNarrow ? 1 : 0, children: [showAutoAcceptIndicator !== ApprovalMode.DEFAULT &&
|
|
616
|
+
!shellModeActive && (_jsx(AutoAcceptIndicator, { approvalMode: showAutoAcceptIndicator })), shellModeActive && _jsx(ShellModeIndicator, {})] })] }), showErrorDetails && (_jsx(OverflowProvider, { children: _jsxs(Box, { flexDirection: "column", children: [_jsx(DetailedMessagesDisplay, { messages: filteredConsoleMessages, maxHeight: constrainHeight ? debugConsoleMaxHeight : undefined, width: inputWidth }), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) })), isInputActive && (_jsx(InputPrompt, { buffer: buffer, inputWidth: inputWidth, suggestionsWidth: suggestionsWidth, onSubmit: handleFinalSubmit, userMessages: userMessages, onClearScreen: handleClearScreen, config: config, slashCommands: slashCommands, commandContext: commandContext, shellModeActive: shellModeActive, setShellModeActive: setShellModeActive, onEscapePromptChange: handleEscapePromptChange, focus: isFocused, vimHandleInput: vimHandleInput, placeholder: placeholder }))] })), initError && streamingState !== StreamingState.Responding && (_jsx(Box, { borderStyle: "round", borderColor: Colors.AccentRed, paddingX: 1, marginBottom: 1, children: history.find((item) => item.type === 'error' && item.text?.includes(initError))?.text ? (_jsx(Text, { color: Colors.AccentRed, children: history.find((item) => item.type === 'error' && item.text?.includes(initError))?.text })) : (_jsxs(_Fragment, { children: [_jsxs(Text, { color: Colors.AccentRed, children: ["Initialization Error: ", initError] }), _jsxs(Text, { color: Colors.AccentRed, children: [' ', "Please check API key and configuration."] })] })) })), _jsx(Footer, { model: currentModel, targetDir: config.getTargetDir(), debugMode: config.getDebugMode(), branchName: branchName, debugMessage: debugMessage, corgiMode: corgiMode, errorCount: errorCount, showErrorDetails: showErrorDetails, showMemoryUsage: config.getDebugMode() || settings.merged.showMemoryUsage || false, promptTokenCount: sessionStats.lastPromptTokenCount, nightly: nightly, vimMode: vimModeEnabled ? vimMode : undefined })] })] }) }));
|
|
540
617
|
};
|
|
541
618
|
//# sourceMappingURL=App.js.map
|