@machina.ai/cell-cli 1.45.1-rc4 → 1.49.0-rc1

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 (91) hide show
  1. package/dist/package.json +40 -44
  2. package/dist/src/acp/acpSession.test.js +3 -0
  3. package/dist/src/acp/acpSession.test.js.map +1 -1
  4. package/dist/src/commands/extensions/examples/mcp-server/package.json +2 -2
  5. package/dist/src/config/extensions/extensionEnablement.test.js.map +1 -1
  6. package/dist/src/config/extensions/update.js +3 -2
  7. package/dist/src/config/extensions/update.js.map +1 -1
  8. package/dist/src/config/extensions/variables.js +4 -1
  9. package/dist/src/config/extensions/variables.js.map +1 -1
  10. package/dist/src/gemini.js +1 -1
  11. package/dist/src/gemini.js.map +1 -1
  12. package/dist/src/gemini.test.js +3 -2
  13. package/dist/src/gemini.test.js.map +1 -1
  14. package/dist/src/generated/git-commit.d.ts +2 -2
  15. package/dist/src/generated/git-commit.js +2 -2
  16. package/dist/src/interactiveCli.js +19 -0
  17. package/dist/src/interactiveCli.js.map +1 -1
  18. package/dist/src/services/McpPromptLoader.js +2 -4
  19. package/dist/src/services/McpPromptLoader.js.map +1 -1
  20. package/dist/src/test-utils/render.js +3 -4
  21. package/dist/src/test-utils/render.js.map +1 -1
  22. package/dist/src/ui/AppContainer.test.js +2 -2
  23. package/dist/src/ui/AppContainer.test.js.map +1 -1
  24. package/dist/src/ui/auth/AuthDialog.js +11 -9
  25. package/dist/src/ui/auth/AuthDialog.js.map +1 -1
  26. package/dist/src/ui/commands/extensionsCommand.test.js +4 -2
  27. package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
  28. package/dist/src/ui/commands/helpCommand.js +21 -1
  29. package/dist/src/ui/commands/helpCommand.js.map +1 -1
  30. package/dist/src/ui/commands/helpCommand.test.js +60 -7
  31. package/dist/src/ui/commands/helpCommand.test.js.map +1 -1
  32. package/dist/src/ui/commands/mcpCommand.js +1 -0
  33. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  34. package/dist/src/ui/commands/restoreCommand.js +2 -0
  35. package/dist/src/ui/commands/restoreCommand.js.map +1 -1
  36. package/dist/src/ui/commands/setupGithubCommand.js +3 -4
  37. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  38. package/dist/src/ui/components/AgentConfigDialog.js.map +1 -1
  39. package/dist/src/ui/components/AsciiArt.d.ts +6 -6
  40. package/dist/src/ui/components/AsciiArt.js +6 -6
  41. package/dist/src/ui/components/EditorSettingsDialog.js +9 -3
  42. package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
  43. package/dist/src/ui/components/EditorSettingsDialog.test.js +24 -0
  44. package/dist/src/ui/components/EditorSettingsDialog.test.js.map +1 -1
  45. package/dist/src/ui/components/InputPrompt.test.js +9 -3
  46. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  47. package/dist/src/ui/constants/wittyPhrases.js +1 -0
  48. package/dist/src/ui/constants/wittyPhrases.js.map +1 -1
  49. package/dist/src/ui/hooks/atCommandProcessor.js +17 -2
  50. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  51. package/dist/src/ui/hooks/atCommandProcessor.test.js +1 -0
  52. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  53. package/dist/src/ui/hooks/useBanner.js +12 -2
  54. package/dist/src/ui/hooks/useBanner.js.map +1 -1
  55. package/dist/src/ui/hooks/useBanner.test.js +61 -3
  56. package/dist/src/ui/hooks/useBanner.test.js.map +1 -1
  57. package/dist/src/ui/utils/antigravityUtils.d.ts +14 -0
  58. package/dist/src/ui/utils/antigravityUtils.js +41 -0
  59. package/dist/src/ui/utils/antigravityUtils.js.map +1 -0
  60. package/dist/src/ui/utils/antigravityUtils.test.d.ts +6 -0
  61. package/dist/src/ui/utils/antigravityUtils.test.js +54 -0
  62. package/dist/src/ui/utils/antigravityUtils.test.js.map +1 -0
  63. package/dist/src/ui/utils/terminalCapabilityManager.js +11 -1
  64. package/dist/src/ui/utils/terminalCapabilityManager.js.map +1 -1
  65. package/dist/src/ui/utils/terminalCapabilityManager.test.js +33 -0
  66. package/dist/src/ui/utils/terminalCapabilityManager.test.js.map +1 -1
  67. package/dist/src/ui/utils/updateCheck.js +6 -5
  68. package/dist/src/ui/utils/updateCheck.js.map +1 -1
  69. package/dist/src/utils/envVarResolver.js +5 -2
  70. package/dist/src/utils/envVarResolver.js.map +1 -1
  71. package/dist/src/utils/gitUtils.js +2 -0
  72. package/dist/src/utils/gitUtils.js.map +1 -1
  73. package/dist/src/utils/handleAutoUpdate.test.js +2 -2
  74. package/dist/src/utils/sandbox.js +1 -1
  75. package/dist/src/utils/sandbox.js.map +1 -1
  76. package/dist/src/utils/sessionUtils.d.ts +0 -7
  77. package/dist/src/utils/sessionUtils.js +4 -9
  78. package/dist/src/utils/sessionUtils.js.map +1 -1
  79. package/dist/src/utils/sessionUtils.test.js +51 -125
  80. package/dist/src/utils/sessionUtils.test.js.map +1 -1
  81. package/dist/src/utils/skillUtils.js +39 -12
  82. package/dist/src/utils/skillUtils.js.map +1 -1
  83. package/dist/src/utils/skillUtils.test.js +76 -0
  84. package/dist/src/utils/skillUtils.test.js.map +1 -1
  85. package/dist/src/utils/terminalTheme.js +2 -1
  86. package/dist/src/utils/terminalTheme.js.map +1 -1
  87. package/dist/src/utils/terminalTheme.test.d.ts +6 -0
  88. package/dist/src/utils/terminalTheme.test.js +91 -0
  89. package/dist/src/utils/terminalTheme.test.js.map +1 -0
  90. package/dist/tsconfig.tsbuildinfo +1 -1
  91. package/package.json +51 -55
@@ -167,6 +167,82 @@ describe('skillUtils', () => {
167
167
  const exists = await fs.stat(skillDir).catch(() => null);
168
168
  expect(exists).toBeNull();
169
169
  });
170
+ it('should prevent path traversal in fallback uninstallation (e.g. sibling directories)', async () => {
171
+ const skillsDir = path.join(tempDir, '.cell-cli/skills');
172
+ await fs.mkdir(skillsDir, { recursive: true });
173
+ const siblingDir = path.join(tempDir, '.cell-cli/skills-attacker');
174
+ await fs.mkdir(siblingDir, { recursive: true });
175
+ // Attempt to uninstall the sibling directory using path traversal
176
+ const result = await uninstallSkill('../skills-attacker', 'user');
177
+ expect(result).toBeNull();
178
+ // Verify sibling directory is NOT deleted
179
+ const exists = await fs.stat(siblingDir).catch(() => null);
180
+ expect(exists).not.toBeNull();
181
+ });
182
+ it('should prevent path traversal in fallback uninstallation with dot or dot dot', async () => {
183
+ expect(await uninstallSkill('..', 'user')).toBeNull();
184
+ expect(await uninstallSkill('.', 'user')).toBeNull();
185
+ expect(await uninstallSkill('', 'user')).toBeNull();
186
+ });
187
+ });
188
+ describe('path traversal prevention', () => {
189
+ it('should throw error during installation if skill name is dot dot or dot', async () => {
190
+ const mockSkillSourceDir = path.join(tempDir, 'mock-skill-source');
191
+ const skillSubDir = path.join(mockSkillSourceDir, 'test-skill');
192
+ await fs.mkdir(skillSubDir, { recursive: true });
193
+ await fs.writeFile(path.join(skillSubDir, 'SKILL.md'), '---\nname: ..\ndescription: exploit\n---\nbody');
194
+ await expect(installSkill(mockSkillSourceDir, 'workspace', undefined, () => { })).rejects.toThrow('Invalid skill name: Path traversal detected.');
195
+ });
196
+ it('should throw error during linking if skill name is dot dot or dot', async () => {
197
+ const mockSkillSourceDir = path.join(tempDir, 'mock-skill-source');
198
+ const skillSubDir = path.join(mockSkillSourceDir, 'test-skill');
199
+ await fs.mkdir(skillSubDir, { recursive: true });
200
+ await fs.writeFile(path.join(skillSubDir, 'SKILL.md'), '---\nname: ..\ndescription: exploit\n---\nbody');
201
+ await expect(linkSkill(mockSkillSourceDir, 'workspace', () => { })).rejects.toThrow('Invalid skill name: Path traversal detected.');
202
+ });
203
+ it('should throw error during installation if subpath escapes temp directory', async () => {
204
+ const skillPath = path.join(projectRoot, 'weather-skill.skill');
205
+ const exists = await fs.stat(skillPath).catch(() => null);
206
+ if (!exists)
207
+ return;
208
+ await expect(installSkill(skillPath, 'workspace', '../escape', () => { })).rejects.toThrow('Invalid path: Directory traversal not allowed.');
209
+ });
210
+ it('should sanitize absolute path names and install them safely within the target directory', async () => {
211
+ const mockSkillSourceDir = path.join(tempDir, 'mock-skill-source');
212
+ const skillSubDir = path.join(mockSkillSourceDir, 'test-skill');
213
+ await fs.mkdir(skillSubDir, { recursive: true });
214
+ await fs.writeFile(path.join(skillSubDir, 'SKILL.md'), '---\nname: /tmp/exploit\ndescription: exploit\n---\nbody');
215
+ const installed = await installSkill(mockSkillSourceDir, 'workspace', undefined, () => { });
216
+ expect(installed.length).toBe(1);
217
+ expect(installed[0].name).toBe('-tmp-exploit');
218
+ const destPath = installed[0].location;
219
+ const resolvedTarget = path.resolve(tempDir, '.cell-cli/skills');
220
+ expect(destPath.startsWith(resolvedTarget + path.sep)).toBe(true);
221
+ });
222
+ it('should sanitize traversal names with spaces and install them safely within the target directory', async () => {
223
+ const mockSkillSourceDir = path.join(tempDir, 'mock-skill-source');
224
+ const skillSubDir = path.join(mockSkillSourceDir, 'test-skill');
225
+ await fs.mkdir(skillSubDir, { recursive: true });
226
+ await fs.writeFile(path.join(skillSubDir, 'SKILL.md'), '---\nname: " ../../exploit "\ndescription: exploit\n---\nbody');
227
+ const installed = await installSkill(mockSkillSourceDir, 'workspace', undefined, () => { });
228
+ expect(installed.length).toBe(1);
229
+ expect(installed[0].name).toBe(' ..-..-exploit ');
230
+ const destPath = installed[0].location;
231
+ const resolvedTarget = path.resolve(tempDir, '.cell-cli/skills');
232
+ expect(destPath.startsWith(resolvedTarget + path.sep)).toBe(true);
233
+ });
234
+ it('should allow installation if skill name starts with double dots but is safe (e.g. ..-foo or ...)', async () => {
235
+ const mockSkillSourceDir = path.join(tempDir, 'mock-skill-source');
236
+ const skillSubDir = path.join(mockSkillSourceDir, 'test-skill');
237
+ await fs.mkdir(skillSubDir, { recursive: true });
238
+ await fs.writeFile(path.join(skillSubDir, 'SKILL.md'), '---\nname: ..-foo\ndescription: safe skill name starting with double dots\n---\nbody');
239
+ const installed = await installSkill(mockSkillSourceDir, 'workspace', undefined, () => { });
240
+ expect(installed.length).toBe(1);
241
+ expect(installed[0].name).toBe('..-foo');
242
+ const destPath = installed[0].location;
243
+ const resolvedTarget = path.resolve(tempDir, '.cell-cli/skills');
244
+ expect(destPath.startsWith(resolvedTarget + path.sep)).toBe(true);
245
+ });
170
246
  });
171
247
  });
172
248
  //# sourceMappingURL=skillUtils.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skillUtils.test.js","sourceRoot":"","sources":["../../../src/utils/skillUtils.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE1E,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,IAAI,OAAe,CAAC;IACpB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAE/D,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;QACxE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAClD,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,EAAE,CAAC,eAAe,EAAE,CAAC;QACrB,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,gCAAgC;YAChC,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YACnE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;YAChE,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EAClC,qDAAqD,CACtD,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,kBAAkB,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC1E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE1C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC;YACxE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE1C,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YACnE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;YAChE,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EAClC,qDAAqD,CACtD,CAAC;YAEF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YACzD,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACxD,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAE7B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,kBAAkB,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC1E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE9B,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YACnE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;YAChE,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjD,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EAClC,qDAAqD,CACtD,CAAC;YAEF,MAAM,cAAc,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAExD,MAAM,MAAM,CACV,SAAS,CAAC,kBAAkB,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,cAAc,CAAC,CACrE,CAAC,OAAO,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;YAEtD,MAAM,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;YAE1C,2BAA2B;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YACnE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YAC1D,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAChC,4DAA4D,CAC7D,CAAC;YACF,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAChC,4DAA4D,CAC7D,CAAC;YAEF,MAAM,MAAM,CACV,SAAS,CAAC,kBAAkB,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CACrD,CAAC,OAAO,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;QAEhE,yBAAyB;QACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,0EAA0E;YAC1E,iFAAiF;YACjF,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,SAAS,EACT,WAAW,EACX,SAAS,EACT,KAAK,IAAI,EAAE,GAAE,CAAC,CACf,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE7C,mDAAmD;QACnD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAC7B,OAAO,EACP,kBAAkB,EAClB,eAAe,CAChB,CAAC;QACF,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,CAAC,eAAe,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAElD,MAAM,aAAa,GAAG,MAAM,EAAE;aAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;aAC1C,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,gCAAgC;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC1D,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EAClC,qDAAqD,CACtD,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,YAAY,EACZ,WAAW,EACX,SAAS,EACT,KAAK,IAAI,EAAE,GAAE,CAAC,CACf,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE1C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAC3E,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,CAAC,eAAe,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC1D,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EAClC,qDAAqD,CACtD,CAAC;QAEF,MAAM,cAAc,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAExD,MAAM,MAAM,CACV,YAAY,CACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,KAAK,IAAI,EAAE,GAAE,CAAC,EACd,cAAc,CACf,CACF,CAAC,OAAO,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;QAE3D,MAAM,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAE1C,2BAA2B;QAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAC3E,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACpD,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAC/B,qDAAqD,CACtD,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAEjD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;YAChG,yBAAyB;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YACrD,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACrD,MAAM,EAAE,CAAC,SAAS,CAChB,WAAW,EACX,wDAAwD,CACzD,CAAC;YAEF,aAAa;YACb,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YACzD,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YACvD,MAAM,EAAE,CAAC,OAAO,CACd,SAAS,EACT,QAAQ,EACR,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAClD,CAAC;YAEF,2BAA2B;YAC3B,MAAM,EAAE,CAAC,SAAS,CAChB,WAAW,EACX,uDAAuD,CACxD,CAAC;YAEF,iDAAiD;YACjD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAExC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;YACzG,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACxD,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,mBAAmB;YAEnB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAExC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"skillUtils.test.js","sourceRoot":"","sources":["../../../src/utils/skillUtils.test.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,8 @@ export async function setupTerminalAndTheme(config, settings) {
37
37
  }
38
38
  config.setTerminalBackground(terminalBackground);
39
39
  themeManager.setTerminalBackground(terminalBackground);
40
- if (terminalBackground !== undefined) {
40
+ if (terminalBackground !== undefined &&
41
+ (settings.merged.ui.autoThemeSwitching ?? true)) {
41
42
  const currentTheme = themeManager.getActiveTheme();
42
43
  if (!themeManager.isThemeCompatible(currentTheme, terminalBackground)) {
43
44
  const backgroundType = getThemeTypeFromBackgroundColor(terminalBackground);
@@ -1 +1 @@
1
- {"version":3,"file":"terminalTheme.js","sourceRoot":"","sources":["../../../src/utils/terminalTheme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,yBAAyB,GAC1B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAe,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAc,EACd,QAAwB;IAExB,IAAI,kBAAkB,GAA4B,SAAS,CAAC;IAC5D,IAAI,MAAM,CAAC,aAAa,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAClD,+EAA+E;QAC/E,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;QACrD,kBAAkB,GAAG,yBAAyB,CAAC,0BAA0B,EAAE,CAAC;IAC9E,CAAC;IAED,mCAAmC;IACnC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IAE/D,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,6EAA6E;YAC7E,+EAA+E;YAC/E,WAAW,CAAC,IAAI,CACd,mBAAmB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,cAAc,CAC1D,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,sDAAsD;QACtD,MAAM,SAAS,GAAG,oBAAoB,CACpC,kBAAkB,EAClB,YAAY,CAAC,YAAY,EAAE,EAC3B,aAAa,CAAC,IAAI,EAClB,eAAe,CAChB,CAAC;QACF,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IACjD,YAAY,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IAEvD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;QACnD,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAE,CAAC;YACtE,MAAM,cAAc,GAClB,+BAA+B,CAAC,kBAAkB,CAAC,CAAC;YACtD,UAAU,CAAC,YAAY,CACrB,SAAS,EACT,UAAU,YAAY,CAAC,IAAI,MAAM,YAAY,CAAC,IAAI,kCAAkC,cAAc,oDAAoD,CACvJ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,kBAAkB,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"terminalTheme.js","sourceRoot":"","sources":["../../../src/utils/terminalTheme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEL,yBAAyB,GAC1B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAe,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAc,EACd,QAAwB;IAExB,IAAI,kBAAkB,GAA4B,SAAS,CAAC;IAC5D,IAAI,MAAM,CAAC,aAAa,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAClD,+EAA+E;QAC/E,MAAM,yBAAyB,CAAC,kBAAkB,EAAE,CAAC;QACrD,kBAAkB,GAAG,yBAAyB,CAAC,0BAA0B,EAAE,CAAC;IAC9E,CAAC;IAED,mCAAmC;IACnC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IAE/D,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,6EAA6E;YAC7E,+EAA+E;YAC/E,WAAW,CAAC,IAAI,CACd,mBAAmB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,cAAc,CAC1D,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,sDAAsD;QACtD,MAAM,SAAS,GAAG,oBAAoB,CACpC,kBAAkB,EAClB,YAAY,CAAC,YAAY,EAAE,EAC3B,aAAa,CAAC,IAAI,EAClB,eAAe,CAChB,CAAC;QACF,YAAY,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IACjD,YAAY,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IAEvD,IACE,kBAAkB,KAAK,SAAS;QAChC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB,IAAI,IAAI,CAAC,EAC/C,CAAC;QACD,MAAM,YAAY,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;QACnD,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAE,CAAC;YACtE,MAAM,cAAc,GAClB,+BAA+B,CAAC,kBAAkB,CAAC,CAAC;YACtD,UAAU,CAAC,YAAY,CACrB,SAAS,EACT,UAAU,YAAY,CAAC,IAAI,MAAM,YAAY,CAAC,IAAI,kCAAkC,cAAc,oDAAoD,CACvJ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,kBAAkB,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
@@ -0,0 +1,91 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
7
+ import { setupTerminalAndTheme } from './terminalTheme.js';
8
+ import { terminalCapabilityManager } from '../ui/utils/terminalCapabilityManager.js';
9
+ import { themeManager } from '../ui/themes/theme-manager.js';
10
+ import { coreEvents } from '@google/gemini-cli-core';
11
+ vi.mock('../ui/utils/terminalCapabilityManager.js', () => ({
12
+ terminalCapabilityManager: {
13
+ detectCapabilities: vi.fn(),
14
+ getTerminalBackgroundColor: vi.fn(),
15
+ },
16
+ }));
17
+ vi.mock('../ui/themes/theme-manager.js', () => ({
18
+ themeManager: {
19
+ loadCustomThemes: vi.fn(),
20
+ setActiveTheme: vi.fn(),
21
+ getActiveTheme: vi.fn(),
22
+ setTerminalBackground: vi.fn(),
23
+ isThemeCompatible: vi.fn(),
24
+ getAllThemes: vi.fn().mockReturnValue([]),
25
+ },
26
+ DEFAULT_THEME: { name: 'Default Dark' },
27
+ }));
28
+ vi.mock('@google/gemini-cli-core', () => ({
29
+ coreEvents: {
30
+ emitFeedback: vi.fn(),
31
+ },
32
+ debugLogger: {
33
+ warn: vi.fn(),
34
+ },
35
+ }));
36
+ describe('setupTerminalAndTheme', () => {
37
+ let mockConfig;
38
+ let mockSettings;
39
+ const originalIsTTY = process.stdin.isTTY;
40
+ beforeEach(() => {
41
+ vi.resetAllMocks();
42
+ mockConfig = {
43
+ isInteractive: vi.fn().mockReturnValue(true),
44
+ setTerminalBackground: vi.fn(),
45
+ };
46
+ mockSettings = {
47
+ merged: {
48
+ ui: {
49
+ customThemes: {},
50
+ theme: 'Dracula',
51
+ autoThemeSwitching: true,
52
+ },
53
+ },
54
+ };
55
+ // Mock process.stdin.isTTY
56
+ Object.defineProperty(process.stdin, 'isTTY', {
57
+ value: true,
58
+ configurable: true,
59
+ });
60
+ });
61
+ afterEach(() => {
62
+ Object.defineProperty(process.stdin, 'isTTY', {
63
+ value: originalIsTTY,
64
+ configurable: true,
65
+ });
66
+ });
67
+ it('should emit warning when theme is incompatible and autoThemeSwitching is enabled', async () => {
68
+ vi.mocked(terminalCapabilityManager.getTerminalBackgroundColor).mockReturnValue('#ffffff'); // Light
69
+ vi.mocked(themeManager.setActiveTheme).mockReturnValue(true);
70
+ vi.mocked(themeManager.getActiveTheme).mockReturnValue({
71
+ name: 'Dracula',
72
+ type: 'dark',
73
+ });
74
+ vi.mocked(themeManager.isThemeCompatible).mockReturnValue(false);
75
+ await setupTerminalAndTheme(mockConfig, mockSettings);
76
+ expect(coreEvents.emitFeedback).toHaveBeenCalledWith('warning', expect.stringContaining("Theme 'Dracula' (dark) might look incorrect on your light terminal background"));
77
+ });
78
+ it('should NOT emit warning when theme is incompatible but autoThemeSwitching is DISABLED', async () => {
79
+ mockSettings.merged.ui.autoThemeSwitching = false;
80
+ vi.mocked(terminalCapabilityManager.getTerminalBackgroundColor).mockReturnValue('#ffffff'); // Light
81
+ vi.mocked(themeManager.setActiveTheme).mockReturnValue(true);
82
+ vi.mocked(themeManager.getActiveTheme).mockReturnValue({
83
+ name: 'Dracula',
84
+ type: 'dark',
85
+ });
86
+ vi.mocked(themeManager.isThemeCompatible).mockReturnValue(false);
87
+ await setupTerminalAndTheme(mockConfig, mockSettings);
88
+ expect(coreEvents.emitFeedback).not.toHaveBeenCalled();
89
+ });
90
+ });
91
+ //# sourceMappingURL=terminalTheme.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminalTheme.test.js","sourceRoot":"","sources":["../../../src/utils/terminalTheme.test.ts"],"names":[],"mappings":"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"}