@google/gemini-cli 0.24.0-nightly.20251231.05049b5ab → 0.24.0-preview.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 (218) hide show
  1. package/dist/package.json +2 -2
  2. package/dist/src/commands/extensions/settings.js +4 -0
  3. package/dist/src/commands/extensions/settings.js.map +1 -1
  4. package/dist/src/commands/extensions/settings.test.d.ts +6 -0
  5. package/dist/src/commands/extensions/settings.test.js +170 -0
  6. package/dist/src/commands/extensions/settings.test.js.map +1 -0
  7. package/dist/src/commands/hooks/migrate.js +1 -1
  8. package/dist/src/commands/hooks/migrate.js.map +1 -1
  9. package/dist/src/commands/hooks/migrate.test.js +1 -1
  10. package/dist/src/commands/hooks/migrate.test.js.map +1 -1
  11. package/dist/src/commands/skills/disable.d.ts +14 -0
  12. package/dist/src/commands/skills/disable.js +47 -0
  13. package/dist/src/commands/skills/disable.js.map +1 -0
  14. package/dist/src/commands/skills/disable.test.d.ts +6 -0
  15. package/dist/src/commands/skills/disable.test.js +80 -0
  16. package/dist/src/commands/skills/disable.test.js.map +1 -0
  17. package/dist/src/commands/skills/enable.d.ts +14 -0
  18. package/dist/src/commands/skills/enable.js +47 -0
  19. package/dist/src/commands/skills/enable.js.map +1 -0
  20. package/dist/src/commands/skills/enable.test.d.ts +6 -0
  21. package/dist/src/commands/skills/enable.test.js +80 -0
  22. package/dist/src/commands/skills/enable.test.js.map +1 -0
  23. package/dist/src/commands/skills/list.d.ts +8 -0
  24. package/dist/src/commands/skills/list.js +46 -0
  25. package/dist/src/commands/skills/list.js.map +1 -0
  26. package/dist/src/commands/skills/list.test.d.ts +6 -0
  27. package/dist/src/commands/skills/list.test.js +102 -0
  28. package/dist/src/commands/skills/list.test.js.map +1 -0
  29. package/dist/src/commands/skills.d.ts +7 -0
  30. package/dist/src/commands/skills.js +26 -0
  31. package/dist/src/commands/skills.js.map +1 -0
  32. package/dist/src/commands/skills.test.d.ts +6 -0
  33. package/dist/src/commands/skills.test.js +49 -0
  34. package/dist/src/commands/skills.test.js.map +1 -0
  35. package/dist/src/config/config.d.ts +0 -1
  36. package/dist/src/config/config.js +57 -22
  37. package/dist/src/config/config.js.map +1 -1
  38. package/dist/src/config/config.test.js +187 -1
  39. package/dist/src/config/config.test.js.map +1 -1
  40. package/dist/src/config/extension-manager-skills.test.d.ts +6 -0
  41. package/dist/src/config/extension-manager-skills.test.js +98 -0
  42. package/dist/src/config/extension-manager-skills.test.js.map +1 -0
  43. package/dist/src/config/extension-manager.js +27 -17
  44. package/dist/src/config/extension-manager.js.map +1 -1
  45. package/dist/src/config/extension.test.js +16 -10
  46. package/dist/src/config/extension.test.js.map +1 -1
  47. package/dist/src/config/extensions/consent.d.ts +5 -3
  48. package/dist/src/config/extensions/consent.js +30 -7
  49. package/dist/src/config/extensions/consent.js.map +1 -1
  50. package/dist/src/config/extensions/consent.test.js +97 -3
  51. package/dist/src/config/extensions/consent.test.js.map +1 -1
  52. package/dist/src/config/extensions/extensionSettings.d.ts +1 -0
  53. package/dist/src/config/extensions/extensionSettings.js +14 -0
  54. package/dist/src/config/extensions/extensionSettings.js.map +1 -1
  55. package/dist/src/config/extensions/extensionUpdates.test.d.ts +6 -0
  56. package/dist/src/config/extensions/extensionUpdates.test.js +243 -0
  57. package/dist/src/config/extensions/extensionUpdates.test.js.map +1 -0
  58. package/dist/src/config/settings.d.ts +2 -1
  59. package/dist/src/config/settings.js +25 -6
  60. package/dist/src/config/settings.js.map +1 -1
  61. package/dist/src/config/settings.test.js +86 -28
  62. package/dist/src/config/settings.test.js.map +1 -1
  63. package/dist/src/config/settingsSchema.d.ts +99 -14
  64. package/dist/src/config/settingsSchema.js +101 -14
  65. package/dist/src/config/settingsSchema.js.map +1 -1
  66. package/dist/src/config/settingsSchema.test.js +8 -0
  67. package/dist/src/config/settingsSchema.test.js.map +1 -1
  68. package/dist/src/gemini.js +22 -9
  69. package/dist/src/gemini.js.map +1 -1
  70. package/dist/src/gemini.test.js +0 -1
  71. package/dist/src/gemini.test.js.map +1 -1
  72. package/dist/src/generated/git-commit.d.ts +3 -3
  73. package/dist/src/generated/git-commit.js +3 -3
  74. package/dist/src/generated/git-commit.js.map +1 -1
  75. package/dist/src/nonInteractiveCli.js +24 -0
  76. package/dist/src/nonInteractiveCli.js.map +1 -1
  77. package/dist/src/nonInteractiveCli.test.js +44 -0
  78. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  79. package/dist/src/services/BuiltinCommandLoader.d.ts +1 -1
  80. package/dist/src/services/BuiltinCommandLoader.js +17 -1
  81. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  82. package/dist/src/services/BuiltinCommandLoader.test.js +3 -0
  83. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
  84. package/dist/src/ui/AppContainer.js +41 -8
  85. package/dist/src/ui/AppContainer.js.map +1 -1
  86. package/dist/src/ui/AppContainer.test.js +16 -0
  87. package/dist/src/ui/AppContainer.test.js.map +1 -1
  88. package/dist/src/ui/commands/clearCommand.js +9 -1
  89. package/dist/src/ui/commands/clearCommand.js.map +1 -1
  90. package/dist/src/ui/commands/directoryCommand.js +18 -1
  91. package/dist/src/ui/commands/directoryCommand.js.map +1 -1
  92. package/dist/src/ui/commands/directoryCommand.test.js +38 -2
  93. package/dist/src/ui/commands/directoryCommand.test.js.map +1 -1
  94. package/dist/src/ui/commands/hooksCommand.js +1 -1
  95. package/dist/src/ui/commands/hooksCommand.js.map +1 -1
  96. package/dist/src/ui/commands/hooksCommand.test.js +1 -1
  97. package/dist/src/ui/commands/hooksCommand.test.js.map +1 -1
  98. package/dist/src/ui/commands/mcpCommand.test.js +10 -2
  99. package/dist/src/ui/commands/mcpCommand.test.js.map +1 -1
  100. package/dist/src/ui/commands/skillsCommand.d.ts +1 -1
  101. package/dist/src/ui/commands/skillsCommand.js +79 -5
  102. package/dist/src/ui/commands/skillsCommand.js.map +1 -1
  103. package/dist/src/ui/commands/skillsCommand.test.d.ts +1 -1
  104. package/dist/src/ui/commands/skillsCommand.test.js +146 -6
  105. package/dist/src/ui/commands/skillsCommand.test.js.map +1 -1
  106. package/dist/src/ui/commands/types.d.ts +5 -0
  107. package/dist/src/ui/components/Composer.js +4 -6
  108. package/dist/src/ui/components/Composer.js.map +1 -1
  109. package/dist/src/ui/components/Composer.test.js +22 -4
  110. package/dist/src/ui/components/Composer.test.js.map +1 -1
  111. package/dist/src/ui/components/ContextSummaryDisplay.d.ts +1 -0
  112. package/dist/src/ui/components/ContextSummaryDisplay.js +12 -5
  113. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
  114. package/dist/src/ui/components/ContextSummaryDisplay.test.js +56 -25
  115. package/dist/src/ui/components/ContextSummaryDisplay.test.js.map +1 -1
  116. package/dist/src/ui/components/FolderTrustDialog.js +19 -14
  117. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
  118. package/dist/src/ui/components/FolderTrustDialog.test.js +12 -2
  119. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
  120. package/dist/src/ui/components/Footer.js +4 -4
  121. package/dist/src/ui/components/Footer.js.map +1 -1
  122. package/dist/src/ui/components/HookStatusDisplay.d.ts +12 -0
  123. package/dist/src/ui/components/HookStatusDisplay.js +20 -0
  124. package/dist/src/ui/components/HookStatusDisplay.js.map +1 -0
  125. package/dist/src/ui/components/HookStatusDisplay.test.d.ts +6 -0
  126. package/dist/src/ui/components/HookStatusDisplay.test.js +51 -0
  127. package/dist/src/ui/components/HookStatusDisplay.test.js.map +1 -0
  128. package/dist/src/ui/components/InputPrompt.js +14 -6
  129. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  130. package/dist/src/ui/components/InputPrompt.test.js +21 -2
  131. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  132. package/dist/src/ui/components/ModelDialog.js +7 -3
  133. package/dist/src/ui/components/ModelDialog.js.map +1 -1
  134. package/dist/src/ui/components/ModelDialog.test.js +16 -3
  135. package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
  136. package/dist/src/ui/components/SettingsDialog.js +33 -13
  137. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  138. package/dist/src/ui/components/SettingsDialog.test.js +16 -0
  139. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  140. package/dist/src/ui/components/StatusDisplay.d.ts +11 -0
  141. package/dist/src/ui/components/StatusDisplay.js +40 -0
  142. package/dist/src/ui/components/StatusDisplay.js.map +1 -0
  143. package/dist/src/ui/components/StatusDisplay.test.d.ts +6 -0
  144. package/dist/src/ui/components/StatusDisplay.test.js +143 -0
  145. package/dist/src/ui/components/StatusDisplay.test.js.map +1 -0
  146. package/dist/src/ui/components/views/SkillsList.test.js +22 -4
  147. package/dist/src/ui/components/views/SkillsList.test.js.map +1 -1
  148. package/dist/src/ui/constants/tips.js +0 -1
  149. package/dist/src/ui/constants/tips.js.map +1 -1
  150. package/dist/src/ui/constants.d.ts +2 -0
  151. package/dist/src/ui/constants.js +2 -0
  152. package/dist/src/ui/constants.js.map +1 -1
  153. package/dist/src/ui/contexts/KeypressContext.d.ts +1 -0
  154. package/dist/src/ui/contexts/KeypressContext.js +79 -6
  155. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  156. package/dist/src/ui/contexts/KeypressContext.test.js +71 -0
  157. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  158. package/dist/src/ui/contexts/UIStateContext.d.ts +3 -1
  159. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  160. package/dist/src/ui/hooks/atCommandProcessor.js +1 -1
  161. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  162. package/dist/src/ui/hooks/atCommandProcessor.test.js +9 -3
  163. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  164. package/dist/src/ui/hooks/useFolderTrust.js +14 -19
  165. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  166. package/dist/src/ui/hooks/useFolderTrust.test.js +30 -22
  167. package/dist/src/ui/hooks/useFolderTrust.test.js.map +1 -1
  168. package/dist/src/ui/hooks/useGeminiStream.js +29 -0
  169. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  170. package/dist/src/ui/hooks/useGeminiStream.test.js +39 -1
  171. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  172. package/dist/src/ui/hooks/useHookDisplayState.d.ts +7 -0
  173. package/dist/src/ui/hooks/useHookDisplayState.js +83 -0
  174. package/dist/src/ui/hooks/useHookDisplayState.js.map +1 -0
  175. package/dist/src/ui/hooks/useHookDisplayState.test.d.ts +6 -0
  176. package/dist/src/ui/hooks/useHookDisplayState.test.js +180 -0
  177. package/dist/src/ui/hooks/useHookDisplayState.test.js.map +1 -0
  178. package/dist/src/ui/hooks/useQuotaAndFallback.js +1 -1
  179. package/dist/src/ui/hooks/useQuotaAndFallback.js.map +1 -1
  180. package/dist/src/ui/hooks/useSlashCompletion.js +4 -1
  181. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  182. package/dist/src/ui/hooks/useToolScheduler.test.js +2 -2
  183. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  184. package/dist/src/ui/types.d.ts +8 -7
  185. package/dist/src/ui/types.js.map +1 -1
  186. package/dist/src/ui/utils/commandUtils.js +12 -7
  187. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  188. package/dist/src/ui/utils/commandUtils.test.js +24 -0
  189. package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
  190. package/dist/src/ui/utils/directoryUtils.d.ts +8 -0
  191. package/dist/src/ui/utils/directoryUtils.js +92 -0
  192. package/dist/src/ui/utils/directoryUtils.js.map +1 -1
  193. package/dist/src/ui/utils/directoryUtils.test.js +189 -2
  194. package/dist/src/ui/utils/directoryUtils.test.js.map +1 -1
  195. package/dist/src/ui/utils/terminalCapabilityManager.d.ts +7 -4
  196. package/dist/src/ui/utils/terminalCapabilityManager.js +61 -66
  197. package/dist/src/ui/utils/terminalCapabilityManager.js.map +1 -1
  198. package/dist/src/ui/utils/terminalCapabilityManager.test.js +35 -0
  199. package/dist/src/ui/utils/terminalCapabilityManager.test.js.map +1 -1
  200. package/dist/src/ui/utils/ui-sizing.js +1 -1
  201. package/dist/src/ui/utils/ui-sizing.js.map +1 -1
  202. package/dist/src/ui/utils/ui-sizing.test.js +2 -2
  203. package/dist/src/ui/utils/ui-sizing.test.js.map +1 -1
  204. package/dist/src/utils/settingsUtils.js +0 -5
  205. package/dist/src/utils/settingsUtils.js.map +1 -1
  206. package/dist/src/zed-integration/zedIntegration.js +1 -1
  207. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  208. package/dist/src/zed-integration/zedIntegration.test.js +12 -0
  209. package/dist/src/zed-integration/zedIntegration.test.js.map +1 -1
  210. package/dist/tsconfig.tsbuildinfo +1 -1
  211. package/package.json +3 -3
  212. package/dist/google-gemini-cli-0.24.0-nightly.20251227.37be16243.tgz +0 -0
  213. package/dist/src/ui/hooks/useBracketedPaste.d.ts +0 -12
  214. package/dist/src/ui/hooks/useBracketedPaste.js +0 -31
  215. package/dist/src/ui/hooks/useBracketedPaste.js.map +0 -1
  216. package/dist/src/ui/utils/bracketedPaste.d.ts +0 -7
  217. package/dist/src/ui/utils/bracketedPaste.js +0 -15
  218. package/dist/src/ui/utils/bracketedPaste.js.map +0 -1
@@ -3,9 +3,11 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { vi, describe, it, expect } from 'vitest';
7
- import { expandHomeDir } from './directoryUtils.js';
6
+ import { vi, describe, it, expect, beforeEach } from 'vitest';
7
+ import { expandHomeDir, getDirectorySuggestions } from './directoryUtils.js';
8
8
  import * as path from 'node:path';
9
+ import * as fs from 'node:fs';
10
+ import * as fsPromises from 'node:fs/promises';
9
11
  vi.mock('@google/gemini-cli-core', async (importOriginal) => {
10
12
  const original = await importOriginal();
11
13
  return {
@@ -25,7 +27,37 @@ vi.mock('node:os', async (importOriginal) => {
25
27
  homedir: vi.fn(() => mockHomeDir),
26
28
  };
27
29
  });
30
+ vi.mock('node:fs', () => ({
31
+ existsSync: vi.fn(),
32
+ statSync: vi.fn(),
33
+ }));
34
+ vi.mock('node:fs/promises', () => ({
35
+ opendir: vi.fn(),
36
+ }));
37
+ function createMockDir(entries) {
38
+ let index = 0;
39
+ const iterator = {
40
+ async next() {
41
+ if (index < entries.length) {
42
+ return { value: entries[index++], done: false };
43
+ }
44
+ return { value: undefined, done: true };
45
+ },
46
+ [Symbol.asyncIterator]() {
47
+ return this;
48
+ },
49
+ };
50
+ return {
51
+ [Symbol.asyncIterator]() {
52
+ return iterator;
53
+ },
54
+ close: vi.fn().mockResolvedValue(undefined),
55
+ };
56
+ }
28
57
  describe('directoryUtils', () => {
58
+ beforeEach(() => {
59
+ vi.clearAllMocks();
60
+ });
29
61
  describe('expandHomeDir', () => {
30
62
  it('should expand ~ to the home directory', () => {
31
63
  expect(expandHomeDir('~')).toBe(mockHomeDir);
@@ -48,5 +80,160 @@ describe('directoryUtils', () => {
48
80
  expect(expandHomeDir('')).toBe('');
49
81
  });
50
82
  });
83
+ describe('getDirectorySuggestions', () => {
84
+ it('should return suggestions for an empty path', async () => {
85
+ vi.mocked(fs.existsSync).mockReturnValue(true);
86
+ vi.mocked(fs.statSync).mockReturnValue({
87
+ isDirectory: () => true,
88
+ });
89
+ vi.mocked(fsPromises.opendir).mockResolvedValue(createMockDir([
90
+ { name: 'docs', isDirectory: () => true },
91
+ { name: 'src', isDirectory: () => true },
92
+ { name: 'file.txt', isDirectory: () => false },
93
+ ]));
94
+ const suggestions = await getDirectorySuggestions('');
95
+ expect(suggestions).toEqual([`docs${path.sep}`, `src${path.sep}`]);
96
+ });
97
+ it('should return suggestions for a partial path', async () => {
98
+ vi.mocked(fs.existsSync).mockReturnValue(true);
99
+ vi.mocked(fs.statSync).mockReturnValue({
100
+ isDirectory: () => true,
101
+ });
102
+ vi.mocked(fsPromises.opendir).mockResolvedValue(createMockDir([
103
+ { name: 'docs', isDirectory: () => true },
104
+ { name: 'src', isDirectory: () => true },
105
+ ]));
106
+ const suggestions = await getDirectorySuggestions('d');
107
+ expect(suggestions).toEqual([`docs${path.sep}`]);
108
+ });
109
+ it('should return suggestions for a path with trailing slash', async () => {
110
+ vi.mocked(fs.existsSync).mockReturnValue(true);
111
+ vi.mocked(fs.statSync).mockReturnValue({
112
+ isDirectory: () => true,
113
+ });
114
+ vi.mocked(fsPromises.opendir).mockResolvedValue(createMockDir([
115
+ { name: 'sub', isDirectory: () => true },
116
+ ]));
117
+ const suggestions = await getDirectorySuggestions('docs/');
118
+ expect(suggestions).toEqual(['docs/sub/']);
119
+ });
120
+ it('should return suggestions for a path with ~', async () => {
121
+ vi.mocked(fs.existsSync).mockReturnValue(true);
122
+ vi.mocked(fs.statSync).mockReturnValue({
123
+ isDirectory: () => true,
124
+ });
125
+ vi.mocked(fsPromises.opendir).mockResolvedValue(createMockDir([
126
+ { name: 'Downloads', isDirectory: () => true },
127
+ ]));
128
+ const suggestions = await getDirectorySuggestions('~/');
129
+ expect(suggestions).toEqual(['~/Downloads/']);
130
+ });
131
+ it('should return suggestions for a partial path with ~', async () => {
132
+ vi.mocked(fs.existsSync).mockReturnValue(true);
133
+ vi.mocked(fs.statSync).mockReturnValue({
134
+ isDirectory: () => true,
135
+ });
136
+ vi.mocked(fsPromises.opendir).mockResolvedValue(createMockDir([
137
+ { name: 'Downloads', isDirectory: () => true },
138
+ ]));
139
+ const suggestions = await getDirectorySuggestions('~/Down');
140
+ expect(suggestions).toEqual(['~/Downloads/']);
141
+ });
142
+ it('should return suggestions for ../', async () => {
143
+ vi.mocked(fs.existsSync).mockReturnValue(true);
144
+ vi.mocked(fs.statSync).mockReturnValue({
145
+ isDirectory: () => true,
146
+ });
147
+ vi.mocked(fsPromises.opendir).mockResolvedValue(createMockDir([
148
+ { name: 'other-project', isDirectory: () => true },
149
+ ]));
150
+ const suggestions = await getDirectorySuggestions('../');
151
+ expect(suggestions).toEqual(['../other-project/']);
152
+ });
153
+ it('should ignore hidden directories', async () => {
154
+ vi.mocked(fs.existsSync).mockReturnValue(true);
155
+ vi.mocked(fs.statSync).mockReturnValue({
156
+ isDirectory: () => true,
157
+ });
158
+ vi.mocked(fsPromises.opendir).mockResolvedValue(createMockDir([
159
+ { name: '.git', isDirectory: () => true },
160
+ { name: 'src', isDirectory: () => true },
161
+ ]));
162
+ const suggestions = await getDirectorySuggestions('');
163
+ expect(suggestions).toEqual([`src${path.sep}`]);
164
+ });
165
+ it('should show hidden directories when filter starts with .', async () => {
166
+ vi.mocked(fs.existsSync).mockReturnValue(true);
167
+ vi.mocked(fs.statSync).mockReturnValue({
168
+ isDirectory: () => true,
169
+ });
170
+ vi.mocked(fsPromises.opendir).mockResolvedValue(createMockDir([
171
+ { name: '.git', isDirectory: () => true },
172
+ { name: '.github', isDirectory: () => true },
173
+ { name: '.vscode', isDirectory: () => true },
174
+ { name: 'src', isDirectory: () => true },
175
+ ]));
176
+ const suggestions = await getDirectorySuggestions('.g');
177
+ expect(suggestions).toEqual([`.git${path.sep}`, `.github${path.sep}`]);
178
+ });
179
+ it('should return empty array if directory does not exist', async () => {
180
+ vi.mocked(fs.existsSync).mockReturnValue(false);
181
+ const suggestions = await getDirectorySuggestions('nonexistent/');
182
+ expect(suggestions).toEqual([]);
183
+ });
184
+ it('should limit results to 50 suggestions', async () => {
185
+ vi.mocked(fs.existsSync).mockReturnValue(true);
186
+ vi.mocked(fs.statSync).mockReturnValue({
187
+ isDirectory: () => true,
188
+ });
189
+ // Create 200 directories
190
+ const manyDirs = Array.from({ length: 200 }, (_, i) => ({
191
+ name: `dir${String(i).padStart(3, '0')}`,
192
+ isDirectory: () => true,
193
+ }));
194
+ vi.mocked(fsPromises.opendir).mockResolvedValue(createMockDir(manyDirs));
195
+ const suggestions = await getDirectorySuggestions('');
196
+ expect(suggestions).toHaveLength(50);
197
+ });
198
+ it('should terminate early after 150 matches for performance', async () => {
199
+ vi.mocked(fs.existsSync).mockReturnValue(true);
200
+ vi.mocked(fs.statSync).mockReturnValue({
201
+ isDirectory: () => true,
202
+ });
203
+ // Create 200 directories
204
+ const manyDirs = Array.from({ length: 200 }, (_, i) => ({
205
+ name: `dir${String(i).padStart(3, '0')}`,
206
+ isDirectory: () => true,
207
+ }));
208
+ const mockDir = createMockDir(manyDirs);
209
+ vi.mocked(fsPromises.opendir).mockResolvedValue(mockDir);
210
+ await getDirectorySuggestions('');
211
+ // The close method should be called, indicating early termination
212
+ expect(mockDir.close).toHaveBeenCalled();
213
+ });
214
+ });
215
+ describe.skipIf(process.platform !== 'win32')('getDirectorySuggestions (Windows)', () => {
216
+ it('should handle %userprofile% expansion', async () => {
217
+ vi.mocked(fs.existsSync).mockReturnValue(true);
218
+ vi.mocked(fs.statSync).mockReturnValue({
219
+ isDirectory: () => true,
220
+ });
221
+ vi.mocked(fsPromises.opendir).mockResolvedValue(createMockDir([
222
+ { name: 'Documents', isDirectory: () => true },
223
+ { name: 'Downloads', isDirectory: () => true },
224
+ ]));
225
+ expect(await getDirectorySuggestions('%userprofile%\\')).toEqual([
226
+ `%userprofile%\\Documents${path.sep}`,
227
+ `%userprofile%\\Downloads${path.sep}`,
228
+ ]);
229
+ vi.mocked(fsPromises.opendir).mockResolvedValue(createMockDir([
230
+ { name: 'Documents', isDirectory: () => true },
231
+ { name: 'Downloads', isDirectory: () => true },
232
+ ]));
233
+ expect(await getDirectorySuggestions('%userprofile%\\Doc')).toEqual([
234
+ `%userprofile%\\Documents${path.sep}`,
235
+ ]);
236
+ });
237
+ });
51
238
  });
52
239
  //# sourceMappingURL=directoryUtils.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"directoryUtils.test.js","sourceRoot":"","sources":["../../../../src/ui/utils/directoryUtils.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAC1D,MAAM,QAAQ,GACZ,MAAM,cAAc,EAA4C,CAAC;IACnE,OAAO;QACL,GAAG,QAAQ;QACX,4BAA4B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YACtD,aAAa,EAAE,aAAa;YAC5B,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,CAAC,WAAW,CAAC;SACzB,CAAC;KACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,WAAW,GACf,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAE1E,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAC1C,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAmB,CAAC;IACzD,OAAO;QACL,GAAG,QAAQ;QACX,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC;KAClC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACrD,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBACnD,MAAM,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACrD,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"directoryUtils.test.js","sourceRoot":"","sources":["../../../../src/ui/utils/directoryUtils.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAE/C,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAC1D,MAAM,QAAQ,GACZ,MAAM,cAAc,EAA4C,CAAC;IACnE,OAAO;QACL,GAAG,QAAQ;QACX,4BAA4B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YACtD,aAAa,EAAE,aAAa;YAC5B,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,CAAC,WAAW,CAAC;SACzB,CAAC;KACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,WAAW,GACf,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAE1E,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAC1C,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAmB,CAAC;IACzD,OAAO;QACL,GAAG,QAAQ;QACX,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC;KAClC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;IACnB,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;CAClB,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;IACjC,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;CACjB,CAAC,CAAC,CAAC;AAOJ,SAAS,aAAa,CAAC,OAAqB;IAC1C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,QAAQ,GAAG;QACf,KAAK,CAAC,IAAI;YACR,IAAI,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC3B,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YAClD,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC1C,CAAC;QACD,CAAC,MAAM,CAAC,aAAa,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;IAEF,OAAO;QACL,CAAC,MAAM,CAAC,aAAa,CAAC;YACpB,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACrD,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBACnD,MAAM,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACrD,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC/C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC;gBACrC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;aACZ,CAAC,CAAC;YACf,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAC7C,aAAa,CAAC;gBACZ,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;gBACzC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;gBACxC,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE;aAC/C,CAAsB,CACxB,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC/C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC;gBACrC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;aACZ,CAAC,CAAC;YACf,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAC7C,aAAa,CAAC;gBACZ,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;gBACzC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;aACzC,CAAsB,CACxB,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,GAAG,CAAC,CAAC;YACvD,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC/C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC;gBACrC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;aACZ,CAAC,CAAC;YACf,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAC7C,aAAa,CAAC;gBACZ,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;aACzC,CAAsB,CACxB,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC/C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC;gBACrC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;aACZ,CAAC,CAAC;YACf,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAC7C,aAAa,CAAC;gBACZ,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;aAC/C,CAAsB,CACxB,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC/C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC;gBACrC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;aACZ,CAAC,CAAC;YACf,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAC7C,aAAa,CAAC;gBACZ,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;aAC/C,CAAsB,CACxB,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YAC5D,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC/C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC;gBACrC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;aACZ,CAAC,CAAC;YACf,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAC7C,aAAa,CAAC;gBACZ,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;aACnD,CAAsB,CACxB,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC/C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC;gBACrC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;aACZ,CAAC,CAAC;YACf,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAC7C,aAAa,CAAC;gBACZ,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;gBACzC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;aACzC,CAAsB,CACxB,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC/C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC;gBACrC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;aACZ,CAAC,CAAC;YACf,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAC7C,aAAa,CAAC;gBACZ,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;gBACzC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;gBAC5C,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;gBAC5C,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;aACzC,CAAsB,CACxB,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,cAAc,CAAC,CAAC;YAClE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC/C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC;gBACrC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;aACZ,CAAC,CAAC;YAEf,yBAAyB;YACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtD,IAAI,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACxC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;aACxB,CAAC,CAAC,CAAC;YAEJ,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAC7C,aAAa,CAAC,QAAQ,CAAsB,CAC7C,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,EAAE,CAAC,CAAC;YACtD,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC/C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC;gBACrC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;aACZ,CAAC,CAAC;YAEf,yBAAyB;YACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtD,IAAI,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBACxC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;aACxB,CAAC,CAAC,CAAC;YAEJ,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAC7C,OAA4B,CAC7B,CAAC;YAEF,MAAM,uBAAuB,CAAC,EAAE,CAAC,CAAC;YAElC,kEAAkE;YAClE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAC3C,mCAAmC,EACnC,GAAG,EAAE;QACH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC/C,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC;gBACrC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;aACZ,CAAC,CAAC;YACf,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAC7C,aAAa,CAAC;gBACZ,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;gBAC9C,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;aAC/C,CAAsB,CACxB,CAAC;YAEF,MAAM,CAAC,MAAM,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC/D,2BAA2B,IAAI,CAAC,GAAG,EAAE;gBACrC,2BAA2B,IAAI,CAAC,GAAG,EAAE;aACtC,CAAC,CAAC;YAEH,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAC7C,aAAa,CAAC;gBACZ,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;gBAC9C,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;aAC/C,CAAsB,CACxB,CAAC;YAEF,MAAM,CAAC,MAAM,uBAAuB,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC;gBAClE,2BAA2B,IAAI,CAAC,GAAG,EAAE;aACtC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -11,11 +11,13 @@ export declare class TerminalCapabilityManager {
11
11
  private static readonly TERMINAL_NAME_QUERY;
12
12
  private static readonly DEVICE_ATTRIBUTES_QUERY;
13
13
  private static readonly MODIFY_OTHER_KEYS_QUERY;
14
+ private static readonly BRACKETED_PASTE_QUERY;
14
15
  private static readonly KITTY_REGEX;
15
16
  private static readonly TERMINAL_NAME_REGEX;
16
17
  private static readonly DEVICE_ATTRIBUTES_REGEX;
17
18
  private static readonly OSC_11_REGEX;
18
19
  private static readonly MODIFY_OTHER_KEYS_REGEX;
20
+ private static readonly BRACKETED_PASTE_REGEX;
19
21
  private terminalBackgroundColor;
20
22
  private kittySupported;
21
23
  private kittyEnabled;
@@ -23,6 +25,8 @@ export declare class TerminalCapabilityManager {
23
25
  private terminalName;
24
26
  private modifyOtherKeysSupported;
25
27
  private modifyOtherKeysEnabled;
28
+ private bracketedPasteSupported;
29
+ private bracketedPasteEnabled;
26
30
  private constructor();
27
31
  static getInstance(): TerminalCapabilityManager;
28
32
  static resetInstanceForTesting(): void;
@@ -32,13 +36,12 @@ export declare class TerminalCapabilityManager {
32
36
  * This should be called once at app startup.
33
37
  */
34
38
  detectCapabilities(): Promise<void>;
39
+ enableSupportedModes(): void;
35
40
  getTerminalBackgroundColor(): TerminalBackgroundColor;
36
41
  getTerminalName(): string | undefined;
37
42
  isKittyProtocolEnabled(): boolean;
38
- enableKittyProtocol(): void;
39
- disableKittyProtocol(): void;
40
- enableModifyOtherKeys(): void;
41
- disableModifyOtherKeys(): void;
43
+ isBracketedPasteSupported(): boolean;
44
+ isBracketedPasteEnabled(): boolean;
42
45
  isModifyOtherKeysEnabled(): boolean;
43
46
  private parseColor;
44
47
  }
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import * as fs from 'node:fs';
7
- import { debugLogger, enableKittyKeyboardProtocol, disableKittyKeyboardProtocol, enableModifyOtherKeys, disableModifyOtherKeys, } from '@google/gemini-cli-core';
7
+ import { debugLogger, enableKittyKeyboardProtocol, disableKittyKeyboardProtocol, enableModifyOtherKeys, disableModifyOtherKeys, enableBracketedPasteMode, disableBracketedPasteMode, } from '@google/gemini-cli-core';
8
8
  export class TerminalCapabilityManager {
9
9
  static instance;
10
10
  static KITTY_QUERY = '\x1b[?u';
@@ -12,6 +12,7 @@ export class TerminalCapabilityManager {
12
12
  static TERMINAL_NAME_QUERY = '\x1b[>q';
13
13
  static DEVICE_ATTRIBUTES_QUERY = '\x1b[c';
14
14
  static MODIFY_OTHER_KEYS_QUERY = '\x1b[>4;?m';
15
+ static BRACKETED_PASTE_QUERY = '\x1b[?2004$p';
15
16
  // Kitty keyboard flags: CSI ? flags u
16
17
  // eslint-disable-next-line no-control-regex
17
18
  static KITTY_REGEX = /\x1b\[\?(\d+)u/;
@@ -28,6 +29,10 @@ export class TerminalCapabilityManager {
28
29
  // modifyOtherKeys response: CSI > 4 ; level m
29
30
  // eslint-disable-next-line no-control-regex
30
31
  static MODIFY_OTHER_KEYS_REGEX = /\x1b\[>4;(\d+)m/;
32
+ // DECRQM response for bracketed paste: CSI ? 2004 ; Ps $ y
33
+ // Ps = 1 (set), 2 (reset), 3 (permanently set), 4 (permanently reset)
34
+ // eslint-disable-next-line no-control-regex
35
+ static BRACKETED_PASTE_REGEX = /\x1b\[\?2004;([1-4])\$y/;
31
36
  terminalBackgroundColor;
32
37
  kittySupported = false;
33
38
  kittyEnabled = false;
@@ -35,6 +40,8 @@ export class TerminalCapabilityManager {
35
40
  terminalName;
36
41
  modifyOtherKeysSupported = false;
37
42
  modifyOtherKeysEnabled = false;
43
+ bracketedPasteSupported = false;
44
+ bracketedPasteEnabled = false;
38
45
  constructor() { }
39
46
  static getInstance() {
40
47
  if (!this.instance) {
@@ -57,6 +64,16 @@ export class TerminalCapabilityManager {
57
64
  this.detectionComplete = true;
58
65
  return;
59
66
  }
67
+ const cleanupOnExit = () => {
68
+ // don't bother catching errors since if one write
69
+ // fails, the other probably will too
70
+ disableKittyKeyboardProtocol();
71
+ disableModifyOtherKeys();
72
+ disableBracketedPasteMode();
73
+ };
74
+ process.on('exit', cleanupOnExit);
75
+ process.on('SIGTERM', cleanupOnExit);
76
+ process.on('SIGINT', cleanupOnExit);
60
77
  return new Promise((resolve) => {
61
78
  const originalRawMode = process.stdin.isRaw;
62
79
  if (!originalRawMode) {
@@ -68,6 +85,7 @@ export class TerminalCapabilityManager {
68
85
  let deviceAttributesReceived = false;
69
86
  let bgReceived = false;
70
87
  let modifyOtherKeysReceived = false;
88
+ let bracketedPasteReceived = false;
71
89
  // eslint-disable-next-line prefer-const
72
90
  let timeoutId;
73
91
  const cleanup = () => {
@@ -79,25 +97,12 @@ export class TerminalCapabilityManager {
79
97
  process.stdin.setRawMode(false);
80
98
  }
81
99
  this.detectionComplete = true;
82
- // Auto-enable kitty if supported
83
- if (this.kittySupported) {
84
- this.enableKittyProtocol();
85
- process.on('exit', () => this.disableKittyProtocol());
86
- process.on('SIGTERM', () => this.disableKittyProtocol());
87
- }
88
- else if (this.modifyOtherKeysSupported) {
89
- this.enableModifyOtherKeys();
90
- process.on('exit', () => this.disableModifyOtherKeys());
91
- process.on('SIGTERM', () => this.disableModifyOtherKeys());
92
- }
100
+ this.enableSupportedModes();
93
101
  resolve();
94
102
  };
95
- const onTimeout = () => {
96
- cleanup();
97
- };
98
103
  // A somewhat long timeout is acceptable as all terminals should respond
99
104
  // to the device attributes query used as a sentinel.
100
- timeoutId = setTimeout(onTimeout, 1000);
105
+ timeoutId = setTimeout(cleanup, 1000);
101
106
  const onData = (data) => {
102
107
  buffer += data.toString();
103
108
  // Check OSC 11
@@ -114,6 +119,24 @@ export class TerminalCapabilityManager {
114
119
  kittyKeyboardReceived = true;
115
120
  this.kittySupported = true;
116
121
  }
122
+ // check for modifyOtherKeys support
123
+ if (!modifyOtherKeysReceived) {
124
+ const match = buffer.match(TerminalCapabilityManager.MODIFY_OTHER_KEYS_REGEX);
125
+ if (match) {
126
+ modifyOtherKeysReceived = true;
127
+ const level = parseInt(match[1], 10);
128
+ this.modifyOtherKeysSupported = level >= 2;
129
+ debugLogger.log(`Detected modifyOtherKeys support: ${this.modifyOtherKeysSupported} (level ${level})`);
130
+ }
131
+ }
132
+ // check for bracketed paste support
133
+ if (!bracketedPasteReceived) {
134
+ const match = buffer.match(TerminalCapabilityManager.BRACKETED_PASTE_REGEX);
135
+ if (match) {
136
+ bracketedPasteReceived = true;
137
+ this.bracketedPasteSupported = true;
138
+ }
139
+ }
117
140
  // Check for Terminal Name/Version response.
118
141
  if (!terminalNameReceived) {
119
142
  const match = buffer.match(TerminalCapabilityManager.TERMINAL_NAME_REGEX);
@@ -133,16 +156,6 @@ export class TerminalCapabilityManager {
133
156
  cleanup();
134
157
  }
135
158
  }
136
- // check for modifyOtherKeys support
137
- if (!modifyOtherKeysReceived) {
138
- const match = buffer.match(TerminalCapabilityManager.MODIFY_OTHER_KEYS_REGEX);
139
- if (match) {
140
- modifyOtherKeysReceived = true;
141
- const level = parseInt(match[1], 10);
142
- this.modifyOtherKeysSupported = level >= 2;
143
- debugLogger.log(`Detected modifyOtherKeys support: ${this.modifyOtherKeysSupported} (level ${level})`);
144
- }
145
- }
146
159
  };
147
160
  process.stdin.on('data', onData);
148
161
  try {
@@ -150,6 +163,7 @@ export class TerminalCapabilityManager {
150
163
  TerminalCapabilityManager.OSC_11_QUERY +
151
164
  TerminalCapabilityManager.TERMINAL_NAME_QUERY +
152
165
  TerminalCapabilityManager.MODIFY_OTHER_KEYS_QUERY +
166
+ TerminalCapabilityManager.BRACKETED_PASTE_QUERY +
153
167
  TerminalCapabilityManager.DEVICE_ATTRIBUTES_QUERY);
154
168
  }
155
169
  catch (e) {
@@ -158,59 +172,40 @@ export class TerminalCapabilityManager {
158
172
  }
159
173
  });
160
174
  }
161
- getTerminalBackgroundColor() {
162
- return this.terminalBackgroundColor;
163
- }
164
- getTerminalName() {
165
- return this.terminalName;
166
- }
167
- isKittyProtocolEnabled() {
168
- return this.kittyEnabled;
169
- }
170
- enableKittyProtocol() {
175
+ enableSupportedModes() {
171
176
  try {
172
177
  if (this.kittySupported) {
173
178
  enableKittyKeyboardProtocol();
174
179
  this.kittyEnabled = true;
175
180
  }
176
- }
177
- catch (e) {
178
- debugLogger.warn('Failed to enable Kitty protocol:', e);
179
- }
180
- }
181
- disableKittyProtocol() {
182
- try {
183
- if (this.kittyEnabled) {
184
- disableKittyKeyboardProtocol();
185
- this.kittyEnabled = false;
186
- }
187
- }
188
- catch (e) {
189
- debugLogger.warn('Failed to disable Kitty protocol:', e);
190
- }
191
- }
192
- enableModifyOtherKeys() {
193
- try {
194
- if (this.modifyOtherKeysSupported) {
181
+ else if (this.modifyOtherKeysSupported) {
195
182
  enableModifyOtherKeys();
196
183
  this.modifyOtherKeysEnabled = true;
197
184
  }
198
- }
199
- catch (e) {
200
- debugLogger.warn('Failed to enable modifyOtherKeys protocol:', e);
201
- }
202
- }
203
- disableModifyOtherKeys() {
204
- try {
205
- if (this.modifyOtherKeysEnabled) {
206
- disableModifyOtherKeys();
207
- this.modifyOtherKeysEnabled = false;
185
+ if (this.bracketedPasteSupported) {
186
+ enableBracketedPasteMode();
187
+ this.bracketedPasteEnabled = true;
208
188
  }
209
189
  }
210
190
  catch (e) {
211
- debugLogger.warn('Failed to disable modifyOtherKeys protocol:', e);
191
+ debugLogger.warn('Failed to enable keyboard protocols:', e);
212
192
  }
213
193
  }
194
+ getTerminalBackgroundColor() {
195
+ return this.terminalBackgroundColor;
196
+ }
197
+ getTerminalName() {
198
+ return this.terminalName;
199
+ }
200
+ isKittyProtocolEnabled() {
201
+ return this.kittyEnabled;
202
+ }
203
+ isBracketedPasteSupported() {
204
+ return this.bracketedPasteSupported;
205
+ }
206
+ isBracketedPasteEnabled() {
207
+ return this.bracketedPasteEnabled;
208
+ }
214
209
  isModifyOtherKeysEnabled() {
215
210
  return this.modifyOtherKeysEnabled;
216
211
  }
@@ -1 +1 @@
1
- {"version":3,"file":"terminalCapabilityManager.js","sourceRoot":"","sources":["../../../../src/ui/utils/terminalCapabilityManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminalCapabilityManager.js","sourceRoot":"","sources":["../../../../src/ui/utils/terminalCapabilityManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EACL,WAAW,EACX,2BAA2B,EAC3B,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AAIjC,MAAM,OAAO,yBAAyB;IAC5B,MAAM,CAAC,QAAQ,CAAwC;IAEvD,MAAM,CAAU,WAAW,GAAG,SAAS,CAAC;IACxC,MAAM,CAAU,YAAY,GAAG,iBAAiB,CAAC;IACjD,MAAM,CAAU,mBAAmB,GAAG,SAAS,CAAC;IAChD,MAAM,CAAU,uBAAuB,GAAG,QAAQ,CAAC;IACnD,MAAM,CAAU,uBAAuB,GAAG,YAAY,CAAC;IACvD,MAAM,CAAU,qBAAqB,GAAG,cAAc,CAAC;IAE/D,sCAAsC;IACtC,4CAA4C;IACpC,MAAM,CAAU,WAAW,GAAG,gBAAgB,CAAC;IACvD,2DAA2D;IAC3D,4CAA4C;IACpC,MAAM,CAAU,mBAAmB,GAAG,4BAA4B,CAAC;IAC3E,8CAA8C;IAC9C,4CAA4C;IACpC,MAAM,CAAU,uBAAuB,GAAG,uBAAuB,CAAC;IAC1E,2DAA2D;IACnD,MAAM,CAAU,YAAY;IAClC,4CAA4C;IAC5C,uFAAuF,CAAC;IAC1F,8CAA8C;IAC9C,4CAA4C;IACpC,MAAM,CAAU,uBAAuB,GAAG,iBAAiB,CAAC;IACpE,2DAA2D;IAC3D,sEAAsE;IACtE,4CAA4C;IACpC,MAAM,CAAU,qBAAqB,GAAG,yBAAyB,CAAC;IAElE,uBAAuB,CAA0B;IACjD,cAAc,GAAG,KAAK,CAAC;IACvB,YAAY,GAAG,KAAK,CAAC;IACrB,iBAAiB,GAAG,KAAK,CAAC;IAC1B,YAAY,CAAqB;IACjC,wBAAwB,GAAG,KAAK,CAAC;IACjC,sBAAsB,GAAG,KAAK,CAAC;IAC/B,uBAAuB,GAAG,KAAK,CAAC;IAChC,qBAAqB,GAAG,KAAK,CAAC;IAEtC,gBAAuB,CAAC;IAExB,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,uBAAuB;QAC5B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB;QACtB,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAEnC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,kDAAkD;YAClD,qCAAqC;YACrC,4BAA4B,EAAE,CAAC;YAC/B,sBAAsB,EAAE,CAAC;YACzB,yBAAyB,EAAE,CAAC;QAC9B,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAClC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACrC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAEpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;YAC5C,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YAED,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,qBAAqB,GAAG,KAAK,CAAC;YAClC,IAAI,oBAAoB,GAAG,KAAK,CAAC;YACjC,IAAI,wBAAwB,GAAG,KAAK,CAAC;YACrC,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,uBAAuB,GAAG,KAAK,CAAC;YACpC,IAAI,sBAAsB,GAAG,KAAK,CAAC;YACnC,wCAAwC;YACxC,IAAI,SAAyB,CAAC;YAE9B,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,IAAI,SAAS,EAAE,CAAC;oBACd,YAAY,CAAC,SAAS,CAAC,CAAC;gBAC1B,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC7C,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClC,CAAC;gBACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAE9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAE5B,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YAEF,wEAAwE;YACxE,qDAAqD;YACrD,SAAS,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAEtC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;gBAC9B,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAE1B,eAAe;gBACf,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;oBACnE,IAAI,KAAK,EAAE,CAAC;wBACV,UAAU,GAAG,IAAI,CAAC;wBAClB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,UAAU,CAC5C,KAAK,CAAC,CAAC,CAAC,EACR,KAAK,CAAC,CAAC,CAAC,EACR,KAAK,CAAC,CAAC,CAAC,CACT,CAAC;wBACF,WAAW,CAAC,GAAG,CACb,uCAAuC,IAAI,CAAC,uBAAuB,EAAE,CACtE,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IACE,CAAC,qBAAqB;oBACtB,yBAAyB,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAClD,CAAC;oBACD,qBAAqB,GAAG,IAAI,CAAC;oBAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBAED,oCAAoC;gBACpC,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CACxB,yBAAyB,CAAC,uBAAuB,CAClD,CAAC;oBACF,IAAI,KAAK,EAAE,CAAC;wBACV,uBAAuB,GAAG,IAAI,CAAC;wBAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACrC,IAAI,CAAC,wBAAwB,GAAG,KAAK,IAAI,CAAC,CAAC;wBAC3C,WAAW,CAAC,GAAG,CACb,qCAAqC,IAAI,CAAC,wBAAwB,WAAW,KAAK,GAAG,CACtF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,oCAAoC;gBACpC,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CACxB,yBAAyB,CAAC,qBAAqB,CAChD,CAAC;oBACF,IAAI,KAAK,EAAE,CAAC;wBACV,sBAAsB,GAAG,IAAI,CAAC;wBAC9B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;oBACtC,CAAC;gBACH,CAAC;gBAED,4CAA4C;gBAC5C,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CACxB,yBAAyB,CAAC,mBAAmB,CAC9C,CAAC;oBACF,IAAI,KAAK,EAAE,CAAC;wBACV,oBAAoB,GAAG,IAAI,CAAC;wBAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBAE7B,WAAW,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;oBAClE,CAAC;gBACH,CAAC;gBAED,sEAAsE;gBACtE,oEAAoE;gBACpE,gDAAgD;gBAChD,IAAI,CAAC,wBAAwB,EAAE,CAAC;oBAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CACxB,yBAAyB,CAAC,uBAAuB,CAClD,CAAC;oBACF,IAAI,KAAK,EAAE,CAAC;wBACV,wBAAwB,GAAG,IAAI,CAAC;wBAChC,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YAEF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEjC,IAAI,CAAC;gBACH,EAAE,CAAC,SAAS,CACV,OAAO,CAAC,MAAM,CAAC,EAAE,EACjB,yBAAyB,CAAC,WAAW;oBACnC,yBAAyB,CAAC,YAAY;oBACtC,yBAAyB,CAAC,mBAAmB;oBAC7C,yBAAyB,CAAC,uBAAuB;oBACjD,yBAAyB,CAAC,qBAAqB;oBAC/C,yBAAyB,CAAC,uBAAuB,CACpD,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,WAAW,CAAC,IAAI,CAAC,8CAA8C,EAAE,CAAC,CAAC,CAAC;gBACpE,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,2BAA2B,EAAE,CAAC;gBAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,CAAC;iBAAM,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBACzC,qBAAqB,EAAE,CAAC;gBACxB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACrC,CAAC;YACD,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBACjC,wBAAwB,EAAE,CAAC;gBAC3B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,WAAW,CAAC,IAAI,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,0BAA0B;QACxB,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,yBAAyB;QACvB,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED,wBAAwB;QACtB,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAEO,UAAU,CAAC,IAAY,EAAE,IAAY,EAAE,IAAY;QACzD,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE;YACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;YAC9C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,GAAG,CAAC;YACjC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;YAChD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;YACjD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACzE,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,CAAC;;AAGH,MAAM,CAAC,MAAM,yBAAyB,GACpC,yBAAyB,CAAC,WAAW,EAAE,CAAC"}
@@ -20,6 +20,8 @@ vi.mock('@google/gemini-cli-core', () => ({
20
20
  disableKittyKeyboardProtocol: vi.fn(),
21
21
  enableModifyOtherKeys: vi.fn(),
22
22
  disableModifyOtherKeys: vi.fn(),
23
+ enableBracketedPasteMode: vi.fn(),
24
+ disableBracketedPasteMode: vi.fn(),
23
25
  }));
24
26
  describe('TerminalCapabilityManager', () => {
25
27
  let stdin;
@@ -203,5 +205,38 @@ describe('TerminalCapabilityManager', () => {
203
205
  expect(manager.isModifyOtherKeysEnabled()).toBe(true);
204
206
  });
205
207
  });
208
+ describe('bracketed paste detection', () => {
209
+ it('should detect bracketed paste support (mode set)', async () => {
210
+ const manager = TerminalCapabilityManager.getInstance();
211
+ const promise = manager.detectCapabilities();
212
+ // Simulate bracketed paste response: \x1b[?2004;1$y
213
+ stdin.emit('data', Buffer.from('\x1b[?2004;1$y'));
214
+ // Complete detection with DA1
215
+ stdin.emit('data', Buffer.from('\x1b[?62c'));
216
+ await promise;
217
+ expect(manager.isBracketedPasteSupported()).toBe(true);
218
+ expect(manager.isBracketedPasteEnabled()).toBe(true);
219
+ });
220
+ it('should detect bracketed paste support (mode reset)', async () => {
221
+ const manager = TerminalCapabilityManager.getInstance();
222
+ const promise = manager.detectCapabilities();
223
+ // Simulate bracketed paste response: \x1b[?2004;2$y
224
+ stdin.emit('data', Buffer.from('\x1b[?2004;2$y'));
225
+ // Complete detection with DA1
226
+ stdin.emit('data', Buffer.from('\x1b[?62c'));
227
+ await promise;
228
+ expect(manager.isBracketedPasteSupported()).toBe(true);
229
+ expect(manager.isBracketedPasteEnabled()).toBe(true);
230
+ });
231
+ it('should not enable bracketed paste if not supported', async () => {
232
+ const manager = TerminalCapabilityManager.getInstance();
233
+ const promise = manager.detectCapabilities();
234
+ // Complete detection with DA1 only
235
+ stdin.emit('data', Buffer.from('\x1b[?62c'));
236
+ await promise;
237
+ expect(manager.isBracketedPasteSupported()).toBe(false);
238
+ expect(manager.isBracketedPasteEnabled()).toBe(false);
239
+ });
240
+ });
206
241
  });
207
242
  //# sourceMappingURL=terminalCapabilityManager.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminalCapabilityManager.test.js","sourceRoot":"","sources":["../../../../src/ui/utils/terminalCapabilityManager.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminalCapabilityManager.test.js","sourceRoot":"","sources":["../../../../src/ui/utils/terminalCapabilityManager.test.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ const getMainAreaWidthInternal = (terminalWidth) => {
19
19
  return Math.round(percentage * terminalWidth * 0.01);
20
20
  };
21
21
  export const calculateMainAreaWidth = (terminalWidth, settings) => {
22
- if (settings.merged.ui?.useFullWidth !== false) {
22
+ if (settings.merged.ui?.useFullWidth) {
23
23
  if (isAlternateBufferEnabled(settings)) {
24
24
  return terminalWidth - 1;
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ui-sizing.js","sourceRoot":"","sources":["../../../../src/ui/utils/ui-sizing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAuB,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,MAAM,wBAAwB,GAAG,CAAC,aAAqB,EAAU,EAAE;IACjE,IAAI,aAAa,IAAI,EAAE,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,aAAa,IAAI,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC;IACzC,CAAC;IAED,uEAAuE;IACvE,MAAM,CAAC,GAAG,CAAC,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAEnC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,aAAqB,EACrB,QAAwB,EAChB,EAAE;IACV,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,KAAK,KAAK,EAAE,CAAC;QAC/C,IAAI,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,OAAO,aAAa,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,OAAO,wBAAwB,CAAC,aAAa,CAAC,CAAC;AACjD,CAAC,CAAC"}
1
+ {"version":3,"file":"ui-sizing.js","sourceRoot":"","sources":["../../../../src/ui/utils/ui-sizing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAuB,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,MAAM,wBAAwB,GAAG,CAAC,aAAqB,EAAU,EAAE;IACjE,IAAI,aAAa,IAAI,EAAE,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,aAAa,IAAI,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC;IACzC,CAAC;IAED,uEAAuE;IACvE,MAAM,CAAC,GAAG,CAAC,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAEnC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,aAAqB,EACrB,QAAwB,EAChB,EAAE;IACV,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,CAAC;QACrC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,OAAO,aAAa,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,OAAO,wBAAwB,CAAC,aAAa,CAAC,CAAC;AACjD,CAAC,CAAC"}