@google/gemini-cli 0.27.0-preview.3 → 0.28.0-nightly.20260130.d43d772e6

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 (197) hide show
  1. package/dist/google-gemini-cli-0.28.0-nightly.20260128.adc8e11bb.tgz +0 -0
  2. package/dist/package.json +2 -2
  3. package/dist/src/commands/extensions/examples/themes-example/README.md +28 -0
  4. package/dist/src/commands/extensions/examples/themes-example/gemini-extension.json +29 -0
  5. package/dist/src/commands/extensions/update.js +9 -3
  6. package/dist/src/commands/extensions/update.js.map +1 -1
  7. package/dist/src/commands/extensions/update.test.js +26 -0
  8. package/dist/src/commands/extensions/update.test.js.map +1 -1
  9. package/dist/src/commands/mcp/add.js +4 -0
  10. package/dist/src/commands/mcp/add.js.map +1 -1
  11. package/dist/src/config/config.js +2 -2
  12. package/dist/src/config/config.js.map +1 -1
  13. package/dist/src/config/config.test.js +1 -1
  14. package/dist/src/config/config.test.js.map +1 -1
  15. package/dist/src/config/extension-manager-themes.spec.js +196 -0
  16. package/dist/src/config/extension-manager-themes.spec.js.map +1 -0
  17. package/dist/src/config/extension-manager.d.ts +2 -0
  18. package/dist/src/config/extension-manager.js +14 -0
  19. package/dist/src/config/extension-manager.js.map +1 -1
  20. package/dist/src/config/extension.d.ts +6 -1
  21. package/dist/src/config/extension.js.map +1 -1
  22. package/dist/src/config/keyBindings.d.ts +2 -1
  23. package/dist/src/config/keyBindings.js +13 -2
  24. package/dist/src/config/keyBindings.js.map +1 -1
  25. package/dist/src/config/settings.js +13 -5
  26. package/dist/src/config/settings.js.map +1 -1
  27. package/dist/src/config/settings.test.js +37 -17
  28. package/dist/src/config/settings.test.js.map +1 -1
  29. package/dist/src/config/settingsSchema.d.ts +10 -11
  30. package/dist/src/config/settingsSchema.js +13 -9
  31. package/dist/src/config/settingsSchema.js.map +1 -1
  32. package/dist/src/gemini.js +6 -3
  33. package/dist/src/gemini.js.map +1 -1
  34. package/dist/src/generated/git-commit.d.ts +2 -2
  35. package/dist/src/generated/git-commit.js +2 -2
  36. package/dist/src/generated/git-commit.js.map +1 -1
  37. package/dist/src/nonInteractiveCli.js +4 -0
  38. package/dist/src/nonInteractiveCli.js.map +1 -1
  39. package/dist/src/nonInteractiveCli.test.js +40 -0
  40. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  41. package/dist/src/services/BuiltinCommandLoader.test.js +4 -2
  42. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
  43. package/dist/src/test-utils/createExtension.d.ts +3 -3
  44. package/dist/src/test-utils/createExtension.js +9 -2
  45. package/dist/src/test-utils/createExtension.js.map +1 -1
  46. package/dist/src/ui/AppContainer.js +48 -2
  47. package/dist/src/ui/AppContainer.js.map +1 -1
  48. package/dist/src/ui/AppContainer.test.js +158 -3
  49. package/dist/src/ui/AppContainer.test.js.map +1 -1
  50. package/dist/src/ui/commands/bugCommand.js +2 -0
  51. package/dist/src/ui/commands/bugCommand.js.map +1 -1
  52. package/dist/src/ui/commands/bugCommand.test.js +5 -0
  53. package/dist/src/ui/commands/bugCommand.test.js.map +1 -1
  54. package/dist/src/ui/commands/directoryCommand.js +4 -0
  55. package/dist/src/ui/commands/directoryCommand.js.map +1 -1
  56. package/dist/src/ui/commands/directoryCommand.test.js +3 -0
  57. package/dist/src/ui/commands/directoryCommand.test.js.map +1 -1
  58. package/dist/src/ui/commands/hooksCommand.js +50 -66
  59. package/dist/src/ui/commands/hooksCommand.js.map +1 -1
  60. package/dist/src/ui/commands/hooksCommand.test.js +61 -63
  61. package/dist/src/ui/commands/hooksCommand.test.js.map +1 -1
  62. package/dist/src/ui/commands/statsCommand.js +17 -0
  63. package/dist/src/ui/commands/statsCommand.js.map +1 -1
  64. package/dist/src/ui/commands/statsCommand.test.js +18 -0
  65. package/dist/src/ui/commands/statsCommand.test.js.map +1 -1
  66. package/dist/src/ui/components/AboutBox.js +10 -5
  67. package/dist/src/ui/components/AboutBox.js.map +1 -1
  68. package/dist/src/ui/components/AboutBox.test.js +5 -5
  69. package/dist/src/ui/components/AboutBox.test.js.map +1 -1
  70. package/dist/src/ui/components/AsciiArt.d.ts +0 -3
  71. package/dist/src/ui/components/AsciiArt.js +0 -36
  72. package/dist/src/ui/components/AsciiArt.js.map +1 -1
  73. package/dist/src/ui/components/Checklist.d.ts +14 -0
  74. package/dist/src/ui/components/Checklist.js +31 -0
  75. package/dist/src/ui/components/Checklist.js.map +1 -0
  76. package/dist/src/ui/components/Checklist.test.d.ts +6 -0
  77. package/dist/src/ui/components/Checklist.test.js +46 -0
  78. package/dist/src/ui/components/Checklist.test.js.map +1 -0
  79. package/dist/src/ui/components/ChecklistItem.d.ts +17 -0
  80. package/dist/src/ui/components/ChecklistItem.js +36 -0
  81. package/dist/src/ui/components/ChecklistItem.js.map +1 -0
  82. package/dist/src/ui/components/ChecklistItem.test.d.ts +6 -0
  83. package/dist/src/ui/components/ChecklistItem.test.js +38 -0
  84. package/dist/src/ui/components/ChecklistItem.test.js.map +1 -0
  85. package/dist/src/ui/components/Header.js +4 -6
  86. package/dist/src/ui/components/Header.js.map +1 -1
  87. package/dist/src/ui/components/Header.test.js +5 -26
  88. package/dist/src/ui/components/Header.test.js.map +1 -1
  89. package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
  90. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  91. package/dist/src/ui/components/ModelStatsDisplay.d.ts +7 -1
  92. package/dist/src/ui/components/ModelStatsDisplay.js +24 -18
  93. package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -1
  94. package/dist/src/ui/components/ModelStatsDisplay.test.js +75 -0
  95. package/dist/src/ui/components/ModelStatsDisplay.test.js.map +1 -1
  96. package/dist/src/ui/components/SessionSummaryDisplay.test.js +4 -2
  97. package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -1
  98. package/dist/src/ui/components/StatsDisplay.d.ts +3 -0
  99. package/dist/src/ui/components/StatsDisplay.js +9 -2
  100. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  101. package/dist/src/ui/components/StatsDisplay.test.js +46 -5
  102. package/dist/src/ui/components/StatsDisplay.test.js.map +1 -1
  103. package/dist/src/ui/components/ThemeDialog.js +17 -25
  104. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  105. package/dist/src/ui/components/ToolConfirmationQueue.js +6 -6
  106. package/dist/src/ui/components/ToolConfirmationQueue.js.map +1 -1
  107. package/dist/src/ui/components/ToolConfirmationQueue.test.js +42 -0
  108. package/dist/src/ui/components/ToolConfirmationQueue.test.js.map +1 -1
  109. package/dist/src/ui/components/messages/Todo.js +11 -62
  110. package/dist/src/ui/components/messages/Todo.js.map +1 -1
  111. package/dist/src/ui/components/messages/ToolGroupMessage.js +5 -5
  112. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  113. package/dist/src/ui/components/messages/ToolGroupMessage.test.js +116 -47
  114. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
  115. package/dist/src/ui/components/triage/TriageDuplicates.js +4 -4
  116. package/dist/src/ui/components/triage/TriageDuplicates.js.map +1 -1
  117. package/dist/src/ui/constants/tips.js +2 -2
  118. package/dist/src/ui/constants/tips.js.map +1 -1
  119. package/dist/src/ui/constants.d.ts +1 -1
  120. package/dist/src/ui/constants.js +1 -1
  121. package/dist/src/ui/contexts/AskUserActionsContext.d.ts +1 -0
  122. package/dist/src/ui/contexts/AskUserActionsContext.js +1 -1
  123. package/dist/src/ui/contexts/AskUserActionsContext.js.map +1 -1
  124. package/dist/src/ui/contexts/KeypressContext.js +2 -0
  125. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  126. package/dist/src/ui/hooks/atCommandProcessor.js +2 -1
  127. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  128. package/dist/src/ui/hooks/atCommandProcessor.test.js +20 -0
  129. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  130. package/dist/src/ui/hooks/useGeminiStream.js +8 -1
  131. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  132. package/dist/src/ui/hooks/useHistoryManager.d.ts +2 -1
  133. package/dist/src/ui/hooks/useHistoryManager.js +2 -2
  134. package/dist/src/ui/hooks/useHistoryManager.js.map +1 -1
  135. package/dist/src/ui/hooks/useHistoryManager.test.js +32 -0
  136. package/dist/src/ui/hooks/useHistoryManager.test.js.map +1 -1
  137. package/dist/src/ui/hooks/useHookDisplayState.test.js +39 -19
  138. package/dist/src/ui/hooks/useHookDisplayState.test.js.map +1 -1
  139. package/dist/src/ui/hooks/useSessionResume.js +8 -0
  140. package/dist/src/ui/hooks/useSessionResume.js.map +1 -1
  141. package/dist/src/ui/hooks/useSessionResume.test.js +64 -0
  142. package/dist/src/ui/hooks/useSessionResume.test.js.map +1 -1
  143. package/dist/src/ui/keyMatchers.test.js +15 -4
  144. package/dist/src/ui/keyMatchers.test.js.map +1 -1
  145. package/dist/src/ui/themes/theme-manager.d.ts +23 -2
  146. package/dist/src/ui/themes/theme-manager.js +108 -17
  147. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  148. package/dist/src/ui/themes/theme-manager.test.js +40 -0
  149. package/dist/src/ui/themes/theme-manager.test.js.map +1 -1
  150. package/dist/src/ui/themes/theme.d.ts +2 -47
  151. package/dist/src/ui/themes/theme.js.map +1 -1
  152. package/dist/src/ui/themes/theme.test.js +1 -4
  153. package/dist/src/ui/themes/theme.test.js.map +1 -1
  154. package/dist/src/ui/types.d.ts +6 -0
  155. package/dist/src/ui/types.js.map +1 -1
  156. package/dist/src/ui/utils/TableRenderer.js +13 -6
  157. package/dist/src/ui/utils/TableRenderer.js.map +1 -1
  158. package/dist/src/ui/utils/TableRenderer.test.d.ts +1 -0
  159. package/dist/src/ui/utils/TableRenderer.test.js +48 -0
  160. package/dist/src/ui/utils/TableRenderer.test.js.map +1 -0
  161. package/dist/src/utils/activityLogger.d.ts +5 -1
  162. package/dist/src/utils/activityLogger.js +8 -3
  163. package/dist/src/utils/activityLogger.js.map +1 -1
  164. package/dist/src/utils/gitUtils.js +22 -5
  165. package/dist/src/utils/gitUtils.js.map +1 -1
  166. package/dist/src/utils/gitUtils.test.js +59 -0
  167. package/dist/src/utils/gitUtils.test.js.map +1 -1
  168. package/dist/src/utils/hookSettings.d.ts +30 -0
  169. package/dist/src/utils/hookSettings.js +114 -0
  170. package/dist/src/utils/hookSettings.js.map +1 -0
  171. package/dist/src/utils/hookSettings.test.d.ts +6 -0
  172. package/dist/src/utils/hookSettings.test.js +117 -0
  173. package/dist/src/utils/hookSettings.test.js.map +1 -0
  174. package/dist/src/utils/hookUtils.d.ts +12 -0
  175. package/dist/src/utils/hookUtils.js +51 -0
  176. package/dist/src/utils/hookUtils.js.map +1 -0
  177. package/dist/src/utils/hookUtils.test.d.ts +6 -0
  178. package/dist/src/utils/hookUtils.test.js +113 -0
  179. package/dist/src/utils/hookUtils.test.js.map +1 -0
  180. package/dist/src/utils/installationInfo.js +1 -1
  181. package/dist/src/utils/installationInfo.js.map +1 -1
  182. package/dist/src/utils/installationInfo.test.js +1 -1
  183. package/dist/src/utils/installationInfo.test.js.map +1 -1
  184. package/dist/src/utils/sessionCleanup.d.ts +14 -0
  185. package/dist/src/utils/sessionCleanup.js +106 -1
  186. package/dist/src/utils/sessionCleanup.js.map +1 -1
  187. package/dist/src/utils/sessionCleanup.test.js +12 -1
  188. package/dist/src/utils/sessionCleanup.test.js.map +1 -1
  189. package/dist/src/utils/toolOutputCleanup.test.d.ts +6 -0
  190. package/dist/src/utils/toolOutputCleanup.test.js +229 -0
  191. package/dist/src/utils/toolOutputCleanup.test.js.map +1 -0
  192. package/dist/tsconfig.tsbuildinfo +1 -1
  193. package/package.json +3 -3
  194. package/dist/google-gemini-cli-0.27.0-preview.2.tgz +0 -0
  195. package/dist/src/config/skills-backward-compatibility.test.js +0 -99
  196. package/dist/src/config/skills-backward-compatibility.test.js.map +0 -1
  197. /package/dist/src/config/{skills-backward-compatibility.test.d.ts → extension-manager-themes.spec.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"AppContainer.js","sourceRoot":"","sources":["../../../src/ui/AppContainer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppContainer.js","sourceRoot":"","sources":["../../../src/ui/AppContainer.tsx"],"names":[],"mappings":"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"}
@@ -12,7 +12,9 @@ import { act, useContext } from 'react';
12
12
  import { AppContainer } from './AppContainer.js';
13
13
  import { SettingsContext } from './contexts/SettingsContext.js';
14
14
  import {} from './hooks/useReactToolScheduler.js';
15
- import { makeFakeConfig, CoreEvent, AuthType, } from '@google/gemini-cli-core';
15
+ import { MessageType } from './types.js';
16
+ import { makeFakeConfig, CoreEvent, AuthType, UserAccountManager, MessageBusType, QuestionType, } from '@google/gemini-cli-core';
17
+ import { AskUserActionsContext, } from './contexts/AskUserActionsContext.js';
16
18
  // Mock coreEvents
17
19
  const mockCoreEvents = vi.hoisted(() => ({
18
20
  on: vi.fn(),
@@ -24,6 +26,10 @@ const mockCoreEvents = vi.hoisted(() => ({
24
26
  const mockIdeClient = vi.hoisted(() => ({
25
27
  getInstance: vi.fn().mockReturnValue(new Promise(() => { })),
26
28
  }));
29
+ // Mock UserAccountManager
30
+ const mockUserAccountManager = vi.hoisted(() => ({
31
+ getCachedGoogleAccount: vi.fn().mockReturnValue(null),
32
+ }));
27
33
  // Mock stdout
28
34
  const mocks = vi.hoisted(() => ({
29
35
  mockStdout: { write: vi.fn() },
@@ -43,6 +49,9 @@ vi.mock('@google/gemini-cli-core', async (importOriginal) => {
43
49
  })),
44
50
  enableMouseEvents: vi.fn(),
45
51
  disableMouseEvents: vi.fn(),
52
+ UserAccountManager: vi
53
+ .fn()
54
+ .mockImplementation(() => mockUserAccountManager),
46
55
  FileDiscoveryService: vi.fn().mockImplementation(() => ({
47
56
  initialize: vi.fn(),
48
57
  })),
@@ -71,9 +80,11 @@ vi.mock('ink', async (importOriginal) => {
71
80
  // so we can assert against them in our tests.
72
81
  let capturedUIState;
73
82
  let capturedUIActions;
83
+ let capturedAskUserRequest;
74
84
  function TestContextConsumer() {
75
85
  capturedUIState = useContext(UIStateContext);
76
86
  capturedUIActions = useContext(UIActionsContext);
87
+ capturedAskUserRequest = useContext(AskUserActionsContext)?.request ?? null;
77
88
  return null;
78
89
  }
79
90
  vi.mock('./App.js', () => ({
@@ -140,6 +151,7 @@ import { measureElement } from 'ink';
140
151
  import { useTerminalSize } from './hooks/useTerminalSize.js';
141
152
  import { ShellExecutionService, writeToStdout, enableMouseEvents, disableMouseEvents, } from '@google/gemini-cli-core';
142
153
  import {} from '../config/extension-manager.js';
154
+ import { WARNING_PROMPT_DURATION_MS } from './constants.js';
143
155
  describe('AppContainer State Management', () => {
144
156
  let mockConfig;
145
157
  let mockSettings;
@@ -180,6 +192,7 @@ describe('AppContainer State Management', () => {
180
192
  // Initialize mock stdout for terminal title tests
181
193
  mocks.mockStdout.write.mockClear();
182
194
  capturedUIState = null;
195
+ capturedAskUserRequest = null;
183
196
  // **Provide a default return value for EVERY mocked hook.**
184
197
  mockedUseQuotaAndFallback.mockReturnValue({
185
198
  proQuotaRequest: null,
@@ -309,6 +322,7 @@ describe('AppContainer State Management', () => {
309
322
  ...defaultMergedSettings.ui,
310
323
  showStatusInTitle: false,
311
324
  hideWindowTitle: false,
325
+ showUserIdentity: true,
312
326
  },
313
327
  useAlternateBuffer: false,
314
328
  },
@@ -370,6 +384,120 @@ describe('AppContainer State Management', () => {
370
384
  }).not.toThrow();
371
385
  });
372
386
  });
387
+ describe('Authentication Check', () => {
388
+ it('displays correct message for LOGIN_WITH_GOOGLE auth type', async () => {
389
+ // Explicitly mock implementation to ensure we control the instance
390
+ UserAccountManager.mockImplementation(() => mockUserAccountManager);
391
+ mockUserAccountManager.getCachedGoogleAccount.mockReturnValue('test@example.com');
392
+ const mockAddItem = vi.fn();
393
+ mockedUseHistory.mockReturnValue({
394
+ history: [],
395
+ addItem: mockAddItem,
396
+ updateItem: vi.fn(),
397
+ clearItems: vi.fn(),
398
+ loadHistory: vi.fn(),
399
+ });
400
+ // Explicitly enable showUserIdentity
401
+ mockSettings.merged.ui = {
402
+ ...mockSettings.merged.ui,
403
+ showUserIdentity: true,
404
+ };
405
+ // Need to ensure config.getContentGeneratorConfig() returns appropriate authType
406
+ const authConfig = makeFakeConfig();
407
+ // Mock getTargetDir as well since makeFakeConfig might not set it up fully for the component
408
+ vi.spyOn(authConfig, 'getTargetDir').mockReturnValue('/test/workspace');
409
+ vi.spyOn(authConfig, 'initialize').mockResolvedValue(undefined);
410
+ vi.spyOn(authConfig, 'getExtensionLoader').mockReturnValue(mockExtensionManager);
411
+ vi.spyOn(authConfig, 'getContentGeneratorConfig').mockReturnValue({
412
+ authType: AuthType.LOGIN_WITH_GOOGLE,
413
+ });
414
+ vi.spyOn(authConfig, 'getUserTierName').mockReturnValue('Standard Tier');
415
+ let unmount;
416
+ await act(async () => {
417
+ const result = renderAppContainer({ config: authConfig });
418
+ unmount = result.unmount;
419
+ });
420
+ await waitFor(() => {
421
+ expect(UserAccountManager).toHaveBeenCalled();
422
+ expect(mockUserAccountManager.getCachedGoogleAccount).toHaveBeenCalled();
423
+ expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
424
+ text: 'Logged in with Google: test@example.com (Plan: Standard Tier)',
425
+ }));
426
+ });
427
+ await act(async () => {
428
+ unmount();
429
+ });
430
+ });
431
+ it('displays correct message for USE_GEMINI auth type', async () => {
432
+ // Explicitly mock implementation to ensure we control the instance
433
+ UserAccountManager.mockImplementation(() => mockUserAccountManager);
434
+ mockUserAccountManager.getCachedGoogleAccount.mockReturnValue(null);
435
+ const mockAddItem = vi.fn();
436
+ mockedUseHistory.mockReturnValue({
437
+ history: [],
438
+ addItem: mockAddItem,
439
+ updateItem: vi.fn(),
440
+ clearItems: vi.fn(),
441
+ loadHistory: vi.fn(),
442
+ });
443
+ const authConfig = makeFakeConfig();
444
+ vi.spyOn(authConfig, 'getTargetDir').mockReturnValue('/test/workspace');
445
+ vi.spyOn(authConfig, 'initialize').mockResolvedValue(undefined);
446
+ vi.spyOn(authConfig, 'getExtensionLoader').mockReturnValue(mockExtensionManager);
447
+ vi.spyOn(authConfig, 'getContentGeneratorConfig').mockReturnValue({
448
+ authType: AuthType.USE_GEMINI,
449
+ });
450
+ vi.spyOn(authConfig, 'getUserTierName').mockReturnValue('Standard Tier');
451
+ let unmount;
452
+ await act(async () => {
453
+ const result = renderAppContainer({ config: authConfig });
454
+ unmount = result.unmount;
455
+ });
456
+ await waitFor(() => {
457
+ expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
458
+ text: expect.stringContaining('Authenticated with gemini-api-key'),
459
+ }));
460
+ });
461
+ await act(async () => {
462
+ unmount();
463
+ });
464
+ });
465
+ it('does not display authentication message if showUserIdentity is false', async () => {
466
+ mockUserAccountManager.getCachedGoogleAccount.mockReturnValue('test@example.com');
467
+ const mockAddItem = vi.fn();
468
+ mockedUseHistory.mockReturnValue({
469
+ history: [],
470
+ addItem: mockAddItem,
471
+ updateItem: vi.fn(),
472
+ clearItems: vi.fn(),
473
+ loadHistory: vi.fn(),
474
+ });
475
+ mockSettings.merged.ui = {
476
+ ...mockSettings.merged.ui,
477
+ showUserIdentity: false,
478
+ };
479
+ const authConfig = makeFakeConfig();
480
+ vi.spyOn(authConfig, 'getTargetDir').mockReturnValue('/test/workspace');
481
+ vi.spyOn(authConfig, 'initialize').mockResolvedValue(undefined);
482
+ vi.spyOn(authConfig, 'getExtensionLoader').mockReturnValue(mockExtensionManager);
483
+ vi.spyOn(authConfig, 'getContentGeneratorConfig').mockReturnValue({
484
+ authType: AuthType.LOGIN_WITH_GOOGLE,
485
+ });
486
+ let unmount;
487
+ await act(async () => {
488
+ const result = renderAppContainer({ config: authConfig });
489
+ unmount = result.unmount;
490
+ });
491
+ // Give it some time to potentially call addItem
492
+ await new Promise((resolve) => setTimeout(resolve, 100));
493
+ expect(mockAddItem).not.toHaveBeenCalledWith(expect.objectContaining({
494
+ type: MessageType.INFO,
495
+ }));
496
+ await act(async () => {
497
+ unmount();
498
+ });
499
+ });
500
+ });
373
501
  describe('Context Providers', () => {
374
502
  it('provides AppContext with correct values', async () => {
375
503
  let unmount;
@@ -1558,7 +1686,7 @@ describe('AppContainer State Management', () => {
1558
1686
  expect(mockHandleSlashCommand).not.toHaveBeenCalled();
1559
1687
  // Advance timer past the reset threshold
1560
1688
  act(() => {
1561
- vi.advanceTimersByTime(1001);
1689
+ vi.advanceTimersByTime(WARNING_PROMPT_DURATION_MS + 1);
1562
1690
  });
1563
1691
  pressKey({ name: 'c', ctrl: true });
1564
1692
  expect(mockHandleSlashCommand).not.toHaveBeenCalled();
@@ -1588,7 +1716,7 @@ describe('AppContainer State Management', () => {
1588
1716
  expect(mockHandleSlashCommand).not.toHaveBeenCalled();
1589
1717
  // Advance timer past the reset threshold
1590
1718
  act(() => {
1591
- vi.advanceTimersByTime(1001);
1719
+ vi.advanceTimersByTime(WARNING_PROMPT_DURATION_MS + 1);
1592
1720
  });
1593
1721
  pressKey({ name: 'd', ctrl: true });
1594
1722
  expect(mockHandleSlashCommand).not.toHaveBeenCalled();
@@ -2043,6 +2171,33 @@ describe('AppContainer State Management', () => {
2043
2171
  expect(capturedUIState.userMessages).toContain('second prompt');
2044
2172
  unmount();
2045
2173
  });
2174
+ it('should show ask user dialog when request is received', async () => {
2175
+ let unmount;
2176
+ await act(async () => {
2177
+ const result = renderAppContainer();
2178
+ unmount = result.unmount;
2179
+ });
2180
+ const questions = [
2181
+ {
2182
+ question: 'What is your favorite color?',
2183
+ header: 'Color Preference',
2184
+ type: QuestionType.TEXT,
2185
+ },
2186
+ ];
2187
+ await act(async () => {
2188
+ await mockConfig.getMessageBus().publish({
2189
+ type: MessageBusType.ASK_USER_REQUEST,
2190
+ questions,
2191
+ correlationId: 'test-id',
2192
+ });
2193
+ });
2194
+ await waitFor(() => {
2195
+ expect(capturedAskUserRequest).not.toBeNull();
2196
+ expect(capturedAskUserRequest?.questions).toEqual(questions);
2197
+ expect(capturedAskUserRequest?.correlationId).toBe('test-id');
2198
+ }, { timeout: 2000 });
2199
+ unmount();
2200
+ });
2046
2201
  });
2047
2202
  describe('Regression Tests', () => {
2048
2203
  it('does not refresh static on startup if banner text is empty', async () => {