@google/gemini-cli 0.11.0-preview.0 → 0.12.0-nightly.20251023.c4c0c0d1

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.
Files changed (140) hide show
  1. package/dist/google-gemini-cli-0.12.0-nightly.20251022.0542de95.tgz +0 -0
  2. package/dist/package.json +4 -3
  3. package/dist/src/commands/extensions/disable.js +13 -6
  4. package/dist/src/commands/extensions/disable.js.map +1 -1
  5. package/dist/src/commands/extensions/enable.js +13 -6
  6. package/dist/src/commands/extensions/enable.js.map +1 -1
  7. package/dist/src/commands/extensions/install.js +12 -2
  8. package/dist/src/commands/extensions/install.js.map +1 -1
  9. package/dist/src/commands/extensions/install.test.js +11 -3
  10. package/dist/src/commands/extensions/install.test.js.map +1 -1
  11. package/dist/src/commands/extensions/link.js +12 -2
  12. package/dist/src/commands/extensions/link.js.map +1 -1
  13. package/dist/src/commands/extensions/list.js +13 -4
  14. package/dist/src/commands/extensions/list.js.map +1 -1
  15. package/dist/src/commands/extensions/uninstall.js +12 -2
  16. package/dist/src/commands/extensions/uninstall.js.map +1 -1
  17. package/dist/src/commands/extensions/update.js +17 -13
  18. package/dist/src/commands/extensions/update.js.map +1 -1
  19. package/dist/src/commands/extensions.js +1 -0
  20. package/dist/src/commands/extensions.js.map +1 -1
  21. package/dist/src/commands/mcp/list.js +10 -3
  22. package/dist/src/commands/mcp/list.js.map +1 -1
  23. package/dist/src/commands/mcp/list.test.js +12 -6
  24. package/dist/src/commands/mcp/list.test.js.map +1 -1
  25. package/dist/src/config/config.js +12 -0
  26. package/dist/src/config/config.js.map +1 -1
  27. package/dist/src/config/config.test.js +11 -0
  28. package/dist/src/config/config.test.js.map +1 -1
  29. package/dist/src/config/extension-manager.d.ts +38 -0
  30. package/dist/src/config/extension-manager.js +412 -0
  31. package/dist/src/config/extension-manager.js.map +1 -0
  32. package/dist/src/config/extension.d.ts +4 -51
  33. package/dist/src/config/extension.js +1 -535
  34. package/dist/src/config/extension.js.map +1 -1
  35. package/dist/src/config/extension.test.js +316 -159
  36. package/dist/src/config/extension.test.js.map +1 -1
  37. package/dist/src/config/extensions/consent.d.ts +38 -0
  38. package/dist/src/config/extensions/consent.js +123 -0
  39. package/dist/src/config/extensions/consent.js.map +1 -0
  40. package/dist/src/config/extensions/extensionEnablement.js +1 -1
  41. package/dist/src/config/extensions/extensionEnablement.js.map +1 -1
  42. package/dist/src/config/extensions/extensionSettings.d.ts +15 -0
  43. package/dist/src/config/extensions/extensionSettings.js +63 -0
  44. package/dist/src/config/extensions/extensionSettings.js.map +1 -0
  45. package/dist/src/config/extensions/extensionSettings.test.d.ts +6 -0
  46. package/dist/src/config/extensions/extensionSettings.test.js +137 -0
  47. package/dist/src/config/extensions/extensionSettings.test.js.map +1 -0
  48. package/dist/src/config/extensions/github.d.ts +2 -2
  49. package/dist/src/config/extensions/github.js +3 -8
  50. package/dist/src/config/extensions/github.js.map +1 -1
  51. package/dist/src/config/extensions/github.test.js +25 -7
  52. package/dist/src/config/extensions/github.test.js.map +1 -1
  53. package/dist/src/config/extensions/storage.d.ts +14 -0
  54. package/dist/src/config/extensions/storage.js +32 -0
  55. package/dist/src/config/extensions/storage.js.map +1 -0
  56. package/dist/src/config/extensions/update.d.ts +4 -4
  57. package/dist/src/config/extensions/update.js +11 -18
  58. package/dist/src/config/extensions/update.js.map +1 -1
  59. package/dist/src/config/extensions/update.test.js +32 -58
  60. package/dist/src/config/extensions/update.test.js.map +1 -1
  61. package/dist/src/config/extensions/variableSchema.d.ts +0 -6
  62. package/dist/src/config/extensions/variableSchema.js.map +1 -1
  63. package/dist/src/config/extensions/variables.d.ts +4 -0
  64. package/dist/src/config/extensions/variables.js +6 -0
  65. package/dist/src/config/extensions/variables.js.map +1 -1
  66. package/dist/src/config/settings.d.ts +2 -1
  67. package/dist/src/config/settings.js +4 -7
  68. package/dist/src/config/settings.js.map +1 -1
  69. package/dist/src/config/settings.test.js +113 -14
  70. package/dist/src/config/settings.test.js.map +1 -1
  71. package/dist/src/config/settingsSchema.d.ts +9 -0
  72. package/dist/src/config/settingsSchema.js +9 -0
  73. package/dist/src/config/settingsSchema.js.map +1 -1
  74. package/dist/src/gemini.js +22 -5
  75. package/dist/src/gemini.js.map +1 -1
  76. package/dist/src/generated/git-commit.d.ts +2 -2
  77. package/dist/src/generated/git-commit.js +2 -2
  78. package/dist/src/generated/git-commit.js.map +1 -1
  79. package/dist/src/nonInteractiveCli.js +14 -1
  80. package/dist/src/nonInteractiveCli.js.map +1 -1
  81. package/dist/src/nonInteractiveCli.test.js +84 -2
  82. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  83. package/dist/src/test-utils/createExtension.d.ts +3 -1
  84. package/dist/src/test-utils/createExtension.js +3 -3
  85. package/dist/src/test-utils/createExtension.js.map +1 -1
  86. package/dist/src/ui/AppContainer.js +101 -47
  87. package/dist/src/ui/AppContainer.js.map +1 -1
  88. package/dist/src/ui/AppContainer.test.js +138 -79
  89. package/dist/src/ui/AppContainer.test.js.map +1 -1
  90. package/dist/src/ui/commands/extensionsCommand.js +19 -10
  91. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  92. package/dist/src/ui/commands/extensionsCommand.test.js +8 -0
  93. package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
  94. package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
  95. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  96. package/dist/src/ui/components/InputPrompt.js +5 -6
  97. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  98. package/dist/src/ui/components/InputPrompt.test.js +249 -393
  99. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  100. package/dist/src/ui/components/SettingsDialog.test.js +0 -29
  101. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  102. package/dist/src/ui/components/views/ExtensionsList.d.ts +7 -1
  103. package/dist/src/ui/components/views/ExtensionsList.js +4 -10
  104. package/dist/src/ui/components/views/ExtensionsList.js.map +1 -1
  105. package/dist/src/ui/components/views/ExtensionsList.test.js +34 -21
  106. package/dist/src/ui/components/views/ExtensionsList.test.js.map +1 -1
  107. package/dist/src/ui/contexts/KeypressContext.js +328 -335
  108. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  109. package/dist/src/ui/hooks/useAutoAcceptIndicator.js +10 -0
  110. package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -1
  111. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +30 -0
  112. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -1
  113. package/dist/src/ui/hooks/useExtensionUpdates.d.ts +14 -4
  114. package/dist/src/ui/hooks/useExtensionUpdates.js +14 -17
  115. package/dist/src/ui/hooks/useExtensionUpdates.js.map +1 -1
  116. package/dist/src/ui/hooks/useExtensionUpdates.test.js +23 -30
  117. package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -1
  118. package/dist/src/ui/hooks/useGitBranchName.js +4 -0
  119. package/dist/src/ui/hooks/useGitBranchName.js.map +1 -1
  120. package/dist/src/ui/hooks/useGitBranchName.test.js +19 -21
  121. package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
  122. package/dist/src/ui/hooks/useReactToolScheduler.js +22 -8
  123. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  124. package/dist/src/ui/hooks/useReactToolScheduler.test.d.ts +6 -0
  125. package/dist/src/ui/hooks/useReactToolScheduler.test.js +65 -0
  126. package/dist/src/ui/hooks/useReactToolScheduler.test.js.map +1 -0
  127. package/dist/src/ui/hooks/useToolScheduler.test.js +30 -48
  128. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  129. package/dist/src/ui/types.d.ts +2 -1
  130. package/dist/src/ui/types.js.map +1 -1
  131. package/dist/src/ui/utils/CodeColorizer.js +2 -1
  132. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  133. package/dist/src/utils/envVarResolver.d.ts +2 -2
  134. package/dist/src/utils/envVarResolver.js +10 -7
  135. package/dist/src/utils/envVarResolver.js.map +1 -1
  136. package/dist/src/zed-integration/schema.d.ts +4 -4
  137. package/dist/src/zed-integration/zedIntegration.js +3 -3
  138. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  139. package/dist/tsconfig.tsbuildinfo +1 -1
  140. package/package.json +4 -3
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { isSlashCommand } from './ui/utils/commandUtils.js';
7
- import { executeToolCall, shutdownTelemetry, isTelemetrySdkInitialized, GeminiEventType, FatalInputError, promptIdContext, OutputFormat, JsonFormatter, StreamJsonFormatter, JsonStreamEventType, uiTelemetryService, debugLogger, } from '@google/gemini-cli-core';
7
+ import { executeToolCall, shutdownTelemetry, isTelemetrySdkInitialized, GeminiEventType, FatalInputError, promptIdContext, OutputFormat, JsonFormatter, StreamJsonFormatter, JsonStreamEventType, uiTelemetryService, debugLogger, coreEvents, CoreEvent, } from '@google/gemini-cli-core';
8
8
  import { handleSlashCommand } from './nonInteractiveCliCommands.js';
9
9
  import { ConsolePatcher } from './ui/utils/ConsolePatcher.js';
10
10
  import { handleAtCommand } from './ui/hooks/atCommandProcessor.js';
@@ -15,12 +15,24 @@ export async function runNonInteractive(config, settings, input, prompt_id) {
15
15
  stderr: true,
16
16
  debugMode: config.getDebugMode(),
17
17
  });
18
+ const handleUserFeedback = (payload) => {
19
+ const prefix = payload.severity.toUpperCase();
20
+ process.stderr.write(`[${prefix}] ${payload.message}\n`);
21
+ if (payload.error && config.getDebugMode()) {
22
+ const errorToLog = payload.error instanceof Error
23
+ ? payload.error.stack || payload.error.message
24
+ : String(payload.error);
25
+ process.stderr.write(`${errorToLog}\n`);
26
+ }
27
+ };
18
28
  const startTime = Date.now();
19
29
  const streamFormatter = config.getOutputFormat() === OutputFormat.STREAM_JSON
20
30
  ? new StreamJsonFormatter()
21
31
  : null;
22
32
  try {
23
33
  consolePatcher.patch();
34
+ coreEvents.on(CoreEvent.UserFeedback, handleUserFeedback);
35
+ coreEvents.drainFeedbackBacklog();
24
36
  // Handle EPIPE errors when the output is piped to a command that closes early.
25
37
  process.stdout.on('error', (err) => {
26
38
  if (err.code === 'EPIPE') {
@@ -213,6 +225,7 @@ export async function runNonInteractive(config, settings, input, prompt_id) {
213
225
  }
214
226
  finally {
215
227
  consolePatcher.cleanup();
228
+ coreEvents.off(CoreEvent.UserFeedback, handleUserFeedback);
216
229
  if (isTelemetrySdkInitialized()) {
217
230
  await shutdownTelemetry(config);
218
231
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nonInteractiveCli.js","sourceRoot":"","sources":["../../src/nonInteractiveCli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nonInteractiveCli.js","sourceRoot":"","sources":["../../src/nonInteractiveCli.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,17 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { executeToolCall, ToolErrorType, shutdownTelemetry, GeminiEventType, OutputFormat, uiTelemetryService, FatalInputError, } from '@google/gemini-cli-core';
6
+ import { executeToolCall, ToolErrorType, shutdownTelemetry, GeminiEventType, OutputFormat, uiTelemetryService, FatalInputError, CoreEvent, } from '@google/gemini-cli-core';
7
7
  import { runNonInteractive } from './nonInteractiveCli.js';
8
- import { vi } from 'vitest';
8
+ import { describe, it, expect, beforeEach, afterEach, vi, } from 'vitest';
9
9
  // Mock core modules
10
10
  vi.mock('./ui/hooks/atCommandProcessor.js');
11
+ const mockCoreEvents = vi.hoisted(() => ({
12
+ on: vi.fn(),
13
+ off: vi.fn(),
14
+ drainFeedbackBacklog: vi.fn(),
15
+ emit: vi.fn(),
16
+ }));
11
17
  vi.mock('@google/gemini-cli-core', async (importOriginal) => {
12
18
  const original = await importOriginal();
13
19
  class MockChatRecordingService {
@@ -25,6 +31,7 @@ vi.mock('@google/gemini-cli-core', async (importOriginal) => {
25
31
  uiTelemetryService: {
26
32
  getMetrics: vi.fn(),
27
33
  },
34
+ coreEvents: mockCoreEvents,
28
35
  };
29
36
  });
30
37
  const mockGetCommands = vi.hoisted(() => vi.fn());
@@ -44,6 +51,7 @@ describe('runNonInteractive', () => {
44
51
  let mockShutdownTelemetry;
45
52
  let consoleErrorSpy;
46
53
  let processStdoutSpy;
54
+ let processStderrSpy;
47
55
  let mockGeminiClient;
48
56
  beforeEach(async () => {
49
57
  mockCoreExecuteToolCall = vi.mocked(executeToolCall);
@@ -55,6 +63,9 @@ describe('runNonInteractive', () => {
55
63
  processStdoutSpy = vi
56
64
  .spyOn(process.stdout, 'write')
57
65
  .mockImplementation(() => true);
66
+ processStderrSpy = vi
67
+ .spyOn(process.stderr, 'write')
68
+ .mockImplementation(() => true);
58
69
  vi.spyOn(process, 'exit').mockImplementation((code) => {
59
70
  throw new Error(`process.exit(${code}) called`);
60
71
  });
@@ -735,5 +746,76 @@ describe('runNonInteractive', () => {
735
746
  expect(mockCoreExecuteToolCall).toHaveBeenCalledWith(mockConfig, expect.objectContaining({ name: 'ShellTool' }), expect.any(AbortSignal));
736
747
  expect(processStdoutSpy).toHaveBeenCalledWith('file.txt');
737
748
  });
749
+ describe('CoreEvents Integration', () => {
750
+ it('subscribes to UserFeedback and drains backlog on start', async () => {
751
+ const events = [
752
+ {
753
+ type: GeminiEventType.Finished,
754
+ value: { reason: undefined, usageMetadata: { totalTokenCount: 0 } },
755
+ },
756
+ ];
757
+ mockGeminiClient.sendMessageStream.mockReturnValue(createStreamFromEvents(events));
758
+ await runNonInteractive(mockConfig, mockSettings, 'test', 'prompt-id-events');
759
+ expect(mockCoreEvents.on).toHaveBeenCalledWith(CoreEvent.UserFeedback, expect.any(Function));
760
+ expect(mockCoreEvents.drainFeedbackBacklog).toHaveBeenCalledTimes(1);
761
+ });
762
+ it('unsubscribes from UserFeedback on finish', async () => {
763
+ const events = [
764
+ {
765
+ type: GeminiEventType.Finished,
766
+ value: { reason: undefined, usageMetadata: { totalTokenCount: 0 } },
767
+ },
768
+ ];
769
+ mockGeminiClient.sendMessageStream.mockReturnValue(createStreamFromEvents(events));
770
+ await runNonInteractive(mockConfig, mockSettings, 'test', 'prompt-id-events');
771
+ expect(mockCoreEvents.off).toHaveBeenCalledWith(CoreEvent.UserFeedback, expect.any(Function));
772
+ });
773
+ it('logs to process.stderr when UserFeedback event is received', async () => {
774
+ const events = [
775
+ {
776
+ type: GeminiEventType.Finished,
777
+ value: { reason: undefined, usageMetadata: { totalTokenCount: 0 } },
778
+ },
779
+ ];
780
+ mockGeminiClient.sendMessageStream.mockReturnValue(createStreamFromEvents(events));
781
+ await runNonInteractive(mockConfig, mockSettings, 'test', 'prompt-id-events');
782
+ // Get the registered handler
783
+ const handler = mockCoreEvents.on.mock.calls.find((call) => call[0] === CoreEvent.UserFeedback)?.[1];
784
+ expect(handler).toBeDefined();
785
+ // Simulate an event
786
+ const payload = {
787
+ severity: 'error',
788
+ message: 'Test error message',
789
+ };
790
+ handler(payload);
791
+ expect(processStderrSpy).toHaveBeenCalledWith('[ERROR] Test error message\n');
792
+ });
793
+ it('logs optional error object to process.stderr in debug mode', async () => {
794
+ vi.mocked(mockConfig.getDebugMode).mockReturnValue(true);
795
+ const events = [
796
+ {
797
+ type: GeminiEventType.Finished,
798
+ value: { reason: undefined, usageMetadata: { totalTokenCount: 0 } },
799
+ },
800
+ ];
801
+ mockGeminiClient.sendMessageStream.mockReturnValue(createStreamFromEvents(events));
802
+ await runNonInteractive(mockConfig, mockSettings, 'test', 'prompt-id-events');
803
+ // Get the registered handler
804
+ const handler = mockCoreEvents.on.mock.calls.find((call) => call[0] === CoreEvent.UserFeedback)?.[1];
805
+ expect(handler).toBeDefined();
806
+ // Simulate an event with error object
807
+ const errorObj = new Error('Original error');
808
+ // Mock stack for deterministic testing
809
+ errorObj.stack = 'Error: Original error\n at test';
810
+ const payload = {
811
+ severity: 'warning',
812
+ message: 'Test warning message',
813
+ error: errorObj,
814
+ };
815
+ handler(payload);
816
+ expect(processStderrSpy).toHaveBeenCalledWith('[WARNING] Test warning message\n');
817
+ expect(processStderrSpy).toHaveBeenCalledWith('Error: Original error\n at test\n');
818
+ });
819
+ });
738
820
  });
739
821
  //# sourceMappingURL=nonInteractiveCli.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nonInteractiveCli.test.js","sourceRoot":"","sources":["../../src/nonInteractiveCli.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nonInteractiveCli.test.js","sourceRoot":"","sources":["../../src/nonInteractiveCli.test.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { type MCPServerConfig, type ExtensionInstallMetadata } from '@google/gemini-cli-core';
7
- export declare function createExtension({ extensionsDir, name, version, addContextFile, contextFileName, mcpServers, installMetadata, }?: {
7
+ import type { ExtensionSetting } from '../config/extensions/extensionSettings.js';
8
+ export declare function createExtension({ extensionsDir, name, version, addContextFile, contextFileName, mcpServers, installMetadata, settings, }?: {
8
9
  extensionsDir?: string | undefined;
9
10
  name?: string | undefined;
10
11
  version?: string | undefined;
@@ -12,4 +13,5 @@ export declare function createExtension({ extensionsDir, name, version, addConte
12
13
  contextFileName?: string | undefined;
13
14
  mcpServers?: Record<string, MCPServerConfig> | undefined;
14
15
  installMetadata?: ExtensionInstallMetadata | undefined;
16
+ settings?: ExtensionSetting[] | undefined;
15
17
  }): string;
@@ -5,12 +5,12 @@
5
5
  */
6
6
  import * as fs from 'node:fs';
7
7
  import * as path from 'node:path';
8
- import { EXTENSIONS_CONFIG_FILENAME, INSTALL_METADATA_FILENAME, } from '../config/extension.js';
9
8
  import {} from '@google/gemini-cli-core';
10
- export function createExtension({ extensionsDir = 'extensions-dir', name = 'my-extension', version = '1.0.0', addContextFile = false, contextFileName = undefined, mcpServers = {}, installMetadata = undefined, } = {}) {
9
+ import { EXTENSIONS_CONFIG_FILENAME, INSTALL_METADATA_FILENAME, } from '../config/extensions/variables.js';
10
+ export function createExtension({ extensionsDir = 'extensions-dir', name = 'my-extension', version = '1.0.0', addContextFile = false, contextFileName = undefined, mcpServers = {}, installMetadata = undefined, settings = undefined, } = {}) {
11
11
  const extDir = path.join(extensionsDir, name);
12
12
  fs.mkdirSync(extDir, { recursive: true });
13
- fs.writeFileSync(path.join(extDir, EXTENSIONS_CONFIG_FILENAME), JSON.stringify({ name, version, contextFileName, mcpServers }));
13
+ fs.writeFileSync(path.join(extDir, EXTENSIONS_CONFIG_FILENAME), JSON.stringify({ name, version, contextFileName, mcpServers, settings }));
14
14
  if (addContextFile) {
15
15
  fs.writeFileSync(path.join(extDir, 'GEMINI.md'), 'context');
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createExtension.js","sourceRoot":"","sources":["../../../src/test-utils/createExtension.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGN,MAAM,yBAAyB,CAAC;AAEjC,MAAM,UAAU,eAAe,CAAC,EAC9B,aAAa,GAAG,gBAAgB,EAChC,IAAI,GAAG,cAAc,EACrB,OAAO,GAAG,OAAO,EACjB,cAAc,GAAG,KAAK,EACtB,eAAe,GAAG,SAA+B,EACjD,UAAU,GAAG,EAAqC,EAClD,eAAe,GAAG,SAAiD,MACjE,EAAE;IACJ,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC9C,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,0BAA0B,CAAC,EAC7C,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAC/D,CAAC;IAEF,IAAI,cAAc,EAAE,CAAC;QACnB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,SAAS,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,yBAAyB,CAAC,EAC5C,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAChC,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"createExtension.js","sourceRoot":"","sources":["../../../src/test-utils/createExtension.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAGN,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,mCAAmC,CAAC;AAG3C,MAAM,UAAU,eAAe,CAAC,EAC9B,aAAa,GAAG,gBAAgB,EAChC,IAAI,GAAG,cAAc,EACrB,OAAO,GAAG,OAAO,EACjB,cAAc,GAAG,KAAK,EACtB,eAAe,GAAG,SAA+B,EACjD,UAAU,GAAG,EAAqC,EAClD,eAAe,GAAG,SAAiD,EACnE,QAAQ,GAAG,SAA2C,MACpD,EAAE;IACJ,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC9C,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,0BAA0B,CAAC,EAC7C,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CACzE,CAAC;IAEF,IAAI,cAAc,EAAE,CAAC;QACnB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,SAAS,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,yBAAyB,CAAC,EAC5C,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAChC,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -13,7 +13,7 @@ import { UIActionsContext, } from './contexts/UIActionsContext.js';
13
13
  import { ConfigContext } from './contexts/ConfigContext.js';
14
14
  import { ToolCallStatus, AuthState, } from './types.js';
15
15
  import { MessageType, StreamingState } from './types.js';
16
- import { DEFAULT_GEMINI_FLASH_MODEL, IdeClient, ideContextStore, getErrorMessage, getAllGeminiMdFilenames, AuthType, clearCachedCredentialFile, ShellExecutionService, debugLogger, } from '@google/gemini-cli-core';
16
+ import { DEFAULT_GEMINI_FLASH_MODEL, IdeClient, ideContextStore, getErrorMessage, getAllGeminiMdFilenames, AuthType, clearCachedCredentialFile, recordExitFail, ShellExecutionService, debugLogger, coreEvents, CoreEvent, } from '@google/gemini-cli-core';
17
17
  import { validateAuthMethod } from '../config/auth.js';
18
18
  import { loadHierarchicalGeminiMemory } from '../config/config.js';
19
19
  import process from 'node:process';
@@ -59,9 +59,10 @@ import { useMessageQueue } from './hooks/useMessageQueue.js';
59
59
  import { useAutoAcceptIndicator } from './hooks/useAutoAcceptIndicator.js';
60
60
  import { useSessionStats } from './contexts/SessionContext.js';
61
61
  import { useGitBranchName } from './hooks/useGitBranchName.js';
62
- import { useExtensionUpdates } from './hooks/useExtensionUpdates.js';
62
+ import { useConfirmUpdateRequests, useExtensionUpdates, } from './hooks/useExtensionUpdates.js';
63
63
  import { ShellFocusContext } from './contexts/ShellFocusContext.js';
64
- import { ExtensionEnablementManager } from '../config/extensions/extensionEnablement.js';
64
+ import { ExtensionManager } from '../config/extension-manager.js';
65
+ import { requestConsentInteractive } from '../config/extensions/consent.js';
65
66
  const CTRL_EXIT_PROMPT_DURATION_MS = 1000;
66
67
  const QUEUE_ERROR_DISPLAY_DURATION_MS = 3000;
67
68
  function isToolExecuting(pendingHistoryItems) {
@@ -102,8 +103,16 @@ export const AppContainer = (props) => {
102
103
  const [isTrustedFolder, setIsTrustedFolder] = useState(config.isTrustedFolder());
103
104
  const [queueErrorMessage, setQueueErrorMessage] = useState(null);
104
105
  const extensions = config.getExtensions();
105
- const [extensionEnablementManager] = useState(new ExtensionEnablementManager(config.getEnabledExtensions()));
106
- const { extensionsUpdateState, extensionsUpdateStateInternal, dispatchExtensionStateUpdate, confirmUpdateExtensionRequests, addConfirmUpdateExtensionRequest, } = useExtensionUpdates(extensions, extensionEnablementManager, historyManager.addItem, config.getWorkingDir());
106
+ const [extensionManager] = useState(new ExtensionManager({
107
+ enabledExtensionOverrides: config.getEnabledExtensions(),
108
+ workspaceDir: config.getWorkingDir(),
109
+ requestConsent: (description) => requestConsentInteractive(description, addConfirmUpdateExtensionRequest),
110
+ // TODO: Support requesting settings in the interactive CLI
111
+ requestSetting: null,
112
+ loadedSettings: settings,
113
+ }));
114
+ const { addConfirmUpdateExtensionRequest, confirmUpdateExtensionRequests } = useConfirmUpdateRequests();
115
+ const { extensionsUpdateState, extensionsUpdateStateInternal, dispatchExtensionStateUpdate, } = useExtensionUpdates(extensions, extensionManager, historyManager.addItem);
107
116
  const [isPermissionsDialogOpen, setPermissionsDialogOpen] = useState(false);
108
117
  const openPermissionsDialog = useCallback(() => setPermissionsDialogOpen(true), []);
109
118
  const closePermissionsDialog = useCallback(() => setPermissionsDialogOpen(false), []);
@@ -362,7 +371,11 @@ Logging in with Google... Please restart Gemini CLI to continue.
362
371
  }
363
372
  }, [config, historyManager, settings.merged]);
364
373
  const cancelHandlerRef = useRef(() => { });
365
- const { streamingState, submitQuery, initError, pendingHistoryItems: pendingGeminiHistoryItems, thought, cancelOngoingRequest, handleApprovalModeChange, activePtyId, loopDetectionConfirmationRequest, } = useGeminiStream(config.getGeminiClient(), historyManager.history, historyManager.addItem, config, settings, setDebugMessage, handleSlashCommand, shellModeActive, () => settings.merged.general?.preferredEditor, onAuthError, performMemoryRefresh, modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError, refreshStatic, () => cancelHandlerRef.current(), setEmbeddedShellFocused, terminalWidth, terminalHeight, embeddedShellFocused);
374
+ const getPreferredEditor = useCallback(() => settings.merged.general?.preferredEditor, [settings.merged.general?.preferredEditor]);
375
+ const onCancelSubmit = useCallback(() => {
376
+ cancelHandlerRef.current();
377
+ }, []);
378
+ const { streamingState, submitQuery, initError, pendingHistoryItems: pendingGeminiHistoryItems, thought, cancelOngoingRequest, handleApprovalModeChange, activePtyId, loopDetectionConfirmationRequest, } = useGeminiStream(config.getGeminiClient(), historyManager.history, historyManager.addItem, config, settings, setDebugMessage, handleSlashCommand, shellModeActive, getPreferredEditor, onAuthError, performMemoryRefresh, modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError, refreshStatic, onCancelSubmit, setEmbeddedShellFocused, terminalWidth, terminalHeight, embeddedShellFocused);
366
379
  // Auto-accept indicator
367
380
  const showAutoAcceptIndicator = useAutoAcceptIndicator({
368
381
  config,
@@ -503,9 +516,9 @@ Logging in with Google... Please restart Gemini CLI to continue.
503
516
  const [showErrorDetails, setShowErrorDetails] = useState(false);
504
517
  const [showFullTodos, setShowFullTodos] = useState(false);
505
518
  const [renderMarkdown, setRenderMarkdown] = useState(true);
506
- const [ctrlCPressedOnce, setCtrlCPressedOnce] = useState(false);
519
+ const [ctrlCPressCount, setCtrlCPressCount] = useState(0);
507
520
  const ctrlCTimerRef = useRef(null);
508
- const [ctrlDPressedOnce, setCtrlDPressedOnce] = useState(false);
521
+ const [ctrlDPressCount, setCtrlDPressCount] = useState(0);
509
522
  const ctrlDTimerRef = useRef(null);
510
523
  const [constrainHeight, setConstrainHeight] = useState(true);
511
524
  const [ideContextState, setIdeContextState] = useState();
@@ -565,6 +578,42 @@ Logging in with Google... Please restart Gemini CLI to continue.
565
578
  appEvents.off(AppEvent.LogError, logErrorHandler);
566
579
  };
567
580
  }, [handleNewMessage]);
581
+ useEffect(() => {
582
+ if (ctrlCTimerRef.current) {
583
+ clearTimeout(ctrlCTimerRef.current);
584
+ ctrlCTimerRef.current = null;
585
+ }
586
+ if (ctrlCPressCount > 2) {
587
+ recordExitFail(config);
588
+ }
589
+ if (ctrlCPressCount > 1) {
590
+ handleSlashCommand('/quit');
591
+ }
592
+ else {
593
+ ctrlCTimerRef.current = setTimeout(() => {
594
+ setCtrlCPressCount(0);
595
+ ctrlCTimerRef.current = null;
596
+ }, CTRL_EXIT_PROMPT_DURATION_MS);
597
+ }
598
+ }, [ctrlCPressCount, config, setCtrlCPressCount, handleSlashCommand]);
599
+ useEffect(() => {
600
+ if (ctrlDTimerRef.current) {
601
+ clearTimeout(ctrlDTimerRef.current);
602
+ ctrlCTimerRef.current = null;
603
+ }
604
+ if (ctrlDPressCount > 2) {
605
+ recordExitFail(config);
606
+ }
607
+ if (ctrlDPressCount > 1) {
608
+ handleSlashCommand('/quit');
609
+ }
610
+ else {
611
+ ctrlDTimerRef.current = setTimeout(() => {
612
+ setCtrlDPressCount(0);
613
+ ctrlDTimerRef.current = null;
614
+ }, CTRL_EXIT_PROMPT_DURATION_MS);
615
+ }
616
+ }, [ctrlDPressCount, config, setCtrlDPressCount, handleSlashCommand]);
568
617
  const handleEscapePromptChange = useCallback((showPrompt) => {
569
618
  setShowEscapePrompt(showPrompt);
570
619
  }, []);
@@ -579,46 +628,23 @@ Logging in with Google... Please restart Gemini CLI to continue.
579
628
  setIdePromptAnswered(true);
580
629
  }, [handleSlashCommand, settings]);
581
630
  const { elapsedTime, currentLoadingPhrase } = useLoadingIndicator(streamingState, settings.merged.ui?.customWittyPhrases);
582
- const handleExit = useCallback((pressedOnce, setPressedOnce, timerRef) => {
583
- if (pressedOnce) {
584
- if (timerRef.current) {
585
- clearTimeout(timerRef.current);
586
- }
587
- handleSlashCommand('/quit');
588
- }
589
- else {
590
- setPressedOnce(true);
591
- timerRef.current = setTimeout(() => {
592
- setPressedOnce(false);
593
- timerRef.current = null;
594
- }, CTRL_EXIT_PROMPT_DURATION_MS);
595
- }
596
- }, [handleSlashCommand]);
597
631
  const handleGlobalKeypress = useCallback((key) => {
598
632
  // Debug log keystrokes if enabled
599
633
  if (settings.merged.general?.debugKeystrokeLogging) {
600
634
  debugLogger.log('[DEBUG] Keystroke:', JSON.stringify(key));
601
635
  }
602
636
  if (keyMatchers[Command.QUIT](key)) {
603
- if (!ctrlCPressedOnce) {
604
- cancelOngoingRequest?.();
605
- }
606
- if (!ctrlCPressedOnce) {
607
- setCtrlCPressedOnce(true);
608
- ctrlCTimerRef.current = setTimeout(() => {
609
- setCtrlCPressedOnce(false);
610
- ctrlCTimerRef.current = null;
611
- }, CTRL_EXIT_PROMPT_DURATION_MS);
612
- return;
613
- }
614
- handleExit(ctrlCPressedOnce, setCtrlCPressedOnce, ctrlCTimerRef);
637
+ // If the user presses Ctrl+C, we want to cancel any ongoing requests.
638
+ // This should happen regardless of the count.
639
+ cancelOngoingRequest?.();
640
+ setCtrlCPressCount((prev) => prev + 1);
615
641
  return;
616
642
  }
617
643
  else if (keyMatchers[Command.EXIT](key)) {
618
644
  if (buffer.text.length > 0) {
619
645
  return;
620
646
  }
621
- handleExit(ctrlDPressedOnce, setCtrlDPressedOnce, ctrlDTimerRef);
647
+ setCtrlDPressCount((prev) => prev + 1);
622
648
  return;
623
649
  }
624
650
  let enteringConstrainHeightMode = false;
@@ -660,14 +686,9 @@ Logging in with Google... Please restart Gemini CLI to continue.
660
686
  setShowErrorDetails,
661
687
  config,
662
688
  ideContextState,
663
- handleExit,
664
- ctrlCPressedOnce,
665
- setCtrlCPressedOnce,
666
- ctrlCTimerRef,
689
+ setCtrlCPressCount,
667
690
  buffer.text.length,
668
- ctrlDPressedOnce,
669
- setCtrlDPressedOnce,
670
- ctrlDTimerRef,
691
+ setCtrlDPressCount,
671
692
  handleSlashCommand,
672
693
  cancelOngoingRequest,
673
694
  activePtyId,
@@ -707,6 +728,39 @@ Logging in with Google... Please restart Gemini CLI to continue.
707
728
  settings.merged.ui?.hideWindowTitle,
708
729
  stdout,
709
730
  ]);
731
+ useEffect(() => {
732
+ const handleUserFeedback = (payload) => {
733
+ let type;
734
+ switch (payload.severity) {
735
+ case 'error':
736
+ type = MessageType.ERROR;
737
+ break;
738
+ case 'warning':
739
+ type = MessageType.WARNING;
740
+ break;
741
+ case 'info':
742
+ type = MessageType.INFO;
743
+ break;
744
+ default:
745
+ throw new Error(`Unexpected severity for user feedback: ${payload.severity}`);
746
+ }
747
+ historyManager.addItem({
748
+ type,
749
+ text: payload.message,
750
+ }, Date.now());
751
+ // If there is an attached error object, log it to the debug drawer.
752
+ if (payload.error) {
753
+ debugLogger.warn(`[Feedback Details for "${payload.message}"]`, payload.error);
754
+ }
755
+ };
756
+ coreEvents.on(CoreEvent.UserFeedback, handleUserFeedback);
757
+ // Flush any messages that happened during startup before this component
758
+ // mounted.
759
+ coreEvents.drainFeedbackBacklog();
760
+ return () => {
761
+ coreEvents.off(CoreEvent.UserFeedback, handleUserFeedback);
762
+ };
763
+ }, [historyManager]);
710
764
  const filteredConsoleMessages = useMemo(() => {
711
765
  if (config.getDebugMode()) {
712
766
  return consoleMessages;
@@ -780,8 +834,8 @@ Logging in with Google... Please restart Gemini CLI to continue.
780
834
  filteredConsoleMessages,
781
835
  ideContextState,
782
836
  renderMarkdown,
783
- ctrlCPressedOnce,
784
- ctrlDPressedOnce,
837
+ ctrlCPressedOnce: ctrlCPressCount >= 1,
838
+ ctrlDPressedOnce: ctrlDPressCount >= 1,
785
839
  showEscapePrompt,
786
840
  isFocused,
787
841
  elapsedTime,
@@ -860,8 +914,8 @@ Logging in with Google... Please restart Gemini CLI to continue.
860
914
  filteredConsoleMessages,
861
915
  ideContextState,
862
916
  renderMarkdown,
863
- ctrlCPressedOnce,
864
- ctrlDPressedOnce,
917
+ ctrlCPressCount,
918
+ ctrlDPressCount,
865
919
  showEscapePrompt,
866
920
  isFocused,
867
921
  elapsedTime,