/* 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