@growth-labs/conformance 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,878 @@
1
+ import { z } from 'zod';
2
+ export declare const EVIDENCE_SCHEMA_VERSION = "growth-labs.conformance.v1";
3
+ export declare const REQUIRED_NEGATIVE_FIXTURE_CODES: {
4
+ readonly 'csp-unsafe-inline': "security.csp.unsafe_inline";
5
+ readonly 'headers-static-only-while-ssr-missing': "security.headers.static_only_for_ssr";
6
+ readonly 'undeclared-na': "publication.na.undeclared";
7
+ readonly 'stringified-is-accessible-for-free': "structured_data.is_accessible_for_free.stringified";
8
+ readonly 'video-object-date-only-upload-date': "structured_data.video_object.upload_date.date_only";
9
+ readonly 'missing-image-dimensions': "images.dimensions.missing";
10
+ readonly 'hero-under-1200px': "images.hero.under_1200";
11
+ readonly 'missing-max-image-preview-large': "metadata.robots.missing_max_image_preview_large";
12
+ readonly 'crawler-public-cache-key-collision': "cache.crawler_public_key_collision";
13
+ readonly 'runtime-canonical-override-not-applied': "metadata.canonical.runtime_override_not_applied";
14
+ };
15
+ export type RequiredNegativeFixtureId = keyof typeof REQUIRED_NEGATIVE_FIXTURE_CODES;
16
+ export type RequiredNegativeFindingCode = (typeof REQUIRED_NEGATIVE_FIXTURE_CODES)[RequiredNegativeFixtureId];
17
+ export declare const audienceSchema: z.ZodEnum<["public", "crawler", "subscriber", "member", "admin", "private"]>;
18
+ export declare const renderModeSchema: z.ZodEnum<["ssr", "static"]>;
19
+ export declare const checkStatusSchema: z.ZodEnum<["pass", "fail", "na"]>;
20
+ export declare const findingSeveritySchema: z.ZodEnum<["error", "warning"]>;
21
+ export declare const headerValueSchema: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
22
+ export declare const headerMapSchema: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
23
+ export declare const surfaceResponseSchema: z.ZodObject<{
24
+ status: z.ZodDefault<z.ZodNumber>;
25
+ url: z.ZodOptional<z.ZodString>;
26
+ headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>>;
27
+ html: z.ZodOptional<z.ZodString>;
28
+ body: z.ZodOptional<z.ZodString>;
29
+ }, "strip", z.ZodTypeAny, {
30
+ status: number;
31
+ headers: Record<string, string | string[]>;
32
+ url?: string | undefined;
33
+ html?: string | undefined;
34
+ body?: string | undefined;
35
+ }, {
36
+ url?: string | undefined;
37
+ status?: number | undefined;
38
+ headers?: Record<string, string | string[]> | undefined;
39
+ html?: string | undefined;
40
+ body?: string | undefined;
41
+ }>;
42
+ export declare const publicationSurfaceSchema: z.ZodObject<{
43
+ name: z.ZodString;
44
+ status: z.ZodEnum<["present", "missing", "na"]>;
45
+ url: z.ZodOptional<z.ZodString>;
46
+ httpStatus: z.ZodOptional<z.ZodNumber>;
47
+ contentType: z.ZodOptional<z.ZodString>;
48
+ bodyBytes: z.ZodOptional<z.ZodNumber>;
49
+ capabilityBoundary: z.ZodOptional<z.ZodString>;
50
+ evidence: z.ZodOptional<z.ZodString>;
51
+ }, "strip", z.ZodTypeAny, {
52
+ name: string;
53
+ status: "na" | "present" | "missing";
54
+ url?: string | undefined;
55
+ httpStatus?: number | undefined;
56
+ contentType?: string | undefined;
57
+ bodyBytes?: number | undefined;
58
+ capabilityBoundary?: string | undefined;
59
+ evidence?: string | undefined;
60
+ }, {
61
+ name: string;
62
+ status: "na" | "present" | "missing";
63
+ url?: string | undefined;
64
+ httpStatus?: number | undefined;
65
+ contentType?: string | undefined;
66
+ bodyBytes?: number | undefined;
67
+ capabilityBoundary?: string | undefined;
68
+ evidence?: string | undefined;
69
+ }>;
70
+ export declare const cacheVariantSchema: z.ZodObject<{
71
+ audience: z.ZodEnum<["public", "crawler", "subscriber", "member", "admin", "private"]>;
72
+ cacheKey: z.ZodString;
73
+ url: z.ZodOptional<z.ZodString>;
74
+ contentClass: z.ZodDefault<z.ZodEnum<["html", "markdown", "feed", "asset"]>>;
75
+ vary: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
76
+ headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>>;
77
+ }, "strip", z.ZodTypeAny, {
78
+ headers: Record<string, string | string[]>;
79
+ audience: "public" | "crawler" | "subscriber" | "member" | "admin" | "private";
80
+ cacheKey: string;
81
+ contentClass: "html" | "markdown" | "feed" | "asset";
82
+ vary: string[];
83
+ url?: string | undefined;
84
+ }, {
85
+ audience: "public" | "crawler" | "subscriber" | "member" | "admin" | "private";
86
+ cacheKey: string;
87
+ url?: string | undefined;
88
+ headers?: Record<string, string | string[]> | undefined;
89
+ contentClass?: "html" | "markdown" | "feed" | "asset" | undefined;
90
+ vary?: string[] | undefined;
91
+ }>;
92
+ export declare const buildEvidenceSchema: z.ZodObject<{
93
+ commitSha: z.ZodOptional<z.ZodString>;
94
+ artifactId: z.ZodOptional<z.ZodString>;
95
+ generatedAt: z.ZodOptional<z.ZodString>;
96
+ packageVersions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
97
+ staticHeaderPolicy: z.ZodDefault<z.ZodBoolean>;
98
+ ssrHeaderPolicy: z.ZodDefault<z.ZodBoolean>;
99
+ }, "strip", z.ZodTypeAny, {
100
+ packageVersions: Record<string, string>;
101
+ staticHeaderPolicy: boolean;
102
+ ssrHeaderPolicy: boolean;
103
+ commitSha?: string | undefined;
104
+ artifactId?: string | undefined;
105
+ generatedAt?: string | undefined;
106
+ }, {
107
+ commitSha?: string | undefined;
108
+ artifactId?: string | undefined;
109
+ generatedAt?: string | undefined;
110
+ packageVersions?: Record<string, string> | undefined;
111
+ staticHeaderPolicy?: boolean | undefined;
112
+ ssrHeaderPolicy?: boolean | undefined;
113
+ }>;
114
+ export declare const conformanceExpectedSchema: z.ZodObject<{
115
+ canonicalUrl: z.ZodOptional<z.ZodString>;
116
+ schemaTypes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
117
+ discoverEligible: z.ZodDefault<z.ZodBoolean>;
118
+ }, "strip", z.ZodTypeAny, {
119
+ schemaTypes: string[];
120
+ discoverEligible: boolean;
121
+ canonicalUrl?: string | undefined;
122
+ }, {
123
+ canonicalUrl?: string | undefined;
124
+ schemaTypes?: string[] | undefined;
125
+ discoverEligible?: boolean | undefined;
126
+ }>;
127
+ export declare const conformanceFixtureSchema: z.ZodObject<{
128
+ id: z.ZodString;
129
+ site: z.ZodString;
130
+ environment: z.ZodDefault<z.ZodString>;
131
+ url: z.ZodString;
132
+ renderMode: z.ZodEnum<["ssr", "static"]>;
133
+ audience: z.ZodEnum<["public", "crawler", "subscriber", "member", "admin", "private"]>;
134
+ response: z.ZodObject<{
135
+ status: z.ZodDefault<z.ZodNumber>;
136
+ url: z.ZodOptional<z.ZodString>;
137
+ headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>>;
138
+ html: z.ZodOptional<z.ZodString>;
139
+ body: z.ZodOptional<z.ZodString>;
140
+ }, "strip", z.ZodTypeAny, {
141
+ status: number;
142
+ headers: Record<string, string | string[]>;
143
+ url?: string | undefined;
144
+ html?: string | undefined;
145
+ body?: string | undefined;
146
+ }, {
147
+ url?: string | undefined;
148
+ status?: number | undefined;
149
+ headers?: Record<string, string | string[]> | undefined;
150
+ html?: string | undefined;
151
+ body?: string | undefined;
152
+ }>;
153
+ expected: z.ZodDefault<z.ZodObject<{
154
+ canonicalUrl: z.ZodOptional<z.ZodString>;
155
+ schemaTypes: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
156
+ discoverEligible: z.ZodDefault<z.ZodBoolean>;
157
+ }, "strip", z.ZodTypeAny, {
158
+ schemaTypes: string[];
159
+ discoverEligible: boolean;
160
+ canonicalUrl?: string | undefined;
161
+ }, {
162
+ canonicalUrl?: string | undefined;
163
+ schemaTypes?: string[] | undefined;
164
+ discoverEligible?: boolean | undefined;
165
+ }>>;
166
+ publicationSurfaces: z.ZodDefault<z.ZodArray<z.ZodObject<{
167
+ name: z.ZodString;
168
+ status: z.ZodEnum<["present", "missing", "na"]>;
169
+ url: z.ZodOptional<z.ZodString>;
170
+ httpStatus: z.ZodOptional<z.ZodNumber>;
171
+ contentType: z.ZodOptional<z.ZodString>;
172
+ bodyBytes: z.ZodOptional<z.ZodNumber>;
173
+ capabilityBoundary: z.ZodOptional<z.ZodString>;
174
+ evidence: z.ZodOptional<z.ZodString>;
175
+ }, "strip", z.ZodTypeAny, {
176
+ name: string;
177
+ status: "na" | "present" | "missing";
178
+ url?: string | undefined;
179
+ httpStatus?: number | undefined;
180
+ contentType?: string | undefined;
181
+ bodyBytes?: number | undefined;
182
+ capabilityBoundary?: string | undefined;
183
+ evidence?: string | undefined;
184
+ }, {
185
+ name: string;
186
+ status: "na" | "present" | "missing";
187
+ url?: string | undefined;
188
+ httpStatus?: number | undefined;
189
+ contentType?: string | undefined;
190
+ bodyBytes?: number | undefined;
191
+ capabilityBoundary?: string | undefined;
192
+ evidence?: string | undefined;
193
+ }>, "many">>;
194
+ cacheVariants: z.ZodDefault<z.ZodArray<z.ZodObject<{
195
+ audience: z.ZodEnum<["public", "crawler", "subscriber", "member", "admin", "private"]>;
196
+ cacheKey: z.ZodString;
197
+ url: z.ZodOptional<z.ZodString>;
198
+ contentClass: z.ZodDefault<z.ZodEnum<["html", "markdown", "feed", "asset"]>>;
199
+ vary: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
200
+ headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>>;
201
+ }, "strip", z.ZodTypeAny, {
202
+ headers: Record<string, string | string[]>;
203
+ audience: "public" | "crawler" | "subscriber" | "member" | "admin" | "private";
204
+ cacheKey: string;
205
+ contentClass: "html" | "markdown" | "feed" | "asset";
206
+ vary: string[];
207
+ url?: string | undefined;
208
+ }, {
209
+ audience: "public" | "crawler" | "subscriber" | "member" | "admin" | "private";
210
+ cacheKey: string;
211
+ url?: string | undefined;
212
+ headers?: Record<string, string | string[]> | undefined;
213
+ contentClass?: "html" | "markdown" | "feed" | "asset" | undefined;
214
+ vary?: string[] | undefined;
215
+ }>, "many">>;
216
+ buildEvidence: z.ZodOptional<z.ZodObject<{
217
+ commitSha: z.ZodOptional<z.ZodString>;
218
+ artifactId: z.ZodOptional<z.ZodString>;
219
+ generatedAt: z.ZodOptional<z.ZodString>;
220
+ packageVersions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
221
+ staticHeaderPolicy: z.ZodDefault<z.ZodBoolean>;
222
+ ssrHeaderPolicy: z.ZodDefault<z.ZodBoolean>;
223
+ }, "strip", z.ZodTypeAny, {
224
+ packageVersions: Record<string, string>;
225
+ staticHeaderPolicy: boolean;
226
+ ssrHeaderPolicy: boolean;
227
+ commitSha?: string | undefined;
228
+ artifactId?: string | undefined;
229
+ generatedAt?: string | undefined;
230
+ }, {
231
+ commitSha?: string | undefined;
232
+ artifactId?: string | undefined;
233
+ generatedAt?: string | undefined;
234
+ packageVersions?: Record<string, string> | undefined;
235
+ staticHeaderPolicy?: boolean | undefined;
236
+ ssrHeaderPolicy?: boolean | undefined;
237
+ }>>;
238
+ expectedFailingCode: z.ZodOptional<z.ZodString>;
239
+ }, "strip", z.ZodTypeAny, {
240
+ url: string;
241
+ expected: {
242
+ schemaTypes: string[];
243
+ discoverEligible: boolean;
244
+ canonicalUrl?: string | undefined;
245
+ };
246
+ audience: "public" | "crawler" | "subscriber" | "member" | "admin" | "private";
247
+ id: string;
248
+ site: string;
249
+ environment: string;
250
+ renderMode: "ssr" | "static";
251
+ response: {
252
+ status: number;
253
+ headers: Record<string, string | string[]>;
254
+ url?: string | undefined;
255
+ html?: string | undefined;
256
+ body?: string | undefined;
257
+ };
258
+ publicationSurfaces: {
259
+ name: string;
260
+ status: "na" | "present" | "missing";
261
+ url?: string | undefined;
262
+ httpStatus?: number | undefined;
263
+ contentType?: string | undefined;
264
+ bodyBytes?: number | undefined;
265
+ capabilityBoundary?: string | undefined;
266
+ evidence?: string | undefined;
267
+ }[];
268
+ cacheVariants: {
269
+ headers: Record<string, string | string[]>;
270
+ audience: "public" | "crawler" | "subscriber" | "member" | "admin" | "private";
271
+ cacheKey: string;
272
+ contentClass: "html" | "markdown" | "feed" | "asset";
273
+ vary: string[];
274
+ url?: string | undefined;
275
+ }[];
276
+ buildEvidence?: {
277
+ packageVersions: Record<string, string>;
278
+ staticHeaderPolicy: boolean;
279
+ ssrHeaderPolicy: boolean;
280
+ commitSha?: string | undefined;
281
+ artifactId?: string | undefined;
282
+ generatedAt?: string | undefined;
283
+ } | undefined;
284
+ expectedFailingCode?: string | undefined;
285
+ }, {
286
+ url: string;
287
+ audience: "public" | "crawler" | "subscriber" | "member" | "admin" | "private";
288
+ id: string;
289
+ site: string;
290
+ renderMode: "ssr" | "static";
291
+ response: {
292
+ url?: string | undefined;
293
+ status?: number | undefined;
294
+ headers?: Record<string, string | string[]> | undefined;
295
+ html?: string | undefined;
296
+ body?: string | undefined;
297
+ };
298
+ expected?: {
299
+ canonicalUrl?: string | undefined;
300
+ schemaTypes?: string[] | undefined;
301
+ discoverEligible?: boolean | undefined;
302
+ } | undefined;
303
+ environment?: string | undefined;
304
+ publicationSurfaces?: {
305
+ name: string;
306
+ status: "na" | "present" | "missing";
307
+ url?: string | undefined;
308
+ httpStatus?: number | undefined;
309
+ contentType?: string | undefined;
310
+ bodyBytes?: number | undefined;
311
+ capabilityBoundary?: string | undefined;
312
+ evidence?: string | undefined;
313
+ }[] | undefined;
314
+ cacheVariants?: {
315
+ audience: "public" | "crawler" | "subscriber" | "member" | "admin" | "private";
316
+ cacheKey: string;
317
+ url?: string | undefined;
318
+ headers?: Record<string, string | string[]> | undefined;
319
+ contentClass?: "html" | "markdown" | "feed" | "asset" | undefined;
320
+ vary?: string[] | undefined;
321
+ }[] | undefined;
322
+ buildEvidence?: {
323
+ commitSha?: string | undefined;
324
+ artifactId?: string | undefined;
325
+ generatedAt?: string | undefined;
326
+ packageVersions?: Record<string, string> | undefined;
327
+ staticHeaderPolicy?: boolean | undefined;
328
+ ssrHeaderPolicy?: boolean | undefined;
329
+ } | undefined;
330
+ expectedFailingCode?: string | undefined;
331
+ }>;
332
+ export declare const conformanceFindingSchema: z.ZodObject<{
333
+ code: z.ZodString;
334
+ severity: z.ZodEnum<["error", "warning"]>;
335
+ message: z.ZodString;
336
+ path: z.ZodOptional<z.ZodString>;
337
+ evidence: z.ZodOptional<z.ZodString>;
338
+ remediation: z.ZodOptional<z.ZodString>;
339
+ }, "strip", z.ZodTypeAny, {
340
+ code: string;
341
+ message: string;
342
+ severity: "error" | "warning";
343
+ path?: string | undefined;
344
+ evidence?: string | undefined;
345
+ remediation?: string | undefined;
346
+ }, {
347
+ code: string;
348
+ message: string;
349
+ severity: "error" | "warning";
350
+ path?: string | undefined;
351
+ evidence?: string | undefined;
352
+ remediation?: string | undefined;
353
+ }>;
354
+ export declare const conformanceCheckReceiptSchema: z.ZodObject<{
355
+ name: z.ZodString;
356
+ status: z.ZodEnum<["pass", "fail", "na"]>;
357
+ findings: z.ZodArray<z.ZodObject<{
358
+ code: z.ZodString;
359
+ severity: z.ZodEnum<["error", "warning"]>;
360
+ message: z.ZodString;
361
+ path: z.ZodOptional<z.ZodString>;
362
+ evidence: z.ZodOptional<z.ZodString>;
363
+ remediation: z.ZodOptional<z.ZodString>;
364
+ }, "strip", z.ZodTypeAny, {
365
+ code: string;
366
+ message: string;
367
+ severity: "error" | "warning";
368
+ path?: string | undefined;
369
+ evidence?: string | undefined;
370
+ remediation?: string | undefined;
371
+ }, {
372
+ code: string;
373
+ message: string;
374
+ severity: "error" | "warning";
375
+ path?: string | undefined;
376
+ evidence?: string | undefined;
377
+ remediation?: string | undefined;
378
+ }>, "many">;
379
+ }, "strip", z.ZodTypeAny, {
380
+ name: string;
381
+ status: "pass" | "fail" | "na";
382
+ findings: {
383
+ code: string;
384
+ message: string;
385
+ severity: "error" | "warning";
386
+ path?: string | undefined;
387
+ evidence?: string | undefined;
388
+ remediation?: string | undefined;
389
+ }[];
390
+ }, {
391
+ name: string;
392
+ status: "pass" | "fail" | "na";
393
+ findings: {
394
+ code: string;
395
+ message: string;
396
+ severity: "error" | "warning";
397
+ path?: string | undefined;
398
+ evidence?: string | undefined;
399
+ remediation?: string | undefined;
400
+ }[];
401
+ }>;
402
+ export declare const evidenceSummarySchema: z.ZodObject<{
403
+ pass: z.ZodNumber;
404
+ fail: z.ZodNumber;
405
+ na: z.ZodNumber;
406
+ findings: z.ZodNumber;
407
+ }, "strip", z.ZodTypeAny, {
408
+ pass: number;
409
+ fail: number;
410
+ na: number;
411
+ findings: number;
412
+ }, {
413
+ pass: number;
414
+ fail: number;
415
+ na: number;
416
+ findings: number;
417
+ }>;
418
+ export declare const siteEvidenceBundleSchema: z.ZodObject<{
419
+ schemaVersion: z.ZodLiteral<"growth-labs.conformance.v1">;
420
+ generatedAt: z.ZodString;
421
+ fixtureId: z.ZodString;
422
+ site: z.ZodString;
423
+ environment: z.ZodString;
424
+ url: z.ZodString;
425
+ status: z.ZodEnum<["pass", "fail"]>;
426
+ summary: z.ZodObject<{
427
+ pass: z.ZodNumber;
428
+ fail: z.ZodNumber;
429
+ na: z.ZodNumber;
430
+ findings: z.ZodNumber;
431
+ }, "strip", z.ZodTypeAny, {
432
+ pass: number;
433
+ fail: number;
434
+ na: number;
435
+ findings: number;
436
+ }, {
437
+ pass: number;
438
+ fail: number;
439
+ na: number;
440
+ findings: number;
441
+ }>;
442
+ checks: z.ZodArray<z.ZodObject<{
443
+ name: z.ZodString;
444
+ status: z.ZodEnum<["pass", "fail", "na"]>;
445
+ findings: z.ZodArray<z.ZodObject<{
446
+ code: z.ZodString;
447
+ severity: z.ZodEnum<["error", "warning"]>;
448
+ message: z.ZodString;
449
+ path: z.ZodOptional<z.ZodString>;
450
+ evidence: z.ZodOptional<z.ZodString>;
451
+ remediation: z.ZodOptional<z.ZodString>;
452
+ }, "strip", z.ZodTypeAny, {
453
+ code: string;
454
+ message: string;
455
+ severity: "error" | "warning";
456
+ path?: string | undefined;
457
+ evidence?: string | undefined;
458
+ remediation?: string | undefined;
459
+ }, {
460
+ code: string;
461
+ message: string;
462
+ severity: "error" | "warning";
463
+ path?: string | undefined;
464
+ evidence?: string | undefined;
465
+ remediation?: string | undefined;
466
+ }>, "many">;
467
+ }, "strip", z.ZodTypeAny, {
468
+ name: string;
469
+ status: "pass" | "fail" | "na";
470
+ findings: {
471
+ code: string;
472
+ message: string;
473
+ severity: "error" | "warning";
474
+ path?: string | undefined;
475
+ evidence?: string | undefined;
476
+ remediation?: string | undefined;
477
+ }[];
478
+ }, {
479
+ name: string;
480
+ status: "pass" | "fail" | "na";
481
+ findings: {
482
+ code: string;
483
+ message: string;
484
+ severity: "error" | "warning";
485
+ path?: string | undefined;
486
+ evidence?: string | undefined;
487
+ remediation?: string | undefined;
488
+ }[];
489
+ }>, "many">;
490
+ findings: z.ZodArray<z.ZodObject<{
491
+ code: z.ZodString;
492
+ severity: z.ZodEnum<["error", "warning"]>;
493
+ message: z.ZodString;
494
+ path: z.ZodOptional<z.ZodString>;
495
+ evidence: z.ZodOptional<z.ZodString>;
496
+ remediation: z.ZodOptional<z.ZodString>;
497
+ }, "strip", z.ZodTypeAny, {
498
+ code: string;
499
+ message: string;
500
+ severity: "error" | "warning";
501
+ path?: string | undefined;
502
+ evidence?: string | undefined;
503
+ remediation?: string | undefined;
504
+ }, {
505
+ code: string;
506
+ message: string;
507
+ severity: "error" | "warning";
508
+ path?: string | undefined;
509
+ evidence?: string | undefined;
510
+ remediation?: string | undefined;
511
+ }>, "many">;
512
+ }, "strip", z.ZodTypeAny, {
513
+ url: string;
514
+ status: "pass" | "fail";
515
+ generatedAt: string;
516
+ site: string;
517
+ environment: string;
518
+ findings: {
519
+ code: string;
520
+ message: string;
521
+ severity: "error" | "warning";
522
+ path?: string | undefined;
523
+ evidence?: string | undefined;
524
+ remediation?: string | undefined;
525
+ }[];
526
+ schemaVersion: "growth-labs.conformance.v1";
527
+ fixtureId: string;
528
+ summary: {
529
+ pass: number;
530
+ fail: number;
531
+ na: number;
532
+ findings: number;
533
+ };
534
+ checks: {
535
+ name: string;
536
+ status: "pass" | "fail" | "na";
537
+ findings: {
538
+ code: string;
539
+ message: string;
540
+ severity: "error" | "warning";
541
+ path?: string | undefined;
542
+ evidence?: string | undefined;
543
+ remediation?: string | undefined;
544
+ }[];
545
+ }[];
546
+ }, {
547
+ url: string;
548
+ status: "pass" | "fail";
549
+ generatedAt: string;
550
+ site: string;
551
+ environment: string;
552
+ findings: {
553
+ code: string;
554
+ message: string;
555
+ severity: "error" | "warning";
556
+ path?: string | undefined;
557
+ evidence?: string | undefined;
558
+ remediation?: string | undefined;
559
+ }[];
560
+ schemaVersion: "growth-labs.conformance.v1";
561
+ fixtureId: string;
562
+ summary: {
563
+ pass: number;
564
+ fail: number;
565
+ na: number;
566
+ findings: number;
567
+ };
568
+ checks: {
569
+ name: string;
570
+ status: "pass" | "fail" | "na";
571
+ findings: {
572
+ code: string;
573
+ message: string;
574
+ severity: "error" | "warning";
575
+ path?: string | undefined;
576
+ evidence?: string | undefined;
577
+ remediation?: string | undefined;
578
+ }[];
579
+ }[];
580
+ }>;
581
+ export declare const fleetEvidenceBundleSchema: z.ZodObject<{
582
+ schemaVersion: z.ZodLiteral<"growth-labs.conformance.v1">;
583
+ generatedAt: z.ZodString;
584
+ status: z.ZodEnum<["pass", "fail"]>;
585
+ summary: z.ZodObject<{
586
+ pass: z.ZodNumber;
587
+ fail: z.ZodNumber;
588
+ na: z.ZodNumber;
589
+ findings: z.ZodNumber;
590
+ } & {
591
+ sites: z.ZodNumber;
592
+ }, "strip", z.ZodTypeAny, {
593
+ pass: number;
594
+ fail: number;
595
+ na: number;
596
+ findings: number;
597
+ sites: number;
598
+ }, {
599
+ pass: number;
600
+ fail: number;
601
+ na: number;
602
+ findings: number;
603
+ sites: number;
604
+ }>;
605
+ sites: z.ZodArray<z.ZodObject<{
606
+ schemaVersion: z.ZodLiteral<"growth-labs.conformance.v1">;
607
+ generatedAt: z.ZodString;
608
+ fixtureId: z.ZodString;
609
+ site: z.ZodString;
610
+ environment: z.ZodString;
611
+ url: z.ZodString;
612
+ status: z.ZodEnum<["pass", "fail"]>;
613
+ summary: z.ZodObject<{
614
+ pass: z.ZodNumber;
615
+ fail: z.ZodNumber;
616
+ na: z.ZodNumber;
617
+ findings: z.ZodNumber;
618
+ }, "strip", z.ZodTypeAny, {
619
+ pass: number;
620
+ fail: number;
621
+ na: number;
622
+ findings: number;
623
+ }, {
624
+ pass: number;
625
+ fail: number;
626
+ na: number;
627
+ findings: number;
628
+ }>;
629
+ checks: z.ZodArray<z.ZodObject<{
630
+ name: z.ZodString;
631
+ status: z.ZodEnum<["pass", "fail", "na"]>;
632
+ findings: z.ZodArray<z.ZodObject<{
633
+ code: z.ZodString;
634
+ severity: z.ZodEnum<["error", "warning"]>;
635
+ message: z.ZodString;
636
+ path: z.ZodOptional<z.ZodString>;
637
+ evidence: z.ZodOptional<z.ZodString>;
638
+ remediation: z.ZodOptional<z.ZodString>;
639
+ }, "strip", z.ZodTypeAny, {
640
+ code: string;
641
+ message: string;
642
+ severity: "error" | "warning";
643
+ path?: string | undefined;
644
+ evidence?: string | undefined;
645
+ remediation?: string | undefined;
646
+ }, {
647
+ code: string;
648
+ message: string;
649
+ severity: "error" | "warning";
650
+ path?: string | undefined;
651
+ evidence?: string | undefined;
652
+ remediation?: string | undefined;
653
+ }>, "many">;
654
+ }, "strip", z.ZodTypeAny, {
655
+ name: string;
656
+ status: "pass" | "fail" | "na";
657
+ findings: {
658
+ code: string;
659
+ message: string;
660
+ severity: "error" | "warning";
661
+ path?: string | undefined;
662
+ evidence?: string | undefined;
663
+ remediation?: string | undefined;
664
+ }[];
665
+ }, {
666
+ name: string;
667
+ status: "pass" | "fail" | "na";
668
+ findings: {
669
+ code: string;
670
+ message: string;
671
+ severity: "error" | "warning";
672
+ path?: string | undefined;
673
+ evidence?: string | undefined;
674
+ remediation?: string | undefined;
675
+ }[];
676
+ }>, "many">;
677
+ findings: z.ZodArray<z.ZodObject<{
678
+ code: z.ZodString;
679
+ severity: z.ZodEnum<["error", "warning"]>;
680
+ message: z.ZodString;
681
+ path: z.ZodOptional<z.ZodString>;
682
+ evidence: z.ZodOptional<z.ZodString>;
683
+ remediation: z.ZodOptional<z.ZodString>;
684
+ }, "strip", z.ZodTypeAny, {
685
+ code: string;
686
+ message: string;
687
+ severity: "error" | "warning";
688
+ path?: string | undefined;
689
+ evidence?: string | undefined;
690
+ remediation?: string | undefined;
691
+ }, {
692
+ code: string;
693
+ message: string;
694
+ severity: "error" | "warning";
695
+ path?: string | undefined;
696
+ evidence?: string | undefined;
697
+ remediation?: string | undefined;
698
+ }>, "many">;
699
+ }, "strip", z.ZodTypeAny, {
700
+ url: string;
701
+ status: "pass" | "fail";
702
+ generatedAt: string;
703
+ site: string;
704
+ environment: string;
705
+ findings: {
706
+ code: string;
707
+ message: string;
708
+ severity: "error" | "warning";
709
+ path?: string | undefined;
710
+ evidence?: string | undefined;
711
+ remediation?: string | undefined;
712
+ }[];
713
+ schemaVersion: "growth-labs.conformance.v1";
714
+ fixtureId: string;
715
+ summary: {
716
+ pass: number;
717
+ fail: number;
718
+ na: number;
719
+ findings: number;
720
+ };
721
+ checks: {
722
+ name: string;
723
+ status: "pass" | "fail" | "na";
724
+ findings: {
725
+ code: string;
726
+ message: string;
727
+ severity: "error" | "warning";
728
+ path?: string | undefined;
729
+ evidence?: string | undefined;
730
+ remediation?: string | undefined;
731
+ }[];
732
+ }[];
733
+ }, {
734
+ url: string;
735
+ status: "pass" | "fail";
736
+ generatedAt: string;
737
+ site: string;
738
+ environment: string;
739
+ findings: {
740
+ code: string;
741
+ message: string;
742
+ severity: "error" | "warning";
743
+ path?: string | undefined;
744
+ evidence?: string | undefined;
745
+ remediation?: string | undefined;
746
+ }[];
747
+ schemaVersion: "growth-labs.conformance.v1";
748
+ fixtureId: string;
749
+ summary: {
750
+ pass: number;
751
+ fail: number;
752
+ na: number;
753
+ findings: number;
754
+ };
755
+ checks: {
756
+ name: string;
757
+ status: "pass" | "fail" | "na";
758
+ findings: {
759
+ code: string;
760
+ message: string;
761
+ severity: "error" | "warning";
762
+ path?: string | undefined;
763
+ evidence?: string | undefined;
764
+ remediation?: string | undefined;
765
+ }[];
766
+ }[];
767
+ }>, "many">;
768
+ }, "strip", z.ZodTypeAny, {
769
+ status: "pass" | "fail";
770
+ generatedAt: string;
771
+ schemaVersion: "growth-labs.conformance.v1";
772
+ summary: {
773
+ pass: number;
774
+ fail: number;
775
+ na: number;
776
+ findings: number;
777
+ sites: number;
778
+ };
779
+ sites: {
780
+ url: string;
781
+ status: "pass" | "fail";
782
+ generatedAt: string;
783
+ site: string;
784
+ environment: string;
785
+ findings: {
786
+ code: string;
787
+ message: string;
788
+ severity: "error" | "warning";
789
+ path?: string | undefined;
790
+ evidence?: string | undefined;
791
+ remediation?: string | undefined;
792
+ }[];
793
+ schemaVersion: "growth-labs.conformance.v1";
794
+ fixtureId: string;
795
+ summary: {
796
+ pass: number;
797
+ fail: number;
798
+ na: number;
799
+ findings: number;
800
+ };
801
+ checks: {
802
+ name: string;
803
+ status: "pass" | "fail" | "na";
804
+ findings: {
805
+ code: string;
806
+ message: string;
807
+ severity: "error" | "warning";
808
+ path?: string | undefined;
809
+ evidence?: string | undefined;
810
+ remediation?: string | undefined;
811
+ }[];
812
+ }[];
813
+ }[];
814
+ }, {
815
+ status: "pass" | "fail";
816
+ generatedAt: string;
817
+ schemaVersion: "growth-labs.conformance.v1";
818
+ summary: {
819
+ pass: number;
820
+ fail: number;
821
+ na: number;
822
+ findings: number;
823
+ sites: number;
824
+ };
825
+ sites: {
826
+ url: string;
827
+ status: "pass" | "fail";
828
+ generatedAt: string;
829
+ site: string;
830
+ environment: string;
831
+ findings: {
832
+ code: string;
833
+ message: string;
834
+ severity: "error" | "warning";
835
+ path?: string | undefined;
836
+ evidence?: string | undefined;
837
+ remediation?: string | undefined;
838
+ }[];
839
+ schemaVersion: "growth-labs.conformance.v1";
840
+ fixtureId: string;
841
+ summary: {
842
+ pass: number;
843
+ fail: number;
844
+ na: number;
845
+ findings: number;
846
+ };
847
+ checks: {
848
+ name: string;
849
+ status: "pass" | "fail" | "na";
850
+ findings: {
851
+ code: string;
852
+ message: string;
853
+ severity: "error" | "warning";
854
+ path?: string | undefined;
855
+ evidence?: string | undefined;
856
+ remediation?: string | undefined;
857
+ }[];
858
+ }[];
859
+ }[];
860
+ }>;
861
+ export type Audience = z.infer<typeof audienceSchema>;
862
+ export type RenderMode = z.infer<typeof renderModeSchema>;
863
+ export type HeaderMap = z.infer<typeof headerMapSchema>;
864
+ export type SurfaceResponse = z.infer<typeof surfaceResponseSchema>;
865
+ export type PublicationSurfaceEvidence = z.infer<typeof publicationSurfaceSchema>;
866
+ export type CacheVariant = z.infer<typeof cacheVariantSchema>;
867
+ export type BuildEvidence = z.infer<typeof buildEvidenceSchema>;
868
+ export type ConformanceFixtureInput = z.input<typeof conformanceFixtureSchema>;
869
+ export type ConformanceFixture = z.infer<typeof conformanceFixtureSchema>;
870
+ export type ConformanceFinding = z.infer<typeof conformanceFindingSchema>;
871
+ export type ConformanceCheckReceipt = z.infer<typeof conformanceCheckReceiptSchema>;
872
+ export type EvidenceSummary = z.infer<typeof evidenceSummarySchema>;
873
+ export type SiteEvidenceBundle = z.infer<typeof siteEvidenceBundleSchema>;
874
+ export type FleetEvidenceBundle = z.infer<typeof fleetEvidenceBundleSchema>;
875
+ export declare function parseConformanceFixture(input: unknown): ConformanceFixture;
876
+ export declare function validateSiteEvidenceBundle(input: unknown): SiteEvidenceBundle;
877
+ export declare function validateFleetEvidenceBundle(input: unknown): FleetEvidenceBundle;
878
+ //# sourceMappingURL=schema.d.ts.map