@vitest-agent/reporter 1.0.8 → 2.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/LiveInkRenderer.js +1 -1
- package/defaultReporter.js +6 -5
- package/index.d.ts +336 -348
- package/index.js +1 -1
- package/package.json +9 -14
- package/tsdoc-metadata.json +1 -1
package/LiveInkRenderer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SPINNER_FRAME_MS, StreamApp, reduceRenderState, spinnerFrameForTime } from "@vitest-agent/ui";
|
|
2
1
|
import { initialRenderState } from "@vitest-agent/sdk";
|
|
2
|
+
import { SPINNER_FRAME_MS, StreamApp, reduceRenderState, spinnerFrameForTime } from "@vitest-agent/ui";
|
|
3
3
|
import { Box, render, renderToString } from "ink";
|
|
4
4
|
import { createElement } from "react";
|
|
5
5
|
|
package/defaultReporter.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createLiveInk } from "./LiveInkRenderer.js";
|
|
2
|
+
import { countSuiteFailures } from "@vitest-agent/sdk";
|
|
2
3
|
import { classifyOutcome, classifyRunShape, dispatch, dispatcherTable, reduceRenderStateAll, synthesizeFromAgentReport } from "@vitest-agent/ui";
|
|
3
|
-
import { Effect, PubSub
|
|
4
|
+
import { Effect, PubSub } from "effect";
|
|
4
5
|
|
|
5
6
|
//#region src/defaultReporter.ts
|
|
6
7
|
const summarizeProject = (report) => {
|
|
@@ -11,7 +12,7 @@ const summarizeProject = (report) => {
|
|
|
11
12
|
return {
|
|
12
13
|
name: report.project ?? "default",
|
|
13
14
|
passCount: report.summary.passed,
|
|
14
|
-
failCount: report.summary.failed,
|
|
15
|
+
failCount: report.summary.failed + countSuiteFailures(report),
|
|
15
16
|
skipCount: report.summary.skipped,
|
|
16
17
|
durationMs: report.summary.duration,
|
|
17
18
|
...tagCountsHasEntries && collapsedTagCounts !== void 0 ? { tagCounts: collapsedTagCounts } : {},
|
|
@@ -151,7 +152,7 @@ const renderGithubSummary = (input) => {
|
|
|
151
152
|
* at run start — before the plugin publishes the first `RunStarted`
|
|
152
153
|
* event — so the subscription is registered in time. `Effect.runFork`
|
|
153
154
|
* advances the forked fiber up to its first suspension (the
|
|
154
|
-
* `
|
|
155
|
+
* `PubSub.take` below); that suspension point is past `PubSub.subscribe`,
|
|
155
156
|
* so the subscription is live before this function returns. The drain
|
|
156
157
|
* loop runs forever: `createLiveInk` handles `RunFinished` (schedules
|
|
157
158
|
* unmount) and a subsequent `RunStarted` (remounts) itself, so the loop
|
|
@@ -163,8 +164,8 @@ const renderGithubSummary = (input) => {
|
|
|
163
164
|
const subscribeLiveInk = (channel) => {
|
|
164
165
|
const live = createLiveInk();
|
|
165
166
|
Effect.runFork(Effect.scoped(Effect.gen(function* () {
|
|
166
|
-
const
|
|
167
|
-
yield* Effect.forever(
|
|
167
|
+
const subscription = yield* PubSub.subscribe(channel);
|
|
168
|
+
yield* Effect.forever(PubSub.take(subscription).pipe(Effect.flatMap((event) => Effect.sync(() => live.event(event)))));
|
|
168
169
|
})));
|
|
169
170
|
};
|
|
170
171
|
/**
|
package/index.d.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { PubSub, Schema } from "effect";
|
|
2
|
-
import "@
|
|
3
|
-
import "
|
|
4
|
-
import "@
|
|
5
|
-
import "
|
|
6
|
-
import "
|
|
2
|
+
import "@effected/config-file";
|
|
3
|
+
import "effect/unstable/sql/SqlClient";
|
|
4
|
+
import "@effected/workspaces";
|
|
5
|
+
import "@effected/xdg";
|
|
6
|
+
import "effect/unstable/process";
|
|
7
7
|
//#region ../sdk/dist/dev/pkg/index.d.ts
|
|
8
8
|
/**
|
|
9
9
|
* Per-file coverage data including uncovered line ranges.
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
12
12
|
declare const FileCoverageReport: Schema.Struct<{
|
|
13
|
-
file:
|
|
14
|
-
summary: Schema.Struct<{
|
|
15
|
-
statements:
|
|
16
|
-
branches:
|
|
17
|
-
functions:
|
|
18
|
-
lines:
|
|
13
|
+
readonly file: Schema.String;
|
|
14
|
+
readonly summary: Schema.Struct<{
|
|
15
|
+
readonly statements: Schema.Number;
|
|
16
|
+
readonly branches: Schema.Number;
|
|
17
|
+
readonly functions: Schema.Number;
|
|
18
|
+
readonly lines: Schema.Number;
|
|
19
19
|
}>;
|
|
20
|
-
uncoveredLines:
|
|
20
|
+
readonly uncoveredLines: Schema.String;
|
|
21
21
|
}>;
|
|
22
22
|
/** @public */
|
|
23
23
|
type FileCoverageReport = typeof FileCoverageReport.Type;
|
|
@@ -33,30 +33,30 @@ type FileCoverageReport = typeof FileCoverageReport.Type;
|
|
|
33
33
|
* @public
|
|
34
34
|
*/
|
|
35
35
|
declare const RenderState: Schema.Struct<{
|
|
36
|
-
phase: Schema.
|
|
37
|
-
runId: Schema.NullOr<
|
|
38
|
-
configHash: Schema.NullOr<
|
|
39
|
-
startedAt: Schema.NullOr<
|
|
40
|
-
finishedAt: Schema.NullOr<
|
|
41
|
-
modules: Schema
|
|
42
|
-
modulePath:
|
|
43
|
-
status: Schema.
|
|
44
|
-
passCount:
|
|
45
|
-
failCount:
|
|
46
|
-
skipCount:
|
|
47
|
-
timeoutCount:
|
|
48
|
-
durationMs:
|
|
49
|
-
tests: Schema
|
|
50
|
-
testName:
|
|
51
|
-
suitePath: Schema
|
|
52
|
-
status: Schema.Union<[Schema.
|
|
53
|
-
durationMs: Schema.NullOr<
|
|
54
|
-
error: Schema.optional<Schema.Struct<{
|
|
55
|
-
message:
|
|
56
|
-
stack: Schema.optional<
|
|
57
|
-
diff: Schema.optional<
|
|
58
|
-
expected: Schema.optional<
|
|
59
|
-
received: Schema.optional<
|
|
36
|
+
readonly phase: Schema.Literals<readonly ["idle", "running", "finished", "timed-out"]>;
|
|
37
|
+
readonly runId: Schema.NullOr<Schema.String>;
|
|
38
|
+
readonly configHash: Schema.NullOr<Schema.String>;
|
|
39
|
+
readonly startedAt: Schema.NullOr<Schema.String>;
|
|
40
|
+
readonly finishedAt: Schema.NullOr<Schema.String>;
|
|
41
|
+
readonly modules: Schema.$Record<Schema.String, Schema.Struct<{
|
|
42
|
+
readonly modulePath: Schema.String;
|
|
43
|
+
readonly status: Schema.Literals<readonly ["queued", "running", "finished"]>;
|
|
44
|
+
readonly passCount: Schema.Number;
|
|
45
|
+
readonly failCount: Schema.Number;
|
|
46
|
+
readonly skipCount: Schema.Number;
|
|
47
|
+
readonly timeoutCount: Schema.Number;
|
|
48
|
+
readonly durationMs: Schema.Number;
|
|
49
|
+
readonly tests: Schema.$Array<Schema.Struct<{
|
|
50
|
+
readonly testName: Schema.String;
|
|
51
|
+
readonly suitePath: Schema.$Array<Schema.String>;
|
|
52
|
+
readonly status: Schema.Union<readonly [Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>, Schema.Literals<readonly ["running", "timed-out"]>]>;
|
|
53
|
+
readonly durationMs: Schema.NullOr<Schema.Number>;
|
|
54
|
+
readonly error: Schema.optional<Schema.Struct<{
|
|
55
|
+
readonly message: Schema.String;
|
|
56
|
+
readonly stack: Schema.optional<Schema.String>;
|
|
57
|
+
readonly diff: Schema.optional<Schema.String>;
|
|
58
|
+
readonly expected: Schema.optional<Schema.String>;
|
|
59
|
+
readonly received: Schema.optional<Schema.String>;
|
|
60
60
|
}>>;
|
|
61
61
|
}>>;
|
|
62
62
|
/**
|
|
@@ -64,76 +64,76 @@ declare const RenderState: Schema.Struct<{
|
|
|
64
64
|
* configs or older replays leave it `undefined`, which the renderer
|
|
65
65
|
* treats as a single anonymous project.
|
|
66
66
|
*/
|
|
67
|
-
projectName: Schema.optional<
|
|
67
|
+
readonly projectName: Schema.optional<Schema.String>;
|
|
68
68
|
/**
|
|
69
69
|
* ISO wall-clock stamp captured at `onTestModuleStart`. The live
|
|
70
70
|
* renderer derives a ticking elapsed column from it while the module
|
|
71
71
|
* runs; once finished it shows `durationMs` instead. Optional — a
|
|
72
72
|
* module seeded by `ModuleQueued` (or replayed) has no start stamp.
|
|
73
73
|
*/
|
|
74
|
-
startedAt: Schema.optional<
|
|
75
|
-
tagCounts: Schema.optional<Schema
|
|
74
|
+
readonly startedAt: Schema.optional<Schema.String>;
|
|
75
|
+
readonly tagCounts: Schema.optional<Schema.$Record<Schema.String, Schema.Number>>;
|
|
76
76
|
}>>;
|
|
77
|
-
moduleOrder: Schema
|
|
78
|
-
totals: Schema.Struct<{
|
|
79
|
-
passCount:
|
|
80
|
-
failCount:
|
|
81
|
-
skipCount:
|
|
82
|
-
timeoutCount:
|
|
83
|
-
durationMs:
|
|
77
|
+
readonly moduleOrder: Schema.$Array<Schema.String>;
|
|
78
|
+
readonly totals: Schema.Struct<{
|
|
79
|
+
readonly passCount: Schema.Number;
|
|
80
|
+
readonly failCount: Schema.Number;
|
|
81
|
+
readonly skipCount: Schema.Number;
|
|
82
|
+
readonly timeoutCount: Schema.Number;
|
|
83
|
+
readonly durationMs: Schema.Number;
|
|
84
84
|
}>;
|
|
85
|
-
coverage: Schema.NullOr<Schema.Struct<{
|
|
86
|
-
metrics: Schema.Struct<{
|
|
87
|
-
statements:
|
|
88
|
-
branches:
|
|
89
|
-
functions:
|
|
90
|
-
lines:
|
|
85
|
+
readonly coverage: Schema.NullOr<Schema.Struct<{
|
|
86
|
+
readonly metrics: Schema.Struct<{
|
|
87
|
+
readonly statements: Schema.Number;
|
|
88
|
+
readonly branches: Schema.Number;
|
|
89
|
+
readonly functions: Schema.Number;
|
|
90
|
+
readonly lines: Schema.Number;
|
|
91
91
|
}>;
|
|
92
|
-
thresholds: Schema.Struct<{
|
|
93
|
-
lines: Schema.optional<
|
|
94
|
-
functions: Schema.optional<
|
|
95
|
-
branches: Schema.optional<
|
|
96
|
-
statements: Schema.optional<
|
|
92
|
+
readonly thresholds: Schema.Struct<{
|
|
93
|
+
readonly lines: Schema.optional<Schema.Number>;
|
|
94
|
+
readonly functions: Schema.optional<Schema.Number>;
|
|
95
|
+
readonly branches: Schema.optional<Schema.Number>;
|
|
96
|
+
readonly statements: Schema.optional<Schema.Number>;
|
|
97
97
|
}>;
|
|
98
|
-
gaps: Schema
|
|
99
|
-
file:
|
|
100
|
-
missing: Schema.Struct<{
|
|
101
|
-
statements:
|
|
102
|
-
branches:
|
|
103
|
-
functions:
|
|
104
|
-
lines:
|
|
98
|
+
readonly gaps: Schema.$Array<Schema.Struct<{
|
|
99
|
+
readonly file: Schema.String;
|
|
100
|
+
readonly missing: Schema.Struct<{
|
|
101
|
+
readonly statements: Schema.Number;
|
|
102
|
+
readonly branches: Schema.Number;
|
|
103
|
+
readonly functions: Schema.Number;
|
|
104
|
+
readonly lines: Schema.Number;
|
|
105
105
|
}>;
|
|
106
|
-
uncoveredLines: Schema.optional<
|
|
106
|
+
readonly uncoveredLines: Schema.optional<Schema.String>;
|
|
107
107
|
}>>;
|
|
108
|
-
violations: Schema
|
|
109
|
-
metric: Schema.
|
|
110
|
-
expected:
|
|
111
|
-
actual:
|
|
108
|
+
readonly violations: Schema.$Array<Schema.Struct<{
|
|
109
|
+
readonly metric: Schema.Literals<readonly ["lines", "branches", "functions", "statements"]>;
|
|
110
|
+
readonly expected: Schema.Number;
|
|
111
|
+
readonly actual: Schema.Number;
|
|
112
112
|
}>>;
|
|
113
113
|
}>>;
|
|
114
|
-
trend: Schema.NullOr<Schema.Struct<{
|
|
115
|
-
direction: Schema.
|
|
116
|
-
runCount:
|
|
114
|
+
readonly trend: Schema.NullOr<Schema.Struct<{
|
|
115
|
+
readonly direction: Schema.Literals<readonly ["improving", "regressing", "stable"]>;
|
|
116
|
+
readonly runCount: Schema.Number;
|
|
117
117
|
}>>;
|
|
118
|
-
failures: Schema
|
|
119
|
-
modulePath:
|
|
120
|
-
testName:
|
|
121
|
-
suitePath: Schema
|
|
122
|
-
error: Schema.optional<Schema.Struct<{
|
|
123
|
-
message:
|
|
124
|
-
stack: Schema.optional<
|
|
125
|
-
diff: Schema.optional<
|
|
126
|
-
expected: Schema.optional<
|
|
127
|
-
received: Schema.optional<
|
|
118
|
+
readonly failures: Schema.$Array<Schema.Struct<{
|
|
119
|
+
readonly modulePath: Schema.String;
|
|
120
|
+
readonly testName: Schema.String;
|
|
121
|
+
readonly suitePath: Schema.$Array<Schema.String>;
|
|
122
|
+
readonly error: Schema.optional<Schema.Struct<{
|
|
123
|
+
readonly message: Schema.String;
|
|
124
|
+
readonly stack: Schema.optional<Schema.String>;
|
|
125
|
+
readonly diff: Schema.optional<Schema.String>;
|
|
126
|
+
readonly expected: Schema.optional<Schema.String>;
|
|
127
|
+
readonly received: Schema.optional<Schema.String>;
|
|
128
128
|
}>>;
|
|
129
|
-
timedOut: Schema.optional<
|
|
130
|
-
classification: Schema.NullOr<Schema.
|
|
129
|
+
readonly timedOut: Schema.optional<Schema.Boolean>;
|
|
130
|
+
readonly classification: Schema.NullOr<Schema.Literals<readonly ["stable", "new-failure", "persistent", "flaky", "recovered"]>>;
|
|
131
131
|
}>>;
|
|
132
|
-
suggestedActions: Schema
|
|
133
|
-
severity: Schema.
|
|
134
|
-
title:
|
|
135
|
-
detail:
|
|
136
|
-
targetTool: Schema.optional<
|
|
132
|
+
readonly suggestedActions: Schema.$Array<Schema.Struct<{
|
|
133
|
+
readonly severity: Schema.Literals<readonly ["info", "warn", "blocker"]>;
|
|
134
|
+
readonly title: Schema.String;
|
|
135
|
+
readonly detail: Schema.String;
|
|
136
|
+
readonly targetTool: Schema.optional<Schema.String>;
|
|
137
137
|
}>>;
|
|
138
138
|
}>;
|
|
139
139
|
/** @public */
|
|
@@ -265,149 +265,141 @@ interface CellOptions {
|
|
|
265
265
|
* @public
|
|
266
266
|
*/
|
|
267
267
|
declare const AgentReport: Schema.Struct<{
|
|
268
|
-
timestamp:
|
|
269
|
-
project: Schema.optional<
|
|
270
|
-
reason: Schema.
|
|
271
|
-
summary: Schema.Struct<{
|
|
272
|
-
total:
|
|
273
|
-
passed:
|
|
274
|
-
failed:
|
|
275
|
-
skipped:
|
|
276
|
-
duration:
|
|
268
|
+
readonly timestamp: Schema.String;
|
|
269
|
+
readonly project: Schema.optional<Schema.String>;
|
|
270
|
+
readonly reason: Schema.Literals<readonly ["passed", "failed", "interrupted"]>;
|
|
271
|
+
readonly summary: Schema.Struct<{
|
|
272
|
+
readonly total: Schema.Number;
|
|
273
|
+
readonly passed: Schema.Number;
|
|
274
|
+
readonly failed: Schema.Number;
|
|
275
|
+
readonly skipped: Schema.Number;
|
|
276
|
+
readonly duration: Schema.Number;
|
|
277
277
|
}>;
|
|
278
|
-
failed: Schema
|
|
279
|
-
file:
|
|
280
|
-
state: Schema.
|
|
281
|
-
duration: Schema.optional<
|
|
282
|
-
errors: Schema.optional<Schema
|
|
283
|
-
message:
|
|
284
|
-
stack: Schema.optional<
|
|
285
|
-
diff: Schema.optional<
|
|
286
|
-
expected: Schema.optional<
|
|
287
|
-
received: Schema.optional<
|
|
278
|
+
readonly failed: Schema.$Array<Schema.Struct<{
|
|
279
|
+
readonly file: Schema.String;
|
|
280
|
+
readonly state: Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>;
|
|
281
|
+
readonly duration: Schema.optional<Schema.Number>;
|
|
282
|
+
readonly errors: Schema.optional<Schema.$Array<Schema.Struct<{
|
|
283
|
+
readonly message: Schema.String;
|
|
284
|
+
readonly stack: Schema.optional<Schema.String>;
|
|
285
|
+
readonly diff: Schema.optional<Schema.String>;
|
|
286
|
+
readonly expected: Schema.optional<Schema.String>;
|
|
287
|
+
readonly received: Schema.optional<Schema.String>;
|
|
288
288
|
}>>>;
|
|
289
|
-
tests: Schema
|
|
290
|
-
name:
|
|
291
|
-
fullName:
|
|
292
|
-
state: Schema.
|
|
293
|
-
duration: Schema.optional<
|
|
294
|
-
flaky: Schema.optional<
|
|
295
|
-
slow: Schema.optional<
|
|
296
|
-
errors: Schema.optional<Schema
|
|
297
|
-
message:
|
|
298
|
-
stack: Schema.optional<
|
|
299
|
-
diff: Schema.optional<
|
|
300
|
-
expected: Schema.optional<
|
|
301
|
-
received: Schema.optional<
|
|
289
|
+
readonly tests: Schema.$Array<Schema.Struct<{
|
|
290
|
+
readonly name: Schema.String;
|
|
291
|
+
readonly fullName: Schema.String;
|
|
292
|
+
readonly state: Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>;
|
|
293
|
+
readonly duration: Schema.optional<Schema.Number>;
|
|
294
|
+
readonly flaky: Schema.optional<Schema.Boolean>;
|
|
295
|
+
readonly slow: Schema.optional<Schema.Boolean>;
|
|
296
|
+
readonly errors: Schema.optional<Schema.$Array<Schema.Struct<{
|
|
297
|
+
readonly message: Schema.String;
|
|
298
|
+
readonly stack: Schema.optional<Schema.String>;
|
|
299
|
+
readonly diff: Schema.optional<Schema.String>;
|
|
300
|
+
readonly expected: Schema.optional<Schema.String>;
|
|
301
|
+
readonly received: Schema.optional<Schema.String>;
|
|
302
302
|
}>>>;
|
|
303
|
-
classification: Schema.optional<Schema.
|
|
303
|
+
readonly classification: Schema.optional<Schema.Literals<readonly ["stable", "new-failure", "persistent", "flaky", "recovered"]>>;
|
|
304
304
|
}>>;
|
|
305
305
|
}>>;
|
|
306
|
-
unhandledErrors: Schema
|
|
307
|
-
message:
|
|
308
|
-
stack: Schema.optional<
|
|
309
|
-
diff: Schema.optional<
|
|
310
|
-
expected: Schema.optional<
|
|
311
|
-
received: Schema.optional<
|
|
306
|
+
readonly unhandledErrors: Schema.$Array<Schema.Struct<{
|
|
307
|
+
readonly message: Schema.String;
|
|
308
|
+
readonly stack: Schema.optional<Schema.String>;
|
|
309
|
+
readonly diff: Schema.optional<Schema.String>;
|
|
310
|
+
readonly expected: Schema.optional<Schema.String>;
|
|
311
|
+
readonly received: Schema.optional<Schema.String>;
|
|
312
312
|
}>>;
|
|
313
|
-
failedFiles: Schema
|
|
314
|
-
coverage: Schema.optional<Schema.Struct<{
|
|
315
|
-
totals: Schema.Struct<{
|
|
316
|
-
statements:
|
|
317
|
-
branches:
|
|
318
|
-
functions:
|
|
319
|
-
lines:
|
|
313
|
+
readonly failedFiles: Schema.$Array<Schema.String>;
|
|
314
|
+
readonly coverage: Schema.optional<Schema.Struct<{
|
|
315
|
+
readonly totals: Schema.Struct<{
|
|
316
|
+
readonly statements: Schema.Number;
|
|
317
|
+
readonly branches: Schema.Number;
|
|
318
|
+
readonly functions: Schema.Number;
|
|
319
|
+
readonly lines: Schema.Number;
|
|
320
320
|
}>;
|
|
321
|
-
thresholds: Schema.Struct<{
|
|
322
|
-
global: Schema.Struct<{
|
|
323
|
-
lines: Schema.optional<
|
|
324
|
-
functions: Schema.optional<
|
|
325
|
-
branches: Schema.optional<
|
|
326
|
-
statements: Schema.optional<
|
|
327
|
-
}>;
|
|
328
|
-
patterns: Schema.optionalWith<Schema.Array$<Schema.Tuple2<typeof Schema.String, Schema.Struct<{
|
|
329
|
-
lines: Schema.optional<typeof Schema.Number>;
|
|
330
|
-
functions: Schema.optional<typeof Schema.Number>;
|
|
331
|
-
branches: Schema.optional<typeof Schema.Number>;
|
|
332
|
-
statements: Schema.optional<typeof Schema.Number>;
|
|
333
|
-
}>>>, {
|
|
334
|
-
default: () => never[];
|
|
321
|
+
readonly thresholds: Schema.Struct<{
|
|
322
|
+
readonly global: Schema.Struct<{
|
|
323
|
+
readonly lines: Schema.optional<Schema.Number>;
|
|
324
|
+
readonly functions: Schema.optional<Schema.Number>;
|
|
325
|
+
readonly branches: Schema.optional<Schema.Number>;
|
|
326
|
+
readonly statements: Schema.optional<Schema.Number>;
|
|
335
327
|
}>;
|
|
328
|
+
readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
|
|
329
|
+
readonly lines: Schema.optional<Schema.Number>;
|
|
330
|
+
readonly functions: Schema.optional<Schema.Number>;
|
|
331
|
+
readonly branches: Schema.optional<Schema.Number>;
|
|
332
|
+
readonly statements: Schema.optional<Schema.Number>;
|
|
333
|
+
}>]>>, never>;
|
|
336
334
|
}>;
|
|
337
|
-
targets: Schema.optional<Schema.Struct<{
|
|
338
|
-
global: Schema.Struct<{
|
|
339
|
-
lines: Schema.optional<
|
|
340
|
-
functions: Schema.optional<
|
|
341
|
-
branches: Schema.optional<
|
|
342
|
-
statements: Schema.optional<
|
|
343
|
-
}>;
|
|
344
|
-
patterns: Schema.optionalWith<Schema.Array$<Schema.Tuple2<typeof Schema.String, Schema.Struct<{
|
|
345
|
-
lines: Schema.optional<typeof Schema.Number>;
|
|
346
|
-
functions: Schema.optional<typeof Schema.Number>;
|
|
347
|
-
branches: Schema.optional<typeof Schema.Number>;
|
|
348
|
-
statements: Schema.optional<typeof Schema.Number>;
|
|
349
|
-
}>>>, {
|
|
350
|
-
default: () => never[];
|
|
335
|
+
readonly targets: Schema.optional<Schema.Struct<{
|
|
336
|
+
readonly global: Schema.Struct<{
|
|
337
|
+
readonly lines: Schema.optional<Schema.Number>;
|
|
338
|
+
readonly functions: Schema.optional<Schema.Number>;
|
|
339
|
+
readonly branches: Schema.optional<Schema.Number>;
|
|
340
|
+
readonly statements: Schema.optional<Schema.Number>;
|
|
351
341
|
}>;
|
|
342
|
+
readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
|
|
343
|
+
readonly lines: Schema.optional<Schema.Number>;
|
|
344
|
+
readonly functions: Schema.optional<Schema.Number>;
|
|
345
|
+
readonly branches: Schema.optional<Schema.Number>;
|
|
346
|
+
readonly statements: Schema.optional<Schema.Number>;
|
|
347
|
+
}>]>>, never>;
|
|
352
348
|
}>>;
|
|
353
|
-
baselines: Schema.optional<Schema.Struct<{
|
|
354
|
-
global: Schema.Struct<{
|
|
355
|
-
lines: Schema.optional<
|
|
356
|
-
functions: Schema.optional<
|
|
357
|
-
branches: Schema.optional<
|
|
358
|
-
statements: Schema.optional<
|
|
359
|
-
}>;
|
|
360
|
-
patterns: Schema.optionalWith<Schema.Array$<Schema.Tuple2<typeof Schema.String, Schema.Struct<{
|
|
361
|
-
lines: Schema.optional<typeof Schema.Number>;
|
|
362
|
-
functions: Schema.optional<typeof Schema.Number>;
|
|
363
|
-
branches: Schema.optional<typeof Schema.Number>;
|
|
364
|
-
statements: Schema.optional<typeof Schema.Number>;
|
|
365
|
-
}>>>, {
|
|
366
|
-
default: () => never[];
|
|
349
|
+
readonly baselines: Schema.optional<Schema.Struct<{
|
|
350
|
+
readonly global: Schema.Struct<{
|
|
351
|
+
readonly lines: Schema.optional<Schema.Number>;
|
|
352
|
+
readonly functions: Schema.optional<Schema.Number>;
|
|
353
|
+
readonly branches: Schema.optional<Schema.Number>;
|
|
354
|
+
readonly statements: Schema.optional<Schema.Number>;
|
|
367
355
|
}>;
|
|
356
|
+
readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
|
|
357
|
+
readonly lines: Schema.optional<Schema.Number>;
|
|
358
|
+
readonly functions: Schema.optional<Schema.Number>;
|
|
359
|
+
readonly branches: Schema.optional<Schema.Number>;
|
|
360
|
+
readonly statements: Schema.optional<Schema.Number>;
|
|
361
|
+
}>]>>, never>;
|
|
368
362
|
}>>;
|
|
369
|
-
scoped: Schema.
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
functions: typeof Schema.Number;
|
|
379
|
-
lines: typeof Schema.Number;
|
|
363
|
+
readonly scoped: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
|
|
364
|
+
readonly scopedFiles: Schema.optional<Schema.$Array<Schema.String>>;
|
|
365
|
+
readonly lowCoverage: Schema.$Array<Schema.Struct<{
|
|
366
|
+
readonly file: Schema.String;
|
|
367
|
+
readonly summary: Schema.Struct<{
|
|
368
|
+
readonly statements: Schema.Number;
|
|
369
|
+
readonly branches: Schema.Number;
|
|
370
|
+
readonly functions: Schema.Number;
|
|
371
|
+
readonly lines: Schema.Number;
|
|
380
372
|
}>;
|
|
381
|
-
uncoveredLines:
|
|
373
|
+
readonly uncoveredLines: Schema.String;
|
|
382
374
|
}>>;
|
|
383
|
-
lowCoverageFiles: Schema
|
|
384
|
-
belowTarget: Schema.optional<Schema
|
|
385
|
-
file:
|
|
386
|
-
summary: Schema.Struct<{
|
|
387
|
-
statements:
|
|
388
|
-
branches:
|
|
389
|
-
functions:
|
|
390
|
-
lines:
|
|
375
|
+
readonly lowCoverageFiles: Schema.$Array<Schema.String>;
|
|
376
|
+
readonly belowTarget: Schema.optional<Schema.$Array<Schema.Struct<{
|
|
377
|
+
readonly file: Schema.String;
|
|
378
|
+
readonly summary: Schema.Struct<{
|
|
379
|
+
readonly statements: Schema.Number;
|
|
380
|
+
readonly branches: Schema.Number;
|
|
381
|
+
readonly functions: Schema.Number;
|
|
382
|
+
readonly lines: Schema.Number;
|
|
391
383
|
}>;
|
|
392
|
-
uncoveredLines:
|
|
384
|
+
readonly uncoveredLines: Schema.String;
|
|
393
385
|
}>>>;
|
|
394
|
-
belowTargetFiles: Schema.optional<Schema
|
|
386
|
+
readonly belowTargetFiles: Schema.optional<Schema.$Array<Schema.String>>;
|
|
395
387
|
}>>;
|
|
396
|
-
tagCounts: Schema.optional<Schema
|
|
397
|
-
passed: Schema.optional<
|
|
398
|
-
failed: Schema.optional<
|
|
399
|
-
skipped: Schema.optional<
|
|
388
|
+
readonly tagCounts: Schema.optional<Schema.$Record<Schema.String, Schema.Struct<{
|
|
389
|
+
readonly passed: Schema.optional<Schema.Number>;
|
|
390
|
+
readonly failed: Schema.optional<Schema.Number>;
|
|
391
|
+
readonly skipped: Schema.optional<Schema.Number>;
|
|
400
392
|
}>>>;
|
|
401
|
-
consoleLeaks: Schema.optional<Schema.Struct<{
|
|
402
|
-
total:
|
|
403
|
-
byFile: Schema
|
|
404
|
-
file:
|
|
405
|
-
stdout:
|
|
406
|
-
stderr:
|
|
407
|
-
tests: Schema.optional<Schema
|
|
408
|
-
sample: Schema.optional<
|
|
393
|
+
readonly consoleLeaks: Schema.optional<Schema.Struct<{
|
|
394
|
+
readonly total: Schema.Number;
|
|
395
|
+
readonly byFile: Schema.$Array<Schema.Struct<{
|
|
396
|
+
readonly file: Schema.String;
|
|
397
|
+
readonly stdout: Schema.Number;
|
|
398
|
+
readonly stderr: Schema.Number;
|
|
399
|
+
readonly tests: Schema.optional<Schema.$Array<Schema.String>>;
|
|
400
|
+
readonly sample: Schema.optional<Schema.String>;
|
|
409
401
|
}>>;
|
|
410
|
-
truncated: Schema.optional<
|
|
402
|
+
readonly truncated: Schema.optional<Schema.Boolean>;
|
|
411
403
|
}>>;
|
|
412
404
|
}>;
|
|
413
405
|
/** @public */
|
|
@@ -416,7 +408,7 @@ type AgentReport = typeof AgentReport.Type;
|
|
|
416
408
|
* Classification of a test's failure history across runs.
|
|
417
409
|
* @public
|
|
418
410
|
*/
|
|
419
|
-
declare const TestClassification: Schema.
|
|
411
|
+
declare const TestClassification: Schema.Literals<readonly ["stable", "new-failure", "persistent", "flaky", "recovered"]>;
|
|
420
412
|
/** @public */
|
|
421
413
|
type TestClassification = typeof TestClassification.Type;
|
|
422
414
|
/**
|
|
@@ -424,35 +416,35 @@ type TestClassification = typeof TestClassification.Type;
|
|
|
424
416
|
* Useful for type-narrowing in renderers that take the resolved value.
|
|
425
417
|
* @public
|
|
426
418
|
*/
|
|
427
|
-
declare const ConsoleMode: Schema.Union<[Schema.
|
|
419
|
+
declare const ConsoleMode: Schema.Union<readonly [Schema.Literals<readonly ["passthrough", "silent", "stream", "agent"]>, Schema.Literals<readonly ["passthrough", "silent", "agent"]>, Schema.Literals<readonly ["passthrough", "silent", "ci-annotations"]>]>;
|
|
428
420
|
/** @public */
|
|
429
421
|
type ConsoleMode = typeof ConsoleMode.Type;
|
|
430
422
|
/**
|
|
431
423
|
* Runtime environment where tests are being executed.
|
|
432
424
|
* @public
|
|
433
425
|
*/
|
|
434
|
-
declare const Environment: Schema.
|
|
426
|
+
declare const Environment: Schema.Literals<readonly ["agent-shell", "terminal", "ci-github", "ci-generic"]>;
|
|
435
427
|
/** @public */
|
|
436
428
|
type Environment = typeof Environment.Type;
|
|
437
429
|
/**
|
|
438
430
|
* Who or what is executing the test run.
|
|
439
431
|
* @public
|
|
440
432
|
*/
|
|
441
|
-
declare const Executor: Schema.
|
|
433
|
+
declare const Executor: Schema.Literals<readonly ["human", "agent", "ci"]>;
|
|
442
434
|
/** @public */
|
|
443
435
|
type Executor = typeof Executor.Type;
|
|
444
436
|
/**
|
|
445
437
|
* Output format for the reporter pipeline.
|
|
446
438
|
* @public
|
|
447
439
|
*/
|
|
448
|
-
declare const OutputFormat: Schema.
|
|
440
|
+
declare const OutputFormat: Schema.Literals<readonly ["terminal", "markdown", "json", "vitest-bypass", "silent", "ci-annotations"]>;
|
|
449
441
|
/** @public */
|
|
450
442
|
type OutputFormat = typeof OutputFormat.Type;
|
|
451
443
|
/**
|
|
452
444
|
* Level of detail in reporter output.
|
|
453
445
|
* @public
|
|
454
446
|
*/
|
|
455
|
-
declare const DetailLevel: Schema.
|
|
447
|
+
declare const DetailLevel: Schema.Literals<readonly ["minimal", "neutral", "standard", "verbose"]>;
|
|
456
448
|
/** @public */
|
|
457
449
|
type DetailLevel = typeof DetailLevel.Type;
|
|
458
450
|
//#endregion
|
|
@@ -473,144 +465,144 @@ interface RenderedOutput {
|
|
|
473
465
|
* been updated to consume the new state shape.
|
|
474
466
|
* @public
|
|
475
467
|
*/
|
|
476
|
-
declare const RunEvent: Schema.Union<[Schema.TaggedStruct<"RunStarted", {
|
|
477
|
-
runId:
|
|
478
|
-
startedAt:
|
|
479
|
-
configHash:
|
|
468
|
+
declare const RunEvent: Schema.Union<readonly [Schema.TaggedStruct<"RunStarted", {
|
|
469
|
+
readonly runId: Schema.String;
|
|
470
|
+
readonly startedAt: Schema.String;
|
|
471
|
+
readonly configHash: Schema.String;
|
|
480
472
|
}>, Schema.TaggedStruct<"ModuleQueued", {
|
|
481
|
-
modulePath:
|
|
482
|
-
projectName: Schema.optional<
|
|
473
|
+
readonly modulePath: Schema.String;
|
|
474
|
+
readonly projectName: Schema.optional<Schema.String>;
|
|
483
475
|
}>, Schema.TaggedStruct<"ModuleStarted", {
|
|
484
|
-
modulePath:
|
|
485
|
-
startedAt:
|
|
486
|
-
projectName: Schema.optional<
|
|
476
|
+
readonly modulePath: Schema.String;
|
|
477
|
+
readonly startedAt: Schema.String;
|
|
478
|
+
readonly projectName: Schema.optional<Schema.String>;
|
|
487
479
|
}>, Schema.TaggedStruct<"TestStarted", {
|
|
488
|
-
modulePath:
|
|
489
|
-
testName:
|
|
490
|
-
suitePath: Schema
|
|
480
|
+
readonly modulePath: Schema.String;
|
|
481
|
+
readonly testName: Schema.String;
|
|
482
|
+
readonly suitePath: Schema.$Array<Schema.String>;
|
|
491
483
|
}>, Schema.TaggedStruct<"TestFinished", {
|
|
492
|
-
modulePath:
|
|
493
|
-
testName:
|
|
494
|
-
suitePath: Schema
|
|
495
|
-
status: Schema.
|
|
496
|
-
durationMs:
|
|
497
|
-
error: Schema.optional<Schema.Struct<{
|
|
498
|
-
message:
|
|
499
|
-
stack: Schema.optional<
|
|
500
|
-
diff: Schema.optional<
|
|
501
|
-
expected: Schema.optional<
|
|
502
|
-
received: Schema.optional<
|
|
484
|
+
readonly modulePath: Schema.String;
|
|
485
|
+
readonly testName: Schema.String;
|
|
486
|
+
readonly suitePath: Schema.$Array<Schema.String>;
|
|
487
|
+
readonly status: Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>;
|
|
488
|
+
readonly durationMs: Schema.Number;
|
|
489
|
+
readonly error: Schema.optional<Schema.Struct<{
|
|
490
|
+
readonly message: Schema.String;
|
|
491
|
+
readonly stack: Schema.optional<Schema.String>;
|
|
492
|
+
readonly diff: Schema.optional<Schema.String>;
|
|
493
|
+
readonly expected: Schema.optional<Schema.String>;
|
|
494
|
+
readonly received: Schema.optional<Schema.String>;
|
|
503
495
|
}>>;
|
|
504
|
-
timedOut: Schema.optional<
|
|
496
|
+
readonly timedOut: Schema.optional<Schema.Boolean>;
|
|
505
497
|
}>, Schema.TaggedStruct<"ModuleFinished", {
|
|
506
|
-
modulePath:
|
|
507
|
-
passCount:
|
|
508
|
-
failCount:
|
|
509
|
-
skipCount:
|
|
510
|
-
durationMs:
|
|
511
|
-
projectName: Schema.optional<
|
|
512
|
-
timeoutCount: Schema.optional<
|
|
513
|
-
tagCounts: Schema.optional<Schema
|
|
498
|
+
readonly modulePath: Schema.String;
|
|
499
|
+
readonly passCount: Schema.Number;
|
|
500
|
+
readonly failCount: Schema.Number;
|
|
501
|
+
readonly skipCount: Schema.Number;
|
|
502
|
+
readonly durationMs: Schema.Number;
|
|
503
|
+
readonly projectName: Schema.optional<Schema.String>;
|
|
504
|
+
readonly timeoutCount: Schema.optional<Schema.Number>;
|
|
505
|
+
readonly tagCounts: Schema.optional<Schema.$Record<Schema.String, Schema.Number>>;
|
|
514
506
|
}>, Schema.TaggedStruct<"ModuleCollected", {
|
|
515
|
-
modulePath:
|
|
516
|
-
testCount:
|
|
517
|
-
suiteCount:
|
|
507
|
+
readonly modulePath: Schema.String;
|
|
508
|
+
readonly testCount: Schema.Number;
|
|
509
|
+
readonly suiteCount: Schema.Number;
|
|
518
510
|
}>, Schema.TaggedStruct<"SuiteStarted", {
|
|
519
|
-
modulePath:
|
|
520
|
-
suitePath: Schema
|
|
521
|
-
suiteName:
|
|
511
|
+
readonly modulePath: Schema.String;
|
|
512
|
+
readonly suitePath: Schema.$Array<Schema.String>;
|
|
513
|
+
readonly suiteName: Schema.String;
|
|
522
514
|
}>, Schema.TaggedStruct<"SuiteFinished", {
|
|
523
|
-
modulePath:
|
|
524
|
-
suitePath: Schema
|
|
525
|
-
suiteName:
|
|
526
|
-
passCount:
|
|
527
|
-
failCount:
|
|
528
|
-
skipCount:
|
|
515
|
+
readonly modulePath: Schema.String;
|
|
516
|
+
readonly suitePath: Schema.$Array<Schema.String>;
|
|
517
|
+
readonly suiteName: Schema.String;
|
|
518
|
+
readonly passCount: Schema.Number;
|
|
519
|
+
readonly failCount: Schema.Number;
|
|
520
|
+
readonly skipCount: Schema.Number;
|
|
529
521
|
}>, Schema.TaggedStruct<"HookStarted", {
|
|
530
|
-
modulePath:
|
|
531
|
-
hookType: Schema.
|
|
532
|
-
scopeName:
|
|
522
|
+
readonly modulePath: Schema.String;
|
|
523
|
+
readonly hookType: Schema.Literals<readonly ["beforeAll", "afterAll", "beforeEach", "afterEach"]>;
|
|
524
|
+
readonly scopeName: Schema.String;
|
|
533
525
|
}>, Schema.TaggedStruct<"HookFinished", {
|
|
534
|
-
modulePath:
|
|
535
|
-
hookType: Schema.
|
|
536
|
-
scopeName:
|
|
537
|
-
durationMs:
|
|
538
|
-
status: Schema.
|
|
539
|
-
error: Schema.optional<Schema.Struct<{
|
|
540
|
-
message:
|
|
541
|
-
stack: Schema.optional<
|
|
542
|
-
diff: Schema.optional<
|
|
543
|
-
expected: Schema.optional<
|
|
544
|
-
received: Schema.optional<
|
|
526
|
+
readonly modulePath: Schema.String;
|
|
527
|
+
readonly hookType: Schema.Literals<readonly ["beforeAll", "afterAll", "beforeEach", "afterEach"]>;
|
|
528
|
+
readonly scopeName: Schema.String;
|
|
529
|
+
readonly durationMs: Schema.Number;
|
|
530
|
+
readonly status: Schema.Literals<readonly ["passed", "failed"]>;
|
|
531
|
+
readonly error: Schema.optional<Schema.Struct<{
|
|
532
|
+
readonly message: Schema.String;
|
|
533
|
+
readonly stack: Schema.optional<Schema.String>;
|
|
534
|
+
readonly diff: Schema.optional<Schema.String>;
|
|
535
|
+
readonly expected: Schema.optional<Schema.String>;
|
|
536
|
+
readonly received: Schema.optional<Schema.String>;
|
|
545
537
|
}>>;
|
|
546
538
|
}>, Schema.TaggedStruct<"ConsoleLog", {
|
|
547
|
-
modulePath: Schema.optional<
|
|
548
|
-
testName: Schema.optional<
|
|
549
|
-
level: Schema.
|
|
550
|
-
content:
|
|
551
|
-
time:
|
|
539
|
+
readonly modulePath: Schema.optional<Schema.String>;
|
|
540
|
+
readonly testName: Schema.optional<Schema.String>;
|
|
541
|
+
readonly level: Schema.Literals<readonly ["stdout", "stderr"]>;
|
|
542
|
+
readonly content: Schema.String;
|
|
543
|
+
readonly time: Schema.Number;
|
|
552
544
|
}>, Schema.TaggedStruct<"RunTimedOut", {
|
|
553
|
-
message:
|
|
545
|
+
readonly message: Schema.String;
|
|
554
546
|
}>, Schema.TaggedStruct<"TestAnnotated", {
|
|
555
|
-
modulePath:
|
|
556
|
-
testName:
|
|
557
|
-
suitePath: Schema
|
|
558
|
-
annotation:
|
|
547
|
+
readonly modulePath: Schema.String;
|
|
548
|
+
readonly testName: Schema.String;
|
|
549
|
+
readonly suitePath: Schema.$Array<Schema.String>;
|
|
550
|
+
readonly annotation: Schema.String;
|
|
559
551
|
}>, Schema.TaggedStruct<"TestArtifactRecorded", {
|
|
560
|
-
modulePath:
|
|
561
|
-
testName:
|
|
562
|
-
suitePath: Schema
|
|
563
|
-
artifact:
|
|
552
|
+
readonly modulePath: Schema.String;
|
|
553
|
+
readonly testName: Schema.String;
|
|
554
|
+
readonly suitePath: Schema.$Array<Schema.String>;
|
|
555
|
+
readonly artifact: Schema.String;
|
|
564
556
|
}>, Schema.TaggedStruct<"WatcherReady", {}>, Schema.TaggedStruct<"WatcherRerun", {
|
|
565
|
-
triggerFiles: Schema
|
|
566
|
-
reason: Schema.optional<
|
|
557
|
+
readonly triggerFiles: Schema.$Array<Schema.String>;
|
|
558
|
+
readonly reason: Schema.optional<Schema.String>;
|
|
567
559
|
}>, Schema.TaggedStruct<"TrendComputed", {
|
|
568
|
-
direction: Schema.
|
|
569
|
-
runCount:
|
|
560
|
+
readonly direction: Schema.Literals<readonly ["improving", "regressing", "stable"]>;
|
|
561
|
+
readonly runCount: Schema.Number;
|
|
570
562
|
}>, Schema.TaggedStruct<"CoverageReady", {
|
|
571
|
-
metrics: Schema.Struct<{
|
|
572
|
-
statements:
|
|
573
|
-
branches:
|
|
574
|
-
functions:
|
|
575
|
-
lines:
|
|
563
|
+
readonly metrics: Schema.Struct<{
|
|
564
|
+
readonly statements: Schema.Number;
|
|
565
|
+
readonly branches: Schema.Number;
|
|
566
|
+
readonly functions: Schema.Number;
|
|
567
|
+
readonly lines: Schema.Number;
|
|
576
568
|
}>;
|
|
577
|
-
thresholds: Schema.Struct<{
|
|
578
|
-
lines: Schema.optional<
|
|
579
|
-
functions: Schema.optional<
|
|
580
|
-
branches: Schema.optional<
|
|
581
|
-
statements: Schema.optional<
|
|
569
|
+
readonly thresholds: Schema.Struct<{
|
|
570
|
+
readonly lines: Schema.optional<Schema.Number>;
|
|
571
|
+
readonly functions: Schema.optional<Schema.Number>;
|
|
572
|
+
readonly branches: Schema.optional<Schema.Number>;
|
|
573
|
+
readonly statements: Schema.optional<Schema.Number>;
|
|
582
574
|
}>;
|
|
583
|
-
gaps: Schema
|
|
584
|
-
file:
|
|
585
|
-
missing: Schema.Struct<{
|
|
586
|
-
statements:
|
|
587
|
-
branches:
|
|
588
|
-
functions:
|
|
589
|
-
lines:
|
|
575
|
+
readonly gaps: Schema.$Array<Schema.Struct<{
|
|
576
|
+
readonly file: Schema.String;
|
|
577
|
+
readonly missing: Schema.Struct<{
|
|
578
|
+
readonly statements: Schema.Number;
|
|
579
|
+
readonly branches: Schema.Number;
|
|
580
|
+
readonly functions: Schema.Number;
|
|
581
|
+
readonly lines: Schema.Number;
|
|
590
582
|
}>;
|
|
591
|
-
uncoveredLines: Schema.optional<
|
|
583
|
+
readonly uncoveredLines: Schema.optional<Schema.String>;
|
|
592
584
|
}>>;
|
|
593
585
|
}>, Schema.TaggedStruct<"ThresholdViolation", {
|
|
594
|
-
metric: Schema.
|
|
595
|
-
expected:
|
|
596
|
-
actual:
|
|
586
|
+
readonly metric: Schema.Literals<readonly ["lines", "branches", "functions", "statements"]>;
|
|
587
|
+
readonly expected: Schema.Number;
|
|
588
|
+
readonly actual: Schema.Number;
|
|
597
589
|
}>, Schema.TaggedStruct<"FailureClassified", {
|
|
598
|
-
modulePath:
|
|
599
|
-
testName:
|
|
600
|
-
classification: Schema.
|
|
590
|
+
readonly modulePath: Schema.String;
|
|
591
|
+
readonly testName: Schema.String;
|
|
592
|
+
readonly classification: Schema.Literals<readonly ["stable", "new-failure", "persistent", "flaky", "recovered"]>;
|
|
601
593
|
}>, Schema.TaggedStruct<"SuggestedAction", {
|
|
602
|
-
severity: Schema.
|
|
603
|
-
title:
|
|
604
|
-
detail:
|
|
605
|
-
targetTool: Schema.optional<
|
|
594
|
+
readonly severity: Schema.Literals<readonly ["info", "warn", "blocker"]>;
|
|
595
|
+
readonly title: Schema.String;
|
|
596
|
+
readonly detail: Schema.String;
|
|
597
|
+
readonly targetTool: Schema.optional<Schema.String>;
|
|
606
598
|
}>, Schema.TaggedStruct<"RunFinished", {
|
|
607
|
-
runId:
|
|
608
|
-
finishedAt:
|
|
609
|
-
passCount:
|
|
610
|
-
failCount:
|
|
611
|
-
skipCount:
|
|
612
|
-
durationMs:
|
|
613
|
-
timeoutCount: Schema.optional<
|
|
599
|
+
readonly runId: Schema.String;
|
|
600
|
+
readonly finishedAt: Schema.String;
|
|
601
|
+
readonly passCount: Schema.Number;
|
|
602
|
+
readonly failCount: Schema.Number;
|
|
603
|
+
readonly skipCount: Schema.Number;
|
|
604
|
+
readonly durationMs: Schema.Number;
|
|
605
|
+
readonly timeoutCount: Schema.optional<Schema.Number>;
|
|
614
606
|
}>]>;
|
|
615
607
|
/** @public */
|
|
616
608
|
type RunEvent = typeof RunEvent.Type;
|
|
@@ -619,23 +611,19 @@ type RunEvent = typeof RunEvent.Type;
|
|
|
619
611
|
* @public
|
|
620
612
|
*/
|
|
621
613
|
declare const ResolvedThresholds: Schema.Struct<{
|
|
622
|
-
global: Schema.Struct<{
|
|
623
|
-
lines: Schema.optional<
|
|
624
|
-
functions: Schema.optional<
|
|
625
|
-
branches: Schema.optional<
|
|
626
|
-
statements: Schema.optional<
|
|
627
|
-
}>;
|
|
628
|
-
perFile: Schema.optionalWith<typeof Schema.Boolean, {
|
|
629
|
-
default: () => false;
|
|
630
|
-
}>;
|
|
631
|
-
patterns: Schema.optionalWith<Schema.Array$<Schema.Tuple2<typeof Schema.String, Schema.Struct<{
|
|
632
|
-
lines: Schema.optional<typeof Schema.Number>;
|
|
633
|
-
functions: Schema.optional<typeof Schema.Number>;
|
|
634
|
-
branches: Schema.optional<typeof Schema.Number>;
|
|
635
|
-
statements: Schema.optional<typeof Schema.Number>;
|
|
636
|
-
}>>>, {
|
|
637
|
-
default: () => never[];
|
|
614
|
+
readonly global: Schema.Struct<{
|
|
615
|
+
readonly lines: Schema.optional<Schema.Number>;
|
|
616
|
+
readonly functions: Schema.optional<Schema.Number>;
|
|
617
|
+
readonly branches: Schema.optional<Schema.Number>;
|
|
618
|
+
readonly statements: Schema.optional<Schema.Number>;
|
|
638
619
|
}>;
|
|
620
|
+
readonly perFile: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
|
|
621
|
+
readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
|
|
622
|
+
readonly lines: Schema.optional<Schema.Number>;
|
|
623
|
+
readonly functions: Schema.optional<Schema.Number>;
|
|
624
|
+
readonly branches: Schema.optional<Schema.Number>;
|
|
625
|
+
readonly statements: Schema.optional<Schema.Number>;
|
|
626
|
+
}>]>>, never>;
|
|
639
627
|
}>;
|
|
640
628
|
/** @public */
|
|
641
629
|
type ResolvedThresholds = typeof ResolvedThresholds.Type;
|
|
@@ -650,9 +638,9 @@ type ResolvedThresholds = typeof ResolvedThresholds.Type;
|
|
|
650
638
|
* diff and no breaking API change at the call site.
|
|
651
639
|
* @public
|
|
652
640
|
*/
|
|
653
|
-
declare const Transport: Schema.Struct<{
|
|
654
|
-
kind: Schema.Literal<
|
|
655
|
-
}>;
|
|
641
|
+
declare const Transport: Schema.Union<readonly [Schema.Struct<{
|
|
642
|
+
readonly kind: Schema.Literal<"local">;
|
|
643
|
+
}>]>;
|
|
656
644
|
/** @public */
|
|
657
645
|
type Transport = typeof Transport.Type;
|
|
658
646
|
//#endregion
|
package/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import { DefaultVitestAgentReporter, buildDispatchInputs, renderAgentStringForRe
|
|
|
9
9
|
*
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
12
|
-
const CURRENT_REPORTER_VERSION = "
|
|
12
|
+
const CURRENT_REPORTER_VERSION = "2.0.0";
|
|
13
13
|
|
|
14
14
|
//#endregion
|
|
15
15
|
export { CURRENT_REPORTER_VERSION, DefaultVitestAgentReporter, createLiveInk as _createLiveInk, buildDispatchInputs, renderAgentStringForReport, renderHumanStringForReport, resolveCellOptions };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vitest-agent/reporter",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Named VitestAgentReporterFactory implementations for the vitest-agent ecosystem.",
|
|
6
6
|
"keywords": [
|
|
@@ -33,23 +33,18 @@
|
|
|
33
33
|
"exports": {
|
|
34
34
|
".": {
|
|
35
35
|
"types": "./index.d.ts",
|
|
36
|
-
"import": "./index.js"
|
|
36
|
+
"import": "./index.js",
|
|
37
|
+
"default": "./index.js"
|
|
37
38
|
},
|
|
38
39
|
"./package.json": "./package.json"
|
|
39
40
|
},
|
|
40
41
|
"dependencies": {
|
|
41
|
-
"@effect/
|
|
42
|
-
"@effect/
|
|
43
|
-
"@
|
|
44
|
-
"@
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"@effect/sql-sqlite-node": "^0.52.0",
|
|
48
|
-
"@effect/workflow": "^0.18.2",
|
|
49
|
-
"@vitest-agent/sdk": "1.3.4",
|
|
50
|
-
"@vitest-agent/ui": "1.1.2",
|
|
51
|
-
"effect": "^3.21.4",
|
|
52
|
-
"ink": "^7.1.0",
|
|
42
|
+
"@effect/platform-node": "4.0.0-beta.98",
|
|
43
|
+
"@effect/sql-sqlite-node": "4.0.0-beta.98",
|
|
44
|
+
"@vitest-agent/sdk": "2.0.0",
|
|
45
|
+
"@vitest-agent/ui": "2.0.0",
|
|
46
|
+
"effect": "4.0.0-beta.98",
|
|
47
|
+
"ink": "^7.1.1",
|
|
53
48
|
"react": "^19.2.7"
|
|
54
49
|
},
|
|
55
50
|
"peerDependencies": {
|