- Add playwright-cli to BrowserAutomationProviderSchema enum - Add playwright-cli to BuiltinSkillNameSchema - Create playwrightCliSkill with official Microsoft template - Update skill selection logic to handle 3 providers - Add comprehensive tests for schema and skill selection - Regenerate JSON schema Closes #<issue-number-if-any>
38 lines
1019 B
TypeScript
38 lines
1019 B
TypeScript
import type { BuiltinSkill } from "./types"
|
|
import type { BrowserAutomationProvider } from "../../config/schema"
|
|
|
|
import {
|
|
playwrightSkill,
|
|
agentBrowserSkill,
|
|
playwrightCliSkill,
|
|
frontendUiUxSkill,
|
|
gitMasterSkill,
|
|
devBrowserSkill,
|
|
} from "./skills/index"
|
|
|
|
export interface CreateBuiltinSkillsOptions {
|
|
browserProvider?: BrowserAutomationProvider
|
|
disabledSkills?: Set<string>
|
|
}
|
|
|
|
export function createBuiltinSkills(options: CreateBuiltinSkillsOptions = {}): BuiltinSkill[] {
|
|
const { browserProvider = "playwright", disabledSkills } = options
|
|
|
|
let browserSkill: BuiltinSkill
|
|
if (browserProvider === "agent-browser") {
|
|
browserSkill = agentBrowserSkill
|
|
} else if (browserProvider === "playwright-cli") {
|
|
browserSkill = playwrightCliSkill
|
|
} else {
|
|
browserSkill = playwrightSkill
|
|
}
|
|
|
|
const skills = [browserSkill, frontendUiUxSkill, gitMasterSkill, devBrowserSkill]
|
|
|
|
if (!disabledSkills) {
|
|
return skills
|
|
}
|
|
|
|
return skills.filter((skill) => !disabledSkills.has(skill.name))
|
|
}
|