@vitest-agent/sdk 7.0.5 → 8.0.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.
package/index.d.ts CHANGED
@@ -1,13 +1,13 @@
1
- import { PubSub, Schema } from "effect";
1
+ import { Option, PubSub, Schema } from "effect";
2
2
  /**
3
3
  * Aggregate coverage percentages across four istanbul metrics.
4
4
  * @public
5
5
  */
6
6
  export declare const CoverageTotals: Schema.Struct<{
7
- readonly statements: Schema.Number;
8
- readonly branches: Schema.Number;
9
- readonly functions: Schema.Number;
10
- readonly lines: Schema.Number;
7
+ readonly statements: Schema.Finite;
8
+ readonly branches: Schema.Finite;
9
+ readonly functions: Schema.Finite;
10
+ readonly lines: Schema.Finite;
11
11
  }>;
12
12
  /** @public */
13
13
  export type CoverageTotals = typeof CoverageTotals.Type;
@@ -18,10 +18,10 @@ export type CoverageTotals = typeof CoverageTotals.Type;
18
18
  export declare const FileCoverageReport: Schema.Struct<{
19
19
  readonly file: Schema.String;
20
20
  readonly summary: Schema.Struct<{
21
- readonly statements: Schema.Number;
22
- readonly branches: Schema.Number;
23
- readonly functions: Schema.Number;
24
- readonly lines: Schema.Number;
21
+ readonly statements: Schema.Finite;
22
+ readonly branches: Schema.Finite;
23
+ readonly functions: Schema.Finite;
24
+ readonly lines: Schema.Finite;
25
25
  }>;
26
26
  readonly uncoveredLines: Schema.String;
27
27
  }>;
@@ -41,17 +41,17 @@ export declare const GlobShortfall: Schema.Struct<{
41
41
  readonly pattern: Schema.String;
42
42
  /** Aggregate coverage percentages over the files the glob matches. */
43
43
  readonly summary: Schema.Struct<{
44
- readonly statements: Schema.Number;
45
- readonly branches: Schema.Number;
46
- readonly functions: Schema.Number;
47
- readonly lines: Schema.Number;
44
+ readonly statements: Schema.Finite;
45
+ readonly branches: Schema.Finite;
46
+ readonly functions: Schema.Finite;
47
+ readonly lines: Schema.Finite;
48
48
  }>;
49
49
  /** The glob's own metric numbers that were set (`perFile` excluded). */
50
50
  readonly thresholds: Schema.Struct<{
51
- readonly lines: Schema.optional<Schema.Number>;
52
- readonly functions: Schema.optional<Schema.Number>;
53
- readonly branches: Schema.optional<Schema.Number>;
54
- readonly statements: Schema.optional<Schema.Number>;
51
+ readonly lines: Schema.optional<Schema.Finite>;
52
+ readonly functions: Schema.optional<Schema.Finite>;
53
+ readonly branches: Schema.optional<Schema.Finite>;
54
+ readonly statements: Schema.optional<Schema.Finite>;
55
55
  }>;
56
56
  }>;
57
57
  /** @public */
@@ -62,81 +62,81 @@ export type GlobShortfall = typeof GlobShortfall.Type;
62
62
  */
63
63
  export declare const CoverageReport: Schema.Struct<{
64
64
  readonly totals: Schema.Struct<{
65
- readonly statements: Schema.Number;
66
- readonly branches: Schema.Number;
67
- readonly functions: Schema.Number;
68
- readonly lines: Schema.Number;
65
+ readonly statements: Schema.Finite;
66
+ readonly branches: Schema.Finite;
67
+ readonly functions: Schema.Finite;
68
+ readonly lines: Schema.Finite;
69
69
  }>;
70
70
  readonly thresholds: Schema.Struct<{
71
71
  readonly global: Schema.Struct<{
72
- readonly lines: Schema.optional<Schema.Number>;
73
- readonly functions: Schema.optional<Schema.Number>;
74
- readonly branches: Schema.optional<Schema.Number>;
75
- readonly statements: Schema.optional<Schema.Number>;
72
+ readonly lines: Schema.optional<Schema.Finite>;
73
+ readonly functions: Schema.optional<Schema.Finite>;
74
+ readonly branches: Schema.optional<Schema.Finite>;
75
+ readonly statements: Schema.optional<Schema.Finite>;
76
76
  }>;
77
77
  readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
78
- readonly lines: Schema.optional<Schema.Number>;
79
- readonly functions: Schema.optional<Schema.Number>;
80
- readonly branches: Schema.optional<Schema.Number>;
81
- readonly statements: Schema.optional<Schema.Number>;
78
+ readonly lines: Schema.optional<Schema.Finite>;
79
+ readonly functions: Schema.optional<Schema.Finite>;
80
+ readonly branches: Schema.optional<Schema.Finite>;
81
+ readonly statements: Schema.optional<Schema.Finite>;
82
82
  readonly perFile: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
83
- readonly lines: Schema.optional<Schema.Number>;
84
- readonly functions: Schema.optional<Schema.Number>;
85
- readonly branches: Schema.optional<Schema.Number>;
86
- readonly statements: Schema.optional<Schema.Number>;
83
+ readonly lines: Schema.optional<Schema.Finite>;
84
+ readonly functions: Schema.optional<Schema.Finite>;
85
+ readonly branches: Schema.optional<Schema.Finite>;
86
+ readonly statements: Schema.optional<Schema.Finite>;
87
87
  }>]>>;
88
88
  }>]>>, never>;
89
89
  }>;
90
90
  readonly targets: Schema.optional<Schema.Struct<{
91
91
  readonly global: Schema.Struct<{
92
- readonly lines: Schema.optional<Schema.Number>;
93
- readonly functions: Schema.optional<Schema.Number>;
94
- readonly branches: Schema.optional<Schema.Number>;
95
- readonly statements: Schema.optional<Schema.Number>;
92
+ readonly lines: Schema.optional<Schema.Finite>;
93
+ readonly functions: Schema.optional<Schema.Finite>;
94
+ readonly branches: Schema.optional<Schema.Finite>;
95
+ readonly statements: Schema.optional<Schema.Finite>;
96
96
  }>;
97
97
  readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
98
- readonly lines: Schema.optional<Schema.Number>;
99
- readonly functions: Schema.optional<Schema.Number>;
100
- readonly branches: Schema.optional<Schema.Number>;
101
- readonly statements: Schema.optional<Schema.Number>;
98
+ readonly lines: Schema.optional<Schema.Finite>;
99
+ readonly functions: Schema.optional<Schema.Finite>;
100
+ readonly branches: Schema.optional<Schema.Finite>;
101
+ readonly statements: Schema.optional<Schema.Finite>;
102
102
  readonly perFile: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
103
- readonly lines: Schema.optional<Schema.Number>;
104
- readonly functions: Schema.optional<Schema.Number>;
105
- readonly branches: Schema.optional<Schema.Number>;
106
- readonly statements: Schema.optional<Schema.Number>;
103
+ readonly lines: Schema.optional<Schema.Finite>;
104
+ readonly functions: Schema.optional<Schema.Finite>;
105
+ readonly branches: Schema.optional<Schema.Finite>;
106
+ readonly statements: Schema.optional<Schema.Finite>;
107
107
  }>]>>;
108
108
  }>]>>, never>;
109
109
  }>>;
110
110
  readonly baselines: Schema.optional<Schema.Struct<{
111
111
  readonly global: Schema.Struct<{
112
- readonly lines: Schema.optional<Schema.Number>;
113
- readonly functions: Schema.optional<Schema.Number>;
114
- readonly branches: Schema.optional<Schema.Number>;
115
- readonly statements: Schema.optional<Schema.Number>;
112
+ readonly lines: Schema.optional<Schema.Finite>;
113
+ readonly functions: Schema.optional<Schema.Finite>;
114
+ readonly branches: Schema.optional<Schema.Finite>;
115
+ readonly statements: Schema.optional<Schema.Finite>;
116
116
  }>;
117
117
  readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
118
- readonly lines: Schema.optional<Schema.Number>;
119
- readonly functions: Schema.optional<Schema.Number>;
120
- readonly branches: Schema.optional<Schema.Number>;
121
- readonly statements: Schema.optional<Schema.Number>;
118
+ readonly lines: Schema.optional<Schema.Finite>;
119
+ readonly functions: Schema.optional<Schema.Finite>;
120
+ readonly branches: Schema.optional<Schema.Finite>;
121
+ readonly statements: Schema.optional<Schema.Finite>;
122
122
  readonly perFile: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
123
- readonly lines: Schema.optional<Schema.Number>;
124
- readonly functions: Schema.optional<Schema.Number>;
125
- readonly branches: Schema.optional<Schema.Number>;
126
- readonly statements: Schema.optional<Schema.Number>;
123
+ readonly lines: Schema.optional<Schema.Finite>;
124
+ readonly functions: Schema.optional<Schema.Finite>;
125
+ readonly branches: Schema.optional<Schema.Finite>;
126
+ readonly statements: Schema.optional<Schema.Finite>;
127
127
  }>]>>;
128
128
  }>]>>, never>;
129
129
  }>>;
130
130
  readonly scoped: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
131
131
  readonly scopedFiles: Schema.optional<Schema.$Array<Schema.String>>;
132
- readonly totalFiles: Schema.optional<Schema.Number>;
132
+ readonly totalFiles: Schema.optional<Schema.Finite>;
133
133
  readonly lowCoverage: Schema.$Array<Schema.Struct<{
134
134
  readonly file: Schema.String;
135
135
  readonly summary: Schema.Struct<{
136
- readonly statements: Schema.Number;
137
- readonly branches: Schema.Number;
138
- readonly functions: Schema.Number;
139
- readonly lines: Schema.Number;
136
+ readonly statements: Schema.Finite;
137
+ readonly branches: Schema.Finite;
138
+ readonly functions: Schema.Finite;
139
+ readonly lines: Schema.Finite;
140
140
  }>;
141
141
  readonly uncoveredLines: Schema.String;
142
142
  }>>;
@@ -144,10 +144,10 @@ export declare const CoverageReport: Schema.Struct<{
144
144
  readonly belowTarget: Schema.optional<Schema.$Array<Schema.Struct<{
145
145
  readonly file: Schema.String;
146
146
  readonly summary: Schema.Struct<{
147
- readonly statements: Schema.Number;
148
- readonly branches: Schema.Number;
149
- readonly functions: Schema.Number;
150
- readonly lines: Schema.Number;
147
+ readonly statements: Schema.Finite;
148
+ readonly branches: Schema.Finite;
149
+ readonly functions: Schema.Finite;
150
+ readonly lines: Schema.Finite;
151
151
  }>;
152
152
  readonly uncoveredLines: Schema.String;
153
153
  }>>>;
@@ -157,17 +157,17 @@ export declare const CoverageReport: Schema.Struct<{
157
157
  readonly pattern: Schema.String;
158
158
  /** Aggregate coverage percentages over the files the glob matches. */
159
159
  readonly summary: Schema.Struct<{
160
- readonly statements: Schema.Number;
161
- readonly branches: Schema.Number;
162
- readonly functions: Schema.Number;
163
- readonly lines: Schema.Number;
160
+ readonly statements: Schema.Finite;
161
+ readonly branches: Schema.Finite;
162
+ readonly functions: Schema.Finite;
163
+ readonly lines: Schema.Finite;
164
164
  }>;
165
165
  /** The glob's own metric numbers that were set (`perFile` excluded). */
166
166
  readonly thresholds: Schema.Struct<{
167
- readonly lines: Schema.optional<Schema.Number>;
168
- readonly functions: Schema.optional<Schema.Number>;
169
- readonly branches: Schema.optional<Schema.Number>;
170
- readonly statements: Schema.optional<Schema.Number>;
167
+ readonly lines: Schema.optional<Schema.Finite>;
168
+ readonly functions: Schema.optional<Schema.Finite>;
169
+ readonly branches: Schema.optional<Schema.Finite>;
170
+ readonly statements: Schema.optional<Schema.Finite>;
171
171
  }>;
172
172
  }>>>;
173
173
  }>;
@@ -264,24 +264,24 @@ export type FailureRecord = typeof FailureRecord.Type;
264
264
  */
265
265
  export declare const CoverageRenderState: Schema.Struct<{
266
266
  readonly metrics: Schema.Struct<{
267
- readonly statements: Schema.Number;
268
- readonly branches: Schema.Number;
269
- readonly functions: Schema.Number;
270
- readonly lines: Schema.Number;
267
+ readonly statements: Schema.Finite;
268
+ readonly branches: Schema.Finite;
269
+ readonly functions: Schema.Finite;
270
+ readonly lines: Schema.Finite;
271
271
  }>;
272
272
  readonly thresholds: Schema.Struct<{
273
- readonly lines: Schema.optional<Schema.Number>;
274
- readonly functions: Schema.optional<Schema.Number>;
275
- readonly branches: Schema.optional<Schema.Number>;
276
- readonly statements: Schema.optional<Schema.Number>;
273
+ readonly lines: Schema.optional<Schema.Finite>;
274
+ readonly functions: Schema.optional<Schema.Finite>;
275
+ readonly branches: Schema.optional<Schema.Finite>;
276
+ readonly statements: Schema.optional<Schema.Finite>;
277
277
  }>;
278
278
  readonly gaps: Schema.$Array<Schema.Struct<{
279
279
  readonly file: Schema.String;
280
280
  readonly missing: Schema.Struct<{
281
- readonly statements: Schema.Number;
282
- readonly branches: Schema.Number;
283
- readonly functions: Schema.Number;
284
- readonly lines: Schema.Number;
281
+ readonly statements: Schema.Finite;
282
+ readonly branches: Schema.Finite;
283
+ readonly functions: Schema.Finite;
284
+ readonly lines: Schema.Finite;
285
285
  }>;
286
286
  readonly uncoveredLines: Schema.optional<Schema.String>;
287
287
  }>>;
@@ -296,16 +296,16 @@ export declare const CoverageRenderState: Schema.Struct<{
296
296
  readonly globShortfalls: Schema.optional<Schema.$Array<Schema.Struct<{
297
297
  readonly pattern: Schema.String;
298
298
  readonly summary: Schema.Struct<{
299
- readonly statements: Schema.Number;
300
- readonly branches: Schema.Number;
301
- readonly functions: Schema.Number;
302
- readonly lines: Schema.Number;
299
+ readonly statements: Schema.Finite;
300
+ readonly branches: Schema.Finite;
301
+ readonly functions: Schema.Finite;
302
+ readonly lines: Schema.Finite;
303
303
  }>;
304
304
  readonly thresholds: Schema.Struct<{
305
- readonly lines: Schema.optional<Schema.Number>;
306
- readonly functions: Schema.optional<Schema.Number>;
307
- readonly branches: Schema.optional<Schema.Number>;
308
- readonly statements: Schema.optional<Schema.Number>;
305
+ readonly lines: Schema.optional<Schema.Finite>;
306
+ readonly functions: Schema.optional<Schema.Finite>;
307
+ readonly branches: Schema.optional<Schema.Finite>;
308
+ readonly statements: Schema.optional<Schema.Finite>;
309
309
  }>;
310
310
  }>>>;
311
311
  }>;
@@ -400,24 +400,24 @@ export declare const RenderState: Schema.Struct<{
400
400
  }>;
401
401
  readonly coverage: Schema.NullOr<Schema.Struct<{
402
402
  readonly metrics: Schema.Struct<{
403
- readonly statements: Schema.Number;
404
- readonly branches: Schema.Number;
405
- readonly functions: Schema.Number;
406
- readonly lines: Schema.Number;
403
+ readonly statements: Schema.Finite;
404
+ readonly branches: Schema.Finite;
405
+ readonly functions: Schema.Finite;
406
+ readonly lines: Schema.Finite;
407
407
  }>;
408
408
  readonly thresholds: Schema.Struct<{
409
- readonly lines: Schema.optional<Schema.Number>;
410
- readonly functions: Schema.optional<Schema.Number>;
411
- readonly branches: Schema.optional<Schema.Number>;
412
- readonly statements: Schema.optional<Schema.Number>;
409
+ readonly lines: Schema.optional<Schema.Finite>;
410
+ readonly functions: Schema.optional<Schema.Finite>;
411
+ readonly branches: Schema.optional<Schema.Finite>;
412
+ readonly statements: Schema.optional<Schema.Finite>;
413
413
  }>;
414
414
  readonly gaps: Schema.$Array<Schema.Struct<{
415
415
  readonly file: Schema.String;
416
416
  readonly missing: Schema.Struct<{
417
- readonly statements: Schema.Number;
418
- readonly branches: Schema.Number;
419
- readonly functions: Schema.Number;
420
- readonly lines: Schema.Number;
417
+ readonly statements: Schema.Finite;
418
+ readonly branches: Schema.Finite;
419
+ readonly functions: Schema.Finite;
420
+ readonly lines: Schema.Finite;
421
421
  }>;
422
422
  readonly uncoveredLines: Schema.optional<Schema.String>;
423
423
  }>>;
@@ -432,16 +432,16 @@ export declare const RenderState: Schema.Struct<{
432
432
  readonly globShortfalls: Schema.optional<Schema.$Array<Schema.Struct<{
433
433
  readonly pattern: Schema.String;
434
434
  readonly summary: Schema.Struct<{
435
- readonly statements: Schema.Number;
436
- readonly branches: Schema.Number;
437
- readonly functions: Schema.Number;
438
- readonly lines: Schema.Number;
435
+ readonly statements: Schema.Finite;
436
+ readonly branches: Schema.Finite;
437
+ readonly functions: Schema.Finite;
438
+ readonly lines: Schema.Finite;
439
439
  }>;
440
440
  readonly thresholds: Schema.Struct<{
441
- readonly lines: Schema.optional<Schema.Number>;
442
- readonly functions: Schema.optional<Schema.Number>;
443
- readonly branches: Schema.optional<Schema.Number>;
444
- readonly statements: Schema.optional<Schema.Number>;
441
+ readonly lines: Schema.optional<Schema.Finite>;
442
+ readonly functions: Schema.optional<Schema.Finite>;
443
+ readonly branches: Schema.optional<Schema.Finite>;
444
+ readonly statements: Schema.optional<Schema.Finite>;
445
445
  }>;
446
446
  }>>>;
447
447
  }>>;
@@ -498,15 +498,35 @@ export declare const RenderState: Schema.Struct<{
498
498
  * wrote nothing stray.
499
499
  */
500
500
  readonly strayOutput: Schema.optional<Schema.Struct<{
501
- readonly total: Schema.Number;
502
- readonly stdout: Schema.Number;
503
- readonly stderr: Schema.Number;
504
- readonly bytes: Schema.Number;
501
+ readonly total: Schema.Finite;
502
+ readonly stdout: Schema.Finite;
503
+ readonly stderr: Schema.Finite;
504
+ readonly bytes: Schema.Finite;
505
505
  readonly samples: Schema.$Array<Schema.Struct<{
506
506
  readonly stream: Schema.Literals<readonly ["stdout", "stderr"]>;
507
507
  readonly text: Schema.String;
508
508
  }>>;
509
509
  }>>;
510
+ /**
511
+ * `console.*` output Vitest captured from tests that did not fail, folded
512
+ * from `RunFinished.consoleLeaks`. Absent when the run logged nothing
513
+ * (issue #544).
514
+ */
515
+ readonly consoleLeaks: Schema.optional<Schema.Struct<{
516
+ readonly total: Schema.Finite;
517
+ readonly byFile: Schema.$Array<Schema.Struct<{
518
+ readonly file: Schema.String;
519
+ readonly stdout: Schema.Finite;
520
+ readonly stderr: Schema.Finite;
521
+ readonly tests: Schema.optional<Schema.$Array<Schema.String>>;
522
+ readonly sample: Schema.optional<Schema.String>;
523
+ }>>;
524
+ readonly truncated: Schema.optional<Schema.Boolean>;
525
+ readonly fromFailingTests: Schema.optional<Schema.Struct<{
526
+ readonly total: Schema.Finite;
527
+ readonly files: Schema.Finite;
528
+ }>>;
529
+ }>>;
510
530
  }>;
511
531
  /** @public */
512
532
  export type RenderState = typeof RenderState.Type;
@@ -616,27 +636,41 @@ export interface DispatchInputs {
616
636
  readonly runCommand: string | null;
617
637
  }
618
638
  /**
619
- * Render-time options threaded into each cell from the resolved
620
- * `ReporterKit`. These are concerns the cell needs to format its
621
- * output but that do not belong on the state-derived
622
- * {@link DispatchInputs} struct.
639
+ * Where a file link points: a path, with an optional line and column.
640
+ *
641
+ * The file half of `@effected/cli`'s `LinkTarget`, spelled structurally so
642
+ * this platform-free contract names no kit type. A relative path resolves
643
+ * against the working directory the kit's `CliLinks` layer was built with.
644
+ * @public
645
+ */
646
+ export interface FileLinkTarget {
647
+ readonly file: string;
648
+ readonly line?: number;
649
+ readonly col?: number;
650
+ }
651
+ /**
652
+ * Render-time options threaded into each cell. These are concerns the
653
+ * cell needs to format its output but that do not belong on the
654
+ * state-derived {@link DispatchInputs} struct.
623
655
  *
624
- * The plugin builds this once per run from the kit and passes it into
656
+ * The caller builds this once per render and passes it into
625
657
  * `dispatch(inputs, opts)`. Cells destructure only what they consume.
626
658
  * @public
627
659
  */
628
660
  export interface CellOptions {
629
661
  /**
630
- * Resolved value of the `NO_COLOR` env var. Cells gate ANSI escape
631
- * sequences and OSC-8 hyperlinks on this.
632
- */
633
- readonly noColor: boolean;
634
- /**
635
- * Pre-bound OSC-8 hyperlink helper. The plugin has already decided
636
- * whether OSC-8 should be enabled (`target=stdout`, `!noColor`) so
637
- * cells can call this directly without re-consulting the environment.
662
+ * Writes a file path as a link for the audience and terminal the output
663
+ * is for: the label wrapped in an OSC 8 hyperlink when the reader can
664
+ * follow it, the label unchanged otherwise. The kit decides both halves
665
+ * (`@effected/cli`'s `CliLinks.linker`, `Render.context("stdout").link`):
666
+ * `vscode://file/<path>:<line>:<col>` under VS Code, `file://` otherwise,
667
+ * never for an agent audience, and nothing on a terminal that cannot
668
+ * render hyperlinks (a pipe, tmux, GNU screen, `NO_COLOR`).
669
+ *
670
+ * Omitted, every path is its label alone, which is what an agent reads;
671
+ * a cell therefore never writes an escape sequence of its own.
638
672
  */
639
- readonly osc8: (url: string, label: string) => string;
673
+ readonly link?: (target: FileLinkTarget, label: string) => string;
640
674
  }
641
675
  /**
642
676
  * One unit of rendered reporter output, tagged by where it goes.
@@ -666,11 +700,11 @@ export type RenderedOutput = {
666
700
  * @public
667
701
  */
668
702
  export declare const ReportSummary: Schema.Struct<{
669
- readonly total: Schema.Number;
670
- readonly passed: Schema.Number;
671
- readonly failed: Schema.Number;
672
- readonly skipped: Schema.Number;
673
- readonly duration: Schema.Number;
703
+ readonly total: Schema.Finite;
704
+ readonly passed: Schema.Finite;
705
+ readonly failed: Schema.Finite;
706
+ readonly skipped: Schema.Finite;
707
+ readonly duration: Schema.Finite;
674
708
  /**
675
709
  * Count of every collected module, passing modules included.
676
710
  * `AgentReport.failed` only carries failing modules, so a green run
@@ -678,7 +712,7 @@ export declare const ReportSummary: Schema.Struct<{
678
712
  * this a fully-passing replay reads as "0 modules all-passed"
679
713
  * (issue #204). Optional to keep existing fixtures/reports valid.
680
714
  */
681
- readonly modules: Schema.optional<Schema.Number>;
715
+ readonly modules: Schema.optional<Schema.Finite>;
682
716
  }>;
683
717
  /** @public */
684
718
  export type ReportSummary = typeof ReportSummary.Type;
@@ -690,7 +724,7 @@ export declare const TestReport: Schema.Struct<{
690
724
  readonly name: Schema.String;
691
725
  readonly fullName: Schema.String;
692
726
  readonly state: Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>;
693
- readonly duration: Schema.optional<Schema.Number>;
727
+ readonly duration: Schema.optional<Schema.Finite>;
694
728
  readonly flaky: Schema.optional<Schema.Boolean>;
695
729
  readonly slow: Schema.optional<Schema.Boolean>;
696
730
  readonly errors: Schema.optional<Schema.$Array<Schema.Struct<{
@@ -711,7 +745,7 @@ export type TestReport = typeof TestReport.Type;
711
745
  export declare const ModuleReport: Schema.Struct<{
712
746
  readonly file: Schema.String;
713
747
  readonly state: Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>;
714
- readonly duration: Schema.optional<Schema.Number>;
748
+ readonly duration: Schema.optional<Schema.Finite>;
715
749
  readonly errors: Schema.optional<Schema.$Array<Schema.Struct<{
716
750
  readonly message: Schema.String;
717
751
  readonly stack: Schema.optional<Schema.String>;
@@ -723,7 +757,7 @@ export declare const ModuleReport: Schema.Struct<{
723
757
  readonly name: Schema.String;
724
758
  readonly fullName: Schema.String;
725
759
  readonly state: Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>;
726
- readonly duration: Schema.optional<Schema.Number>;
760
+ readonly duration: Schema.optional<Schema.Finite>;
727
761
  readonly flaky: Schema.optional<Schema.Boolean>;
728
762
  readonly slow: Schema.optional<Schema.Boolean>;
729
763
  readonly errors: Schema.optional<Schema.$Array<Schema.Struct<{
@@ -743,9 +777,9 @@ export type ModuleReport = typeof ModuleReport.Type;
743
777
  * @public
744
778
  */
745
779
  export declare const TagCountEntry: Schema.Struct<{
746
- readonly passed: Schema.optional<Schema.Number>;
747
- readonly failed: Schema.optional<Schema.Number>;
748
- readonly skipped: Schema.optional<Schema.Number>;
780
+ readonly passed: Schema.optional<Schema.Finite>;
781
+ readonly failed: Schema.optional<Schema.Finite>;
782
+ readonly skipped: Schema.optional<Schema.Finite>;
749
783
  }>;
750
784
  /** @public */
751
785
  export type TagCountEntry = typeof TagCountEntry.Type;
@@ -758,11 +792,11 @@ export declare const AgentReport: Schema.Struct<{
758
792
  readonly project: Schema.optional<Schema.String>;
759
793
  readonly reason: Schema.Literals<readonly ["passed", "failed", "interrupted"]>;
760
794
  readonly summary: Schema.Struct<{
761
- readonly total: Schema.Number;
762
- readonly passed: Schema.Number;
763
- readonly failed: Schema.Number;
764
- readonly skipped: Schema.Number;
765
- readonly duration: Schema.Number;
795
+ readonly total: Schema.Finite;
796
+ readonly passed: Schema.Finite;
797
+ readonly failed: Schema.Finite;
798
+ readonly skipped: Schema.Finite;
799
+ readonly duration: Schema.Finite;
766
800
  /**
767
801
  * Count of every collected module, passing modules included.
768
802
  * `AgentReport.failed` only carries failing modules, so a green run
@@ -770,12 +804,12 @@ export declare const AgentReport: Schema.Struct<{
770
804
  * this a fully-passing replay reads as "0 modules all-passed"
771
805
  * (issue #204). Optional to keep existing fixtures/reports valid.
772
806
  */
773
- readonly modules: Schema.optional<Schema.Number>;
807
+ readonly modules: Schema.optional<Schema.Finite>;
774
808
  }>;
775
809
  readonly failed: Schema.$Array<Schema.Struct<{
776
810
  readonly file: Schema.String;
777
811
  readonly state: Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>;
778
- readonly duration: Schema.optional<Schema.Number>;
812
+ readonly duration: Schema.optional<Schema.Finite>;
779
813
  readonly errors: Schema.optional<Schema.$Array<Schema.Struct<{
780
814
  readonly message: Schema.String;
781
815
  readonly stack: Schema.optional<Schema.String>;
@@ -787,7 +821,7 @@ export declare const AgentReport: Schema.Struct<{
787
821
  readonly name: Schema.String;
788
822
  readonly fullName: Schema.String;
789
823
  readonly state: Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>;
790
- readonly duration: Schema.optional<Schema.Number>;
824
+ readonly duration: Schema.optional<Schema.Finite>;
791
825
  readonly flaky: Schema.optional<Schema.Boolean>;
792
826
  readonly slow: Schema.optional<Schema.Boolean>;
793
827
  readonly errors: Schema.optional<Schema.$Array<Schema.Struct<{
@@ -810,81 +844,81 @@ export declare const AgentReport: Schema.Struct<{
810
844
  readonly failedFiles: Schema.$Array<Schema.String>;
811
845
  readonly coverage: Schema.optional<Schema.Struct<{
812
846
  readonly totals: Schema.Struct<{
813
- readonly statements: Schema.Number;
814
- readonly branches: Schema.Number;
815
- readonly functions: Schema.Number;
816
- readonly lines: Schema.Number;
847
+ readonly statements: Schema.Finite;
848
+ readonly branches: Schema.Finite;
849
+ readonly functions: Schema.Finite;
850
+ readonly lines: Schema.Finite;
817
851
  }>;
818
852
  readonly thresholds: Schema.Struct<{
819
853
  readonly global: Schema.Struct<{
820
- readonly lines: Schema.optional<Schema.Number>;
821
- readonly functions: Schema.optional<Schema.Number>;
822
- readonly branches: Schema.optional<Schema.Number>;
823
- readonly statements: Schema.optional<Schema.Number>;
854
+ readonly lines: Schema.optional<Schema.Finite>;
855
+ readonly functions: Schema.optional<Schema.Finite>;
856
+ readonly branches: Schema.optional<Schema.Finite>;
857
+ readonly statements: Schema.optional<Schema.Finite>;
824
858
  }>;
825
859
  readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
826
- readonly lines: Schema.optional<Schema.Number>;
827
- readonly functions: Schema.optional<Schema.Number>;
828
- readonly branches: Schema.optional<Schema.Number>;
829
- readonly statements: Schema.optional<Schema.Number>;
860
+ readonly lines: Schema.optional<Schema.Finite>;
861
+ readonly functions: Schema.optional<Schema.Finite>;
862
+ readonly branches: Schema.optional<Schema.Finite>;
863
+ readonly statements: Schema.optional<Schema.Finite>;
830
864
  readonly perFile: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
831
- readonly lines: Schema.optional<Schema.Number>;
832
- readonly functions: Schema.optional<Schema.Number>;
833
- readonly branches: Schema.optional<Schema.Number>;
834
- readonly statements: Schema.optional<Schema.Number>;
865
+ readonly lines: Schema.optional<Schema.Finite>;
866
+ readonly functions: Schema.optional<Schema.Finite>;
867
+ readonly branches: Schema.optional<Schema.Finite>;
868
+ readonly statements: Schema.optional<Schema.Finite>;
835
869
  }>]>>;
836
870
  }>]>>, never>;
837
871
  }>;
838
872
  readonly targets: Schema.optional<Schema.Struct<{
839
873
  readonly global: Schema.Struct<{
840
- readonly lines: Schema.optional<Schema.Number>;
841
- readonly functions: Schema.optional<Schema.Number>;
842
- readonly branches: Schema.optional<Schema.Number>;
843
- readonly statements: Schema.optional<Schema.Number>;
874
+ readonly lines: Schema.optional<Schema.Finite>;
875
+ readonly functions: Schema.optional<Schema.Finite>;
876
+ readonly branches: Schema.optional<Schema.Finite>;
877
+ readonly statements: Schema.optional<Schema.Finite>;
844
878
  }>;
845
879
  readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
846
- readonly lines: Schema.optional<Schema.Number>;
847
- readonly functions: Schema.optional<Schema.Number>;
848
- readonly branches: Schema.optional<Schema.Number>;
849
- readonly statements: Schema.optional<Schema.Number>;
880
+ readonly lines: Schema.optional<Schema.Finite>;
881
+ readonly functions: Schema.optional<Schema.Finite>;
882
+ readonly branches: Schema.optional<Schema.Finite>;
883
+ readonly statements: Schema.optional<Schema.Finite>;
850
884
  readonly perFile: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
851
- readonly lines: Schema.optional<Schema.Number>;
852
- readonly functions: Schema.optional<Schema.Number>;
853
- readonly branches: Schema.optional<Schema.Number>;
854
- readonly statements: Schema.optional<Schema.Number>;
885
+ readonly lines: Schema.optional<Schema.Finite>;
886
+ readonly functions: Schema.optional<Schema.Finite>;
887
+ readonly branches: Schema.optional<Schema.Finite>;
888
+ readonly statements: Schema.optional<Schema.Finite>;
855
889
  }>]>>;
856
890
  }>]>>, never>;
857
891
  }>>;
858
892
  readonly baselines: Schema.optional<Schema.Struct<{
859
893
  readonly global: Schema.Struct<{
860
- readonly lines: Schema.optional<Schema.Number>;
861
- readonly functions: Schema.optional<Schema.Number>;
862
- readonly branches: Schema.optional<Schema.Number>;
863
- readonly statements: Schema.optional<Schema.Number>;
894
+ readonly lines: Schema.optional<Schema.Finite>;
895
+ readonly functions: Schema.optional<Schema.Finite>;
896
+ readonly branches: Schema.optional<Schema.Finite>;
897
+ readonly statements: Schema.optional<Schema.Finite>;
864
898
  }>;
865
899
  readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
866
- readonly lines: Schema.optional<Schema.Number>;
867
- readonly functions: Schema.optional<Schema.Number>;
868
- readonly branches: Schema.optional<Schema.Number>;
869
- readonly statements: Schema.optional<Schema.Number>;
900
+ readonly lines: Schema.optional<Schema.Finite>;
901
+ readonly functions: Schema.optional<Schema.Finite>;
902
+ readonly branches: Schema.optional<Schema.Finite>;
903
+ readonly statements: Schema.optional<Schema.Finite>;
870
904
  readonly perFile: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
871
- readonly lines: Schema.optional<Schema.Number>;
872
- readonly functions: Schema.optional<Schema.Number>;
873
- readonly branches: Schema.optional<Schema.Number>;
874
- readonly statements: Schema.optional<Schema.Number>;
905
+ readonly lines: Schema.optional<Schema.Finite>;
906
+ readonly functions: Schema.optional<Schema.Finite>;
907
+ readonly branches: Schema.optional<Schema.Finite>;
908
+ readonly statements: Schema.optional<Schema.Finite>;
875
909
  }>]>>;
876
910
  }>]>>, never>;
877
911
  }>>;
878
912
  readonly scoped: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
879
913
  readonly scopedFiles: Schema.optional<Schema.$Array<Schema.String>>;
880
- readonly totalFiles: Schema.optional<Schema.Number>;
914
+ readonly totalFiles: Schema.optional<Schema.Finite>;
881
915
  readonly lowCoverage: Schema.$Array<Schema.Struct<{
882
916
  readonly file: Schema.String;
883
917
  readonly summary: Schema.Struct<{
884
- readonly statements: Schema.Number;
885
- readonly branches: Schema.Number;
886
- readonly functions: Schema.Number;
887
- readonly lines: Schema.Number;
918
+ readonly statements: Schema.Finite;
919
+ readonly branches: Schema.Finite;
920
+ readonly functions: Schema.Finite;
921
+ readonly lines: Schema.Finite;
888
922
  }>;
889
923
  readonly uncoveredLines: Schema.String;
890
924
  }>>;
@@ -892,10 +926,10 @@ export declare const AgentReport: Schema.Struct<{
892
926
  readonly belowTarget: Schema.optional<Schema.$Array<Schema.Struct<{
893
927
  readonly file: Schema.String;
894
928
  readonly summary: Schema.Struct<{
895
- readonly statements: Schema.Number;
896
- readonly branches: Schema.Number;
897
- readonly functions: Schema.Number;
898
- readonly lines: Schema.Number;
929
+ readonly statements: Schema.Finite;
930
+ readonly branches: Schema.Finite;
931
+ readonly functions: Schema.Finite;
932
+ readonly lines: Schema.Finite;
899
933
  }>;
900
934
  readonly uncoveredLines: Schema.String;
901
935
  }>>>;
@@ -903,44 +937,44 @@ export declare const AgentReport: Schema.Struct<{
903
937
  readonly globShortfalls: Schema.optional<Schema.$Array<Schema.Struct<{
904
938
  readonly pattern: Schema.String;
905
939
  readonly summary: Schema.Struct<{
906
- readonly statements: Schema.Number;
907
- readonly branches: Schema.Number;
908
- readonly functions: Schema.Number;
909
- readonly lines: Schema.Number;
940
+ readonly statements: Schema.Finite;
941
+ readonly branches: Schema.Finite;
942
+ readonly functions: Schema.Finite;
943
+ readonly lines: Schema.Finite;
910
944
  }>;
911
945
  readonly thresholds: Schema.Struct<{
912
- readonly lines: Schema.optional<Schema.Number>;
913
- readonly functions: Schema.optional<Schema.Number>;
914
- readonly branches: Schema.optional<Schema.Number>;
915
- readonly statements: Schema.optional<Schema.Number>;
946
+ readonly lines: Schema.optional<Schema.Finite>;
947
+ readonly functions: Schema.optional<Schema.Finite>;
948
+ readonly branches: Schema.optional<Schema.Finite>;
949
+ readonly statements: Schema.optional<Schema.Finite>;
916
950
  }>;
917
951
  }>>>;
918
952
  }>>;
919
953
  readonly tagCounts: Schema.optional<Schema.$Record<Schema.String, Schema.Struct<{
920
- readonly passed: Schema.optional<Schema.Number>;
921
- readonly failed: Schema.optional<Schema.Number>;
922
- readonly skipped: Schema.optional<Schema.Number>;
954
+ readonly passed: Schema.optional<Schema.Finite>;
955
+ readonly failed: Schema.optional<Schema.Finite>;
956
+ readonly skipped: Schema.optional<Schema.Finite>;
923
957
  }>>>;
924
958
  readonly consoleLeaks: Schema.optional<Schema.Struct<{
925
- readonly total: Schema.Number;
959
+ readonly total: Schema.Finite;
926
960
  readonly byFile: Schema.$Array<Schema.Struct<{
927
961
  readonly file: Schema.String;
928
- readonly stdout: Schema.Number;
929
- readonly stderr: Schema.Number;
962
+ readonly stdout: Schema.Finite;
963
+ readonly stderr: Schema.Finite;
930
964
  readonly tests: Schema.optional<Schema.$Array<Schema.String>>;
931
965
  readonly sample: Schema.optional<Schema.String>;
932
966
  }>>;
933
967
  readonly truncated: Schema.optional<Schema.Boolean>;
934
968
  readonly fromFailingTests: Schema.optional<Schema.Struct<{
935
- readonly total: Schema.Number;
936
- readonly files: Schema.Number;
969
+ readonly total: Schema.Finite;
970
+ readonly files: Schema.Finite;
937
971
  }>>;
938
972
  }>>;
939
973
  readonly strayOutput: Schema.optional<Schema.Struct<{
940
- readonly total: Schema.Number;
941
- readonly stdout: Schema.Number;
942
- readonly stderr: Schema.Number;
943
- readonly bytes: Schema.Number;
974
+ readonly total: Schema.Finite;
975
+ readonly stdout: Schema.Finite;
976
+ readonly stderr: Schema.Finite;
977
+ readonly bytes: Schema.Finite;
944
978
  readonly samples: Schema.$Array<Schema.Struct<{
945
979
  readonly stream: Schema.Literals<readonly ["stdout", "stderr"]>;
946
980
  readonly text: Schema.String;
@@ -949,6 +983,27 @@ export declare const AgentReport: Schema.Struct<{
949
983
  }>;
950
984
  /** @public */
951
985
  export type AgentReport = typeof AgentReport.Type;
986
+ /**
987
+ * A finite JSON number: the numeric field type for every schema that
988
+ * reaches a published document (`RunReportFile` and the `schemas/5.0/run.json`
989
+ * it generates). The `Type` is still `number`, and a finite value decodes
990
+ * exactly as it did under `Schema.Number`; only `NaN`, `Infinity` and
991
+ * `-Infinity` are rejected.
992
+ *
993
+ * @remarks
994
+ * `Schema.Number` lowers to JSON Schema as
995
+ * `anyOf: [{ type: "number" }, { type: "string", enum: ["Infinity", "-Infinity", "NaN"] }]`
996
+ * so the JSON codec can round-trip the non-finite values JSON has no
997
+ * literal for. The reporter writes those fields with `JSON.stringify`,
998
+ * which never produces the string arms, so the published schema was
999
+ * looser than the data and a type generator read every count and
1000
+ * duration as `number | "Infinity" | "-Infinity" | "NaN"` (issue #392).
1001
+ * `Schema.Finite`'s check carries a `{ type: "number" }` JSON Schema
1002
+ * annotation that the emitter folds into the bare number type.
1003
+ *
1004
+ * @public
1005
+ */
1006
+ export declare const FiniteNumber: Schema.Finite;
952
1007
  /**
953
1008
  * Possible states for an individual test case.
954
1009
  * @public
@@ -1106,10 +1161,10 @@ export type ConsoleLogLevel = typeof ConsoleLogLevel.Type;
1106
1161
  export declare const CoverageGap: Schema.Struct<{
1107
1162
  readonly file: Schema.String;
1108
1163
  readonly missing: Schema.Struct<{
1109
- readonly statements: Schema.Number;
1110
- readonly branches: Schema.Number;
1111
- readonly functions: Schema.Number;
1112
- readonly lines: Schema.Number;
1164
+ readonly statements: Schema.Finite;
1165
+ readonly branches: Schema.Finite;
1166
+ readonly functions: Schema.Finite;
1167
+ readonly lines: Schema.Finite;
1113
1168
  }>;
1114
1169
  readonly uncoveredLines: Schema.optional<Schema.String>;
1115
1170
  }>;
@@ -1246,24 +1301,24 @@ export declare const RunEvent: Schema.Union<readonly [Schema.TaggedStruct<"RunSt
1246
1301
  readonly runCount: Schema.Number;
1247
1302
  }>, Schema.TaggedStruct<"CoverageReady", {
1248
1303
  readonly metrics: Schema.Struct<{
1249
- readonly statements: Schema.Number;
1250
- readonly branches: Schema.Number;
1251
- readonly functions: Schema.Number;
1252
- readonly lines: Schema.Number;
1304
+ readonly statements: Schema.Finite;
1305
+ readonly branches: Schema.Finite;
1306
+ readonly functions: Schema.Finite;
1307
+ readonly lines: Schema.Finite;
1253
1308
  }>;
1254
1309
  readonly thresholds: Schema.Struct<{
1255
- readonly lines: Schema.optional<Schema.Number>;
1256
- readonly functions: Schema.optional<Schema.Number>;
1257
- readonly branches: Schema.optional<Schema.Number>;
1258
- readonly statements: Schema.optional<Schema.Number>;
1310
+ readonly lines: Schema.optional<Schema.Finite>;
1311
+ readonly functions: Schema.optional<Schema.Finite>;
1312
+ readonly branches: Schema.optional<Schema.Finite>;
1313
+ readonly statements: Schema.optional<Schema.Finite>;
1259
1314
  }>;
1260
1315
  readonly gaps: Schema.$Array<Schema.Struct<{
1261
1316
  readonly file: Schema.String;
1262
1317
  readonly missing: Schema.Struct<{
1263
- readonly statements: Schema.Number;
1264
- readonly branches: Schema.Number;
1265
- readonly functions: Schema.Number;
1266
- readonly lines: Schema.Number;
1318
+ readonly statements: Schema.Finite;
1319
+ readonly branches: Schema.Finite;
1320
+ readonly functions: Schema.Finite;
1321
+ readonly lines: Schema.Finite;
1267
1322
  }>;
1268
1323
  readonly uncoveredLines: Schema.optional<Schema.String>;
1269
1324
  }>>;
@@ -1273,16 +1328,16 @@ export declare const RunEvent: Schema.Union<readonly [Schema.TaggedStruct<"RunSt
1273
1328
  readonly globShortfalls: Schema.optional<Schema.$Array<Schema.Struct<{
1274
1329
  readonly pattern: Schema.String;
1275
1330
  readonly summary: Schema.Struct<{
1276
- readonly statements: Schema.Number;
1277
- readonly branches: Schema.Number;
1278
- readonly functions: Schema.Number;
1279
- readonly lines: Schema.Number;
1331
+ readonly statements: Schema.Finite;
1332
+ readonly branches: Schema.Finite;
1333
+ readonly functions: Schema.Finite;
1334
+ readonly lines: Schema.Finite;
1280
1335
  }>;
1281
1336
  readonly thresholds: Schema.Struct<{
1282
- readonly lines: Schema.optional<Schema.Number>;
1283
- readonly functions: Schema.optional<Schema.Number>;
1284
- readonly branches: Schema.optional<Schema.Number>;
1285
- readonly statements: Schema.optional<Schema.Number>;
1337
+ readonly lines: Schema.optional<Schema.Finite>;
1338
+ readonly functions: Schema.optional<Schema.Finite>;
1339
+ readonly branches: Schema.optional<Schema.Finite>;
1340
+ readonly statements: Schema.optional<Schema.Finite>;
1286
1341
  }>;
1287
1342
  }>>>;
1288
1343
  }>, Schema.TaggedStruct<"ThresholdViolation", {
@@ -1333,15 +1388,35 @@ export declare const RunEvent: Schema.Union<readonly [Schema.TaggedStruct<"RunSt
1333
1388
  * wrote nothing stray, and in older replay data.
1334
1389
  */
1335
1390
  readonly strayOutput: Schema.optional<Schema.Struct<{
1336
- readonly total: Schema.Number;
1337
- readonly stdout: Schema.Number;
1338
- readonly stderr: Schema.Number;
1339
- readonly bytes: Schema.Number;
1391
+ readonly total: Schema.Finite;
1392
+ readonly stdout: Schema.Finite;
1393
+ readonly stderr: Schema.Finite;
1394
+ readonly bytes: Schema.Finite;
1340
1395
  readonly samples: Schema.$Array<Schema.Struct<{
1341
1396
  readonly stream: Schema.Literals<readonly ["stdout", "stderr"]>;
1342
1397
  readonly text: Schema.String;
1343
1398
  }>>;
1344
1399
  }>>;
1400
+ /**
1401
+ * `console.*` output Vitest captured from tests that did not fail
1402
+ * (`AgentReport.consoleLeaks`). Optional: absent when the run logged
1403
+ * nothing, and in older replay data (issue #544).
1404
+ */
1405
+ readonly consoleLeaks: Schema.optional<Schema.Struct<{
1406
+ readonly total: Schema.Finite;
1407
+ readonly byFile: Schema.$Array<Schema.Struct<{
1408
+ readonly file: Schema.String;
1409
+ readonly stdout: Schema.Finite;
1410
+ readonly stderr: Schema.Finite;
1411
+ readonly tests: Schema.optional<Schema.$Array<Schema.String>>;
1412
+ readonly sample: Schema.optional<Schema.String>;
1413
+ }>>;
1414
+ readonly truncated: Schema.optional<Schema.Boolean>;
1415
+ readonly fromFailingTests: Schema.optional<Schema.Struct<{
1416
+ readonly total: Schema.Finite;
1417
+ readonly files: Schema.Finite;
1418
+ }>>;
1419
+ }>>;
1345
1420
  }>]>;
1346
1421
  /** @public */
1347
1422
  export type RunEvent = typeof RunEvent.Type;
@@ -1358,10 +1433,10 @@ export type RunEventByTag = { [E in RunEvent as E["_tag"]]: E; };
1358
1433
  * @public
1359
1434
  */
1360
1435
  export declare const MetricThresholds: Schema.Struct<{
1361
- readonly lines: Schema.optional<Schema.Number>;
1362
- readonly functions: Schema.optional<Schema.Number>;
1363
- readonly branches: Schema.optional<Schema.Number>;
1364
- readonly statements: Schema.optional<Schema.Number>;
1436
+ readonly lines: Schema.optional<Schema.Finite>;
1437
+ readonly functions: Schema.optional<Schema.Finite>;
1438
+ readonly branches: Schema.optional<Schema.Finite>;
1439
+ readonly statements: Schema.optional<Schema.Finite>;
1365
1440
  }>;
1366
1441
  /** @public */
1367
1442
  export type MetricThresholds = typeof MetricThresholds.Type;
@@ -1375,10 +1450,10 @@ export type MetricThresholds = typeof MetricThresholds.Type;
1375
1450
  * @public
1376
1451
  */
1377
1452
  export declare const PerFileThresholds: Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
1378
- readonly lines: Schema.optional<Schema.Number>;
1379
- readonly functions: Schema.optional<Schema.Number>;
1380
- readonly branches: Schema.optional<Schema.Number>;
1381
- readonly statements: Schema.optional<Schema.Number>;
1453
+ readonly lines: Schema.optional<Schema.Finite>;
1454
+ readonly functions: Schema.optional<Schema.Finite>;
1455
+ readonly branches: Schema.optional<Schema.Finite>;
1456
+ readonly statements: Schema.optional<Schema.Finite>;
1382
1457
  }>]>;
1383
1458
  /** @public */
1384
1459
  export type PerFileThresholds = typeof PerFileThresholds.Type;
@@ -1389,15 +1464,15 @@ export type PerFileThresholds = typeof PerFileThresholds.Type;
1389
1464
  * @public
1390
1465
  */
1391
1466
  export declare const PatternMetricThresholds: Schema.Struct<{
1392
- readonly lines: Schema.optional<Schema.Number>;
1393
- readonly functions: Schema.optional<Schema.Number>;
1394
- readonly branches: Schema.optional<Schema.Number>;
1395
- readonly statements: Schema.optional<Schema.Number>;
1467
+ readonly lines: Schema.optional<Schema.Finite>;
1468
+ readonly functions: Schema.optional<Schema.Finite>;
1469
+ readonly branches: Schema.optional<Schema.Finite>;
1470
+ readonly statements: Schema.optional<Schema.Finite>;
1396
1471
  readonly perFile: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
1397
- readonly lines: Schema.optional<Schema.Number>;
1398
- readonly functions: Schema.optional<Schema.Number>;
1399
- readonly branches: Schema.optional<Schema.Number>;
1400
- readonly statements: Schema.optional<Schema.Number>;
1472
+ readonly lines: Schema.optional<Schema.Finite>;
1473
+ readonly functions: Schema.optional<Schema.Finite>;
1474
+ readonly branches: Schema.optional<Schema.Finite>;
1475
+ readonly statements: Schema.optional<Schema.Finite>;
1401
1476
  }>]>>;
1402
1477
  }>;
1403
1478
  /** @public */
@@ -1407,15 +1482,15 @@ export type PatternMetricThresholds = typeof PatternMetricThresholds.Type;
1407
1482
  * @public
1408
1483
  */
1409
1484
  export declare const PatternThresholds: Schema.Tuple<readonly [Schema.String, Schema.Struct<{
1410
- readonly lines: Schema.optional<Schema.Number>;
1411
- readonly functions: Schema.optional<Schema.Number>;
1412
- readonly branches: Schema.optional<Schema.Number>;
1413
- readonly statements: Schema.optional<Schema.Number>;
1485
+ readonly lines: Schema.optional<Schema.Finite>;
1486
+ readonly functions: Schema.optional<Schema.Finite>;
1487
+ readonly branches: Schema.optional<Schema.Finite>;
1488
+ readonly statements: Schema.optional<Schema.Finite>;
1414
1489
  readonly perFile: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
1415
- readonly lines: Schema.optional<Schema.Number>;
1416
- readonly functions: Schema.optional<Schema.Number>;
1417
- readonly branches: Schema.optional<Schema.Number>;
1418
- readonly statements: Schema.optional<Schema.Number>;
1490
+ readonly lines: Schema.optional<Schema.Finite>;
1491
+ readonly functions: Schema.optional<Schema.Finite>;
1492
+ readonly branches: Schema.optional<Schema.Finite>;
1493
+ readonly statements: Schema.optional<Schema.Finite>;
1419
1494
  }>]>>;
1420
1495
  }>]>;
1421
1496
  /** @public */
@@ -1426,27 +1501,27 @@ export type PatternThresholds = typeof PatternThresholds.Type;
1426
1501
  */
1427
1502
  export declare const ResolvedThresholds: Schema.Struct<{
1428
1503
  readonly global: Schema.Struct<{
1429
- readonly lines: Schema.optional<Schema.Number>;
1430
- readonly functions: Schema.optional<Schema.Number>;
1431
- readonly branches: Schema.optional<Schema.Number>;
1432
- readonly statements: Schema.optional<Schema.Number>;
1504
+ readonly lines: Schema.optional<Schema.Finite>;
1505
+ readonly functions: Schema.optional<Schema.Finite>;
1506
+ readonly branches: Schema.optional<Schema.Finite>;
1507
+ readonly statements: Schema.optional<Schema.Finite>;
1433
1508
  }>;
1434
1509
  readonly perFile: Schema.withDecodingDefaultKey<Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
1435
- readonly lines: Schema.optional<Schema.Number>;
1436
- readonly functions: Schema.optional<Schema.Number>;
1437
- readonly branches: Schema.optional<Schema.Number>;
1438
- readonly statements: Schema.optional<Schema.Number>;
1510
+ readonly lines: Schema.optional<Schema.Finite>;
1511
+ readonly functions: Schema.optional<Schema.Finite>;
1512
+ readonly branches: Schema.optional<Schema.Finite>;
1513
+ readonly statements: Schema.optional<Schema.Finite>;
1439
1514
  }>]>, never>;
1440
1515
  readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
1441
- readonly lines: Schema.optional<Schema.Number>;
1442
- readonly functions: Schema.optional<Schema.Number>;
1443
- readonly branches: Schema.optional<Schema.Number>;
1444
- readonly statements: Schema.optional<Schema.Number>;
1516
+ readonly lines: Schema.optional<Schema.Finite>;
1517
+ readonly functions: Schema.optional<Schema.Finite>;
1518
+ readonly branches: Schema.optional<Schema.Finite>;
1519
+ readonly statements: Schema.optional<Schema.Finite>;
1445
1520
  readonly perFile: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
1446
- readonly lines: Schema.optional<Schema.Number>;
1447
- readonly functions: Schema.optional<Schema.Number>;
1448
- readonly branches: Schema.optional<Schema.Number>;
1449
- readonly statements: Schema.optional<Schema.Number>;
1521
+ readonly lines: Schema.optional<Schema.Finite>;
1522
+ readonly functions: Schema.optional<Schema.Finite>;
1523
+ readonly branches: Schema.optional<Schema.Finite>;
1524
+ readonly statements: Schema.optional<Schema.Finite>;
1450
1525
  }>]>>;
1451
1526
  }>]>>, never>;
1452
1527
  }>;
@@ -1477,8 +1552,8 @@ export type Transport = typeof Transport.Type;
1477
1552
  *
1478
1553
  * `detail` is pre-resolved by the plugin (via `DetailResolver`) but
1479
1554
  * reporters that want to override can ignore it. `noColor` is the resolved
1480
- * value of the `NO_COLOR` env var; reporters use it to gate ANSI escapes and
1481
- * OSC-8 hyperlinks.
1555
+ * value of the `NO_COLOR` env var; reporters use it to gate ANSI escapes
1556
+ * (hyperlinks are the kit's decision: `@effected/cli`'s `CliLinks`).
1482
1557
  * @public
1483
1558
  */
1484
1559
  export interface ResolvedReporterConfig {
@@ -1517,6 +1592,21 @@ export interface ResolvedReporterConfig {
1517
1592
  * @internal
1518
1593
  */
1519
1594
  readonly coverageMode: "full" | "ui-only";
1595
+ /**
1596
+ * Whether this run is recorded in the SQLite `data.db` (issue #625).
1597
+ * `false` when the user passed `AgentPlugin({ persist: false })` or
1598
+ * the `VITEST_AGENT_PERSIST` operator override turned persistence
1599
+ * off: the run still renders, but classifications are empty and
1600
+ * coverage carries no baseline delta or trend, because there is no
1601
+ * history to read. Independent of `coverageMode` — a UI-only run
1602
+ * (`coverage.enabled: false`) skips persistence too, with this field
1603
+ * still reporting what the user asked for.
1604
+ *
1605
+ * The plugin always populates it; it is optional only because a
1606
+ * consumer constructing `ResolvedReporterConfig` by hand may omit it,
1607
+ * in which case treat it as `true`.
1608
+ */
1609
+ readonly persist?: boolean;
1520
1610
  readonly detail: DetailLevel;
1521
1611
  readonly noColor: boolean;
1522
1612
  readonly runCommand?: string;
@@ -1548,8 +1638,9 @@ export interface ResolvedReporterConfig {
1548
1638
  * Plugin-provided primitives passed to the reporter factory at construction
1549
1639
  * time. The `std*` prefix marks these as "the plugin gives you these — do
1550
1640
  * not import equivalents yourself"; they are pre-resolved with full context
1551
- * (environment, executor, NO_COLOR, target=stdout) so the reporter doesn't
1552
- * have to re-derive that state.
1641
+ * (environment, executor, NO_COLOR) so the reporter doesn't have to
1642
+ * re-derive that state. File hyperlinks are not among them: the reporter
1643
+ * reads `@effected/cli`'s `CliLinks` from its own environment.
1553
1644
  *
1554
1645
  * The shape is open to additions: future fields (e.g. `stdLogger`,
1555
1646
  * `stdRuntime`) won't break existing reporters because the parameter is a
@@ -1559,12 +1650,6 @@ export interface ResolvedReporterConfig {
1559
1650
  export interface ReporterKit {
1560
1651
  readonly config: ResolvedReporterConfig;
1561
1652
  readonly stdEnv: Environment;
1562
- /**
1563
- * Pre-bound OSC-8 hyperlink helper. The plugin has already decided
1564
- * whether OSC-8 should be enabled (target=stdout, !noColor) so the
1565
- * reporter can call this directly without consulting environment.
1566
- */
1567
- readonly stdOsc8: (url: string, label: string) => string;
1568
1653
  /**
1569
1654
  * Live run-event channel. The plugin publishes one `RunEvent`
1570
1655
  * per Vitest streaming callback (`onTestRunStart`, `onTestModuleStart`,
@@ -1595,6 +1680,13 @@ export interface ReporterKit {
1595
1680
  export interface ReporterRenderInput {
1596
1681
  readonly reports: ReadonlyArray<AgentReport>;
1597
1682
  readonly classifications: ReadonlyMap<string, TestClassification>;
1683
+ /**
1684
+ * Run-level suggested actions for the agent (a `SuggestedAction` event
1685
+ * each), rendered as a compact `Actions:` list after the cell output. The
1686
+ * default reporter feeds them to the synthesizer for every report; absent
1687
+ * when the plugin has nothing to suggest (issue #544).
1688
+ */
1689
+ readonly suggestedActions?: ReadonlyArray<SuggestedActionRecord>;
1598
1690
  readonly trendSummary?: {
1599
1691
  readonly direction: "improving" | "regressing" | "stable";
1600
1692
  readonly runCount: number;
@@ -1934,6 +2026,53 @@ export declare class ProjectIdentityNotResolvableError extends ProjectIdentityNo
1934
2026
  readonly tried: ReadonlyArray<ProjectIdentityCandidate>;
1935
2027
  });
1936
2028
  }
2029
+ /**
2030
+ * Which identity source failed to be read or decoded.
2031
+ *
2032
+ * - `toml` — `vitest-agent.config.toml` was found but could not be read,
2033
+ * parsed, or did not satisfy `VitestAgentConfig`.
2034
+ * - `package-json` — the root `package.json` discovery named could not be
2035
+ * read (other than not existing) or is not valid JSON.
2036
+ * - `workspace` — workspace discovery itself failed inside a workspace (a
2037
+ * malformed manifest, an unexpandable `packages:` pattern); a directory
2038
+ * that sits in no workspace is not an error, it is an absent source.
2039
+ * @public
2040
+ */
2041
+ export type ProjectIdentitySource = "toml" | "package-json" | "workspace";
2042
+ declare const ProjectIdentitySourceError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
2043
+ readonly _tag: "ProjectIdentitySourceError";
2044
+ } & Readonly<A>;
2045
+ /**
2046
+ * Raised by `ProjectIdentity.resolve` when a source that IS present cannot
2047
+ * be used: a malformed `vitest-agent.config.toml`, an unreadable or
2048
+ * malformed root `package.json`, or a workspace manifest discovery rejects.
2049
+ *
2050
+ * Distinct from `ProjectIdentityNotResolvableError`, which means every
2051
+ * source was absent or empty. An operator with a broken config file must
2052
+ * see this rather than silently receive the default identity (issue 321);
2053
+ * `cause` carries the kit's structured failure for callers that branch on
2054
+ * it, and `detail` its one-line message.
2055
+ * @public
2056
+ */
2057
+ export declare class ProjectIdentitySourceError extends ProjectIdentitySourceError_base<{
2058
+ readonly source: ProjectIdentitySource;
2059
+ readonly path: string;
2060
+ readonly detail: string;
2061
+ readonly cause: unknown;
2062
+ }> {
2063
+ constructor(args: {
2064
+ readonly source: ProjectIdentitySource;
2065
+ readonly path: string;
2066
+ readonly detail: string;
2067
+ readonly cause: unknown;
2068
+ });
2069
+ }
2070
+ /**
2071
+ * Every failure `ProjectIdentity.resolve` can surface: no source produced a
2072
+ * value, or a present source could not be used.
2073
+ * @public
2074
+ */
2075
+ export type ProjectIdentityError = ProjectIdentityNotResolvableError | ProjectIdentitySourceError;
1937
2076
  declare const GitCommandError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
1938
2077
  readonly _tag: "GitCommandError";
1939
2078
  } & Readonly<A>;
@@ -2109,21 +2248,21 @@ export interface AgentTreeNode {
2109
2248
  export declare const CoverageBaselines: Schema.Struct<{
2110
2249
  readonly updatedAt: Schema.String;
2111
2250
  readonly global: Schema.Struct<{
2112
- readonly lines: Schema.optional<Schema.Number>;
2113
- readonly functions: Schema.optional<Schema.Number>;
2114
- readonly branches: Schema.optional<Schema.Number>;
2115
- readonly statements: Schema.optional<Schema.Number>;
2251
+ readonly lines: Schema.optional<Schema.Finite>;
2252
+ readonly functions: Schema.optional<Schema.Finite>;
2253
+ readonly branches: Schema.optional<Schema.Finite>;
2254
+ readonly statements: Schema.optional<Schema.Finite>;
2116
2255
  }>;
2117
2256
  readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
2118
- readonly lines: Schema.optional<Schema.Number>;
2119
- readonly functions: Schema.optional<Schema.Number>;
2120
- readonly branches: Schema.optional<Schema.Number>;
2121
- readonly statements: Schema.optional<Schema.Number>;
2257
+ readonly lines: Schema.optional<Schema.Finite>;
2258
+ readonly functions: Schema.optional<Schema.Finite>;
2259
+ readonly branches: Schema.optional<Schema.Finite>;
2260
+ readonly statements: Schema.optional<Schema.Finite>;
2122
2261
  readonly perFile: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
2123
- readonly lines: Schema.optional<Schema.Number>;
2124
- readonly functions: Schema.optional<Schema.Number>;
2125
- readonly branches: Schema.optional<Schema.Number>;
2126
- readonly statements: Schema.optional<Schema.Number>;
2262
+ readonly lines: Schema.optional<Schema.Finite>;
2263
+ readonly functions: Schema.optional<Schema.Finite>;
2264
+ readonly branches: Schema.optional<Schema.Finite>;
2265
+ readonly statements: Schema.optional<Schema.Finite>;
2127
2266
  }>]>>;
2128
2267
  }>]>>, never>;
2129
2268
  }>;
@@ -2395,16 +2534,46 @@ export type ChannelEvent = typeof ChannelEvent.Type;
2395
2534
  export declare const BehaviorScopedEventTypes: readonly ["behavior_started", "phase_transition", "behavior_completed", "behavior_abandoned", "blocked"];
2396
2535
  /** @public */
2397
2536
  export type BehaviorScopedEventType = (typeof BehaviorScopedEventTypes)[number];
2537
+ declare const RetentionConfig_base: Schema.Class<RetentionConfig, Schema.Struct<{
2538
+ readonly enabled: Schema.optionalKey<Schema.Boolean>;
2539
+ readonly keepRuns: Schema.optionalKey<Schema.Int>;
2540
+ readonly maxAgeDays: Schema.optionalKey<Schema.Int>;
2541
+ }>, {}>;
2542
+ /**
2543
+ * The optional `[retention]` table of `vitest-agent.config.toml`: how many
2544
+ * `test_runs` rows (and their cascaded modules, cases, errors, coverage
2545
+ * rows) the per-project `data.db` keeps.
2546
+ *
2547
+ * Every field is optional. An absent table means the default policy
2548
+ * (`RunRetentionPolicy.DEFAULT_KEEP_RUNS` newest runs per project, no age
2549
+ * limit); `enabled = false` turns run pruning off entirely.
2550
+ *
2551
+ * Fields:
2552
+ * - `enabled` — `false` disables run retention. Defaults to `true`.
2553
+ * - `keepRuns` — the newest N runs per project to keep. A positive integer;
2554
+ * defaults to `RunRetentionPolicy.DEFAULT_KEEP_RUNS`.
2555
+ * - `maxAgeDays` — additionally drop any run older than this many days,
2556
+ * even inside the newest N. A positive integer; no age limit by default.
2557
+ *
2558
+ * @remarks
2559
+ * `keepRuns = 0` is rejected rather than read as "keep nothing": the run
2560
+ * being written is always kept, and `enabled = false` is the explicit
2561
+ * off switch, so a zero would have two readings.
2562
+ * @public
2563
+ */
2564
+ export declare class RetentionConfig extends RetentionConfig_base {}
2398
2565
  declare const VitestAgentConfig_base: Schema.Class<VitestAgentConfig, Schema.Struct<{
2399
2566
  readonly cacheDir: Schema.optional<Schema.String>;
2400
2567
  readonly projectKey: Schema.optional<Schema.String>;
2568
+ readonly retention: Schema.optionalKey<typeof RetentionConfig>;
2401
2569
  }>, {}>;
2402
2570
  /**
2403
2571
  * Schema for the optional `vitest-agent.config.toml` file.
2404
2572
  *
2405
- * Both fields are optional. When the file is absent or these fields are
2573
+ * Every field is optional. When the file is absent or these fields are
2406
2574
  * unset, `resolveDataPath` falls back to deriving the path from the
2407
- * workspace's `package.json` `name` under the XDG data directory.
2575
+ * workspace's `package.json` `name` under the XDG data directory, and run
2576
+ * retention uses the default policy.
2408
2577
  *
2409
2578
  * Fields:
2410
2579
  * - `cacheDir` — absolute path overriding the entire data directory. Highest
@@ -2415,9 +2584,39 @@ declare const VitestAgentConfig_base: Schema.Class<VitestAgentConfig, Schema.Str
2415
2584
  * directory. Use this when two unrelated projects on the same machine
2416
2585
  * share a `package.json` `name` (the collision case for workspace-name
2417
2586
  * keying), or when you want a stable key independent of `name` changes.
2587
+ * - `retention` — the `[retention]` table; see `RetentionConfig`.
2418
2588
  * @public
2419
2589
  */
2420
2590
  export declare class VitestAgentConfig extends VitestAgentConfig_base {}
2591
+ declare const RunRetentionPolicy_base: Schema.Class<RunRetentionPolicy, Schema.Struct<{
2592
+ readonly keepRuns: Schema.Int;
2593
+ readonly maxAgeDays: Schema.optionalKey<Schema.Int>;
2594
+ }>, {}>;
2595
+ /**
2596
+ * The resolved run-retention policy a `data.db` prune applies: keep the
2597
+ * newest `keepRuns` runs of every project, and drop any run older than
2598
+ * `maxAgeDays` days when set. The run being persisted is never pruned.
2599
+ *
2600
+ * @remarks
2601
+ * The default of 200 runs per project is sized against what reads the
2602
+ * data: failure classification reads the newest 10 `test_history` rows per
2603
+ * test and coverage trends keep 50 entries, so 200 leaves both a wide
2604
+ * margin while bounding a 7k-test suite (about 3 MB per run) to a few
2605
+ * hundred megabytes instead of growing without bound (issue 623, where an
2606
+ * unpruned database reached 880 MB over 4,484 runs). `maxAgeDays` is the
2607
+ * lever for a project that runs rarely but wants a calendar bound.
2608
+ * @public
2609
+ */
2610
+ export declare class RunRetentionPolicy extends RunRetentionPolicy_base {
2611
+ /** Newest runs per project kept when the config names no `keepRuns`. */
2612
+ static readonly DEFAULT_KEEP_RUNS = 200;
2613
+ /**
2614
+ * Resolve the policy a loaded config asks for: `Option.none()` when
2615
+ * `retention.enabled` is `false`, otherwise the configured values over
2616
+ * the defaults.
2617
+ */
2618
+ static fromConfig(config: VitestAgentConfig): Option.Option<RunRetentionPolicy>;
2619
+ }
2421
2620
  /**
2422
2621
  * Per-file stray-console-output detail. Counts are of console writes
2423
2622
  * (one `console.*` call), not lines.
@@ -2425,8 +2624,8 @@ export declare class VitestAgentConfig extends VitestAgentConfig_base {}
2425
2624
  */
2426
2625
  export declare const ConsoleLeakFile: Schema.Struct<{
2427
2626
  readonly file: Schema.String;
2428
- readonly stdout: Schema.Number;
2429
- readonly stderr: Schema.Number;
2627
+ readonly stdout: Schema.Finite;
2628
+ readonly stderr: Schema.Finite;
2430
2629
  readonly tests: Schema.optional<Schema.$Array<Schema.String>>;
2431
2630
  readonly sample: Schema.optional<Schema.String>;
2432
2631
  }>;
@@ -2441,8 +2640,8 @@ export type ConsoleLeakFile = typeof ConsoleLeakFile.Type;
2441
2640
  * @public
2442
2641
  */
2443
2642
  export declare const ConsoleLeaksFromFailingTests: Schema.Struct<{
2444
- readonly total: Schema.Number;
2445
- readonly files: Schema.Number;
2643
+ readonly total: Schema.Finite;
2644
+ readonly files: Schema.Finite;
2446
2645
  }>;
2447
2646
  /** @public */
2448
2647
  export type ConsoleLeaksFromFailingTests = typeof ConsoleLeaksFromFailingTests.Type;
@@ -2456,18 +2655,18 @@ export type ConsoleLeaksFromFailingTests = typeof ConsoleLeaksFromFailingTests.T
2456
2655
  * @public
2457
2656
  */
2458
2657
  export declare const ConsoleLeaks: Schema.Struct<{
2459
- readonly total: Schema.Number;
2658
+ readonly total: Schema.Finite;
2460
2659
  readonly byFile: Schema.$Array<Schema.Struct<{
2461
2660
  readonly file: Schema.String;
2462
- readonly stdout: Schema.Number;
2463
- readonly stderr: Schema.Number;
2661
+ readonly stdout: Schema.Finite;
2662
+ readonly stderr: Schema.Finite;
2464
2663
  readonly tests: Schema.optional<Schema.$Array<Schema.String>>;
2465
2664
  readonly sample: Schema.optional<Schema.String>;
2466
2665
  }>>;
2467
2666
  readonly truncated: Schema.optional<Schema.Boolean>;
2468
2667
  readonly fromFailingTests: Schema.optional<Schema.Struct<{
2469
- readonly total: Schema.Number;
2470
- readonly files: Schema.Number;
2668
+ readonly total: Schema.Finite;
2669
+ readonly files: Schema.Finite;
2471
2670
  }>>;
2472
2671
  }>;
2473
2672
  /** @public */
@@ -2546,10 +2745,10 @@ export declare const CoverageTargetsMetrics: Schema.Struct<{
2546
2745
  readonly statements: Schema.optional<Schema.Number>;
2547
2746
  readonly 100: Schema.optional<Schema.Literal<true>>;
2548
2747
  readonly perFile: Schema.optional<Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
2549
- readonly lines: Schema.optional<Schema.Number>;
2550
- readonly functions: Schema.optional<Schema.Number>;
2551
- readonly branches: Schema.optional<Schema.Number>;
2552
- readonly statements: Schema.optional<Schema.Number>;
2748
+ readonly lines: Schema.optional<Schema.Finite>;
2749
+ readonly functions: Schema.optional<Schema.Finite>;
2750
+ readonly branches: Schema.optional<Schema.Finite>;
2751
+ readonly statements: Schema.optional<Schema.Finite>;
2553
2752
  }>]>>;
2554
2753
  }>;
2555
2754
  /** @public */
@@ -2578,10 +2777,10 @@ export declare const CoverageTargets: Schema.$Record<Schema.String, Schema.Union
2578
2777
  readonly statements: Schema.optional<Schema.Number>;
2579
2778
  readonly 100: Schema.optional<Schema.Literal<true>>;
2580
2779
  readonly perFile: Schema.optional<Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
2581
- readonly lines: Schema.optional<Schema.Number>;
2582
- readonly functions: Schema.optional<Schema.Number>;
2583
- readonly branches: Schema.optional<Schema.Number>;
2584
- readonly statements: Schema.optional<Schema.Number>;
2780
+ readonly lines: Schema.optional<Schema.Finite>;
2781
+ readonly functions: Schema.optional<Schema.Finite>;
2782
+ readonly branches: Schema.optional<Schema.Finite>;
2783
+ readonly statements: Schema.optional<Schema.Finite>;
2585
2784
  }>]>>;
2586
2785
  }>]>>;
2587
2786
  /** @public */
@@ -2676,10 +2875,10 @@ export type ReportOption = typeof ReportOption.Type;
2676
2875
  /**
2677
2876
  * The 2.0 user-facing options for `AgentPlugin`.
2678
2877
  *
2679
- * Six fields total. Two are function-typed (`reporter`, `onRunEvent`)
2878
+ * Seven fields total. Two are function-typed (`reporter`, `onRunEvent`)
2680
2879
  * and live on the `AgentPluginConstructorOptions` companion interface in
2681
2880
  * `@vitest-agent/plugin` — Effect Schema cannot encode functions cleanly,
2682
- * so the schema-decodable struct carries the four data-shaped fields.
2881
+ * so the schema-decodable struct carries the five data-shaped fields.
2683
2882
  * @public
2684
2883
  */
2685
2884
  export declare const AgentPluginOptions: Schema.Struct<{
@@ -2695,10 +2894,10 @@ export declare const AgentPluginOptions: Schema.Struct<{
2695
2894
  readonly statements: Schema.optional<Schema.Number>;
2696
2895
  readonly 100: Schema.optional<Schema.Literal<true>>;
2697
2896
  readonly perFile: Schema.optional<Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
2698
- readonly lines: Schema.optional<Schema.Number>;
2699
- readonly functions: Schema.optional<Schema.Number>;
2700
- readonly branches: Schema.optional<Schema.Number>;
2701
- readonly statements: Schema.optional<Schema.Number>;
2897
+ readonly lines: Schema.optional<Schema.Finite>;
2898
+ readonly functions: Schema.optional<Schema.Finite>;
2899
+ readonly branches: Schema.optional<Schema.Finite>;
2900
+ readonly statements: Schema.optional<Schema.Finite>;
2702
2901
  }>]>>;
2703
2902
  }>]>>>;
2704
2903
  readonly transport: Schema.optional<Schema.Union<readonly [Schema.Struct<{
@@ -2707,6 +2906,34 @@ export declare const AgentPluginOptions: Schema.Struct<{
2707
2906
  readonly report: Schema.optional<Schema.Union<readonly [Schema.Literal<false>, Schema.Struct<{
2708
2907
  readonly scope: Schema.optional<Schema.String>;
2709
2908
  }>]>>;
2909
+ /**
2910
+ * Whether a run is recorded in the SQLite `data.db` (default `true`).
2911
+ *
2912
+ * `false` is the explicit opt-out for a runner where nothing reads the
2913
+ * database back — a throwaway CI job, say. The run still renders every
2914
+ * console and report-file output, still emits every `RunEvent`, and
2915
+ * Vitest still enforces `coverage.thresholds` through its own
2916
+ * mechanism; only the database writes are skipped: run rows, test
2917
+ * cases, failure history, coverage rows and trends, and the baselines
2918
+ * they feed. Consequences a renderer sees: failure classifications are
2919
+ * empty (there is no history to classify against, so no test is
2920
+ * labelled `stable`, `new-failure`, `persistent`, `flaky` or
2921
+ * `recovered`), and coverage renders without a baseline delta or a
2922
+ * trend line. The `data.db` file is never created or opened.
2923
+ *
2924
+ * The opt-out is never automatic: `CI=true` does not imply it, because
2925
+ * some CI setups cache `data.db` between jobs and query it. The
2926
+ * `VITEST_AGENT_PERSIST` environment variable (`0` / `false` / `off`
2927
+ * to disable, `1` / `true` / `on` to enable) is the operator spelling
2928
+ * for a runner whose config cannot be edited, and it wins over this
2929
+ * option in either direction; any other value is ignored with one
2930
+ * stderr line.
2931
+ *
2932
+ * `coverage.enabled: false` in Vitest's own config already skips
2933
+ * persistence (UI-only mode, Decision 38) — this option is for a run
2934
+ * that keeps coverage on and still wants no database.
2935
+ */
2936
+ readonly persist: Schema.optional<Schema.Boolean>;
2710
2937
  }>;
2711
2938
  /** @public */
2712
2939
  export type AgentPluginOptions = typeof AgentPluginOptions.Type;
@@ -2754,17 +2981,17 @@ export declare const RunReportFile: Schema.Struct<{
2754
2981
  readonly project: Schema.optional<Schema.String>;
2755
2982
  readonly reason: Schema.Literals<readonly ["passed", "failed", "interrupted"]>;
2756
2983
  readonly summary: Schema.Struct<{
2757
- readonly total: Schema.Number;
2758
- readonly passed: Schema.Number;
2759
- readonly failed: Schema.Number;
2760
- readonly skipped: Schema.Number;
2761
- readonly duration: Schema.Number;
2762
- readonly modules: Schema.optional<Schema.Number>;
2984
+ readonly total: Schema.Finite;
2985
+ readonly passed: Schema.Finite;
2986
+ readonly failed: Schema.Finite;
2987
+ readonly skipped: Schema.Finite;
2988
+ readonly duration: Schema.Finite;
2989
+ readonly modules: Schema.optional<Schema.Finite>;
2763
2990
  }>;
2764
2991
  readonly failed: Schema.$Array<Schema.Struct<{
2765
2992
  readonly file: Schema.String;
2766
2993
  readonly state: Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>;
2767
- readonly duration: Schema.optional<Schema.Number>;
2994
+ readonly duration: Schema.optional<Schema.Finite>;
2768
2995
  readonly errors: Schema.optional<Schema.$Array<Schema.Struct<{
2769
2996
  readonly message: Schema.String;
2770
2997
  readonly stack: Schema.optional<Schema.String>;
@@ -2776,7 +3003,7 @@ export declare const RunReportFile: Schema.Struct<{
2776
3003
  readonly name: Schema.String;
2777
3004
  readonly fullName: Schema.String;
2778
3005
  readonly state: Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>;
2779
- readonly duration: Schema.optional<Schema.Number>;
3006
+ readonly duration: Schema.optional<Schema.Finite>;
2780
3007
  readonly flaky: Schema.optional<Schema.Boolean>;
2781
3008
  readonly slow: Schema.optional<Schema.Boolean>;
2782
3009
  readonly errors: Schema.optional<Schema.$Array<Schema.Struct<{
@@ -2799,81 +3026,81 @@ export declare const RunReportFile: Schema.Struct<{
2799
3026
  readonly failedFiles: Schema.$Array<Schema.String>;
2800
3027
  readonly coverage: Schema.optional<Schema.Struct<{
2801
3028
  readonly totals: Schema.Struct<{
2802
- readonly statements: Schema.Number;
2803
- readonly branches: Schema.Number;
2804
- readonly functions: Schema.Number;
2805
- readonly lines: Schema.Number;
3029
+ readonly statements: Schema.Finite;
3030
+ readonly branches: Schema.Finite;
3031
+ readonly functions: Schema.Finite;
3032
+ readonly lines: Schema.Finite;
2806
3033
  }>;
2807
3034
  readonly thresholds: Schema.Struct<{
2808
3035
  readonly global: Schema.Struct<{
2809
- readonly lines: Schema.optional<Schema.Number>;
2810
- readonly functions: Schema.optional<Schema.Number>;
2811
- readonly branches: Schema.optional<Schema.Number>;
2812
- readonly statements: Schema.optional<Schema.Number>;
3036
+ readonly lines: Schema.optional<Schema.Finite>;
3037
+ readonly functions: Schema.optional<Schema.Finite>;
3038
+ readonly branches: Schema.optional<Schema.Finite>;
3039
+ readonly statements: Schema.optional<Schema.Finite>;
2813
3040
  }>;
2814
3041
  readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
2815
- readonly lines: Schema.optional<Schema.Number>;
2816
- readonly functions: Schema.optional<Schema.Number>;
2817
- readonly branches: Schema.optional<Schema.Number>;
2818
- readonly statements: Schema.optional<Schema.Number>;
3042
+ readonly lines: Schema.optional<Schema.Finite>;
3043
+ readonly functions: Schema.optional<Schema.Finite>;
3044
+ readonly branches: Schema.optional<Schema.Finite>;
3045
+ readonly statements: Schema.optional<Schema.Finite>;
2819
3046
  readonly perFile: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
2820
- readonly lines: Schema.optional<Schema.Number>;
2821
- readonly functions: Schema.optional<Schema.Number>;
2822
- readonly branches: Schema.optional<Schema.Number>;
2823
- readonly statements: Schema.optional<Schema.Number>;
3047
+ readonly lines: Schema.optional<Schema.Finite>;
3048
+ readonly functions: Schema.optional<Schema.Finite>;
3049
+ readonly branches: Schema.optional<Schema.Finite>;
3050
+ readonly statements: Schema.optional<Schema.Finite>;
2824
3051
  }>]>>;
2825
3052
  }>]>>, never>;
2826
3053
  }>;
2827
3054
  readonly targets: Schema.optional<Schema.Struct<{
2828
3055
  readonly global: Schema.Struct<{
2829
- readonly lines: Schema.optional<Schema.Number>;
2830
- readonly functions: Schema.optional<Schema.Number>;
2831
- readonly branches: Schema.optional<Schema.Number>;
2832
- readonly statements: Schema.optional<Schema.Number>;
3056
+ readonly lines: Schema.optional<Schema.Finite>;
3057
+ readonly functions: Schema.optional<Schema.Finite>;
3058
+ readonly branches: Schema.optional<Schema.Finite>;
3059
+ readonly statements: Schema.optional<Schema.Finite>;
2833
3060
  }>;
2834
3061
  readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
2835
- readonly lines: Schema.optional<Schema.Number>;
2836
- readonly functions: Schema.optional<Schema.Number>;
2837
- readonly branches: Schema.optional<Schema.Number>;
2838
- readonly statements: Schema.optional<Schema.Number>;
3062
+ readonly lines: Schema.optional<Schema.Finite>;
3063
+ readonly functions: Schema.optional<Schema.Finite>;
3064
+ readonly branches: Schema.optional<Schema.Finite>;
3065
+ readonly statements: Schema.optional<Schema.Finite>;
2839
3066
  readonly perFile: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
2840
- readonly lines: Schema.optional<Schema.Number>;
2841
- readonly functions: Schema.optional<Schema.Number>;
2842
- readonly branches: Schema.optional<Schema.Number>;
2843
- readonly statements: Schema.optional<Schema.Number>;
3067
+ readonly lines: Schema.optional<Schema.Finite>;
3068
+ readonly functions: Schema.optional<Schema.Finite>;
3069
+ readonly branches: Schema.optional<Schema.Finite>;
3070
+ readonly statements: Schema.optional<Schema.Finite>;
2844
3071
  }>]>>;
2845
3072
  }>]>>, never>;
2846
3073
  }>>;
2847
3074
  readonly baselines: Schema.optional<Schema.Struct<{
2848
3075
  readonly global: Schema.Struct<{
2849
- readonly lines: Schema.optional<Schema.Number>;
2850
- readonly functions: Schema.optional<Schema.Number>;
2851
- readonly branches: Schema.optional<Schema.Number>;
2852
- readonly statements: Schema.optional<Schema.Number>;
3076
+ readonly lines: Schema.optional<Schema.Finite>;
3077
+ readonly functions: Schema.optional<Schema.Finite>;
3078
+ readonly branches: Schema.optional<Schema.Finite>;
3079
+ readonly statements: Schema.optional<Schema.Finite>;
2853
3080
  }>;
2854
3081
  readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
2855
- readonly lines: Schema.optional<Schema.Number>;
2856
- readonly functions: Schema.optional<Schema.Number>;
2857
- readonly branches: Schema.optional<Schema.Number>;
2858
- readonly statements: Schema.optional<Schema.Number>;
3082
+ readonly lines: Schema.optional<Schema.Finite>;
3083
+ readonly functions: Schema.optional<Schema.Finite>;
3084
+ readonly branches: Schema.optional<Schema.Finite>;
3085
+ readonly statements: Schema.optional<Schema.Finite>;
2859
3086
  readonly perFile: Schema.optionalKey<Schema.Union<readonly [Schema.Boolean, Schema.Struct<{
2860
- readonly lines: Schema.optional<Schema.Number>;
2861
- readonly functions: Schema.optional<Schema.Number>;
2862
- readonly branches: Schema.optional<Schema.Number>;
2863
- readonly statements: Schema.optional<Schema.Number>;
3087
+ readonly lines: Schema.optional<Schema.Finite>;
3088
+ readonly functions: Schema.optional<Schema.Finite>;
3089
+ readonly branches: Schema.optional<Schema.Finite>;
3090
+ readonly statements: Schema.optional<Schema.Finite>;
2864
3091
  }>]>>;
2865
3092
  }>]>>, never>;
2866
3093
  }>>;
2867
3094
  readonly scoped: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
2868
3095
  readonly scopedFiles: Schema.optional<Schema.$Array<Schema.String>>;
2869
- readonly totalFiles: Schema.optional<Schema.Number>;
3096
+ readonly totalFiles: Schema.optional<Schema.Finite>;
2870
3097
  readonly lowCoverage: Schema.$Array<Schema.Struct<{
2871
3098
  readonly file: Schema.String;
2872
3099
  readonly summary: Schema.Struct<{
2873
- readonly statements: Schema.Number;
2874
- readonly branches: Schema.Number;
2875
- readonly functions: Schema.Number;
2876
- readonly lines: Schema.Number;
3100
+ readonly statements: Schema.Finite;
3101
+ readonly branches: Schema.Finite;
3102
+ readonly functions: Schema.Finite;
3103
+ readonly lines: Schema.Finite;
2877
3104
  }>;
2878
3105
  readonly uncoveredLines: Schema.String;
2879
3106
  }>>;
@@ -2881,10 +3108,10 @@ export declare const RunReportFile: Schema.Struct<{
2881
3108
  readonly belowTarget: Schema.optional<Schema.$Array<Schema.Struct<{
2882
3109
  readonly file: Schema.String;
2883
3110
  readonly summary: Schema.Struct<{
2884
- readonly statements: Schema.Number;
2885
- readonly branches: Schema.Number;
2886
- readonly functions: Schema.Number;
2887
- readonly lines: Schema.Number;
3111
+ readonly statements: Schema.Finite;
3112
+ readonly branches: Schema.Finite;
3113
+ readonly functions: Schema.Finite;
3114
+ readonly lines: Schema.Finite;
2888
3115
  }>;
2889
3116
  readonly uncoveredLines: Schema.String;
2890
3117
  }>>>;
@@ -2892,44 +3119,44 @@ export declare const RunReportFile: Schema.Struct<{
2892
3119
  readonly globShortfalls: Schema.optional<Schema.$Array<Schema.Struct<{
2893
3120
  readonly pattern: Schema.String;
2894
3121
  readonly summary: Schema.Struct<{
2895
- readonly statements: Schema.Number;
2896
- readonly branches: Schema.Number;
2897
- readonly functions: Schema.Number;
2898
- readonly lines: Schema.Number;
3122
+ readonly statements: Schema.Finite;
3123
+ readonly branches: Schema.Finite;
3124
+ readonly functions: Schema.Finite;
3125
+ readonly lines: Schema.Finite;
2899
3126
  }>;
2900
3127
  readonly thresholds: Schema.Struct<{
2901
- readonly lines: Schema.optional<Schema.Number>;
2902
- readonly functions: Schema.optional<Schema.Number>;
2903
- readonly branches: Schema.optional<Schema.Number>;
2904
- readonly statements: Schema.optional<Schema.Number>;
3128
+ readonly lines: Schema.optional<Schema.Finite>;
3129
+ readonly functions: Schema.optional<Schema.Finite>;
3130
+ readonly branches: Schema.optional<Schema.Finite>;
3131
+ readonly statements: Schema.optional<Schema.Finite>;
2905
3132
  }>;
2906
3133
  }>>>;
2907
3134
  }>>;
2908
3135
  readonly tagCounts: Schema.optional<Schema.$Record<Schema.String, Schema.Struct<{
2909
- readonly passed: Schema.optional<Schema.Number>;
2910
- readonly failed: Schema.optional<Schema.Number>;
2911
- readonly skipped: Schema.optional<Schema.Number>;
3136
+ readonly passed: Schema.optional<Schema.Finite>;
3137
+ readonly failed: Schema.optional<Schema.Finite>;
3138
+ readonly skipped: Schema.optional<Schema.Finite>;
2912
3139
  }>>>;
2913
3140
  readonly consoleLeaks: Schema.optional<Schema.Struct<{
2914
- readonly total: Schema.Number;
3141
+ readonly total: Schema.Finite;
2915
3142
  readonly byFile: Schema.$Array<Schema.Struct<{
2916
3143
  readonly file: Schema.String;
2917
- readonly stdout: Schema.Number;
2918
- readonly stderr: Schema.Number;
3144
+ readonly stdout: Schema.Finite;
3145
+ readonly stderr: Schema.Finite;
2919
3146
  readonly tests: Schema.optional<Schema.$Array<Schema.String>>;
2920
3147
  readonly sample: Schema.optional<Schema.String>;
2921
3148
  }>>;
2922
3149
  readonly truncated: Schema.optional<Schema.Boolean>;
2923
3150
  readonly fromFailingTests: Schema.optional<Schema.Struct<{
2924
- readonly total: Schema.Number;
2925
- readonly files: Schema.Number;
3151
+ readonly total: Schema.Finite;
3152
+ readonly files: Schema.Finite;
2926
3153
  }>>;
2927
3154
  }>>;
2928
3155
  readonly strayOutput: Schema.optional<Schema.Struct<{
2929
- readonly total: Schema.Number;
2930
- readonly stdout: Schema.Number;
2931
- readonly stderr: Schema.Number;
2932
- readonly bytes: Schema.Number;
3156
+ readonly total: Schema.Finite;
3157
+ readonly stdout: Schema.Finite;
3158
+ readonly stderr: Schema.Finite;
3159
+ readonly bytes: Schema.Finite;
2933
3160
  readonly samples: Schema.$Array<Schema.Struct<{
2934
3161
  readonly stream: Schema.Literals<readonly ["stdout", "stderr"]>;
2935
3162
  readonly text: Schema.String;
@@ -2967,10 +3194,10 @@ export type StrayOutputSample = typeof StrayOutputSample.Type;
2967
3194
  * @public
2968
3195
  */
2969
3196
  export declare const StrayOutput: Schema.Struct<{
2970
- readonly total: Schema.Number;
2971
- readonly stdout: Schema.Number;
2972
- readonly stderr: Schema.Number;
2973
- readonly bytes: Schema.Number;
3197
+ readonly total: Schema.Finite;
3198
+ readonly stdout: Schema.Finite;
3199
+ readonly stderr: Schema.Finite;
3200
+ readonly bytes: Schema.Finite;
2974
3201
  readonly samples: Schema.$Array<Schema.Struct<{
2975
3202
  readonly stream: Schema.Literals<readonly ["stdout", "stderr"]>;
2976
3203
  readonly text: Schema.String;
@@ -3151,16 +3378,16 @@ export type TestArtifact = typeof TestArtifact.Type;
3151
3378
  export declare const TrendEntry: Schema.Struct<{
3152
3379
  readonly timestamp: Schema.String;
3153
3380
  readonly coverage: Schema.Struct<{
3154
- readonly statements: Schema.Number;
3155
- readonly branches: Schema.Number;
3156
- readonly functions: Schema.Number;
3157
- readonly lines: Schema.Number;
3381
+ readonly statements: Schema.Finite;
3382
+ readonly branches: Schema.Finite;
3383
+ readonly functions: Schema.Finite;
3384
+ readonly lines: Schema.Finite;
3158
3385
  }>;
3159
3386
  readonly delta: Schema.Struct<{
3160
- readonly statements: Schema.Number;
3161
- readonly branches: Schema.Number;
3162
- readonly functions: Schema.Number;
3163
- readonly lines: Schema.Number;
3387
+ readonly statements: Schema.Finite;
3388
+ readonly branches: Schema.Finite;
3389
+ readonly functions: Schema.Finite;
3390
+ readonly lines: Schema.Finite;
3164
3391
  }>;
3165
3392
  readonly direction: Schema.Literals<readonly ["improving", "regressing", "stable"]>;
3166
3393
  readonly targetsHash: Schema.optional<Schema.String>;
@@ -3175,16 +3402,16 @@ export declare const TrendRecord: Schema.Struct<{
3175
3402
  readonly entries: Schema.$Array<Schema.Struct<{
3176
3403
  readonly timestamp: Schema.String;
3177
3404
  readonly coverage: Schema.Struct<{
3178
- readonly statements: Schema.Number;
3179
- readonly branches: Schema.Number;
3180
- readonly functions: Schema.Number;
3181
- readonly lines: Schema.Number;
3405
+ readonly statements: Schema.Finite;
3406
+ readonly branches: Schema.Finite;
3407
+ readonly functions: Schema.Finite;
3408
+ readonly lines: Schema.Finite;
3182
3409
  }>;
3183
3410
  readonly delta: Schema.Struct<{
3184
- readonly statements: Schema.Number;
3185
- readonly branches: Schema.Number;
3186
- readonly functions: Schema.Number;
3187
- readonly lines: Schema.Number;
3411
+ readonly statements: Schema.Finite;
3412
+ readonly branches: Schema.Finite;
3413
+ readonly functions: Schema.Finite;
3414
+ readonly lines: Schema.Finite;
3188
3415
  }>;
3189
3416
  readonly direction: Schema.Literals<readonly ["improving", "regressing", "stable"]>;
3190
3417
  readonly targetsHash: Schema.optional<Schema.String>;
@@ -3707,6 +3934,15 @@ export interface ConsoleLeakTask {
3707
3934
  * @public
3708
3935
  */
3709
3936
  export declare function collectConsoleLeakEntries(files: ReadonlyArray<ConsoleLeakTask>): ConsoleLeakEntry[];
3937
+ /**
3938
+ * The note a renderer prints for a run's console leaks: one line naming the
3939
+ * write count, the file count and the fix, then up to three files with
3940
+ * their stream split and sample, how many files it left out, and the output
3941
+ * from failing tests that the leak count excludes. Empty when the run has no
3942
+ * leak from a passing test (output from failing tests alone is not a leak).
3943
+ * @public
3944
+ */
3945
+ export declare const formatConsoleLeaksNote: (leaks: ConsoleLeaks) => ReadonlyArray<string>;
3710
3946
  /**
3711
3947
  * Lexically detects whether a Vitest/Vite config source text appears to
3712
3948
  * configure a non-default `DiscoverStrategy` — a custom `discoverStrategy`
@@ -3952,12 +4188,6 @@ export interface FunctionBoundary {
3952
4188
  * @public
3953
4189
  */
3954
4190
  export declare const findFunctionBoundary: (source: string, line: number) => FunctionBoundary | null;
3955
- /** @public */
3956
- export interface Osc8Options {
3957
- readonly enabled: boolean;
3958
- }
3959
- /** @public */
3960
- export declare const osc8: (url: string, label: string, options: Osc8Options) => string;
3961
4191
  /**
3962
4192
  * Return `true` if the command invokes Vitest in any of the five
3963
4193
  * supported shapes. The `vitestScripts` set carries the names of