@crvouga/atlas 1.1.0 → 1.3.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 (54) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/reports/src/artifact-query.d.ts +123 -0
  3. package/dist/reports/src/artifact-query.js +234 -0
  4. package/dist/reports/src/evidence-detail.d.ts +14 -3
  5. package/dist/reports/src/evidence-detail.js +34 -19
  6. package/dist/reports/src/evidence-scope.d.ts +83 -0
  7. package/dist/reports/src/evidence-scope.js +129 -0
  8. package/dist/reports/src/evidence-types.d.ts +5 -1
  9. package/dist/reports/src/explorer-types.d.ts +1 -1
  10. package/dist/reports/src/layer-merge.js +3 -2
  11. package/dist/reports/src/layer-types.d.ts +1 -1
  12. package/dist/reports/src/publish-checks.js +1 -0
  13. package/dist/reports/src/reporter.d.ts +1 -1
  14. package/dist/reports/src/reports-explorer-route.d.ts +276 -0
  15. package/dist/reports/src/reports-route.d.ts +276 -0
  16. package/dist/reports/src/test-catalog.d.ts +108 -6
  17. package/dist/reports/src/test-catalog.js +155 -8
  18. package/dist/schema/src/api.d.ts +745 -0
  19. package/dist/schema/src/api.js +48 -6
  20. package/dist/schema/src/layer.d.ts +981 -0
  21. package/dist/schema/src/layer.js +43 -4
  22. package/dist/server/src/app.js +16 -5
  23. package/dist/server/src/openapi.js +42 -3
  24. package/docs/extending.md +1 -0
  25. package/docs/reference/http-api.md +86 -2
  26. package/docs/reference/reports.md +550 -14
  27. package/docs/reference/schema.md +55 -0
  28. package/docs/rich-evidence.md +78 -0
  29. package/docs/server.md +4 -1
  30. package/docs/ui.md +1 -1
  31. package/llms-full.txt +170 -4
  32. package/package.json +1 -1
  33. package/packages/schema/schemas/check-detail.schema.json +673 -1
  34. package/packages/schema/schemas/effective-delta.schema.json +206 -0
  35. package/packages/schema/schemas/effective-evidence.schema.json +206 -0
  36. package/packages/schema/schemas/evidence-page.schema.json +103 -0
  37. package/packages/schema/schemas/layer-rows.schema.json +103 -0
  38. package/packages/schema/schemas/layer.schema.json +1598 -62
  39. package/packages/schema/schemas/publish-checks.schema.json +768 -0
  40. package/packages/schema/schemas/report-run.schema.json +131 -0
  41. package/packages/schema/schemas/report-runs.schema.json +221 -0
  42. package/packages/schema/schemas/test-catalog.schema.json +135 -0
  43. package/packages/schema/schemas/test-history.schema.json +216 -0
  44. package/packages/server/openapi.json +4731 -735
  45. package/packages/visualizer/src/evidence/artifacts.tsx +24 -18
  46. package/packages/visualizer/src/evidence/evidence-scope.tsx +106 -0
  47. package/packages/visualizer/src/evidence/format.ts +11 -0
  48. package/packages/visualizer/src/explorer/ArtifactsView.tsx +162 -0
  49. package/packages/visualizer/src/explorer/Explorer.tsx +47 -3
  50. package/packages/visualizer/src/explorer/RunsView.tsx +43 -19
  51. package/packages/visualizer/src/explorer/catalog.tsx +97 -12
  52. package/packages/visualizer/src/explorer/filters.tsx +279 -0
  53. package/packages/visualizer/src/explorer/search.ts +85 -6
  54. package/packages/visualizer/src/explorer/views.ts +75 -0
@@ -86,8 +86,28 @@ export declare const VideoRefSchema: z.ZodObject<{
86
86
  owner: z.ZodString;
87
87
  attempt: z.ZodOptional<z.ZodNumber>;
88
88
  step: z.ZodOptional<z.ZodString>;
89
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
89
90
  recording: z.ZodOptional<z.ZodString>;
90
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>>;
91
111
  }, z.core.$loose>;
92
112
  /** Video references as counts: how many are referenced, how many distinct recordings can be played, how many cannot. */
93
113
  export declare const VideoCountsSchema: z.ZodObject<{
@@ -111,8 +131,28 @@ export declare const EvidenceSummarySchema: z.ZodObject<{
111
131
  owner: z.ZodString;
112
132
  attempt: z.ZodOptional<z.ZodNumber>;
113
133
  step: z.ZodOptional<z.ZodString>;
134
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
114
135
  recording: z.ZodOptional<z.ZodString>;
115
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>>;
116
156
  }, z.core.$loose>>>;
117
157
  }, z.core.$loose>;
118
158
  /** A layer as the report shows it: its origin and its checks by status. */
@@ -161,8 +201,28 @@ export declare const LayerHeaderSchema: z.ZodObject<{
161
201
  owner: z.ZodString;
162
202
  attempt: z.ZodOptional<z.ZodNumber>;
163
203
  step: z.ZodOptional<z.ZodString>;
204
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
164
205
  recording: z.ZodOptional<z.ZodString>;
165
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>>;
166
226
  }, z.core.$loose>>>;
167
227
  }, z.core.$loose>>;
168
228
  recordings: z.ZodOptional<z.ZodObject<{
@@ -211,8 +271,28 @@ export declare const LayerRowSchema: z.ZodObject<{
211
271
  owner: z.ZodString;
212
272
  attempt: z.ZodOptional<z.ZodNumber>;
213
273
  step: z.ZodOptional<z.ZodString>;
274
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
214
275
  recording: z.ZodOptional<z.ZodString>;
215
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>>;
216
296
  }, z.core.$loose>>>;
217
297
  }, z.core.$loose>>;
218
298
  recording: z.ZodOptional<z.ZodObject<{
@@ -259,8 +339,28 @@ export declare const LayerRowsSchema: z.ZodObject<{
259
339
  owner: z.ZodString;
260
340
  attempt: z.ZodOptional<z.ZodNumber>;
261
341
  step: z.ZodOptional<z.ZodString>;
342
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
262
343
  recording: z.ZodOptional<z.ZodString>;
263
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>>;
264
364
  }, z.core.$loose>>>;
265
365
  }, z.core.$loose>>;
266
366
  recording: z.ZodOptional<z.ZodObject<{
@@ -309,8 +409,28 @@ export declare const LayerEvidenceSchema: z.ZodObject<{
309
409
  owner: z.ZodString;
310
410
  attempt: z.ZodOptional<z.ZodNumber>;
311
411
  step: z.ZodOptional<z.ZodString>;
412
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
312
413
  recording: z.ZodOptional<z.ZodString>;
313
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>>;
314
434
  }, z.core.$loose>>>;
315
435
  }, z.core.$loose>>;
316
436
  recording: z.ZodOptional<z.ZodObject<{
@@ -364,8 +484,28 @@ export declare const LayerEvidenceSchema: z.ZodObject<{
364
484
  owner: z.ZodString;
365
485
  attempt: z.ZodOptional<z.ZodNumber>;
366
486
  step: z.ZodOptional<z.ZodString>;
487
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
367
488
  recording: z.ZodOptional<z.ZodString>;
368
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>>;
369
509
  }, z.core.$loose>>>;
370
510
  }, z.core.$loose>>;
371
511
  recordings: z.ZodOptional<z.ZodObject<{
@@ -423,8 +563,28 @@ export declare const EffectiveEvidenceSchema: z.ZodObject<{
423
563
  owner: z.ZodString;
424
564
  attempt: z.ZodOptional<z.ZodNumber>;
425
565
  step: z.ZodOptional<z.ZodString>;
566
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
426
567
  recording: z.ZodOptional<z.ZodString>;
427
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>>;
428
588
  }, z.core.$loose>>>;
429
589
  }, z.core.$loose>>;
430
590
  recording: z.ZodOptional<z.ZodObject<{
@@ -478,8 +638,28 @@ export declare const EffectiveEvidenceSchema: z.ZodObject<{
478
638
  owner: z.ZodString;
479
639
  attempt: z.ZodOptional<z.ZodNumber>;
480
640
  step: z.ZodOptional<z.ZodString>;
641
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
481
642
  recording: z.ZodOptional<z.ZodString>;
482
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>>;
483
663
  }, z.core.$loose>>>;
484
664
  }, z.core.$loose>>;
485
665
  recordings: z.ZodOptional<z.ZodObject<{
@@ -558,8 +738,28 @@ export declare const EffectiveDeltaSchema: z.ZodObject<{
558
738
  owner: z.ZodString;
559
739
  attempt: z.ZodOptional<z.ZodNumber>;
560
740
  step: z.ZodOptional<z.ZodString>;
741
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
561
742
  recording: z.ZodOptional<z.ZodString>;
562
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>>;
563
763
  }, z.core.$loose>>>;
564
764
  }, z.core.$loose>>;
565
765
  recording: z.ZodOptional<z.ZodObject<{
@@ -613,8 +813,28 @@ export declare const EffectiveDeltaSchema: z.ZodObject<{
613
813
  owner: z.ZodString;
614
814
  attempt: z.ZodOptional<z.ZodNumber>;
615
815
  step: z.ZodOptional<z.ZodString>;
816
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
616
817
  recording: z.ZodOptional<z.ZodString>;
617
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>>;
618
838
  }, z.core.$loose>>>;
619
839
  }, z.core.$loose>>;
620
840
  recordings: z.ZodOptional<z.ZodObject<{
@@ -696,8 +916,28 @@ export declare const EvidencePageSchema: z.ZodObject<{
696
916
  owner: z.ZodString;
697
917
  attempt: z.ZodOptional<z.ZodNumber>;
698
918
  step: z.ZodOptional<z.ZodString>;
919
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
699
920
  recording: z.ZodOptional<z.ZodString>;
700
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>>;
701
941
  }, z.core.$loose>>>;
702
942
  }, z.core.$loose>>;
703
943
  recordings: z.ZodOptional<z.ZodObject<{
@@ -748,6 +988,25 @@ export declare const CheckDetailSchema: z.ZodObject<{
748
988
  durationMs: z.ZodOptional<z.ZodNumber>;
749
989
  description: z.ZodOptional<z.ZodString>;
750
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>>;
751
1010
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
752
1011
  at: z.ZodOptional<z.ZodObject<{
753
1012
  step: z.ZodOptional<z.ZodString>;
@@ -790,6 +1049,25 @@ export declare const CheckDetailSchema: z.ZodObject<{
790
1049
  durationMs: z.ZodOptional<z.ZodNumber>;
791
1050
  startedAtMs: z.ZodOptional<z.ZodNumber>;
792
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>>;
793
1071
  steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
794
1072
  id: z.ZodOptional<z.ZodString>;
795
1073
  parentId: z.ZodOptional<z.ZodString>;
@@ -814,6 +1092,25 @@ export declare const CheckDetailSchema: z.ZodObject<{
814
1092
  durationMs: z.ZodOptional<z.ZodNumber>;
815
1093
  description: z.ZodOptional<z.ZodString>;
816
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>>;
817
1114
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
818
1115
  at: z.ZodOptional<z.ZodObject<{
819
1116
  step: z.ZodOptional<z.ZodString>;
@@ -860,6 +1157,25 @@ export declare const CheckDetailSchema: z.ZodObject<{
860
1157
  durationMs: z.ZodOptional<z.ZodNumber>;
861
1158
  description: z.ZodOptional<z.ZodString>;
862
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>>;
863
1179
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
864
1180
  at: z.ZodOptional<z.ZodObject<{
865
1181
  step: z.ZodOptional<z.ZodString>;
@@ -913,6 +1229,25 @@ export declare const CheckDetailSchema: z.ZodObject<{
913
1229
  durationMs: z.ZodOptional<z.ZodNumber>;
914
1230
  description: z.ZodOptional<z.ZodString>;
915
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>>;
916
1251
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
917
1252
  at: z.ZodOptional<z.ZodObject<{
918
1253
  step: z.ZodOptional<z.ZodString>;
@@ -942,6 +1277,25 @@ export declare const CheckDetailSchema: z.ZodObject<{
942
1277
  }, z.core.$loose>>>;
943
1278
  extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
944
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>>;
945
1299
  extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
946
1300
  id: z.ZodString;
947
1301
  title: z.ZodString;
@@ -963,6 +1317,25 @@ export declare const CheckDetailSchema: z.ZodObject<{
963
1317
  recordingExpectation: z.ZodOptional<z.ZodString>;
964
1318
  }, z.core.$loose>;
965
1319
  run: z.ZodObject<{}, z.core.$loose>;
1320
+ inheritedScope: z.ZodOptional<z.ZodObject<{
1321
+ surface: z.ZodOptional<z.ZodString>;
1322
+ deviceKind: z.ZodOptional<z.ZodString>;
1323
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
1324
+ dependencies: z.ZodOptional<z.ZodString>;
1325
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
1326
+ pacing: z.ZodOptional<z.ZodString>;
1327
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
1328
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
1329
+ declaredBy: z.ZodOptional<z.ZodString>;
1330
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
1331
+ verifiedBy: z.ZodOptional<z.ZodString>;
1332
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
1333
+ url: z.ZodString;
1334
+ name: z.ZodOptional<z.ZodString>;
1335
+ rel: z.ZodOptional<z.ZodString>;
1336
+ }, z.core.$loose>>>;
1337
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1338
+ }, z.core.$loose>>;
966
1339
  }, z.core.$loose>;
967
1340
  /** `GET /api/store?prefix=…`: one page of keys under `layers/`, in code-unit order. */
968
1341
  export declare const StoreListingSchema: z.ZodObject<{
@@ -1096,8 +1469,28 @@ export declare const TestResultEntrySchema: z.ZodObject<{
1096
1469
  owner: z.ZodString;
1097
1470
  attempt: z.ZodOptional<z.ZodNumber>;
1098
1471
  step: z.ZodOptional<z.ZodString>;
1472
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1099
1473
  recording: z.ZodOptional<z.ZodString>;
1100
1474
  available: z.ZodBoolean;
1475
+ scope: z.ZodOptional<z.ZodObject<{
1476
+ surface: z.ZodOptional<z.ZodString>;
1477
+ deviceKind: z.ZodOptional<z.ZodString>;
1478
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
1479
+ dependencies: z.ZodOptional<z.ZodString>;
1480
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
1481
+ pacing: z.ZodOptional<z.ZodString>;
1482
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
1483
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
1484
+ declaredBy: z.ZodOptional<z.ZodString>;
1485
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
1486
+ verifiedBy: z.ZodOptional<z.ZodString>;
1487
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
1488
+ url: z.ZodString;
1489
+ name: z.ZodOptional<z.ZodString>;
1490
+ rel: z.ZodOptional<z.ZodString>;
1491
+ }, z.core.$loose>>>;
1492
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1493
+ }, z.core.$loose>>;
1101
1494
  }, z.core.$loose>>>;
1102
1495
  }, z.core.$loose>>;
1103
1496
  }, z.core.$loose>;
@@ -1156,8 +1549,28 @@ export declare const TestSummarySchema: z.ZodObject<{
1156
1549
  owner: z.ZodString;
1157
1550
  attempt: z.ZodOptional<z.ZodNumber>;
1158
1551
  step: z.ZodOptional<z.ZodString>;
1552
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1159
1553
  recording: z.ZodOptional<z.ZodString>;
1160
1554
  available: z.ZodBoolean;
1555
+ scope: z.ZodOptional<z.ZodObject<{
1556
+ surface: z.ZodOptional<z.ZodString>;
1557
+ deviceKind: z.ZodOptional<z.ZodString>;
1558
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
1559
+ dependencies: z.ZodOptional<z.ZodString>;
1560
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
1561
+ pacing: z.ZodOptional<z.ZodString>;
1562
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
1563
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
1564
+ declaredBy: z.ZodOptional<z.ZodString>;
1565
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
1566
+ verifiedBy: z.ZodOptional<z.ZodString>;
1567
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
1568
+ url: z.ZodString;
1569
+ name: z.ZodOptional<z.ZodString>;
1570
+ rel: z.ZodOptional<z.ZodString>;
1571
+ }, z.core.$loose>>>;
1572
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1573
+ }, z.core.$loose>>;
1161
1574
  }, z.core.$loose>>>;
1162
1575
  }, z.core.$loose>>;
1163
1576
  }, z.core.$loose>>;
@@ -1189,6 +1602,7 @@ export declare const TestSummarySchema: z.ZodObject<{
1189
1602
  tags: z.ZodArray<z.ZodString>;
1190
1603
  artifactTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1191
1604
  inheritedArtifactTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1605
+ scopeProfiles: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodString>>>;
1192
1606
  labels: z.ZodRecord<z.ZodString, z.ZodString>;
1193
1607
  evidence: z.ZodObject<{
1194
1608
  attachments: z.ZodNumber;
@@ -1340,6 +1754,10 @@ export declare const TestCatalogSchema: z.ZodObject<{
1340
1754
  value: z.ZodString;
1341
1755
  count: z.ZodNumber;
1342
1756
  }, z.core.$loose>>>;
1757
+ scopes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1758
+ value: z.ZodString;
1759
+ count: z.ZodNumber;
1760
+ }, z.core.$loose>>>;
1343
1761
  branches: z.ZodArray<z.ZodObject<{
1344
1762
  value: z.ZodString;
1345
1763
  count: z.ZodNumber;
@@ -1406,8 +1824,28 @@ export declare const TestCatalogSchema: z.ZodObject<{
1406
1824
  owner: z.ZodString;
1407
1825
  attempt: z.ZodOptional<z.ZodNumber>;
1408
1826
  step: z.ZodOptional<z.ZodString>;
1827
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1409
1828
  recording: z.ZodOptional<z.ZodString>;
1410
1829
  available: z.ZodBoolean;
1830
+ scope: z.ZodOptional<z.ZodObject<{
1831
+ surface: z.ZodOptional<z.ZodString>;
1832
+ deviceKind: z.ZodOptional<z.ZodString>;
1833
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
1834
+ dependencies: z.ZodOptional<z.ZodString>;
1835
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
1836
+ pacing: z.ZodOptional<z.ZodString>;
1837
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
1838
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
1839
+ declaredBy: z.ZodOptional<z.ZodString>;
1840
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
1841
+ verifiedBy: z.ZodOptional<z.ZodString>;
1842
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
1843
+ url: z.ZodString;
1844
+ name: z.ZodOptional<z.ZodString>;
1845
+ rel: z.ZodOptional<z.ZodString>;
1846
+ }, z.core.$loose>>>;
1847
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1848
+ }, z.core.$loose>>;
1411
1849
  }, z.core.$loose>>>;
1412
1850
  }, z.core.$loose>>;
1413
1851
  }, z.core.$loose>>;
@@ -1439,6 +1877,7 @@ export declare const TestCatalogSchema: z.ZodObject<{
1439
1877
  tags: z.ZodArray<z.ZodString>;
1440
1878
  artifactTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1441
1879
  inheritedArtifactTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1880
+ scopeProfiles: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodString>>>;
1442
1881
  labels: z.ZodRecord<z.ZodString, z.ZodString>;
1443
1882
  evidence: z.ZodObject<{
1444
1883
  attachments: z.ZodNumber;
@@ -1587,8 +2026,28 @@ export declare const TestHistorySchema: z.ZodObject<{
1587
2026
  owner: z.ZodString;
1588
2027
  attempt: z.ZodOptional<z.ZodNumber>;
1589
2028
  step: z.ZodOptional<z.ZodString>;
2029
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1590
2030
  recording: z.ZodOptional<z.ZodString>;
1591
2031
  available: z.ZodBoolean;
2032
+ scope: z.ZodOptional<z.ZodObject<{
2033
+ surface: z.ZodOptional<z.ZodString>;
2034
+ deviceKind: z.ZodOptional<z.ZodString>;
2035
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
2036
+ dependencies: z.ZodOptional<z.ZodString>;
2037
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
2038
+ pacing: z.ZodOptional<z.ZodString>;
2039
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
2040
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
2041
+ declaredBy: z.ZodOptional<z.ZodString>;
2042
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
2043
+ verifiedBy: z.ZodOptional<z.ZodString>;
2044
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
2045
+ url: z.ZodString;
2046
+ name: z.ZodOptional<z.ZodString>;
2047
+ rel: z.ZodOptional<z.ZodString>;
2048
+ }, z.core.$loose>>>;
2049
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2050
+ }, z.core.$loose>>;
1592
2051
  }, z.core.$loose>>>;
1593
2052
  }, z.core.$loose>>;
1594
2053
  }, z.core.$loose>>;
@@ -1620,6 +2079,7 @@ export declare const TestHistorySchema: z.ZodObject<{
1620
2079
  tags: z.ZodArray<z.ZodString>;
1621
2080
  artifactTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1622
2081
  inheritedArtifactTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2082
+ scopeProfiles: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodString>>>;
1623
2083
  labels: z.ZodRecord<z.ZodString, z.ZodString>;
1624
2084
  evidence: z.ZodObject<{
1625
2085
  attachments: z.ZodNumber;
@@ -1665,8 +2125,28 @@ export declare const TestHistorySchema: z.ZodObject<{
1665
2125
  owner: z.ZodString;
1666
2126
  attempt: z.ZodOptional<z.ZodNumber>;
1667
2127
  step: z.ZodOptional<z.ZodString>;
2128
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1668
2129
  recording: z.ZodOptional<z.ZodString>;
1669
2130
  available: z.ZodBoolean;
2131
+ scope: z.ZodOptional<z.ZodObject<{
2132
+ surface: z.ZodOptional<z.ZodString>;
2133
+ deviceKind: z.ZodOptional<z.ZodString>;
2134
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
2135
+ dependencies: z.ZodOptional<z.ZodString>;
2136
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
2137
+ pacing: z.ZodOptional<z.ZodString>;
2138
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
2139
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
2140
+ declaredBy: z.ZodOptional<z.ZodString>;
2141
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
2142
+ verifiedBy: z.ZodOptional<z.ZodString>;
2143
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
2144
+ url: z.ZodString;
2145
+ name: z.ZodOptional<z.ZodString>;
2146
+ rel: z.ZodOptional<z.ZodString>;
2147
+ }, z.core.$loose>>>;
2148
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2149
+ }, z.core.$loose>>;
1670
2150
  }, z.core.$loose>>>;
1671
2151
  }, z.core.$loose>>;
1672
2152
  }, z.core.$loose>>;
@@ -1708,6 +2188,50 @@ export declare const ReportRunSchema: z.ZodObject<{
1708
2188
  recordings: z.ZodNumber;
1709
2189
  unavailable: z.ZodNumber;
1710
2190
  }, z.core.$loose>>;
2191
+ artifactTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2192
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2193
+ types: z.ZodOptional<z.ZodArray<z.ZodString>>;
2194
+ labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
2195
+ }, z.core.$loose>;
2196
+ /** A value of a filter dimension and how many records have it. */
2197
+ export declare const QueryFacetValueSchema: z.ZodObject<{
2198
+ value: z.ZodString;
2199
+ count: z.ZodNumber;
2200
+ }, z.core.$loose>;
2201
+ /** The facets of a runs or artifacts query: per dimension, its values with disjunctive counts (the list's count if that value were the only one chosen, every other dimension's filter applied). */
2202
+ export declare const QueryFacetsSchema: z.ZodObject<{
2203
+ artifactTags: z.ZodArray<z.ZodObject<{
2204
+ value: z.ZodString;
2205
+ count: z.ZodNumber;
2206
+ }, z.core.$loose>>;
2207
+ types: z.ZodArray<z.ZodObject<{
2208
+ value: z.ZodString;
2209
+ count: z.ZodNumber;
2210
+ }, z.core.$loose>>;
2211
+ labels: z.ZodArray<z.ZodObject<{
2212
+ value: z.ZodString;
2213
+ count: z.ZodNumber;
2214
+ }, z.core.$loose>>;
2215
+ environments: z.ZodArray<z.ZodObject<{
2216
+ value: z.ZodString;
2217
+ count: z.ZodNumber;
2218
+ }, z.core.$loose>>;
2219
+ producers: z.ZodArray<z.ZodObject<{
2220
+ value: z.ZodString;
2221
+ count: z.ZodNumber;
2222
+ }, z.core.$loose>>;
2223
+ branches: z.ZodArray<z.ZodObject<{
2224
+ value: z.ZodString;
2225
+ count: z.ZodNumber;
2226
+ }, z.core.$loose>>;
2227
+ outcomes: z.ZodArray<z.ZodObject<{
2228
+ value: z.ZodString;
2229
+ count: z.ZodNumber;
2230
+ }, z.core.$loose>>;
2231
+ domains: z.ZodOptional<z.ZodArray<z.ZodObject<{
2232
+ value: z.ZodString;
2233
+ count: z.ZodNumber;
2234
+ }, z.core.$loose>>>;
1711
2235
  }, z.core.$loose>;
1712
2236
  /** `GET /api/reports/runs`: runs, newest first. */
1713
2237
  export declare const RunListSchema: z.ZodObject<{
@@ -1750,8 +2274,205 @@ export declare const RunListSchema: z.ZodObject<{
1750
2274
  recordings: z.ZodNumber;
1751
2275
  unavailable: z.ZodNumber;
1752
2276
  }, z.core.$loose>>;
2277
+ artifactTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2278
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2279
+ types: z.ZodOptional<z.ZodArray<z.ZodString>>;
2280
+ labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
1753
2281
  }, z.core.$loose>>;
1754
2282
  withVideo: z.ZodOptional<z.ZodNumber>;
2283
+ filters: z.ZodOptional<z.ZodArray<z.ZodString>>;
2284
+ facets: z.ZodOptional<z.ZodObject<{
2285
+ artifactTags: z.ZodArray<z.ZodObject<{
2286
+ value: z.ZodString;
2287
+ count: z.ZodNumber;
2288
+ }, z.core.$loose>>;
2289
+ types: z.ZodArray<z.ZodObject<{
2290
+ value: z.ZodString;
2291
+ count: z.ZodNumber;
2292
+ }, z.core.$loose>>;
2293
+ labels: z.ZodArray<z.ZodObject<{
2294
+ value: z.ZodString;
2295
+ count: z.ZodNumber;
2296
+ }, z.core.$loose>>;
2297
+ environments: z.ZodArray<z.ZodObject<{
2298
+ value: z.ZodString;
2299
+ count: z.ZodNumber;
2300
+ }, z.core.$loose>>;
2301
+ producers: z.ZodArray<z.ZodObject<{
2302
+ value: z.ZodString;
2303
+ count: z.ZodNumber;
2304
+ }, z.core.$loose>>;
2305
+ branches: z.ZodArray<z.ZodObject<{
2306
+ value: z.ZodString;
2307
+ count: z.ZodNumber;
2308
+ }, z.core.$loose>>;
2309
+ outcomes: z.ZodArray<z.ZodObject<{
2310
+ value: z.ZodString;
2311
+ count: z.ZodNumber;
2312
+ }, z.core.$loose>>;
2313
+ domains: z.ZodOptional<z.ZodArray<z.ZodObject<{
2314
+ value: z.ZodString;
2315
+ count: z.ZodNumber;
2316
+ }, z.core.$loose>>>;
2317
+ }, z.core.$loose>>;
2318
+ }, z.core.$loose>;
2319
+ /** One recorded result that carries evidence: where and when it was recorded and what it carries. */
2320
+ export declare const ArtifactResultSchema: z.ZodObject<{
2321
+ key: z.ZodString;
2322
+ id: z.ZodString;
2323
+ title: z.ZodString;
2324
+ specPath: z.ZodNullable<z.ZodString>;
2325
+ domain: z.ZodNullable<z.ZodString>;
2326
+ at: z.ZodNumber;
2327
+ status: z.ZodEnum<{
2328
+ passed: "passed";
2329
+ failed: "failed";
2330
+ running: "running";
2331
+ "not-run": "not-run";
2332
+ }>;
2333
+ environment: z.ZodNullable<z.ZodString>;
2334
+ producer: z.ZodString;
2335
+ kind: z.ZodString;
2336
+ parameters: z.ZodRecord<z.ZodString, z.ZodString>;
2337
+ branch: z.ZodNullable<z.ZodString>;
2338
+ sha: z.ZodNullable<z.ZodString>;
2339
+ run: z.ZodString;
2340
+ runUrl: z.ZodNullable<z.ZodString>;
2341
+ layer: z.ZodString;
2342
+ backend: z.ZodString;
2343
+ attachments: z.ZodNumber;
2344
+ artifactTags: z.ZodArray<z.ZodString>;
2345
+ tags: z.ZodArray<z.ZodString>;
2346
+ types: z.ZodArray<z.ZodString>;
2347
+ labels: z.ZodRecord<z.ZodString, z.ZodString>;
2348
+ videos: z.ZodOptional<z.ZodArray<z.ZodObject<{
2349
+ name: z.ZodString;
2350
+ owner: z.ZodString;
2351
+ attempt: z.ZodOptional<z.ZodNumber>;
2352
+ step: z.ZodOptional<z.ZodString>;
2353
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2354
+ recording: z.ZodOptional<z.ZodString>;
2355
+ available: z.ZodBoolean;
2356
+ scope: z.ZodOptional<z.ZodObject<{
2357
+ surface: z.ZodOptional<z.ZodString>;
2358
+ deviceKind: z.ZodOptional<z.ZodString>;
2359
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
2360
+ dependencies: z.ZodOptional<z.ZodString>;
2361
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
2362
+ pacing: z.ZodOptional<z.ZodString>;
2363
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
2364
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
2365
+ declaredBy: z.ZodOptional<z.ZodString>;
2366
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
2367
+ verifiedBy: z.ZodOptional<z.ZodString>;
2368
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
2369
+ url: z.ZodString;
2370
+ name: z.ZodOptional<z.ZodString>;
2371
+ rel: z.ZodOptional<z.ZodString>;
2372
+ }, z.core.$loose>>>;
2373
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2374
+ }, z.core.$loose>>;
2375
+ }, z.core.$loose>>>;
2376
+ }, z.core.$loose>;
2377
+ /** `GET /api/reports/artifacts`: recorded results that carry evidence, newest first, with the facets of the query. */
2378
+ export declare const ArtifactListSchema: z.ZodObject<{
2379
+ schemaVersion: z.ZodLiteral<1>;
2380
+ version: z.ZodString;
2381
+ total: z.ZodNumber;
2382
+ offset: z.ZodNumber;
2383
+ limit: z.ZodNumber;
2384
+ results: z.ZodArray<z.ZodObject<{
2385
+ key: z.ZodString;
2386
+ id: z.ZodString;
2387
+ title: z.ZodString;
2388
+ specPath: z.ZodNullable<z.ZodString>;
2389
+ domain: z.ZodNullable<z.ZodString>;
2390
+ at: z.ZodNumber;
2391
+ status: z.ZodEnum<{
2392
+ passed: "passed";
2393
+ failed: "failed";
2394
+ running: "running";
2395
+ "not-run": "not-run";
2396
+ }>;
2397
+ environment: z.ZodNullable<z.ZodString>;
2398
+ producer: z.ZodString;
2399
+ kind: z.ZodString;
2400
+ parameters: z.ZodRecord<z.ZodString, z.ZodString>;
2401
+ branch: z.ZodNullable<z.ZodString>;
2402
+ sha: z.ZodNullable<z.ZodString>;
2403
+ run: z.ZodString;
2404
+ runUrl: z.ZodNullable<z.ZodString>;
2405
+ layer: z.ZodString;
2406
+ backend: z.ZodString;
2407
+ attachments: z.ZodNumber;
2408
+ artifactTags: z.ZodArray<z.ZodString>;
2409
+ tags: z.ZodArray<z.ZodString>;
2410
+ types: z.ZodArray<z.ZodString>;
2411
+ labels: z.ZodRecord<z.ZodString, z.ZodString>;
2412
+ videos: z.ZodOptional<z.ZodArray<z.ZodObject<{
2413
+ name: z.ZodString;
2414
+ owner: z.ZodString;
2415
+ attempt: z.ZodOptional<z.ZodNumber>;
2416
+ step: z.ZodOptional<z.ZodString>;
2417
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2418
+ recording: z.ZodOptional<z.ZodString>;
2419
+ available: z.ZodBoolean;
2420
+ scope: z.ZodOptional<z.ZodObject<{
2421
+ surface: z.ZodOptional<z.ZodString>;
2422
+ deviceKind: z.ZodOptional<z.ZodString>;
2423
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
2424
+ dependencies: z.ZodOptional<z.ZodString>;
2425
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
2426
+ pacing: z.ZodOptional<z.ZodString>;
2427
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
2428
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
2429
+ declaredBy: z.ZodOptional<z.ZodString>;
2430
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
2431
+ verifiedBy: z.ZodOptional<z.ZodString>;
2432
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
2433
+ url: z.ZodString;
2434
+ name: z.ZodOptional<z.ZodString>;
2435
+ rel: z.ZodOptional<z.ZodString>;
2436
+ }, z.core.$loose>>>;
2437
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2438
+ }, z.core.$loose>>;
2439
+ }, z.core.$loose>>>;
2440
+ }, z.core.$loose>>;
2441
+ filters: z.ZodArray<z.ZodString>;
2442
+ facets: z.ZodObject<{
2443
+ artifactTags: z.ZodArray<z.ZodObject<{
2444
+ value: z.ZodString;
2445
+ count: z.ZodNumber;
2446
+ }, z.core.$loose>>;
2447
+ types: z.ZodArray<z.ZodObject<{
2448
+ value: z.ZodString;
2449
+ count: z.ZodNumber;
2450
+ }, z.core.$loose>>;
2451
+ labels: z.ZodArray<z.ZodObject<{
2452
+ value: z.ZodString;
2453
+ count: z.ZodNumber;
2454
+ }, z.core.$loose>>;
2455
+ environments: z.ZodArray<z.ZodObject<{
2456
+ value: z.ZodString;
2457
+ count: z.ZodNumber;
2458
+ }, z.core.$loose>>;
2459
+ producers: z.ZodArray<z.ZodObject<{
2460
+ value: z.ZodString;
2461
+ count: z.ZodNumber;
2462
+ }, z.core.$loose>>;
2463
+ branches: z.ZodArray<z.ZodObject<{
2464
+ value: z.ZodString;
2465
+ count: z.ZodNumber;
2466
+ }, z.core.$loose>>;
2467
+ outcomes: z.ZodArray<z.ZodObject<{
2468
+ value: z.ZodString;
2469
+ count: z.ZodNumber;
2470
+ }, z.core.$loose>>;
2471
+ domains: z.ZodOptional<z.ZodArray<z.ZodObject<{
2472
+ value: z.ZodString;
2473
+ count: z.ZodNumber;
2474
+ }, z.core.$loose>>>;
2475
+ }, z.core.$loose>;
1755
2476
  }, z.core.$loose>;
1756
2477
  /** `GET /api/reports/runs/detail`: one run and its last result for every test, environment and producer it recorded. */
1757
2478
  export declare const RunDetailSchema: z.ZodObject<{
@@ -1793,6 +2514,10 @@ export declare const RunDetailSchema: z.ZodObject<{
1793
2514
  recordings: z.ZodNumber;
1794
2515
  unavailable: z.ZodNumber;
1795
2516
  }, z.core.$loose>>;
2517
+ artifactTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2518
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2519
+ types: z.ZodOptional<z.ZodArray<z.ZodString>>;
2520
+ labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
1796
2521
  }, z.core.$loose>;
1797
2522
  results: z.ZodArray<z.ZodObject<{
1798
2523
  key: z.ZodString;
@@ -1816,8 +2541,28 @@ export declare const RunDetailSchema: z.ZodObject<{
1816
2541
  owner: z.ZodString;
1817
2542
  attempt: z.ZodOptional<z.ZodNumber>;
1818
2543
  step: z.ZodOptional<z.ZodString>;
2544
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1819
2545
  recording: z.ZodOptional<z.ZodString>;
1820
2546
  available: z.ZodBoolean;
2547
+ scope: z.ZodOptional<z.ZodObject<{
2548
+ surface: z.ZodOptional<z.ZodString>;
2549
+ deviceKind: z.ZodOptional<z.ZodString>;
2550
+ syntheticData: z.ZodOptional<z.ZodBoolean>;
2551
+ dependencies: z.ZodOptional<z.ZodString>;
2552
+ audioCaptured: z.ZodOptional<z.ZodBoolean>;
2553
+ pacing: z.ZodOptional<z.ZodString>;
2554
+ asserted: z.ZodOptional<z.ZodArray<z.ZodString>>;
2555
+ limitations: z.ZodOptional<z.ZodArray<z.ZodString>>;
2556
+ declaredBy: z.ZodOptional<z.ZodString>;
2557
+ verified: z.ZodOptional<z.ZodArray<z.ZodString>>;
2558
+ verifiedBy: z.ZodOptional<z.ZodString>;
2559
+ provenance: z.ZodOptional<z.ZodArray<z.ZodObject<{
2560
+ url: z.ZodString;
2561
+ name: z.ZodOptional<z.ZodString>;
2562
+ rel: z.ZodOptional<z.ZodString>;
2563
+ }, z.core.$loose>>>;
2564
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2565
+ }, z.core.$loose>>;
1821
2566
  }, z.core.$loose>>>;
1822
2567
  }, z.core.$loose>>;
1823
2568
  }, z.core.$loose>;