/*
RFC-1209: resource-budget contract — Zod schemas for the per-site
`resourceBudget` block, the per-route measurement shape, and the committed
public report artifact (`/.well-known/resource-budget.json`). Also carries
the workspace baseline defaults and the resolve() that merges baseline,
site override, and route overrides.
- Do not measure dist output — that is the site-module validator's job.
- Do not fetch or weigh third-party resources — origins are counted, never downloaded.
- Do not embed Lighthouse/CWV thresholds — byte/request budgets only (DNA-67 stays separate).
- RFC-1209: initial contract — schemas, workspace baselines, resolve() merge path, deterministic report shape (buildContentHash, no wall-clock fields — DNA-58).
- RFC-1209: site resource budgets and public transparency surface (RFC-1209)
*/
import { z } from "zod";
// ---------------------------------------------------------------------------
// RFC-1209: resourceBudget — per-site resource-budget block (system.md)
// ---------------------------------------------------------------------------
export const resourceBudgetConfigSchema = z
.object({
/** Total on-disk bytes of HTML + referenced local assets per route. */
maxPageWeightKb: z.number().positive(),
/** Total JS bytes loaded by a route (local script srcs + inline