{"version":3,"sources":["../interpreter/utils/frontmatter-parser.ts"],"names":["parseFrontmatter","content","fullDocument","parsed","matter","engines","yaml","parse","input","load","schema","FAILSAFE_SCHEMA","stringify","obj","dump","data","error","MlldParseError","message","start","line","column","offset","end"],"mappings":";;;;;AASO,SAASA,iBAAiBC,OAAe,EAAA;AAC9C,EAAI,IAAA;AAGF,IAAA,MAAMC,YAAe,GAAA,CAAA;EAAQD,OAAAA;;;AAI7B,IAAME,MAAAA,MAAAA,GAASC,OAAOF,YAAc,EAAA;MAClCG,OAAS,EAAA;QACPC,IAAM,EAAA;UACJC,KAAO,kBAAA,MAAA,CAAA,CAACC,KAAuBC,KAAAA,IAAAA,CAAAA,IAAAA,CAAKD,KAAO,EAAA;YAAEE,MAAaC,EAAAA,IAAAA,CAAAA;AAAgB,WAAA,CAAnE,EAAA,OAAA,CAAA;UACPC,SAAW,kBAAA,MAAA,CAAA,CAACC,GAAkBC,KAAAA,IAAAA,CAAAA,IAAAA,CAAKD,GAAK,EAAA;YAAEH,MAAaC,EAAAA,IAAAA,CAAAA;AAAgB,WAAA,CAA5D,EAAA,WAAA;AACb;AACF;KACF,CAAA;AAGA,IAAOR,OAAAA,MAAAA,CAAOY,QAAQ,EAAC;AACzB,GAAA,CAAA,OAASC,KAAY,EAAA;AAGnB,IAAA,MAAM,IAAIC,cAAAA,CACR,CAA6BD,0BAAAA,EAAAA,KAAAA,CAAME,OAAO,CAC1C,CAAA,EAAA;MACEC,KAAO,EAAA;QAAEC,IAAM,EAAA,CAAA;QAAGC,MAAQ,EAAA,CAAA;QAAGC,MAAQ,EAAA;AAAE,OAAA;MACvCC,GAAK,EAAA;QAAEH,IAAM,EAAA,CAAA;QAAGC,MAAQ,EAAA,CAAA;QAAGC,MAAQ,EAAA;AAAE;KACvC,CAAA;AAEJ;AACF;AA9BgBtB,MAAAA,CAAAA,gBAAAA,EAAAA,kBAAAA,CAAAA","file":"chunk-UUW3GA6G.mjs","sourcesContent":["import matter from 'gray-matter';\nimport * as yaml from 'js-yaml';\nimport { MlldParseError } from '@core/errors';\n\n/**\n * Parse YAML frontmatter content using gray-matter\n * @param content Raw YAML content from FrontmatterNode (without the --- delimiters)\n * @returns Parsed JavaScript object\n */\nexport function parseFrontmatter(content: string): any {\n  try {\n    // gray-matter expects the full document with --- delimiters\n    // Since we only get the YAML content without delimiters, we need to wrap it\n    const fullDocument = `---\\n${content}\\n---\\n`;\n    \n    // Use gray-matter with custom YAML engine to avoid date parsing\n    // FAILSAFE_SCHEMA only supports strings, arrays, and plain objects (no date conversion)\n    const parsed = matter(fullDocument, {\n      engines: {\n        yaml: {\n          parse: (input: string) => yaml.load(input, { schema: yaml.FAILSAFE_SCHEMA }),\n          stringify: (obj: any) => yaml.dump(obj, { schema: yaml.FAILSAFE_SCHEMA })\n        }\n      }\n    });\n    \n    // Return the parsed frontmatter data\n    return parsed.data || {};\n  } catch (error: any) {\n    // gray-matter doesn't provide line/column info like js-yaml does\n    // but it's much more robust at parsing various frontmatter formats\n    throw new MlldParseError(\n      `Invalid YAML frontmatter: ${error.message}`,\n      { \n        start: { line: 1, column: 1, offset: 0 },\n        end: { line: 1, column: 1, offset: 0 }\n      }\n    );\n  }\n}"]}