@google/gemini-cli 0.9.0-nightly.20250926.1487841d → 0.9.0-nightly.20251001.14dbda91

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 (219) hide show
  1. package/README.md +43 -54
  2. package/dist/package.json +2 -2
  3. package/dist/src/commands/extensions/new.test.js +4 -3
  4. package/dist/src/commands/extensions/new.test.js.map +1 -1
  5. package/dist/src/commands/extensions/update.js +18 -4
  6. package/dist/src/commands/extensions/update.js.map +1 -1
  7. package/dist/src/commands/mcp/list.js +3 -2
  8. package/dist/src/commands/mcp/list.js.map +1 -1
  9. package/dist/src/config/config.d.ts +3 -2
  10. package/dist/src/config/config.js +52 -47
  11. package/dist/src/config/config.js.map +1 -1
  12. package/dist/src/config/extension.d.ts +6 -4
  13. package/dist/src/config/extension.js +40 -58
  14. package/dist/src/config/extension.js.map +1 -1
  15. package/dist/src/config/extensions/extensionEnablement.d.ts +12 -9
  16. package/dist/src/config/extensions/extensionEnablement.js +37 -9
  17. package/dist/src/config/extensions/extensionEnablement.js.map +1 -1
  18. package/dist/src/config/extensions/extensionEnablement.test.js +72 -0
  19. package/dist/src/config/extensions/extensionEnablement.test.js.map +1 -1
  20. package/dist/src/config/extensions/github.js +7 -4
  21. package/dist/src/config/extensions/github.js.map +1 -1
  22. package/dist/src/config/extensions/update.d.ts +4 -5
  23. package/dist/src/config/extensions/update.js +54 -40
  24. package/dist/src/config/extensions/update.js.map +1 -1
  25. package/dist/src/config/extensions/update.test.js +84 -69
  26. package/dist/src/config/extensions/update.test.js.map +1 -1
  27. package/dist/src/config/settings.js +1 -0
  28. package/dist/src/config/settings.js.map +1 -1
  29. package/dist/src/config/settingsSchema.d.ts +21 -3
  30. package/dist/src/config/settingsSchema.js +20 -2
  31. package/dist/src/config/settingsSchema.js.map +1 -1
  32. package/dist/src/config/settingsSchema.test.js +9 -1
  33. package/dist/src/config/settingsSchema.test.js.map +1 -1
  34. package/dist/src/gemini.js +8 -7
  35. package/dist/src/gemini.js.map +1 -1
  36. package/dist/src/gemini.test.js +1 -1
  37. package/dist/src/gemini.test.js.map +1 -1
  38. package/dist/src/generated/git-commit.d.ts +2 -2
  39. package/dist/src/generated/git-commit.js +2 -2
  40. package/dist/src/test-utils/render.d.ts +3 -1
  41. package/dist/src/test-utils/render.js +4 -1
  42. package/dist/src/test-utils/render.js.map +1 -1
  43. package/dist/src/ui/App.js +7 -9
  44. package/dist/src/ui/App.js.map +1 -1
  45. package/dist/src/ui/AppContainer.js +47 -9
  46. package/dist/src/ui/AppContainer.js.map +1 -1
  47. package/dist/src/ui/AppContainer.test.js +269 -7
  48. package/dist/src/ui/AppContainer.test.js.map +1 -1
  49. package/dist/src/ui/IdeIntegrationNudge.js +3 -0
  50. package/dist/src/ui/IdeIntegrationNudge.js.map +1 -1
  51. package/dist/src/ui/auth/AuthDialog.js +8 -1
  52. package/dist/src/ui/auth/AuthDialog.js.map +1 -1
  53. package/dist/src/ui/auth/AuthDialog.test.js +1 -0
  54. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
  55. package/dist/src/ui/commands/extensionsCommand.js +14 -10
  56. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  57. package/dist/src/ui/commands/mcpCommand.js +78 -260
  58. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  59. package/dist/src/ui/commands/toolsCommand.js +10 -24
  60. package/dist/src/ui/commands/toolsCommand.js.map +1 -1
  61. package/dist/src/ui/commands/types.d.ts +6 -5
  62. package/dist/src/ui/commands/types.js.map +1 -1
  63. package/dist/src/ui/components/Composer.js +4 -21
  64. package/dist/src/ui/components/Composer.js.map +1 -1
  65. package/dist/src/ui/components/ConsentPrompt.d.ts +13 -0
  66. package/dist/src/ui/components/ConsentPrompt.js +19 -0
  67. package/dist/src/ui/components/ConsentPrompt.js.map +1 -0
  68. package/dist/src/ui/components/ConsentPrompt.test.d.ts +6 -0
  69. package/dist/src/ui/components/ConsentPrompt.test.js +67 -0
  70. package/dist/src/ui/components/ConsentPrompt.test.js.map +1 -0
  71. package/dist/src/ui/components/DialogManager.d.ts +2 -1
  72. package/dist/src/ui/components/DialogManager.js +9 -9
  73. package/dist/src/ui/components/DialogManager.js.map +1 -1
  74. package/dist/src/ui/components/EditorSettingsDialog.js +11 -2
  75. package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
  76. package/dist/src/ui/components/ExitWarning.d.ts +7 -0
  77. package/dist/src/ui/components/ExitWarning.js +9 -0
  78. package/dist/src/ui/components/ExitWarning.js.map +1 -0
  79. package/dist/src/ui/components/FolderTrustDialog.js +3 -0
  80. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
  81. package/dist/src/ui/components/Footer.d.ts +1 -19
  82. package/dist/src/ui/components/Footer.js +28 -2
  83. package/dist/src/ui/components/Footer.js.map +1 -1
  84. package/dist/src/ui/components/Help.js +1 -1
  85. package/dist/src/ui/components/Help.js.map +1 -1
  86. package/dist/src/ui/components/HistoryItemDisplay.d.ts +1 -0
  87. package/dist/src/ui/components/HistoryItemDisplay.js +5 -2
  88. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  89. package/dist/src/ui/components/HistoryItemDisplay.test.js +50 -10
  90. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
  91. package/dist/src/ui/components/IdeTrustChangeDialog.d.ts +11 -0
  92. package/dist/src/ui/components/IdeTrustChangeDialog.js +32 -0
  93. package/dist/src/ui/components/IdeTrustChangeDialog.js.map +1 -0
  94. package/dist/src/ui/components/IdeTrustChangeDialog.test.d.ts +6 -0
  95. package/dist/src/ui/components/IdeTrustChangeDialog.test.js +57 -0
  96. package/dist/src/ui/components/IdeTrustChangeDialog.test.js.map +1 -0
  97. package/dist/src/ui/components/InputPrompt.d.ts +6 -0
  98. package/dist/src/ui/components/InputPrompt.js +43 -13
  99. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  100. package/dist/src/ui/components/LoopDetectionConfirmation.js +2 -0
  101. package/dist/src/ui/components/LoopDetectionConfirmation.js.map +1 -1
  102. package/dist/src/ui/components/MainContent.js +6 -1
  103. package/dist/src/ui/components/MainContent.js.map +1 -1
  104. package/dist/src/ui/components/ModelDialog.js +4 -0
  105. package/dist/src/ui/components/ModelDialog.js.map +1 -1
  106. package/dist/src/ui/components/PermissionsModifyTrustDialog.js +3 -0
  107. package/dist/src/ui/components/PermissionsModifyTrustDialog.js.map +1 -1
  108. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +0 -4
  109. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +1 -1
  110. package/dist/src/ui/components/ProQuotaDialog.js +2 -0
  111. package/dist/src/ui/components/ProQuotaDialog.js.map +1 -1
  112. package/dist/src/ui/components/ProQuotaDialog.test.js +2 -0
  113. package/dist/src/ui/components/ProQuotaDialog.test.js.map +1 -1
  114. package/dist/src/ui/components/SettingsDialog.js +5 -2
  115. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  116. package/dist/src/ui/components/ShellConfirmationDialog.js +3 -0
  117. package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
  118. package/dist/src/ui/components/ThemeDialog.js +2 -0
  119. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  120. package/dist/src/ui/components/WorkspaceMigrationDialog.js +2 -2
  121. package/dist/src/ui/components/WorkspaceMigrationDialog.js.map +1 -1
  122. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +14 -0
  123. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  124. package/dist/src/ui/components/messages/ToolMessage.js +24 -1
  125. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  126. package/dist/src/ui/components/messages/UserMessage.js +1 -2
  127. package/dist/src/ui/components/messages/UserMessage.js.map +1 -1
  128. package/dist/src/ui/components/shared/BaseSelectionList.d.ts +5 -10
  129. package/dist/src/ui/components/shared/BaseSelectionList.js +1 -1
  130. package/dist/src/ui/components/shared/BaseSelectionList.js.map +1 -1
  131. package/dist/src/ui/components/shared/BaseSelectionList.test.js +7 -5
  132. package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +1 -1
  133. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.d.ts +2 -3
  134. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.js +1 -1
  135. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.js.map +1 -1
  136. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js +13 -2
  137. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js.map +1 -1
  138. package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +2 -3
  139. package/dist/src/ui/components/shared/RadioButtonSelect.js +1 -1
  140. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
  141. package/dist/src/ui/components/shared/RadioButtonSelect.test.js +5 -3
  142. package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +1 -1
  143. package/dist/src/ui/components/shared/ScopeSelector.js +4 -1
  144. package/dist/src/ui/components/shared/ScopeSelector.js.map +1 -1
  145. package/dist/src/ui/components/views/McpStatus.d.ts +27 -0
  146. package/dist/src/ui/components/views/McpStatus.js +77 -0
  147. package/dist/src/ui/components/views/McpStatus.js.map +1 -0
  148. package/dist/src/ui/components/views/McpStatus.test.d.ts +6 -0
  149. package/dist/src/ui/components/views/McpStatus.test.js +117 -0
  150. package/dist/src/ui/components/views/McpStatus.test.js.map +1 -0
  151. package/dist/src/ui/components/views/ToolsList.d.ts +14 -0
  152. package/dist/src/ui/components/views/ToolsList.js +7 -0
  153. package/dist/src/ui/components/views/ToolsList.js.map +1 -0
  154. package/dist/src/ui/components/views/ToolsList.test.d.ts +6 -0
  155. package/dist/src/ui/components/views/ToolsList.test.js +45 -0
  156. package/dist/src/ui/components/views/ToolsList.test.js.map +1 -0
  157. package/dist/src/ui/contexts/UIStateContext.d.ts +4 -1
  158. package/dist/src/ui/contexts/UIStateContext.js +1 -0
  159. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  160. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +5 -5
  161. package/dist/src/ui/hooks/slashCommandProcessor.js +4 -2
  162. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  163. package/dist/src/ui/hooks/useExtensionUpdates.d.ts +10 -1
  164. package/dist/src/ui/hooks/useExtensionUpdates.js +97 -51
  165. package/dist/src/ui/hooks/useExtensionUpdates.js.map +1 -1
  166. package/dist/src/ui/hooks/useExtensionUpdates.test.js +158 -80
  167. package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -1
  168. package/dist/src/ui/hooks/useIdeTrustListener.d.ts +4 -2
  169. package/dist/src/ui/hooks/useIdeTrustListener.js +40 -14
  170. package/dist/src/ui/hooks/useIdeTrustListener.js.map +1 -1
  171. package/dist/src/ui/hooks/useIdeTrustListener.test.d.ts +6 -0
  172. package/dist/src/ui/hooks/useIdeTrustListener.test.js +183 -0
  173. package/dist/src/ui/hooks/useIdeTrustListener.test.js.map +1 -0
  174. package/dist/src/ui/hooks/useSelectionList.d.ts +1 -0
  175. package/dist/src/ui/hooks/useSelectionList.js +63 -43
  176. package/dist/src/ui/hooks/useSelectionList.js.map +1 -1
  177. package/dist/src/ui/hooks/useSelectionList.test.js +111 -37
  178. package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -1
  179. package/dist/src/ui/hooks/useToolScheduler.test.js +2 -2
  180. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  181. package/dist/src/ui/layouts/DefaultAppLayout.d.ts +7 -0
  182. package/dist/src/ui/layouts/DefaultAppLayout.js +13 -0
  183. package/dist/src/ui/layouts/DefaultAppLayout.js.map +1 -0
  184. package/dist/src/ui/layouts/ScreenReaderAppLayout.d.ts +7 -0
  185. package/dist/src/ui/layouts/ScreenReaderAppLayout.js +14 -0
  186. package/dist/src/ui/layouts/ScreenReaderAppLayout.js.map +1 -0
  187. package/dist/src/ui/noninteractive/nonInteractiveUi.js +2 -1
  188. package/dist/src/ui/noninteractive/nonInteractiveUi.js.map +1 -1
  189. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +2 -2
  190. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +1 -1
  191. package/dist/src/ui/state/extensions.d.ts +27 -0
  192. package/dist/src/ui/state/extensions.js +45 -0
  193. package/dist/src/ui/state/extensions.js.map +1 -1
  194. package/dist/src/ui/types.d.ts +45 -3
  195. package/dist/src/ui/types.js +2 -0
  196. package/dist/src/ui/types.js.map +1 -1
  197. package/dist/src/ui/utils/MarkdownDisplay.js +1 -2
  198. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  199. package/dist/src/ui/utils/MarkdownDisplay.test.js +94 -91
  200. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -1
  201. package/dist/src/ui/utils/displayUtils.d.ts +1 -0
  202. package/dist/src/ui/utils/displayUtils.js +3 -0
  203. package/dist/src/ui/utils/displayUtils.js.map +1 -1
  204. package/dist/src/ui/utils/displayUtils.test.js +36 -17
  205. package/dist/src/ui/utils/displayUtils.test.js.map +1 -1
  206. package/dist/src/utils/windowTitle.d.ts +12 -0
  207. package/dist/src/utils/windowTitle.js +19 -0
  208. package/dist/src/utils/windowTitle.js.map +1 -0
  209. package/dist/src/utils/windowTitle.test.d.ts +6 -0
  210. package/dist/src/utils/windowTitle.test.js +49 -0
  211. package/dist/src/utils/windowTitle.test.js.map +1 -0
  212. package/dist/src/zed-integration/fileSystemService.d.ts +1 -0
  213. package/dist/src/zed-integration/fileSystemService.js +3 -0
  214. package/dist/src/zed-integration/fileSystemService.js.map +1 -1
  215. package/dist/src/zed-integration/zedIntegration.d.ts +1 -1
  216. package/dist/src/zed-integration/zedIntegration.js +3 -1
  217. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  218. package/dist/tsconfig.tsbuildinfo +1 -1
  219. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownDisplay.js","sourceRoot":"","sources":["../../../../src/ui/utils/MarkdownDisplay.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MarkdownDisplay.js","sourceRoot":"","sources":["../../../../src/ui/utils/MarkdownDisplay.tsx"],"names":[],"mappings":"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"}
@@ -4,121 +4,123 @@ import { jsx as _jsx } from "react/jsx-runtime";
4
4
  * Copyright 2025 Google LLC
5
5
  * SPDX-License-Identifier: Apache-2.0
6
6
  */
7
- import { render } from 'ink-testing-library';
8
7
  import { describe, it, expect, vi, beforeEach } from 'vitest';
9
8
  import { MarkdownDisplay } from './MarkdownDisplay.js';
10
9
  import { LoadedSettings } from '../../config/settings.js';
11
- import { SettingsContext } from '../contexts/SettingsContext.js';
12
- import { EOL } from 'node:os';
10
+ import { renderWithProviders } from '../../test-utils/render.js';
13
11
  describe('<MarkdownDisplay />', () => {
14
12
  const baseProps = {
15
13
  isPending: false,
16
14
  terminalWidth: 80,
17
15
  availableTerminalHeight: 40,
18
16
  };
19
- const mockSettings = new LoadedSettings({ path: '', settings: {}, originalSettings: {} }, { path: '', settings: {}, originalSettings: {} }, { path: '', settings: {}, originalSettings: {} }, { path: '', settings: {}, originalSettings: {} }, true, new Set());
20
17
  beforeEach(() => {
21
18
  vi.clearAllMocks();
22
19
  });
23
20
  it('renders nothing for empty text', () => {
24
- const { lastFrame } = render(_jsx(SettingsContext.Provider, { value: mockSettings, children: _jsx(MarkdownDisplay, { ...baseProps, text: "" }) }));
21
+ const { lastFrame } = renderWithProviders(_jsx(MarkdownDisplay, { ...baseProps, text: "" }));
25
22
  expect(lastFrame()).toMatchSnapshot();
26
23
  });
27
24
  it('renders a simple paragraph', () => {
28
25
  const text = 'Hello, world.';
29
- const { lastFrame } = render(_jsx(SettingsContext.Provider, { value: mockSettings, children: _jsx(MarkdownDisplay, { ...baseProps, text: text }) }));
26
+ const { lastFrame } = renderWithProviders(_jsx(MarkdownDisplay, { ...baseProps, text: text }));
30
27
  expect(lastFrame()).toMatchSnapshot();
31
28
  });
32
- it('renders headers with correct levels', () => {
33
- const text = `
29
+ const lineEndings = [
30
+ { name: 'Windows', eol: '\r\n' },
31
+ { name: 'Unix', eol: '\n' },
32
+ ];
33
+ describe.each(lineEndings)('with $name line endings', ({ eol }) => {
34
+ it('renders headers with correct levels', () => {
35
+ const text = `
34
36
  # Header 1
35
37
  ## Header 2
36
38
  ### Header 3
37
39
  #### Header 4
38
- `.replace(/\n/g, EOL);
39
- const { lastFrame } = render(_jsx(SettingsContext.Provider, { value: mockSettings, children: _jsx(MarkdownDisplay, { ...baseProps, text: text }) }));
40
- expect(lastFrame()).toMatchSnapshot();
41
- });
42
- it('renders a fenced code block with a language', () => {
43
- const text = '```javascript\nconst x = 1;\nconsole.log(x);\n```'.replace(/\n/g, EOL);
44
- const { lastFrame } = render(_jsx(SettingsContext.Provider, { value: mockSettings, children: _jsx(MarkdownDisplay, { ...baseProps, text: text }) }));
45
- expect(lastFrame()).toMatchSnapshot();
46
- });
47
- it('renders a fenced code block without a language', () => {
48
- const text = '```\nplain text\n```'.replace(/\n/g, EOL);
49
- const { lastFrame } = render(_jsx(SettingsContext.Provider, { value: mockSettings, children: _jsx(MarkdownDisplay, { ...baseProps, text: text }) }));
50
- expect(lastFrame()).toMatchSnapshot();
51
- });
52
- it('handles unclosed (pending) code blocks', () => {
53
- const text = '```typescript\nlet y = 2;'.replace(/\n/g, EOL);
54
- const { lastFrame } = render(_jsx(SettingsContext.Provider, { value: mockSettings, children: _jsx(MarkdownDisplay, { ...baseProps, text: text, isPending: true }) }));
55
- expect(lastFrame()).toMatchSnapshot();
56
- });
57
- it('renders unordered lists with different markers', () => {
58
- const text = `
40
+ `.replace(/\n/g, eol);
41
+ const { lastFrame } = renderWithProviders(_jsx(MarkdownDisplay, { ...baseProps, text: text }));
42
+ expect(lastFrame()).toMatchSnapshot();
43
+ });
44
+ it('renders a fenced code block with a language', () => {
45
+ const text = '```javascript\nconst x = 1;\nconsole.log(x);\n```'.replace(/\n/g, eol);
46
+ const { lastFrame } = renderWithProviders(_jsx(MarkdownDisplay, { ...baseProps, text: text }));
47
+ expect(lastFrame()).toMatchSnapshot();
48
+ });
49
+ it('renders a fenced code block without a language', () => {
50
+ const text = '```\nplain text\n```'.replace(/\n/g, eol);
51
+ const { lastFrame } = renderWithProviders(_jsx(MarkdownDisplay, { ...baseProps, text: text }));
52
+ expect(lastFrame()).toMatchSnapshot();
53
+ });
54
+ it('handles unclosed (pending) code blocks', () => {
55
+ const text = '```typescript\nlet y = 2;'.replace(/\n/g, eol);
56
+ const { lastFrame } = renderWithProviders(_jsx(MarkdownDisplay, { ...baseProps, text: text, isPending: true }));
57
+ expect(lastFrame()).toMatchSnapshot();
58
+ });
59
+ it('renders unordered lists with different markers', () => {
60
+ const text = `
59
61
  - item A
60
62
  * item B
61
63
  + item C
62
- `.replace(/\n/g, EOL);
63
- const { lastFrame } = render(_jsx(SettingsContext.Provider, { value: mockSettings, children: _jsx(MarkdownDisplay, { ...baseProps, text: text }) }));
64
- expect(lastFrame()).toMatchSnapshot();
65
- });
66
- it('renders nested unordered lists', () => {
67
- const text = `
64
+ `.replace(/\n/g, eol);
65
+ const { lastFrame } = renderWithProviders(_jsx(MarkdownDisplay, { ...baseProps, text: text }));
66
+ expect(lastFrame()).toMatchSnapshot();
67
+ });
68
+ it('renders nested unordered lists', () => {
69
+ const text = `
68
70
  * Level 1
69
71
  * Level 2
70
72
  * Level 3
71
- `.replace(/\n/g, EOL);
72
- const { lastFrame } = render(_jsx(SettingsContext.Provider, { value: mockSettings, children: _jsx(MarkdownDisplay, { ...baseProps, text: text }) }));
73
- expect(lastFrame()).toMatchSnapshot();
74
- });
75
- it('renders ordered lists', () => {
76
- const text = `
73
+ `.replace(/\n/g, eol);
74
+ const { lastFrame } = renderWithProviders(_jsx(MarkdownDisplay, { ...baseProps, text: text }));
75
+ expect(lastFrame()).toMatchSnapshot();
76
+ });
77
+ it('renders ordered lists', () => {
78
+ const text = `
77
79
  1. First item
78
80
  2. Second item
79
- `.replace(/\n/g, EOL);
80
- const { lastFrame } = render(_jsx(SettingsContext.Provider, { value: mockSettings, children: _jsx(MarkdownDisplay, { ...baseProps, text: text }) }));
81
- expect(lastFrame()).toMatchSnapshot();
82
- });
83
- it('renders horizontal rules', () => {
84
- const text = `
81
+ `.replace(/\n/g, eol);
82
+ const { lastFrame } = renderWithProviders(_jsx(MarkdownDisplay, { ...baseProps, text: text }));
83
+ expect(lastFrame()).toMatchSnapshot();
84
+ });
85
+ it('renders horizontal rules', () => {
86
+ const text = `
85
87
  Hello
86
88
  ---
87
89
  World
88
90
  ***
89
91
  Test
90
- `.replace(/\n/g, EOL);
91
- const { lastFrame } = render(_jsx(SettingsContext.Provider, { value: mockSettings, children: _jsx(MarkdownDisplay, { ...baseProps, text: text }) }));
92
- expect(lastFrame()).toMatchSnapshot();
93
- });
94
- it('renders tables correctly', () => {
95
- const text = `
92
+ `.replace(/\n/g, eol);
93
+ const { lastFrame } = renderWithProviders(_jsx(MarkdownDisplay, { ...baseProps, text: text }));
94
+ expect(lastFrame()).toMatchSnapshot();
95
+ });
96
+ it('renders tables correctly', () => {
97
+ const text = `
96
98
  | Header 1 | Header 2 |
97
99
  |----------|:--------:|
98
100
  | Cell 1 | Cell 2 |
99
101
  | Cell 3 | Cell 4 |
100
- `.replace(/\n/g, EOL);
101
- const { lastFrame } = render(_jsx(SettingsContext.Provider, { value: mockSettings, children: _jsx(MarkdownDisplay, { ...baseProps, text: text }) }));
102
- expect(lastFrame()).toMatchSnapshot();
103
- });
104
- it('handles a table at the end of the input', () => {
105
- const text = `
102
+ `.replace(/\n/g, eol);
103
+ const { lastFrame } = renderWithProviders(_jsx(MarkdownDisplay, { ...baseProps, text: text }));
104
+ expect(lastFrame()).toMatchSnapshot();
105
+ });
106
+ it('handles a table at the end of the input', () => {
107
+ const text = `
106
108
  Some text before.
107
109
  | A | B |
108
110
  |---|
109
- | 1 | 2 |`.replace(/\n/g, EOL);
110
- const { lastFrame } = render(_jsx(SettingsContext.Provider, { value: mockSettings, children: _jsx(MarkdownDisplay, { ...baseProps, text: text }) }));
111
- expect(lastFrame()).toMatchSnapshot();
112
- });
113
- it('inserts a single space between paragraphs', () => {
114
- const text = `Paragraph 1.
111
+ | 1 | 2 |`.replace(/\n/g, eol);
112
+ const { lastFrame } = renderWithProviders(_jsx(MarkdownDisplay, { ...baseProps, text: text }));
113
+ expect(lastFrame()).toMatchSnapshot();
114
+ });
115
+ it('inserts a single space between paragraphs', () => {
116
+ const text = `Paragraph 1.
115
117
 
116
- Paragraph 2.`.replace(/\n/g, EOL);
117
- const { lastFrame } = render(_jsx(SettingsContext.Provider, { value: mockSettings, children: _jsx(MarkdownDisplay, { ...baseProps, text: text }) }));
118
- expect(lastFrame()).toMatchSnapshot();
119
- });
120
- it('correctly parses a mix of markdown elements', () => {
121
- const text = `
118
+ Paragraph 2.`.replace(/\n/g, eol);
119
+ const { lastFrame } = renderWithProviders(_jsx(MarkdownDisplay, { ...baseProps, text: text }));
120
+ expect(lastFrame()).toMatchSnapshot();
121
+ });
122
+ it('correctly parses a mix of markdown elements', () => {
123
+ const text = `
122
124
  # Main Title
123
125
 
124
126
  Here is a paragraph.
@@ -131,26 +133,27 @@ some code
131
133
  \`\`\`
132
134
 
133
135
  Another paragraph.
134
- `.replace(/\n/g, EOL);
135
- const { lastFrame } = render(_jsx(SettingsContext.Provider, { value: mockSettings, children: _jsx(MarkdownDisplay, { ...baseProps, text: text }) }));
136
- expect(lastFrame()).toMatchSnapshot();
137
- });
138
- it('hides line numbers in code blocks when showLineNumbers is false', () => {
139
- const text = '```javascript\nconst x = 1;\n```'.replace(/\n/g, EOL);
140
- const settings = new LoadedSettings({ path: '', settings: {}, originalSettings: {} }, { path: '', settings: {}, originalSettings: {} }, {
141
- path: '',
142
- settings: { ui: { showLineNumbers: false } },
143
- originalSettings: { ui: { showLineNumbers: false } },
144
- }, { path: '', settings: {}, originalSettings: {} }, true, new Set());
145
- const { lastFrame } = render(_jsx(SettingsContext.Provider, { value: settings, children: _jsx(MarkdownDisplay, { ...baseProps, text: text }) }));
146
- expect(lastFrame()).toMatchSnapshot();
147
- expect(lastFrame()).not.toContain(' 1 ');
148
- });
149
- it('shows line numbers in code blocks by default', () => {
150
- const text = '```javascript\nconst x = 1;\n```'.replace(/\n/g, EOL);
151
- const { lastFrame } = render(_jsx(SettingsContext.Provider, { value: mockSettings, children: _jsx(MarkdownDisplay, { ...baseProps, text: text }) }));
152
- expect(lastFrame()).toMatchSnapshot();
153
- expect(lastFrame()).toContain(' 1 ');
136
+ `.replace(/\n/g, eol);
137
+ const { lastFrame } = renderWithProviders(_jsx(MarkdownDisplay, { ...baseProps, text: text }));
138
+ expect(lastFrame()).toMatchSnapshot();
139
+ });
140
+ it('hides line numbers in code blocks when showLineNumbers is false', () => {
141
+ const text = '```javascript\nconst x = 1;\n```'.replace(/\n/g, eol);
142
+ const settings = new LoadedSettings({ path: '', settings: {}, originalSettings: {} }, { path: '', settings: {}, originalSettings: {} }, {
143
+ path: '',
144
+ settings: { ui: { showLineNumbers: false } },
145
+ originalSettings: { ui: { showLineNumbers: false } },
146
+ }, { path: '', settings: {}, originalSettings: {} }, true, new Set());
147
+ const { lastFrame } = renderWithProviders(_jsx(MarkdownDisplay, { ...baseProps, text: text }), { settings });
148
+ expect(lastFrame()).toMatchSnapshot();
149
+ expect(lastFrame()).not.toContain(' 1 ');
150
+ });
151
+ it('shows line numbers in code blocks by default', () => {
152
+ const text = '```javascript\nconst x = 1;\n```'.replace(/\n/g, eol);
153
+ const { lastFrame } = renderWithProviders(_jsx(MarkdownDisplay, { ...baseProps, text: text }));
154
+ expect(lastFrame()).toMatchSnapshot();
155
+ expect(lastFrame()).toContain(' 1 ');
156
+ });
154
157
  });
155
158
  });
156
159
  //# sourceMappingURL=MarkdownDisplay.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownDisplay.test.js","sourceRoot":"","sources":["../../../../src/ui/utils/MarkdownDisplay.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MarkdownDisplay.test.js","sourceRoot":"","sources":["../../../../src/ui/utils/MarkdownDisplay.test.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,MAAM,SAAS,GAAG;QAChB,SAAS,EAAE,KAAK;QAChB,aAAa,EAAE,EAAE;QACjB,uBAAuB,EAAE,EAAE;KAC5B,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,eAAe,OAAK,SAAS,EAAE,IAAI,EAAC,EAAE,GAAG,CAC3C,CAAC;QACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,IAAI,GAAG,eAAe,CAAC;QAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,eAAe,OAAK,SAAS,EAAE,IAAI,EAAE,IAAI,GAAI,CAC/C,CAAC;QACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG;QAClB,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE;QAChC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;KAC5B,CAAC;IAEF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,yBAAyB,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;QAChE,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,IAAI,GAAG;;;;;CAKlB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAChB,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,eAAe,OAAK,SAAS,EAAE,IAAI,EAAE,IAAI,GAAI,CAC/C,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,IAAI,GAAG,mDAAmD,CAAC,OAAO,CACtE,KAAK,EACL,GAAG,CACJ,CAAC;YACF,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,eAAe,OAAK,SAAS,EAAE,IAAI,EAAE,IAAI,GAAI,CAC/C,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACxD,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,eAAe,OAAK,SAAS,EAAE,IAAI,EAAE,IAAI,GAAI,CAC/C,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,IAAI,GAAG,2BAA2B,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC7D,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,eAAe,OAAK,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAI,CAChE,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,IAAI,GAAG;;;;CAIlB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAChB,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,eAAe,OAAK,SAAS,EAAE,IAAI,EAAE,IAAI,GAAI,CAC/C,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,IAAI,GAAG;;;;CAIlB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAChB,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,eAAe,OAAK,SAAS,EAAE,IAAI,EAAE,IAAI,GAAI,CAC/C,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;YAC/B,MAAM,IAAI,GAAG;;;CAGlB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAChB,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,eAAe,OAAK,SAAS,EAAE,IAAI,EAAE,IAAI,GAAI,CAC/C,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAClC,MAAM,IAAI,GAAG;;;;;;CAMlB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAChB,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,eAAe,OAAK,SAAS,EAAE,IAAI,EAAE,IAAI,GAAI,CAC/C,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAClC,MAAM,IAAI,GAAG;;;;;CAKlB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAChB,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,eAAe,OAAK,SAAS,EAAE,IAAI,EAAE,IAAI,GAAI,CAC/C,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,IAAI,GAAG;;;;UAIT,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACzB,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,eAAe,OAAK,SAAS,EAAE,IAAI,EAAE,IAAI,GAAI,CAC/C,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,IAAI,GAAG;;aAEN,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC5B,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,eAAe,OAAK,SAAS,EAAE,IAAI,EAAE,IAAI,GAAI,CAC/C,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,IAAI,GAAG;;;;;;;;;;;;;CAalB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAChB,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,eAAe,OAAK,SAAS,EAAE,IAAI,EAAE,IAAI,GAAI,CAC/C,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;YACzE,MAAM,IAAI,GAAG,kCAAkC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,IAAI,cAAc,CACjC,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAChD,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAChD;gBACE,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE;gBAC5C,gBAAgB,EAAE,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE;aACrD,EACD,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAChD,IAAI,EACJ,IAAI,GAAG,EAAE,CACV,CAAC;YAEF,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,eAAe,OAAK,SAAS,EAAE,IAAI,EAAE,IAAI,GAAI,EAC9C,EAAE,QAAQ,EAAE,CACb,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;YACtC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,IAAI,GAAG,kCAAkC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACpE,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CACvC,KAAC,eAAe,OAAK,SAAS,EAAE,IAAI,EAAE,IAAI,GAAI,CAC/C,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC;YACtC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -12,6 +12,7 @@ export declare const CACHE_EFFICIENCY_MEDIUM = 15;
12
12
  export declare const getStatusColor: (value: number, thresholds: {
13
13
  green: number;
14
14
  yellow: number;
15
+ red?: number;
15
16
  }, options?: {
16
17
  defaultColor?: string;
17
18
  }) => string;
@@ -19,6 +19,9 @@ export const getStatusColor = (value, thresholds, options = {}) => {
19
19
  if (value >= thresholds.yellow) {
20
20
  return theme.status.warning;
21
21
  }
22
+ if (thresholds.red != null && value >= thresholds.red) {
23
+ return theme.status.error;
24
+ }
22
25
  return options.defaultColor ?? theme.status.error;
23
26
  };
24
27
  //# sourceMappingURL=displayUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"displayUtils.js","sourceRoot":"","sources":["../../../../src/ui/utils/displayUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE9C,qBAAqB;AACrB,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,sBAAsB;AACtB,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAa,EACb,UAA6C,EAC7C,UAAqC,EAAE,EACvC,EAAE;IACF,IAAI,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IAC9B,CAAC;IACD,IAAI,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IAC9B,CAAC;IACD,OAAO,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACpD,CAAC,CAAC"}
1
+ {"version":3,"file":"displayUtils.js","sourceRoot":"","sources":["../../../../src/ui/utils/displayUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE9C,qBAAqB;AACrB,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,sBAAsB;AACtB,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAa,EACb,UAA2D,EAC3D,UAAqC,EAAE,EACvC,EAAE;IACF,IAAI,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IAC9B,CAAC;IACD,IAAI,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IAC9B,CAAC;IACD,IAAI,UAAU,CAAC,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;QACtD,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD,OAAO,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACpD,CAAC,CAAC"}
@@ -8,24 +8,43 @@ import { getStatusColor, TOOL_SUCCESS_RATE_HIGH, TOOL_SUCCESS_RATE_MEDIUM, USER_
8
8
  import { Colors } from '../colors.js';
9
9
  describe('displayUtils', () => {
10
10
  describe('getStatusColor', () => {
11
- const thresholds = {
12
- green: 80,
13
- yellow: 50,
14
- };
15
- it('should return green for values >= green threshold', () => {
16
- expect(getStatusColor(90, thresholds)).toBe(Colors.AccentGreen);
17
- expect(getStatusColor(80, thresholds)).toBe(Colors.AccentGreen);
11
+ describe('with red threshold', () => {
12
+ const thresholds = {
13
+ green: 80,
14
+ yellow: 50,
15
+ red: 20,
16
+ };
17
+ it('should return green for values >= green threshold', () => {
18
+ expect(getStatusColor(90, thresholds)).toBe(Colors.AccentGreen);
19
+ expect(getStatusColor(80, thresholds)).toBe(Colors.AccentGreen);
20
+ });
21
+ it('should return yellow for values < green and >= yellow threshold', () => {
22
+ expect(getStatusColor(79, thresholds)).toBe(Colors.AccentYellow);
23
+ expect(getStatusColor(50, thresholds)).toBe(Colors.AccentYellow);
24
+ });
25
+ it('should return red for values < yellow and >= red threshold', () => {
26
+ expect(getStatusColor(49, thresholds)).toBe(Colors.AccentRed);
27
+ expect(getStatusColor(20, thresholds)).toBe(Colors.AccentRed);
28
+ });
29
+ it('should return error for values < red threshold', () => {
30
+ expect(getStatusColor(19, thresholds)).toBe(Colors.AccentRed);
31
+ expect(getStatusColor(0, thresholds)).toBe(Colors.AccentRed);
32
+ });
33
+ it('should return defaultColor for values < red threshold when provided', () => {
34
+ expect(getStatusColor(19, thresholds, { defaultColor: Colors.Foreground })).toBe(Colors.Foreground);
35
+ });
18
36
  });
19
- it('should return yellow for values < green and >= yellow threshold', () => {
20
- expect(getStatusColor(79, thresholds)).toBe(Colors.AccentYellow);
21
- expect(getStatusColor(50, thresholds)).toBe(Colors.AccentYellow);
22
- });
23
- it('should return red for values < yellow threshold', () => {
24
- expect(getStatusColor(49, thresholds)).toBe(Colors.AccentRed);
25
- expect(getStatusColor(0, thresholds)).toBe(Colors.AccentRed);
26
- });
27
- it('should return defaultColor for values < yellow threshold when provided', () => {
28
- expect(getStatusColor(49, thresholds, { defaultColor: Colors.Foreground })).toBe(Colors.Foreground);
37
+ describe('when red threshold is not provided', () => {
38
+ const thresholds = {
39
+ green: 80,
40
+ yellow: 50,
41
+ };
42
+ it('should return error color for values < yellow threshold', () => {
43
+ expect(getStatusColor(49, thresholds)).toBe(Colors.AccentRed);
44
+ });
45
+ it('should return defaultColor for values < yellow threshold when provided', () => {
46
+ expect(getStatusColor(49, thresholds, { defaultColor: Colors.Foreground })).toBe(Colors.Foreground);
47
+ });
29
48
  });
30
49
  });
31
50
  describe('Threshold Constants', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"displayUtils.test.js","sourceRoot":"","sources":["../../../../src/ui/utils/displayUtils.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,MAAM,UAAU,GAAG;YACjB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;SACX,CAAC;QAEF,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAChE,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;YACzE,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACjE,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC9D,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;YAChF,MAAM,CACJ,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CACpE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1C,MAAM,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1C,MAAM,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5C,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"displayUtils.test.js","sourceRoot":"","sources":["../../../../src/ui/utils/displayUtils.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Computes the window title for the Gemini CLI application.
8
+ *
9
+ * @param folderName - The name of the current folder/workspace to display in the title
10
+ * @returns The computed window title, either from CLI_TITLE environment variable or the default Gemini title
11
+ */
12
+ export declare function computeWindowTitle(folderName: string): string;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Computes the window title for the Gemini CLI application.
8
+ *
9
+ * @param folderName - The name of the current folder/workspace to display in the title
10
+ * @returns The computed window title, either from CLI_TITLE environment variable or the default Gemini title
11
+ */
12
+ export function computeWindowTitle(folderName) {
13
+ const title = process.env['CLI_TITLE'] || `Gemini - ${folderName}`;
14
+ // Remove control characters that could cause issues in terminal titles
15
+ return title.replace(
16
+ // eslint-disable-next-line no-control-regex
17
+ /[\x00-\x1F\x7F]/g, '');
18
+ }
19
+ //# sourceMappingURL=windowTitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windowTitle.js","sourceRoot":"","sources":["../../../src/utils/windowTitle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,YAAY,UAAU,EAAE,CAAC;IAEnE,uEAAuE;IACvE,OAAO,KAAK,CAAC,OAAO;IAClB,4CAA4C;IAC5C,kBAAkB,EAClB,EAAE,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
7
+ import { computeWindowTitle } from './windowTitle.js';
8
+ describe('computeWindowTitle', () => {
9
+ let originalEnv;
10
+ beforeEach(() => {
11
+ originalEnv = process.env;
12
+ vi.stubEnv('CLI_TITLE', undefined);
13
+ });
14
+ afterEach(() => {
15
+ process.env = originalEnv;
16
+ });
17
+ it('should use default Gemini title when CLI_TITLE is not set', () => {
18
+ const result = computeWindowTitle('my-project');
19
+ expect(result).toBe('Gemini - my-project');
20
+ });
21
+ it('should use CLI_TITLE environment variable when set', () => {
22
+ vi.stubEnv('CLI_TITLE', 'Custom Title');
23
+ const result = computeWindowTitle('my-project');
24
+ expect(result).toBe('Custom Title');
25
+ });
26
+ it('should remove control characters from title', () => {
27
+ vi.stubEnv('CLI_TITLE', 'Title\x1b[31m with \x07 control chars');
28
+ const result = computeWindowTitle('my-project');
29
+ // The \x1b[31m (ANSI escape sequence) and \x07 (bell character) should be removed
30
+ expect(result).toBe('Title[31m with control chars');
31
+ });
32
+ it('should handle folder names with control characters', () => {
33
+ const result = computeWindowTitle('project\x07name');
34
+ expect(result).toBe('Gemini - projectname');
35
+ });
36
+ it('should handle empty folder name', () => {
37
+ const result = computeWindowTitle('');
38
+ expect(result).toBe('Gemini - ');
39
+ });
40
+ it('should handle folder names with spaces', () => {
41
+ const result = computeWindowTitle('my project');
42
+ expect(result).toBe('Gemini - my project');
43
+ });
44
+ it('should handle folder names with special characters', () => {
45
+ const result = computeWindowTitle('project-name_v1.0');
46
+ expect(result).toBe('Gemini - project-name_v1.0');
47
+ });
48
+ });
49
+ //# sourceMappingURL=windowTitle.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windowTitle.test.js","sourceRoot":"","sources":["../../../src/utils/windowTitle.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,WAA8B,CAAC;IAEnC,UAAU,CAAC,GAAG,EAAE;QACd,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;QAC1B,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,uCAAuC,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAChD,kFAAkF;QAClF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,MAAM,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,MAAM,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -16,4 +16,5 @@ export declare class AcpFileSystemService implements FileSystemService {
16
16
  constructor(client: acp.Client, sessionId: string, capabilities: acp.FileSystemCapability, fallback: FileSystemService);
17
17
  readTextFile(filePath: string): Promise<string>;
18
18
  writeTextFile(filePath: string, content: string): Promise<void>;
19
+ findFiles(fileName: string, searchPaths: readonly string[]): string[];
19
20
  }
@@ -39,5 +39,8 @@ export class AcpFileSystemService {
39
39
  sessionId: this.sessionId,
40
40
  });
41
41
  }
42
+ findFiles(fileName, searchPaths) {
43
+ return this.fallback.findFiles(fileName, searchPaths);
44
+ }
42
45
  }
43
46
  //# sourceMappingURL=fileSystemService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fileSystemService.js","sourceRoot":"","sources":["../../../src/zed-integration/fileSystemService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAEZ;IACA;IACA;IACA;IAJnB,YACmB,MAAkB,EAClB,SAAiB,EACjB,YAAsC,EACtC,QAA2B;QAH3B,WAAM,GAAN,MAAM,CAAY;QAClB,cAAS,GAAT,SAAS,CAAQ;QACjB,iBAAY,GAAZ,YAAY,CAA0B;QACtC,aAAQ,GAAR,QAAQ,CAAmB;IAC3C,CAAC;IAEJ,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC9C,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,OAAe;QACnD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAC9B,IAAI,EAAE,QAAQ;YACd,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"fileSystemService.js","sourceRoot":"","sources":["../../../src/zed-integration/fileSystemService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAEZ;IACA;IACA;IACA;IAJnB,YACmB,MAAkB,EAClB,SAAiB,EACjB,YAAsC,EACtC,QAA2B;QAH3B,WAAM,GAAN,MAAM,CAAY;QAClB,cAAS,GAAT,SAAS,CAAQ;QACjB,iBAAY,GAAZ,YAAY,CAA0B;QACtC,aAAQ,GAAR,QAAQ,CAAmB;IAC3C,CAAC;IAEJ,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC9C,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,OAAe;QACnD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAC9B,IAAI,EAAE,QAAQ;YACd,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,SAAS,CAAC,QAAgB,EAAE,WAA8B;QACxD,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxD,CAAC;CACF"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import type { Config } from '@google/gemini-cli-core';
7
7
  import type { LoadedSettings } from '../config/settings.js';
8
- import type { Extension } from '../config/extension.js';
8
+ import { type Extension } from '../config/extension.js';
9
9
  import type { CliArgs } from '../config/config.js';
10
10
  /**
11
11
  * Resolves the model to use based on the current configuration.
@@ -12,7 +12,9 @@ import * as fs from 'node:fs/promises';
12
12
  import * as path from 'node:path';
13
13
  import { z } from 'zod';
14
14
  import { randomUUID } from 'node:crypto';
15
+ import { ExtensionStorage } from '../config/extension.js';
15
16
  import { loadCliConfig } from '../config/config.js';
17
+ import { ExtensionEnablementManager } from '../config/extensions/extensionEnablement.js';
16
18
  /**
17
19
  * Resolves the model to use based on the current configuration.
18
20
  *
@@ -126,7 +128,7 @@ class GeminiAgent {
126
128
  mergedMcpServers[name] = new MCPServerConfig(command, args, env, cwd);
127
129
  }
128
130
  const settings = { ...this.settings.merged, mcpServers: mergedMcpServers };
129
- const config = await loadCliConfig(settings, this.extensions, sessionId, this.argv, cwd);
131
+ const config = await loadCliConfig(settings, this.extensions, new ExtensionEnablementManager(ExtensionStorage.getUserExtensionsDir(), this.argv.extensions), sessionId, this.argv, cwd);
130
132
  await config.initialize();
131
133
  return config;
132
134
  }