2025-12-30 15:15:43 +09:00
|
|
|
import type { BuiltinSkill } from "./types"
|
2026-01-25 15:02:41 +09:00
|
|
|
import type { BrowserAutomationProvider } from "../../config/schema"
|
2025-12-30 15:15:43 +09:00
|
|
|
|
2026-02-01 16:47:50 +09:00
|
|
|
import {
|
|
|
|
|
playwrightSkill,
|
|
|
|
|
agentBrowserSkill,
|
2026-02-13 11:15:38 +01:00
|
|
|
playwrightCliSkill,
|
2026-02-01 16:47:50 +09:00
|
|
|
frontendUiUxSkill,
|
|
|
|
|
gitMasterSkill,
|
|
|
|
|
devBrowserSkill,
|
|
|
|
|
} from "./skills/index"
|
2026-01-25 15:34:07 +09:00
|
|
|
|
2026-01-25 15:02:41 +09:00
|
|
|
export interface CreateBuiltinSkillsOptions {
|
|
|
|
|
browserProvider?: BrowserAutomationProvider
|
2026-01-26 14:21:28 +07:00
|
|
|
disabledSkills?: Set<string>
|
2026-01-25 15:02:41 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function createBuiltinSkills(options: CreateBuiltinSkillsOptions = {}): BuiltinSkill[] {
|
2026-01-26 14:21:28 +07:00
|
|
|
const { browserProvider = "playwright", disabledSkills } = options
|
2026-01-25 15:02:41 +09:00
|
|
|
|
2026-02-13 11:15:38 +01:00
|
|
|
let browserSkill: BuiltinSkill
|
|
|
|
|
if (browserProvider === "agent-browser") {
|
|
|
|
|
browserSkill = agentBrowserSkill
|
|
|
|
|
} else if (browserProvider === "playwright-cli") {
|
|
|
|
|
browserSkill = playwrightCliSkill
|
|
|
|
|
} else {
|
|
|
|
|
browserSkill = playwrightSkill
|
|
|
|
|
}
|
2026-01-25 15:02:41 +09:00
|
|
|
|
2026-01-26 14:21:28 +07:00
|
|
|
const skills = [browserSkill, frontendUiUxSkill, gitMasterSkill, devBrowserSkill]
|
|
|
|
|
|
|
|
|
|
if (!disabledSkills) {
|
|
|
|
|
return skills
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return skills.filter((skill) => !disabledSkills.has(skill.name))
|
2025-12-30 15:15:43 +09:00
|
|
|
}
|