vdelta 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/adapter.d.ts +7 -5
  2. package/dist/adapter.js +22 -3
  3. package/dist/adapter.js.map +1 -1
  4. package/dist/adapters/playwright/adapter.d.ts +27 -0
  5. package/dist/adapters/playwright/adapter.js +175 -0
  6. package/dist/adapters/playwright/adapter.js.map +1 -0
  7. package/dist/adapters/playwright/capture.d.ts +119 -0
  8. package/dist/adapters/playwright/capture.js +12 -0
  9. package/dist/adapters/playwright/capture.js.map +1 -0
  10. package/dist/adapters/playwright/recorder.d.ts +65 -0
  11. package/dist/adapters/playwright/recorder.js +511 -0
  12. package/dist/adapters/playwright/recorder.js.map +1 -0
  13. package/dist/adapters/playwright/reporter.cjs +322 -0
  14. package/dist/adapters/playwright/reporter.cjs.map +1 -0
  15. package/dist/adapters/playwright/reporter.d.cts +63 -0
  16. package/dist/adapters/registry.js +2 -1
  17. package/dist/adapters/registry.js.map +1 -1
  18. package/dist/adapters/vitest/adapter.d.ts +9 -10
  19. package/dist/adapters/vitest/adapter.js +8 -17
  20. package/dist/adapters/vitest/adapter.js.map +1 -1
  21. package/dist/adapters/vitest/recorder.d.ts +10 -1
  22. package/dist/adapters/vitest/recorder.js +18 -1
  23. package/dist/adapters/vitest/recorder.js.map +1 -1
  24. package/dist/compare.d.ts +5 -0
  25. package/dist/compare.js +28 -27
  26. package/dist/compare.js.map +1 -1
  27. package/dist/gate.js +9 -8
  28. package/dist/gate.js.map +1 -1
  29. package/dist/index.js +5 -2
  30. package/dist/index.js.map +1 -1
  31. package/dist/schema.d.ts +55 -1
  32. package/dist/schema.js +26 -8
  33. package/dist/schema.js.map +1 -1
  34. package/package.json +4 -2
  35. package/spec/veridelta-1.md +32 -3
@@ -0,0 +1,322 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VdeltaPlaywrightReporter = void 0;
4
+ exports.safeSerialize = safeSerialize;
5
+ exports.serializeConfig = serializeConfig;
6
+ exports.parseStackFrames = parseStackFrames;
7
+ exports.titlesFromTitlePath = titlesFromTitlePath;
8
+ exports.projectFromTitlePath = projectFromTitlePath;
9
+ exports.aggregateAttempts = aggregateAttempts;
10
+ /**
11
+ * Playwright Reporter (`@playwright/test/reporter`) — the vdelta capture
12
+ * side of the playwright adapter. Type-only import of `@playwright/test`:
13
+ * veridelta ships zero runtime dependencies, so this file must not import
14
+ * any playwright *value* (only `import type`). Structured-first (§12):
15
+ * consumes only the runner's structured channel (TestCase/TestResult
16
+ * fields), never rendered output. Writes a Capture dump to
17
+ * $VDELTA_CAPTURE_FILE at run end; without that env var it is inert, so it
18
+ * can stay permanently configured in a project's playwright config (ambient
19
+ * recording, §4.2 — same convention as `../vitest/reporter.ts:123-124`).
20
+ *
21
+ * playwright's `error.message` can contain ANSI escapes (observed in
22
+ * `probes/playwright-0b-core/observations/failures.json`); this reporter
23
+ * writes it through unstripped. Stripping is the recorder's job, matching
24
+ * the vitest adapter's division of labor (canonicalization lives in the
25
+ * recorder, not the capture channel).
26
+ *
27
+ * This source file is `.cts` (not `.ts`), so `tsc` emits it as CommonJS
28
+ * (`dist/adapters/playwright/reporter.cjs`) even though the package is
29
+ * `"type": "module"`. That is deliberate: playwright 1.49.1's
30
+ * `node_modules/playwright/lib/util.js:272-277` `fileIsModule()` treats a
31
+ * `.js` file under `"type": "module"` as ESM and loads it through
32
+ * `node_modules/playwright/lib/transform/transform.js:225-231`
33
+ * `requireOrImport()`'s `eval("import(...)")` branch — in this environment
34
+ * that dynamic `import()` promise never settles, hanging the run
35
+ * indefinitely (observed/BLOCKED). `fileIsModule()` treats `.cjs`/`.cts`
36
+ * as CommonJS unconditionally, which routes through the `require(file)`
37
+ * branch instead — the same branch confirmed to complete normally.
38
+ * Do not reintroduce an ESM `dist/adapters/playwright/reporter.js` as the
39
+ * file playwright's `--reporter` flag loads.
40
+ */
41
+ const node_crypto_1 = require("node:crypto");
42
+ const node_fs_1 = require("node:fs");
43
+ /**
44
+ * Local copy of `capture.ts`'s `CAPTURE_VERSION`, kept in lockstep via
45
+ * `satisfies` rather than a runtime import: `capture.ts` lives under
46
+ * `"type": "module"` (ESM), and a `.cts` file importing an ESM *value*
47
+ * either fails to compile (TS1479) or risks `ERR_REQUIRE_ESM` at runtime
48
+ * (node 22.0–22.11, before `require(esm)` was unflagged). `import type`
49
+ * (above) is erased at compile time and carries no such risk; this
50
+ * `satisfies` clause makes any future change to `capture.ts`'s
51
+ * `CAPTURE_VERSION` a compile-time error here instead of a silent drift.
52
+ */
53
+ const CAPTURE_VERSION = 1;
54
+ /**
55
+ * Recursively serializes a resolved-config-shaped value into JSON-safe data:
56
+ * `RegExp` becomes its `.toString()` form, circular object references become
57
+ * the string `'[Circular]'`, and function-valued properties are dropped
58
+ * (never appear as a key in the output). Used for `grep`/`grepInvert` and
59
+ * per-project `testMatch`/`testIgnore`/`use`, all of which can carry `RegExp`
60
+ * values in playwright's resolved `FullConfig`/`FullProject`.
61
+ */
62
+ function safeSerialize(value, seen = new WeakSet()) {
63
+ if (value === undefined)
64
+ return undefined;
65
+ if (value === null)
66
+ return null;
67
+ if (value instanceof RegExp)
68
+ return value.toString();
69
+ const t = typeof value;
70
+ if (t === 'function')
71
+ return undefined;
72
+ if (t !== 'object')
73
+ return value;
74
+ if (seen.has(value))
75
+ return '[Circular]';
76
+ seen.add(value);
77
+ if (Array.isArray(value))
78
+ return value.map((v) => safeSerialize(v, seen));
79
+ const out = {};
80
+ for (const [k, v] of Object.entries(value)) {
81
+ const s = safeSerialize(v, seen);
82
+ if (s !== undefined)
83
+ out[k] = s;
84
+ }
85
+ return out;
86
+ }
87
+ /**
88
+ * Defensive-cast the playwright resolved config (`FullConfig`, as given to
89
+ * `onBegin`) into `Capture['config']` (the §4-judged-`yes` covering set).
90
+ * Pure function so the cast rules are unit-testable without a running
91
+ * playwright test run.
92
+ */
93
+ function serializeConfig(config) {
94
+ return {
95
+ fullyParallel: config.fullyParallel,
96
+ workers: config.workers,
97
+ shard: config.shard,
98
+ forbidOnly: config.forbidOnly,
99
+ maxFailures: config.maxFailures,
100
+ grep: safeSerialize(config.grep),
101
+ grepInvert: safeSerialize(config.grepInvert),
102
+ globalTimeout: config.globalTimeout,
103
+ projects: config.projects.map((p) => ({
104
+ name: p.name,
105
+ testMatch: safeSerialize(p.testMatch),
106
+ testIgnore: safeSerialize(p.testIgnore),
107
+ dependencies: [...p.dependencies],
108
+ retries: p.retries,
109
+ timeout: p.timeout,
110
+ use: safeSerialize(p.use),
111
+ })),
112
+ };
113
+ }
114
+ /**
115
+ * Deterministically parses `at <symbol> (<file>:<line>:<column>)` frames out
116
+ * of a raw error stack string — the same regex rule as
117
+ * `probes/playwright-0b-core/project/scripts/analyze-stability.mjs`'s
118
+ * `findEnclosingFrame`, applied to every matching line rather than just the
119
+ * first. Anonymous frames (no named symbol, no parens) do not match, by
120
+ * design (same rule as the probe). Returns `[]` for an undefined/empty
121
+ * stack.
122
+ */
123
+ function parseStackFrames(stack) {
124
+ if (stack === undefined || stack === '')
125
+ return [];
126
+ const frames = [];
127
+ const re = /at\s+[\w$.]+\s+\(([^)]+):(\d+):(\d+)\)/g;
128
+ let m;
129
+ // biome-ignore lint/suspicious/noAssignInExpressions: standard exec-loop idiom
130
+ while ((m = re.exec(stack)) !== null) {
131
+ const file = m[1];
132
+ const line = m[2];
133
+ const column = m[3];
134
+ if (file === undefined || line === undefined || column === undefined)
135
+ continue;
136
+ frames.push({ file, line: Number(line), column: Number(column) });
137
+ }
138
+ return frames;
139
+ }
140
+ /**
141
+ * `TestCase.titlePath()` is `['', project, file, ...titles]` (root suite
142
+ * title is always `''`, then the project suite title, then the file suite
143
+ * title). Strips those first three entries, leaving the describe/test title
144
+ * chain.
145
+ */
146
+ function titlesFromTitlePath(titlePath) {
147
+ return titlePath.slice(3);
148
+ }
149
+ /** The project name is `titlePath()[1]` — `''` if the path is malformed/short. */
150
+ function projectFromTitlePath(titlePath) {
151
+ return titlePath[1] ?? '';
152
+ }
153
+ /**
154
+ * Appends `attempt` to `existing` and returns a new array sorted by `retry`
155
+ * ascending. Playwright calls `onTestEnd` once per attempt for the same
156
+ * `TestCase.id` (retries), so the reporter aggregates by folding each new
157
+ * result through this pure function; sorting keeps the aggregation
158
+ * deterministic even if attempts arrive out of order (e.g. under
159
+ * `--repeat-each`, where a single id's retries interleave with other
160
+ * repeats' worker scheduling).
161
+ */
162
+ function aggregateAttempts(existing, attempt) {
163
+ return [...existing, attempt].sort((a, b) => a.retry - b.retry);
164
+ }
165
+ function stdioEntryText(chunk) {
166
+ return typeof chunk === 'string' ? chunk : chunk.toString('utf8');
167
+ }
168
+ function captureError(error) {
169
+ const location = error.location;
170
+ return {
171
+ message: typeof error.message === 'string' ? error.message : '',
172
+ ...(typeof error.stack === 'string' ? { stack: error.stack } : {}),
173
+ ...(location !== undefined
174
+ ? {
175
+ location: {
176
+ file: location.file,
177
+ line: location.line,
178
+ column: location.column,
179
+ },
180
+ }
181
+ : {}),
182
+ frames: parseStackFrames(error.stack),
183
+ };
184
+ }
185
+ function digestAttachmentBody(attachment) {
186
+ let bodyDigest = null;
187
+ if (attachment.body !== undefined) {
188
+ bodyDigest = (0, node_crypto_1.createHash)('sha256').update(attachment.body).digest('hex');
189
+ }
190
+ else if (typeof attachment.path === 'string') {
191
+ try {
192
+ bodyDigest = (0, node_crypto_1.createHash)('sha256')
193
+ .update((0, node_fs_1.readFileSync)(attachment.path))
194
+ .digest('hex');
195
+ }
196
+ catch {
197
+ bodyDigest = null;
198
+ }
199
+ }
200
+ return {
201
+ name: attachment.name,
202
+ content_type: attachment.contentType,
203
+ body_digest: bodyDigest,
204
+ };
205
+ }
206
+ function captureAttempt(result) {
207
+ return {
208
+ status: result.status,
209
+ retry: result.retry,
210
+ errors: result.errors.map(captureError),
211
+ stdio: [
212
+ ...result.stdout.map((s) => ({
213
+ type: 'stdout',
214
+ text: stdioEntryText(s),
215
+ })),
216
+ ...result.stderr.map((s) => ({
217
+ type: 'stderr',
218
+ text: stdioEntryText(s),
219
+ })),
220
+ ],
221
+ attachments: result.attachments.map(digestAttachmentBody),
222
+ duration_ms: result.duration,
223
+ };
224
+ }
225
+ function captureAnnotations(annotations) {
226
+ return annotations.map((a) => a.description !== undefined
227
+ ? { type: a.type, description: a.description }
228
+ : { type: a.type });
229
+ }
230
+ function describeTest(test) {
231
+ const titlePath = test.titlePath();
232
+ return {
233
+ test_case_id: test.id,
234
+ file_abs: test.location.file,
235
+ project: projectFromTitlePath(titlePath),
236
+ titles: titlesFromTitlePath(titlePath),
237
+ location_line: test.location.line ?? null,
238
+ expected_status: test.expectedStatus,
239
+ annotations: captureAnnotations(test.annotations),
240
+ };
241
+ }
242
+ class VdeltaPlaywrightReporter {
243
+ configDump;
244
+ configFile;
245
+ runnerVersion = 'unknown';
246
+ rootSuite;
247
+ unhandledErrorCount = 0;
248
+ metaById = new Map();
249
+ attemptsById = new Map();
250
+ get active() {
251
+ const outFile = process.env.VDELTA_CAPTURE_FILE;
252
+ return outFile !== undefined && outFile !== '';
253
+ }
254
+ onBegin(config, suite) {
255
+ if (!this.active)
256
+ return;
257
+ this.configDump = serializeConfig(config);
258
+ this.configFile =
259
+ typeof config.configFile === 'string' && config.configFile !== ''
260
+ ? config.configFile
261
+ : undefined;
262
+ this.runnerVersion = config.version;
263
+ this.rootSuite = suite;
264
+ }
265
+ onError(_error) {
266
+ if (!this.active)
267
+ return;
268
+ this.unhandledErrorCount += 1;
269
+ }
270
+ onTestEnd(test, result) {
271
+ if (!this.active)
272
+ return;
273
+ const id = test.id;
274
+ if (!this.metaById.has(id))
275
+ this.metaById.set(id, describeTest(test));
276
+ const existing = this.attemptsById.get(id) ?? [];
277
+ this.attemptsById.set(id, aggregateAttempts(existing, captureAttempt(result)));
278
+ }
279
+ onEnd(result) {
280
+ if (!this.active)
281
+ return;
282
+ const outFile = process.env.VDELTA_CAPTURE_FILE;
283
+ if (outFile === undefined || outFile === '')
284
+ return;
285
+ const tests = [];
286
+ for (const [id, meta] of this.metaById) {
287
+ tests.push({ ...meta, attempts: this.attemptsById.get(id) ?? [] });
288
+ }
289
+ const allTests = this.rootSuite?.allTests() ?? [];
290
+ const unreportedTests = allTests
291
+ .filter((t) => !this.metaById.has(t.id))
292
+ .map((t) => describeTest(t));
293
+ const capture = {
294
+ capture_version: CAPTURE_VERSION,
295
+ runner: 'playwright',
296
+ runner_version: this.runnerVersion,
297
+ status: result.status,
298
+ unhandled_errors: this.unhandledErrorCount,
299
+ config: this.configDump ?? {
300
+ fullyParallel: false,
301
+ workers: 0,
302
+ shard: null,
303
+ forbidOnly: false,
304
+ maxFailures: 0,
305
+ grep: null,
306
+ grepInvert: null,
307
+ globalTimeout: 0,
308
+ projects: [],
309
+ },
310
+ tests,
311
+ unreported_tests: unreportedTests,
312
+ config_files: this.configFile !== undefined ? [this.configFile] : [],
313
+ };
314
+ (0, node_fs_1.writeFileSync)(outFile, JSON.stringify(capture));
315
+ }
316
+ printsToStdio() {
317
+ return false;
318
+ }
319
+ }
320
+ exports.default = VdeltaPlaywrightReporter;
321
+ exports.VdeltaPlaywrightReporter = VdeltaPlaywrightReporter;
322
+ //# sourceMappingURL=reporter.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporter.cjs","sourceRoot":"","sources":["../../../src/adapters/playwright/reporter.cts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import type { FullConfig, FullResult, Reporter, Suite, TestCase, TestError, TestResult } from '@playwright/test/reporter';
2
+ import type { Capture, CapturedPwAttempt, CapturedPwFrame } from './capture.js';
3
+ /**
4
+ * Recursively serializes a resolved-config-shaped value into JSON-safe data:
5
+ * `RegExp` becomes its `.toString()` form, circular object references become
6
+ * the string `'[Circular]'`, and function-valued properties are dropped
7
+ * (never appear as a key in the output). Used for `grep`/`grepInvert` and
8
+ * per-project `testMatch`/`testIgnore`/`use`, all of which can carry `RegExp`
9
+ * values in playwright's resolved `FullConfig`/`FullProject`.
10
+ */
11
+ export declare function safeSerialize(value: unknown, seen?: WeakSet<object>): unknown;
12
+ /**
13
+ * Defensive-cast the playwright resolved config (`FullConfig`, as given to
14
+ * `onBegin`) into `Capture['config']` (the §4-judged-`yes` covering set).
15
+ * Pure function so the cast rules are unit-testable without a running
16
+ * playwright test run.
17
+ */
18
+ export declare function serializeConfig(config: FullConfig): Capture['config'];
19
+ /**
20
+ * Deterministically parses `at <symbol> (<file>:<line>:<column>)` frames out
21
+ * of a raw error stack string — the same regex rule as
22
+ * `probes/playwright-0b-core/project/scripts/analyze-stability.mjs`'s
23
+ * `findEnclosingFrame`, applied to every matching line rather than just the
24
+ * first. Anonymous frames (no named symbol, no parens) do not match, by
25
+ * design (same rule as the probe). Returns `[]` for an undefined/empty
26
+ * stack.
27
+ */
28
+ export declare function parseStackFrames(stack: string | undefined): CapturedPwFrame[];
29
+ /**
30
+ * `TestCase.titlePath()` is `['', project, file, ...titles]` (root suite
31
+ * title is always `''`, then the project suite title, then the file suite
32
+ * title). Strips those first three entries, leaving the describe/test title
33
+ * chain.
34
+ */
35
+ export declare function titlesFromTitlePath(titlePath: readonly string[]): string[];
36
+ /** The project name is `titlePath()[1]` — `''` if the path is malformed/short. */
37
+ export declare function projectFromTitlePath(titlePath: readonly string[]): string;
38
+ /**
39
+ * Appends `attempt` to `existing` and returns a new array sorted by `retry`
40
+ * ascending. Playwright calls `onTestEnd` once per attempt for the same
41
+ * `TestCase.id` (retries), so the reporter aggregates by folding each new
42
+ * result through this pure function; sorting keeps the aggregation
43
+ * deterministic even if attempts arrive out of order (e.g. under
44
+ * `--repeat-each`, where a single id's retries interleave with other
45
+ * repeats' worker scheduling).
46
+ */
47
+ export declare function aggregateAttempts(existing: readonly CapturedPwAttempt[], attempt: CapturedPwAttempt): CapturedPwAttempt[];
48
+ export default class VdeltaPlaywrightReporter implements Reporter {
49
+ private configDump;
50
+ private configFile;
51
+ private runnerVersion;
52
+ private rootSuite;
53
+ private unhandledErrorCount;
54
+ private metaById;
55
+ private attemptsById;
56
+ private get active();
57
+ onBegin(config: FullConfig, suite: Suite): void;
58
+ onError(_error: TestError): void;
59
+ onTestEnd(test: TestCase, result: TestResult): void;
60
+ onEnd(result: FullResult): void;
61
+ printsToStdio(): boolean;
62
+ }
63
+ export { VdeltaPlaywrightReporter };
@@ -1,6 +1,7 @@
1
+ import { playwrightAdapter } from './playwright/adapter.js';
1
2
  import { vitestAdapter } from './vitest/adapter.js';
2
3
  /** Every known adapter, in a deterministic order. */
3
- export const ADAPTERS = [vitestAdapter];
4
+ export const ADAPTERS = [vitestAdapter, playwrightAdapter];
4
5
  /** Known adapter names, in registry order — for diagnostics and `--adapter`. */
5
6
  export function adapterNames(adapters = ADAPTERS) {
6
7
  return adapters.map((a) => a.name);
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/adapters/registry.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,qDAAqD;AACrD,MAAM,CAAC,MAAM,QAAQ,GAAuB,CAAC,aAAa,CAAC,CAAA;AAE3D,gFAAgF;AAChF,MAAM,UAAU,YAAY,CAC1B,WAA+B,QAAQ;IAEvC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,WAA+B,QAAQ;IAEvC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,WAA+B,QAAQ;IAEvC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC3C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,oBAAoB,IAAI,uBAAuB,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnF,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAuB,EACvB,WAA+B,QAAQ;IAEvC,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAuB,EACvB,WAA+B,QAAQ;IAEvC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAA;AAC/D,CAAC;AAgBD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAuB,EACvB,WAA+B,QAAQ;IAEvC,MAAM,OAAO,GAAmD,EAAE,CAAA;IAClE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC5D,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IACjD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QACpB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAA;IACzE,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;IACxB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAA;AAC3E,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/adapters/registry.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,qDAAqD;AACrD,MAAM,CAAC,MAAM,QAAQ,GAAuB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAA;AAE9E,gFAAgF;AAChF,MAAM,UAAU,YAAY,CAC1B,WAA+B,QAAQ;IAEvC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,WAA+B,QAAQ;IAEvC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,WAA+B,QAAQ;IAEvC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC3C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,oBAAoB,IAAI,uBAAuB,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnF,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAuB,EACvB,WAA+B,QAAQ;IAEvC,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAuB,EACvB,WAA+B,QAAQ;IAEvC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAA;AAC/D,CAAC;AAgBD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAuB,EACvB,WAA+B,QAAQ;IAEvC,MAAM,OAAO,GAAmD,EAAE,CAAA;IAClE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC5D,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IACjD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QACpB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAA;IACzE,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;IACxB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAA;AAC3E,CAAC"}
@@ -1,4 +1,12 @@
1
- import { type Adapter, type CapabilityDeclaration, type CommandSelector } from '../../adapter.js';
1
+ import { type Adapter, type CommandSelector } from '../../adapter.js';
2
+ import { VITEST_CAPABILITIES } from './recorder.js';
3
+ /**
4
+ * Re-exported from the recorder (§3.4): the declaration lives in
5
+ * `recorder.ts` so `buildRunRecord` can write it into `instrument.capabilities`
6
+ * without an import cycle. Kept here too so existing consumers of this
7
+ * descriptor module keep importing it from `adapter.js`.
8
+ */
9
+ export { VITEST_CAPABILITIES };
2
10
  /**
3
11
  * The invocation's selector is its inclusion intent (§6.4): the vitest CLI
4
12
  * positional filters. The canonical command excludes them (§5.1).
@@ -9,13 +17,4 @@ import { type Adapter, type CapabilityDeclaration, type CommandSelector } from '
9
17
  * produce byte-identical `command` arrays (and thus the same stream key).
10
18
  */
11
19
  export declare function splitCommandSelector(cmd: readonly string[]): CommandSelector;
12
- /**
13
- * Capability declaration for the `vitest-native` composition series (§3.4).
14
- * Unchanged since `/1`, and still true under `/2`: only `source-region-text`
15
- * is degraded (CE-1 — vitest's structured channel carries no failing-source
16
- * region text), everything else this composition claims is met. The `/2`
17
- * version bump (record shape: 9-item config_digest covering +
18
- * `completeness.module_errors`) does not touch this declaration.
19
- */
20
- export declare const VITEST_CAPABILITIES: CapabilityDeclaration;
21
20
  export declare const vitestAdapter: Adapter;
@@ -10,7 +10,14 @@ import { readFileSync } from 'node:fs';
10
10
  import { dirname, join } from 'node:path';
11
11
  import { fileURLToPath } from 'node:url';
12
12
  import { AdapterCaptureError, } from '../../adapter.js';
13
- import { ADAPTER_NAME, buildRunRecord, COMPOSITION_ID, DECLARED_ENV_VARS, } from './recorder.js';
13
+ import { ADAPTER_NAME, buildRunRecord, COMPOSITION_ID, DECLARED_ENV_VARS, VITEST_CAPABILITIES, } from './recorder.js';
14
+ /**
15
+ * Re-exported from the recorder (§3.4): the declaration lives in
16
+ * `recorder.ts` so `buildRunRecord` can write it into `instrument.capabilities`
17
+ * without an import cycle. Kept here too so existing consumers of this
18
+ * descriptor module keep importing it from `adapter.js`.
19
+ */
20
+ export { VITEST_CAPABILITIES };
14
21
  /**
15
22
  * Absolute path of the in-process vitest reporter that writes the capture.
16
23
  * Resolved relative to this module so it points at the built sibling
@@ -136,22 +143,6 @@ export function splitCommandSelector(cmd) {
136
143
  }
137
144
  return { command, selector };
138
145
  }
139
- /**
140
- * Capability declaration for the `vitest-native` composition series (§3.4).
141
- * Unchanged since `/1`, and still true under `/2`: only `source-region-text`
142
- * is degraded (CE-1 — vitest's structured channel carries no failing-source
143
- * region text), everything else this composition claims is met. The `/2`
144
- * version bump (record shape: 9-item config_digest covering +
145
- * `completeness.module_errors`) does not touch this declaration.
146
- */
147
- export const VITEST_CAPABILITIES = {
148
- verdicts: 'pass',
149
- 'source-location': 'pass',
150
- suppression: 'pass',
151
- inventory: 'pass',
152
- 'failure-evidence': 'pass',
153
- 'source-region-text': 'unsupported',
154
- };
155
146
  export const vitestAdapter = {
156
147
  name: ADAPTER_NAME,
157
148
  compositionId: COMPOSITION_ID,
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/vitest/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/vitest/adapter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AdapterCaptureError, type RecordContext } from '../../adapter.js';
1
+ import { AdapterCaptureError, type CapabilityDeclaration, type RecordContext } from '../../adapter.js';
2
2
  import { type RunRecord } from '../../schema.js';
3
3
  import type { Capture, CapturedTest } from './capture.js';
4
4
  export declare const ADAPTER_NAME = "vitest";
@@ -16,6 +16,15 @@ export declare class RecorderError extends AdapterCaptureError {
16
16
  }
17
17
  /** Re-exported from the seam: the context shape is runner-neutral (§4.1). */
18
18
  export type { RecordContext };
19
+ /**
20
+ * Capability declaration for the `vitest-native` composition series (§3.4).
21
+ * Unchanged since `/1`, and still true under `/2`: only `source-region-text`
22
+ * is degraded (CE-1 — vitest's structured channel carries no failing-source
23
+ * region text), everything else this composition claims is met. The `/2`
24
+ * version bump (record shape: 9-item config_digest covering +
25
+ * `completeness.module_errors`) does not touch this declaration.
26
+ */
27
+ export declare const VITEST_CAPABILITIES: CapabilityDeclaration;
19
28
  export declare function buildRunRecord(capture: Capture, ctx: RecordContext): RunRecord;
20
29
  /**
21
30
  * The effective evidence-affecting configuration (§3.1, contract §5.4):
@@ -17,7 +17,7 @@
17
17
  */
18
18
  import { readFileSync, realpathSync } from 'node:fs';
19
19
  import { isAbsolute, join, relative } from 'node:path';
20
- import { AdapterCaptureError } from '../../adapter.js';
20
+ import { AdapterCaptureError, } from '../../adapter.js';
21
21
  import { canonicalDigest } from '../../digest.js';
22
22
  import { redactText, redactValue } from '../../redact.js';
23
23
  import { SCHEMA_VERSION, } from '../../schema.js';
@@ -37,6 +37,22 @@ export class RecorderError extends AdapterCaptureError {
37
37
  this.name = 'RecorderError';
38
38
  }
39
39
  }
40
+ /**
41
+ * Capability declaration for the `vitest-native` composition series (§3.4).
42
+ * Unchanged since `/1`, and still true under `/2`: only `source-region-text`
43
+ * is degraded (CE-1 — vitest's structured channel carries no failing-source
44
+ * region text), everything else this composition claims is met. The `/2`
45
+ * version bump (record shape: 9-item config_digest covering +
46
+ * `completeness.module_errors`) does not touch this declaration.
47
+ */
48
+ export const VITEST_CAPABILITIES = {
49
+ verdicts: 'pass',
50
+ 'source-location': 'pass',
51
+ suppression: 'pass',
52
+ inventory: 'pass',
53
+ 'failure-evidence': 'pass',
54
+ 'source-region-text': 'unsupported',
55
+ };
40
56
  export function buildRunRecord(capture, ctx) {
41
57
  if (capture.capture_version !== 3) {
42
58
  throw new RecorderError(`unsupported capture version ${capture.capture_version}`);
@@ -92,6 +108,7 @@ export function buildRunRecord(capture, ctx) {
92
108
  adapter_version: ctx.adapterVersion,
93
109
  composition_id: COMPOSITION_ID,
94
110
  config_digest: instrumentConfigDigest(capture, ctx.worktree),
111
+ capabilities: { ...VITEST_CAPABILITIES },
95
112
  },
96
113
  environment: {
97
114
  runner: capture.runner,
@@ -1 +1 @@
1
- {"version":3,"file":"recorder.js","sourceRoot":"","sources":["../../../src/adapters/vitest/recorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recorder.js","sourceRoot":"","sources":["../../../src/adapters/vitest/recorder.ts"],"names":[],"mappings":"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"}
package/dist/compare.d.ts CHANGED
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Comparator (spec §5–§9): baseline selection, comparability judgment,
3
+ * the three delta axes, and comparison-report construction. Deterministic:
4
+ * no timestamps, stable sort orders, recency = store insertion order.
5
+ */
1
6
  import { type BaselineMode, type ComparabilityDetail, type ComparisonReport, type NearMiss, type RunRecord } from './schema.js';
2
7
  import { type RunStore } from './store.js';
3
8
  export type BaselineSpec = {