/* [RFC-0100 + RFC-0103] Canonical StandardListItem schema mirrored in @warpgogol/werkstatt-shared/schemas so body components can validate items without importing from @warpgogol/werkstatt-site/ui (which would create a cyclic dependency). The same shape is re-exported by @warpgogol/werkstatt-site/ui/icons/icon-resolver for backwards compatibility. Do not introduce app-specific runtime composition or deployment behavior into this reusable package source file. RFC-0133: backfilled MODULE_MAP and CHANGE_SUMMARY markers for compass.validate compliance. */ import { z } from "zod"; export const vendorIconConfigSchema = z .object({ vendor: z.string().min(1), collection: z.string().min(1), name: z.string().min(1), size: z.number().int().positive().optional(), }) .strict(); export type VendorIconConfig = z.infer; export const standardListItemSchema = z .object({ text: z.string().min(1), icon: vendorIconConfigSchema.optional(), }) .strict(); export type StandardListItem = z.infer;