@google/gemini-cli 0.26.0-preview.4 → 0.26.0

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 (72) hide show
  1. package/dist/package.json +2 -2
  2. package/dist/src/config/keyBindings.d.ts +1 -0
  3. package/dist/src/config/keyBindings.js +4 -0
  4. package/dist/src/config/keyBindings.js.map +1 -1
  5. package/dist/src/config/settingsSchema.d.ts +3 -4
  6. package/dist/src/config/settingsSchema.js +3 -4
  7. package/dist/src/config/settingsSchema.js.map +1 -1
  8. package/dist/src/generated/git-commit.d.ts +2 -2
  9. package/dist/src/generated/git-commit.js +2 -2
  10. package/dist/src/generated/git-commit.js.map +1 -1
  11. package/dist/src/services/BuiltinCommandLoader.js +2 -0
  12. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  13. package/dist/src/ui/AppContainer.js +2 -0
  14. package/dist/src/ui/AppContainer.js.map +1 -1
  15. package/dist/src/ui/commands/rewindCommand.d.ts +7 -0
  16. package/dist/src/ui/commands/rewindCommand.js +132 -0
  17. package/dist/src/ui/commands/rewindCommand.js.map +1 -0
  18. package/dist/src/ui/commands/rewindCommand.test.js +242 -0
  19. package/dist/src/ui/commands/rewindCommand.test.js.map +1 -0
  20. package/dist/src/ui/commands/types.d.ts +2 -1
  21. package/dist/src/ui/commands/types.js.map +1 -1
  22. package/dist/src/ui/components/InputPrompt.js +13 -13
  23. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  24. package/dist/src/ui/components/InputPrompt.test.js +2 -0
  25. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  26. package/dist/src/ui/components/RewindViewer.d.ts +1 -1
  27. package/dist/src/ui/components/RewindViewer.js +65 -17
  28. package/dist/src/ui/components/RewindViewer.js.map +1 -1
  29. package/dist/src/ui/components/RewindViewer.test.js +5 -3
  30. package/dist/src/ui/components/RewindViewer.test.js.map +1 -1
  31. package/dist/src/ui/components/SuggestionsDisplay.d.ts +1 -1
  32. package/dist/src/ui/components/SuggestionsDisplay.js +2 -2
  33. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
  34. package/dist/src/ui/components/shared/BaseSelectionList.d.ts +2 -1
  35. package/dist/src/ui/components/shared/BaseSelectionList.js +2 -1
  36. package/dist/src/ui/components/shared/BaseSelectionList.js.map +1 -1
  37. package/dist/src/ui/components/shared/BaseSelectionList.test.js +1 -0
  38. package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +1 -1
  39. package/dist/src/ui/components/shared/ExpandableText.d.ts +17 -0
  40. package/dist/src/ui/components/{PrepareLabel.js → shared/ExpandableText.js} +30 -15
  41. package/dist/src/ui/components/shared/ExpandableText.js.map +1 -0
  42. package/dist/src/ui/components/shared/ExpandableText.test.d.ts +6 -0
  43. package/dist/src/ui/components/{PrepareLabel.test.js → shared/ExpandableText.test.js} +22 -11
  44. package/dist/src/ui/components/shared/ExpandableText.test.js.map +1 -0
  45. package/dist/src/ui/hooks/atCommandProcessor.js +19 -4
  46. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  47. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +1 -0
  48. package/dist/src/ui/hooks/slashCommandProcessor.js +7 -1
  49. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  50. package/dist/src/ui/hooks/slashCommandProcessor.test.js +97 -27
  51. package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
  52. package/dist/src/ui/hooks/useGeminiStream.js +16 -4
  53. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  54. package/dist/src/ui/hooks/useSelectionList.d.ts +2 -1
  55. package/dist/src/ui/hooks/useSelectionList.js +36 -13
  56. package/dist/src/ui/hooks/useSelectionList.js.map +1 -1
  57. package/dist/src/ui/hooks/useSelectionList.test.js +29 -0
  58. package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -1
  59. package/dist/src/ui/hooks/useSessionResume.test.js +3 -2
  60. package/dist/src/ui/hooks/useSessionResume.test.js.map +1 -1
  61. package/dist/src/ui/utils/formatters.d.ts +1 -1
  62. package/dist/src/ui/utils/formatters.js +2 -3
  63. package/dist/src/ui/utils/formatters.js.map +1 -1
  64. package/dist/src/zed-integration/zedIntegration.js +2 -2
  65. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  66. package/dist/tsconfig.tsbuildinfo +1 -1
  67. package/package.json +3 -3
  68. package/dist/google-gemini-cli-0.26.0-preview.3.tgz +0 -0
  69. package/dist/src/ui/components/PrepareLabel.d.ts +0 -15
  70. package/dist/src/ui/components/PrepareLabel.js.map +0 -1
  71. package/dist/src/ui/components/PrepareLabel.test.js.map +0 -1
  72. /package/dist/src/ui/{components/PrepareLabel.test.d.ts → commands/rewindCommand.test.d.ts} +0 -0
@@ -118,7 +118,8 @@ describe('useSlashCommandProcessor', () => {
118
118
  }
119
119
  vi.restoreAllMocks();
120
120
  });
121
- const setupProcessorHook = async (builtinCommands = [], fileCommands = [], mcpCommands = [], setIsProcessing = vi.fn()) => {
121
+ const setupProcessorHook = async (options = {}) => {
122
+ const { builtinCommands = [], fileCommands = [], mcpCommands = [], setIsProcessing = vi.fn(), refreshStatic = vi.fn(), } = options;
122
123
  mockBuiltinLoadCommands.mockResolvedValue(Object.freeze(builtinCommands));
123
124
  mockFileLoadCommands.mockResolvedValue(Object.freeze(fileCommands));
124
125
  mockMcpLoadCommands.mockResolvedValue(Object.freeze(mcpCommands));
@@ -126,8 +127,7 @@ describe('useSlashCommandProcessor', () => {
126
127
  let unmount;
127
128
  let rerender;
128
129
  await act(async () => {
129
- const hook = renderHook(() => useSlashCommandProcessor(mockConfig, mockSettings, mockAddItem, mockClearItems, mockLoadHistory, vi.fn(), // refreshStatic
130
- vi.fn(), // toggleVimEnabled
130
+ const hook = renderHook(() => useSlashCommandProcessor(mockConfig, mockSettings, mockAddItem, mockClearItems, mockLoadHistory, refreshStatic, vi.fn(), // toggleVimEnabled
131
131
  setIsProcessing, {
132
132
  openAuthDialog: mockOpenAuthDialog,
133
133
  openThemeDialog: mockOpenThemeDialog,
@@ -143,6 +143,7 @@ describe('useSlashCommandProcessor', () => {
143
143
  toggleDebugProfiler: vi.fn(),
144
144
  dispatchExtensionStateUpdate: vi.fn(),
145
145
  addConfirmUpdateExtensionRequest: vi.fn(),
146
+ setText: vi.fn(),
146
147
  }, new Map(), // extensionsUpdateState
147
148
  true, // isConfigInitialized
148
149
  vi.fn(), // setBannerVisible
@@ -174,7 +175,9 @@ describe('useSlashCommandProcessor', () => {
174
175
  context.ui.clear();
175
176
  },
176
177
  });
177
- const result = await setupProcessorHook([clearCommand]);
178
+ const result = await setupProcessorHook({
179
+ builtinCommands: [clearCommand],
180
+ });
178
181
  await act(async () => {
179
182
  await result.current.handleSlashCommand('/clear');
180
183
  });
@@ -188,7 +191,9 @@ describe('useSlashCommandProcessor', () => {
188
191
  context.ui.clear();
189
192
  },
190
193
  });
191
- const result = await setupProcessorHook([clearCommand]);
194
+ const result = await setupProcessorHook({
195
+ builtinCommands: [clearCommand],
196
+ });
192
197
  await act(async () => {
193
198
  await result.current.handleSlashCommand('/clear');
194
199
  });
@@ -204,7 +209,9 @@ describe('useSlashCommandProcessor', () => {
204
209
  });
205
210
  it('should call loadCommands and populate state after mounting', async () => {
206
211
  const testCommand = createTestCommand({ name: 'test' });
207
- const result = await setupProcessorHook([testCommand]);
212
+ const result = await setupProcessorHook({
213
+ builtinCommands: [testCommand],
214
+ });
208
215
  await waitFor(() => {
209
216
  expect(result.current.slashCommands).toHaveLength(1);
210
217
  });
@@ -215,7 +222,9 @@ describe('useSlashCommandProcessor', () => {
215
222
  });
216
223
  it('should provide an immutable array of commands to consumers', async () => {
217
224
  const testCommand = createTestCommand({ name: 'test' });
218
- const result = await setupProcessorHook([testCommand]);
225
+ const result = await setupProcessorHook({
226
+ builtinCommands: [testCommand],
227
+ });
219
228
  await waitFor(() => {
220
229
  expect(result.current.slashCommands).toHaveLength(1);
221
230
  });
@@ -234,7 +243,10 @@ describe('useSlashCommandProcessor', () => {
234
243
  action: builtinAction,
235
244
  });
236
245
  const fileCommand = createTestCommand({ name: 'override', description: 'file', action: fileAction }, CommandKind.FILE);
237
- const result = await setupProcessorHook([builtinCommand], [fileCommand]);
246
+ const result = await setupProcessorHook({
247
+ builtinCommands: [builtinCommand],
248
+ fileCommands: [fileCommand],
249
+ });
238
250
  await waitFor(() => {
239
251
  // The service should only return one command with the name 'override'
240
252
  expect(result.current.slashCommands).toHaveLength(1);
@@ -274,7 +286,9 @@ describe('useSlashCommandProcessor', () => {
274
286
  },
275
287
  ],
276
288
  };
277
- const result = await setupProcessorHook([parentCommand]);
289
+ const result = await setupProcessorHook({
290
+ builtinCommands: [parentCommand],
291
+ });
278
292
  await waitFor(() => expect(result.current.slashCommands).toHaveLength(1));
279
293
  await act(async () => {
280
294
  await result.current.handleSlashCommand('/parent');
@@ -300,7 +314,9 @@ describe('useSlashCommandProcessor', () => {
300
314
  },
301
315
  ],
302
316
  };
303
- const result = await setupProcessorHook([parentCommand]);
317
+ const result = await setupProcessorHook({
318
+ builtinCommands: [parentCommand],
319
+ });
304
320
  await waitFor(() => expect(result.current.slashCommands).toHaveLength(1));
305
321
  await act(async () => {
306
322
  await result.current.handleSlashCommand('/parent child with args');
@@ -317,7 +333,9 @@ describe('useSlashCommandProcessor', () => {
317
333
  });
318
334
  it('sets isProcessing to false if the the input is not a command', async () => {
319
335
  const setMockIsProcessing = vi.fn();
320
- const result = await setupProcessorHook([], [], [], setMockIsProcessing);
336
+ const result = await setupProcessorHook({
337
+ setIsProcessing: setMockIsProcessing,
338
+ });
321
339
  await act(async () => {
322
340
  await result.current.handleSlashCommand('imnotacommand');
323
341
  });
@@ -329,7 +347,10 @@ describe('useSlashCommandProcessor', () => {
329
347
  name: 'fail',
330
348
  action: vi.fn().mockRejectedValue(new Error('oh no!')),
331
349
  });
332
- const result = await setupProcessorHook([failCommand], [], [], setMockIsProcessing);
350
+ const result = await setupProcessorHook({
351
+ builtinCommands: [failCommand],
352
+ setIsProcessing: setMockIsProcessing,
353
+ });
333
354
  await waitFor(() => expect(result.current.slashCommands).toBeDefined());
334
355
  await act(async () => {
335
356
  await result.current.handleSlashCommand('/fail');
@@ -343,7 +364,10 @@ describe('useSlashCommandProcessor', () => {
343
364
  name: 'long-running',
344
365
  action: () => new Promise((resolve) => setTimeout(resolve, 50)),
345
366
  });
346
- const result = await setupProcessorHook([command], [], [], mockSetIsProcessing);
367
+ const result = await setupProcessorHook({
368
+ builtinCommands: [command],
369
+ setIsProcessing: mockSetIsProcessing,
370
+ });
347
371
  await waitFor(() => expect(result.current.slashCommands).toHaveLength(1));
348
372
  const executionPromise = act(async () => {
349
373
  await result.current.handleSlashCommand('/long-running');
@@ -378,7 +402,9 @@ describe('useSlashCommandProcessor', () => {
378
402
  .fn()
379
403
  .mockResolvedValue({ type: 'dialog', dialog: dialogType }),
380
404
  });
381
- const result = await setupProcessorHook([command]);
405
+ const result = await setupProcessorHook({
406
+ builtinCommands: [command],
407
+ });
382
408
  await waitFor(() => expect(result.current.slashCommands).toHaveLength(1));
383
409
  await act(async () => {
384
410
  await result.current.handleSlashCommand(`/${commandName}`);
@@ -400,14 +426,31 @@ describe('useSlashCommandProcessor', () => {
400
426
  clientHistory: [{ role: 'user', parts: [{ text: 'old prompt' }] }],
401
427
  }),
402
428
  });
403
- const result = await setupProcessorHook([command]);
429
+ const mockRefreshStatic = vi.fn();
430
+ const result = await setupProcessorHook({
431
+ builtinCommands: [command],
432
+ refreshStatic: mockRefreshStatic,
433
+ });
404
434
  await waitFor(() => expect(result.current.slashCommands).toHaveLength(1));
405
435
  await act(async () => {
406
436
  await result.current.handleSlashCommand('/load');
407
437
  });
438
+ // ui.clear() is called which calls refreshStatic()
408
439
  expect(mockClearItems).toHaveBeenCalledTimes(1);
440
+ expect(mockRefreshStatic).toHaveBeenCalledTimes(1);
409
441
  expect(mockAddItem).toHaveBeenCalledWith({ type: 'user', text: 'old prompt' }, expect.any(Number));
410
442
  });
443
+ it('should call refreshStatic exactly once when ui.loadHistory is called', async () => {
444
+ const mockRefreshStatic = vi.fn();
445
+ const result = await setupProcessorHook({
446
+ refreshStatic: mockRefreshStatic,
447
+ });
448
+ await act(async () => {
449
+ result.current.commandContext.ui.loadHistory([]);
450
+ });
451
+ expect(mockLoadHistory).toHaveBeenCalled();
452
+ expect(mockRefreshStatic).toHaveBeenCalledTimes(1);
453
+ });
411
454
  it('should handle a "quit" action', async () => {
412
455
  const quitAction = vi
413
456
  .fn()
@@ -416,7 +459,9 @@ describe('useSlashCommandProcessor', () => {
416
459
  name: 'exit',
417
460
  action: quitAction,
418
461
  });
419
- const result = await setupProcessorHook([command]);
462
+ const result = await setupProcessorHook({
463
+ builtinCommands: [command],
464
+ });
420
465
  await waitFor(() => expect(result.current.slashCommands).toHaveLength(1));
421
466
  await act(async () => {
422
467
  await result.current.handleSlashCommand('/exit');
@@ -432,7 +477,9 @@ describe('useSlashCommandProcessor', () => {
432
477
  content: [{ text: 'The actual prompt from the TOML file.' }],
433
478
  }),
434
479
  }, CommandKind.FILE);
435
- const result = await setupProcessorHook([], [fileCommand]);
480
+ const result = await setupProcessorHook({
481
+ fileCommands: [fileCommand],
482
+ });
436
483
  await waitFor(() => expect(result.current.slashCommands).toHaveLength(1));
437
484
  let actionResult;
438
485
  await act(async () => {
@@ -453,7 +500,9 @@ describe('useSlashCommandProcessor', () => {
453
500
  content: [{ text: 'The actual prompt from the mcp command.' }],
454
501
  }),
455
502
  }, CommandKind.MCP_PROMPT);
456
- const result = await setupProcessorHook([], [], [mcpCommand]);
503
+ const result = await setupProcessorHook({
504
+ mcpCommands: [mcpCommand],
505
+ });
457
506
  await waitFor(() => expect(result.current.slashCommands).toHaveLength(1));
458
507
  let actionResult;
459
508
  await act(async () => {
@@ -469,7 +518,9 @@ describe('useSlashCommandProcessor', () => {
469
518
  describe('Command Parsing and Matching', () => {
470
519
  it('should be case-sensitive', async () => {
471
520
  const command = createTestCommand({ name: 'test' });
472
- const result = await setupProcessorHook([command]);
521
+ const result = await setupProcessorHook({
522
+ builtinCommands: [command],
523
+ });
473
524
  await waitFor(() => expect(result.current.slashCommands).toHaveLength(1));
474
525
  await act(async () => {
475
526
  // Use uppercase when command is lowercase
@@ -489,7 +540,9 @@ describe('useSlashCommandProcessor', () => {
489
540
  description: 'a command with an alias',
490
541
  action,
491
542
  });
492
- const result = await setupProcessorHook([command]);
543
+ const result = await setupProcessorHook({
544
+ builtinCommands: [command],
545
+ });
493
546
  await waitFor(() => expect(result.current.slashCommands).toHaveLength(1));
494
547
  await act(async () => {
495
548
  await result.current.handleSlashCommand('/alias');
@@ -500,7 +553,9 @@ describe('useSlashCommandProcessor', () => {
500
553
  it('should handle extra whitespace around the command', async () => {
501
554
  const action = vi.fn();
502
555
  const command = createTestCommand({ name: 'test', action });
503
- const result = await setupProcessorHook([command]);
556
+ const result = await setupProcessorHook({
557
+ builtinCommands: [command],
558
+ });
504
559
  await waitFor(() => expect(result.current.slashCommands).toHaveLength(1));
505
560
  await act(async () => {
506
561
  await result.current.handleSlashCommand(' /test with-args ');
@@ -510,7 +565,9 @@ describe('useSlashCommandProcessor', () => {
510
565
  it('should handle `?` as a command prefix', async () => {
511
566
  const action = vi.fn();
512
567
  const command = createTestCommand({ name: 'help', action });
513
- const result = await setupProcessorHook([command]);
568
+ const result = await setupProcessorHook({
569
+ builtinCommands: [command],
570
+ });
514
571
  await waitFor(() => expect(result.current.slashCommands).toHaveLength(1));
515
572
  await act(async () => {
516
573
  await result.current.handleSlashCommand('?help');
@@ -528,7 +585,10 @@ describe('useSlashCommandProcessor', () => {
528
585
  action: mcpAction,
529
586
  }, CommandKind.MCP_PROMPT);
530
587
  const fileCommand = createTestCommand({ name: 'override', description: 'file', action: fileAction }, CommandKind.FILE);
531
- const result = await setupProcessorHook([], [fileCommand], [mcpCommand]);
588
+ const result = await setupProcessorHook({
589
+ fileCommands: [fileCommand],
590
+ mcpCommands: [mcpCommand],
591
+ });
532
592
  await waitFor(() => {
533
593
  // The service should only return one command with the name 'override'
534
594
  expect(result.current.slashCommands).toHaveLength(1);
@@ -554,7 +614,10 @@ describe('useSlashCommandProcessor', () => {
554
614
  }, CommandKind.FILE);
555
615
  // The order of commands in the final loaded array is not guaranteed,
556
616
  // so the test must work regardless of which comes first.
557
- const result = await setupProcessorHook([quitCommand], [exitCommand]);
617
+ const result = await setupProcessorHook({
618
+ builtinCommands: [quitCommand],
619
+ fileCommands: [exitCommand],
620
+ });
558
621
  await waitFor(() => {
559
622
  expect(result.current.slashCommands).toHaveLength(2);
560
623
  });
@@ -573,7 +636,10 @@ describe('useSlashCommandProcessor', () => {
573
636
  action: vi.fn(),
574
637
  });
575
638
  const exitCommand = createTestCommand({ name: 'exit', action: vi.fn() }, CommandKind.FILE);
576
- const result = await setupProcessorHook([quitCommand], [exitCommand]);
639
+ const result = await setupProcessorHook({
640
+ builtinCommands: [quitCommand],
641
+ fileCommands: [exitCommand],
642
+ });
577
643
  await waitFor(() => expect(result.current.slashCommands).toHaveLength(2));
578
644
  await act(async () => {
579
645
  await result.current.handleSlashCommand('/exit');
@@ -658,7 +724,9 @@ describe('useSlashCommandProcessor', () => {
658
724
  desc: 'command path when alias is used',
659
725
  },
660
726
  ])('should log $desc', async ({ command, expectedLog }) => {
661
- const result = await setupProcessorHook(loggingTestCommands);
727
+ const result = await setupProcessorHook({
728
+ builtinCommands: loggingTestCommands,
729
+ });
662
730
  await waitFor(() => expect(result.current.slashCommands).toBeDefined());
663
731
  await act(async () => {
664
732
  await result.current.handleSlashCommand(command);
@@ -671,7 +739,9 @@ describe('useSlashCommandProcessor', () => {
671
739
  { command: '/bogusbogusbogus', desc: 'bogus command' },
672
740
  { command: '/unknown', desc: 'unknown command' },
673
741
  ])('should not log for $desc', async ({ command }) => {
674
- const result = await setupProcessorHook(loggingTestCommands);
742
+ const result = await setupProcessorHook({
743
+ builtinCommands: loggingTestCommands,
744
+ });
675
745
  await waitFor(() => expect(result.current.slashCommands).toBeDefined());
676
746
  await act(async () => {
677
747
  await result.current.handleSlashCommand(command);
@@ -1 +1 @@
1
- {"version":3,"file":"slashCommandProcessor.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/slashCommandProcessor.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slashCommandProcessor.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/slashCommandProcessor.test.tsx"],"names":[],"mappings":"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"}
@@ -497,7 +497,7 @@ export const useGeminiStream = (geminiClient, history, addItem, config, settings
497
497
  model: eventValue,
498
498
  }, userMessageTimestamp);
499
499
  }, [addItem, pendingHistoryItemRef, setPendingHistoryItem, settings]);
500
- const handleAgentExecutionStoppedEvent = useCallback((reason, userMessageTimestamp, systemMessage) => {
500
+ const handleAgentExecutionStoppedEvent = useCallback((reason, userMessageTimestamp, systemMessage, contextCleared) => {
501
501
  if (pendingHistoryItemRef.current) {
502
502
  addItem(pendingHistoryItemRef.current, userMessageTimestamp);
503
503
  setPendingHistoryItem(null);
@@ -506,9 +506,15 @@ export const useGeminiStream = (geminiClient, history, addItem, config, settings
506
506
  type: MessageType.INFO,
507
507
  text: `Agent execution stopped: ${systemMessage?.trim() || reason}`,
508
508
  }, userMessageTimestamp);
509
+ if (contextCleared) {
510
+ addItem({
511
+ type: MessageType.INFO,
512
+ text: 'Conversation context has been cleared.',
513
+ }, userMessageTimestamp);
514
+ }
509
515
  setIsResponding(false);
510
516
  }, [addItem, pendingHistoryItemRef, setPendingHistoryItem, setIsResponding]);
511
- const handleAgentExecutionBlockedEvent = useCallback((reason, userMessageTimestamp, systemMessage) => {
517
+ const handleAgentExecutionBlockedEvent = useCallback((reason, userMessageTimestamp, systemMessage, contextCleared) => {
512
518
  if (pendingHistoryItemRef.current) {
513
519
  addItem(pendingHistoryItemRef.current, userMessageTimestamp);
514
520
  setPendingHistoryItem(null);
@@ -517,6 +523,12 @@ export const useGeminiStream = (geminiClient, history, addItem, config, settings
517
523
  type: MessageType.WARNING,
518
524
  text: `Agent execution blocked: ${systemMessage?.trim() || reason}`,
519
525
  }, userMessageTimestamp);
526
+ if (contextCleared) {
527
+ addItem({
528
+ type: MessageType.INFO,
529
+ text: 'Conversation context has been cleared.',
530
+ }, userMessageTimestamp);
531
+ }
520
532
  }, [addItem, pendingHistoryItemRef, setPendingHistoryItem]);
521
533
  const processGeminiStreamEvents = useCallback(async (stream, userMessageTimestamp, signal) => {
522
534
  let geminiMessageBuffer = '';
@@ -541,10 +553,10 @@ export const useGeminiStream = (geminiClient, history, addItem, config, settings
541
553
  handleErrorEvent(event.value, userMessageTimestamp);
542
554
  break;
543
555
  case ServerGeminiEventType.AgentExecutionStopped:
544
- handleAgentExecutionStoppedEvent(event.value.reason, userMessageTimestamp, event.value.systemMessage);
556
+ handleAgentExecutionStoppedEvent(event.value.reason, userMessageTimestamp, event.value.systemMessage, event.value.contextCleared);
545
557
  break;
546
558
  case ServerGeminiEventType.AgentExecutionBlocked:
547
- handleAgentExecutionBlockedEvent(event.value.reason, userMessageTimestamp, event.value.systemMessage);
559
+ handleAgentExecutionBlockedEvent(event.value.reason, userMessageTimestamp, event.value.systemMessage, event.value.contextCleared);
548
560
  break;
549
561
  case ServerGeminiEventType.ChatCompressed:
550
562
  handleChatCompressionEvent(event.value, userMessageTimestamp);