/** * Wire 0.2 RepresentationFields schema * * Records metadata about the content representation that was observed or served, * enabling reproducible content drift detection. * * Layer 1 (@peac/schema): pure Zod validation, zero I/O. * * content_hash validation uses stringToFingerprintRef() as the parser gate * and additionally requires alg === 'sha256'. The hmac-sha256 algorithm is * not permitted for representation hashes (sha256-only by design). */ import { z } from 'zod'; /** * Normative bounds for Wire 0.2 representation fields. * * Centralised to prevent magic numbers and allow external reference. */ export declare const REPRESENTATION_LIMITS: { /** Max content_hash string length (sha256:<64 hex> = 71 chars, capped at FingerprintRef max) */ readonly maxContentHashLength: 76; /** Max content_type string length */ readonly maxContentTypeLength: 256; }; /** * Zod schema for Wire 0.2 representation fields. * * All fields are optional; an empty object is valid. * Unknown keys are rejected (.strict()). * * Bounds: * - content_hash: max 76 chars (MAX_FINGERPRINT_REF_LENGTH), sha256-only * - content_type: max 256 chars, conservative MIME pattern * - content_length: non-negative integer, <= Number.MAX_SAFE_INTEGER */ export declare const Wire02RepresentationFieldsSchema: z.ZodObject<{ content_hash: z.ZodOptional; content_type: z.ZodOptional; content_length: z.ZodOptional; }, z.core.$strict>; /** Inferred type for Wire 0.2 representation fields */ export type Wire02RepresentationFields = z.infer; /** * Public export alias. * Internal name is Wire02RepresentationFieldsSchema to prevent wire-version * collisions; exported as RepresentationFieldsSchema for ergonomic use. */ export { Wire02RepresentationFieldsSchema as RepresentationFieldsSchema }; //# sourceMappingURL=wire-02-representation.d.ts.map