import { t } from "../i18n/index.js"; export async function getInspection(client, id, lang) { // Try single-page first, then site inspection try { const r = await client.getInspection(id); return formatSingleResult(r, lang); } catch { // Might be a site inspection ID } try { const r = await client.getSiteInspection(id); return formatSiteResult(r, lang); } catch { return t("get_inspection.not_found", lang, { id }); } } function formatSingleResult(r, lang) { const lines = []; const duration = r.duration_seconds ? `${r.duration_seconds.toFixed(1)}s` : "—"; lines.push(`# ${t("result.title", lang)}`); lines.push(`**URL**: ${r.url}`); lines.push(`**Status**: ${r.status}`); lines.push(`**Inspection ID**: ${r.inspection_id}`); if (r.status !== "completed") { return lines.join("\n"); } lines.push(`**${t("result.overall_score", lang)}**: ${r.overall_score}/100 (${r.grade})`); lines.push(`**${t("result.duration", lang)}**: ${duration}`); if (r.accessibility_standard) { lines.push(`**${t("result.standard", lang)}**: ${r.accessibility_standard}`); } lines.push(""); // Category scores lines.push(`## ${t("result.category_scores", lang)}`); lines.push(`| ${t("result.category", lang)} | ${t("result.score", lang)} | ${t("result.grade", lang)} | ${t("result.issues", lang)} |`); lines.push("|---|---|---|---|"); for (const [key, label] of [ ["html_css", "HTML/CSS"], ["accessibility", "Accessibility"], ["seo", "SEO"], ["performance_security", "Performance/Security"], ]) { const cat = r.categories[key]; if (!cat) continue; lines.push(`| ${label} | ${cat.score} | ${cat.grade} | ${cat.total_issues} |`); } lines.push(""); lines.push(`> ${t("result.more_issues_hint", lang, { inspectionId: r.inspection_id })}`); return lines.join("\n"); } function formatSiteResult(r, lang) { const lines = []; lines.push(`# Site ${t("result.title", lang)}`); lines.push(`**Root URL**: ${r.root_url}`); lines.push(`**Domain**: ${r.domain}`); lines.push(`**Status**: ${r.status}`); lines.push(`**Site Inspection ID**: ${r.site_inspection_id}`); if (r.aggregate_scores) { const a = r.aggregate_scores; lines.push(""); lines.push(`**${t("result.overall_score", lang)}**: ${a.overall_score}/100 (${a.grade})`); lines.push(`**Pages**: ${a.pages_inspected}/${a.pages_total}`); lines.push(""); lines.push(`## ${t("result.category_scores", lang)}`); lines.push(`| ${t("result.category", lang)} | ${t("result.score", lang)} |`); lines.push("|---|---|"); lines.push(`| HTML/CSS | ${a.html_css} |`); lines.push(`| Accessibility | ${a.accessibility} |`); lines.push(`| SEO | ${a.seo} |`); lines.push(`| Performance/Security | ${a.performance_security} |`); lines.push(""); lines.push(`**Total Issues**: ${a.total_issues}`); } // Page list if (r.discovered_pages.length > 0) { lines.push(""); lines.push("## Pages"); lines.push("| URL | Score | Grade | Status |"); lines.push("|---|---|---|---|"); for (const p of r.discovered_pages) { const score = p.overall_score !== undefined ? String(p.overall_score) : "—"; const grade = p.grade || "—"; lines.push(`| ${p.url} | ${score} | ${grade} | ${p.status} |`); } } return lines.join("\n"); } //# sourceMappingURL=get-inspection.js.map