export function validateReport(r) { if (!r) throw new Error("report_view missing"); if (!r.marketTitle) { throw new Error("report_view.marketTitle missing"); } if (!r.marketOverview) { throw new Error("report_view.marketOverview missing"); } const mo = r.marketOverview; if (typeof mo.pastYear_2023 !== 'number') throw new Error("pastYear_2023 must be number"); if (typeof mo.currentYear_2025 !== 'number') throw new Error("currentYear_2025 must be number"); // Basic validation only if (!Array.isArray(r.marketSegments)) { throw new Error("report_view.marketSegments must be array"); } }