Files
oh-my-opencode/src/shared/host-skill-config.ts
T

29 lines
759 B
TypeScript
Raw Normal View History

import type { SkillsConfig } from "../config/schema/skills"
type HostSkillConfig = {
paths?: unknown
urls?: unknown
}
function toStringArray(value: unknown): string[] {
if (!Array.isArray(value)) return []
return value
.filter((item): item is string => typeof item === "string")
.map((item) => item.trim())
.filter((item) => item.length > 0)
}
export function adaptHostSkillConfig(value: unknown): SkillsConfig | undefined {
if (!value || typeof value !== "object") return undefined
const hostSkillConfig = value as HostSkillConfig
const sources = [
...toStringArray(hostSkillConfig.paths),
...toStringArray(hostSkillConfig.urls),
]
if (sources.length === 0) return undefined
return { sources } as SkillsConfig
}