fix(serve): respect disabled skill settings (#6223)

* fix(serve): respect disabled skills in status

* test(serve): align skill disabled status coverage

---------

Co-authored-by: ytahdn <ytahdn@gmail.com>
This commit is contained in:
ytahdn 2026-07-03 14:58:46 +08:00 committed by GitHub
parent 0633b8a985
commit 8dfa7613be
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 231 additions and 36 deletions

View file

@ -176,6 +176,14 @@ describe('mapWorkspaceSkills', () => {
name: 'deep-research',
description: '',
level: 'bundled',
modelInvocable: false,
},
{
kind: 'skill',
status: 'disabled',
name: 'disabled-skill',
description: 'Disabled in settings',
level: 'project',
modelInvocable: true,
},
],

View file

@ -181,7 +181,11 @@ export function mapWorkspaceSkills(
} {
if (!status) return { commands: [], skills: [] };
const commands = status.skills.map((skill) => ({
const availableSkills = status.skills.filter(
(skill) => skill.status === 'ok',
);
const commands = availableSkills.map((skill) => ({
name: skill.name,
description: skill.description || '',
...(skill.argumentHint ? { argumentHint: skill.argumentHint } : {}),
@ -195,7 +199,7 @@ export function mapWorkspaceSkills(
return {
commands,
skills: status.skills.map((skill) => skill.name),
skills: availableSkills.map((skill) => skill.name),
};
}