@vitest-agent/sdk 1.3.4 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/errors/DataStoreError.js +22 -13
  2. package/index.d.ts +1032 -1101
  3. package/index.js +3 -3
  4. package/layers/ConfigLive.js +8 -9
  5. package/layers/DataReaderLive.js +2 -2
  6. package/layers/DataStoreLive.js +2 -2
  7. package/layers/DiscoveryRegistryLive.js +1 -1
  8. package/layers/LoggerLive.js +24 -24
  9. package/layers/PathResolutionLive.js +18 -17
  10. package/layers/PerClientSessionMapLive.js +1 -1
  11. package/layers/ProjectDiscoveryLive.js +1 -2
  12. package/layers/ProjectIdentityLive.js +16 -12
  13. package/layers/RunContextLive.js +20 -20
  14. package/migrations/0001_initial.js +1 -1
  15. package/migrations/registry_0001_initial.js +1 -1
  16. package/migrations/session_map_0001_initial.js +1 -1
  17. package/package.json +18 -18
  18. package/schemas/AgentReport.js +6 -9
  19. package/schemas/Baselines.js +3 -3
  20. package/schemas/CacheManifest.js +2 -2
  21. package/schemas/ChannelEvent.js +30 -3
  22. package/schemas/Common.js +76 -14
  23. package/schemas/ConsoleLeaks.js +2 -2
  24. package/schemas/Coverage.js +8 -8
  25. package/schemas/CoverageTargets.js +16 -10
  26. package/schemas/History.js +4 -4
  27. package/schemas/Identity.js +19 -7
  28. package/schemas/Options.js +3 -3
  29. package/schemas/RenderState.js +26 -19
  30. package/schemas/RunEvent.js +154 -115
  31. package/schemas/Tdd.js +16 -6
  32. package/schemas/Thresholds.js +6 -6
  33. package/schemas/Transport.js +1 -1
  34. package/schemas/Trends.js +7 -3
  35. package/schemas/turns/FileEditPayload.js +5 -1
  36. package/schemas/turns/HookFirePayload.js +15 -1
  37. package/schemas/turns/index.js +9 -1
  38. package/services/Config.js +3 -3
  39. package/services/DataReader.js +1 -1
  40. package/services/DataStore.js +1 -1
  41. package/services/DetailResolver.js +1 -1
  42. package/services/DiscoveryRegistry.js +1 -1
  43. package/services/EnvironmentDetector.js +1 -1
  44. package/services/ExecutorResolver.js +1 -1
  45. package/services/FormatSelector.js +1 -1
  46. package/services/HistoryTracker.js +1 -1
  47. package/services/OutputRenderer.js +1 -1
  48. package/services/PerClientSessionMap.js +2 -2
  49. package/services/ProjectDiscovery.js +1 -1
  50. package/services/ProjectIdentity.js +1 -1
  51. package/services/RunContext.js +1 -1
  52. package/testing/layers.js +2 -2
  53. package/testing.d.ts +312 -332
  54. package/tsdoc-metadata.json +1 -1
  55. package/utils/build-report.js +16 -1
  56. package/utils/ensure-migrated.js +3 -3
  57. package/utils/resolve-data-path.js +3 -3
  58. package/utils/resolve-workspace-key.js +11 -6
package/index.d.ts CHANGED
@@ -1,19 +1,19 @@
1
- import { Context, Effect, Layer, LogLevel, Option, PubSub, Schema } from "effect";
2
- import { CommandExecutor, FileSystem } from "@effect/platform";
3
- import { ConfigFileService } from "config-file-effect";
4
- import { SqlClient } from "@effect/sql/SqlClient";
5
- import { WorkspaceDiscovery, WorkspaceDiscoveryError, WorkspaceRootNotFoundError } from "workspaces-effect";
6
- import { AppDirs } from "xdg-effect";
1
+ import { Context, Effect, FileSystem, Layer, LogLevel, Option, Path, PubSub, Schema } from "effect";
2
+ import { ConfigFileShape } from "@effected/config-file";
3
+ import { SqlClient } from "effect/unstable/sql/SqlClient";
4
+ import { WorkspaceDiscovery, WorkspaceDiscoveryFailure, WorkspaceRootNotFoundError } from "@effected/workspaces";
5
+ import { AppDirs } from "@effected/xdg";
6
+ import { ChildProcessSpawner } from "effect/unstable/process";
7
7
  //#region src/schemas/Coverage.d.ts
8
8
  /**
9
9
  * Aggregate coverage percentages across four istanbul metrics.
10
10
  * @public
11
11
  */
12
12
  declare const CoverageTotals: Schema.Struct<{
13
- statements: typeof Schema.Number;
14
- branches: typeof Schema.Number;
15
- functions: typeof Schema.Number;
16
- lines: typeof Schema.Number;
13
+ readonly statements: Schema.Number;
14
+ readonly branches: Schema.Number;
15
+ readonly functions: Schema.Number;
16
+ readonly lines: Schema.Number;
17
17
  }>;
18
18
  /** @public */
19
19
  type CoverageTotals = typeof CoverageTotals.Type;
@@ -22,14 +22,14 @@ type CoverageTotals = typeof CoverageTotals.Type;
22
22
  * @public
23
23
  */
24
24
  declare const FileCoverageReport: Schema.Struct<{
25
- file: typeof Schema.String;
26
- summary: Schema.Struct<{
27
- statements: typeof Schema.Number;
28
- branches: typeof Schema.Number;
29
- functions: typeof Schema.Number;
30
- lines: typeof Schema.Number;
25
+ readonly file: Schema.String;
26
+ readonly summary: Schema.Struct<{
27
+ readonly statements: Schema.Number;
28
+ readonly branches: Schema.Number;
29
+ readonly functions: Schema.Number;
30
+ readonly lines: Schema.Number;
31
31
  }>;
32
- uncoveredLines: typeof Schema.String;
32
+ readonly uncoveredLines: Schema.String;
33
33
  }>;
34
34
  /** @public */
35
35
  type FileCoverageReport = typeof FileCoverageReport.Type;
@@ -38,86 +38,78 @@ type FileCoverageReport = typeof FileCoverageReport.Type;
38
38
  * @public
39
39
  */
40
40
  declare const CoverageReport: Schema.Struct<{
41
- totals: Schema.Struct<{
42
- statements: typeof Schema.Number;
43
- branches: typeof Schema.Number;
44
- functions: typeof Schema.Number;
45
- lines: typeof Schema.Number;
41
+ readonly totals: Schema.Struct<{
42
+ readonly statements: Schema.Number;
43
+ readonly branches: Schema.Number;
44
+ readonly functions: Schema.Number;
45
+ readonly lines: Schema.Number;
46
46
  }>;
47
- thresholds: Schema.Struct<{
48
- global: Schema.Struct<{
49
- lines: Schema.optional<typeof Schema.Number>;
50
- functions: Schema.optional<typeof Schema.Number>;
51
- branches: Schema.optional<typeof Schema.Number>;
52
- statements: Schema.optional<typeof Schema.Number>;
53
- }>;
54
- patterns: Schema.optionalWith<Schema.Array$<Schema.Tuple2<typeof Schema.String, Schema.Struct<{
55
- lines: Schema.optional<typeof Schema.Number>;
56
- functions: Schema.optional<typeof Schema.Number>;
57
- branches: Schema.optional<typeof Schema.Number>;
58
- statements: Schema.optional<typeof Schema.Number>;
59
- }>>>, {
60
- default: () => never[];
47
+ readonly thresholds: Schema.Struct<{
48
+ readonly global: Schema.Struct<{
49
+ readonly lines: Schema.optional<Schema.Number>;
50
+ readonly functions: Schema.optional<Schema.Number>;
51
+ readonly branches: Schema.optional<Schema.Number>;
52
+ readonly statements: Schema.optional<Schema.Number>;
61
53
  }>;
54
+ readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
55
+ readonly lines: Schema.optional<Schema.Number>;
56
+ readonly functions: Schema.optional<Schema.Number>;
57
+ readonly branches: Schema.optional<Schema.Number>;
58
+ readonly statements: Schema.optional<Schema.Number>;
59
+ }>]>>, never>;
62
60
  }>;
63
- targets: Schema.optional<Schema.Struct<{
64
- global: Schema.Struct<{
65
- lines: Schema.optional<typeof Schema.Number>;
66
- functions: Schema.optional<typeof Schema.Number>;
67
- branches: Schema.optional<typeof Schema.Number>;
68
- statements: Schema.optional<typeof Schema.Number>;
69
- }>;
70
- patterns: Schema.optionalWith<Schema.Array$<Schema.Tuple2<typeof Schema.String, Schema.Struct<{
71
- lines: Schema.optional<typeof Schema.Number>;
72
- functions: Schema.optional<typeof Schema.Number>;
73
- branches: Schema.optional<typeof Schema.Number>;
74
- statements: Schema.optional<typeof Schema.Number>;
75
- }>>>, {
76
- default: () => never[];
61
+ readonly targets: Schema.optional<Schema.Struct<{
62
+ readonly global: Schema.Struct<{
63
+ readonly lines: Schema.optional<Schema.Number>;
64
+ readonly functions: Schema.optional<Schema.Number>;
65
+ readonly branches: Schema.optional<Schema.Number>;
66
+ readonly statements: Schema.optional<Schema.Number>;
77
67
  }>;
68
+ readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
69
+ readonly lines: Schema.optional<Schema.Number>;
70
+ readonly functions: Schema.optional<Schema.Number>;
71
+ readonly branches: Schema.optional<Schema.Number>;
72
+ readonly statements: Schema.optional<Schema.Number>;
73
+ }>]>>, never>;
78
74
  }>>;
79
- baselines: Schema.optional<Schema.Struct<{
80
- global: Schema.Struct<{
81
- lines: Schema.optional<typeof Schema.Number>;
82
- functions: Schema.optional<typeof Schema.Number>;
83
- branches: Schema.optional<typeof Schema.Number>;
84
- statements: Schema.optional<typeof Schema.Number>;
85
- }>;
86
- patterns: Schema.optionalWith<Schema.Array$<Schema.Tuple2<typeof Schema.String, Schema.Struct<{
87
- lines: Schema.optional<typeof Schema.Number>;
88
- functions: Schema.optional<typeof Schema.Number>;
89
- branches: Schema.optional<typeof Schema.Number>;
90
- statements: Schema.optional<typeof Schema.Number>;
91
- }>>>, {
92
- default: () => never[];
75
+ readonly baselines: Schema.optional<Schema.Struct<{
76
+ readonly global: Schema.Struct<{
77
+ readonly lines: Schema.optional<Schema.Number>;
78
+ readonly functions: Schema.optional<Schema.Number>;
79
+ readonly branches: Schema.optional<Schema.Number>;
80
+ readonly statements: Schema.optional<Schema.Number>;
93
81
  }>;
82
+ readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, 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>;
87
+ }>]>>, never>;
94
88
  }>>;
95
- scoped: Schema.optionalWith<typeof Schema.Boolean, {
96
- default: () => false;
97
- }>;
98
- scopedFiles: Schema.optional<Schema.Array$<typeof Schema.String>>;
99
- lowCoverage: Schema.Array$<Schema.Struct<{
100
- file: typeof Schema.String;
101
- summary: Schema.Struct<{
102
- statements: typeof Schema.Number;
103
- branches: typeof Schema.Number;
104
- functions: typeof Schema.Number;
105
- lines: typeof Schema.Number;
89
+ readonly scoped: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
90
+ readonly scopedFiles: Schema.optional<Schema.$Array<Schema.String>>;
91
+ readonly lowCoverage: Schema.$Array<Schema.Struct<{
92
+ readonly file: Schema.String;
93
+ readonly summary: Schema.Struct<{
94
+ readonly statements: Schema.Number;
95
+ readonly branches: Schema.Number;
96
+ readonly functions: Schema.Number;
97
+ readonly lines: Schema.Number;
106
98
  }>;
107
- uncoveredLines: typeof Schema.String;
99
+ readonly uncoveredLines: Schema.String;
108
100
  }>>;
109
- lowCoverageFiles: Schema.Array$<typeof Schema.String>;
110
- belowTarget: Schema.optional<Schema.Array$<Schema.Struct<{
111
- file: typeof Schema.String;
112
- summary: Schema.Struct<{
113
- statements: typeof Schema.Number;
114
- branches: typeof Schema.Number;
115
- functions: typeof Schema.Number;
116
- lines: typeof Schema.Number;
101
+ readonly lowCoverageFiles: Schema.$Array<Schema.String>;
102
+ readonly belowTarget: Schema.optional<Schema.$Array<Schema.Struct<{
103
+ readonly file: Schema.String;
104
+ readonly summary: Schema.Struct<{
105
+ readonly statements: Schema.Number;
106
+ readonly branches: Schema.Number;
107
+ readonly functions: Schema.Number;
108
+ readonly lines: Schema.Number;
117
109
  }>;
118
- uncoveredLines: typeof Schema.String;
110
+ readonly uncoveredLines: Schema.String;
119
111
  }>>>;
120
- belowTargetFiles: Schema.optional<Schema.Array$<typeof Schema.String>>;
112
+ readonly belowTargetFiles: Schema.optional<Schema.$Array<Schema.String>>;
121
113
  }>;
122
114
  /** @public */
123
115
  type CoverageReport = typeof CoverageReport.Type;
@@ -128,16 +120,16 @@ type CoverageReport = typeof CoverageReport.Type;
128
120
  * @public
129
121
  */
130
122
  declare const TestRecord: Schema.Struct<{
131
- testName: typeof Schema.String;
132
- suitePath: Schema.Array$<typeof Schema.String>;
133
- status: Schema.Union<[Schema.Literal<["passed", "failed", "skipped", "pending"]>, Schema.Literal<["running", "timed-out"]>]>;
134
- durationMs: Schema.NullOr<typeof Schema.Number>;
135
- error: Schema.optional<Schema.Struct<{
136
- message: typeof Schema.String;
137
- stack: Schema.optional<typeof Schema.String>;
138
- diff: Schema.optional<typeof Schema.String>;
139
- expected: Schema.optional<typeof Schema.String>;
140
- received: Schema.optional<typeof Schema.String>;
123
+ readonly testName: Schema.String;
124
+ readonly suitePath: Schema.$Array<Schema.String>;
125
+ readonly status: Schema.Union<readonly [Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>, Schema.Literals<readonly ["running", "timed-out"]>]>;
126
+ readonly durationMs: Schema.NullOr<Schema.Number>;
127
+ readonly error: Schema.optional<Schema.Struct<{
128
+ readonly message: Schema.String;
129
+ readonly stack: Schema.optional<Schema.String>;
130
+ readonly diff: Schema.optional<Schema.String>;
131
+ readonly expected: Schema.optional<Schema.String>;
132
+ readonly received: Schema.optional<Schema.String>;
141
133
  }>>;
142
134
  }>;
143
135
  /** @public */
@@ -148,24 +140,24 @@ type TestRecord = typeof TestRecord.Type;
148
140
  * @public
149
141
  */
150
142
  declare const ModuleRecord: Schema.Struct<{
151
- modulePath: typeof Schema.String;
152
- status: Schema.Literal<["queued", "running", "finished"]>;
153
- passCount: typeof Schema.Number;
154
- failCount: typeof Schema.Number;
155
- skipCount: typeof Schema.Number;
156
- timeoutCount: typeof Schema.Number;
157
- durationMs: typeof Schema.Number;
158
- tests: Schema.Array$<Schema.Struct<{
159
- testName: typeof Schema.String;
160
- suitePath: Schema.Array$<typeof Schema.String>;
161
- status: Schema.Union<[Schema.Literal<["passed", "failed", "skipped", "pending"]>, Schema.Literal<["running", "timed-out"]>]>;
162
- durationMs: Schema.NullOr<typeof Schema.Number>;
163
- error: Schema.optional<Schema.Struct<{
164
- message: typeof Schema.String;
165
- stack: Schema.optional<typeof Schema.String>;
166
- diff: Schema.optional<typeof Schema.String>;
167
- expected: Schema.optional<typeof Schema.String>;
168
- received: Schema.optional<typeof Schema.String>;
143
+ readonly modulePath: Schema.String;
144
+ readonly status: Schema.Literals<readonly ["queued", "running", "finished"]>;
145
+ readonly passCount: Schema.Number;
146
+ readonly failCount: Schema.Number;
147
+ readonly skipCount: Schema.Number;
148
+ readonly timeoutCount: Schema.Number;
149
+ readonly durationMs: Schema.Number;
150
+ readonly tests: Schema.$Array<Schema.Struct<{
151
+ readonly testName: Schema.String;
152
+ readonly suitePath: Schema.$Array<Schema.String>;
153
+ readonly status: Schema.Union<readonly [Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>, Schema.Literals<readonly ["running", "timed-out"]>]>;
154
+ readonly durationMs: Schema.NullOr<Schema.Number>;
155
+ readonly error: Schema.optional<Schema.Struct<{
156
+ readonly message: Schema.String;
157
+ readonly stack: Schema.optional<Schema.String>;
158
+ readonly diff: Schema.optional<Schema.String>;
159
+ readonly expected: Schema.optional<Schema.String>;
160
+ readonly received: Schema.optional<Schema.String>;
169
161
  }>>;
170
162
  }>>;
171
163
  /**
@@ -173,15 +165,15 @@ declare const ModuleRecord: Schema.Struct<{
173
165
  * configs or older replays leave it `undefined`, which the renderer
174
166
  * treats as a single anonymous project.
175
167
  */
176
- projectName: Schema.optional<typeof Schema.String>;
168
+ readonly projectName: Schema.optional<Schema.String>;
177
169
  /**
178
170
  * ISO wall-clock stamp captured at `onTestModuleStart`. The live
179
171
  * renderer derives a ticking elapsed column from it while the module
180
172
  * runs; once finished it shows `durationMs` instead. Optional — a
181
173
  * module seeded by `ModuleQueued` (or replayed) has no start stamp.
182
174
  */
183
- startedAt: Schema.optional<typeof Schema.String>;
184
- tagCounts: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
175
+ readonly startedAt: Schema.optional<Schema.String>;
176
+ readonly tagCounts: Schema.optional<Schema.$Record<Schema.String, Schema.Number>>;
185
177
  }>;
186
178
  /** @public */
187
179
  type ModuleRecord = typeof ModuleRecord.Type;
@@ -192,18 +184,18 @@ type ModuleRecord = typeof ModuleRecord.Type;
192
184
  * @public
193
185
  */
194
186
  declare const FailureRecord: Schema.Struct<{
195
- modulePath: typeof Schema.String;
196
- testName: typeof Schema.String;
197
- suitePath: Schema.Array$<typeof Schema.String>;
198
- error: Schema.optional<Schema.Struct<{
199
- message: typeof Schema.String;
200
- stack: Schema.optional<typeof Schema.String>;
201
- diff: Schema.optional<typeof Schema.String>;
202
- expected: Schema.optional<typeof Schema.String>;
203
- received: Schema.optional<typeof Schema.String>;
187
+ readonly modulePath: Schema.String;
188
+ readonly testName: Schema.String;
189
+ readonly suitePath: Schema.$Array<Schema.String>;
190
+ readonly error: Schema.optional<Schema.Struct<{
191
+ readonly message: Schema.String;
192
+ readonly stack: Schema.optional<Schema.String>;
193
+ readonly diff: Schema.optional<Schema.String>;
194
+ readonly expected: Schema.optional<Schema.String>;
195
+ readonly received: Schema.optional<Schema.String>;
204
196
  }>>;
205
- timedOut: Schema.optional<typeof Schema.Boolean>;
206
- classification: Schema.NullOr<Schema.Literal<["stable", "new-failure", "persistent", "flaky", "recovered"]>>;
197
+ readonly timedOut: Schema.optional<Schema.Boolean>;
198
+ readonly classification: Schema.NullOr<Schema.Literals<readonly ["stable", "new-failure", "persistent", "flaky", "recovered"]>>;
207
199
  }>;
208
200
  /** @public */
209
201
  type FailureRecord = typeof FailureRecord.Type;
@@ -213,32 +205,32 @@ type FailureRecord = typeof FailureRecord.Type;
213
205
  * @public
214
206
  */
215
207
  declare const CoverageRenderState: Schema.Struct<{
216
- metrics: Schema.Struct<{
217
- statements: typeof Schema.Number;
218
- branches: typeof Schema.Number;
219
- functions: typeof Schema.Number;
220
- lines: typeof Schema.Number;
208
+ readonly metrics: Schema.Struct<{
209
+ readonly statements: Schema.Number;
210
+ readonly branches: Schema.Number;
211
+ readonly functions: Schema.Number;
212
+ readonly lines: Schema.Number;
221
213
  }>;
222
- thresholds: Schema.Struct<{
223
- lines: Schema.optional<typeof Schema.Number>;
224
- functions: Schema.optional<typeof Schema.Number>;
225
- branches: Schema.optional<typeof Schema.Number>;
226
- statements: Schema.optional<typeof Schema.Number>;
214
+ readonly thresholds: Schema.Struct<{
215
+ readonly lines: Schema.optional<Schema.Number>;
216
+ readonly functions: Schema.optional<Schema.Number>;
217
+ readonly branches: Schema.optional<Schema.Number>;
218
+ readonly statements: Schema.optional<Schema.Number>;
227
219
  }>;
228
- gaps: Schema.Array$<Schema.Struct<{
229
- file: typeof Schema.String;
230
- missing: Schema.Struct<{
231
- statements: typeof Schema.Number;
232
- branches: typeof Schema.Number;
233
- functions: typeof Schema.Number;
234
- lines: typeof Schema.Number;
220
+ readonly gaps: Schema.$Array<Schema.Struct<{
221
+ readonly file: Schema.String;
222
+ readonly missing: Schema.Struct<{
223
+ readonly statements: Schema.Number;
224
+ readonly branches: Schema.Number;
225
+ readonly functions: Schema.Number;
226
+ readonly lines: Schema.Number;
235
227
  }>;
236
- uncoveredLines: Schema.optional<typeof Schema.String>;
228
+ readonly uncoveredLines: Schema.optional<Schema.String>;
237
229
  }>>;
238
- violations: Schema.Array$<Schema.Struct<{
239
- metric: Schema.Literal<["lines", "branches", "functions", "statements"]>;
240
- expected: typeof Schema.Number;
241
- actual: typeof Schema.Number;
230
+ readonly violations: Schema.$Array<Schema.Struct<{
231
+ readonly metric: Schema.Literals<readonly ["lines", "branches", "functions", "statements"]>;
232
+ readonly expected: Schema.Number;
233
+ readonly actual: Schema.Number;
242
234
  }>>;
243
235
  }>;
244
236
  /** @public */
@@ -248,10 +240,10 @@ type CoverageRenderState = typeof CoverageRenderState.Type;
248
240
  * @public
249
241
  */
250
242
  declare const SuggestedActionRecord: Schema.Struct<{
251
- severity: Schema.Literal<["info", "warn", "blocker"]>;
252
- title: typeof Schema.String;
253
- detail: typeof Schema.String;
254
- targetTool: Schema.optional<typeof Schema.String>;
243
+ readonly severity: Schema.Literals<readonly ["info", "warn", "blocker"]>;
244
+ readonly title: Schema.String;
245
+ readonly detail: Schema.String;
246
+ readonly targetTool: Schema.optional<Schema.String>;
255
247
  }>;
256
248
  /** @public */
257
249
  type SuggestedActionRecord = typeof SuggestedActionRecord.Type;
@@ -261,11 +253,11 @@ type SuggestedActionRecord = typeof SuggestedActionRecord.Type;
261
253
  * @public
262
254
  */
263
255
  declare const RenderTotals: Schema.Struct<{
264
- passCount: typeof Schema.Number;
265
- failCount: typeof Schema.Number;
266
- skipCount: typeof Schema.Number;
267
- timeoutCount: typeof Schema.Number;
268
- durationMs: typeof Schema.Number;
256
+ readonly passCount: Schema.Number;
257
+ readonly failCount: Schema.Number;
258
+ readonly skipCount: Schema.Number;
259
+ readonly timeoutCount: Schema.Number;
260
+ readonly durationMs: Schema.Number;
269
261
  }>;
270
262
  /** @public */
271
263
  type RenderTotals = typeof RenderTotals.Type;
@@ -281,30 +273,30 @@ type RenderTotals = typeof RenderTotals.Type;
281
273
  * @public
282
274
  */
283
275
  declare const RenderState: Schema.Struct<{
284
- phase: Schema.Literal<["idle", "running", "finished", "timed-out"]>;
285
- runId: Schema.NullOr<typeof Schema.String>;
286
- configHash: Schema.NullOr<typeof Schema.String>;
287
- startedAt: Schema.NullOr<typeof Schema.String>;
288
- finishedAt: Schema.NullOr<typeof Schema.String>;
289
- modules: Schema.Record$<typeof Schema.String, Schema.Struct<{
290
- modulePath: typeof Schema.String;
291
- status: Schema.Literal<["queued", "running", "finished"]>;
292
- passCount: typeof Schema.Number;
293
- failCount: typeof Schema.Number;
294
- skipCount: typeof Schema.Number;
295
- timeoutCount: typeof Schema.Number;
296
- durationMs: typeof Schema.Number;
297
- tests: Schema.Array$<Schema.Struct<{
298
- testName: typeof Schema.String;
299
- suitePath: Schema.Array$<typeof Schema.String>;
300
- status: Schema.Union<[Schema.Literal<["passed", "failed", "skipped", "pending"]>, Schema.Literal<["running", "timed-out"]>]>;
301
- durationMs: Schema.NullOr<typeof Schema.Number>;
302
- error: Schema.optional<Schema.Struct<{
303
- message: typeof Schema.String;
304
- stack: Schema.optional<typeof Schema.String>;
305
- diff: Schema.optional<typeof Schema.String>;
306
- expected: Schema.optional<typeof Schema.String>;
307
- received: Schema.optional<typeof Schema.String>;
276
+ readonly phase: Schema.Literals<readonly ["idle", "running", "finished", "timed-out"]>;
277
+ readonly runId: Schema.NullOr<Schema.String>;
278
+ readonly configHash: Schema.NullOr<Schema.String>;
279
+ readonly startedAt: Schema.NullOr<Schema.String>;
280
+ readonly finishedAt: Schema.NullOr<Schema.String>;
281
+ readonly modules: Schema.$Record<Schema.String, Schema.Struct<{
282
+ readonly modulePath: Schema.String;
283
+ readonly status: Schema.Literals<readonly ["queued", "running", "finished"]>;
284
+ readonly passCount: Schema.Number;
285
+ readonly failCount: Schema.Number;
286
+ readonly skipCount: Schema.Number;
287
+ readonly timeoutCount: Schema.Number;
288
+ readonly durationMs: Schema.Number;
289
+ readonly tests: Schema.$Array<Schema.Struct<{
290
+ readonly testName: Schema.String;
291
+ readonly suitePath: Schema.$Array<Schema.String>;
292
+ readonly status: Schema.Union<readonly [Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>, Schema.Literals<readonly ["running", "timed-out"]>]>;
293
+ readonly durationMs: Schema.NullOr<Schema.Number>;
294
+ readonly error: Schema.optional<Schema.Struct<{
295
+ readonly message: Schema.String;
296
+ readonly stack: Schema.optional<Schema.String>;
297
+ readonly diff: Schema.optional<Schema.String>;
298
+ readonly expected: Schema.optional<Schema.String>;
299
+ readonly received: Schema.optional<Schema.String>;
308
300
  }>>;
309
301
  }>>;
310
302
  /**
@@ -312,76 +304,76 @@ declare const RenderState: Schema.Struct<{
312
304
  * configs or older replays leave it `undefined`, which the renderer
313
305
  * treats as a single anonymous project.
314
306
  */
315
- projectName: Schema.optional<typeof Schema.String>;
307
+ readonly projectName: Schema.optional<Schema.String>;
316
308
  /**
317
309
  * ISO wall-clock stamp captured at `onTestModuleStart`. The live
318
310
  * renderer derives a ticking elapsed column from it while the module
319
311
  * runs; once finished it shows `durationMs` instead. Optional — a
320
312
  * module seeded by `ModuleQueued` (or replayed) has no start stamp.
321
313
  */
322
- startedAt: Schema.optional<typeof Schema.String>;
323
- tagCounts: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
314
+ readonly startedAt: Schema.optional<Schema.String>;
315
+ readonly tagCounts: Schema.optional<Schema.$Record<Schema.String, Schema.Number>>;
324
316
  }>>;
325
- moduleOrder: Schema.Array$<typeof Schema.String>;
326
- totals: Schema.Struct<{
327
- passCount: typeof Schema.Number;
328
- failCount: typeof Schema.Number;
329
- skipCount: typeof Schema.Number;
330
- timeoutCount: typeof Schema.Number;
331
- durationMs: typeof Schema.Number;
317
+ readonly moduleOrder: Schema.$Array<Schema.String>;
318
+ readonly totals: Schema.Struct<{
319
+ readonly passCount: Schema.Number;
320
+ readonly failCount: Schema.Number;
321
+ readonly skipCount: Schema.Number;
322
+ readonly timeoutCount: Schema.Number;
323
+ readonly durationMs: Schema.Number;
332
324
  }>;
333
- coverage: Schema.NullOr<Schema.Struct<{
334
- metrics: Schema.Struct<{
335
- statements: typeof Schema.Number;
336
- branches: typeof Schema.Number;
337
- functions: typeof Schema.Number;
338
- lines: typeof Schema.Number;
325
+ readonly coverage: Schema.NullOr<Schema.Struct<{
326
+ readonly metrics: Schema.Struct<{
327
+ readonly statements: Schema.Number;
328
+ readonly branches: Schema.Number;
329
+ readonly functions: Schema.Number;
330
+ readonly lines: Schema.Number;
339
331
  }>;
340
- thresholds: Schema.Struct<{
341
- lines: Schema.optional<typeof Schema.Number>;
342
- functions: Schema.optional<typeof Schema.Number>;
343
- branches: Schema.optional<typeof Schema.Number>;
344
- statements: Schema.optional<typeof Schema.Number>;
332
+ readonly thresholds: Schema.Struct<{
333
+ readonly lines: Schema.optional<Schema.Number>;
334
+ readonly functions: Schema.optional<Schema.Number>;
335
+ readonly branches: Schema.optional<Schema.Number>;
336
+ readonly statements: Schema.optional<Schema.Number>;
345
337
  }>;
346
- gaps: Schema.Array$<Schema.Struct<{
347
- file: typeof Schema.String;
348
- missing: Schema.Struct<{
349
- statements: typeof Schema.Number;
350
- branches: typeof Schema.Number;
351
- functions: typeof Schema.Number;
352
- lines: typeof Schema.Number;
338
+ readonly gaps: Schema.$Array<Schema.Struct<{
339
+ readonly file: Schema.String;
340
+ readonly missing: Schema.Struct<{
341
+ readonly statements: Schema.Number;
342
+ readonly branches: Schema.Number;
343
+ readonly functions: Schema.Number;
344
+ readonly lines: Schema.Number;
353
345
  }>;
354
- uncoveredLines: Schema.optional<typeof Schema.String>;
346
+ readonly uncoveredLines: Schema.optional<Schema.String>;
355
347
  }>>;
356
- violations: Schema.Array$<Schema.Struct<{
357
- metric: Schema.Literal<["lines", "branches", "functions", "statements"]>;
358
- expected: typeof Schema.Number;
359
- actual: typeof Schema.Number;
348
+ readonly violations: Schema.$Array<Schema.Struct<{
349
+ readonly metric: Schema.Literals<readonly ["lines", "branches", "functions", "statements"]>;
350
+ readonly expected: Schema.Number;
351
+ readonly actual: Schema.Number;
360
352
  }>>;
361
353
  }>>;
362
- trend: Schema.NullOr<Schema.Struct<{
363
- direction: Schema.Literal<["improving", "regressing", "stable"]>;
364
- runCount: typeof Schema.Number;
354
+ readonly trend: Schema.NullOr<Schema.Struct<{
355
+ readonly direction: Schema.Literals<readonly ["improving", "regressing", "stable"]>;
356
+ readonly runCount: Schema.Number;
365
357
  }>>;
366
- failures: Schema.Array$<Schema.Struct<{
367
- modulePath: typeof Schema.String;
368
- testName: typeof Schema.String;
369
- suitePath: Schema.Array$<typeof Schema.String>;
370
- error: Schema.optional<Schema.Struct<{
371
- message: typeof Schema.String;
372
- stack: Schema.optional<typeof Schema.String>;
373
- diff: Schema.optional<typeof Schema.String>;
374
- expected: Schema.optional<typeof Schema.String>;
375
- received: Schema.optional<typeof Schema.String>;
358
+ readonly failures: Schema.$Array<Schema.Struct<{
359
+ readonly modulePath: Schema.String;
360
+ readonly testName: Schema.String;
361
+ readonly suitePath: Schema.$Array<Schema.String>;
362
+ readonly error: Schema.optional<Schema.Struct<{
363
+ readonly message: Schema.String;
364
+ readonly stack: Schema.optional<Schema.String>;
365
+ readonly diff: Schema.optional<Schema.String>;
366
+ readonly expected: Schema.optional<Schema.String>;
367
+ readonly received: Schema.optional<Schema.String>;
376
368
  }>>;
377
- timedOut: Schema.optional<typeof Schema.Boolean>;
378
- classification: Schema.NullOr<Schema.Literal<["stable", "new-failure", "persistent", "flaky", "recovered"]>>;
369
+ readonly timedOut: Schema.optional<Schema.Boolean>;
370
+ readonly classification: Schema.NullOr<Schema.Literals<readonly ["stable", "new-failure", "persistent", "flaky", "recovered"]>>;
379
371
  }>>;
380
- suggestedActions: Schema.Array$<Schema.Struct<{
381
- severity: Schema.Literal<["info", "warn", "blocker"]>;
382
- title: typeof Schema.String;
383
- detail: typeof Schema.String;
384
- targetTool: Schema.optional<typeof Schema.String>;
372
+ readonly suggestedActions: Schema.$Array<Schema.Struct<{
373
+ readonly severity: Schema.Literals<readonly ["info", "warn", "blocker"]>;
374
+ readonly title: Schema.String;
375
+ readonly detail: Schema.String;
376
+ readonly targetTool: Schema.optional<Schema.String>;
385
377
  }>>;
386
378
  }>;
387
379
  /** @public */
@@ -522,11 +514,11 @@ interface CellOptions {
522
514
  * @public
523
515
  */
524
516
  declare const ReportSummary: Schema.Struct<{
525
- total: typeof Schema.Number;
526
- passed: typeof Schema.Number;
527
- failed: typeof Schema.Number;
528
- skipped: typeof Schema.Number;
529
- duration: typeof Schema.Number;
517
+ readonly total: Schema.Number;
518
+ readonly passed: Schema.Number;
519
+ readonly failed: Schema.Number;
520
+ readonly skipped: Schema.Number;
521
+ readonly duration: Schema.Number;
530
522
  }>;
531
523
  /** @public */
532
524
  type ReportSummary = typeof ReportSummary.Type;
@@ -535,20 +527,20 @@ type ReportSummary = typeof ReportSummary.Type;
535
527
  * @public
536
528
  */
537
529
  declare const TestReport: Schema.Struct<{
538
- name: typeof Schema.String;
539
- fullName: typeof Schema.String;
540
- state: Schema.Literal<["passed", "failed", "skipped", "pending"]>;
541
- duration: Schema.optional<typeof Schema.Number>;
542
- flaky: Schema.optional<typeof Schema.Boolean>;
543
- slow: Schema.optional<typeof Schema.Boolean>;
544
- errors: Schema.optional<Schema.Array$<Schema.Struct<{
545
- message: typeof Schema.String;
546
- stack: Schema.optional<typeof Schema.String>;
547
- diff: Schema.optional<typeof Schema.String>;
548
- expected: Schema.optional<typeof Schema.String>;
549
- received: Schema.optional<typeof Schema.String>;
530
+ readonly name: Schema.String;
531
+ readonly fullName: Schema.String;
532
+ readonly state: Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>;
533
+ readonly duration: Schema.optional<Schema.Number>;
534
+ readonly flaky: Schema.optional<Schema.Boolean>;
535
+ readonly slow: Schema.optional<Schema.Boolean>;
536
+ readonly errors: Schema.optional<Schema.$Array<Schema.Struct<{
537
+ readonly message: Schema.String;
538
+ readonly stack: Schema.optional<Schema.String>;
539
+ readonly diff: Schema.optional<Schema.String>;
540
+ readonly expected: Schema.optional<Schema.String>;
541
+ readonly received: Schema.optional<Schema.String>;
550
542
  }>>>;
551
- classification: Schema.optional<Schema.Literal<["stable", "new-failure", "persistent", "flaky", "recovered"]>>;
543
+ readonly classification: Schema.optional<Schema.Literals<readonly ["stable", "new-failure", "persistent", "flaky", "recovered"]>>;
552
544
  }>;
553
545
  /** @public */
554
546
  type TestReport = typeof TestReport.Type;
@@ -557,31 +549,31 @@ type TestReport = typeof TestReport.Type;
557
549
  * @public
558
550
  */
559
551
  declare const ModuleReport: Schema.Struct<{
560
- file: typeof Schema.String;
561
- state: Schema.Literal<["passed", "failed", "skipped", "pending"]>;
562
- duration: Schema.optional<typeof Schema.Number>;
563
- errors: Schema.optional<Schema.Array$<Schema.Struct<{
564
- message: typeof Schema.String;
565
- stack: Schema.optional<typeof Schema.String>;
566
- diff: Schema.optional<typeof Schema.String>;
567
- expected: Schema.optional<typeof Schema.String>;
568
- received: Schema.optional<typeof Schema.String>;
552
+ readonly file: Schema.String;
553
+ readonly state: Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>;
554
+ readonly duration: Schema.optional<Schema.Number>;
555
+ readonly errors: Schema.optional<Schema.$Array<Schema.Struct<{
556
+ readonly message: Schema.String;
557
+ readonly stack: Schema.optional<Schema.String>;
558
+ readonly diff: Schema.optional<Schema.String>;
559
+ readonly expected: Schema.optional<Schema.String>;
560
+ readonly received: Schema.optional<Schema.String>;
569
561
  }>>>;
570
- tests: Schema.Array$<Schema.Struct<{
571
- name: typeof Schema.String;
572
- fullName: typeof Schema.String;
573
- state: Schema.Literal<["passed", "failed", "skipped", "pending"]>;
574
- duration: Schema.optional<typeof Schema.Number>;
575
- flaky: Schema.optional<typeof Schema.Boolean>;
576
- slow: Schema.optional<typeof Schema.Boolean>;
577
- errors: Schema.optional<Schema.Array$<Schema.Struct<{
578
- message: typeof Schema.String;
579
- stack: Schema.optional<typeof Schema.String>;
580
- diff: Schema.optional<typeof Schema.String>;
581
- expected: Schema.optional<typeof Schema.String>;
582
- received: Schema.optional<typeof Schema.String>;
562
+ readonly tests: Schema.$Array<Schema.Struct<{
563
+ readonly name: Schema.String;
564
+ readonly fullName: Schema.String;
565
+ readonly state: Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>;
566
+ readonly duration: Schema.optional<Schema.Number>;
567
+ readonly flaky: Schema.optional<Schema.Boolean>;
568
+ readonly slow: Schema.optional<Schema.Boolean>;
569
+ readonly errors: Schema.optional<Schema.$Array<Schema.Struct<{
570
+ readonly message: Schema.String;
571
+ readonly stack: Schema.optional<Schema.String>;
572
+ readonly diff: Schema.optional<Schema.String>;
573
+ readonly expected: Schema.optional<Schema.String>;
574
+ readonly received: Schema.optional<Schema.String>;
583
575
  }>>>;
584
- classification: Schema.optional<Schema.Literal<["stable", "new-failure", "persistent", "flaky", "recovered"]>>;
576
+ readonly classification: Schema.optional<Schema.Literals<readonly ["stable", "new-failure", "persistent", "flaky", "recovered"]>>;
585
577
  }>>;
586
578
  }>;
587
579
  /** @public */
@@ -591,9 +583,9 @@ type ModuleReport = typeof ModuleReport.Type;
591
583
  * @public
592
584
  */
593
585
  declare const TagCountEntry: Schema.Struct<{
594
- passed: Schema.optional<typeof Schema.Number>;
595
- failed: Schema.optional<typeof Schema.Number>;
596
- skipped: Schema.optional<typeof Schema.Number>;
586
+ readonly passed: Schema.optional<Schema.Number>;
587
+ readonly failed: Schema.optional<Schema.Number>;
588
+ readonly skipped: Schema.optional<Schema.Number>;
597
589
  }>;
598
590
  /** @public */
599
591
  type TagCountEntry = typeof TagCountEntry.Type;
@@ -602,149 +594,141 @@ type TagCountEntry = typeof TagCountEntry.Type;
602
594
  * @public
603
595
  */
604
596
  declare const AgentReport: Schema.Struct<{
605
- timestamp: typeof Schema.String;
606
- project: Schema.optional<typeof Schema.String>;
607
- reason: Schema.Literal<["passed", "failed", "interrupted"]>;
608
- summary: Schema.Struct<{
609
- total: typeof Schema.Number;
610
- passed: typeof Schema.Number;
611
- failed: typeof Schema.Number;
612
- skipped: typeof Schema.Number;
613
- duration: typeof Schema.Number;
597
+ readonly timestamp: Schema.String;
598
+ readonly project: Schema.optional<Schema.String>;
599
+ readonly reason: Schema.Literals<readonly ["passed", "failed", "interrupted"]>;
600
+ readonly summary: Schema.Struct<{
601
+ readonly total: Schema.Number;
602
+ readonly passed: Schema.Number;
603
+ readonly failed: Schema.Number;
604
+ readonly skipped: Schema.Number;
605
+ readonly duration: Schema.Number;
614
606
  }>;
615
- failed: Schema.Array$<Schema.Struct<{
616
- file: typeof Schema.String;
617
- state: Schema.Literal<["passed", "failed", "skipped", "pending"]>;
618
- duration: Schema.optional<typeof Schema.Number>;
619
- errors: Schema.optional<Schema.Array$<Schema.Struct<{
620
- message: typeof Schema.String;
621
- stack: Schema.optional<typeof Schema.String>;
622
- diff: Schema.optional<typeof Schema.String>;
623
- expected: Schema.optional<typeof Schema.String>;
624
- received: Schema.optional<typeof Schema.String>;
607
+ readonly failed: Schema.$Array<Schema.Struct<{
608
+ readonly file: Schema.String;
609
+ readonly state: Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>;
610
+ readonly duration: Schema.optional<Schema.Number>;
611
+ readonly errors: Schema.optional<Schema.$Array<Schema.Struct<{
612
+ readonly message: Schema.String;
613
+ readonly stack: Schema.optional<Schema.String>;
614
+ readonly diff: Schema.optional<Schema.String>;
615
+ readonly expected: Schema.optional<Schema.String>;
616
+ readonly received: Schema.optional<Schema.String>;
625
617
  }>>>;
626
- tests: Schema.Array$<Schema.Struct<{
627
- name: typeof Schema.String;
628
- fullName: typeof Schema.String;
629
- state: Schema.Literal<["passed", "failed", "skipped", "pending"]>;
630
- duration: Schema.optional<typeof Schema.Number>;
631
- flaky: Schema.optional<typeof Schema.Boolean>;
632
- slow: Schema.optional<typeof Schema.Boolean>;
633
- errors: Schema.optional<Schema.Array$<Schema.Struct<{
634
- message: typeof Schema.String;
635
- stack: Schema.optional<typeof Schema.String>;
636
- diff: Schema.optional<typeof Schema.String>;
637
- expected: Schema.optional<typeof Schema.String>;
638
- received: Schema.optional<typeof Schema.String>;
618
+ readonly tests: Schema.$Array<Schema.Struct<{
619
+ readonly name: Schema.String;
620
+ readonly fullName: Schema.String;
621
+ readonly state: Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>;
622
+ readonly duration: Schema.optional<Schema.Number>;
623
+ readonly flaky: Schema.optional<Schema.Boolean>;
624
+ readonly slow: Schema.optional<Schema.Boolean>;
625
+ readonly errors: Schema.optional<Schema.$Array<Schema.Struct<{
626
+ readonly message: Schema.String;
627
+ readonly stack: Schema.optional<Schema.String>;
628
+ readonly diff: Schema.optional<Schema.String>;
629
+ readonly expected: Schema.optional<Schema.String>;
630
+ readonly received: Schema.optional<Schema.String>;
639
631
  }>>>;
640
- classification: Schema.optional<Schema.Literal<["stable", "new-failure", "persistent", "flaky", "recovered"]>>;
632
+ readonly classification: Schema.optional<Schema.Literals<readonly ["stable", "new-failure", "persistent", "flaky", "recovered"]>>;
641
633
  }>>;
642
634
  }>>;
643
- unhandledErrors: Schema.Array$<Schema.Struct<{
644
- message: typeof Schema.String;
645
- stack: Schema.optional<typeof Schema.String>;
646
- diff: Schema.optional<typeof Schema.String>;
647
- expected: Schema.optional<typeof Schema.String>;
648
- received: Schema.optional<typeof Schema.String>;
635
+ readonly unhandledErrors: Schema.$Array<Schema.Struct<{
636
+ readonly message: Schema.String;
637
+ readonly stack: Schema.optional<Schema.String>;
638
+ readonly diff: Schema.optional<Schema.String>;
639
+ readonly expected: Schema.optional<Schema.String>;
640
+ readonly received: Schema.optional<Schema.String>;
649
641
  }>>;
650
- failedFiles: Schema.Array$<typeof Schema.String>;
651
- coverage: Schema.optional<Schema.Struct<{
652
- totals: Schema.Struct<{
653
- statements: typeof Schema.Number;
654
- branches: typeof Schema.Number;
655
- functions: typeof Schema.Number;
656
- lines: typeof Schema.Number;
642
+ readonly failedFiles: Schema.$Array<Schema.String>;
643
+ readonly coverage: Schema.optional<Schema.Struct<{
644
+ readonly totals: Schema.Struct<{
645
+ readonly statements: Schema.Number;
646
+ readonly branches: Schema.Number;
647
+ readonly functions: Schema.Number;
648
+ readonly lines: Schema.Number;
657
649
  }>;
658
- thresholds: Schema.Struct<{
659
- global: Schema.Struct<{
660
- lines: Schema.optional<typeof Schema.Number>;
661
- functions: Schema.optional<typeof Schema.Number>;
662
- branches: Schema.optional<typeof Schema.Number>;
663
- statements: Schema.optional<typeof Schema.Number>;
664
- }>;
665
- patterns: Schema.optionalWith<Schema.Array$<Schema.Tuple2<typeof Schema.String, Schema.Struct<{
666
- lines: Schema.optional<typeof Schema.Number>;
667
- functions: Schema.optional<typeof Schema.Number>;
668
- branches: Schema.optional<typeof Schema.Number>;
669
- statements: Schema.optional<typeof Schema.Number>;
670
- }>>>, {
671
- default: () => never[];
650
+ readonly thresholds: Schema.Struct<{
651
+ readonly global: Schema.Struct<{
652
+ readonly lines: Schema.optional<Schema.Number>;
653
+ readonly functions: Schema.optional<Schema.Number>;
654
+ readonly branches: Schema.optional<Schema.Number>;
655
+ readonly statements: Schema.optional<Schema.Number>;
672
656
  }>;
657
+ readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
658
+ readonly lines: Schema.optional<Schema.Number>;
659
+ readonly functions: Schema.optional<Schema.Number>;
660
+ readonly branches: Schema.optional<Schema.Number>;
661
+ readonly statements: Schema.optional<Schema.Number>;
662
+ }>]>>, never>;
673
663
  }>;
674
- targets: Schema.optional<Schema.Struct<{
675
- global: Schema.Struct<{
676
- lines: Schema.optional<typeof Schema.Number>;
677
- functions: Schema.optional<typeof Schema.Number>;
678
- branches: Schema.optional<typeof Schema.Number>;
679
- statements: Schema.optional<typeof Schema.Number>;
680
- }>;
681
- patterns: Schema.optionalWith<Schema.Array$<Schema.Tuple2<typeof Schema.String, Schema.Struct<{
682
- lines: Schema.optional<typeof Schema.Number>;
683
- functions: Schema.optional<typeof Schema.Number>;
684
- branches: Schema.optional<typeof Schema.Number>;
685
- statements: Schema.optional<typeof Schema.Number>;
686
- }>>>, {
687
- default: () => never[];
664
+ readonly targets: Schema.optional<Schema.Struct<{
665
+ readonly global: Schema.Struct<{
666
+ readonly lines: Schema.optional<Schema.Number>;
667
+ readonly functions: Schema.optional<Schema.Number>;
668
+ readonly branches: Schema.optional<Schema.Number>;
669
+ readonly statements: Schema.optional<Schema.Number>;
688
670
  }>;
671
+ readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
672
+ readonly lines: Schema.optional<Schema.Number>;
673
+ readonly functions: Schema.optional<Schema.Number>;
674
+ readonly branches: Schema.optional<Schema.Number>;
675
+ readonly statements: Schema.optional<Schema.Number>;
676
+ }>]>>, never>;
689
677
  }>>;
690
- baselines: Schema.optional<Schema.Struct<{
691
- global: Schema.Struct<{
692
- lines: Schema.optional<typeof Schema.Number>;
693
- functions: Schema.optional<typeof Schema.Number>;
694
- branches: Schema.optional<typeof Schema.Number>;
695
- statements: Schema.optional<typeof Schema.Number>;
696
- }>;
697
- patterns: Schema.optionalWith<Schema.Array$<Schema.Tuple2<typeof Schema.String, Schema.Struct<{
698
- lines: Schema.optional<typeof Schema.Number>;
699
- functions: Schema.optional<typeof Schema.Number>;
700
- branches: Schema.optional<typeof Schema.Number>;
701
- statements: Schema.optional<typeof Schema.Number>;
702
- }>>>, {
703
- default: () => never[];
678
+ readonly baselines: Schema.optional<Schema.Struct<{
679
+ readonly global: Schema.Struct<{
680
+ readonly lines: Schema.optional<Schema.Number>;
681
+ readonly functions: Schema.optional<Schema.Number>;
682
+ readonly branches: Schema.optional<Schema.Number>;
683
+ readonly statements: Schema.optional<Schema.Number>;
704
684
  }>;
685
+ readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
686
+ readonly lines: Schema.optional<Schema.Number>;
687
+ readonly functions: Schema.optional<Schema.Number>;
688
+ readonly branches: Schema.optional<Schema.Number>;
689
+ readonly statements: Schema.optional<Schema.Number>;
690
+ }>]>>, never>;
705
691
  }>>;
706
- scoped: Schema.optionalWith<typeof Schema.Boolean, {
707
- default: () => false;
708
- }>;
709
- scopedFiles: Schema.optional<Schema.Array$<typeof Schema.String>>;
710
- lowCoverage: Schema.Array$<Schema.Struct<{
711
- file: typeof Schema.String;
712
- summary: Schema.Struct<{
713
- statements: typeof Schema.Number;
714
- branches: typeof Schema.Number;
715
- functions: typeof Schema.Number;
716
- lines: typeof Schema.Number;
692
+ readonly scoped: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
693
+ readonly scopedFiles: Schema.optional<Schema.$Array<Schema.String>>;
694
+ readonly lowCoverage: Schema.$Array<Schema.Struct<{
695
+ readonly file: Schema.String;
696
+ readonly summary: Schema.Struct<{
697
+ readonly statements: Schema.Number;
698
+ readonly branches: Schema.Number;
699
+ readonly functions: Schema.Number;
700
+ readonly lines: Schema.Number;
717
701
  }>;
718
- uncoveredLines: typeof Schema.String;
702
+ readonly uncoveredLines: Schema.String;
719
703
  }>>;
720
- lowCoverageFiles: Schema.Array$<typeof Schema.String>;
721
- belowTarget: Schema.optional<Schema.Array$<Schema.Struct<{
722
- file: typeof Schema.String;
723
- summary: Schema.Struct<{
724
- statements: typeof Schema.Number;
725
- branches: typeof Schema.Number;
726
- functions: typeof Schema.Number;
727
- lines: typeof Schema.Number;
704
+ readonly lowCoverageFiles: Schema.$Array<Schema.String>;
705
+ readonly belowTarget: Schema.optional<Schema.$Array<Schema.Struct<{
706
+ readonly file: Schema.String;
707
+ readonly summary: Schema.Struct<{
708
+ readonly statements: Schema.Number;
709
+ readonly branches: Schema.Number;
710
+ readonly functions: Schema.Number;
711
+ readonly lines: Schema.Number;
728
712
  }>;
729
- uncoveredLines: typeof Schema.String;
713
+ readonly uncoveredLines: Schema.String;
730
714
  }>>>;
731
- belowTargetFiles: Schema.optional<Schema.Array$<typeof Schema.String>>;
715
+ readonly belowTargetFiles: Schema.optional<Schema.$Array<Schema.String>>;
732
716
  }>>;
733
- tagCounts: Schema.optional<Schema.Record$<typeof Schema.String, Schema.Struct<{
734
- passed: Schema.optional<typeof Schema.Number>;
735
- failed: Schema.optional<typeof Schema.Number>;
736
- skipped: Schema.optional<typeof Schema.Number>;
717
+ readonly tagCounts: Schema.optional<Schema.$Record<Schema.String, Schema.Struct<{
718
+ readonly passed: Schema.optional<Schema.Number>;
719
+ readonly failed: Schema.optional<Schema.Number>;
720
+ readonly skipped: Schema.optional<Schema.Number>;
737
721
  }>>>;
738
- consoleLeaks: Schema.optional<Schema.Struct<{
739
- total: typeof Schema.Number;
740
- byFile: Schema.Array$<Schema.Struct<{
741
- file: typeof Schema.String;
742
- stdout: typeof Schema.Number;
743
- stderr: typeof Schema.Number;
744
- tests: Schema.optional<Schema.Array$<typeof Schema.String>>;
745
- sample: Schema.optional<typeof Schema.String>;
722
+ readonly consoleLeaks: Schema.optional<Schema.Struct<{
723
+ readonly total: Schema.Number;
724
+ readonly byFile: Schema.$Array<Schema.Struct<{
725
+ readonly file: Schema.String;
726
+ readonly stdout: Schema.Number;
727
+ readonly stderr: Schema.Number;
728
+ readonly tests: Schema.optional<Schema.$Array<Schema.String>>;
729
+ readonly sample: Schema.optional<Schema.String>;
746
730
  }>>;
747
- truncated: Schema.optional<typeof Schema.Boolean>;
731
+ readonly truncated: Schema.optional<Schema.Boolean>;
748
732
  }>>;
749
733
  }>;
750
734
  /** @public */
@@ -755,28 +739,28 @@ type AgentReport = typeof AgentReport.Type;
755
739
  * Possible states for an individual test case.
756
740
  * @public
757
741
  */
758
- declare const TestState: Schema.Literal<["passed", "failed", "skipped", "pending"]>;
742
+ declare const TestState: Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>;
759
743
  /** @public */
760
744
  type TestState = typeof TestState.Type;
761
745
  /**
762
746
  * Overall outcome of a test run.
763
747
  * @public
764
748
  */
765
- declare const TestRunReason: Schema.Literal<["passed", "failed", "interrupted"]>;
749
+ declare const TestRunReason: Schema.Literals<readonly ["passed", "failed", "interrupted"]>;
766
750
  /** @public */
767
751
  type TestRunReason = typeof TestRunReason.Type;
768
752
  /**
769
753
  * Classification of a test's failure history across runs.
770
754
  * @public
771
755
  */
772
- declare const TestClassification: Schema.Literal<["stable", "new-failure", "persistent", "flaky", "recovered"]>;
756
+ declare const TestClassification: Schema.Literals<readonly ["stable", "new-failure", "persistent", "flaky", "recovered"]>;
773
757
  /** @public */
774
758
  type TestClassification = typeof TestClassification.Type;
775
759
  /**
776
760
  * Console output verbosity mode for AgentReporter.
777
761
  * @public
778
762
  */
779
- declare const ConsoleOutputMode: Schema.Literal<["failures", "full", "silent"]>;
763
+ declare const ConsoleOutputMode: Schema.Literals<readonly ["failures", "full", "silent"]>;
780
764
  /** @public */
781
765
  type ConsoleOutputMode = typeof ConsoleOutputMode.Type;
782
766
  /**
@@ -797,15 +781,15 @@ type ConsoleOutputMode = typeof ConsoleOutputMode.Type;
797
781
  * so the default for `ci` is `passthrough` until it lands.
798
782
  * @public
799
783
  */
800
- declare const HumanConsoleMode: Schema.Literal<["passthrough", "silent", "stream", "agent"]>;
784
+ declare const HumanConsoleMode: Schema.Literals<readonly ["passthrough", "silent", "stream", "agent"]>;
801
785
  /** @public */
802
786
  type HumanConsoleMode = typeof HumanConsoleMode.Type;
803
787
  /** @public */
804
- declare const AgentConsoleMode: Schema.Literal<["passthrough", "silent", "agent"]>;
788
+ declare const AgentConsoleMode: Schema.Literals<readonly ["passthrough", "silent", "agent"]>;
805
789
  /** @public */
806
790
  type AgentConsoleMode = typeof AgentConsoleMode.Type;
807
791
  /** @public */
808
- declare const CiConsoleMode: Schema.Literal<["passthrough", "silent", "ci-annotations"]>;
792
+ declare const CiConsoleMode: Schema.Literals<readonly ["passthrough", "silent", "ci-annotations"]>;
809
793
  /** @public */
810
794
  type CiConsoleMode = typeof CiConsoleMode.Type;
811
795
  /**
@@ -813,42 +797,42 @@ type CiConsoleMode = typeof CiConsoleMode.Type;
813
797
  * Useful for type-narrowing in renderers that take the resolved value.
814
798
  * @public
815
799
  */
816
- declare const ConsoleMode: Schema.Union<[Schema.Literal<["passthrough", "silent", "stream", "agent"]>, Schema.Literal<["passthrough", "silent", "agent"]>, Schema.Literal<["passthrough", "silent", "ci-annotations"]>]>;
800
+ 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"]>]>;
817
801
  /** @public */
818
802
  type ConsoleMode = typeof ConsoleMode.Type;
819
803
  /**
820
804
  * Supported package managers for run command generation.
821
805
  * @public
822
806
  */
823
- declare const PackageManager: Schema.Literal<["pnpm", "npm", "yarn", "bun"]>;
807
+ declare const PackageManager: Schema.Literals<readonly ["pnpm", "npm", "yarn", "bun"]>;
824
808
  /** @public */
825
809
  type PackageManager = typeof PackageManager.Type;
826
810
  /**
827
811
  * Runtime environment where tests are being executed.
828
812
  * @public
829
813
  */
830
- declare const Environment: Schema.Literal<["agent-shell", "terminal", "ci-github", "ci-generic"]>;
814
+ declare const Environment: Schema.Literals<readonly ["agent-shell", "terminal", "ci-github", "ci-generic"]>;
831
815
  /** @public */
832
816
  type Environment = typeof Environment.Type;
833
817
  /**
834
818
  * Who or what is executing the test run.
835
819
  * @public
836
820
  */
837
- declare const Executor: Schema.Literal<["human", "agent", "ci"]>;
821
+ declare const Executor: Schema.Literals<readonly ["human", "agent", "ci"]>;
838
822
  /** @public */
839
823
  type Executor = typeof Executor.Type;
840
824
  /**
841
825
  * Output format for the reporter pipeline.
842
826
  * @public
843
827
  */
844
- declare const OutputFormat: Schema.Literal<["terminal", "markdown", "json", "vitest-bypass", "silent", "ci-annotations"]>;
828
+ declare const OutputFormat: Schema.Literals<readonly ["terminal", "markdown", "json", "vitest-bypass", "silent", "ci-annotations"]>;
845
829
  /** @public */
846
830
  type OutputFormat = typeof OutputFormat.Type;
847
831
  /**
848
832
  * Level of detail in reporter output.
849
833
  * @public
850
834
  */
851
- declare const DetailLevel: Schema.Literal<["minimal", "neutral", "standard", "verbose"]>;
835
+ declare const DetailLevel: Schema.Literals<readonly ["minimal", "neutral", "standard", "verbose"]>;
852
836
  /** @public */
853
837
  type DetailLevel = typeof DetailLevel.Type;
854
838
  /**
@@ -864,11 +848,11 @@ type DetailLevel = typeof DetailLevel.Type;
864
848
  * @public
865
849
  */
866
850
  declare const ReportError: Schema.Struct<{
867
- message: typeof Schema.String;
868
- stack: Schema.optional<typeof Schema.String>;
869
- diff: Schema.optional<typeof Schema.String>;
870
- expected: Schema.optional<typeof Schema.String>;
871
- received: Schema.optional<typeof Schema.String>;
851
+ readonly message: Schema.String;
852
+ readonly stack: Schema.optional<Schema.String>;
853
+ readonly diff: Schema.optional<Schema.String>;
854
+ readonly expected: Schema.optional<Schema.String>;
855
+ readonly received: Schema.optional<Schema.String>;
872
856
  }>;
873
857
  /** @public */
874
858
  type ReportError = typeof ReportError.Type;
@@ -910,35 +894,35 @@ interface Formatter {
910
894
  * Coverage metric whose threshold can be violated independently.
911
895
  * @public
912
896
  */
913
- declare const CoverageMetric: Schema.Literal<["lines", "branches", "functions", "statements"]>;
897
+ declare const CoverageMetric: Schema.Literals<readonly ["lines", "branches", "functions", "statements"]>;
914
898
  /** @public */
915
899
  type CoverageMetric = typeof CoverageMetric.Type;
916
900
  /**
917
901
  * Severity tier for a suggested action emitted during a run.
918
902
  * @public
919
903
  */
920
- declare const ActionSeverity: Schema.Literal<["info", "warn", "blocker"]>;
904
+ declare const ActionSeverity: Schema.Literals<readonly ["info", "warn", "blocker"]>;
921
905
  /** @public */
922
906
  type ActionSeverity = typeof ActionSeverity.Type;
923
907
  /**
924
908
  * Lifecycle scope of a Vitest setup/teardown hook.
925
909
  * @public
926
910
  */
927
- declare const HookType: Schema.Literal<["beforeAll", "afterAll", "beforeEach", "afterEach"]>;
911
+ declare const HookType: Schema.Literals<readonly ["beforeAll", "afterAll", "beforeEach", "afterEach"]>;
928
912
  /** @public */
929
913
  type HookType = typeof HookType.Type;
930
914
  /**
931
915
  * Terminal status of a Vitest hook run.
932
916
  * @public
933
917
  */
934
- declare const HookStatus: Schema.Literal<["passed", "failed"]>;
918
+ declare const HookStatus: Schema.Literals<readonly ["passed", "failed"]>;
935
919
  /** @public */
936
920
  type HookStatus = typeof HookStatus.Type;
937
921
  /**
938
922
  * Output stream a captured user `console.log` was written to.
939
923
  * @public
940
924
  */
941
- declare const ConsoleLogLevel: Schema.Literal<["stdout", "stderr"]>;
925
+ declare const ConsoleLogLevel: Schema.Literals<readonly ["stdout", "stderr"]>;
942
926
  /** @public */
943
927
  type ConsoleLogLevel = typeof ConsoleLogLevel.Type;
944
928
  /**
@@ -947,14 +931,14 @@ type ConsoleLogLevel = typeof ConsoleLogLevel.Type;
947
931
  * @public
948
932
  */
949
933
  declare const CoverageGap: Schema.Struct<{
950
- file: typeof Schema.String;
951
- missing: Schema.Struct<{
952
- statements: typeof Schema.Number;
953
- branches: typeof Schema.Number;
954
- functions: typeof Schema.Number;
955
- lines: typeof Schema.Number;
934
+ readonly file: Schema.String;
935
+ readonly missing: Schema.Struct<{
936
+ readonly statements: Schema.Number;
937
+ readonly branches: Schema.Number;
938
+ readonly functions: Schema.Number;
939
+ readonly lines: Schema.Number;
956
940
  }>;
957
- uncoveredLines: Schema.optional<typeof Schema.String>;
941
+ readonly uncoveredLines: Schema.optional<Schema.String>;
958
942
  }>;
959
943
  /** @public */
960
944
  type CoverageGap = typeof CoverageGap.Type;
@@ -968,144 +952,144 @@ type CoverageGap = typeof CoverageGap.Type;
968
952
  * been updated to consume the new state shape.
969
953
  * @public
970
954
  */
971
- declare const RunEvent: Schema.Union<[Schema.TaggedStruct<"RunStarted", {
972
- runId: typeof Schema.String;
973
- startedAt: typeof Schema.String;
974
- configHash: typeof Schema.String;
955
+ declare const RunEvent: Schema.Union<readonly [Schema.TaggedStruct<"RunStarted", {
956
+ readonly runId: Schema.String;
957
+ readonly startedAt: Schema.String;
958
+ readonly configHash: Schema.String;
975
959
  }>, Schema.TaggedStruct<"ModuleQueued", {
976
- modulePath: typeof Schema.String;
977
- projectName: Schema.optional<typeof Schema.String>;
960
+ readonly modulePath: Schema.String;
961
+ readonly projectName: Schema.optional<Schema.String>;
978
962
  }>, Schema.TaggedStruct<"ModuleStarted", {
979
- modulePath: typeof Schema.String;
980
- startedAt: typeof Schema.String;
981
- projectName: Schema.optional<typeof Schema.String>;
963
+ readonly modulePath: Schema.String;
964
+ readonly startedAt: Schema.String;
965
+ readonly projectName: Schema.optional<Schema.String>;
982
966
  }>, Schema.TaggedStruct<"TestStarted", {
983
- modulePath: typeof Schema.String;
984
- testName: typeof Schema.String;
985
- suitePath: Schema.Array$<typeof Schema.String>;
967
+ readonly modulePath: Schema.String;
968
+ readonly testName: Schema.String;
969
+ readonly suitePath: Schema.$Array<Schema.String>;
986
970
  }>, Schema.TaggedStruct<"TestFinished", {
987
- modulePath: typeof Schema.String;
988
- testName: typeof Schema.String;
989
- suitePath: Schema.Array$<typeof Schema.String>;
990
- status: Schema.Literal<["passed", "failed", "skipped", "pending"]>;
991
- durationMs: typeof Schema.Number;
992
- error: Schema.optional<Schema.Struct<{
993
- message: typeof Schema.String;
994
- stack: Schema.optional<typeof Schema.String>;
995
- diff: Schema.optional<typeof Schema.String>;
996
- expected: Schema.optional<typeof Schema.String>;
997
- received: Schema.optional<typeof Schema.String>;
971
+ readonly modulePath: Schema.String;
972
+ readonly testName: Schema.String;
973
+ readonly suitePath: Schema.$Array<Schema.String>;
974
+ readonly status: Schema.Literals<readonly ["passed", "failed", "skipped", "pending"]>;
975
+ readonly durationMs: Schema.Number;
976
+ readonly error: Schema.optional<Schema.Struct<{
977
+ readonly message: Schema.String;
978
+ readonly stack: Schema.optional<Schema.String>;
979
+ readonly diff: Schema.optional<Schema.String>;
980
+ readonly expected: Schema.optional<Schema.String>;
981
+ readonly received: Schema.optional<Schema.String>;
998
982
  }>>;
999
- timedOut: Schema.optional<typeof Schema.Boolean>;
983
+ readonly timedOut: Schema.optional<Schema.Boolean>;
1000
984
  }>, Schema.TaggedStruct<"ModuleFinished", {
1001
- modulePath: typeof Schema.String;
1002
- passCount: typeof Schema.Number;
1003
- failCount: typeof Schema.Number;
1004
- skipCount: typeof Schema.Number;
1005
- durationMs: typeof Schema.Number;
1006
- projectName: Schema.optional<typeof Schema.String>;
1007
- timeoutCount: Schema.optional<typeof Schema.Number>;
1008
- tagCounts: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
985
+ readonly modulePath: Schema.String;
986
+ readonly passCount: Schema.Number;
987
+ readonly failCount: Schema.Number;
988
+ readonly skipCount: Schema.Number;
989
+ readonly durationMs: Schema.Number;
990
+ readonly projectName: Schema.optional<Schema.String>;
991
+ readonly timeoutCount: Schema.optional<Schema.Number>;
992
+ readonly tagCounts: Schema.optional<Schema.$Record<Schema.String, Schema.Number>>;
1009
993
  }>, Schema.TaggedStruct<"ModuleCollected", {
1010
- modulePath: typeof Schema.String;
1011
- testCount: typeof Schema.Number;
1012
- suiteCount: typeof Schema.Number;
994
+ readonly modulePath: Schema.String;
995
+ readonly testCount: Schema.Number;
996
+ readonly suiteCount: Schema.Number;
1013
997
  }>, Schema.TaggedStruct<"SuiteStarted", {
1014
- modulePath: typeof Schema.String;
1015
- suitePath: Schema.Array$<typeof Schema.String>;
1016
- suiteName: typeof Schema.String;
998
+ readonly modulePath: Schema.String;
999
+ readonly suitePath: Schema.$Array<Schema.String>;
1000
+ readonly suiteName: Schema.String;
1017
1001
  }>, Schema.TaggedStruct<"SuiteFinished", {
1018
- modulePath: typeof Schema.String;
1019
- suitePath: Schema.Array$<typeof Schema.String>;
1020
- suiteName: typeof Schema.String;
1021
- passCount: typeof Schema.Number;
1022
- failCount: typeof Schema.Number;
1023
- skipCount: typeof Schema.Number;
1002
+ readonly modulePath: Schema.String;
1003
+ readonly suitePath: Schema.$Array<Schema.String>;
1004
+ readonly suiteName: Schema.String;
1005
+ readonly passCount: Schema.Number;
1006
+ readonly failCount: Schema.Number;
1007
+ readonly skipCount: Schema.Number;
1024
1008
  }>, Schema.TaggedStruct<"HookStarted", {
1025
- modulePath: typeof Schema.String;
1026
- hookType: Schema.Literal<["beforeAll", "afterAll", "beforeEach", "afterEach"]>;
1027
- scopeName: typeof Schema.String;
1009
+ readonly modulePath: Schema.String;
1010
+ readonly hookType: Schema.Literals<readonly ["beforeAll", "afterAll", "beforeEach", "afterEach"]>;
1011
+ readonly scopeName: Schema.String;
1028
1012
  }>, Schema.TaggedStruct<"HookFinished", {
1029
- modulePath: typeof Schema.String;
1030
- hookType: Schema.Literal<["beforeAll", "afterAll", "beforeEach", "afterEach"]>;
1031
- scopeName: typeof Schema.String;
1032
- durationMs: typeof Schema.Number;
1033
- status: Schema.Literal<["passed", "failed"]>;
1034
- error: Schema.optional<Schema.Struct<{
1035
- message: typeof Schema.String;
1036
- stack: Schema.optional<typeof Schema.String>;
1037
- diff: Schema.optional<typeof Schema.String>;
1038
- expected: Schema.optional<typeof Schema.String>;
1039
- received: Schema.optional<typeof Schema.String>;
1013
+ readonly modulePath: Schema.String;
1014
+ readonly hookType: Schema.Literals<readonly ["beforeAll", "afterAll", "beforeEach", "afterEach"]>;
1015
+ readonly scopeName: Schema.String;
1016
+ readonly durationMs: Schema.Number;
1017
+ readonly status: Schema.Literals<readonly ["passed", "failed"]>;
1018
+ readonly error: Schema.optional<Schema.Struct<{
1019
+ readonly message: Schema.String;
1020
+ readonly stack: Schema.optional<Schema.String>;
1021
+ readonly diff: Schema.optional<Schema.String>;
1022
+ readonly expected: Schema.optional<Schema.String>;
1023
+ readonly received: Schema.optional<Schema.String>;
1040
1024
  }>>;
1041
1025
  }>, Schema.TaggedStruct<"ConsoleLog", {
1042
- modulePath: Schema.optional<typeof Schema.String>;
1043
- testName: Schema.optional<typeof Schema.String>;
1044
- level: Schema.Literal<["stdout", "stderr"]>;
1045
- content: typeof Schema.String;
1046
- time: typeof Schema.Number;
1026
+ readonly modulePath: Schema.optional<Schema.String>;
1027
+ readonly testName: Schema.optional<Schema.String>;
1028
+ readonly level: Schema.Literals<readonly ["stdout", "stderr"]>;
1029
+ readonly content: Schema.String;
1030
+ readonly time: Schema.Number;
1047
1031
  }>, Schema.TaggedStruct<"RunTimedOut", {
1048
- message: typeof Schema.String;
1032
+ readonly message: Schema.String;
1049
1033
  }>, Schema.TaggedStruct<"TestAnnotated", {
1050
- modulePath: typeof Schema.String;
1051
- testName: typeof Schema.String;
1052
- suitePath: Schema.Array$<typeof Schema.String>;
1053
- annotation: typeof Schema.String;
1034
+ readonly modulePath: Schema.String;
1035
+ readonly testName: Schema.String;
1036
+ readonly suitePath: Schema.$Array<Schema.String>;
1037
+ readonly annotation: Schema.String;
1054
1038
  }>, Schema.TaggedStruct<"TestArtifactRecorded", {
1055
- modulePath: typeof Schema.String;
1056
- testName: typeof Schema.String;
1057
- suitePath: Schema.Array$<typeof Schema.String>;
1058
- artifact: typeof Schema.String;
1039
+ readonly modulePath: Schema.String;
1040
+ readonly testName: Schema.String;
1041
+ readonly suitePath: Schema.$Array<Schema.String>;
1042
+ readonly artifact: Schema.String;
1059
1043
  }>, Schema.TaggedStruct<"WatcherReady", {}>, Schema.TaggedStruct<"WatcherRerun", {
1060
- triggerFiles: Schema.Array$<typeof Schema.String>;
1061
- reason: Schema.optional<typeof Schema.String>;
1044
+ readonly triggerFiles: Schema.$Array<Schema.String>;
1045
+ readonly reason: Schema.optional<Schema.String>;
1062
1046
  }>, Schema.TaggedStruct<"TrendComputed", {
1063
- direction: Schema.Literal<["improving", "regressing", "stable"]>;
1064
- runCount: typeof Schema.Number;
1047
+ readonly direction: Schema.Literals<readonly ["improving", "regressing", "stable"]>;
1048
+ readonly runCount: Schema.Number;
1065
1049
  }>, Schema.TaggedStruct<"CoverageReady", {
1066
- metrics: Schema.Struct<{
1067
- statements: typeof Schema.Number;
1068
- branches: typeof Schema.Number;
1069
- functions: typeof Schema.Number;
1070
- lines: typeof Schema.Number;
1050
+ readonly metrics: Schema.Struct<{
1051
+ readonly statements: Schema.Number;
1052
+ readonly branches: Schema.Number;
1053
+ readonly functions: Schema.Number;
1054
+ readonly lines: Schema.Number;
1071
1055
  }>;
1072
- thresholds: Schema.Struct<{
1073
- lines: Schema.optional<typeof Schema.Number>;
1074
- functions: Schema.optional<typeof Schema.Number>;
1075
- branches: Schema.optional<typeof Schema.Number>;
1076
- statements: Schema.optional<typeof Schema.Number>;
1056
+ readonly thresholds: Schema.Struct<{
1057
+ readonly lines: Schema.optional<Schema.Number>;
1058
+ readonly functions: Schema.optional<Schema.Number>;
1059
+ readonly branches: Schema.optional<Schema.Number>;
1060
+ readonly statements: Schema.optional<Schema.Number>;
1077
1061
  }>;
1078
- gaps: Schema.Array$<Schema.Struct<{
1079
- file: typeof Schema.String;
1080
- missing: Schema.Struct<{
1081
- statements: typeof Schema.Number;
1082
- branches: typeof Schema.Number;
1083
- functions: typeof Schema.Number;
1084
- lines: typeof Schema.Number;
1062
+ readonly gaps: Schema.$Array<Schema.Struct<{
1063
+ readonly file: Schema.String;
1064
+ readonly missing: Schema.Struct<{
1065
+ readonly statements: Schema.Number;
1066
+ readonly branches: Schema.Number;
1067
+ readonly functions: Schema.Number;
1068
+ readonly lines: Schema.Number;
1085
1069
  }>;
1086
- uncoveredLines: Schema.optional<typeof Schema.String>;
1070
+ readonly uncoveredLines: Schema.optional<Schema.String>;
1087
1071
  }>>;
1088
1072
  }>, Schema.TaggedStruct<"ThresholdViolation", {
1089
- metric: Schema.Literal<["lines", "branches", "functions", "statements"]>;
1090
- expected: typeof Schema.Number;
1091
- actual: typeof Schema.Number;
1073
+ readonly metric: Schema.Literals<readonly ["lines", "branches", "functions", "statements"]>;
1074
+ readonly expected: Schema.Number;
1075
+ readonly actual: Schema.Number;
1092
1076
  }>, Schema.TaggedStruct<"FailureClassified", {
1093
- modulePath: typeof Schema.String;
1094
- testName: typeof Schema.String;
1095
- classification: Schema.Literal<["stable", "new-failure", "persistent", "flaky", "recovered"]>;
1077
+ readonly modulePath: Schema.String;
1078
+ readonly testName: Schema.String;
1079
+ readonly classification: Schema.Literals<readonly ["stable", "new-failure", "persistent", "flaky", "recovered"]>;
1096
1080
  }>, Schema.TaggedStruct<"SuggestedAction", {
1097
- severity: Schema.Literal<["info", "warn", "blocker"]>;
1098
- title: typeof Schema.String;
1099
- detail: typeof Schema.String;
1100
- targetTool: Schema.optional<typeof Schema.String>;
1081
+ readonly severity: Schema.Literals<readonly ["info", "warn", "blocker"]>;
1082
+ readonly title: Schema.String;
1083
+ readonly detail: Schema.String;
1084
+ readonly targetTool: Schema.optional<Schema.String>;
1101
1085
  }>, Schema.TaggedStruct<"RunFinished", {
1102
- runId: typeof Schema.String;
1103
- finishedAt: typeof Schema.String;
1104
- passCount: typeof Schema.Number;
1105
- failCount: typeof Schema.Number;
1106
- skipCount: typeof Schema.Number;
1107
- durationMs: typeof Schema.Number;
1108
- timeoutCount: Schema.optional<typeof Schema.Number>;
1086
+ readonly runId: Schema.String;
1087
+ readonly finishedAt: Schema.String;
1088
+ readonly passCount: Schema.Number;
1089
+ readonly failCount: Schema.Number;
1090
+ readonly skipCount: Schema.Number;
1091
+ readonly durationMs: Schema.Number;
1092
+ readonly timeoutCount: Schema.optional<Schema.Number>;
1109
1093
  }>]>;
1110
1094
  /** @public */
1111
1095
  type RunEvent = typeof RunEvent.Type;
@@ -1124,10 +1108,10 @@ type RunEventByTag = { [E in RunEvent as E["_tag"]]: E; };
1124
1108
  * @public
1125
1109
  */
1126
1110
  declare const MetricThresholds: Schema.Struct<{
1127
- lines: Schema.optional<typeof Schema.Number>;
1128
- functions: Schema.optional<typeof Schema.Number>;
1129
- branches: Schema.optional<typeof Schema.Number>;
1130
- statements: Schema.optional<typeof Schema.Number>;
1111
+ readonly lines: Schema.optional<Schema.Number>;
1112
+ readonly functions: Schema.optional<Schema.Number>;
1113
+ readonly branches: Schema.optional<Schema.Number>;
1114
+ readonly statements: Schema.optional<Schema.Number>;
1131
1115
  }>;
1132
1116
  /** @public */
1133
1117
  type MetricThresholds = typeof MetricThresholds.Type;
@@ -1135,12 +1119,12 @@ type MetricThresholds = typeof MetricThresholds.Type;
1135
1119
  * A glob pattern paired with its metric thresholds.
1136
1120
  * @public
1137
1121
  */
1138
- declare const PatternThresholds: Schema.Tuple2<typeof Schema.String, Schema.Struct<{
1139
- lines: Schema.optional<typeof Schema.Number>;
1140
- functions: Schema.optional<typeof Schema.Number>;
1141
- branches: Schema.optional<typeof Schema.Number>;
1142
- statements: Schema.optional<typeof Schema.Number>;
1143
- }>>;
1122
+ declare const PatternThresholds: Schema.Tuple<readonly [Schema.String, Schema.Struct<{
1123
+ readonly lines: Schema.optional<Schema.Number>;
1124
+ readonly functions: Schema.optional<Schema.Number>;
1125
+ readonly branches: Schema.optional<Schema.Number>;
1126
+ readonly statements: Schema.optional<Schema.Number>;
1127
+ }>]>;
1144
1128
  /** @public */
1145
1129
  type PatternThresholds = typeof PatternThresholds.Type;
1146
1130
  /**
@@ -1148,23 +1132,19 @@ type PatternThresholds = typeof PatternThresholds.Type;
1148
1132
  * @public
1149
1133
  */
1150
1134
  declare const ResolvedThresholds: Schema.Struct<{
1151
- global: Schema.Struct<{
1152
- lines: Schema.optional<typeof Schema.Number>;
1153
- functions: Schema.optional<typeof Schema.Number>;
1154
- branches: Schema.optional<typeof Schema.Number>;
1155
- statements: Schema.optional<typeof Schema.Number>;
1156
- }>;
1157
- perFile: Schema.optionalWith<typeof Schema.Boolean, {
1158
- default: () => false;
1159
- }>;
1160
- patterns: Schema.optionalWith<Schema.Array$<Schema.Tuple2<typeof Schema.String, Schema.Struct<{
1161
- lines: Schema.optional<typeof Schema.Number>;
1162
- functions: Schema.optional<typeof Schema.Number>;
1163
- branches: Schema.optional<typeof Schema.Number>;
1164
- statements: Schema.optional<typeof Schema.Number>;
1165
- }>>>, {
1166
- default: () => never[];
1135
+ readonly global: Schema.Struct<{
1136
+ readonly lines: Schema.optional<Schema.Number>;
1137
+ readonly functions: Schema.optional<Schema.Number>;
1138
+ readonly branches: Schema.optional<Schema.Number>;
1139
+ readonly statements: Schema.optional<Schema.Number>;
1167
1140
  }>;
1141
+ readonly perFile: Schema.withDecodingDefaultKey<Schema.Boolean, never>;
1142
+ readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
1143
+ readonly lines: Schema.optional<Schema.Number>;
1144
+ readonly functions: Schema.optional<Schema.Number>;
1145
+ readonly branches: Schema.optional<Schema.Number>;
1146
+ readonly statements: Schema.optional<Schema.Number>;
1147
+ }>]>>, never>;
1168
1148
  }>;
1169
1149
  /** @public */
1170
1150
  type ResolvedThresholds = typeof ResolvedThresholds.Type;
@@ -1179,9 +1159,9 @@ type ResolvedThresholds = typeof ResolvedThresholds.Type;
1179
1159
  * diff and no breaking API change at the call site.
1180
1160
  * @public
1181
1161
  */
1182
- declare const Transport: Schema.Struct<{
1183
- kind: Schema.Literal<["local"]>;
1184
- }>;
1162
+ declare const Transport: Schema.Union<readonly [Schema.Struct<{
1163
+ readonly kind: Schema.Literal<"local">;
1164
+ }>]>;
1185
1165
  /** @public */
1186
1166
  type Transport = typeof Transport.Type;
1187
1167
  //#endregion
@@ -1378,7 +1358,7 @@ type VitestAgentReporterFactory = (kit: ReporterKit) => VitestAgentReporter | Re
1378
1358
  * agent's lifetime.
1379
1359
  * @public
1380
1360
  */
1381
- declare const AgentId: Schema.brand<typeof Schema.UUID, "AgentId">;
1361
+ declare const AgentId: Schema.brand<Schema.String, "AgentId">;
1382
1362
  /** @public */
1383
1363
  type AgentId = Schema.Schema.Type<typeof AgentId>;
1384
1364
  /**
@@ -1387,7 +1367,7 @@ type AgentId = Schema.Schema.Type<typeof AgentId>;
1387
1367
  * transcript filename for Claude Code.
1388
1368
  * @public
1389
1369
  */
1390
- declare const ConversationId: Schema.brand<typeof Schema.UUID, "ConversationId">;
1370
+ declare const ConversationId: Schema.brand<Schema.String, "ConversationId">;
1391
1371
  /** @public */
1392
1372
  type ConversationId = Schema.Schema.Type<typeof ConversationId>;
1393
1373
  /**
@@ -1397,7 +1377,7 @@ type ConversationId = Schema.Schema.Type<typeof ConversationId>;
1397
1377
  * `sessions.id` (the SQLite agent-run PK).
1398
1378
  * @public
1399
1379
  */
1400
- declare const ChatId: Schema.brand<typeof Schema.UUID, "ChatId">;
1380
+ declare const ChatId: Schema.brand<Schema.String, "ChatId">;
1401
1381
  /** @public */
1402
1382
  type ChatId = Schema.Schema.Type<typeof ChatId>;
1403
1383
  /**
@@ -1405,7 +1385,7 @@ type ChatId = Schema.Schema.Type<typeof ChatId>;
1405
1385
  * vocabulary so "session" is unambiguous in the codebase.
1406
1386
  * @public
1407
1387
  */
1408
- declare const TddTaskId: Schema.brand<typeof Schema.UUID, "TddTaskId">;
1388
+ declare const TddTaskId: Schema.brand<Schema.String, "TddTaskId">;
1409
1389
  /** @public */
1410
1390
  type TddTaskId = Schema.Schema.Type<typeof TddTaskId>;
1411
1391
  /**
@@ -1416,7 +1396,7 @@ type TddTaskId = Schema.Schema.Type<typeof TddTaskId>;
1416
1396
  * value is `ProjectIdentityNotResolvableError`, not an empty string).
1417
1397
  * @public
1418
1398
  */
1419
- declare const ProjectKey: Schema.brand<Schema.filter<typeof Schema.String>, "ProjectKey">;
1399
+ declare const ProjectKey: Schema.brand<Schema.String, "ProjectKey">;
1420
1400
  /** @public */
1421
1401
  type ProjectKey = Schema.Schema.Type<typeof ProjectKey>;
1422
1402
  /**
@@ -1428,7 +1408,7 @@ type ProjectKey = Schema.Schema.Type<typeof ProjectKey>;
1428
1408
  * - `system` — a CI run, scheduler, or other non-human/non-agent actor
1429
1409
  * @public
1430
1410
  */
1431
- declare const ActorType: Schema.Literal<["agent", "user", "system"]>;
1411
+ declare const ActorType: Schema.Literals<readonly ["agent", "user", "system"]>;
1432
1412
  /** @public */
1433
1413
  type ActorType = typeof ActorType.Type;
1434
1414
  /**
@@ -1441,7 +1421,7 @@ type ActorType = typeof ActorType.Type;
1441
1421
  * match a known pattern — preferred over guessing.
1442
1422
  * @public
1443
1423
  */
1444
- declare const HostKind: Schema.Literal<["claude-code", "claude-desktop", "cursor", "goose", "chatgpt", "mcp-inspector", "unknown"]>;
1424
+ declare const HostKind: Schema.Literals<readonly ["claude-code", "claude-desktop", "cursor", "goose", "chatgpt", "mcp-inspector", "unknown"]>;
1445
1425
  /** @public */
1446
1426
  type HostKind = typeof HostKind.Type;
1447
1427
  //#endregion
@@ -1550,10 +1530,13 @@ declare class DataStoreError extends DataStoreError_base<{
1550
1530
  /**
1551
1531
  * Extract a human-readable reason string from an Effect SqlError or unknown error.
1552
1532
  *
1553
- * SqlError wraps the underlying better-sqlite3 error in `cause`. The actual SQLite
1554
- * message (e.g. "SQLITE_BUSY: database is locked", "UNIQUE constraint failed: ...")
1555
- * lives on `cause.message`, while the SqlError's own `message` is generic
1556
- * ("Failed to execute statement"). Prefer the cause's message when available.
1533
+ * SqlError wraps the underlying `node:sqlite` driver error in `cause`. The actual
1534
+ * SQLite message (e.g. "SQLITE_BUSY: database is locked", "UNIQUE constraint
1535
+ * failed: ...") lives on the DEEPEST node in the `cause` chain, while the outer
1536
+ * `message`s are generic ("Failed to execute statement"). The v4 driver commonly
1537
+ * nests two such wrappers, so the real reason sits at `cause.cause.message` — we
1538
+ * walk the full chain and return the deepest non-empty message. Guarded against
1539
+ * circular `cause` references.
1557
1540
  * @public
1558
1541
  */
1559
1542
  declare const extractSqlReason: (e: unknown) => string;
@@ -1788,17 +1771,10 @@ declare const SilentFormatter: Formatter;
1788
1771
  declare const TerminalFormatter: Formatter;
1789
1772
  //#endregion
1790
1773
  //#region src/schemas/Config.d.ts
1791
- declare const VitestAgentConfig_base: Schema.Class<VitestAgentConfig, {
1792
- cacheDir: Schema.optional<typeof Schema.String>;
1793
- projectKey: Schema.optional<typeof Schema.String>;
1794
- }, Schema.Struct.Encoded<{
1795
- cacheDir: Schema.optional<typeof Schema.String>;
1796
- projectKey: Schema.optional<typeof Schema.String>;
1797
- }>, never, {
1798
- readonly cacheDir?: string | undefined;
1799
- } & {
1800
- readonly projectKey?: string | undefined;
1801
- }, {}, {}>;
1774
+ declare const VitestAgentConfig_base: Schema.Class<VitestAgentConfig, Schema.Struct<{
1775
+ readonly cacheDir: Schema.optional<Schema.String>;
1776
+ readonly projectKey: Schema.optional<Schema.String>;
1777
+ }>, {}>;
1802
1778
  /**
1803
1779
  * Schema for the optional `vitest-agent.config.toml` file.
1804
1780
  *
@@ -1823,19 +1799,20 @@ declare class VitestAgentConfig extends VitestAgentConfig_base {}
1823
1799
  /**
1824
1800
  * Service shape that `ConfigLive(projectDir)` provides to downstream
1825
1801
  * consumers. Re-exported so callers can spell out the concrete service
1826
- * type without referencing the `ConfigFileService<A>` generic directly.
1802
+ * type without referencing the `ConfigFileShape<A>` generic directly.
1827
1803
  * @public
1828
1804
  */
1829
- type VitestAgentConfigFileService = ConfigFileService<VitestAgentConfig>;
1805
+ type VitestAgentConfigFileService = ConfigFileShape<VitestAgentConfig>;
1806
+ declare const VitestAgentConfigFile_base: import("effect/Context").ServiceClass<VitestAgentConfigFile, "vitest-agent/Config", ConfigFileShape<VitestAgentConfig>>;
1830
1807
  /**
1831
- * Typed `Context.Tag` for the vitest-agent config file service.
1808
+ * Typed service class (Context tag) for the vitest-agent config file service.
1832
1809
  *
1833
1810
  * Both runtime packages (reporter, MCP) yield this tag to access the loaded
1834
1811
  * `VitestAgentConfig`. The live layer is built per `projectDir` via
1835
1812
  * `ConfigLive(projectDir)`.
1836
1813
  * @public
1837
1814
  */
1838
- declare const VitestAgentConfigFile: import("effect/Context").Tag<ConfigFileService<VitestAgentConfig>, ConfigFileService<VitestAgentConfig>>;
1815
+ declare class VitestAgentConfigFile extends VitestAgentConfigFile_base {}
1839
1816
  //#endregion
1840
1817
  //#region src/layers/ConfigLive.d.ts
1841
1818
  /**
@@ -1847,8 +1824,8 @@ declare const VitestAgentConfigFile: import("effect/Context").Tag<ConfigFileServ
1847
1824
  * 2. The git repository root (when `projectDir` is inside a git repo).
1848
1825
  * 3. Walking upward from `projectDir`.
1849
1826
  *
1850
- * The first found file wins (`FirstMatch` strategy). If no file is present,
1851
- * downstream callers use `loadOrDefault(new VitestAgentConfig({}))`
1827
+ * The first found file wins (`MergeStrategy.firstMatch()`). If no file is
1828
+ * present, downstream callers use `loadOrDefault(new VitestAgentConfig({}))`
1852
1829
  * to get an empty config.
1853
1830
  *
1854
1831
  * @param projectDir - Absolute path inside the user's workspace. Resolvers
@@ -1856,7 +1833,7 @@ declare const VitestAgentConfigFile: import("effect/Context").Tag<ConfigFileServ
1856
1833
  * sees the right config even when invoked from elsewhere.
1857
1834
  * @public
1858
1835
  */
1859
- declare const ConfigLive: (projectDir: string) => Layer.Layer<VitestAgentConfigFileService, never, FileSystem.FileSystem>;
1836
+ declare const ConfigLive: (projectDir: string) => Layer.Layer<VitestAgentConfigFile, never, FileSystem.FileSystem | Path.Path>;
1860
1837
  //#endregion
1861
1838
  //#region src/schemas/Baselines.d.ts
1862
1839
  /**
@@ -1864,21 +1841,19 @@ declare const ConfigLive: (projectDir: string) => Layer.Layer<VitestAgentConfigF
1864
1841
  * @public
1865
1842
  */
1866
1843
  declare const CoverageBaselines: Schema.Struct<{
1867
- updatedAt: typeof Schema.String;
1868
- global: Schema.Struct<{
1869
- lines: Schema.optional<typeof Schema.Number>;
1870
- functions: Schema.optional<typeof Schema.Number>;
1871
- branches: Schema.optional<typeof Schema.Number>;
1872
- statements: Schema.optional<typeof Schema.Number>;
1873
- }>;
1874
- patterns: Schema.optionalWith<Schema.Array$<Schema.Tuple2<typeof Schema.String, Schema.Struct<{
1875
- lines: Schema.optional<typeof Schema.Number>;
1876
- functions: Schema.optional<typeof Schema.Number>;
1877
- branches: Schema.optional<typeof Schema.Number>;
1878
- statements: Schema.optional<typeof Schema.Number>;
1879
- }>>>, {
1880
- default: () => never[];
1844
+ readonly updatedAt: Schema.String;
1845
+ readonly global: Schema.Struct<{
1846
+ readonly lines: Schema.optional<Schema.Number>;
1847
+ readonly functions: Schema.optional<Schema.Number>;
1848
+ readonly branches: Schema.optional<Schema.Number>;
1849
+ readonly statements: Schema.optional<Schema.Number>;
1881
1850
  }>;
1851
+ readonly patterns: Schema.withDecodingDefaultKey<Schema.$Array<Schema.Tuple<readonly [Schema.String, Schema.Struct<{
1852
+ readonly lines: Schema.optional<Schema.Number>;
1853
+ readonly functions: Schema.optional<Schema.Number>;
1854
+ readonly branches: Schema.optional<Schema.Number>;
1855
+ readonly statements: Schema.optional<Schema.Number>;
1856
+ }>]>>, never>;
1882
1857
  }>;
1883
1858
  /** @public */
1884
1859
  type CoverageBaselines = typeof CoverageBaselines.Type;
@@ -1889,11 +1864,11 @@ type CoverageBaselines = typeof CoverageBaselines.Type;
1889
1864
  * @public
1890
1865
  */
1891
1866
  declare const CacheManifestEntry: Schema.Struct<{
1892
- project: typeof Schema.String;
1893
- reportFile: typeof Schema.String;
1894
- historyFile: Schema.optional<typeof Schema.String>;
1895
- lastRun: Schema.NullOr<typeof Schema.String>;
1896
- lastResult: Schema.NullOr<Schema.Literal<["passed", "failed", "interrupted"]>>;
1867
+ readonly project: Schema.String;
1868
+ readonly reportFile: Schema.String;
1869
+ readonly historyFile: Schema.optional<Schema.String>;
1870
+ readonly lastRun: Schema.NullOr<Schema.String>;
1871
+ readonly lastResult: Schema.NullOr<Schema.Literals<readonly ["passed", "failed", "interrupted"]>>;
1897
1872
  }>;
1898
1873
  /** @public */
1899
1874
  type CacheManifestEntry = typeof CacheManifestEntry.Type;
@@ -1902,14 +1877,14 @@ type CacheManifestEntry = typeof CacheManifestEntry.Type;
1902
1877
  * @public
1903
1878
  */
1904
1879
  declare const CacheManifest: Schema.Struct<{
1905
- updatedAt: typeof Schema.String;
1906
- cacheDir: typeof Schema.String;
1907
- projects: Schema.Array$<Schema.Struct<{
1908
- project: typeof Schema.String;
1909
- reportFile: typeof Schema.String;
1910
- historyFile: Schema.optional<typeof Schema.String>;
1911
- lastRun: Schema.NullOr<typeof Schema.String>;
1912
- lastResult: Schema.NullOr<Schema.Literal<["passed", "failed", "interrupted"]>>;
1880
+ readonly updatedAt: Schema.String;
1881
+ readonly cacheDir: Schema.String;
1882
+ readonly projects: Schema.$Array<Schema.Struct<{
1883
+ readonly project: Schema.String;
1884
+ readonly reportFile: Schema.String;
1885
+ readonly historyFile: Schema.optional<Schema.String>;
1886
+ readonly lastRun: Schema.NullOr<Schema.String>;
1887
+ readonly lastResult: Schema.NullOr<Schema.Literals<readonly ["passed", "failed", "interrupted"]>>;
1913
1888
  }>>;
1914
1889
  }>;
1915
1890
  /** @public */
@@ -1921,8 +1896,8 @@ type CacheManifest = typeof CacheManifest.Type;
1921
1896
  * @public
1922
1897
  */
1923
1898
  declare const TestRun: Schema.Struct<{
1924
- timestamp: typeof Schema.String;
1925
- state: Schema.Literal<["passed", "failed"]>;
1899
+ readonly timestamp: Schema.String;
1900
+ readonly state: Schema.Literals<readonly ["passed", "failed"]>;
1926
1901
  }>;
1927
1902
  /** @public */
1928
1903
  type TestRun = typeof TestRun.Type;
@@ -1931,11 +1906,11 @@ type TestRun = typeof TestRun.Type;
1931
1906
  * @public
1932
1907
  */
1933
1908
  declare const TestHistory: Schema.Struct<{
1934
- modulePath: typeof Schema.String;
1935
- fullName: typeof Schema.String;
1936
- runs: Schema.Array$<Schema.Struct<{
1937
- timestamp: typeof Schema.String;
1938
- state: Schema.Literal<["passed", "failed"]>;
1909
+ readonly modulePath: Schema.String;
1910
+ readonly fullName: Schema.String;
1911
+ readonly runs: Schema.$Array<Schema.Struct<{
1912
+ readonly timestamp: Schema.String;
1913
+ readonly state: Schema.Literals<readonly ["passed", "failed"]>;
1939
1914
  }>>;
1940
1915
  }>;
1941
1916
  /** @public */
@@ -1945,14 +1920,14 @@ type TestHistory = typeof TestHistory.Type;
1945
1920
  * @public
1946
1921
  */
1947
1922
  declare const HistoryRecord: Schema.Struct<{
1948
- project: typeof Schema.String;
1949
- updatedAt: typeof Schema.String;
1950
- tests: Schema.Array$<Schema.Struct<{
1951
- modulePath: typeof Schema.String;
1952
- fullName: typeof Schema.String;
1953
- runs: Schema.Array$<Schema.Struct<{
1954
- timestamp: typeof Schema.String;
1955
- state: Schema.Literal<["passed", "failed"]>;
1923
+ readonly project: Schema.String;
1924
+ readonly updatedAt: Schema.String;
1925
+ readonly tests: Schema.$Array<Schema.Struct<{
1926
+ readonly modulePath: Schema.String;
1927
+ readonly fullName: Schema.String;
1928
+ readonly runs: Schema.$Array<Schema.Struct<{
1929
+ readonly timestamp: Schema.String;
1930
+ readonly state: Schema.Literals<readonly ["passed", "failed"]>;
1956
1931
  }>>;
1957
1932
  }>>;
1958
1933
  }>;
@@ -1961,78 +1936,78 @@ type HistoryRecord = typeof HistoryRecord.Type;
1961
1936
  //#endregion
1962
1937
  //#region src/schemas/Tdd.d.ts
1963
1938
  /** @public */
1964
- declare const GoalStatus: Schema.Literal<["pending", "in_progress", "done", "abandoned"]>;
1939
+ declare const GoalStatus: Schema.Literals<readonly ["pending", "in_progress", "done", "abandoned"]>;
1965
1940
  /** @public */
1966
1941
  type GoalStatus = typeof GoalStatus.Type;
1967
1942
  /** @public */
1968
- declare const BehaviorStatus: Schema.Literal<["pending", "in_progress", "done", "abandoned"]>;
1943
+ declare const BehaviorStatus: Schema.Literals<readonly ["pending", "in_progress", "done", "abandoned"]>;
1969
1944
  /** @public */
1970
1945
  type BehaviorStatus = typeof BehaviorStatus.Type;
1971
1946
  /** @public */
1972
1947
  declare const GoalRow: Schema.Struct<{
1973
- id: typeof Schema.Number;
1974
- sessionId: typeof Schema.Number;
1975
- ordinal: typeof Schema.Number;
1976
- goal: typeof Schema.String;
1977
- status: Schema.Literal<["pending", "in_progress", "done", "abandoned"]>;
1978
- createdAt: typeof Schema.String;
1948
+ readonly id: Schema.Number;
1949
+ readonly sessionId: Schema.Number;
1950
+ readonly ordinal: Schema.Number;
1951
+ readonly goal: Schema.String;
1952
+ readonly status: Schema.Literals<readonly ["pending", "in_progress", "done", "abandoned"]>;
1953
+ readonly createdAt: Schema.String;
1979
1954
  }>;
1980
1955
  /** @public */
1981
1956
  type GoalRow = typeof GoalRow.Type;
1982
1957
  /** @public */
1983
1958
  declare const BehaviorRow: Schema.Struct<{
1984
- id: typeof Schema.Number;
1985
- goalId: typeof Schema.Number;
1986
- ordinal: typeof Schema.Number;
1987
- behavior: typeof Schema.String;
1988
- suggestedTestName: Schema.NullOr<typeof Schema.String>;
1989
- status: Schema.Literal<["pending", "in_progress", "done", "abandoned"]>;
1990
- createdAt: typeof Schema.String;
1959
+ readonly id: Schema.Number;
1960
+ readonly goalId: Schema.Number;
1961
+ readonly ordinal: Schema.Number;
1962
+ readonly behavior: Schema.String;
1963
+ readonly suggestedTestName: Schema.NullOr<Schema.String>;
1964
+ readonly status: Schema.Literals<readonly ["pending", "in_progress", "done", "abandoned"]>;
1965
+ readonly createdAt: Schema.String;
1991
1966
  }>;
1992
1967
  /** @public */
1993
1968
  type BehaviorRow = typeof BehaviorRow.Type;
1994
1969
  /** @public */
1995
1970
  declare const GoalDetail: Schema.Struct<{
1996
- id: typeof Schema.Number;
1997
- sessionId: typeof Schema.Number;
1998
- ordinal: typeof Schema.Number;
1999
- goal: typeof Schema.String;
2000
- status: Schema.Literal<["pending", "in_progress", "done", "abandoned"]>;
2001
- createdAt: typeof Schema.String;
2002
- behaviors: Schema.Array$<Schema.Struct<{
2003
- id: typeof Schema.Number;
2004
- goalId: typeof Schema.Number;
2005
- ordinal: typeof Schema.Number;
2006
- behavior: typeof Schema.String;
2007
- suggestedTestName: Schema.NullOr<typeof Schema.String>;
2008
- status: Schema.Literal<["pending", "in_progress", "done", "abandoned"]>;
2009
- createdAt: typeof Schema.String;
1971
+ readonly id: Schema.Number;
1972
+ readonly sessionId: Schema.Number;
1973
+ readonly ordinal: Schema.Number;
1974
+ readonly goal: Schema.String;
1975
+ readonly status: Schema.Literals<readonly ["pending", "in_progress", "done", "abandoned"]>;
1976
+ readonly createdAt: Schema.String;
1977
+ readonly behaviors: Schema.$Array<Schema.Struct<{
1978
+ readonly id: Schema.Number;
1979
+ readonly goalId: Schema.Number;
1980
+ readonly ordinal: Schema.Number;
1981
+ readonly behavior: Schema.String;
1982
+ readonly suggestedTestName: Schema.NullOr<Schema.String>;
1983
+ readonly status: Schema.Literals<readonly ["pending", "in_progress", "done", "abandoned"]>;
1984
+ readonly createdAt: Schema.String;
2010
1985
  }>>;
2011
1986
  }>;
2012
1987
  /** @public */
2013
1988
  type GoalDetail = typeof GoalDetail.Type;
2014
1989
  /** @public */
2015
1990
  declare const BehaviorDetail: Schema.Struct<{
2016
- id: typeof Schema.Number;
2017
- goalId: typeof Schema.Number;
2018
- ordinal: typeof Schema.Number;
2019
- behavior: typeof Schema.String;
2020
- suggestedTestName: Schema.NullOr<typeof Schema.String>;
2021
- status: Schema.Literal<["pending", "in_progress", "done", "abandoned"]>;
2022
- createdAt: typeof Schema.String;
2023
- parentGoal: Schema.Struct<{
2024
- id: typeof Schema.Number;
2025
- goal: typeof Schema.String;
2026
- status: Schema.Literal<["pending", "in_progress", "done", "abandoned"]>;
1991
+ readonly id: Schema.Number;
1992
+ readonly goalId: Schema.Number;
1993
+ readonly ordinal: Schema.Number;
1994
+ readonly behavior: Schema.String;
1995
+ readonly suggestedTestName: Schema.NullOr<Schema.String>;
1996
+ readonly status: Schema.Literals<readonly ["pending", "in_progress", "done", "abandoned"]>;
1997
+ readonly createdAt: Schema.String;
1998
+ readonly parentGoal: Schema.Struct<{
1999
+ readonly id: Schema.Number;
2000
+ readonly goal: Schema.String;
2001
+ readonly status: Schema.Literals<readonly ["pending", "in_progress", "done", "abandoned"]>;
2027
2002
  }>;
2028
- dependencies: Schema.Array$<Schema.Struct<{
2029
- id: typeof Schema.Number;
2030
- goalId: typeof Schema.Number;
2031
- ordinal: typeof Schema.Number;
2032
- behavior: typeof Schema.String;
2033
- suggestedTestName: Schema.NullOr<typeof Schema.String>;
2034
- status: Schema.Literal<["pending", "in_progress", "done", "abandoned"]>;
2035
- createdAt: typeof Schema.String;
2003
+ readonly dependencies: Schema.$Array<Schema.Struct<{
2004
+ readonly id: Schema.Number;
2005
+ readonly goalId: Schema.Number;
2006
+ readonly ordinal: Schema.Number;
2007
+ readonly behavior: Schema.String;
2008
+ readonly suggestedTestName: Schema.NullOr<Schema.String>;
2009
+ readonly status: Schema.Literals<readonly ["pending", "in_progress", "done", "abandoned"]>;
2010
+ readonly createdAt: Schema.String;
2036
2011
  }>>;
2037
2012
  }>;
2038
2013
  /** @public */
@@ -2044,21 +2019,21 @@ type BehaviorDetail = typeof BehaviorDetail.Type;
2044
2019
  * @public
2045
2020
  */
2046
2021
  declare const TrendEntry: Schema.Struct<{
2047
- timestamp: typeof Schema.String;
2048
- coverage: Schema.Struct<{
2049
- statements: typeof Schema.Number;
2050
- branches: typeof Schema.Number;
2051
- functions: typeof Schema.Number;
2052
- lines: typeof Schema.Number;
2022
+ readonly timestamp: Schema.String;
2023
+ readonly coverage: Schema.Struct<{
2024
+ readonly statements: Schema.Number;
2025
+ readonly branches: Schema.Number;
2026
+ readonly functions: Schema.Number;
2027
+ readonly lines: Schema.Number;
2053
2028
  }>;
2054
- delta: Schema.Struct<{
2055
- statements: typeof Schema.Number;
2056
- branches: typeof Schema.Number;
2057
- functions: typeof Schema.Number;
2058
- lines: typeof Schema.Number;
2029
+ readonly delta: Schema.Struct<{
2030
+ readonly statements: Schema.Number;
2031
+ readonly branches: Schema.Number;
2032
+ readonly functions: Schema.Number;
2033
+ readonly lines: Schema.Number;
2059
2034
  }>;
2060
- direction: Schema.Literal<["improving", "regressing", "stable"]>;
2061
- targetsHash: Schema.optional<typeof Schema.String>;
2035
+ readonly direction: Schema.Literals<readonly ["improving", "regressing", "stable"]>;
2036
+ readonly targetsHash: Schema.optional<Schema.String>;
2062
2037
  }>;
2063
2038
  /** @public */
2064
2039
  type TrendEntry = typeof TrendEntry.Type;
@@ -2067,22 +2042,22 @@ type TrendEntry = typeof TrendEntry.Type;
2067
2042
  * @public
2068
2043
  */
2069
2044
  declare const TrendRecord: Schema.Struct<{
2070
- entries: Schema.Array$<Schema.Struct<{
2071
- timestamp: typeof Schema.String;
2072
- coverage: Schema.Struct<{
2073
- statements: typeof Schema.Number;
2074
- branches: typeof Schema.Number;
2075
- functions: typeof Schema.Number;
2076
- lines: typeof Schema.Number;
2045
+ readonly entries: Schema.$Array<Schema.Struct<{
2046
+ readonly timestamp: Schema.String;
2047
+ readonly coverage: Schema.Struct<{
2048
+ readonly statements: Schema.Number;
2049
+ readonly branches: Schema.Number;
2050
+ readonly functions: Schema.Number;
2051
+ readonly lines: Schema.Number;
2077
2052
  }>;
2078
- delta: Schema.Struct<{
2079
- statements: typeof Schema.Number;
2080
- branches: typeof Schema.Number;
2081
- functions: typeof Schema.Number;
2082
- lines: typeof Schema.Number;
2053
+ readonly delta: Schema.Struct<{
2054
+ readonly statements: Schema.Number;
2055
+ readonly branches: Schema.Number;
2056
+ readonly functions: Schema.Number;
2057
+ readonly lines: Schema.Number;
2083
2058
  }>;
2084
- direction: Schema.Literal<["improving", "regressing", "stable"]>;
2085
- targetsHash: Schema.optional<typeof Schema.String>;
2059
+ readonly direction: Schema.Literals<readonly ["improving", "regressing", "stable"]>;
2060
+ readonly targetsHash: Schema.optional<Schema.String>;
2086
2061
  }>>;
2087
2062
  }>;
2088
2063
  /** @public */
@@ -2165,21 +2140,19 @@ declare const transitionEnforcesBehaviorMatch: (from: Phase, to: Phase) => boole
2165
2140
  declare const validatePhaseTransition: (ctx: PhaseTransitionContext) => PhaseTransitionResult;
2166
2141
  //#endregion
2167
2142
  //#region src/schemas/Agent.d.ts
2168
- declare const Agent_base: Schema.TaggedClass<Agent, "Agent", {
2169
- readonly _tag: Schema.tag<"Agent">;
2170
- } & {
2171
- agentId: Schema.brand<typeof Schema.UUID, "AgentId">;
2172
- sessionId: typeof Schema.Number;
2173
- parentAgentId: Schema.NullOr<Schema.brand<typeof Schema.UUID, "AgentId">>;
2174
- conversationId: Schema.NullOr<Schema.brand<typeof Schema.UUID, "ConversationId">>;
2175
- agentType: typeof Schema.String;
2176
- startedAt: typeof Schema.Number;
2177
- endedAt: Schema.NullOr<typeof Schema.Number>;
2178
- startGitBranch: Schema.NullOr<typeof Schema.String>;
2179
- startGitCommitSha: Schema.NullOr<typeof Schema.String>;
2180
- startWorktreeDir: Schema.NullOr<typeof Schema.String>;
2181
- idempotencyKey: typeof Schema.String;
2182
- }>;
2143
+ declare const Agent_base: Schema.Class<Agent, Schema.TaggedStruct<"Agent", {
2144
+ readonly agentId: Schema.brand<Schema.String, "AgentId">;
2145
+ readonly sessionId: Schema.Number;
2146
+ readonly parentAgentId: Schema.NullOr<Schema.brand<Schema.String, "AgentId">>;
2147
+ readonly conversationId: Schema.NullOr<Schema.brand<Schema.String, "ConversationId">>;
2148
+ readonly agentType: Schema.String;
2149
+ readonly startedAt: Schema.Number;
2150
+ readonly endedAt: Schema.NullOr<Schema.Number>;
2151
+ readonly startGitBranch: Schema.NullOr<Schema.String>;
2152
+ readonly startGitCommitSha: Schema.NullOr<Schema.String>;
2153
+ readonly startWorktreeDir: Schema.NullOr<Schema.String>;
2154
+ readonly idempotencyKey: Schema.String;
2155
+ }>, {}>;
2183
2156
  /**
2184
2157
  * Successful registration row. The fields mirror the `agents` SQLite
2185
2158
  * table 1:1 in camelCase.
@@ -2193,7 +2166,7 @@ declare const Agent_base: Schema.TaggedClass<Agent, "Agent", {
2193
2166
  declare class Agent extends Agent_base {}
2194
2167
  declare const IdempotencyHit_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]; }>) => Readonly<A> & {
2195
2168
  readonly _tag: "IdempotencyHit";
2196
- };
2169
+ } & import("effect/Pipeable").Pipeable;
2197
2170
  /**
2198
2171
  * Returned by `DataStore.registerAgent` when the
2199
2172
  * `(session_id, idempotency_key)` UNIQUE constraint already has a
@@ -2589,7 +2562,7 @@ interface AssociateRunSessionInput {
2589
2562
  readonly chatId: string;
2590
2563
  readonly invocationMethod: RunInvocationMethod;
2591
2564
  }
2592
- declare const DataStore_base: Context.TagClass<DataStore, "vitest-agent/DataStore", {
2565
+ declare const DataStore_base: Context.ServiceClass<DataStore, "vitest-agent/DataStore", {
2593
2566
  readonly writeSettings: (hash: string, settings: SettingsInput, envVars: Record<string, string>) => Effect.Effect<void, DataStoreError>;
2594
2567
  readonly writeRun: (input: TestRunInput) => Effect.Effect<number, DataStoreError>;
2595
2568
  readonly writeModules: (runId: number, modules: ReadonlyArray<ModuleInput>) => Effect.Effect<ReadonlyArray<number>, DataStoreError>;
@@ -2956,7 +2929,7 @@ interface TagInventoryRow {
2956
2929
  */
2957
2930
  readonly testCount: number;
2958
2931
  }
2959
- declare const DataReader_base: Context.TagClass<DataReader, "vitest-agent/DataReader", {
2932
+ declare const DataReader_base: Context.ServiceClass<DataReader, "vitest-agent/DataReader", {
2960
2933
  readonly getLatestRun: (project: string) => Effect.Effect<Option.Option<AgentReport>, DataStoreError>;
2961
2934
  readonly getRunsByProject: () => Effect.Effect<ReadonlyArray<ProjectRunSummary>, DataStoreError>;
2962
2935
  readonly getHistory: (project: string) => Effect.Effect<HistoryRecord, DataStoreError>;
@@ -3090,7 +3063,7 @@ interface RunHealth {
3090
3063
  readonly belowTargets: boolean;
3091
3064
  readonly hasTargets?: boolean;
3092
3065
  }
3093
- declare const DetailResolver_base: Context.TagClass<DetailResolver, "vitest-agent/DetailResolver", {
3066
+ declare const DetailResolver_base: Context.ServiceClass<DetailResolver, "vitest-agent/DetailResolver", {
3094
3067
  readonly resolve: (executor: Executor, health: RunHealth, explicit?: DetailLevel) => Effect.Effect<DetailLevel>;
3095
3068
  }>;
3096
3069
  /** @public */
@@ -3127,7 +3100,7 @@ interface KnownProject {
3127
3100
  readonly firstSeenAt: number;
3128
3101
  readonly lastSeenAt: number;
3129
3102
  }
3130
- declare const DiscoveryRegistry_base: Context.TagClass<DiscoveryRegistry, "vitest-agent/DiscoveryRegistry", {
3103
+ declare const DiscoveryRegistry_base: Context.ServiceClass<DiscoveryRegistry, "vitest-agent/DiscoveryRegistry", {
3131
3104
  /**
3132
3105
  * Upsert this project into the registry. Sets `first_seen_at` on
3133
3106
  * insert; updates `last_seen_at` plus all mutable fields on
@@ -3154,7 +3127,7 @@ declare class DiscoveryRegistry extends DiscoveryRegistry_base {}
3154
3127
  declare const DiscoveryRegistryLive: Layer.Layer<DiscoveryRegistry, never, SqlClient>;
3155
3128
  //#endregion
3156
3129
  //#region src/services/EnvironmentDetector.d.ts
3157
- declare const EnvironmentDetector_base: Context.TagClass<EnvironmentDetector, "vitest-agent/EnvironmentDetector", {
3130
+ declare const EnvironmentDetector_base: Context.ServiceClass<EnvironmentDetector, "vitest-agent/EnvironmentDetector", {
3158
3131
  readonly detect: () => Effect.Effect<Environment>;
3159
3132
  readonly isAgent: Effect.Effect<boolean>;
3160
3133
  readonly agentName: Effect.Effect<string | undefined>;
@@ -3173,7 +3146,7 @@ declare const EnvironmentDetectorTest: {
3173
3146
  };
3174
3147
  //#endregion
3175
3148
  //#region src/services/ExecutorResolver.d.ts
3176
- declare const ExecutorResolver_base: Context.TagClass<ExecutorResolver, "vitest-agent/ExecutorResolver", {
3149
+ declare const ExecutorResolver_base: Context.ServiceClass<ExecutorResolver, "vitest-agent/ExecutorResolver", {
3177
3150
  readonly resolve: (env: Environment) => Effect.Effect<Executor>;
3178
3151
  }>;
3179
3152
  /** @public */
@@ -3184,7 +3157,7 @@ declare class ExecutorResolver extends ExecutorResolver_base {}
3184
3157
  declare const ExecutorResolverLive: Layer.Layer<ExecutorResolver, never, never>;
3185
3158
  //#endregion
3186
3159
  //#region src/services/FormatSelector.d.ts
3187
- declare const FormatSelector_base: Context.TagClass<FormatSelector, "vitest-agent/FormatSelector", {
3160
+ declare const FormatSelector_base: Context.ServiceClass<FormatSelector, "vitest-agent/FormatSelector", {
3188
3161
  readonly select: (executor: Executor, explicitFormat?: OutputFormat, environment?: Environment) => Effect.Effect<OutputFormat>;
3189
3162
  }>;
3190
3163
  /** @public */
@@ -3227,7 +3200,7 @@ interface TestOutcome {
3227
3200
  * @public
3228
3201
  */
3229
3202
  declare const historyKey: (modulePath: string, fullName: string) => string;
3230
- declare const HistoryTracker_base: Context.TagClass<HistoryTracker, "vitest-agent/HistoryTracker", {
3203
+ declare const HistoryTracker_base: Context.ServiceClass<HistoryTracker, "vitest-agent/HistoryTracker", {
3231
3204
  readonly classify: (project: string, testOutcomes: ReadonlyArray<TestOutcome>, timestamp: string) => Effect.Effect<{
3232
3205
  history: HistoryRecord;
3233
3206
  classifications: Map<string, TestClassification>;
@@ -3261,9 +3234,10 @@ declare const HistoryTrackerTest: {
3261
3234
  /**
3262
3235
  * Create a structured JSON (NDJSON) logger layer for stderr.
3263
3236
  *
3264
- * When level is undefined or LogLevel.None, replaces the default logger with Logger.none (silent).
3265
- * When logFile is set, composes with a file logger via Logger.zip.
3266
- * Uses Logger.structuredLogger serialized to JSON for machine-readable output.
3237
+ * When level is undefined or `"None"`, installs an empty logger set (silent).
3238
+ * When logFile is set, composes the stderr logger with a file logger.
3239
+ * Uses `Logger.formatJson` / `Logger.formatStructured` for machine-readable
3240
+ * output.
3267
3241
  * @public
3268
3242
  */
3269
3243
  declare const LoggerLive: (level?: LogLevel.LogLevel, logFile?: string) => Layer.Layer<never>;
@@ -3280,7 +3254,7 @@ declare function resolveLogFile(option?: string): string | undefined;
3280
3254
  declare const OutputPipelineLive: Layer.Layer<DetailResolver | EnvironmentDetector | ExecutorResolver | FormatSelector | OutputRenderer, never, never>;
3281
3255
  //#endregion
3282
3256
  //#region src/services/OutputRenderer.d.ts
3283
- declare const OutputRenderer_base: Context.TagClass<OutputRenderer, "vitest-agent/OutputRenderer", {
3257
+ declare const OutputRenderer_base: Context.ServiceClass<OutputRenderer, "vitest-agent/OutputRenderer", {
3284
3258
  readonly render: (reports: ReadonlyArray<AgentReport>, format: OutputFormat, context: FormatterContext) => Effect.Effect<ReadonlyArray<RenderedOutput>>;
3285
3259
  }>;
3286
3260
  /** @public */
@@ -3294,17 +3268,21 @@ declare const OutputRendererLive: Layer.Layer<OutputRenderer, never, never>;
3294
3268
  /**
3295
3269
  * Composite layer providing every service `resolveDataPath` requires:
3296
3270
  * `AppDirs` (XDG path resolution), `VitestAgentConfigFile` (TOML
3297
- * config loader), `WorkspaceDiscovery` and `WorkspaceRoot` (workspace name
3271
+ * config loader), and `WorkspaceDiscovery` / `WorkspaceRoot` (workspace name
3298
3272
  * lookup).
3299
3273
  *
3300
3274
  * Callers still need to provide `FileSystem` and `Path` from
3301
- * `@effect/platform-node`'s `NodeContext.layer` (or the equivalent on Bun).
3275
+ * `@effect/platform-node`'s `NodeServices.layer` (or the equivalent on Bun).
3276
+ *
3277
+ * `WorkspaceDiscovery` is anchored at `projectDir`: on v4,
3278
+ * `@effected/workspaces` resolves the workspace root from the layer's `cwd`
3279
+ * rather than a per-call path, so the `cwd` is pinned here.
3302
3280
  *
3303
3281
  * @param projectDir - Absolute path inside the user's workspace, used to
3304
- * anchor the config file resolvers.
3282
+ * anchor the config file resolvers and workspace discovery.
3305
3283
  * @public
3306
3284
  */
3307
- declare const PathResolutionLive: (projectDir: string) => Layer.Layer<import("xdg-effect").AppDirs | VitestAgentConfigFileService | import("workspaces-effect").WorkspaceDiscovery | import("xdg-effect").XdgResolver, never, import("@effect/platform/FileSystem").FileSystem | import("@effect/platform/Path").Path>;
3285
+ declare const PathResolutionLive: (projectDir: string) => Layer.Layer<AppDirs | VitestAgentConfigFile | WorkspaceDiscovery, import("@effected/xdg").XdgEnvError, import("effect/FileSystem").FileSystem | import("effect/Path").Path>;
3308
3286
  //#endregion
3309
3287
  //#region src/services/PerClientSessionMap.d.ts
3310
3288
  /** @public */
@@ -3329,7 +3307,7 @@ interface SessionContextRow {
3329
3307
  readonly startedAt: number;
3330
3308
  readonly endedAt: number | null;
3331
3309
  }
3332
- declare const PerClientSessionMapReader_base: Context.TagClass<PerClientSessionMapReader, "vitest-agent/PerClientSessionMapReader", {
3310
+ declare const PerClientSessionMapReader_base: Context.ServiceClass<PerClientSessionMapReader, "vitest-agent/PerClientSessionMapReader", {
3333
3311
  /**
3334
3312
  * Look up an existing conversation_id for a given transcript
3335
3313
  * path. Returns `Option.none()` when the transcript hasn't been
@@ -3353,7 +3331,7 @@ declare const PerClientSessionMapReader_base: Context.TagClass<PerClientSessionM
3353
3331
  * @public
3354
3332
  */
3355
3333
  declare class PerClientSessionMapReader extends PerClientSessionMapReader_base {}
3356
- declare const PerClientSessionMapWriter_base: Context.TagClass<PerClientSessionMapWriter, "vitest-agent/PerClientSessionMapWriter", {
3334
+ declare const PerClientSessionMapWriter_base: Context.ServiceClass<PerClientSessionMapWriter, "vitest-agent/PerClientSessionMapWriter", {
3357
3335
  /**
3358
3336
  * Upsert a conversation row. Returns the canonical conversation_id
3359
3337
  * for the given transcript_path (existing if seen before, freshly
@@ -3413,7 +3391,7 @@ interface TestFileEntry {
3413
3391
  readonly testFile: string;
3414
3392
  readonly sourceFiles: ReadonlyArray<string>;
3415
3393
  }
3416
- declare const ProjectDiscovery_base: Context.TagClass<ProjectDiscovery, "vitest-agent/ProjectDiscovery", {
3394
+ declare const ProjectDiscovery_base: Context.ServiceClass<ProjectDiscovery, "vitest-agent/ProjectDiscovery", {
3417
3395
  readonly discoverTestFiles: (rootDir: string) => Effect.Effect<ReadonlyArray<TestFileEntry>, DiscoveryError>;
3418
3396
  readonly mapTestToSource: (testFile: string) => Effect.Effect<ReadonlyArray<string>, DiscoveryError>;
3419
3397
  }>;
@@ -3487,7 +3465,7 @@ interface ResolveProjectIdentityOptions {
3487
3465
  * @public
3488
3466
  */
3489
3467
  declare const resolveProjectIdentityFromCandidates: (candidates: ProjectIdentityCandidates) => ResolvedIdentity | null;
3490
- declare const ProjectIdentity_base: Context.TagClass<ProjectIdentity, "vitest-agent/ProjectIdentity", {
3468
+ declare const ProjectIdentity_base: Context.ServiceClass<ProjectIdentity, "vitest-agent/ProjectIdentity", {
3491
3469
  readonly resolve: (workspaceRoot: string, options?: ResolveProjectIdentityOptions) => Effect.Effect<ResolvedIdentity, ProjectIdentityNotResolvableError>;
3492
3470
  }>;
3493
3471
  /**
@@ -3509,12 +3487,12 @@ declare class ProjectIdentity extends ProjectIdentity_base {}
3509
3487
  *
3510
3488
  * @public
3511
3489
  */
3512
- type CandidateContext = FileSystem.FileSystem | WorkspaceDiscovery | Context.Tag.Identifier<typeof VitestAgentConfigFile> | CommandExecutor.CommandExecutor;
3490
+ type CandidateContext = FileSystem.FileSystem | WorkspaceDiscovery | VitestAgentConfigFile | ChildProcessSpawner.ChildProcessSpawner;
3513
3491
  /**
3514
3492
  * Live layer that wires the resolver into real I/O. Requires
3515
3493
  * `FileSystem`, `CommandExecutor`, `WorkspaceDiscovery`, and
3516
3494
  * `VitestAgentConfigFile`. The platform context comes from
3517
- * `NodeContext.layer` at the entry point.
3495
+ * `NodeServices.layer` at the entry point.
3518
3496
  * @public
3519
3497
  */
3520
3498
  declare const ProjectIdentityLive: Layer.Layer<ProjectIdentity, never, CandidateContext>;
@@ -3528,41 +3506,16 @@ declare const ProjectIdentityLive: Layer.Layer<ProjectIdentity, never, Candidate
3528
3506
  declare const ProjectIdentityTest: (result: ResolvedIdentity | ProjectIdentityNotResolvableError) => Layer.Layer<ProjectIdentity, never, never>;
3529
3507
  //#endregion
3530
3508
  //#region src/services/RunContext.d.ts
3531
- declare const RunContext_base: Schema.Class<RunContext, {
3532
- gitBranch: Schema.NullOr<typeof Schema.String>;
3533
- gitCommitSha: Schema.NullOr<typeof Schema.String>;
3534
- gitDirty: Schema.NullOr<typeof Schema.Boolean>;
3535
- gitUpstream: Schema.NullOr<typeof Schema.String>;
3536
- gitWorktreeDir: Schema.NullOr<typeof Schema.String>;
3537
- hostSource: Schema.NullOr<typeof Schema.String>;
3538
- hostValue: Schema.NullOr<typeof Schema.String>;
3539
- hostMetadata: Schema.NullOr<typeof Schema.Unknown>;
3540
- }, Schema.Struct.Encoded<{
3541
- gitBranch: Schema.NullOr<typeof Schema.String>;
3542
- gitCommitSha: Schema.NullOr<typeof Schema.String>;
3543
- gitDirty: Schema.NullOr<typeof Schema.Boolean>;
3544
- gitUpstream: Schema.NullOr<typeof Schema.String>;
3545
- gitWorktreeDir: Schema.NullOr<typeof Schema.String>;
3546
- hostSource: Schema.NullOr<typeof Schema.String>;
3547
- hostValue: Schema.NullOr<typeof Schema.String>;
3548
- hostMetadata: Schema.NullOr<typeof Schema.Unknown>;
3549
- }>, never, {
3550
- readonly gitBranch: string | null;
3551
- } & {
3552
- readonly gitCommitSha: string | null;
3553
- } & {
3554
- readonly gitDirty: boolean | null;
3555
- } & {
3556
- readonly gitUpstream: string | null;
3557
- } & {
3558
- readonly gitWorktreeDir: string | null;
3559
- } & {
3560
- readonly hostMetadata: unknown;
3561
- } & {
3562
- readonly hostSource: string | null;
3563
- } & {
3564
- readonly hostValue: string | null;
3565
- }, {}, {}>;
3509
+ declare const RunContext_base: Schema.Class<RunContext, Schema.Struct<{
3510
+ readonly gitBranch: Schema.NullOr<Schema.String>;
3511
+ readonly gitCommitSha: Schema.NullOr<Schema.String>;
3512
+ readonly gitDirty: Schema.NullOr<Schema.Boolean>;
3513
+ readonly gitUpstream: Schema.NullOr<Schema.String>;
3514
+ readonly gitWorktreeDir: Schema.NullOr<Schema.String>;
3515
+ readonly hostSource: Schema.NullOr<Schema.String>;
3516
+ readonly hostValue: Schema.NullOr<Schema.String>;
3517
+ readonly hostMetadata: Schema.NullOr<Schema.Unknown>;
3518
+ }>, {}>;
3566
3519
  /**
3567
3520
  * Per-run snapshot of the workspace's git state and host context.
3568
3521
  * Every field is nullable: a non-git workspace has all-NULL git
@@ -3575,21 +3528,11 @@ declare const RunContext_base: Schema.Class<RunContext, {
3575
3528
  * @public
3576
3529
  */
3577
3530
  declare class RunContext extends RunContext_base {}
3578
- declare const AgentContext_base: Schema.Class<AgentContext, {
3579
- startGitBranch: Schema.NullOr<typeof Schema.String>;
3580
- startGitCommitSha: Schema.NullOr<typeof Schema.String>;
3581
- startWorktreeDir: Schema.NullOr<typeof Schema.String>;
3582
- }, Schema.Struct.Encoded<{
3583
- startGitBranch: Schema.NullOr<typeof Schema.String>;
3584
- startGitCommitSha: Schema.NullOr<typeof Schema.String>;
3585
- startWorktreeDir: Schema.NullOr<typeof Schema.String>;
3586
- }>, never, {
3587
- readonly startGitBranch: string | null;
3588
- } & {
3589
- readonly startGitCommitSha: string | null;
3590
- } & {
3591
- readonly startWorktreeDir: string | null;
3592
- }, {}, {}>;
3531
+ declare const AgentContext_base: Schema.Class<AgentContext, Schema.Struct<{
3532
+ readonly startGitBranch: Schema.NullOr<Schema.String>;
3533
+ readonly startGitCommitSha: Schema.NullOr<Schema.String>;
3534
+ readonly startWorktreeDir: Schema.NullOr<Schema.String>;
3535
+ }>, {}>;
3593
3536
  /**
3594
3537
  * Subset of {@link RunContext} captured at agent registration. Only
3595
3538
  * the inheritable git context — branch, sha, worktree path. Mid-run
@@ -3597,7 +3540,7 @@ declare const AgentContext_base: Schema.Class<AgentContext, {
3597
3540
  * @public
3598
3541
  */
3599
3542
  declare class AgentContext extends AgentContext_base {}
3600
- declare const RunContext$_base: Context.TagClass<RunContext$, "vitest-agent/RunContextService", {
3543
+ declare const RunContext$_base: Context.ServiceClass<RunContext$, "vitest-agent/RunContextService", {
3601
3544
  readonly captureRunContext: (cwd: string) => Effect.Effect<RunContext>;
3602
3545
  readonly captureAgentContext: (cwd: string) => Effect.Effect<AgentContext>;
3603
3546
  }>;
@@ -3621,14 +3564,14 @@ type RunContextService = RunContext$;
3621
3564
  //#endregion
3622
3565
  //#region src/layers/RunContextLive.d.ts
3623
3566
  /**
3624
- * Live layer. Requires `CommandExecutor` (provided by
3625
- * `NodeContext.layer` at the entry point). Reads `process.env`
3567
+ * Live layer. Requires `ChildProcessSpawner` (provided by
3568
+ * `NodeServices.layer` at the entry point). Reads `process.env`
3626
3569
  * directly for host-metadata probes — the env walk is pure but the
3627
3570
  * env source is process-global, captured once when the layer
3628
3571
  * constructs.
3629
3572
  * @public
3630
3573
  */
3631
- declare const RunContextLive: Layer.Layer<RunContextService, never, CommandExecutor.CommandExecutor>;
3574
+ declare const RunContextLive: Layer.Layer<RunContextService, never, ChildProcessSpawner.ChildProcessSpawner>;
3632
3575
  /**
3633
3576
  * Build a Test layer that returns fixed `RunContext` and
3634
3577
  * `AgentContext` values regardless of `cwd`.
@@ -3671,7 +3614,7 @@ declare const formatWrapupEffect: (options: FormatWrapupOptions) => Effect.Effec
3671
3614
  //#endregion
3672
3615
  //#region src/migrations/0001_initial.d.ts
3673
3616
  /** @internal */
3674
- declare const migration: Effect.Effect<void, import("@effect/sql/SqlError").SqlError, SqlClient>;
3617
+ declare const migration: Effect.Effect<void, import("effect/unstable/sql/SqlError").SqlError, SqlClient>;
3675
3618
  //#endregion
3676
3619
  //#region src/migrations/registry_0001_initial.d.ts
3677
3620
  /**
@@ -3688,236 +3631,236 @@ declare const migration: Effect.Effect<void, import("@effect/sql/SqlError").SqlE
3688
3631
  * the `ON CONFLICT(project_key) DO UPDATE` upsert.
3689
3632
  * @public
3690
3633
  */
3691
- declare const migration$1: Effect.Effect<void, import("@effect/sql/SqlError").SqlError, SqlClient>;
3634
+ declare const migration$1: Effect.Effect<void, import("effect/unstable/sql/SqlError").SqlError, SqlClient>;
3692
3635
  //#endregion
3693
3636
  //#region src/migrations/session_map_0001_initial.d.ts
3694
3637
  /** @internal */
3695
- declare const migration$2: Effect.Effect<void, import("@effect/sql/SqlError").SqlError, SqlClient>;
3638
+ declare const migration$2: Effect.Effect<void, import("effect/unstable/sql/SqlError").SqlError, SqlClient>;
3696
3639
  //#endregion
3697
3640
  //#region src/schemas/ChannelEvent.d.ts
3698
3641
  /** @public */
3699
- declare const SessionOutcome: Schema.Literal<["succeeded", "blocked", "abandoned"]>;
3642
+ declare const SessionOutcome: Schema.Literals<readonly ["succeeded", "blocked", "abandoned"]>;
3700
3643
  /** @public */
3701
3644
  type SessionOutcome = typeof SessionOutcome.Type;
3702
3645
  /** @public */
3703
3646
  declare const GoalsReadyEvent: Schema.Struct<{
3704
- type: Schema.Literal<["goals_ready"]>;
3705
- sessionId: typeof Schema.Number;
3706
- goals: Schema.Array$<Schema.Struct<{
3707
- id: typeof Schema.Number;
3708
- ordinal: typeof Schema.Number;
3709
- goal: typeof Schema.String;
3647
+ readonly type: Schema.Literal<"goals_ready">;
3648
+ readonly sessionId: Schema.Number;
3649
+ readonly goals: Schema.$Array<Schema.Struct<{
3650
+ readonly id: Schema.Number;
3651
+ readonly ordinal: Schema.Number;
3652
+ readonly goal: Schema.String;
3710
3653
  }>>;
3711
3654
  }>;
3712
3655
  /** @public */
3713
3656
  type GoalsReadyEvent = typeof GoalsReadyEvent.Type;
3714
3657
  /** @public */
3715
3658
  declare const GoalAddedEvent: Schema.Struct<{
3716
- type: Schema.Literal<["goal_added"]>;
3717
- sessionId: typeof Schema.Number;
3718
- goal: Schema.Struct<{
3719
- id: typeof Schema.Number;
3720
- ordinal: typeof Schema.Number;
3721
- goal: typeof Schema.String;
3659
+ readonly type: Schema.Literal<"goal_added">;
3660
+ readonly sessionId: Schema.Number;
3661
+ readonly goal: Schema.Struct<{
3662
+ readonly id: Schema.Number;
3663
+ readonly ordinal: Schema.Number;
3664
+ readonly goal: Schema.String;
3722
3665
  }>;
3723
3666
  }>;
3724
3667
  /** @public */
3725
3668
  type GoalAddedEvent = typeof GoalAddedEvent.Type;
3726
3669
  /** @public */
3727
3670
  declare const GoalStartedEvent: Schema.Struct<{
3728
- type: Schema.Literal<["goal_started"]>;
3729
- sessionId: typeof Schema.Number;
3730
- goalId: typeof Schema.Number;
3671
+ readonly type: Schema.Literal<"goal_started">;
3672
+ readonly sessionId: Schema.Number;
3673
+ readonly goalId: Schema.Number;
3731
3674
  }>;
3732
3675
  /** @public */
3733
3676
  type GoalStartedEvent = typeof GoalStartedEvent.Type;
3734
3677
  /** @public */
3735
3678
  declare const GoalCompletedEvent: Schema.Struct<{
3736
- type: Schema.Literal<["goal_completed"]>;
3737
- sessionId: typeof Schema.Number;
3738
- goalId: typeof Schema.Number;
3739
- behaviorIds: Schema.Array$<typeof Schema.Number>;
3679
+ readonly type: Schema.Literal<"goal_completed">;
3680
+ readonly sessionId: Schema.Number;
3681
+ readonly goalId: Schema.Number;
3682
+ readonly behaviorIds: Schema.$Array<Schema.Number>;
3740
3683
  }>;
3741
3684
  /** @public */
3742
3685
  type GoalCompletedEvent = typeof GoalCompletedEvent.Type;
3743
3686
  /** @public */
3744
3687
  declare const GoalAbandonedEvent: Schema.Struct<{
3745
- type: Schema.Literal<["goal_abandoned"]>;
3746
- sessionId: typeof Schema.Number;
3747
- goalId: typeof Schema.Number;
3748
- reason: typeof Schema.String;
3688
+ readonly type: Schema.Literal<"goal_abandoned">;
3689
+ readonly sessionId: Schema.Number;
3690
+ readonly goalId: Schema.Number;
3691
+ readonly reason: Schema.String;
3749
3692
  }>;
3750
3693
  /** @public */
3751
3694
  type GoalAbandonedEvent = typeof GoalAbandonedEvent.Type;
3752
3695
  /** @public */
3753
3696
  declare const BehaviorsReadyEvent: Schema.Struct<{
3754
- type: Schema.Literal<["behaviors_ready"]>;
3755
- sessionId: typeof Schema.Number;
3756
- goalId: typeof Schema.Number;
3757
- behaviors: Schema.Array$<Schema.Struct<{
3758
- id: typeof Schema.Number;
3759
- ordinal: typeof Schema.Number;
3760
- behavior: typeof Schema.String;
3697
+ readonly type: Schema.Literal<"behaviors_ready">;
3698
+ readonly sessionId: Schema.Number;
3699
+ readonly goalId: Schema.Number;
3700
+ readonly behaviors: Schema.$Array<Schema.Struct<{
3701
+ readonly id: Schema.Number;
3702
+ readonly ordinal: Schema.Number;
3703
+ readonly behavior: Schema.String;
3761
3704
  }>>;
3762
3705
  }>;
3763
3706
  /** @public */
3764
3707
  type BehaviorsReadyEvent = typeof BehaviorsReadyEvent.Type;
3765
3708
  /** @public */
3766
3709
  declare const BehaviorAddedEvent: Schema.Struct<{
3767
- type: Schema.Literal<["behavior_added"]>;
3768
- sessionId: typeof Schema.Number;
3769
- goalId: typeof Schema.Number;
3770
- behavior: Schema.Struct<{
3771
- id: typeof Schema.Number;
3772
- ordinal: typeof Schema.Number;
3773
- behavior: typeof Schema.String;
3710
+ readonly type: Schema.Literal<"behavior_added">;
3711
+ readonly sessionId: Schema.Number;
3712
+ readonly goalId: Schema.Number;
3713
+ readonly behavior: Schema.Struct<{
3714
+ readonly id: Schema.Number;
3715
+ readonly ordinal: Schema.Number;
3716
+ readonly behavior: Schema.String;
3774
3717
  }>;
3775
3718
  }>;
3776
3719
  /** @public */
3777
3720
  type BehaviorAddedEvent = typeof BehaviorAddedEvent.Type;
3778
3721
  /** @public */
3779
3722
  declare const BehaviorStartedEvent: Schema.Struct<{
3780
- type: Schema.Literal<["behavior_started"]>;
3781
- sessionId: typeof Schema.Number;
3782
- goalId: typeof Schema.Number;
3783
- behaviorId: typeof Schema.Number;
3723
+ readonly type: Schema.Literal<"behavior_started">;
3724
+ readonly sessionId: Schema.Number;
3725
+ readonly goalId: Schema.Number;
3726
+ readonly behaviorId: Schema.Number;
3784
3727
  }>;
3785
3728
  /** @public */
3786
3729
  type BehaviorStartedEvent = typeof BehaviorStartedEvent.Type;
3787
3730
  /** @public */
3788
3731
  declare const PhaseTransitionEvent: Schema.Struct<{
3789
- type: Schema.Literal<["phase_transition"]>;
3790
- sessionId: typeof Schema.Number;
3791
- goalId: typeof Schema.Number;
3792
- behaviorId: typeof Schema.Number;
3793
- from: Schema.Literal<["spike", "red", "red.triangulate", "green", "green.fake-it", "refactor", "extended-red", "green-without-red"]>;
3794
- to: Schema.Literal<["spike", "red", "red.triangulate", "green", "green.fake-it", "refactor", "extended-red", "green-without-red"]>;
3732
+ readonly type: Schema.Literal<"phase_transition">;
3733
+ readonly sessionId: Schema.Number;
3734
+ readonly goalId: Schema.Number;
3735
+ readonly behaviorId: Schema.Number;
3736
+ readonly from: Schema.Literals<readonly ["spike", "red", "red.triangulate", "green", "green.fake-it", "refactor", "extended-red", "green-without-red"]>;
3737
+ readonly to: Schema.Literals<readonly ["spike", "red", "red.triangulate", "green", "green.fake-it", "refactor", "extended-red", "green-without-red"]>;
3795
3738
  }>;
3796
3739
  /** @public */
3797
3740
  type PhaseTransitionEvent = typeof PhaseTransitionEvent.Type;
3798
3741
  /** @public */
3799
3742
  declare const BehaviorCompletedEvent: Schema.Struct<{
3800
- type: Schema.Literal<["behavior_completed"]>;
3801
- sessionId: typeof Schema.Number;
3802
- goalId: typeof Schema.Number;
3803
- behaviorId: typeof Schema.Number;
3743
+ readonly type: Schema.Literal<"behavior_completed">;
3744
+ readonly sessionId: Schema.Number;
3745
+ readonly goalId: Schema.Number;
3746
+ readonly behaviorId: Schema.Number;
3804
3747
  }>;
3805
3748
  /** @public */
3806
3749
  type BehaviorCompletedEvent = typeof BehaviorCompletedEvent.Type;
3807
3750
  /** @public */
3808
3751
  declare const BehaviorAbandonedEvent: Schema.Struct<{
3809
- type: Schema.Literal<["behavior_abandoned"]>;
3810
- sessionId: typeof Schema.Number;
3811
- goalId: typeof Schema.Number;
3812
- behaviorId: typeof Schema.Number;
3813
- reason: typeof Schema.String;
3752
+ readonly type: Schema.Literal<"behavior_abandoned">;
3753
+ readonly sessionId: Schema.Number;
3754
+ readonly goalId: Schema.Number;
3755
+ readonly behaviorId: Schema.Number;
3756
+ readonly reason: Schema.String;
3814
3757
  }>;
3815
3758
  /** @public */
3816
3759
  type BehaviorAbandonedEvent = typeof BehaviorAbandonedEvent.Type;
3817
3760
  /** @public */
3818
3761
  declare const BlockedEvent: Schema.Struct<{
3819
- type: Schema.Literal<["blocked"]>;
3820
- sessionId: typeof Schema.Number;
3821
- goalId: typeof Schema.Number;
3822
- behaviorId: typeof Schema.Number;
3823
- reason: typeof Schema.String;
3824
- failureSignatureHash: Schema.optional<typeof Schema.String>;
3762
+ readonly type: Schema.Literal<"blocked">;
3763
+ readonly sessionId: Schema.Number;
3764
+ readonly goalId: Schema.Number;
3765
+ readonly behaviorId: Schema.Number;
3766
+ readonly reason: Schema.String;
3767
+ readonly failureSignatureHash: Schema.optional<Schema.String>;
3825
3768
  }>;
3826
3769
  /** @public */
3827
3770
  type BlockedEvent = typeof BlockedEvent.Type;
3828
3771
  /** @public */
3829
3772
  declare const SessionCompleteEvent: Schema.Struct<{
3830
- type: Schema.Literal<["session_complete"]>;
3831
- sessionId: typeof Schema.Number;
3832
- goalIds: Schema.Array$<typeof Schema.Number>;
3833
- outcome: Schema.Literal<["succeeded", "blocked", "abandoned"]>;
3773
+ readonly type: Schema.Literal<"session_complete">;
3774
+ readonly sessionId: Schema.Number;
3775
+ readonly goalIds: Schema.$Array<Schema.Number>;
3776
+ readonly outcome: Schema.Literals<readonly ["succeeded", "blocked", "abandoned"]>;
3834
3777
  }>;
3835
3778
  /** @public */
3836
3779
  type SessionCompleteEvent = typeof SessionCompleteEvent.Type;
3837
3780
  /** @public */
3838
- declare const ChannelEvent: Schema.Union<[Schema.Struct<{
3839
- type: Schema.Literal<["goals_ready"]>;
3840
- sessionId: typeof Schema.Number;
3841
- goals: Schema.Array$<Schema.Struct<{
3842
- id: typeof Schema.Number;
3843
- ordinal: typeof Schema.Number;
3844
- goal: typeof Schema.String;
3781
+ declare const ChannelEvent: Schema.Union<readonly [Schema.Struct<{
3782
+ readonly type: Schema.Literal<"goals_ready">;
3783
+ readonly sessionId: Schema.Number;
3784
+ readonly goals: Schema.$Array<Schema.Struct<{
3785
+ readonly id: Schema.Number;
3786
+ readonly ordinal: Schema.Number;
3787
+ readonly goal: Schema.String;
3845
3788
  }>>;
3846
3789
  }>, Schema.Struct<{
3847
- type: Schema.Literal<["goal_added"]>;
3848
- sessionId: typeof Schema.Number;
3849
- goal: Schema.Struct<{
3850
- id: typeof Schema.Number;
3851
- ordinal: typeof Schema.Number;
3852
- goal: typeof Schema.String;
3790
+ readonly type: Schema.Literal<"goal_added">;
3791
+ readonly sessionId: Schema.Number;
3792
+ readonly goal: Schema.Struct<{
3793
+ readonly id: Schema.Number;
3794
+ readonly ordinal: Schema.Number;
3795
+ readonly goal: Schema.String;
3853
3796
  }>;
3854
3797
  }>, Schema.Struct<{
3855
- type: Schema.Literal<["goal_started"]>;
3856
- sessionId: typeof Schema.Number;
3857
- goalId: typeof Schema.Number;
3798
+ readonly type: Schema.Literal<"goal_started">;
3799
+ readonly sessionId: Schema.Number;
3800
+ readonly goalId: Schema.Number;
3858
3801
  }>, Schema.Struct<{
3859
- type: Schema.Literal<["goal_completed"]>;
3860
- sessionId: typeof Schema.Number;
3861
- goalId: typeof Schema.Number;
3862
- behaviorIds: Schema.Array$<typeof Schema.Number>;
3802
+ readonly type: Schema.Literal<"goal_completed">;
3803
+ readonly sessionId: Schema.Number;
3804
+ readonly goalId: Schema.Number;
3805
+ readonly behaviorIds: Schema.$Array<Schema.Number>;
3863
3806
  }>, Schema.Struct<{
3864
- type: Schema.Literal<["goal_abandoned"]>;
3865
- sessionId: typeof Schema.Number;
3866
- goalId: typeof Schema.Number;
3867
- reason: typeof Schema.String;
3807
+ readonly type: Schema.Literal<"goal_abandoned">;
3808
+ readonly sessionId: Schema.Number;
3809
+ readonly goalId: Schema.Number;
3810
+ readonly reason: Schema.String;
3868
3811
  }>, Schema.Struct<{
3869
- type: Schema.Literal<["behaviors_ready"]>;
3870
- sessionId: typeof Schema.Number;
3871
- goalId: typeof Schema.Number;
3872
- behaviors: Schema.Array$<Schema.Struct<{
3873
- id: typeof Schema.Number;
3874
- ordinal: typeof Schema.Number;
3875
- behavior: typeof Schema.String;
3812
+ readonly type: Schema.Literal<"behaviors_ready">;
3813
+ readonly sessionId: Schema.Number;
3814
+ readonly goalId: Schema.Number;
3815
+ readonly behaviors: Schema.$Array<Schema.Struct<{
3816
+ readonly id: Schema.Number;
3817
+ readonly ordinal: Schema.Number;
3818
+ readonly behavior: Schema.String;
3876
3819
  }>>;
3877
3820
  }>, Schema.Struct<{
3878
- type: Schema.Literal<["behavior_added"]>;
3879
- sessionId: typeof Schema.Number;
3880
- goalId: typeof Schema.Number;
3881
- behavior: Schema.Struct<{
3882
- id: typeof Schema.Number;
3883
- ordinal: typeof Schema.Number;
3884
- behavior: typeof Schema.String;
3821
+ readonly type: Schema.Literal<"behavior_added">;
3822
+ readonly sessionId: Schema.Number;
3823
+ readonly goalId: Schema.Number;
3824
+ readonly behavior: Schema.Struct<{
3825
+ readonly id: Schema.Number;
3826
+ readonly ordinal: Schema.Number;
3827
+ readonly behavior: Schema.String;
3885
3828
  }>;
3886
3829
  }>, Schema.Struct<{
3887
- type: Schema.Literal<["behavior_started"]>;
3888
- sessionId: typeof Schema.Number;
3889
- goalId: typeof Schema.Number;
3890
- behaviorId: typeof Schema.Number;
3830
+ readonly type: Schema.Literal<"behavior_started">;
3831
+ readonly sessionId: Schema.Number;
3832
+ readonly goalId: Schema.Number;
3833
+ readonly behaviorId: Schema.Number;
3891
3834
  }>, Schema.Struct<{
3892
- type: Schema.Literal<["phase_transition"]>;
3893
- sessionId: typeof Schema.Number;
3894
- goalId: typeof Schema.Number;
3895
- behaviorId: typeof Schema.Number;
3896
- from: Schema.Literal<["spike", "red", "red.triangulate", "green", "green.fake-it", "refactor", "extended-red", "green-without-red"]>;
3897
- to: Schema.Literal<["spike", "red", "red.triangulate", "green", "green.fake-it", "refactor", "extended-red", "green-without-red"]>;
3835
+ readonly type: Schema.Literal<"phase_transition">;
3836
+ readonly sessionId: Schema.Number;
3837
+ readonly goalId: Schema.Number;
3838
+ readonly behaviorId: Schema.Number;
3839
+ readonly from: Schema.Literals<readonly ["spike", "red", "red.triangulate", "green", "green.fake-it", "refactor", "extended-red", "green-without-red"]>;
3840
+ readonly to: Schema.Literals<readonly ["spike", "red", "red.triangulate", "green", "green.fake-it", "refactor", "extended-red", "green-without-red"]>;
3898
3841
  }>, Schema.Struct<{
3899
- type: Schema.Literal<["behavior_completed"]>;
3900
- sessionId: typeof Schema.Number;
3901
- goalId: typeof Schema.Number;
3902
- behaviorId: typeof Schema.Number;
3842
+ readonly type: Schema.Literal<"behavior_completed">;
3843
+ readonly sessionId: Schema.Number;
3844
+ readonly goalId: Schema.Number;
3845
+ readonly behaviorId: Schema.Number;
3903
3846
  }>, Schema.Struct<{
3904
- type: Schema.Literal<["behavior_abandoned"]>;
3905
- sessionId: typeof Schema.Number;
3906
- goalId: typeof Schema.Number;
3907
- behaviorId: typeof Schema.Number;
3908
- reason: typeof Schema.String;
3847
+ readonly type: Schema.Literal<"behavior_abandoned">;
3848
+ readonly sessionId: Schema.Number;
3849
+ readonly goalId: Schema.Number;
3850
+ readonly behaviorId: Schema.Number;
3851
+ readonly reason: Schema.String;
3909
3852
  }>, Schema.Struct<{
3910
- type: Schema.Literal<["blocked"]>;
3911
- sessionId: typeof Schema.Number;
3912
- goalId: typeof Schema.Number;
3913
- behaviorId: typeof Schema.Number;
3914
- reason: typeof Schema.String;
3915
- failureSignatureHash: Schema.optional<typeof Schema.String>;
3853
+ readonly type: Schema.Literal<"blocked">;
3854
+ readonly sessionId: Schema.Number;
3855
+ readonly goalId: Schema.Number;
3856
+ readonly behaviorId: Schema.Number;
3857
+ readonly reason: Schema.String;
3858
+ readonly failureSignatureHash: Schema.optional<Schema.String>;
3916
3859
  }>, Schema.Struct<{
3917
- type: Schema.Literal<["session_complete"]>;
3918
- sessionId: typeof Schema.Number;
3919
- goalIds: Schema.Array$<typeof Schema.Number>;
3920
- outcome: Schema.Literal<["succeeded", "blocked", "abandoned"]>;
3860
+ readonly type: Schema.Literal<"session_complete">;
3861
+ readonly sessionId: Schema.Number;
3862
+ readonly goalIds: Schema.$Array<Schema.Number>;
3863
+ readonly outcome: Schema.Literals<readonly ["succeeded", "blocked", "abandoned"]>;
3921
3864
  }>]>;
3922
3865
  /** @public */
3923
3866
  type ChannelEvent = typeof ChannelEvent.Type;
@@ -3939,11 +3882,11 @@ type BehaviorScopedEventType = (typeof BehaviorScopedEventTypes)[number];
3939
3882
  * @public
3940
3883
  */
3941
3884
  declare const ConsoleLeakFile: Schema.Struct<{
3942
- file: typeof Schema.String;
3943
- stdout: typeof Schema.Number;
3944
- stderr: typeof Schema.Number;
3945
- tests: Schema.optional<Schema.Array$<typeof Schema.String>>;
3946
- sample: Schema.optional<typeof Schema.String>;
3885
+ readonly file: Schema.String;
3886
+ readonly stdout: Schema.Number;
3887
+ readonly stderr: Schema.Number;
3888
+ readonly tests: Schema.optional<Schema.$Array<Schema.String>>;
3889
+ readonly sample: Schema.optional<Schema.String>;
3947
3890
  }>;
3948
3891
  /** @public */
3949
3892
  type ConsoleLeakFile = typeof ConsoleLeakFile.Type;
@@ -3953,43 +3896,27 @@ type ConsoleLeakFile = typeof ConsoleLeakFile.Type;
3953
3896
  * @public
3954
3897
  */
3955
3898
  declare const ConsoleLeaks: Schema.Struct<{
3956
- total: typeof Schema.Number;
3957
- byFile: Schema.Array$<Schema.Struct<{
3958
- file: typeof Schema.String;
3959
- stdout: typeof Schema.Number;
3960
- stderr: typeof Schema.Number;
3961
- tests: Schema.optional<Schema.Array$<typeof Schema.String>>;
3962
- sample: Schema.optional<typeof Schema.String>;
3899
+ readonly total: Schema.Number;
3900
+ readonly byFile: Schema.$Array<Schema.Struct<{
3901
+ readonly file: Schema.String;
3902
+ readonly stdout: Schema.Number;
3903
+ readonly stderr: Schema.Number;
3904
+ readonly tests: Schema.optional<Schema.$Array<Schema.String>>;
3905
+ readonly sample: Schema.optional<Schema.String>;
3963
3906
  }>>;
3964
- truncated: Schema.optional<typeof Schema.Boolean>;
3907
+ readonly truncated: Schema.optional<Schema.Boolean>;
3965
3908
  }>;
3966
3909
  /** @public */
3967
3910
  type ConsoleLeaks = typeof ConsoleLeaks.Type;
3968
3911
  //#endregion
3969
3912
  //#region src/schemas/CoverageLevel.d.ts
3970
- declare const CoverageLevel_base: Schema.Class<CoverageLevel, {
3971
- lines: typeof Schema.Number;
3972
- functions: typeof Schema.Number;
3973
- branches: typeof Schema.Number;
3974
- statements: typeof Schema.Number;
3975
- perFile: Schema.optional<typeof Schema.Boolean>;
3976
- }, Schema.Struct.Encoded<{
3977
- lines: typeof Schema.Number;
3978
- functions: typeof Schema.Number;
3979
- branches: typeof Schema.Number;
3980
- statements: typeof Schema.Number;
3981
- perFile: Schema.optional<typeof Schema.Boolean>;
3982
- }>, never, {
3983
- readonly perFile?: boolean | undefined;
3984
- } & {
3985
- readonly branches: number;
3986
- } & {
3987
- readonly functions: number;
3988
- } & {
3989
- readonly lines: number;
3990
- } & {
3991
- readonly statements: number;
3992
- }, {}, {}>;
3913
+ declare const CoverageLevel_base: Schema.Class<CoverageLevel, Schema.Struct<{
3914
+ readonly lines: Schema.Number;
3915
+ readonly functions: Schema.Number;
3916
+ readonly branches: Schema.Number;
3917
+ readonly statements: Schema.Number;
3918
+ readonly perFile: Schema.optional<Schema.Boolean>;
3919
+ }>, {}>;
3993
3920
  /**
3994
3921
  * A coverage level configuration with per-metric thresholds and an optional
3995
3922
  * perFile flag. Extend this class to define custom named presets.
@@ -4052,11 +3979,11 @@ declare function validateCoverageConfig(thresholds: CoverageLevel, targets: Cove
4052
3979
  * @public
4053
3980
  */
4054
3981
  declare const CoverageTargetsMetrics: Schema.Struct<{
4055
- lines: Schema.optional<typeof Schema.Positive>;
4056
- functions: Schema.optional<typeof Schema.Positive>;
4057
- branches: Schema.optional<typeof Schema.Positive>;
4058
- statements: Schema.optional<typeof Schema.Positive>;
4059
- 100: Schema.optional<Schema.Literal<[true]>>;
3982
+ readonly lines: Schema.optional<Schema.Number>;
3983
+ readonly functions: Schema.optional<Schema.Number>;
3984
+ readonly branches: Schema.optional<Schema.Number>;
3985
+ readonly statements: Schema.optional<Schema.Number>;
3986
+ readonly 100: Schema.optional<Schema.Literal<true>>;
4060
3987
  }>;
4061
3988
  /** @public */
4062
3989
  type CoverageTargetsMetrics = typeof CoverageTargetsMetrics.Type;
@@ -4075,21 +4002,13 @@ type CoverageTargetsMetrics = typeof CoverageTargetsMetrics.Type;
4075
4002
  * at key `"100"`.
4076
4003
  * @public
4077
4004
  */
4078
- declare const CoverageTargets: Schema.refine<{
4079
- readonly [x: string]: number | true | {
4080
- readonly lines?: number | undefined;
4081
- readonly functions?: number | undefined;
4082
- readonly branches?: number | undefined;
4083
- readonly statements?: number | undefined;
4084
- readonly 100?: true | undefined;
4085
- };
4086
- }, Schema.Record$<typeof Schema.String, Schema.Union<[typeof Schema.Positive, Schema.Literal<[true]>, Schema.Struct<{
4087
- lines: Schema.optional<typeof Schema.Positive>;
4088
- functions: Schema.optional<typeof Schema.Positive>;
4089
- branches: Schema.optional<typeof Schema.Positive>;
4090
- statements: Schema.optional<typeof Schema.Positive>;
4091
- 100: Schema.optional<Schema.Literal<[true]>>;
4092
- }>]>>>;
4005
+ declare const CoverageTargets: Schema.$Record<Schema.String, Schema.Union<readonly [Schema.Number, Schema.Literal<true>, Schema.Struct<{
4006
+ readonly lines: Schema.optional<Schema.Number>;
4007
+ readonly functions: Schema.optional<Schema.Number>;
4008
+ readonly branches: Schema.optional<Schema.Number>;
4009
+ readonly statements: Schema.optional<Schema.Number>;
4010
+ readonly 100: Schema.optional<Schema.Literal<true>>;
4011
+ }>]>>;
4093
4012
  /** @public */
4094
4013
  type CoverageTargets = typeof CoverageTargets.Type;
4095
4014
  //#endregion
@@ -4110,9 +4029,9 @@ type CoverageTargets = typeof CoverageTargets.Type;
4110
4029
  * @public
4111
4030
  */
4112
4031
  declare const ConsoleOutputs: Schema.Struct<{
4113
- human: Schema.optional<Schema.Literal<["passthrough", "silent", "stream", "agent"]>>;
4114
- agent: Schema.optional<Schema.Literal<["passthrough", "silent", "agent"]>>;
4115
- ci: Schema.optional<Schema.Literal<["passthrough", "silent", "ci-annotations"]>>;
4032
+ readonly human: Schema.optional<Schema.Literals<readonly ["passthrough", "silent", "stream", "agent"]>>;
4033
+ readonly agent: Schema.optional<Schema.Literals<readonly ["passthrough", "silent", "agent"]>>;
4034
+ readonly ci: Schema.optional<Schema.Literals<readonly ["passthrough", "silent", "ci-annotations"]>>;
4116
4035
  }>;
4117
4036
  /** @public */
4118
4037
  type ConsoleOutputs = typeof ConsoleOutputs.Type;
@@ -4126,29 +4045,21 @@ type ConsoleOutputs = typeof ConsoleOutputs.Type;
4126
4045
  * @public
4127
4046
  */
4128
4047
  declare const AgentPluginOptions: Schema.Struct<{
4129
- console: Schema.optional<Schema.Struct<{
4130
- human: Schema.optional<Schema.Literal<["passthrough", "silent", "stream", "agent"]>>;
4131
- agent: Schema.optional<Schema.Literal<["passthrough", "silent", "agent"]>>;
4132
- ci: Schema.optional<Schema.Literal<["passthrough", "silent", "ci-annotations"]>>;
4133
- }>>;
4134
- coverageTargets: Schema.optional<Schema.refine<{
4135
- readonly [x: string]: number | true | {
4136
- readonly lines?: number | undefined;
4137
- readonly functions?: number | undefined;
4138
- readonly branches?: number | undefined;
4139
- readonly statements?: number | undefined;
4140
- readonly 100?: true | undefined;
4141
- };
4142
- }, Schema.Record$<typeof Schema.String, Schema.Union<[typeof Schema.Positive, Schema.Literal<[true]>, Schema.Struct<{
4143
- lines: Schema.optional<typeof Schema.Positive>;
4144
- functions: Schema.optional<typeof Schema.Positive>;
4145
- branches: Schema.optional<typeof Schema.Positive>;
4146
- statements: Schema.optional<typeof Schema.Positive>;
4147
- 100: Schema.optional<Schema.Literal<[true]>>;
4148
- }>]>>>>;
4149
- transport: Schema.optional<Schema.Struct<{
4150
- kind: Schema.Literal<["local"]>;
4048
+ readonly console: Schema.optional<Schema.Struct<{
4049
+ readonly human: Schema.optional<Schema.Literals<readonly ["passthrough", "silent", "stream", "agent"]>>;
4050
+ readonly agent: Schema.optional<Schema.Literals<readonly ["passthrough", "silent", "agent"]>>;
4051
+ readonly ci: Schema.optional<Schema.Literals<readonly ["passthrough", "silent", "ci-annotations"]>>;
4151
4052
  }>>;
4053
+ readonly coverageTargets: Schema.optional<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.Number, Schema.Literal<true>, Schema.Struct<{
4054
+ readonly lines: Schema.optional<Schema.Number>;
4055
+ readonly functions: Schema.optional<Schema.Number>;
4056
+ readonly branches: Schema.optional<Schema.Number>;
4057
+ readonly statements: Schema.optional<Schema.Number>;
4058
+ readonly 100: Schema.optional<Schema.Literal<true>>;
4059
+ }>]>>>;
4060
+ readonly transport: Schema.optional<Schema.Union<readonly [Schema.Struct<{
4061
+ readonly kind: Schema.Literal<"local">;
4062
+ }>]>>;
4152
4063
  }>;
4153
4064
  /** @public */
4154
4065
  type AgentPluginOptions = typeof AgentPluginOptions.Type;
@@ -4165,7 +4076,7 @@ type AgentPluginOptions = typeof AgentPluginOptions.Type;
4165
4076
  */
4166
4077
  declare const AgentReporterOptions: Schema.Struct<{
4167
4078
  /** Set by the plugin per-project. Filters reports to one project. */
4168
- projectFilter: Schema.optional<typeof Schema.String>;
4079
+ readonly projectFilter: Schema.optional<Schema.String>;
4169
4080
  }>;
4170
4081
  /** @public */
4171
4082
  type AgentReporterOptions = typeof AgentReporterOptions.Type;
@@ -4173,12 +4084,12 @@ type AgentReporterOptions = typeof AgentReporterOptions.Type;
4173
4084
  //#region src/schemas/turns/FileEditPayload.d.ts
4174
4085
  /** @public */
4175
4086
  declare const FileEditPayload: Schema.Struct<{
4176
- type: Schema.Literal<["file_edit"]>;
4177
- file_path: typeof Schema.String;
4178
- edit_kind: Schema.Literal<["write", "edit", "multi_edit"]>;
4179
- lines_added: Schema.optional<typeof Schema.Number>;
4180
- lines_removed: Schema.optional<typeof Schema.Number>;
4181
- diff: Schema.optional<typeof Schema.String>;
4087
+ readonly type: Schema.Literal<"file_edit">;
4088
+ readonly file_path: Schema.String;
4089
+ readonly edit_kind: Schema.Literals<readonly ["write", "edit", "multi_edit"]>;
4090
+ readonly lines_added: Schema.optional<Schema.Number>;
4091
+ readonly lines_removed: Schema.optional<Schema.Number>;
4092
+ readonly diff: Schema.optional<Schema.String>;
4182
4093
  }>;
4183
4094
  /** @public */
4184
4095
  type FileEditPayload = typeof FileEditPayload.Type;
@@ -4186,10 +4097,10 @@ type FileEditPayload = typeof FileEditPayload.Type;
4186
4097
  //#region src/schemas/turns/HookFirePayload.d.ts
4187
4098
  /** @public */
4188
4099
  declare const HookFirePayload: Schema.Struct<{
4189
- type: Schema.Literal<["hook_fire"]>;
4190
- hook_kind: Schema.Literal<["SessionStart", "SessionEnd", "Stop", "StopFailure", "SubagentStart", "SubagentStop", "PreCompact", "PostCompact", "PreToolUse", "PostToolUse", "PostToolUseFailure", "UserPromptSubmit", "FileChanged"]>;
4191
- chat_id: Schema.optional<typeof Schema.String>;
4192
- previous_record_failures: Schema.optional<Schema.Array$<typeof Schema.String>>;
4100
+ readonly type: Schema.Literal<"hook_fire">;
4101
+ readonly hook_kind: Schema.Literals<readonly ["SessionStart", "SessionEnd", "Stop", "StopFailure", "SubagentStart", "SubagentStop", "PreCompact", "PostCompact", "PreToolUse", "PostToolUse", "PostToolUseFailure", "UserPromptSubmit", "FileChanged"]>;
4102
+ readonly chat_id: Schema.optional<Schema.String>;
4103
+ readonly previous_record_failures: Schema.optional<Schema.$Array<Schema.String>>;
4193
4104
  }>;
4194
4105
  /** @public */
4195
4106
  type HookFirePayload = typeof HookFirePayload.Type;
@@ -4197,10 +4108,10 @@ type HookFirePayload = typeof HookFirePayload.Type;
4197
4108
  //#region src/schemas/turns/HypothesisPayload.d.ts
4198
4109
  /** @public */
4199
4110
  declare const HypothesisPayload: Schema.Struct<{
4200
- type: Schema.Literal<["hypothesis"]>;
4201
- content: typeof Schema.String;
4202
- cited_test_error_id: Schema.optional<typeof Schema.Number>;
4203
- cited_stack_frame_id: Schema.optional<typeof Schema.Number>;
4111
+ readonly type: Schema.Literal<"hypothesis">;
4112
+ readonly content: Schema.String;
4113
+ readonly cited_test_error_id: Schema.optional<Schema.Number>;
4114
+ readonly cited_stack_frame_id: Schema.optional<Schema.Number>;
4204
4115
  }>;
4205
4116
  /** @public */
4206
4117
  type HypothesisPayload = typeof HypothesisPayload.Type;
@@ -4208,10 +4119,10 @@ type HypothesisPayload = typeof HypothesisPayload.Type;
4208
4119
  //#region src/schemas/turns/NotePayload.d.ts
4209
4120
  /** @public */
4210
4121
  declare const NotePayload: Schema.Struct<{
4211
- type: Schema.Literal<["note"]>;
4212
- scope: typeof Schema.String;
4213
- title: Schema.optional<typeof Schema.String>;
4214
- content: typeof Schema.String;
4122
+ readonly type: Schema.Literal<"note">;
4123
+ readonly scope: Schema.String;
4124
+ readonly title: Schema.optional<Schema.String>;
4125
+ readonly content: Schema.String;
4215
4126
  }>;
4216
4127
  /** @public */
4217
4128
  type NotePayload = typeof NotePayload.Type;
@@ -4219,10 +4130,10 @@ type NotePayload = typeof NotePayload.Type;
4219
4130
  //#region src/schemas/turns/ToolCallPayload.d.ts
4220
4131
  /** @public */
4221
4132
  declare const ToolCallPayload: Schema.Struct<{
4222
- type: Schema.Literal<["tool_call"]>;
4223
- tool_name: typeof Schema.String;
4224
- tool_input: typeof Schema.Unknown;
4225
- tool_use_id: Schema.optional<typeof Schema.String>;
4133
+ readonly type: Schema.Literal<"tool_call">;
4134
+ readonly tool_name: Schema.String;
4135
+ readonly tool_input: Schema.Unknown;
4136
+ readonly tool_use_id: Schema.optional<Schema.String>;
4226
4137
  }>;
4227
4138
  /** @public */
4228
4139
  type ToolCallPayload = typeof ToolCallPayload.Type;
@@ -4230,12 +4141,12 @@ type ToolCallPayload = typeof ToolCallPayload.Type;
4230
4141
  //#region src/schemas/turns/ToolResultPayload.d.ts
4231
4142
  /** @public */
4232
4143
  declare const ToolResultPayload: Schema.Struct<{
4233
- type: Schema.Literal<["tool_result"]>;
4234
- tool_name: typeof Schema.String;
4235
- tool_use_id: Schema.optional<typeof Schema.String>;
4236
- result_summary: Schema.optional<typeof Schema.String>;
4237
- success: typeof Schema.Boolean;
4238
- duration_ms: Schema.optional<typeof Schema.Number>;
4144
+ readonly type: Schema.Literal<"tool_result">;
4145
+ readonly tool_name: Schema.String;
4146
+ readonly tool_use_id: Schema.optional<Schema.String>;
4147
+ readonly result_summary: Schema.optional<Schema.String>;
4148
+ readonly success: Schema.Boolean;
4149
+ readonly duration_ms: Schema.optional<Schema.Number>;
4239
4150
  }>;
4240
4151
  /** @public */
4241
4152
  type ToolResultPayload = typeof ToolResultPayload.Type;
@@ -4243,53 +4154,53 @@ type ToolResultPayload = typeof ToolResultPayload.Type;
4243
4154
  //#region src/schemas/turns/UserPromptPayload.d.ts
4244
4155
  /** @public */
4245
4156
  declare const UserPromptPayload: Schema.Struct<{
4246
- type: Schema.Literal<["user_prompt"]>;
4247
- prompt: typeof Schema.String;
4248
- cc_message_id: Schema.optional<typeof Schema.String>;
4157
+ readonly type: Schema.Literal<"user_prompt">;
4158
+ readonly prompt: Schema.String;
4159
+ readonly cc_message_id: Schema.optional<Schema.String>;
4249
4160
  }>;
4250
4161
  /** @public */
4251
4162
  type UserPromptPayload = typeof UserPromptPayload.Type;
4252
4163
  //#endregion
4253
4164
  //#region src/schemas/turns/index.d.ts
4254
4165
  /** @public */
4255
- declare const TurnPayload: Schema.Union<[Schema.Struct<{
4256
- type: Schema.Literal<["user_prompt"]>;
4257
- prompt: typeof Schema.String;
4258
- cc_message_id: Schema.optional<typeof Schema.String>;
4166
+ declare const TurnPayload: Schema.Union<readonly [Schema.Struct<{
4167
+ readonly type: Schema.Literal<"user_prompt">;
4168
+ readonly prompt: Schema.String;
4169
+ readonly cc_message_id: Schema.optional<Schema.String>;
4259
4170
  }>, Schema.Struct<{
4260
- type: Schema.Literal<["tool_call"]>;
4261
- tool_name: typeof Schema.String;
4262
- tool_input: typeof Schema.Unknown;
4263
- tool_use_id: Schema.optional<typeof Schema.String>;
4171
+ readonly type: Schema.Literal<"tool_call">;
4172
+ readonly tool_name: Schema.String;
4173
+ readonly tool_input: Schema.Unknown;
4174
+ readonly tool_use_id: Schema.optional<Schema.String>;
4264
4175
  }>, Schema.Struct<{
4265
- type: Schema.Literal<["tool_result"]>;
4266
- tool_name: typeof Schema.String;
4267
- tool_use_id: Schema.optional<typeof Schema.String>;
4268
- result_summary: Schema.optional<typeof Schema.String>;
4269
- success: typeof Schema.Boolean;
4270
- duration_ms: Schema.optional<typeof Schema.Number>;
4176
+ readonly type: Schema.Literal<"tool_result">;
4177
+ readonly tool_name: Schema.String;
4178
+ readonly tool_use_id: Schema.optional<Schema.String>;
4179
+ readonly result_summary: Schema.optional<Schema.String>;
4180
+ readonly success: Schema.Boolean;
4181
+ readonly duration_ms: Schema.optional<Schema.Number>;
4271
4182
  }>, Schema.Struct<{
4272
- type: Schema.Literal<["file_edit"]>;
4273
- file_path: typeof Schema.String;
4274
- edit_kind: Schema.Literal<["write", "edit", "multi_edit"]>;
4275
- lines_added: Schema.optional<typeof Schema.Number>;
4276
- lines_removed: Schema.optional<typeof Schema.Number>;
4277
- diff: Schema.optional<typeof Schema.String>;
4183
+ readonly type: Schema.Literal<"file_edit">;
4184
+ readonly file_path: Schema.String;
4185
+ readonly edit_kind: Schema.Literals<readonly ["write", "edit", "multi_edit"]>;
4186
+ readonly lines_added: Schema.optional<Schema.Number>;
4187
+ readonly lines_removed: Schema.optional<Schema.Number>;
4188
+ readonly diff: Schema.optional<Schema.String>;
4278
4189
  }>, Schema.Struct<{
4279
- type: Schema.Literal<["hook_fire"]>;
4280
- hook_kind: Schema.Literal<["SessionStart", "SessionEnd", "Stop", "StopFailure", "SubagentStart", "SubagentStop", "PreCompact", "PostCompact", "PreToolUse", "PostToolUse", "PostToolUseFailure", "UserPromptSubmit", "FileChanged"]>;
4281
- chat_id: Schema.optional<typeof Schema.String>;
4282
- previous_record_failures: Schema.optional<Schema.Array$<typeof Schema.String>>;
4190
+ readonly type: Schema.Literal<"hook_fire">;
4191
+ readonly hook_kind: Schema.Literals<readonly ["SessionStart", "SessionEnd", "Stop", "StopFailure", "SubagentStart", "SubagentStop", "PreCompact", "PostCompact", "PreToolUse", "PostToolUse", "PostToolUseFailure", "UserPromptSubmit", "FileChanged"]>;
4192
+ readonly chat_id: Schema.optional<Schema.String>;
4193
+ readonly previous_record_failures: Schema.optional<Schema.$Array<Schema.String>>;
4283
4194
  }>, Schema.Struct<{
4284
- type: Schema.Literal<["note"]>;
4285
- scope: typeof Schema.String;
4286
- title: Schema.optional<typeof Schema.String>;
4287
- content: typeof Schema.String;
4195
+ readonly type: Schema.Literal<"note">;
4196
+ readonly scope: Schema.String;
4197
+ readonly title: Schema.optional<Schema.String>;
4198
+ readonly content: Schema.String;
4288
4199
  }>, Schema.Struct<{
4289
- type: Schema.Literal<["hypothesis"]>;
4290
- content: typeof Schema.String;
4291
- cited_test_error_id: Schema.optional<typeof Schema.Number>;
4292
- cited_stack_frame_id: Schema.optional<typeof Schema.Number>;
4200
+ readonly type: Schema.Literal<"hypothesis">;
4201
+ readonly content: Schema.String;
4202
+ readonly cited_test_error_id: Schema.optional<Schema.Number>;
4203
+ readonly cited_stack_frame_id: Schema.optional<Schema.Number>;
4293
4204
  }>]>;
4294
4205
  /** @public */
4295
4206
  type TurnPayload = typeof TurnPayload.Type;
@@ -4582,6 +4493,21 @@ interface VitestTestModule {
4582
4493
  declare function buildAgentReport(testModules: ReadonlyArray<VitestTestModule>, unhandledErrors: ReadonlyArray<VitestModuleError>, reason: "passed" | "failed" | "interrupted", options: {
4583
4494
  readonly omitPassingTests?: boolean;
4584
4495
  }, projectName?: string): AgentReport;
4496
+ /**
4497
+ * Count suite-level (collection/load) failures in a report.
4498
+ *
4499
+ * A collection failure is a module that failed before any test case could
4500
+ * run — an import error, a top-level throw, a syntax error. Such a module
4501
+ * lands in `report.failed` with no failed test case, so it contributes
4502
+ * nothing to `summary.failed` (which stays tied to test cases). Renderers
4503
+ * and the plugin's `hasFailures` health check add this count so a suite that
4504
+ * never loaded surfaces instead of showing a misleading all-green result.
4505
+ *
4506
+ * @param report - the report to inspect
4507
+ * @returns the number of modules in `report.failed` with no failed test case
4508
+ * @public
4509
+ */
4510
+ declare const countSuiteFailures: (report: Pick<AgentReport, "failed">) => number;
4585
4511
  //#endregion
4586
4512
  //#region src/utils/canonicalize-git-url.d.ts
4587
4513
  /**
@@ -5120,8 +5046,8 @@ interface ResolveDataPathOptions {
5120
5046
  *
5121
5047
  * The directory containing the database is ensured to exist before the
5122
5048
  * function returns, so callers can open the database immediately without
5123
- * needing to create parent directories. better-sqlite3 creates the file but
5124
- * not its parent.
5049
+ * needing to create parent directories. The SQLite driver creates the file
5050
+ * but not its parent.
5125
5051
  *
5126
5052
  * Precedence (highest first):
5127
5053
  *
@@ -5146,7 +5072,7 @@ interface ResolveDataPathOptions {
5146
5072
  * @param options - Optional programmatic overrides.
5147
5073
  * @public
5148
5074
  */
5149
- declare const resolveDataPath: (projectDir: string, options?: ResolveDataPathOptions) => Effect.Effect<any, import("xdg-effect").AppDirsError | import("config-file-effect").ConfigError, AppDirs | import("config-file-effect").ConfigFileService<VitestAgentConfig>>;
5075
+ declare const resolveDataPath: (projectDir: string, options?: ResolveDataPathOptions) => Effect.Effect<any, import("@effected/xdg").AppDirsError | import("@effected/config-file").ConfigReadError, AppDirs | VitestAgentConfigFile>;
5150
5076
  //#endregion
5151
5077
  //#region src/utils/resolve-project-key-from-cwd.d.ts
5152
5078
  /**
@@ -5171,15 +5097,20 @@ declare const resolveProjectKeyFromCwd: (cwd: string) => string;
5171
5097
  * `$XDG_DATA_HOME/vitest-agent/` where the SQLite database lives.
5172
5098
  *
5173
5099
  * Fails with `WorkspaceRootNotFoundError` when no root workspace is
5174
- * discoverable from `projectDir`. `WorkspacePackage.name` is enforced
5175
- * non-empty by `workspaces-effect`'s schema, so a successful root lookup
5176
- * always yields a usable name.
5100
+ * discoverable. `WorkspacePackage.name` is enforced non-empty by
5101
+ * `@effected/workspaces`'s schema, so a successful root lookup always yields a
5102
+ * usable name.
5103
+ *
5104
+ * Note (v4): `@effected/workspaces` anchors discovery at the `WorkspaceDiscovery`
5105
+ * layer's `cwd`, not at a per-call path — `discovery.listPackages()` takes no
5106
+ * argument. `projectDir` is retained for the not-found diagnostic; callers that
5107
+ * need to anchor at a specific directory build `WorkspaceDiscovery.layer({ cwd })`.
5177
5108
  *
5178
5109
  * @param projectDir - Absolute path inside the workspace. Typically the
5179
5110
  * reporter's resolved `projectDir` (CLAUDE_PROJECT_DIR or process.cwd()).
5180
5111
  * @public
5181
5112
  */
5182
- declare const resolveWorkspaceKey: (projectDir: string) => Effect.Effect<string, WorkspaceRootNotFoundError | WorkspaceDiscoveryError, WorkspaceDiscovery>;
5113
+ declare const resolveWorkspaceKey: (projectDir: string) => Effect.Effect<string, WorkspaceRootNotFoundError | WorkspaceDiscoveryFailure, WorkspaceDiscovery>;
5183
5114
  //#endregion
5184
5115
  //#region src/utils/safe-filename.d.ts
5185
5116
  /**
@@ -5263,5 +5194,5 @@ declare function validateCoverageTargetsShape(input: unknown): CoverageTargetsSh
5263
5194
  */
5264
5195
  declare const CURRENT_SDK_VERSION: string;
5265
5196
  //#endregion
5266
- export { AcceptanceMetrics, ActionSeverity, ActorType, Agent, AgentConsoleMode, AgentContext, AgentId, AgentNotFoundError, AgentPluginOptions, AgentReport, AgentReporterOptions, AgentTreeNode, AnsiOptions, ArtifactKind, AssembledHistoryRecord, AssociateRunSessionInput, BehaviorAbandonedEvent, BehaviorAddedEvent, BehaviorCompletedEvent, BehaviorDetail, BehaviorNotFoundError, BehaviorRow, BehaviorScopedEventType, BehaviorScopedEventTypes, BehaviorStartedEvent, BehaviorStatus, BehaviorsReadyEvent, BlockedEvent, CURRENT_SDK_VERSION, CacheManifest, CacheManifestEntry, CandidateContext, CellOptions, ChangeKind, ChannelEvent, ChatId, CiConsoleMode, CitedArtifact, CitedArtifactRow, CommitChangesEntry, ConfigLive, ConsoleFormatOptions, ConsoleLeakEntry, ConsoleLeakFile, ConsoleLeakTask, ConsoleLeaks, ConsoleLogLevel, ConsoleMode, ConsoleOutputMode, ConsoleOutputs, ConversationId, ConversationNotFoundError, CoverageBaselines, FileCoverageReport as CoverageFile, FileCoverageReport, CoverageGap, CoverageInput, CoverageLevel, CoverageLevelName, CoverageMetric, CoverageRenderState, CoverageReport, CoverageTargets, CoverageTargetsMetrics, CoverageTargetsShapeError, CoverageTargetsShapeInfo, CoverageTargetsShapeResult, CoverageTargetsShapeWarning, CoverageTotals, CreateBehaviorInput, CreateGoalInput, CurrentTddPhase, DATABASE_FILENAME, DataReader, DataReaderLive, DataStore, DataStoreError, DataStoreLive, DenialReason, DetailLevel, DetailResolver, DetailResolverLive, DiscoveryError, DiscoveryRegistry, DiscoveryRegistryLive, DispatchInputs, EndTddTaskInput, Environment, EnvironmentDetector, EnvironmentDetectorLive, EnvironmentDetectorTest, Executor, ExecutorResolver, ExecutorResolverLive, FailureRecord, FailureSignatureDetail, FailureSignatureInput, FailureSignatureWriteInput, FileCoverageInput, FileEditPayload, FileSystemAdapter, FlakyTest, FormatSelector, FormatSelectorLive, type FormatTriageOptions, type FormatWrapupOptions, Formatter, FormatterContext, FunctionBoundary, GfmFormatter, GitCommandError, GoalAbandonedEvent, GoalAddedEvent, GoalCompletedEvent, GoalDetail, GoalNotFoundError, GoalRow, GoalStartedEvent, GoalStatus, GoalsReadyEvent, HistoryRecord, HistoryRow, HistoryTracker, HistoryTrackerLive, HistoryTrackerTest, HistoryTrackerTestState, HookFirePayload, HookStatus, HookType, HostKind, HostMetadataParseError, HostMetadataResult, HumanConsoleMode, HypothesisDetail, HypothesisInput, HypothesisPayload, IDEMPOTENCY_ROOT_SENTINEL, IdempotencyHit, IdempotencyInput, IdempotentResponseInput, IllegalStatusTransitionEntity, IllegalStatusTransitionError, JsonFormatter, KnownProject, KnownProjectInput, LoggerLive, ManifestRow, MapSessionInput, MapSessionOutput, MarkdownFormatter, MetricThresholds, ModuleInput, ModuleListEntry, ModuleRecord, ModuleReport, NoteInput, NotePayload, NoteRow, Osc8Options, OutputFormat, OutputPipelineLive, OutputRenderer, OutputRendererLive, PackageManager, PathResolutionError, PathResolutionLive, PatternThresholds, PerClientSessionMapReader, PerClientSessionMapReaderLive, PerClientSessionMapWriter, PerClientSessionMapWriterLive, PersistentFailure, Phase, PhaseTransitionContext, PhaseTransitionEvent, PhaseTransitionResult, ProbeMissError, ProjectDiscovery, ProjectDiscoveryLive, ProjectDiscoveryTest, ProjectIdentity, ProjectIdentityCandidate, ProjectIdentityCandidates, ProjectIdentityLive, ProjectIdentityNotResolvableError, ProjectIdentitySource, ProjectIdentityTest, ProjectKey, ProjectRunSummary, ProjectSummary, RegisterAgentInput, RegisterAgentResult, RegistrationConflictError, Remediation, RenderState, RenderTotals, RenderedOutput, ReportError, ReportSummary, ReporterKit, ReporterRenderInput, ResolveDataPathOptions, ResolveProjectIdentityOptions, ResolvedIdentity, ResolvedReporterConfig, ResolvedThresholds, RunChangedFile, RunContext, RunContext$, RunContextLive, RunContextService, RunContextTest, RunEvent, RunEventByTag, RunHealth, RunInvocationMethod, RunOutcome, RunShape, SessionCompleteEvent, SessionContextRow, SessionDetail, SessionInput, SessionNotFoundError, SessionOutcome, SettingsInput, SettingsListEntry, SettingsRow, SidecarTimeoutError, SilentFormatter, StackFrameInput, SuggestedActionRecord, SuiteInput, SuiteListEntry, TagCountEntry, TagInventoryRow, TddArtifactDetail, TddArtifactRow, TddPhaseDetail, TddTaskAlreadyEndedError, TddTaskDetail, TddTaskEndOutcome, TddTaskId, TddTaskInput, TddTaskNotFoundError, TddTaskSummary, TerminalFormatter, TestCaseInput, TestClassification, TestError, TestErrorInput, TestFileEntry, TestHistory, TestListEntry, TestOutcome, TestRecord, TestReport, TestRun, TestRunInput, TestRunReason, TestState, ToolCallPayload, ToolResultPayload, Transport, TrendEntry, TrendRecord, TrendSummary, TurnInput, TurnPayload, TurnSearchOptions, TurnSummary, UpdateBehaviorInput, UpdateGoalInput, UserPromptPayload, ValidateHypothesisInput, VitestAgentConfig, VitestAgentConfigFile, VitestAgentConfigFileService, VitestAgentReporter, VitestAgentReporterFactory, VitestModuleDiagnostic, VitestModuleError, VitestParsedStack, VitestTestCase, VitestTestDiagnostic, VitestTestError, VitestTestModule, VitestTestResult, VitestTestSuite, type WrapupKind, WriteCommitInput, WriteRunChangedFilesInput, WriteTddArtifactInput, WriteTddPhaseInput, WriteTddPhaseOutput, _resetMigrationCacheForTesting, ansi, assembleHistoryRecord, assembleManifest, buildAgentReport, buildConsoleLeaks, buildEnvPrefix, canonicalizeGitUrl, ciAnnotationsFormatter, classifyTest, collectConsoleLeakEntries, compressLines, computeFailureSignature, computeTrend, deriveIdempotencyKey, detectPackageManager, detectVitestScripts, determineTier, ensureMigrated, extractSqlReason, findFunctionBoundary, formatConsoleMarkdown, formatFatalError, formatGfm, formatTriageEffect, formatWrapupEffect, getRecentDirection, getRunCommand, getWorstMetric, gitUrlToProjectKey, hashTargets, historyKey, initialRenderState, isTimeoutError, isVitestInvocation, migration as migration0001, normalizeAssertionShape, normalizeWorkspaceKey, osc8, probeHostMetadataFromEnv, migration$1 as registryMigration0001, relativePath, requiredArtifactForTransition, resolveCoverageInput, resolveDataPath, resolveLogFile, resolveLogLevel, resolveProjectIdentityFromCandidates, resolveProjectKeyFromCwd, resolveWorkspaceKey, rewriteBashCommand, safeFilename, migration$2 as sessionMapMigration0001, stripAnsi, transitionEnforcesBehaviorMatch, validateCoverageConfig, validateCoverageTargetsShape, validatePhaseTransition };
5197
+ export { AcceptanceMetrics, ActionSeverity, ActorType, Agent, AgentConsoleMode, AgentContext, AgentId, AgentNotFoundError, AgentPluginOptions, AgentReport, AgentReporterOptions, AgentTreeNode, AnsiOptions, ArtifactKind, AssembledHistoryRecord, AssociateRunSessionInput, BehaviorAbandonedEvent, BehaviorAddedEvent, BehaviorCompletedEvent, BehaviorDetail, BehaviorNotFoundError, BehaviorRow, BehaviorScopedEventType, BehaviorScopedEventTypes, BehaviorStartedEvent, BehaviorStatus, BehaviorsReadyEvent, BlockedEvent, CURRENT_SDK_VERSION, CacheManifest, CacheManifestEntry, CandidateContext, CellOptions, ChangeKind, ChannelEvent, ChatId, CiConsoleMode, CitedArtifact, CitedArtifactRow, CommitChangesEntry, ConfigLive, ConsoleFormatOptions, ConsoleLeakEntry, ConsoleLeakFile, ConsoleLeakTask, ConsoleLeaks, ConsoleLogLevel, ConsoleMode, ConsoleOutputMode, ConsoleOutputs, ConversationId, ConversationNotFoundError, CoverageBaselines, FileCoverageReport as CoverageFile, FileCoverageReport, CoverageGap, CoverageInput, CoverageLevel, CoverageLevelName, CoverageMetric, CoverageRenderState, CoverageReport, CoverageTargets, CoverageTargetsMetrics, CoverageTargetsShapeError, CoverageTargetsShapeInfo, CoverageTargetsShapeResult, CoverageTargetsShapeWarning, CoverageTotals, CreateBehaviorInput, CreateGoalInput, CurrentTddPhase, DATABASE_FILENAME, DataReader, DataReaderLive, DataStore, DataStoreError, DataStoreLive, DenialReason, DetailLevel, DetailResolver, DetailResolverLive, DiscoveryError, DiscoveryRegistry, DiscoveryRegistryLive, DispatchInputs, EndTddTaskInput, Environment, EnvironmentDetector, EnvironmentDetectorLive, EnvironmentDetectorTest, Executor, ExecutorResolver, ExecutorResolverLive, FailureRecord, FailureSignatureDetail, FailureSignatureInput, FailureSignatureWriteInput, FileCoverageInput, FileEditPayload, FileSystemAdapter, FlakyTest, FormatSelector, FormatSelectorLive, type FormatTriageOptions, type FormatWrapupOptions, Formatter, FormatterContext, FunctionBoundary, GfmFormatter, GitCommandError, GoalAbandonedEvent, GoalAddedEvent, GoalCompletedEvent, GoalDetail, GoalNotFoundError, GoalRow, GoalStartedEvent, GoalStatus, GoalsReadyEvent, HistoryRecord, HistoryRow, HistoryTracker, HistoryTrackerLive, HistoryTrackerTest, HistoryTrackerTestState, HookFirePayload, HookStatus, HookType, HostKind, HostMetadataParseError, HostMetadataResult, HumanConsoleMode, HypothesisDetail, HypothesisInput, HypothesisPayload, IDEMPOTENCY_ROOT_SENTINEL, IdempotencyHit, IdempotencyInput, IdempotentResponseInput, IllegalStatusTransitionEntity, IllegalStatusTransitionError, JsonFormatter, KnownProject, KnownProjectInput, LoggerLive, ManifestRow, MapSessionInput, MapSessionOutput, MarkdownFormatter, MetricThresholds, ModuleInput, ModuleListEntry, ModuleRecord, ModuleReport, NoteInput, NotePayload, NoteRow, Osc8Options, OutputFormat, OutputPipelineLive, OutputRenderer, OutputRendererLive, PackageManager, PathResolutionError, PathResolutionLive, PatternThresholds, PerClientSessionMapReader, PerClientSessionMapReaderLive, PerClientSessionMapWriter, PerClientSessionMapWriterLive, PersistentFailure, Phase, PhaseTransitionContext, PhaseTransitionEvent, PhaseTransitionResult, ProbeMissError, ProjectDiscovery, ProjectDiscoveryLive, ProjectDiscoveryTest, ProjectIdentity, ProjectIdentityCandidate, ProjectIdentityCandidates, ProjectIdentityLive, ProjectIdentityNotResolvableError, ProjectIdentitySource, ProjectIdentityTest, ProjectKey, ProjectRunSummary, ProjectSummary, RegisterAgentInput, RegisterAgentResult, RegistrationConflictError, Remediation, RenderState, RenderTotals, RenderedOutput, ReportError, ReportSummary, ReporterKit, ReporterRenderInput, ResolveDataPathOptions, ResolveProjectIdentityOptions, ResolvedIdentity, ResolvedReporterConfig, ResolvedThresholds, RunChangedFile, RunContext, RunContext$, RunContextLive, RunContextService, RunContextTest, RunEvent, RunEventByTag, RunHealth, RunInvocationMethod, RunOutcome, RunShape, SessionCompleteEvent, SessionContextRow, SessionDetail, SessionInput, SessionNotFoundError, SessionOutcome, SettingsInput, SettingsListEntry, SettingsRow, SidecarTimeoutError, SilentFormatter, StackFrameInput, SuggestedActionRecord, SuiteInput, SuiteListEntry, TagCountEntry, TagInventoryRow, TddArtifactDetail, TddArtifactRow, TddPhaseDetail, TddTaskAlreadyEndedError, TddTaskDetail, TddTaskEndOutcome, TddTaskId, TddTaskInput, TddTaskNotFoundError, TddTaskSummary, TerminalFormatter, TestCaseInput, TestClassification, TestError, TestErrorInput, TestFileEntry, TestHistory, TestListEntry, TestOutcome, TestRecord, TestReport, TestRun, TestRunInput, TestRunReason, TestState, ToolCallPayload, ToolResultPayload, Transport, TrendEntry, TrendRecord, TrendSummary, TurnInput, TurnPayload, TurnSearchOptions, TurnSummary, UpdateBehaviorInput, UpdateGoalInput, UserPromptPayload, ValidateHypothesisInput, VitestAgentConfig, VitestAgentConfigFile, VitestAgentConfigFileService, VitestAgentReporter, VitestAgentReporterFactory, VitestModuleDiagnostic, VitestModuleError, VitestParsedStack, VitestTestCase, VitestTestDiagnostic, VitestTestError, VitestTestModule, VitestTestResult, VitestTestSuite, type WrapupKind, WriteCommitInput, WriteRunChangedFilesInput, WriteTddArtifactInput, WriteTddPhaseInput, WriteTddPhaseOutput, _resetMigrationCacheForTesting, ansi, assembleHistoryRecord, assembleManifest, buildAgentReport, buildConsoleLeaks, buildEnvPrefix, canonicalizeGitUrl, ciAnnotationsFormatter, classifyTest, collectConsoleLeakEntries, compressLines, computeFailureSignature, computeTrend, countSuiteFailures, deriveIdempotencyKey, detectPackageManager, detectVitestScripts, determineTier, ensureMigrated, extractSqlReason, findFunctionBoundary, formatConsoleMarkdown, formatFatalError, formatGfm, formatTriageEffect, formatWrapupEffect, getRecentDirection, getRunCommand, getWorstMetric, gitUrlToProjectKey, hashTargets, historyKey, initialRenderState, isTimeoutError, isVitestInvocation, migration as migration0001, normalizeAssertionShape, normalizeWorkspaceKey, osc8, probeHostMetadataFromEnv, migration$1 as registryMigration0001, relativePath, requiredArtifactForTransition, resolveCoverageInput, resolveDataPath, resolveLogFile, resolveLogLevel, resolveProjectIdentityFromCandidates, resolveProjectKeyFromCwd, resolveWorkspaceKey, rewriteBashCommand, safeFilename, migration$2 as sessionMapMigration0001, stripAnsi, transitionEnforcesBehaviorMatch, validateCoverageConfig, validateCoverageTargetsShape, validatePhaseTransition };
5267
5198
  //# sourceMappingURL=index.d.ts.map