import { z } from "zod"; export const FactStatus = z.enum(["confirmed", "unverified", "unknown"]); export type FactStatus = z.infer; export const SourceKind = z.enum([ "manufacturer_sheet", "catalog_card", "owner", "measurement", "derived", "brief", "api_readback", ]); export type SourceKind = z.infer; export const SourceRole = z.enum([ "product_reference", "style_reference", "fabric_reference", "source_document", "vendor_reference", "leg_reference", ]); export type SourceRole = z.infer; export const Side = z.enum(["L", "P", "S"]); // L/P — strona narożnika, S — bez stron (sofa/fotel) export type Side = z.infer; export const AssetOrigin = z.enum([ "uploaded", "derived", "ai_generated", "external_reference", ]); export type AssetOrigin = z.infer; export const AssetStatus = z.enum(["candidate", "approved", "rejected", "superseded"]); export type AssetStatus = z.infer; export const ShotRole = z.enum([ "hero", "packshot_front", "packshot_34", "side", "back", "sleep", "storage", "detail", "blueprint", "channel_graphic", "document", "source_material", ]); export type ShotRole = z.infer; export const JobStatus = z.enum(["queued", "running", "waiting", "done", "error", "cancelled"]); export type JobStatus = z.infer; export const ApprovalDecision = z.enum(["approved", "rejected"]); export type ApprovalDecision = z.infer; export const ApprovalScope = z.enum([ "shot", "gallery", "variant_media", "document", "package", "export", ]); export type ApprovalScope = z.infer; export interface FactRow { id: string; product_id: string; key: string; value_json: string; unit: string | null; status: FactStatus; source_kind: SourceKind; source_ref: string | null; confirmed_at: string | null; note: string | null; created_at: string; updated_at: string; }