Merge pull request #1615 from code-yeongyu/fix/1563-browser-provider-gating
fix(skill-loader): filter discovered skills by browserProvider (#1563)
This commit is contained in:
@@ -55,10 +55,23 @@ async function getAllSkills(options?: SkillResolutionOptions): Promise<LoadedSki
|
||||
mcpConfig: skill.mcpConfig,
|
||||
}))
|
||||
|
||||
const discoveredNames = new Set(discoveredSkills.map((s) => s.name))
|
||||
// Provider-gated skill names that should be filtered based on browserProvider
|
||||
const providerGatedSkillNames = new Set(["agent-browser", "playwright"])
|
||||
const browserProvider = options?.browserProvider ?? "playwright"
|
||||
|
||||
// Filter discovered skills to exclude provider-gated names that don't match the selected provider
|
||||
const filteredDiscoveredSkills = discoveredSkills.filter((skill) => {
|
||||
if (!providerGatedSkillNames.has(skill.name)) {
|
||||
return true
|
||||
}
|
||||
// For provider-gated skills, only include if it matches the selected provider
|
||||
return skill.name === browserProvider
|
||||
})
|
||||
|
||||
const discoveredNames = new Set(filteredDiscoveredSkills.map((s) => s.name))
|
||||
const uniqueBuiltins = builtinSkillsAsLoaded.filter((s) => !discoveredNames.has(s.name))
|
||||
|
||||
let allSkills = [...discoveredSkills, ...uniqueBuiltins]
|
||||
let allSkills = [...filteredDiscoveredSkills, ...uniqueBuiltins]
|
||||
|
||||
// Filter discovered skills by disabledSkills (builtin skills are already filtered by createBuiltinSkills)
|
||||
if (hasDisabledSkills) {
|
||||
|
||||
Reference in New Issue
Block a user