{"version":3,"file":"index.cjs","names":["splitRelativePath","joinUri","encodeUtf8","buildSkillEntry","SkillCatalogError"],"sources":["../../../src/ext/skills/skillEntry.ts"],"sourcesContent":["import type { Skill } from '@modelcontextprotocol/core/ext/skills';\nimport { buildSkillEntry, encodeUtf8, joinUri } from '@modelcontextprotocol/core-internal/ext/skills';\n\nimport { SkillCatalogError } from './errors';\nimport { splitRelativePath } from './files';\n\n/**\n * Builds a valid entry — digests, sizes, frontmatter, rule checks — from one\n * skill's files. Keys are paths under the skill's folder (`SKILL.md`,\n * `references/GUIDE.md`). For `SkillSource` authors who publish digests.\n */\nexport async function skillEntry(\n    skillPath: string,\n    files: Record<string, string | Uint8Array>,\n    options: { baseUri?: string } = {}\n): Promise<Skill> {\n    const segments = splitRelativePath(skillPath, 'skillPath');\n    const baseUri = options.baseUri ?? 'skill://';\n    const inputs = Object.entries(files).map(([path, content]) => ({\n        uri: joinUri(baseUri, [...segments, ...splitRelativePath(path, 'file path')]),\n        bytes: typeof content === 'string' ? encodeUtf8(content) : content\n    }));\n    const { skill, problems } = await buildSkillEntry(joinUri(baseUri, [...segments, 'SKILL.md']), inputs);\n    if (skill === undefined || problems.length > 0) {\n        throw new SkillCatalogError(problems.map(message => ({ path: skillPath, message })));\n    }\n    return skill;\n}\n"],"mappings":";;;;;;;;;;;;AAWA,eAAsB,WAClB,WACA,OACA,UAAgC,EAAE,EACpB;CACd,MAAM,WAAWA,oCAAkB,WAAW,YAAY;CAC1D,MAAM,UAAU,QAAQ,WAAW;CACnC,MAAM,SAAS,OAAO,QAAQ,MAAM,CAAC,KAAK,CAAC,MAAM,cAAc;EAC3D,KAAKC,0BAAQ,SAAS,CAAC,GAAG,UAAU,GAAGD,oCAAkB,MAAM,YAAY,CAAC,CAAC;EAC7E,OAAO,OAAO,YAAY,WAAWE,6BAAW,QAAQ,GAAG;EAC9D,EAAE;CACH,MAAM,EAAE,OAAO,aAAa,MAAMC,kCAAgBF,0BAAQ,SAAS,CAAC,GAAG,UAAU,WAAW,CAAC,EAAE,OAAO;AACtG,KAAI,UAAU,UAAa,SAAS,SAAS,EACzC,OAAM,IAAIG,oCAAkB,SAAS,KAAI,aAAY;EAAE,MAAM;EAAW;EAAS,EAAE,CAAC;AAExF,QAAO"}