diff --git a/packages/cli/src/config/config.test.ts b/packages/cli/src/config/config.test.ts index 2f34cac4c..dbe57fd42 100644 --- a/packages/cli/src/config/config.test.ts +++ b/packages/cli/src/config/config.test.ts @@ -116,11 +116,20 @@ vi.mock('read-package-up', () => ({ vi.mock('@qwen-code/qwen-code-core', async (importOriginal) => { const actualServer = await importOriginal(); + const SkillManagerMock = vi.fn(); + SkillManagerMock.prototype.startWatching = vi + .fn() + .mockResolvedValue(undefined); + SkillManagerMock.prototype.stopWatching = vi.fn(); + SkillManagerMock.prototype.listSkills = vi.fn().mockResolvedValue([]); + SkillManagerMock.prototype.addChangeListener = vi.fn(); + SkillManagerMock.prototype.removeChangeListener = vi.fn(); return { ...actualServer, NativeLspService: vi .fn() .mockImplementation(() => createNativeLspServiceInstance()), + SkillManager: SkillManagerMock, IdeClient: { getInstance: vi.fn().mockResolvedValue({ getConnectionStatus: vi.fn(), diff --git a/packages/core/src/config/config.test.ts b/packages/core/src/config/config.test.ts index de1a680ad..4d2af04b3 100644 --- a/packages/core/src/config/config.test.ts +++ b/packages/core/src/config/config.test.ts @@ -165,6 +165,9 @@ vi.mock('../skills/skill-manager.js', () => { .fn() .mockResolvedValue(undefined); SkillManagerMock.prototype.stopWatching = vi.fn(); + SkillManagerMock.prototype.listSkills = vi.fn().mockResolvedValue([]); + SkillManagerMock.prototype.addChangeListener = vi.fn(); + SkillManagerMock.prototype.removeChangeListener = vi.fn(); return { SkillManager: SkillManagerMock }; }); diff --git a/packages/core/src/tools/skill.ts b/packages/core/src/tools/skill.ts index 83ae43b33..68ec7dd55 100644 --- a/packages/core/src/tools/skill.ts +++ b/packages/core/src/tools/skill.ts @@ -56,7 +56,11 @@ export class SkillTool extends BaseDeclarativeTool { false, // canUpdateOutput ); - this.skillManager = config.getSkillManager()!; + const skillManager = config.getSkillManager(); + if (!skillManager) { + throw new Error('SkillManager not available'); + } + this.skillManager = skillManager; this.skillManager.addChangeListener(() => { void this.refreshSkills(); });