@google/gemini-cli 0.24.0-nightly.20251227.37be16243 → 0.24.0-nightly.20260103.30f5c4af4

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 (162) hide show
  1. package/dist/google-gemini-cli-0.24.0-nightly.20251227.37be16243.tgz +0 -0
  2. package/dist/package.json +2 -2
  3. package/dist/src/config/config.d.ts +0 -1
  4. package/dist/src/config/config.js +2 -3
  5. package/dist/src/config/config.js.map +1 -1
  6. package/dist/src/config/config.test.js +2 -8
  7. package/dist/src/config/config.test.js.map +1 -1
  8. package/dist/src/config/extension-manager.js +25 -0
  9. package/dist/src/config/extension-manager.js.map +1 -1
  10. package/dist/src/config/settings.js +0 -1
  11. package/dist/src/config/settings.js.map +1 -1
  12. package/dist/src/config/settingsSchema.d.ts +33 -18
  13. package/dist/src/config/settingsSchema.js +31 -21
  14. package/dist/src/config/settingsSchema.js.map +1 -1
  15. package/dist/src/config/settings_repro.test.js +1 -1
  16. package/dist/src/config/settings_repro.test.js.map +1 -1
  17. package/dist/src/gemini.js +35 -16
  18. package/dist/src/gemini.js.map +1 -1
  19. package/dist/src/gemini.test.js +7 -7
  20. package/dist/src/gemini.test.js.map +1 -1
  21. package/dist/src/gemini_cleanup.test.js +1 -0
  22. package/dist/src/gemini_cleanup.test.js.map +1 -1
  23. package/dist/src/generated/git-commit.d.ts +3 -3
  24. package/dist/src/generated/git-commit.js +3 -3
  25. package/dist/src/nonInteractiveCli.js +29 -1
  26. package/dist/src/nonInteractiveCli.js.map +1 -1
  27. package/dist/src/nonInteractiveCli.test.js +48 -10
  28. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  29. package/dist/src/services/BuiltinCommandLoader.js +3 -3
  30. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  31. package/dist/src/services/BuiltinCommandLoader.test.js +11 -14
  32. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
  33. package/dist/src/services/FileCommandLoader.js +6 -6
  34. package/dist/src/services/FileCommandLoader.js.map +1 -1
  35. package/dist/src/ui/AppContainer.js +1 -9
  36. package/dist/src/ui/AppContainer.js.map +1 -1
  37. package/dist/src/ui/IdeIntegrationNudge.test.js +18 -7
  38. package/dist/src/ui/IdeIntegrationNudge.test.js.map +1 -1
  39. package/dist/src/ui/auth/AuthInProgress.test.js +16 -6
  40. package/dist/src/ui/auth/AuthInProgress.test.js.map +1 -1
  41. package/dist/src/ui/commands/directoryCommand.js +18 -1
  42. package/dist/src/ui/commands/directoryCommand.js.map +1 -1
  43. package/dist/src/ui/commands/directoryCommand.test.js +38 -2
  44. package/dist/src/ui/commands/directoryCommand.test.js.map +1 -1
  45. package/dist/src/ui/commands/skillsCommand.d.ts +7 -0
  46. package/dist/src/ui/commands/skillsCommand.js +148 -0
  47. package/dist/src/ui/commands/skillsCommand.js.map +1 -0
  48. package/dist/src/ui/commands/skillsCommand.test.d.ts +6 -0
  49. package/dist/src/ui/commands/skillsCommand.test.js +162 -0
  50. package/dist/src/ui/commands/skillsCommand.test.js.map +1 -0
  51. package/dist/src/ui/commands/types.d.ts +5 -0
  52. package/dist/src/ui/components/Composer.js +1 -1
  53. package/dist/src/ui/components/Composer.js.map +1 -1
  54. package/dist/src/ui/components/Composer.test.js +10 -4
  55. package/dist/src/ui/components/Composer.test.js.map +1 -1
  56. package/dist/src/ui/components/ContextSummaryDisplay.d.ts +1 -0
  57. package/dist/src/ui/components/ContextSummaryDisplay.js +12 -5
  58. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
  59. package/dist/src/ui/components/ContextSummaryDisplay.test.js +9 -6
  60. package/dist/src/ui/components/ContextSummaryDisplay.test.js.map +1 -1
  61. package/dist/src/ui/components/EditorSettingsDialog.js +2 -1
  62. package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
  63. package/dist/src/ui/components/EditorSettingsDialog.test.js +3 -2
  64. package/dist/src/ui/components/EditorSettingsDialog.test.js.map +1 -1
  65. package/dist/src/ui/components/HistoryItemDisplay.js +2 -1
  66. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  67. package/dist/src/ui/components/IdeTrustChangeDialog.js +2 -1
  68. package/dist/src/ui/components/IdeTrustChangeDialog.js.map +1 -1
  69. package/dist/src/ui/components/IdeTrustChangeDialog.test.js +4 -3
  70. package/dist/src/ui/components/IdeTrustChangeDialog.test.js.map +1 -1
  71. package/dist/src/ui/components/InputPrompt.js +2 -2
  72. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  73. package/dist/src/ui/components/InputPrompt.test.js +5 -5
  74. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  75. package/dist/src/ui/components/Notifications.js +2 -2
  76. package/dist/src/ui/components/Notifications.js.map +1 -1
  77. package/dist/src/ui/components/SettingsDialog.js +2 -2
  78. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  79. package/dist/src/ui/components/shared/MaxSizedBox.js +4 -3
  80. package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
  81. package/dist/src/ui/components/shared/text-buffer.js +4 -4
  82. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  83. package/dist/src/ui/components/views/ExtensionsList.js +2 -2
  84. package/dist/src/ui/components/views/ExtensionsList.js.map +1 -1
  85. package/dist/src/ui/components/views/ExtensionsList.test.js +26 -0
  86. package/dist/src/ui/components/views/ExtensionsList.test.js.map +1 -1
  87. package/dist/src/ui/components/views/SkillsList.d.ts +13 -0
  88. package/dist/src/ui/components/views/SkillsList.js +15 -0
  89. package/dist/src/ui/components/views/SkillsList.js.map +1 -0
  90. package/dist/src/ui/components/views/SkillsList.test.d.ts +6 -0
  91. package/dist/src/ui/components/views/SkillsList.test.js +64 -0
  92. package/dist/src/ui/components/views/SkillsList.test.js.map +1 -0
  93. package/dist/src/ui/hooks/atCommandProcessor.js +1 -1
  94. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  95. package/dist/src/ui/hooks/slashCommandProcessor.js +0 -6
  96. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  97. package/dist/src/ui/hooks/slashCommandProcessor.test.js +0 -2
  98. package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
  99. package/dist/src/ui/hooks/useExtensionUpdates.js +5 -7
  100. package/dist/src/ui/hooks/useExtensionUpdates.js.map +1 -1
  101. package/dist/src/ui/hooks/useExtensionUpdates.test.js +2 -2
  102. package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -1
  103. package/dist/src/ui/hooks/useGeminiStream.js +13 -1
  104. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  105. package/dist/src/ui/hooks/useGeminiStream.test.js +60 -1
  106. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  107. package/dist/src/ui/hooks/useIncludeDirsTrust.js +2 -2
  108. package/dist/src/ui/hooks/useIncludeDirsTrust.js.map +1 -1
  109. package/dist/src/ui/hooks/useQuotaAndFallback.js +1 -1
  110. package/dist/src/ui/hooks/useQuotaAndFallback.js.map +1 -1
  111. package/dist/src/ui/hooks/useSelectionList.js +2 -1
  112. package/dist/src/ui/hooks/useSelectionList.js.map +1 -1
  113. package/dist/src/ui/hooks/useSessionBrowser.js +3 -3
  114. package/dist/src/ui/hooks/useSessionBrowser.js.map +1 -1
  115. package/dist/src/ui/hooks/useSessionBrowser.test.js +4 -10
  116. package/dist/src/ui/hooks/useSessionBrowser.test.js.map +1 -1
  117. package/dist/src/ui/hooks/useShellHistory.js +3 -3
  118. package/dist/src/ui/hooks/useShellHistory.js.map +1 -1
  119. package/dist/src/ui/hooks/useSlashCompletion.js +4 -1
  120. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  121. package/dist/src/ui/hooks/useToolScheduler.test.js +0 -2
  122. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  123. package/dist/src/ui/types.d.ts +12 -1
  124. package/dist/src/ui/types.js +1 -0
  125. package/dist/src/ui/types.js.map +1 -1
  126. package/dist/src/ui/utils/ConsolePatcher.js +1 -0
  127. package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
  128. package/dist/src/ui/utils/InlineMarkdownRenderer.js +2 -1
  129. package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -1
  130. package/dist/src/ui/utils/directoryUtils.d.ts +8 -0
  131. package/dist/src/ui/utils/directoryUtils.js +92 -0
  132. package/dist/src/ui/utils/directoryUtils.js.map +1 -1
  133. package/dist/src/ui/utils/directoryUtils.test.js +189 -2
  134. package/dist/src/ui/utils/directoryUtils.test.js.map +1 -1
  135. package/dist/src/utils/errors.js +9 -10
  136. package/dist/src/utils/errors.js.map +1 -1
  137. package/dist/src/utils/errors.test.js +95 -37
  138. package/dist/src/utils/errors.test.js.map +1 -1
  139. package/dist/src/utils/relaunch.js +3 -1
  140. package/dist/src/utils/relaunch.js.map +1 -1
  141. package/dist/src/utils/relaunch.test.js +13 -7
  142. package/dist/src/utils/relaunch.test.js.map +1 -1
  143. package/dist/src/utils/sandbox.js +10 -7
  144. package/dist/src/utils/sandbox.js.map +1 -1
  145. package/dist/src/utils/sessionCleanup.integration.test.js +2 -2
  146. package/dist/src/utils/sessionCleanup.integration.test.js.map +1 -1
  147. package/dist/src/utils/sessionCleanup.js +4 -4
  148. package/dist/src/utils/sessionCleanup.js.map +1 -1
  149. package/dist/src/utils/sessionCleanup.test.js +18 -68
  150. package/dist/src/utils/sessionCleanup.test.js.map +1 -1
  151. package/dist/src/utils/sessions.js +9 -9
  152. package/dist/src/utils/sessions.js.map +1 -1
  153. package/dist/src/utils/sessions.test.js +38 -41
  154. package/dist/src/utils/sessions.test.js.map +1 -1
  155. package/dist/src/validateNonInterActiveAuth.d.ts +1 -1
  156. package/dist/src/validateNonInterActiveAuth.js +1 -2
  157. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  158. package/dist/src/validateNonInterActiveAuth.test.js +40 -56
  159. package/dist/src/validateNonInterActiveAuth.test.js.map +1 -1
  160. package/dist/tsconfig.tsbuildinfo +1 -1
  161. package/package.json +3 -3
  162. package/dist/google-gemini-cli-0.24.0-nightly.20251226.546baf993.tgz +0 -0
@@ -3,9 +3,14 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { vi } from 'vitest';
7
- import { OutputFormat, FatalInputError } from '@google/gemini-cli-core';
6
+ import { vi, describe, it, expect, beforeEach, afterEach, } from 'vitest';
7
+ import { OutputFormat, FatalInputError, debugLogger, coreEvents, } from '@google/gemini-cli-core';
8
8
  import { getErrorMessage, handleError, handleToolError, handleCancellationError, handleMaxTurnsExceededError, } from './errors.js';
9
+ import { runSyncCleanup } from './cleanup.js';
10
+ // Mock the cleanup module
11
+ vi.mock('./cleanup.js', () => ({
12
+ runSyncCleanup: vi.fn(),
13
+ }));
9
14
  // Mock the core modules
10
15
  vi.mock('@google/gemini-cli-core', async (importOriginal) => {
11
16
  const original = await importOriginal();
@@ -45,6 +50,9 @@ vi.mock('@google/gemini-cli-core', async (importOriginal) => {
45
50
  JsonStreamEventType: {
46
51
  RESULT: 'result',
47
52
  },
53
+ coreEvents: {
54
+ emitFeedback: vi.fn(),
55
+ },
48
56
  FatalToolExecutionError: class extends Error {
49
57
  constructor(message) {
50
58
  super(message);
@@ -66,13 +74,25 @@ vi.mock('@google/gemini-cli-core', async (importOriginal) => {
66
74
  describe('errors', () => {
67
75
  let mockConfig;
68
76
  let processExitSpy;
69
- let consoleErrorSpy;
77
+ let debugLoggerErrorSpy;
78
+ let debugLoggerWarnSpy;
79
+ let coreEventsEmitFeedbackSpy;
80
+ let runSyncCleanupSpy;
70
81
  const TEST_SESSION_ID = 'test-session-123';
71
82
  beforeEach(() => {
72
83
  // Reset mocks
73
84
  vi.clearAllMocks();
74
- // Mock console.error
75
- consoleErrorSpy = vi.spyOn(console, 'error').mockImplementation(() => { });
85
+ // Mock debugLogger
86
+ debugLoggerErrorSpy = vi
87
+ .spyOn(debugLogger, 'error')
88
+ .mockImplementation(() => { });
89
+ debugLoggerWarnSpy = vi
90
+ .spyOn(debugLogger, 'warn')
91
+ .mockImplementation(() => { });
92
+ // Mock coreEvents
93
+ coreEventsEmitFeedbackSpy = vi.mocked(coreEvents.emitFeedback);
94
+ // Mock runSyncCleanup
95
+ runSyncCleanupSpy = vi.mocked(runSyncCleanup);
76
96
  // Mock process.exit to throw instead of actually exiting
77
97
  processExitSpy = vi.spyOn(process, 'exit').mockImplementation((code) => {
78
98
  throw new Error(`process.exit called with code: ${code}`);
@@ -85,7 +105,8 @@ describe('errors', () => {
85
105
  };
86
106
  });
87
107
  afterEach(() => {
88
- consoleErrorSpy.mockRestore();
108
+ debugLoggerErrorSpy.mockRestore();
109
+ debugLoggerWarnSpy.mockRestore();
89
110
  processExitSpy.mockRestore();
90
111
  });
91
112
  describe('getErrorMessage', () => {
@@ -109,31 +130,31 @@ describe('errors', () => {
109
130
  beforeEach(() => {
110
131
  mockConfig.getOutputFormat.mockReturnValue(OutputFormat.TEXT);
111
132
  });
112
- it('should log error message and re-throw', () => {
133
+ it('should re-throw without logging to debugLogger', () => {
113
134
  const testError = new Error('Test error');
114
135
  expect(() => {
115
136
  handleError(testError, mockConfig);
116
137
  }).toThrow(testError);
117
- expect(consoleErrorSpy).toHaveBeenCalledWith('API Error: Test error');
138
+ expect(debugLoggerErrorSpy).not.toHaveBeenCalled();
118
139
  });
119
140
  it('should handle non-Error objects', () => {
120
141
  const testError = 'String error';
121
142
  expect(() => {
122
143
  handleError(testError, mockConfig);
123
144
  }).toThrow(testError);
124
- expect(consoleErrorSpy).toHaveBeenCalledWith('API Error: String error');
125
145
  });
126
146
  });
127
147
  describe('in JSON mode', () => {
128
148
  beforeEach(() => {
129
149
  mockConfig.getOutputFormat.mockReturnValue(OutputFormat.JSON);
130
150
  });
131
- it('should format error as JSON and exit with default code', () => {
151
+ it('should format error as JSON, emit feedback exactly once, and exit with default code', () => {
132
152
  const testError = new Error('Test error');
133
153
  expect(() => {
134
154
  handleError(testError, mockConfig);
135
155
  }).toThrow('process.exit called with code: 1');
136
- expect(consoleErrorSpy).toHaveBeenCalledWith(JSON.stringify({
156
+ expect(coreEventsEmitFeedbackSpy).toHaveBeenCalledTimes(1);
157
+ expect(coreEventsEmitFeedbackSpy).toHaveBeenCalledWith('error', JSON.stringify({
137
158
  session_id: TEST_SESSION_ID,
138
159
  error: {
139
160
  type: 'Error',
@@ -141,13 +162,16 @@ describe('errors', () => {
141
162
  code: 1,
142
163
  },
143
164
  }, null, 2));
165
+ expect(debugLoggerErrorSpy).not.toHaveBeenCalled();
166
+ expect(runSyncCleanupSpy).toHaveBeenCalled();
144
167
  });
145
- it('should use custom error code when provided', () => {
168
+ it('should use custom error code when provided and only surface once', () => {
146
169
  const testError = new Error('Test error');
147
170
  expect(() => {
148
171
  handleError(testError, mockConfig, 42);
149
172
  }).toThrow('process.exit called with code: 42');
150
- expect(consoleErrorSpy).toHaveBeenCalledWith(JSON.stringify({
173
+ expect(coreEventsEmitFeedbackSpy).toHaveBeenCalledTimes(1);
174
+ expect(coreEventsEmitFeedbackSpy).toHaveBeenCalledWith('error', JSON.stringify({
151
175
  session_id: TEST_SESSION_ID,
152
176
  error: {
153
177
  type: 'Error',
@@ -155,13 +179,15 @@ describe('errors', () => {
155
179
  code: 42,
156
180
  },
157
181
  }, null, 2));
182
+ expect(debugLoggerErrorSpy).not.toHaveBeenCalled();
158
183
  });
159
- it('should extract exitCode from FatalError instances', () => {
184
+ it('should extract exitCode from FatalError instances and only surface once', () => {
160
185
  const fatalError = new FatalInputError('Fatal error');
161
186
  expect(() => {
162
187
  handleError(fatalError, mockConfig);
163
188
  }).toThrow('process.exit called with code: 42');
164
- expect(consoleErrorSpy).toHaveBeenCalledWith(JSON.stringify({
189
+ expect(coreEventsEmitFeedbackSpy).toHaveBeenCalledTimes(1);
190
+ expect(coreEventsEmitFeedbackSpy).toHaveBeenCalledWith('error', JSON.stringify({
165
191
  session_id: TEST_SESSION_ID,
166
192
  error: {
167
193
  type: 'FatalInputError',
@@ -169,6 +195,7 @@ describe('errors', () => {
169
195
  code: 42,
170
196
  },
171
197
  }, null, 2));
198
+ expect(debugLoggerErrorSpy).not.toHaveBeenCalled();
172
199
  });
173
200
  it('should handle error with code property', () => {
174
201
  const errorWithCode = new Error('Error with code');
@@ -183,7 +210,7 @@ describe('errors', () => {
183
210
  expect(() => {
184
211
  handleError(errorWithStatus, mockConfig);
185
212
  }).toThrow('process.exit called with code: 1'); // string codes become 1
186
- expect(consoleErrorSpy).toHaveBeenCalledWith(JSON.stringify({
213
+ expect(coreEventsEmitFeedbackSpy).toHaveBeenCalledWith('error', JSON.stringify({
187
214
  session_id: TEST_SESSION_ID,
188
215
  error: {
189
216
  type: 'Error',
@@ -197,11 +224,12 @@ describe('errors', () => {
197
224
  beforeEach(() => {
198
225
  mockConfig.getOutputFormat.mockReturnValue(OutputFormat.STREAM_JSON);
199
226
  });
200
- it('should emit result event and exit', () => {
227
+ it('should emit result event, run cleanup, and exit', () => {
201
228
  const testError = new Error('Test error');
202
229
  expect(() => {
203
230
  handleError(testError, mockConfig);
204
231
  }).toThrow('process.exit called with code: 1');
232
+ expect(runSyncCleanupSpy).toHaveBeenCalled();
205
233
  });
206
234
  it('should extract exitCode from FatalError instances', () => {
207
235
  const fatalError = new FatalInputError('Fatal error');
@@ -218,13 +246,22 @@ describe('errors', () => {
218
246
  beforeEach(() => {
219
247
  mockConfig.getOutputFormat.mockReturnValue(OutputFormat.TEXT);
220
248
  });
221
- it('should log error message to stderr', () => {
249
+ it('should log error message to stderr (via debugLogger) for non-fatal', () => {
222
250
  handleToolError(toolName, toolError, mockConfig);
223
- expect(consoleErrorSpy).toHaveBeenCalledWith('Error executing tool test-tool: Tool failed');
251
+ expect(debugLoggerWarnSpy).toHaveBeenCalledWith('Error executing tool test-tool: Tool failed');
224
252
  });
225
253
  it('should use resultDisplay when provided', () => {
226
254
  handleToolError(toolName, toolError, mockConfig, 'CUSTOM_ERROR', 'Custom display message');
227
- expect(consoleErrorSpy).toHaveBeenCalledWith('Error executing tool test-tool: Custom display message');
255
+ expect(debugLoggerWarnSpy).toHaveBeenCalledWith('Error executing tool test-tool: Custom display message');
256
+ });
257
+ it('should emit feedback exactly once for fatal errors and not use debugLogger', () => {
258
+ expect(() => {
259
+ handleToolError(toolName, toolError, mockConfig, 'no_space_left');
260
+ }).toThrow('process.exit called with code: 54');
261
+ expect(coreEventsEmitFeedbackSpy).toHaveBeenCalledTimes(1);
262
+ expect(coreEventsEmitFeedbackSpy).toHaveBeenCalledWith('error', 'Error executing tool test-tool: Tool failed');
263
+ expect(debugLoggerErrorSpy).not.toHaveBeenCalled();
264
+ expect(runSyncCleanupSpy).toHaveBeenCalled();
228
265
  });
229
266
  });
230
267
  describe('in JSON mode', () => {
@@ -234,37 +271,42 @@ describe('errors', () => {
234
271
  describe('non-fatal errors', () => {
235
272
  it('should log error message to stderr without exiting for recoverable errors', () => {
236
273
  handleToolError(toolName, toolError, mockConfig, 'invalid_tool_params');
237
- expect(consoleErrorSpy).toHaveBeenCalledWith('Error executing tool test-tool: Tool failed');
274
+ expect(debugLoggerWarnSpy).toHaveBeenCalledWith('Error executing tool test-tool: Tool failed');
238
275
  // Should not exit for non-fatal errors
239
276
  expect(processExitSpy).not.toHaveBeenCalled();
277
+ expect(coreEventsEmitFeedbackSpy).not.toHaveBeenCalled();
240
278
  });
241
279
  it('should not exit for file not found errors', () => {
242
280
  handleToolError(toolName, toolError, mockConfig, 'file_not_found');
243
- expect(consoleErrorSpy).toHaveBeenCalledWith('Error executing tool test-tool: Tool failed');
281
+ expect(debugLoggerWarnSpy).toHaveBeenCalledWith('Error executing tool test-tool: Tool failed');
244
282
  expect(processExitSpy).not.toHaveBeenCalled();
283
+ expect(coreEventsEmitFeedbackSpy).not.toHaveBeenCalled();
245
284
  });
246
285
  it('should not exit for permission denied errors', () => {
247
286
  handleToolError(toolName, toolError, mockConfig, 'permission_denied');
248
- expect(consoleErrorSpy).toHaveBeenCalledWith('Error executing tool test-tool: Tool failed');
287
+ expect(debugLoggerWarnSpy).toHaveBeenCalledWith('Error executing tool test-tool: Tool failed');
249
288
  expect(processExitSpy).not.toHaveBeenCalled();
289
+ expect(coreEventsEmitFeedbackSpy).not.toHaveBeenCalled();
250
290
  });
251
291
  it('should not exit for path not in workspace errors', () => {
252
292
  handleToolError(toolName, toolError, mockConfig, 'path_not_in_workspace');
253
- expect(consoleErrorSpy).toHaveBeenCalledWith('Error executing tool test-tool: Tool failed');
293
+ expect(debugLoggerWarnSpy).toHaveBeenCalledWith('Error executing tool test-tool: Tool failed');
254
294
  expect(processExitSpy).not.toHaveBeenCalled();
295
+ expect(coreEventsEmitFeedbackSpy).not.toHaveBeenCalled();
255
296
  });
256
297
  it('should prefer resultDisplay over error message', () => {
257
298
  handleToolError(toolName, toolError, mockConfig, 'invalid_tool_params', 'Display message');
258
- expect(consoleErrorSpy).toHaveBeenCalledWith('Error executing tool test-tool: Display message');
299
+ expect(debugLoggerWarnSpy).toHaveBeenCalledWith('Error executing tool test-tool: Display message');
259
300
  expect(processExitSpy).not.toHaveBeenCalled();
260
301
  });
261
302
  });
262
303
  describe('fatal errors', () => {
263
- it('should exit immediately for NO_SPACE_LEFT errors', () => {
304
+ it('should exit immediately for NO_SPACE_LEFT errors and only surface once', () => {
264
305
  expect(() => {
265
306
  handleToolError(toolName, toolError, mockConfig, 'no_space_left');
266
307
  }).toThrow('process.exit called with code: 54');
267
- expect(consoleErrorSpy).toHaveBeenCalledWith(JSON.stringify({
308
+ expect(coreEventsEmitFeedbackSpy).toHaveBeenCalledTimes(1);
309
+ expect(coreEventsEmitFeedbackSpy).toHaveBeenCalledWith('error', JSON.stringify({
268
310
  session_id: TEST_SESSION_ID,
269
311
  error: {
270
312
  type: 'FatalToolExecutionError',
@@ -272,6 +314,8 @@ describe('errors', () => {
272
314
  code: 'no_space_left',
273
315
  },
274
316
  }, null, 2));
317
+ expect(debugLoggerErrorSpy).not.toHaveBeenCalled();
318
+ expect(runSyncCleanupSpy).toHaveBeenCalled();
275
319
  });
276
320
  });
277
321
  });
@@ -279,14 +323,16 @@ describe('errors', () => {
279
323
  beforeEach(() => {
280
324
  mockConfig.getOutputFormat.mockReturnValue(OutputFormat.STREAM_JSON);
281
325
  });
282
- it('should emit result event and exit for fatal errors', () => {
326
+ it('should emit result event, run cleanup, and exit for fatal errors', () => {
283
327
  expect(() => {
284
328
  handleToolError(toolName, toolError, mockConfig, 'no_space_left');
285
329
  }).toThrow('process.exit called with code: 54');
330
+ expect(runSyncCleanupSpy).toHaveBeenCalled();
331
+ expect(coreEventsEmitFeedbackSpy).not.toHaveBeenCalled(); // Stream mode uses emitEvent
286
332
  });
287
333
  it('should log to stderr and not exit for non-fatal errors', () => {
288
334
  handleToolError(toolName, toolError, mockConfig, 'invalid_tool_params');
289
- expect(consoleErrorSpy).toHaveBeenCalledWith('Error executing tool test-tool: Tool failed');
335
+ expect(debugLoggerWarnSpy).toHaveBeenCalledWith('Error executing tool test-tool: Tool failed');
290
336
  expect(processExitSpy).not.toHaveBeenCalled();
291
337
  });
292
338
  });
@@ -296,22 +342,26 @@ describe('errors', () => {
296
342
  beforeEach(() => {
297
343
  mockConfig.getOutputFormat.mockReturnValue(OutputFormat.TEXT);
298
344
  });
299
- it('should log cancellation message and exit with 130', () => {
345
+ it('should emit feedback exactly once, run cleanup, and exit with 130', () => {
300
346
  expect(() => {
301
347
  handleCancellationError(mockConfig);
302
348
  }).toThrow('process.exit called with code: 130');
303
- expect(consoleErrorSpy).toHaveBeenCalledWith('Operation cancelled.');
349
+ expect(coreEventsEmitFeedbackSpy).toHaveBeenCalledTimes(1);
350
+ expect(coreEventsEmitFeedbackSpy).toHaveBeenCalledWith('error', 'Operation cancelled.');
351
+ expect(debugLoggerErrorSpy).not.toHaveBeenCalled();
352
+ expect(runSyncCleanupSpy).toHaveBeenCalled();
304
353
  });
305
354
  });
306
355
  describe('in JSON mode', () => {
307
356
  beforeEach(() => {
308
357
  mockConfig.getOutputFormat.mockReturnValue(OutputFormat.JSON);
309
358
  });
310
- it('should format cancellation as JSON and exit with 130', () => {
359
+ it('should format cancellation as JSON, emit feedback once, and exit with 130', () => {
311
360
  expect(() => {
312
361
  handleCancellationError(mockConfig);
313
362
  }).toThrow('process.exit called with code: 130');
314
- expect(consoleErrorSpy).toHaveBeenCalledWith(JSON.stringify({
363
+ expect(coreEventsEmitFeedbackSpy).toHaveBeenCalledTimes(1);
364
+ expect(coreEventsEmitFeedbackSpy).toHaveBeenCalledWith('error', JSON.stringify({
315
365
  session_id: TEST_SESSION_ID,
316
366
  error: {
317
367
  type: 'FatalCancellationError',
@@ -319,6 +369,7 @@ describe('errors', () => {
319
369
  code: 130,
320
370
  },
321
371
  }, null, 2));
372
+ expect(debugLoggerErrorSpy).not.toHaveBeenCalled();
322
373
  });
323
374
  });
324
375
  describe('in STREAM_JSON mode', () => {
@@ -329,6 +380,7 @@ describe('errors', () => {
329
380
  expect(() => {
330
381
  handleCancellationError(mockConfig);
331
382
  }).toThrow('process.exit called with code: 130');
383
+ expect(coreEventsEmitFeedbackSpy).not.toHaveBeenCalled();
332
384
  });
333
385
  });
334
386
  });
@@ -337,22 +389,26 @@ describe('errors', () => {
337
389
  beforeEach(() => {
338
390
  mockConfig.getOutputFormat.mockReturnValue(OutputFormat.TEXT);
339
391
  });
340
- it('should log max turns message and exit with 53', () => {
392
+ it('should emit feedback exactly once, run cleanup, and exit with 53', () => {
341
393
  expect(() => {
342
394
  handleMaxTurnsExceededError(mockConfig);
343
395
  }).toThrow('process.exit called with code: 53');
344
- expect(consoleErrorSpy).toHaveBeenCalledWith('Reached max session turns for this session. Increase the number of turns by specifying maxSessionTurns in settings.json.');
396
+ expect(coreEventsEmitFeedbackSpy).toHaveBeenCalledTimes(1);
397
+ expect(coreEventsEmitFeedbackSpy).toHaveBeenCalledWith('error', 'Reached max session turns for this session. Increase the number of turns by specifying maxSessionTurns in settings.json.');
398
+ expect(debugLoggerErrorSpy).not.toHaveBeenCalled();
399
+ expect(runSyncCleanupSpy).toHaveBeenCalled();
345
400
  });
346
401
  });
347
402
  describe('in JSON mode', () => {
348
403
  beforeEach(() => {
349
404
  mockConfig.getOutputFormat.mockReturnValue(OutputFormat.JSON);
350
405
  });
351
- it('should format max turns error as JSON and exit with 53', () => {
406
+ it('should format max turns error as JSON, emit feedback once, and exit with 53', () => {
352
407
  expect(() => {
353
408
  handleMaxTurnsExceededError(mockConfig);
354
409
  }).toThrow('process.exit called with code: 53');
355
- expect(consoleErrorSpy).toHaveBeenCalledWith(JSON.stringify({
410
+ expect(coreEventsEmitFeedbackSpy).toHaveBeenCalledTimes(1);
411
+ expect(coreEventsEmitFeedbackSpy).toHaveBeenCalledWith('error', JSON.stringify({
356
412
  session_id: TEST_SESSION_ID,
357
413
  error: {
358
414
  type: 'FatalTurnLimitedError',
@@ -360,6 +416,7 @@ describe('errors', () => {
360
416
  code: 53,
361
417
  },
362
418
  }, null, 2));
419
+ expect(debugLoggerErrorSpy).not.toHaveBeenCalled();
363
420
  });
364
421
  });
365
422
  describe('in STREAM_JSON mode', () => {
@@ -370,6 +427,7 @@ describe('errors', () => {
370
427
  expect(() => {
371
428
  handleMaxTurnsExceededError(mockConfig);
372
429
  }).toThrow('process.exit called with code: 53');
430
+ expect(coreEventsEmitFeedbackSpy).not.toHaveBeenCalled();
373
431
  });
374
432
  });
375
433
  });
@@ -1 +1 @@
1
- {"version":3,"file":"errors.test.js","sourceRoot":"","sources":["../../../src/utils/errors.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.test.js","sourceRoot":"","sources":["../../../src/utils/errors.test.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { spawn } from 'node:child_process';
7
7
  import { RELAUNCH_EXIT_CODE } from './processUtils.js';
8
+ import { writeToStderr } from '@google/gemini-cli-core';
8
9
  export async function relaunchOnExitCode(runner) {
9
10
  while (true) {
10
11
  try {
@@ -15,7 +16,8 @@ export async function relaunchOnExitCode(runner) {
15
16
  }
16
17
  catch (error) {
17
18
  process.stdin.resume();
18
- console.error('Fatal error: Failed to relaunch the CLI process.', error);
19
+ const errorMessage = error instanceof Error ? (error.stack ?? error.message) : String(error);
20
+ writeToStderr(`Fatal error: Failed to relaunch the CLI process.\n${errorMessage}\n`);
19
21
  process.exit(1);
20
22
  }
21
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"relaunch.js","sourceRoot":"","sources":["../../../src/utils/relaunch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAA6B;IACpE,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,EAAE,CAAC;YAEhC,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,kBAA4B,EAC5B,oBAA8B;IAE9B,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,0CAA0C;QAC1C,6DAA6D;QAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG;YACf,GAAG,OAAO,CAAC,QAAQ;YACnB,GAAG,kBAAkB;YACrB,MAAM;YACN,GAAG,oBAAoB;YACvB,GAAG,UAAU;SACd,CAAC;QACF,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,sBAAsB,EAAE,MAAM,EAAE,CAAC;QAElE,kFAAkF;QAClF,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEtB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE;YAC9C,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,MAAM;SACZ,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,gDAAgD;gBAChD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"relaunch.js","sourceRoot":"","sources":["../../../src/utils/relaunch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAA6B;IACpE,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,EAAE,CAAC;YAEhC,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1E,aAAa,CACX,qDAAqD,YAAY,IAAI,CACtE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,kBAA4B,EAC5B,oBAA8B;IAE9B,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,0CAA0C;QAC1C,6DAA6D;QAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEzC,MAAM,QAAQ,GAAG;YACf,GAAG,OAAO,CAAC,QAAQ;YACnB,GAAG,kBAAkB;YACrB,MAAM;YACN,GAAG,oBAAoB;YACvB,GAAG,UAAU;SACd,CAAC;QACF,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,sBAAsB,EAAE,MAAM,EAAE,CAAC;QAElE,kFAAkF;QAClF,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEtB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE;YAC9C,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,MAAM;SACZ,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,gDAAgD;gBAChD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC"}
@@ -7,6 +7,16 @@ import { vi, describe, it, expect, beforeEach, afterEach, } from 'vitest';
7
7
  import { EventEmitter } from 'node:events';
8
8
  import { RELAUNCH_EXIT_CODE } from './processUtils.js';
9
9
  import { spawn } from 'node:child_process';
10
+ const mocks = vi.hoisted(() => ({
11
+ writeToStderr: vi.fn(),
12
+ }));
13
+ vi.mock('@google/gemini-cli-core', async (importOriginal) => {
14
+ const actual = await importOriginal();
15
+ return {
16
+ ...actual,
17
+ writeToStderr: mocks.writeToStderr,
18
+ };
19
+ });
10
20
  vi.mock('node:child_process', async (importOriginal) => {
11
21
  const actual = await importOriginal();
12
22
  return {
@@ -19,21 +29,19 @@ const mockedSpawn = vi.mocked(spawn);
19
29
  import { relaunchAppInChildProcess, relaunchOnExitCode } from './relaunch.js';
20
30
  describe('relaunchOnExitCode', () => {
21
31
  let processExitSpy;
22
- let consoleErrorSpy;
23
32
  let stdinResumeSpy;
24
33
  beforeEach(() => {
25
34
  processExitSpy = vi.spyOn(process, 'exit').mockImplementation(() => {
26
35
  throw new Error('PROCESS_EXIT_CALLED');
27
36
  });
28
- consoleErrorSpy = vi.spyOn(console, 'error').mockImplementation(() => { });
29
37
  stdinResumeSpy = vi
30
38
  .spyOn(process.stdin, 'resume')
31
39
  .mockImplementation(() => process.stdin);
32
40
  vi.clearAllMocks();
41
+ mocks.writeToStderr.mockClear();
33
42
  });
34
43
  afterEach(() => {
35
44
  processExitSpy.mockRestore();
36
- consoleErrorSpy.mockRestore();
37
45
  stdinResumeSpy.mockRestore();
38
46
  });
39
47
  it('should exit with non-RELAUNCH_EXIT_CODE', async () => {
@@ -61,14 +69,13 @@ describe('relaunchOnExitCode', () => {
61
69
  const runner = vi.fn().mockRejectedValue(error);
62
70
  await expect(relaunchOnExitCode(runner)).rejects.toThrow('PROCESS_EXIT_CALLED');
63
71
  expect(runner).toHaveBeenCalledTimes(1);
64
- expect(consoleErrorSpy).toHaveBeenCalledWith('Fatal error: Failed to relaunch the CLI process.', error);
72
+ expect(mocks.writeToStderr).toHaveBeenCalledWith(expect.stringContaining('Fatal error: Failed to relaunch the CLI process.'));
65
73
  expect(stdinResumeSpy).toHaveBeenCalled();
66
74
  expect(processExitSpy).toHaveBeenCalledWith(1);
67
75
  });
68
76
  });
69
77
  describe('relaunchAppInChildProcess', () => {
70
78
  let processExitSpy;
71
- let consoleErrorSpy;
72
79
  let stdinPauseSpy;
73
80
  let stdinResumeSpy;
74
81
  // Store original values to restore later
@@ -78,6 +85,7 @@ describe('relaunchAppInChildProcess', () => {
78
85
  const originalExecPath = process.execPath;
79
86
  beforeEach(() => {
80
87
  vi.clearAllMocks();
88
+ mocks.writeToStderr.mockClear();
81
89
  process.env = { ...originalEnv };
82
90
  delete process.env['GEMINI_CLI_NO_RELAUNCH'];
83
91
  process.execArgv = [...originalExecArgv];
@@ -86,7 +94,6 @@ describe('relaunchAppInChildProcess', () => {
86
94
  processExitSpy = vi.spyOn(process, 'exit').mockImplementation(() => {
87
95
  throw new Error('PROCESS_EXIT_CALLED');
88
96
  });
89
- consoleErrorSpy = vi.spyOn(console, 'error').mockImplementation(() => { });
90
97
  stdinPauseSpy = vi
91
98
  .spyOn(process.stdin, 'pause')
92
99
  .mockImplementation(() => process.stdin);
@@ -100,7 +107,6 @@ describe('relaunchAppInChildProcess', () => {
100
107
  process.argv = [...originalArgv];
101
108
  process.execPath = originalExecPath;
102
109
  processExitSpy.mockRestore();
103
- consoleErrorSpy.mockRestore();
104
110
  stdinPauseSpy.mockRestore();
105
111
  stdinResumeSpy.mockRestore();
106
112
  });
@@ -1 +1 @@
1
- {"version":3,"file":"relaunch.test.js","sourceRoot":"","sources":["../../../src/utils/relaunch.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relaunch.test.js","sourceRoot":"","sources":["../../../src/utils/relaunch.test.ts"],"names":[],"mappings":"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"}