@crvouga/atlas 1.2.0 → 1.4.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.
Files changed (50) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/reports/src/evidence-detail.d.ts +37 -3
  3. package/dist/reports/src/evidence-detail.js +52 -20
  4. package/dist/reports/src/evidence-scope.d.ts +83 -0
  5. package/dist/reports/src/evidence-scope.js +129 -0
  6. package/dist/reports/src/evidence-types.d.ts +3 -1
  7. package/dist/reports/src/explorer-types.d.ts +1 -1
  8. package/dist/reports/src/export-evidence.js +1 -1
  9. package/dist/reports/src/layer-merge.js +3 -2
  10. package/dist/reports/src/layer-types.d.ts +1 -1
  11. package/dist/reports/src/layers-route.d.ts +2 -1
  12. package/dist/reports/src/layers-route.js +8 -4
  13. package/dist/reports/src/publish-checks.js +1 -0
  14. package/dist/reports/src/reporter.d.ts +1 -1
  15. package/dist/reports/src/reports-explorer-route.d.ts +276 -0
  16. package/dist/reports/src/reports-route.d.ts +276 -0
  17. package/dist/reports/src/test-catalog.d.ts +34 -1
  18. package/dist/reports/src/test-catalog.js +23 -5
  19. package/dist/schema/src/api.d.ts +542 -0
  20. package/dist/schema/src/api.js +17 -5
  21. package/dist/schema/src/layer.d.ts +981 -0
  22. package/dist/schema/src/layer.js +43 -4
  23. package/dist/server/src/openapi.js +3 -2
  24. package/docs/extending.md +1 -0
  25. package/docs/reference/http-api.md +6 -4
  26. package/docs/reference/reports.md +243 -14
  27. package/docs/reference/schema.md +23 -0
  28. package/docs/rich-evidence.md +70 -0
  29. package/docs/ui.md +1 -1
  30. package/llms-full.txt +78 -5
  31. package/package.json +1 -1
  32. package/packages/schema/schemas/check-detail.schema.json +697 -1
  33. package/packages/schema/schemas/effective-delta.schema.json +192 -0
  34. package/packages/schema/schemas/effective-evidence.schema.json +192 -0
  35. package/packages/schema/schemas/evidence-page.schema.json +96 -0
  36. package/packages/schema/schemas/layer-rows.schema.json +96 -0
  37. package/packages/schema/schemas/layer.schema.json +1598 -62
  38. package/packages/schema/schemas/publish-checks.schema.json +768 -0
  39. package/packages/schema/schemas/report-run.schema.json +181 -0
  40. package/packages/schema/schemas/report-runs.schema.json +6 -0
  41. package/packages/schema/schemas/test-catalog.schema.json +128 -0
  42. package/packages/schema/schemas/test-history.schema.json +202 -0
  43. package/packages/server/openapi.json +2721 -48
  44. package/packages/visualizer/src/evidence/artifacts.tsx +77 -29
  45. package/packages/visualizer/src/evidence/evidence-scope.tsx +106 -0
  46. package/packages/visualizer/src/evidence/format.ts +11 -0
  47. package/packages/visualizer/src/explorer/Explorer.tsx +28 -5
  48. package/packages/visualizer/src/explorer/RunArtifacts.tsx +246 -0
  49. package/packages/visualizer/src/explorer/RunsView.tsx +40 -9
  50. package/packages/visualizer/src/explorer/search.ts +10 -3
@@ -89,6 +89,25 @@ export declare const VideoRefSchema: z.ZodObject<{
89
89
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
90
90
  recording: z.ZodOptional<z.ZodString>;
91
91
  available: z.ZodBoolean;
92
+ scope: z.ZodOptional<z.ZodObject<{
93
+ surface: z.ZodOptional<z.ZodString>;
94
+ deviceKind: z.ZodOptional<z.ZodString>;
95
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
96
+ dependencies: z.ZodOptional<z.ZodString>;
97
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
98
+ pacing: z.ZodOptional<z.ZodString>;
99
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
100
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
101
+ declaredBy: z.ZodOptional<z.ZodString>;
102
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
103
+ verifiedBy: z.ZodOptional<z.ZodString>;
104
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
105
+ url: z.ZodString;
106
+ name: z.ZodOptional<z.ZodString>;
107
+ rel: z.ZodOptional<z.ZodString>;
108
+ }, z.core.$loose>>>;
109
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
110
+ }, z.core.$loose>>;
92
111
  }, z.core.$loose>;
93
112
  /** Video references as counts: how many are referenced, how many distinct recordings can be played, how many cannot. */
94
113
  export declare const VideoCountsSchema: z.ZodObject<{
@@ -115,6 +134,25 @@ export declare const EvidenceSummarySchema: z.ZodObject<{
115
134
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
116
135
  recording: z.ZodOptional<z.ZodString>;
117
136
  available: z.ZodBoolean;
137
+ scope: z.ZodOptional<z.ZodObject<{
138
+ surface: z.ZodOptional<z.ZodString>;
139
+ deviceKind: z.ZodOptional<z.ZodString>;
140
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
141
+ dependencies: z.ZodOptional<z.ZodString>;
142
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
143
+ pacing: z.ZodOptional<z.ZodString>;
144
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
145
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
146
+ declaredBy: z.ZodOptional<z.ZodString>;
147
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
148
+ verifiedBy: z.ZodOptional<z.ZodString>;
149
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
150
+ url: z.ZodString;
151
+ name: z.ZodOptional<z.ZodString>;
152
+ rel: z.ZodOptional<z.ZodString>;
153
+ }, z.core.$loose>>>;
154
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
155
+ }, z.core.$loose>>;
118
156
  }, z.core.$loose>>>;
119
157
  }, z.core.$loose>;
120
158
  /** A layer as the report shows it: its origin and its checks by status. */
@@ -166,6 +204,25 @@ export declare const LayerHeaderSchema: z.ZodObject<{
166
204
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
167
205
  recording: z.ZodOptional<z.ZodString>;
168
206
  available: z.ZodBoolean;
207
+ scope: z.ZodOptional<z.ZodObject<{
208
+ surface: z.ZodOptional<z.ZodString>;
209
+ deviceKind: z.ZodOptional<z.ZodString>;
210
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
211
+ dependencies: z.ZodOptional<z.ZodString>;
212
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
213
+ pacing: z.ZodOptional<z.ZodString>;
214
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
215
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
216
+ declaredBy: z.ZodOptional<z.ZodString>;
217
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
218
+ verifiedBy: z.ZodOptional<z.ZodString>;
219
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
220
+ url: z.ZodString;
221
+ name: z.ZodOptional<z.ZodString>;
222
+ rel: z.ZodOptional<z.ZodString>;
223
+ }, z.core.$loose>>>;
224
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
225
+ }, z.core.$loose>>;
169
226
  }, z.core.$loose>>>;
170
227
  }, z.core.$loose>>;
171
228
  recordings: z.ZodOptional<z.ZodObject<{
@@ -217,6 +274,25 @@ export declare const LayerRowSchema: z.ZodObject<{
217
274
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
218
275
  recording: z.ZodOptional<z.ZodString>;
219
276
  available: z.ZodBoolean;
277
+ scope: z.ZodOptional<z.ZodObject<{
278
+ surface: z.ZodOptional<z.ZodString>;
279
+ deviceKind: z.ZodOptional<z.ZodString>;
280
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
281
+ dependencies: z.ZodOptional<z.ZodString>;
282
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
283
+ pacing: z.ZodOptional<z.ZodString>;
284
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
285
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
286
+ declaredBy: z.ZodOptional<z.ZodString>;
287
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
288
+ verifiedBy: z.ZodOptional<z.ZodString>;
289
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
290
+ url: z.ZodString;
291
+ name: z.ZodOptional<z.ZodString>;
292
+ rel: z.ZodOptional<z.ZodString>;
293
+ }, z.core.$loose>>>;
294
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
295
+ }, z.core.$loose>>;
220
296
  }, z.core.$loose>>>;
221
297
  }, z.core.$loose>>;
222
298
  recording: z.ZodOptional<z.ZodObject<{
@@ -266,6 +342,25 @@ export declare const LayerRowsSchema: z.ZodObject<{
266
342
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
267
343
  recording: z.ZodOptional<z.ZodString>;
268
344
  available: z.ZodBoolean;
345
+ scope: z.ZodOptional<z.ZodObject<{
346
+ surface: z.ZodOptional<z.ZodString>;
347
+ deviceKind: z.ZodOptional<z.ZodString>;
348
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
349
+ dependencies: z.ZodOptional<z.ZodString>;
350
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
351
+ pacing: z.ZodOptional<z.ZodString>;
352
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
353
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
354
+ declaredBy: z.ZodOptional<z.ZodString>;
355
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
356
+ verifiedBy: z.ZodOptional<z.ZodString>;
357
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
358
+ url: z.ZodString;
359
+ name: z.ZodOptional<z.ZodString>;
360
+ rel: z.ZodOptional<z.ZodString>;
361
+ }, z.core.$loose>>>;
362
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
363
+ }, z.core.$loose>>;
269
364
  }, z.core.$loose>>>;
270
365
  }, z.core.$loose>>;
271
366
  recording: z.ZodOptional<z.ZodObject<{
@@ -317,6 +412,25 @@ export declare const LayerEvidenceSchema: z.ZodObject<{
317
412
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
318
413
  recording: z.ZodOptional<z.ZodString>;
319
414
  available: z.ZodBoolean;
415
+ scope: z.ZodOptional<z.ZodObject<{
416
+ surface: z.ZodOptional<z.ZodString>;
417
+ deviceKind: z.ZodOptional<z.ZodString>;
418
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
419
+ dependencies: z.ZodOptional<z.ZodString>;
420
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
421
+ pacing: z.ZodOptional<z.ZodString>;
422
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
423
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
424
+ declaredBy: z.ZodOptional<z.ZodString>;
425
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
426
+ verifiedBy: z.ZodOptional<z.ZodString>;
427
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
428
+ url: z.ZodString;
429
+ name: z.ZodOptional<z.ZodString>;
430
+ rel: z.ZodOptional<z.ZodString>;
431
+ }, z.core.$loose>>>;
432
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
433
+ }, z.core.$loose>>;
320
434
  }, z.core.$loose>>>;
321
435
  }, z.core.$loose>>;
322
436
  recording: z.ZodOptional<z.ZodObject<{
@@ -373,6 +487,25 @@ export declare const LayerEvidenceSchema: z.ZodObject<{
373
487
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
374
488
  recording: z.ZodOptional<z.ZodString>;
375
489
  available: z.ZodBoolean;
490
+ scope: z.ZodOptional<z.ZodObject<{
491
+ surface: z.ZodOptional<z.ZodString>;
492
+ deviceKind: z.ZodOptional<z.ZodString>;
493
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
494
+ dependencies: z.ZodOptional<z.ZodString>;
495
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
496
+ pacing: z.ZodOptional<z.ZodString>;
497
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
498
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
499
+ declaredBy: z.ZodOptional<z.ZodString>;
500
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
501
+ verifiedBy: z.ZodOptional<z.ZodString>;
502
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
503
+ url: z.ZodString;
504
+ name: z.ZodOptional<z.ZodString>;
505
+ rel: z.ZodOptional<z.ZodString>;
506
+ }, z.core.$loose>>>;
507
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
508
+ }, z.core.$loose>>;
376
509
  }, z.core.$loose>>>;
377
510
  }, z.core.$loose>>;
378
511
  recordings: z.ZodOptional<z.ZodObject<{
@@ -433,6 +566,25 @@ export declare const EffectiveEvidenceSchema: z.ZodObject<{
433
566
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
434
567
  recording: z.ZodOptional<z.ZodString>;
435
568
  available: z.ZodBoolean;
569
+ scope: z.ZodOptional<z.ZodObject<{
570
+ surface: z.ZodOptional<z.ZodString>;
571
+ deviceKind: z.ZodOptional<z.ZodString>;
572
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
573
+ dependencies: z.ZodOptional<z.ZodString>;
574
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
575
+ pacing: z.ZodOptional<z.ZodString>;
576
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
577
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
578
+ declaredBy: z.ZodOptional<z.ZodString>;
579
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
580
+ verifiedBy: z.ZodOptional<z.ZodString>;
581
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
582
+ url: z.ZodString;
583
+ name: z.ZodOptional<z.ZodString>;
584
+ rel: z.ZodOptional<z.ZodString>;
585
+ }, z.core.$loose>>>;
586
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
587
+ }, z.core.$loose>>;
436
588
  }, z.core.$loose>>>;
437
589
  }, z.core.$loose>>;
438
590
  recording: z.ZodOptional<z.ZodObject<{
@@ -489,6 +641,25 @@ export declare const EffectiveEvidenceSchema: z.ZodObject<{
489
641
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
490
642
  recording: z.ZodOptional<z.ZodString>;
491
643
  available: z.ZodBoolean;
644
+ scope: z.ZodOptional<z.ZodObject<{
645
+ surface: z.ZodOptional<z.ZodString>;
646
+ deviceKind: z.ZodOptional<z.ZodString>;
647
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
648
+ dependencies: z.ZodOptional<z.ZodString>;
649
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
650
+ pacing: z.ZodOptional<z.ZodString>;
651
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
652
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
653
+ declaredBy: z.ZodOptional<z.ZodString>;
654
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
655
+ verifiedBy: z.ZodOptional<z.ZodString>;
656
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
657
+ url: z.ZodString;
658
+ name: z.ZodOptional<z.ZodString>;
659
+ rel: z.ZodOptional<z.ZodString>;
660
+ }, z.core.$loose>>>;
661
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
662
+ }, z.core.$loose>>;
492
663
  }, z.core.$loose>>>;
493
664
  }, z.core.$loose>>;
494
665
  recordings: z.ZodOptional<z.ZodObject<{
@@ -570,6 +741,25 @@ export declare const EffectiveDeltaSchema: z.ZodObject<{
570
741
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
571
742
  recording: z.ZodOptional<z.ZodString>;
572
743
  available: z.ZodBoolean;
744
+ scope: z.ZodOptional<z.ZodObject<{
745
+ surface: z.ZodOptional<z.ZodString>;
746
+ deviceKind: z.ZodOptional<z.ZodString>;
747
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
748
+ dependencies: z.ZodOptional<z.ZodString>;
749
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
750
+ pacing: z.ZodOptional<z.ZodString>;
751
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
752
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
753
+ declaredBy: z.ZodOptional<z.ZodString>;
754
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
755
+ verifiedBy: z.ZodOptional<z.ZodString>;
756
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
757
+ url: z.ZodString;
758
+ name: z.ZodOptional<z.ZodString>;
759
+ rel: z.ZodOptional<z.ZodString>;
760
+ }, z.core.$loose>>>;
761
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
762
+ }, z.core.$loose>>;
573
763
  }, z.core.$loose>>>;
574
764
  }, z.core.$loose>>;
575
765
  recording: z.ZodOptional<z.ZodObject<{
@@ -626,6 +816,25 @@ export declare const EffectiveDeltaSchema: z.ZodObject<{
626
816
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
627
817
  recording: z.ZodOptional<z.ZodString>;
628
818
  available: z.ZodBoolean;
819
+ scope: z.ZodOptional<z.ZodObject<{
820
+ surface: z.ZodOptional<z.ZodString>;
821
+ deviceKind: z.ZodOptional<z.ZodString>;
822
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
823
+ dependencies: z.ZodOptional<z.ZodString>;
824
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
825
+ pacing: z.ZodOptional<z.ZodString>;
826
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
827
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
828
+ declaredBy: z.ZodOptional<z.ZodString>;
829
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
830
+ verifiedBy: z.ZodOptional<z.ZodString>;
831
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
832
+ url: z.ZodString;
833
+ name: z.ZodOptional<z.ZodString>;
834
+ rel: z.ZodOptional<z.ZodString>;
835
+ }, z.core.$loose>>>;
836
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
837
+ }, z.core.$loose>>;
629
838
  }, z.core.$loose>>>;
630
839
  }, z.core.$loose>>;
631
840
  recordings: z.ZodOptional<z.ZodObject<{
@@ -710,6 +919,25 @@ export declare const EvidencePageSchema: z.ZodObject<{
710
919
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
711
920
  recording: z.ZodOptional<z.ZodString>;
712
921
  available: z.ZodBoolean;
922
+ scope: z.ZodOptional<z.ZodObject<{
923
+ surface: z.ZodOptional<z.ZodString>;
924
+ deviceKind: z.ZodOptional<z.ZodString>;
925
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
926
+ dependencies: z.ZodOptional<z.ZodString>;
927
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
928
+ pacing: z.ZodOptional<z.ZodString>;
929
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
930
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
931
+ declaredBy: z.ZodOptional<z.ZodString>;
932
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
933
+ verifiedBy: z.ZodOptional<z.ZodString>;
934
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
935
+ url: z.ZodString;
936
+ name: z.ZodOptional<z.ZodString>;
937
+ rel: z.ZodOptional<z.ZodString>;
938
+ }, z.core.$loose>>>;
939
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
940
+ }, z.core.$loose>>;
713
941
  }, z.core.$loose>>>;
714
942
  }, z.core.$loose>>;
715
943
  recordings: z.ZodOptional<z.ZodObject<{
@@ -760,6 +988,25 @@ export declare const CheckDetailSchema: z.ZodObject<{
760
988
  durationMs: z.ZodOptional<z.ZodNumber>;
761
989
  description: z.ZodOptional<z.ZodString>;
762
990
  omitted: z.ZodOptional<z.ZodString>;
991
+ scope: z.ZodOptional<z.ZodObject<{
992
+ surface: z.ZodOptional<z.ZodString>;
993
+ deviceKind: z.ZodOptional<z.ZodString>;
994
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
995
+ dependencies: z.ZodOptional<z.ZodString>;
996
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
997
+ pacing: z.ZodOptional<z.ZodString>;
998
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
999
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
1000
+ declaredBy: z.ZodOptional<z.ZodString>;
1001
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
1002
+ verifiedBy: z.ZodOptional<z.ZodString>;
1003
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
1004
+ url: z.ZodString;
1005
+ name: z.ZodOptional<z.ZodString>;
1006
+ rel: z.ZodOptional<z.ZodString>;
1007
+ }, z.core.$loose>>>;
1008
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1009
+ }, z.core.$loose>>;
763
1010
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
764
1011
  at: z.ZodOptional<z.ZodObject<{
765
1012
  step: z.ZodOptional<z.ZodString>;
@@ -802,6 +1049,25 @@ export declare const CheckDetailSchema: z.ZodObject<{
802
1049
  durationMs: z.ZodOptional<z.ZodNumber>;
803
1050
  startedAtMs: z.ZodOptional<z.ZodNumber>;
804
1051
  detail: z.ZodOptional<z.ZodString>;
1052
+ scope: z.ZodOptional<z.ZodObject<{
1053
+ surface: z.ZodOptional<z.ZodString>;
1054
+ deviceKind: z.ZodOptional<z.ZodString>;
1055
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
1056
+ dependencies: z.ZodOptional<z.ZodString>;
1057
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
1058
+ pacing: z.ZodOptional<z.ZodString>;
1059
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
1060
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
1061
+ declaredBy: z.ZodOptional<z.ZodString>;
1062
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
1063
+ verifiedBy: z.ZodOptional<z.ZodString>;
1064
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
1065
+ url: z.ZodString;
1066
+ name: z.ZodOptional<z.ZodString>;
1067
+ rel: z.ZodOptional<z.ZodString>;
1068
+ }, z.core.$loose>>>;
1069
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1070
+ }, z.core.$loose>>;
805
1071
  steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
806
1072
  id: z.ZodOptional<z.ZodString>;
807
1073
  parentId: z.ZodOptional<z.ZodString>;
@@ -826,6 +1092,25 @@ export declare const CheckDetailSchema: z.ZodObject<{
826
1092
  durationMs: z.ZodOptional<z.ZodNumber>;
827
1093
  description: z.ZodOptional<z.ZodString>;
828
1094
  omitted: z.ZodOptional<z.ZodString>;
1095
+ scope: z.ZodOptional<z.ZodObject<{
1096
+ surface: z.ZodOptional<z.ZodString>;
1097
+ deviceKind: z.ZodOptional<z.ZodString>;
1098
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
1099
+ dependencies: z.ZodOptional<z.ZodString>;
1100
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
1101
+ pacing: z.ZodOptional<z.ZodString>;
1102
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
1103
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
1104
+ declaredBy: z.ZodOptional<z.ZodString>;
1105
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
1106
+ verifiedBy: z.ZodOptional<z.ZodString>;
1107
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
1108
+ url: z.ZodString;
1109
+ name: z.ZodOptional<z.ZodString>;
1110
+ rel: z.ZodOptional<z.ZodString>;
1111
+ }, z.core.$loose>>>;
1112
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1113
+ }, z.core.$loose>>;
829
1114
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
830
1115
  at: z.ZodOptional<z.ZodObject<{
831
1116
  step: z.ZodOptional<z.ZodString>;
@@ -872,6 +1157,25 @@ export declare const CheckDetailSchema: z.ZodObject<{
872
1157
  durationMs: z.ZodOptional<z.ZodNumber>;
873
1158
  description: z.ZodOptional<z.ZodString>;
874
1159
  omitted: z.ZodOptional<z.ZodString>;
1160
+ scope: z.ZodOptional<z.ZodObject<{
1161
+ surface: z.ZodOptional<z.ZodString>;
1162
+ deviceKind: z.ZodOptional<z.ZodString>;
1163
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
1164
+ dependencies: z.ZodOptional<z.ZodString>;
1165
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
1166
+ pacing: z.ZodOptional<z.ZodString>;
1167
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
1168
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
1169
+ declaredBy: z.ZodOptional<z.ZodString>;
1170
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
1171
+ verifiedBy: z.ZodOptional<z.ZodString>;
1172
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
1173
+ url: z.ZodString;
1174
+ name: z.ZodOptional<z.ZodString>;
1175
+ rel: z.ZodOptional<z.ZodString>;
1176
+ }, z.core.$loose>>>;
1177
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1178
+ }, z.core.$loose>>;
875
1179
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
876
1180
  at: z.ZodOptional<z.ZodObject<{
877
1181
  step: z.ZodOptional<z.ZodString>;
@@ -925,6 +1229,25 @@ export declare const CheckDetailSchema: z.ZodObject<{
925
1229
  durationMs: z.ZodOptional<z.ZodNumber>;
926
1230
  description: z.ZodOptional<z.ZodString>;
927
1231
  omitted: z.ZodOptional<z.ZodString>;
1232
+ scope: z.ZodOptional<z.ZodObject<{
1233
+ surface: z.ZodOptional<z.ZodString>;
1234
+ deviceKind: z.ZodOptional<z.ZodString>;
1235
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
1236
+ dependencies: z.ZodOptional<z.ZodString>;
1237
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
1238
+ pacing: z.ZodOptional<z.ZodString>;
1239
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
1240
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
1241
+ declaredBy: z.ZodOptional<z.ZodString>;
1242
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
1243
+ verifiedBy: z.ZodOptional<z.ZodString>;
1244
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
1245
+ url: z.ZodString;
1246
+ name: z.ZodOptional<z.ZodString>;
1247
+ rel: z.ZodOptional<z.ZodString>;
1248
+ }, z.core.$loose>>>;
1249
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1250
+ }, z.core.$loose>>;
928
1251
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
929
1252
  at: z.ZodOptional<z.ZodObject<{
930
1253
  step: z.ZodOptional<z.ZodString>;
@@ -954,6 +1277,25 @@ export declare const CheckDetailSchema: z.ZodObject<{
954
1277
  }, z.core.$loose>>>;
955
1278
  extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
956
1279
  }, z.core.$loose>>>;
1280
+ scope: z.ZodOptional<z.ZodObject<{
1281
+ surface: z.ZodOptional<z.ZodString>;
1282
+ deviceKind: z.ZodOptional<z.ZodString>;
1283
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
1284
+ dependencies: z.ZodOptional<z.ZodString>;
1285
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
1286
+ pacing: z.ZodOptional<z.ZodString>;
1287
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
1288
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
1289
+ declaredBy: z.ZodOptional<z.ZodString>;
1290
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
1291
+ verifiedBy: z.ZodOptional<z.ZodString>;
1292
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
1293
+ url: z.ZodString;
1294
+ name: z.ZodOptional<z.ZodString>;
1295
+ rel: z.ZodOptional<z.ZodString>;
1296
+ }, z.core.$loose>>>;
1297
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1298
+ }, z.core.$loose>>;
957
1299
  extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
958
1300
  id: z.ZodString;
959
1301
  title: z.ZodString;
@@ -975,6 +1317,30 @@ export declare const CheckDetailSchema: z.ZodObject<{
975
1317
  recordingExpectation: z.ZodOptional<z.ZodString>;
976
1318
  }, z.core.$loose>;
977
1319
  run: z.ZodObject<{}, z.core.$loose>;
1320
+ parts: z.ZodOptional<z.ZodArray<z.ZodObject<{
1321
+ kind: z.ZodString;
1322
+ id: z.ZodString;
1323
+ title: z.ZodString;
1324
+ }, z.core.$loose>>>;
1325
+ inheritedScope: z.ZodOptional<z.ZodObject<{
1326
+ surface: z.ZodOptional<z.ZodString>;
1327
+ deviceKind: z.ZodOptional<z.ZodString>;
1328
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
1329
+ dependencies: z.ZodOptional<z.ZodString>;
1330
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
1331
+ pacing: z.ZodOptional<z.ZodString>;
1332
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
1333
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
1334
+ declaredBy: z.ZodOptional<z.ZodString>;
1335
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
1336
+ verifiedBy: z.ZodOptional<z.ZodString>;
1337
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
1338
+ url: z.ZodString;
1339
+ name: z.ZodOptional<z.ZodString>;
1340
+ rel: z.ZodOptional<z.ZodString>;
1341
+ }, z.core.$loose>>>;
1342
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1343
+ }, z.core.$loose>>;
978
1344
  }, z.core.$loose>;
979
1345
  /** `GET /api/store?prefix=…`: one page of keys under `layers/`, in code-unit order. */
980
1346
  export declare const StoreListingSchema: z.ZodObject<{
@@ -1111,6 +1477,25 @@ export declare const TestResultEntrySchema: z.ZodObject<{
1111
1477
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1112
1478
  recording: z.ZodOptional<z.ZodString>;
1113
1479
  available: z.ZodBoolean;
1480
+ scope: z.ZodOptional<z.ZodObject<{
1481
+ surface: z.ZodOptional<z.ZodString>;
1482
+ deviceKind: z.ZodOptional<z.ZodString>;
1483
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
1484
+ dependencies: z.ZodOptional<z.ZodString>;
1485
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
1486
+ pacing: z.ZodOptional<z.ZodString>;
1487
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
1488
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
1489
+ declaredBy: z.ZodOptional<z.ZodString>;
1490
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
1491
+ verifiedBy: z.ZodOptional<z.ZodString>;
1492
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
1493
+ url: z.ZodString;
1494
+ name: z.ZodOptional<z.ZodString>;
1495
+ rel: z.ZodOptional<z.ZodString>;
1496
+ }, z.core.$loose>>>;
1497
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1498
+ }, z.core.$loose>>;
1114
1499
  }, z.core.$loose>>>;
1115
1500
  }, z.core.$loose>>;
1116
1501
  }, z.core.$loose>;
@@ -1172,6 +1557,25 @@ export declare const TestSummarySchema: z.ZodObject<{
1172
1557
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1173
1558
  recording: z.ZodOptional<z.ZodString>;
1174
1559
  available: z.ZodBoolean;
1560
+ scope: z.ZodOptional<z.ZodObject<{
1561
+ surface: z.ZodOptional<z.ZodString>;
1562
+ deviceKind: z.ZodOptional<z.ZodString>;
1563
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
1564
+ dependencies: z.ZodOptional<z.ZodString>;
1565
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
1566
+ pacing: z.ZodOptional<z.ZodString>;
1567
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
1568
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
1569
+ declaredBy: z.ZodOptional<z.ZodString>;
1570
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
1571
+ verifiedBy: z.ZodOptional<z.ZodString>;
1572
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
1573
+ url: z.ZodString;
1574
+ name: z.ZodOptional<z.ZodString>;
1575
+ rel: z.ZodOptional<z.ZodString>;
1576
+ }, z.core.$loose>>>;
1577
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1578
+ }, z.core.$loose>>;
1175
1579
  }, z.core.$loose>>>;
1176
1580
  }, z.core.$loose>>;
1177
1581
  }, z.core.$loose>>;
@@ -1203,6 +1607,7 @@ export declare const TestSummarySchema: z.ZodObject<{
1203
1607
  tags: z.ZodArray<z.ZodString>;
1204
1608
  artifactTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1205
1609
  inheritedArtifactTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1610
+ scopeProfiles: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodString>>>;
1206
1611
  labels: z.ZodRecord<z.ZodString, z.ZodString>;
1207
1612
  evidence: z.ZodObject<{
1208
1613
  attachments: z.ZodNumber;
@@ -1354,6 +1759,10 @@ export declare const TestCatalogSchema: z.ZodObject<{
1354
1759
  value: z.ZodString;
1355
1760
  count: z.ZodNumber;
1356
1761
  }, z.core.$loose>>>;
1762
+ scopes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1763
+ value: z.ZodString;
1764
+ count: z.ZodNumber;
1765
+ }, z.core.$loose>>>;
1357
1766
  branches: z.ZodArray<z.ZodObject<{
1358
1767
  value: z.ZodString;
1359
1768
  count: z.ZodNumber;
@@ -1423,6 +1832,25 @@ export declare const TestCatalogSchema: z.ZodObject<{
1423
1832
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1424
1833
  recording: z.ZodOptional<z.ZodString>;
1425
1834
  available: z.ZodBoolean;
1835
+ scope: z.ZodOptional<z.ZodObject<{
1836
+ surface: z.ZodOptional<z.ZodString>;
1837
+ deviceKind: z.ZodOptional<z.ZodString>;
1838
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
1839
+ dependencies: z.ZodOptional<z.ZodString>;
1840
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
1841
+ pacing: z.ZodOptional<z.ZodString>;
1842
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
1843
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
1844
+ declaredBy: z.ZodOptional<z.ZodString>;
1845
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
1846
+ verifiedBy: z.ZodOptional<z.ZodString>;
1847
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
1848
+ url: z.ZodString;
1849
+ name: z.ZodOptional<z.ZodString>;
1850
+ rel: z.ZodOptional<z.ZodString>;
1851
+ }, z.core.$loose>>>;
1852
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1853
+ }, z.core.$loose>>;
1426
1854
  }, z.core.$loose>>>;
1427
1855
  }, z.core.$loose>>;
1428
1856
  }, z.core.$loose>>;
@@ -1454,6 +1882,7 @@ export declare const TestCatalogSchema: z.ZodObject<{
1454
1882
  tags: z.ZodArray<z.ZodString>;
1455
1883
  artifactTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1456
1884
  inheritedArtifactTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1885
+ scopeProfiles: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodString>>>;
1457
1886
  labels: z.ZodRecord<z.ZodString, z.ZodString>;
1458
1887
  evidence: z.ZodObject<{
1459
1888
  attachments: z.ZodNumber;
@@ -1605,6 +2034,25 @@ export declare const TestHistorySchema: z.ZodObject<{
1605
2034
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1606
2035
  recording: z.ZodOptional<z.ZodString>;
1607
2036
  available: z.ZodBoolean;
2037
+ scope: z.ZodOptional<z.ZodObject<{
2038
+ surface: z.ZodOptional<z.ZodString>;
2039
+ deviceKind: z.ZodOptional<z.ZodString>;
2040
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
2041
+ dependencies: z.ZodOptional<z.ZodString>;
2042
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
2043
+ pacing: z.ZodOptional<z.ZodString>;
2044
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
2045
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
2046
+ declaredBy: z.ZodOptional<z.ZodString>;
2047
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
2048
+ verifiedBy: z.ZodOptional<z.ZodString>;
2049
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
2050
+ url: z.ZodString;
2051
+ name: z.ZodOptional<z.ZodString>;
2052
+ rel: z.ZodOptional<z.ZodString>;
2053
+ }, z.core.$loose>>>;
2054
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2055
+ }, z.core.$loose>>;
1608
2056
  }, z.core.$loose>>>;
1609
2057
  }, z.core.$loose>>;
1610
2058
  }, z.core.$loose>>;
@@ -1636,6 +2084,7 @@ export declare const TestHistorySchema: z.ZodObject<{
1636
2084
  tags: z.ZodArray<z.ZodString>;
1637
2085
  artifactTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1638
2086
  inheritedArtifactTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2087
+ scopeProfiles: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodString>>>;
1639
2088
  labels: z.ZodRecord<z.ZodString, z.ZodString>;
1640
2089
  evidence: z.ZodObject<{
1641
2090
  attachments: z.ZodNumber;
@@ -1684,6 +2133,25 @@ export declare const TestHistorySchema: z.ZodObject<{
1684
2133
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1685
2134
  recording: z.ZodOptional<z.ZodString>;
1686
2135
  available: z.ZodBoolean;
2136
+ scope: z.ZodOptional<z.ZodObject<{
2137
+ surface: z.ZodOptional<z.ZodString>;
2138
+ deviceKind: z.ZodOptional<z.ZodString>;
2139
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
2140
+ dependencies: z.ZodOptional<z.ZodString>;
2141
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
2142
+ pacing: z.ZodOptional<z.ZodString>;
2143
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
2144
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
2145
+ declaredBy: z.ZodOptional<z.ZodString>;
2146
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
2147
+ verifiedBy: z.ZodOptional<z.ZodString>;
2148
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
2149
+ url: z.ZodString;
2150
+ name: z.ZodOptional<z.ZodString>;
2151
+ rel: z.ZodOptional<z.ZodString>;
2152
+ }, z.core.$loose>>>;
2153
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2154
+ }, z.core.$loose>>;
1687
2155
  }, z.core.$loose>>>;
1688
2156
  }, z.core.$loose>>;
1689
2157
  }, z.core.$loose>>;
@@ -1725,6 +2193,7 @@ export declare const ReportRunSchema: z.ZodObject<{
1725
2193
  recordings: z.ZodNumber;
1726
2194
  unavailable: z.ZodNumber;
1727
2195
  }, z.core.$loose>>;
2196
+ attachments: z.ZodOptional<z.ZodNumber>;
1728
2197
  artifactTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1729
2198
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1730
2199
  types: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -1811,6 +2280,7 @@ export declare const RunListSchema: z.ZodObject<{
1811
2280
  recordings: z.ZodNumber;
1812
2281
  unavailable: z.ZodNumber;
1813
2282
  }, z.core.$loose>>;
2283
+ attachments: z.ZodOptional<z.ZodNumber>;
1814
2284
  artifactTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1815
2285
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1816
2286
  types: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -1890,6 +2360,25 @@ export declare const ArtifactResultSchema: z.ZodObject<{
1890
2360
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1891
2361
  recording: z.ZodOptional<z.ZodString>;
1892
2362
  available: z.ZodBoolean;
2363
+ scope: z.ZodOptional<z.ZodObject<{
2364
+ surface: z.ZodOptional<z.ZodString>;
2365
+ deviceKind: z.ZodOptional<z.ZodString>;
2366
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
2367
+ dependencies: z.ZodOptional<z.ZodString>;
2368
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
2369
+ pacing: z.ZodOptional<z.ZodString>;
2370
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
2371
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
2372
+ declaredBy: z.ZodOptional<z.ZodString>;
2373
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
2374
+ verifiedBy: z.ZodOptional<z.ZodString>;
2375
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
2376
+ url: z.ZodString;
2377
+ name: z.ZodOptional<z.ZodString>;
2378
+ rel: z.ZodOptional<z.ZodString>;
2379
+ }, z.core.$loose>>>;
2380
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2381
+ }, z.core.$loose>>;
1893
2382
  }, z.core.$loose>>>;
1894
2383
  }, z.core.$loose>;
1895
2384
  /** `GET /api/reports/artifacts`: recorded results that carry evidence, newest first, with the facets of the query. */
@@ -1935,6 +2424,25 @@ export declare const ArtifactListSchema: z.ZodObject<{
1935
2424
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1936
2425
  recording: z.ZodOptional<z.ZodString>;
1937
2426
  available: z.ZodBoolean;
2427
+ scope: z.ZodOptional<z.ZodObject<{
2428
+ surface: z.ZodOptional<z.ZodString>;
2429
+ deviceKind: z.ZodOptional<z.ZodString>;
2430
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
2431
+ dependencies: z.ZodOptional<z.ZodString>;
2432
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
2433
+ pacing: z.ZodOptional<z.ZodString>;
2434
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
2435
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
2436
+ declaredBy: z.ZodOptional<z.ZodString>;
2437
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
2438
+ verifiedBy: z.ZodOptional<z.ZodString>;
2439
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
2440
+ url: z.ZodString;
2441
+ name: z.ZodOptional<z.ZodString>;
2442
+ rel: z.ZodOptional<z.ZodString>;
2443
+ }, z.core.$loose>>>;
2444
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2445
+ }, z.core.$loose>>;
1938
2446
  }, z.core.$loose>>>;
1939
2447
  }, z.core.$loose>>;
1940
2448
  filters: z.ZodArray<z.ZodString>;
@@ -2013,6 +2521,7 @@ export declare const RunDetailSchema: z.ZodObject<{
2013
2521
  recordings: z.ZodNumber;
2014
2522
  unavailable: z.ZodNumber;
2015
2523
  }, z.core.$loose>>;
2524
+ attachments: z.ZodOptional<z.ZodNumber>;
2016
2525
  artifactTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2017
2526
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2018
2527
  types: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -2043,6 +2552,39 @@ export declare const RunDetailSchema: z.ZodObject<{
2043
2552
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2044
2553
  recording: z.ZodOptional<z.ZodString>;
2045
2554
  available: z.ZodBoolean;
2555
+ scope: z.ZodOptional<z.ZodObject<{
2556
+ surface: z.ZodOptional<z.ZodString>;
2557
+ deviceKind: z.ZodOptional<z.ZodString>;
2558
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
2559
+ dependencies: z.ZodOptional<z.ZodString>;
2560
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
2561
+ pacing: z.ZodOptional<z.ZodString>;
2562
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
2563
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
2564
+ declaredBy: z.ZodOptional<z.ZodString>;
2565
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
2566
+ verifiedBy: z.ZodOptional<z.ZodString>;
2567
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
2568
+ url: z.ZodString;
2569
+ name: z.ZodOptional<z.ZodString>;
2570
+ rel: z.ZodOptional<z.ZodString>;
2571
+ }, z.core.$loose>>>;
2572
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2573
+ }, z.core.$loose>>;
2046
2574
  }, z.core.$loose>>>;
2047
2575
  }, z.core.$loose>>;
2576
+ layers: z.ZodOptional<z.ZodArray<z.ZodObject<{
2577
+ id: z.ZodString;
2578
+ backend: z.ZodString;
2579
+ producer: z.ZodString;
2580
+ environment: z.ZodNullable<z.ZodString>;
2581
+ recordedAtMs: z.ZodNumber;
2582
+ checks: z.ZodNumber;
2583
+ attachments: z.ZodNumber;
2584
+ videos: z.ZodOptional<z.ZodObject<{
2585
+ references: z.ZodNumber;
2586
+ recordings: z.ZodNumber;
2587
+ unavailable: z.ZodNumber;
2588
+ }, z.core.$loose>>;
2589
+ }, z.core.$loose>>>;
2048
2590
  }, z.core.$loose>;