fix(#2748): pass browserProvider into skill() discovery
skill-context already filtered browser-related skills using the configured browser provider, but the skill tool rebuilt discovery without forwarding browserProvider. That caused skills like agent-browser to be prompt-visible while skill() could still fail to resolve them unless browser_automation_engine.provider was explicitly threaded through both paths. Fix: - pass skillContext.browserProvider from tool-registry into createSkillTool - extend SkillLoadOptions with browserProvider - forward browserProvider to getAllSkills() - add regression tests for execution and description visibility
This commit is contained in:
@@ -583,6 +583,38 @@ describe("skill tool - dynamic description cache invalidation", () => {
|
||||
|
||||
|
||||
|
||||
describe("skill tool - browserProvider forwarding", () => {
|
||||
it("passes browserProvider to getAllSkills during execution", async () => {
|
||||
// given: a skill tool configured with agent-browser as browserProvider
|
||||
// and a pre-provided agent-browser skill (simulating what skill-context provides)
|
||||
const agentBrowserSkill = createMockSkill("agent-browser")
|
||||
const tool = createSkillTool({
|
||||
skills: [agentBrowserSkill],
|
||||
browserProvider: "agent-browser",
|
||||
})
|
||||
|
||||
// when: executing skill("agent-browser")
|
||||
const result = await tool.execute({ name: "agent-browser" }, mockContext)
|
||||
|
||||
// then: skill should resolve successfully (not filtered out)
|
||||
expect(result).toContain("Skill: agent-browser")
|
||||
})
|
||||
|
||||
it("description includes agent-browser when browserProvider is agent-browser", () => {
|
||||
// given
|
||||
const agentBrowserSkill = createMockSkill("agent-browser")
|
||||
|
||||
// when
|
||||
const tool = createSkillTool({
|
||||
skills: [agentBrowserSkill],
|
||||
browserProvider: "agent-browser",
|
||||
})
|
||||
|
||||
// then
|
||||
expect(tool.description).toContain("agent-browser")
|
||||
})
|
||||
})
|
||||
|
||||
describe("skill tool - nativeSkills integration", () => {
|
||||
it("merges native skills exposed by PluginInput.skills.all()", async () => {
|
||||
//#given
|
||||
|
||||
Reference in New Issue
Block a user