{"version":3,"file":"node.cjs","names":["getShortErrorMsg"],"sources":["../src/node.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { getShortErrorMsg } from './getShortErrorMsg';\nimport type { MFContext } from './MFContext';\n\nfunction reportDiagnostic(\n  code: string,\n  message: string,\n  args: Record<string, unknown>,\n  context?: Partial<MFContext>,\n): void {\n  try {\n    const dir = path.resolve(process.cwd(), '.mf', 'diagnostics');\n    fs.mkdirSync(dir, { recursive: true });\n    const output: MFContext = {\n      ...context,\n      latestErrorEvent: { code, message, args, timestamp: Date.now() },\n    };\n    fs.writeFileSync(\n      path.join(dir, 'latest.json'),\n      JSON.stringify(output, null, 2),\n    );\n  } catch {\n    // noop - don't let diagnostic writing fail the build\n  }\n}\n\nexport function logAndReport<T extends (msg: string) => unknown>(\n  code: string,\n  descMap: Record<string, string>,\n  args: Record<string, unknown>,\n  logger: T,\n  originalErrorMsg?: string,\n  context?: Partial<MFContext>,\n): ReturnType<T> {\n  const msg = getShortErrorMsg(code, descMap, args, originalErrorMsg);\n  reportDiagnostic(code, msg, args, context);\n  return logger(msg) as ReturnType<T>;\n}\n"],"mappings":";;;;;;;;;AAKA,SAAS,iBACP,MACA,SACA,MACA,SACM;AACN,KAAI;EACF,MAAM,MAAM,aAAK,QAAQ,QAAQ,KAAK,EAAE,OAAO,cAAc;AAC7D,aAAG,UAAU,KAAK,EAAE,WAAW,MAAM,CAAC;EACtC,MAAM,SAAoB;GACxB,GAAG;GACH,kBAAkB;IAAE;IAAM;IAAS;IAAM,WAAW,KAAK,KAAK;IAAE;GACjE;AACD,aAAG,cACD,aAAK,KAAK,KAAK,cAAc,EAC7B,KAAK,UAAU,QAAQ,MAAM,EAAE,CAChC;SACK;;AAKV,SAAgB,aACd,MACA,SACA,MACA,QACA,kBACA,SACe;CACf,MAAM,MAAMA,0CAAiB,MAAM,SAAS,MAAM,iBAAiB;AACnE,kBAAiB,MAAM,KAAK,MAAM,QAAQ;AAC1C,QAAO,OAAO,IAAI"}