@brookmind/ai-toolkit 1.2.1 → 1.2.2

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 (46) hide show
  1. package/README.md +8 -12
  2. package/dist/__tests__/index.test.js +4 -3
  3. package/dist/__tests__/index.test.js.map +1 -1
  4. package/dist/__tests__/integration/installer.test.js +64 -39
  5. package/dist/__tests__/integration/installer.test.js.map +1 -1
  6. package/dist/__tests__/services/installers.test.js +52 -24
  7. package/dist/__tests__/services/installers.test.js.map +1 -1
  8. package/dist/__tests__/ui/categorize.test.js +43 -12
  9. package/dist/__tests__/ui/categorize.test.js.map +1 -1
  10. package/dist/__tests__/ui/choices.test.js +78 -35
  11. package/dist/__tests__/ui/choices.test.js.map +1 -1
  12. package/dist/__tests__/ui/display.test.js +20 -24
  13. package/dist/__tests__/ui/display.test.js.map +1 -1
  14. package/dist/__tests__/utils/fs.test.js +166 -7
  15. package/dist/__tests__/utils/fs.test.js.map +1 -1
  16. package/dist/constants.d.ts.map +1 -1
  17. package/dist/constants.js +2 -0
  18. package/dist/constants.js.map +1 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +24 -29
  21. package/dist/index.js.map +1 -1
  22. package/dist/services/installers.d.ts +1 -1
  23. package/dist/services/installers.d.ts.map +1 -1
  24. package/dist/services/installers.js +21 -14
  25. package/dist/services/installers.js.map +1 -1
  26. package/dist/types.d.ts +15 -0
  27. package/dist/types.d.ts.map +1 -1
  28. package/dist/types.js +28 -1
  29. package/dist/types.js.map +1 -1
  30. package/dist/ui/categorize.d.ts +1 -0
  31. package/dist/ui/categorize.d.ts.map +1 -1
  32. package/dist/ui/categorize.js +15 -3
  33. package/dist/ui/categorize.js.map +1 -1
  34. package/dist/ui/choices.d.ts +1 -0
  35. package/dist/ui/choices.d.ts.map +1 -1
  36. package/dist/ui/choices.js +14 -3
  37. package/dist/ui/choices.js.map +1 -1
  38. package/dist/ui/display.d.ts +1 -2
  39. package/dist/ui/display.d.ts.map +1 -1
  40. package/dist/ui/display.js +11 -16
  41. package/dist/ui/display.js.map +1 -1
  42. package/dist/utils/fs.d.ts +14 -0
  43. package/dist/utils/fs.d.ts.map +1 -1
  44. package/dist/utils/fs.js +72 -2
  45. package/dist/utils/fs.js.map +1 -1
  46. package/package.json +2 -2
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # AI Toolkit
1
+ # SWE AI Toolkit
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/@brookmind/ai-toolkit.svg)](https://www.npmjs.com/package/@brookmind/ai-toolkit)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
@@ -12,17 +12,13 @@ A collection of agents, skills, and MCPs for AI coding assistants.
12
12
  npx @brookmind/ai-toolkit
13
13
  ```
14
14
 
15
- The installer will:
16
-
17
- 1. **Check if OpenCode is installed** - If not, it will offer to install it for you
18
- 2. **Guide you through selecting**:
19
- - **Agents**: AI assistants for specific tasks
20
- - **Skills**: Extended capabilities and workflows
21
- - **Commands**: Reusable prompts for common tasks
22
- - **MCPs**: Model Context Protocol servers
23
- 3. **Theme installation**:
24
- - **New installations**: claude-vivid theme is installed automatically
25
- - **Existing installations**: You'll be asked if you want to install the theme
15
+ The installer will guide you through selecting:
16
+
17
+ - **Agents**: AI assistants for specific tasks
18
+ - **Skills**: Extended capabilities and workflows
19
+ - **Commands**: Reusable prompts for common tasks
20
+ - **MCPs**: Model Context Protocol servers
21
+ - **Themes**: Visual themes for your AI coding assistant
26
22
 
27
23
  ## What's Included
28
24
 
@@ -61,10 +61,11 @@ describe('descriptions validation', () => {
61
61
  const constantsPath = join(rootDir, 'src', 'constants.ts');
62
62
  const content = await readFile(constantsPath, 'utf-8');
63
63
  const match = content.match(/export const DESCRIPTIONS[^{]*\{([^}]+)\}/s);
64
- if (!match)
64
+ const matchContent = match?.[1];
65
+ if (!matchContent)
65
66
  return new Set();
66
- const quotedKeys = match[1].match(/'([^']+)':/g) || [];
67
- const unquotedKeys = match[1].match(/^\s*([a-zA-Z0-9-]+):/gm) || [];
67
+ const quotedKeys = matchContent.match(/'([^']+)':/g) ?? [];
68
+ const unquotedKeys = matchContent.match(/^\s*([a-zA-Z0-9-]+):/gm) ?? [];
68
69
  const keys = new Set();
69
70
  quotedKeys.forEach((k) => keys.add(k.replace(/'/g, '').replace(':', '')));
70
71
  unquotedKeys.forEach((k) => keys.add(k.trim().replace(':', '')));
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ vi.mock('../../services/installers.js', () => ({
21
21
  installSkills: vi.fn(),
22
22
  installCommands: vi.fn(),
23
23
  installMcps: vi.fn(),
24
- installTheme: vi.fn(),
24
+ installThemes: vi.fn(),
25
25
  isThemeInstalled: vi.fn(),
26
26
  getInstalledMcps: vi.fn(),
27
27
  }));
@@ -48,12 +48,14 @@ vi.mock('../../ui/choices.js', () => ({
48
48
  buildSkillChoices: vi.fn(),
49
49
  buildCommandChoices: vi.fn(),
50
50
  buildMcpChoices: vi.fn(),
51
+ buildThemeChoices: vi.fn(),
51
52
  }));
52
53
  vi.mock('../../ui/categorize.js', () => ({
53
54
  categorizeAgents: vi.fn(),
54
55
  categorizeSkills: vi.fn(),
55
56
  categorizeCommands: vi.fn(),
56
57
  categorizeMcps: vi.fn(),
58
+ categorizeThemes: vi.fn(),
57
59
  }));
58
60
  describe('integration/installer', () => {
59
61
  let mockConfirm;
@@ -66,16 +68,17 @@ describe('integration/installer', () => {
66
68
  let mockInstallSkills;
67
69
  let mockInstallCommands;
68
70
  let mockInstallMcps;
69
- let mockInstallTheme;
70
- let mockIsThemeInstalled;
71
+ let mockInstallThemes;
71
72
  let mockBuildAgentChoices;
72
73
  let mockBuildSkillChoices;
73
74
  let mockBuildCommandChoices;
74
75
  let mockBuildMcpChoices;
76
+ let mockBuildThemeChoices;
75
77
  let mockCategorizeAgents;
76
78
  let mockCategorizeSkills;
77
79
  let mockCategorizeCommands;
78
80
  let mockCategorizeMcps;
81
+ let mockCategorizeThemes;
79
82
  let mockSetupScrollRegion;
80
83
  let mockResetScrollRegion;
81
84
  let processExitSpy;
@@ -96,8 +99,7 @@ describe('integration/installer', () => {
96
99
  mockInstallSkills = installersModule.installSkills;
97
100
  mockInstallCommands = installersModule.installCommands;
98
101
  mockInstallMcps = installersModule.installMcps;
99
- mockInstallTheme = installersModule.installTheme;
100
- mockIsThemeInstalled = installersModule.isThemeInstalled;
102
+ mockInstallThemes = installersModule.installThemes;
101
103
  const fsModule = await import('../../utils/fs.js');
102
104
  mockGetFiles = fsModule.getFiles;
103
105
  mockGetDirectories = fsModule.getDirectories;
@@ -106,11 +108,13 @@ describe('integration/installer', () => {
106
108
  mockBuildSkillChoices = choicesModule.buildSkillChoices;
107
109
  mockBuildCommandChoices = choicesModule.buildCommandChoices;
108
110
  mockBuildMcpChoices = choicesModule.buildMcpChoices;
111
+ mockBuildThemeChoices = choicesModule.buildThemeChoices;
109
112
  const categorizeModule = await import('../../ui/categorize.js');
110
113
  mockCategorizeAgents = categorizeModule.categorizeAgents;
111
114
  mockCategorizeSkills = categorizeModule.categorizeSkills;
112
115
  mockCategorizeCommands = categorizeModule.categorizeCommands;
113
116
  mockCategorizeMcps = categorizeModule.categorizeMcps;
117
+ mockCategorizeThemes = categorizeModule.categorizeThemes;
114
118
  const terminalModule = await import('../../utils/terminal.js');
115
119
  mockSetupScrollRegion = terminalModule.setupScrollRegion;
116
120
  mockResetScrollRegion = terminalModule.resetScrollRegion;
@@ -128,13 +132,14 @@ describe('integration/installer', () => {
128
132
  mockBuildSkillChoices.mockResolvedValue([]);
129
133
  mockBuildCommandChoices.mockResolvedValue([]);
130
134
  mockBuildMcpChoices.mockResolvedValue([]);
135
+ mockBuildThemeChoices.mockResolvedValue([]);
131
136
  mockSelect.mockResolvedValue([]);
132
137
  mockConfirm.mockResolvedValue(false);
133
- mockIsThemeInstalled.mockResolvedValue(false);
134
138
  mockCategorizeAgents.mockResolvedValue({ new: [], update: [] });
135
139
  mockCategorizeSkills.mockResolvedValue({ new: [], update: [] });
136
140
  mockCategorizeCommands.mockResolvedValue({ new: [], update: [] });
137
141
  mockCategorizeMcps.mockResolvedValue({ new: [], update: [] });
142
+ mockCategorizeThemes.mockResolvedValue({ new: [], update: [] });
138
143
  });
139
144
  afterEach(() => {
140
145
  processExitSpy.mockRestore();
@@ -223,56 +228,63 @@ describe('integration/installer', () => {
223
228
  it('should complete full installation flow', async () => {
224
229
  const { run } = await import('../../index.js');
225
230
  mockIsOpenCodeInstalled.mockResolvedValue(true);
226
- mockGetFiles.mockResolvedValueOnce(['agent1']).mockResolvedValueOnce(['cmd1']);
231
+ mockGetFiles
232
+ .mockResolvedValueOnce(['agent1'])
233
+ .mockResolvedValueOnce(['cmd1'])
234
+ .mockResolvedValueOnce(['theme1']);
227
235
  mockGetDirectories.mockResolvedValueOnce(['skill1']).mockResolvedValueOnce(['mcp1']);
228
236
  mockBuildAgentChoices.mockResolvedValue([{ name: 'agent1', value: 'agent1' }]);
229
237
  mockBuildSkillChoices.mockResolvedValue([{ name: 'skill1', value: 'skill1' }]);
230
238
  mockBuildCommandChoices.mockResolvedValue([{ name: 'cmd1', value: 'cmd1' }]);
231
239
  mockBuildMcpChoices.mockResolvedValue([{ name: 'mcp1', value: 'mcp1' }]);
240
+ mockBuildThemeChoices.mockResolvedValue([{ name: 'theme1', value: 'theme1' }]);
232
241
  mockSelect
233
242
  .mockResolvedValueOnce(['agent1'])
234
243
  .mockResolvedValueOnce(['skill1'])
235
244
  .mockResolvedValueOnce(['cmd1'])
236
- .mockResolvedValueOnce(['mcp1']);
237
- mockConfirm
238
- .mockResolvedValueOnce(true) // Theme
239
- .mockResolvedValueOnce(true); // Confirm
245
+ .mockResolvedValueOnce(['mcp1'])
246
+ .mockResolvedValueOnce(['theme1']);
247
+ mockConfirm.mockResolvedValueOnce(true); // Confirm
240
248
  mockCategorizeAgents.mockResolvedValue({ new: ['agent1'], update: [] });
241
249
  mockCategorizeSkills.mockResolvedValue({ new: ['skill1'], update: [] });
242
250
  mockCategorizeCommands.mockResolvedValue({ new: ['cmd1'], update: [] });
243
251
  mockCategorizeMcps.mockResolvedValue({ new: ['mcp1'], update: [] });
252
+ mockCategorizeThemes.mockResolvedValue({ new: ['theme1'], update: [] });
244
253
  await run();
245
254
  expect(mockInstallAgents).toHaveBeenCalledWith(['agent1']);
246
255
  expect(mockInstallSkills).toHaveBeenCalledWith(['skill1']);
247
256
  expect(mockInstallCommands).toHaveBeenCalledWith(['cmd1']);
248
257
  expect(mockInstallMcps).toHaveBeenCalledWith(['mcp1']);
249
- expect(mockInstallTheme).toHaveBeenCalled();
258
+ expect(mockInstallThemes).toHaveBeenCalledWith(['theme1']);
250
259
  });
251
- it('should not install theme when not selected', async () => {
260
+ it('should not install themes when none selected', async () => {
252
261
  const { run } = await import('../../index.js');
253
262
  mockIsOpenCodeInstalled.mockResolvedValue(true);
254
- mockSelect.mockResolvedValue(['agent1']);
255
- mockGetFiles.mockResolvedValueOnce(['agent1']).mockResolvedValueOnce([]);
263
+ mockGetFiles
264
+ .mockResolvedValueOnce(['agent1'])
265
+ .mockResolvedValueOnce([])
266
+ .mockResolvedValueOnce(['theme1']);
256
267
  mockGetDirectories.mockResolvedValue([]);
257
268
  mockBuildAgentChoices.mockResolvedValue([{ name: 'agent1', value: 'agent1' }]);
269
+ mockBuildThemeChoices.mockResolvedValue([{ name: 'theme1', value: 'theme1' }]);
270
+ mockSelect.mockResolvedValueOnce(['agent1']).mockResolvedValueOnce([]); // No themes selected
258
271
  mockCategorizeAgents.mockResolvedValue({ new: ['agent1'], update: [] });
259
- mockConfirm
260
- .mockResolvedValueOnce(false) // Theme
261
- .mockResolvedValueOnce(true); // Confirm
272
+ mockConfirm.mockResolvedValueOnce(true); // Confirm
262
273
  await run();
263
- expect(mockInstallTheme).not.toHaveBeenCalled();
274
+ expect(mockInstallThemes).toHaveBeenCalledWith([]);
264
275
  });
265
276
  it('should cancel installation when user does not confirm', async () => {
266
277
  const { run } = await import('../../index.js');
267
278
  mockIsOpenCodeInstalled.mockResolvedValue(true);
268
279
  mockSelect.mockResolvedValue(['agent1']);
269
- mockGetFiles.mockResolvedValueOnce(['agent1']).mockResolvedValueOnce([]);
280
+ mockGetFiles
281
+ .mockResolvedValueOnce(['agent1'])
282
+ .mockResolvedValueOnce([])
283
+ .mockResolvedValueOnce([]);
270
284
  mockGetDirectories.mockResolvedValue([]);
271
285
  mockBuildAgentChoices.mockResolvedValue([{ name: 'agent1', value: 'agent1' }]);
272
286
  mockCategorizeAgents.mockResolvedValue({ new: ['agent1'], update: [] });
273
- mockConfirm
274
- .mockResolvedValueOnce(false) // Theme
275
- .mockResolvedValueOnce(false); // Confirm - NO
287
+ mockConfirm.mockResolvedValueOnce(false); // Confirm - NO
276
288
  try {
277
289
  await run();
278
290
  }
@@ -286,11 +298,14 @@ describe('integration/installer', () => {
286
298
  const { run } = await import('../../index.js');
287
299
  mockIsOpenCodeInstalled.mockResolvedValue(true);
288
300
  mockSelect.mockResolvedValue(['agent1']);
289
- mockGetFiles.mockResolvedValueOnce(['agent1']).mockResolvedValueOnce([]);
301
+ mockGetFiles
302
+ .mockResolvedValueOnce(['agent1'])
303
+ .mockResolvedValueOnce([])
304
+ .mockResolvedValueOnce([]);
290
305
  mockGetDirectories.mockResolvedValue([]);
291
306
  mockBuildAgentChoices.mockResolvedValue([{ name: 'agent1', value: 'agent1' }]);
292
307
  mockCategorizeAgents.mockResolvedValue({ new: ['agent1'], update: [] });
293
- mockConfirm.mockResolvedValueOnce(false).mockResolvedValueOnce(true);
308
+ mockConfirm.mockResolvedValueOnce(true);
294
309
  mockInstallAgents.mockRejectedValue(new Error('Install failed'));
295
310
  try {
296
311
  await run();
@@ -300,18 +315,22 @@ describe('integration/installer', () => {
300
315
  }
301
316
  expect(processExitSpy).toHaveBeenCalledWith(1);
302
317
  });
303
- it('should skip theme selection when already installed', async () => {
318
+ it('should show themes with installed tag when already installed', async () => {
304
319
  const { run } = await import('../../index.js');
305
320
  mockIsOpenCodeInstalled.mockResolvedValue(true);
306
- mockIsThemeInstalled.mockResolvedValue(true);
307
- mockSelect.mockResolvedValue(['agent1']);
308
- mockGetFiles.mockResolvedValueOnce(['agent1']).mockResolvedValueOnce([]);
321
+ mockGetFiles
322
+ .mockResolvedValueOnce(['agent1'])
323
+ .mockResolvedValueOnce([])
324
+ .mockResolvedValueOnce(['theme1']);
309
325
  mockGetDirectories.mockResolvedValue([]);
310
326
  mockBuildAgentChoices.mockResolvedValue([{ name: 'agent1', value: 'agent1' }]);
327
+ mockBuildThemeChoices.mockResolvedValue([{ name: 'theme1 (installed)', value: 'theme1' }]);
328
+ mockSelect.mockResolvedValueOnce(['agent1']).mockResolvedValueOnce(['theme1']);
311
329
  mockCategorizeAgents.mockResolvedValue({ new: ['agent1'], update: [] });
312
- mockConfirm.mockResolvedValueOnce(true); // Only confirm, no theme question
330
+ mockCategorizeThemes.mockResolvedValue({ new: [], update: ['theme1'] });
331
+ mockConfirm.mockResolvedValueOnce(true);
313
332
  await run();
314
- expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('claude-vivid theme is already installed'));
333
+ expect(mockBuildThemeChoices).toHaveBeenCalledWith(['theme1']);
315
334
  });
316
335
  it('should handle OpenCode installation failure with Error', async () => {
317
336
  const { run } = await import('../../index.js');
@@ -360,29 +379,35 @@ describe('integration/installer', () => {
360
379
  it('should auto-install theme for new OpenCode installation', async () => {
361
380
  const { run } = await import('../../index.js');
362
381
  mockIsOpenCodeInstalled.mockResolvedValue(false);
363
- mockConfirm.mockResolvedValueOnce(true); // Install OpenCode
382
+ mockConfirm
383
+ .mockResolvedValueOnce(true) // Install OpenCode
384
+ .mockResolvedValueOnce(true); // Confirm install
364
385
  mockInstallOpenCode.mockResolvedValue(undefined);
365
386
  mockSelect.mockResolvedValue(['agent1']);
366
- mockGetFiles.mockResolvedValueOnce(['agent1']).mockResolvedValueOnce([]);
387
+ mockGetFiles
388
+ .mockResolvedValueOnce(['agent1'])
389
+ .mockResolvedValueOnce([])
390
+ .mockResolvedValueOnce([]);
367
391
  mockGetDirectories.mockResolvedValue([]);
368
392
  mockBuildAgentChoices.mockResolvedValue([{ name: 'agent1', value: 'agent1' }]);
369
393
  mockCategorizeAgents.mockResolvedValue({ new: ['agent1'], update: [] });
370
- mockConfirm.mockResolvedValueOnce(true); // Confirm install
394
+ mockCategorizeThemes.mockResolvedValue({ new: ['claude-vivid'], update: [] });
371
395
  await run();
372
- expect(mockInstallTheme).toHaveBeenCalled();
396
+ expect(mockInstallThemes).toHaveBeenCalledWith(['claude-vivid']);
373
397
  expect(consoleLogSpy).toHaveBeenCalledWith(expect.stringContaining('claude-vivid theme will be installed automatically'));
374
398
  });
375
399
  it('should handle installation failure with non-Error exception', async () => {
376
400
  const { run } = await import('../../index.js');
377
401
  mockIsOpenCodeInstalled.mockResolvedValue(true);
378
402
  mockSelect.mockResolvedValue(['agent1']);
379
- mockGetFiles.mockResolvedValueOnce(['agent1']).mockResolvedValueOnce([]);
403
+ mockGetFiles
404
+ .mockResolvedValueOnce(['agent1'])
405
+ .mockResolvedValueOnce([])
406
+ .mockResolvedValueOnce([]);
380
407
  mockGetDirectories.mockResolvedValue([]);
381
408
  mockBuildAgentChoices.mockResolvedValue([{ name: 'agent1', value: 'agent1' }]);
382
409
  mockCategorizeAgents.mockResolvedValue({ new: ['agent1'], update: [] });
383
- mockConfirm
384
- .mockResolvedValueOnce(false) // Theme
385
- .mockResolvedValueOnce(true); // Confirm
410
+ mockConfirm.mockResolvedValueOnce(true); // Confirm
386
411
  mockInstallAgents.mockRejectedValue('string error');
387
412
  try {
388
413
  await run();
@@ -1 +1 @@
1
- {"version":3,"file":"installer.test.js","sourceRoot":"","sources":["../../../src/__tests__/integration/installer.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installer.test.js","sourceRoot":"","sources":["../../../src/__tests__/integration/installer.test.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,8 @@ vi.mock('../../constants.js', () => {
19
19
  });
20
20
  vi.mock('../../utils/fs.js', () => ({
21
21
  exists: vi.fn(),
22
- readJsonConfig: vi.fn(),
22
+ readOpencodeConfig: vi.fn(),
23
+ readMcpConfig: vi.fn(),
23
24
  }));
24
25
  describe('services/installers', () => {
25
26
  let mockCp;
@@ -27,7 +28,8 @@ describe('services/installers', () => {
27
28
  let mockReadFile;
28
29
  let mockWriteFile;
29
30
  let mockExists;
30
- let mockReadJsonConfig;
31
+ let mockReadOpencodeConfig;
32
+ let mockReadMcpConfig;
31
33
  beforeEach(async () => {
32
34
  vi.resetAllMocks();
33
35
  const fsPromises = await import('fs/promises');
@@ -37,13 +39,15 @@ describe('services/installers', () => {
37
39
  mockWriteFile = fsPromises.writeFile;
38
40
  const fsUtils = await import('../../utils/fs.js');
39
41
  mockExists = fsUtils.exists;
40
- mockReadJsonConfig = fsUtils.readJsonConfig;
42
+ mockReadOpencodeConfig = fsUtils.readOpencodeConfig;
43
+ mockReadMcpConfig = fsUtils.readMcpConfig;
41
44
  mockMkdir.mockResolvedValue(undefined);
42
45
  mockCp.mockResolvedValue(undefined);
43
46
  mockWriteFile.mockResolvedValue(undefined);
44
47
  mockReadFile.mockResolvedValue('{}');
45
48
  mockExists.mockResolvedValue(false);
46
- mockReadJsonConfig.mockResolvedValue({});
49
+ mockReadOpencodeConfig.mockResolvedValue({});
50
+ mockReadMcpConfig.mockResolvedValue({});
47
51
  });
48
52
  afterEach(() => {
49
53
  vi.clearAllMocks();
@@ -119,53 +123,65 @@ describe('services/installers', () => {
119
123
  });
120
124
  it('should create mcp section if it does not exist', async () => {
121
125
  const { installMcps } = await import('../../services/installers.js');
122
- mockReadJsonConfig
123
- .mockResolvedValueOnce({}) // OPENCODE_CONFIG
124
- .mockResolvedValueOnce({ mcpServers: { 'test-server': { command: 'test' } } }); // MCP config
126
+ mockReadOpencodeConfig.mockResolvedValue({});
127
+ mockReadMcpConfig.mockResolvedValue({ mcpServers: { 'test-server': { command: 'test' } } });
125
128
  await installMcps(['test-mcp']);
126
129
  expect(mockWriteFile).toHaveBeenCalledWith(expect.stringContaining('opencode.json'), expect.stringContaining('"test-server"'));
127
130
  });
128
131
  it('should merge servers into existing mcp section', async () => {
129
132
  const { installMcps } = await import('../../services/installers.js');
130
- mockReadJsonConfig
131
- .mockResolvedValueOnce({ mcp: { 'existing-server': {} } })
132
- .mockResolvedValueOnce({ mcpServers: { 'new-server': {} } });
133
+ mockReadOpencodeConfig.mockResolvedValue({ mcp: { 'existing-server': {} } });
134
+ mockReadMcpConfig.mockResolvedValue({ mcpServers: { 'new-server': {} } });
133
135
  await installMcps(['test-mcp']);
134
136
  expect(mockWriteFile).toHaveBeenCalledWith(expect.stringContaining('opencode.json'), expect.stringMatching(/"existing-server".*"new-server"|"new-server".*"existing-server"/s));
135
137
  });
136
138
  it('should handle mcps without servers', async () => {
137
139
  const { installMcps } = await import('../../services/installers.js');
138
- mockReadJsonConfig.mockResolvedValueOnce({}).mockResolvedValueOnce({}); // No mcpServers
140
+ mockReadOpencodeConfig.mockResolvedValue({});
141
+ mockReadMcpConfig.mockResolvedValue({});
139
142
  await installMcps(['test-mcp']);
140
143
  expect(mockWriteFile).toHaveBeenCalled();
141
144
  });
142
145
  it('should install multiple mcps', async () => {
143
146
  const { installMcps } = await import('../../services/installers.js');
144
- mockReadJsonConfig
145
- .mockResolvedValueOnce({})
147
+ mockReadOpencodeConfig.mockResolvedValue({});
148
+ mockReadMcpConfig
146
149
  .mockResolvedValueOnce({ mcpServers: { server1: {} } })
147
150
  .mockResolvedValueOnce({ mcpServers: { server2: {} } });
148
151
  await installMcps(['mcp1', 'mcp2']);
149
152
  expect(mockWriteFile).toHaveBeenCalled();
150
153
  });
151
154
  });
152
- describe('installTheme', () => {
153
- it('should copy theme and update config when theme source exists', async () => {
154
- const { installTheme } = await import('../../services/installers.js');
155
- mockExists.mockResolvedValue(true);
156
- mockReadJsonConfig.mockResolvedValue({});
157
- await installTheme();
155
+ describe('installThemes', () => {
156
+ it('should do nothing when themes array is empty', async () => {
157
+ const { installThemes } = await import('../../services/installers.js');
158
+ await installThemes([]);
159
+ expect(mockMkdir).not.toHaveBeenCalled();
160
+ expect(mockCp).not.toHaveBeenCalled();
161
+ });
162
+ it('should copy themes and update config', async () => {
163
+ const { installThemes } = await import('../../services/installers.js');
164
+ mockReadOpencodeConfig.mockResolvedValue({});
165
+ await installThemes(['claude-vivid']);
158
166
  expect(mockMkdir).toHaveBeenCalledWith(expect.stringContaining('opencode/themes'), {
159
167
  recursive: true,
160
168
  });
161
169
  expect(mockCp).toHaveBeenCalledWith(expect.stringContaining('themes/claude-vivid.json'), expect.stringContaining('opencode/themes/claude-vivid.json'));
162
170
  expect(mockWriteFile).toHaveBeenCalledWith(expect.stringContaining('opencode.json'), expect.stringContaining('claude-vivid'));
163
171
  });
164
- it('should not update config if theme source does not exist', async () => {
165
- const { installTheme } = await import('../../services/installers.js');
166
- mockExists.mockResolvedValue(false);
167
- await installTheme();
168
- expect(mockCp).not.toHaveBeenCalled();
172
+ it('should install multiple themes and set first as active', async () => {
173
+ const { installThemes } = await import('../../services/installers.js');
174
+ mockReadOpencodeConfig.mockResolvedValue({});
175
+ await installThemes(['theme1', 'theme2']);
176
+ expect(mockCp).toHaveBeenCalledTimes(2);
177
+ expect(mockWriteFile).toHaveBeenCalledWith(expect.stringContaining('opencode.json'), expect.stringContaining('theme1'));
178
+ });
179
+ it('should not update config when first theme is empty string', async () => {
180
+ const { installThemes } = await import('../../services/installers.js');
181
+ mockReadOpencodeConfig.mockResolvedValue({});
182
+ // Empty string is falsy, so firstTheme check will fail
183
+ await installThemes(['']);
184
+ expect(mockCp).toHaveBeenCalledTimes(1);
169
185
  expect(mockWriteFile).not.toHaveBeenCalled();
170
186
  });
171
187
  });
@@ -217,6 +233,18 @@ describe('services/installers', () => {
217
233
  const result = await getInstalledMcps();
218
234
  expect(result).toEqual(new Set());
219
235
  });
236
+ it('should return empty set when config has invalid structure (mcp is not an object)', async () => {
237
+ const { getInstalledMcps } = await import('../../services/installers.js');
238
+ mockReadFile.mockResolvedValue(JSON.stringify({ mcp: 'not-an-object' }));
239
+ const result = await getInstalledMcps();
240
+ expect(result).toEqual(new Set());
241
+ });
242
+ it('should return empty set when config has invalid structure (theme is not a string)', async () => {
243
+ const { getInstalledMcps } = await import('../../services/installers.js');
244
+ mockReadFile.mockResolvedValue(JSON.stringify({ theme: 123, mcp: { server1: {} } }));
245
+ const result = await getInstalledMcps();
246
+ expect(result).toEqual(new Set());
247
+ });
220
248
  });
221
249
  });
222
250
  //# sourceMappingURL=installers.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"installers.test.js","sourceRoot":"","sources":["../../../src/__tests__/services/installers.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installers.test.js","sourceRoot":"","sources":["../../../src/__tests__/services/installers.test.ts"],"names":[],"mappings":"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"}