vdelta 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/run.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { ComparisonReport } from './schema.js';
2
- export declare const VDELTA_VERSION = "0.1.0";
2
+ export declare const VDELTA_VERSION: string;
3
3
  export interface RunResult {
4
4
  exitCode: number;
5
5
  report: ComparisonReport | null;
@@ -11,6 +11,11 @@ export interface RunResult {
11
11
  /**
12
12
  * The invocation's selector is its inclusion intent (§6.4): the vitest CLI
13
13
  * positional filters. The canonical command excludes them (§5.1).
14
+ *
15
+ * `--flag value` pairs for known value-taking flags (see
16
+ * {@link VITEST_VALUE_FLAGS}) are folded into a single `--flag=value`
17
+ * canonical token so that this form and the pre-joined `--flag=value` form
18
+ * produce byte-identical `command` arrays (and thus the same stream key).
14
19
  */
15
20
  export declare function splitCommandSelector(cmd: string[]): {
16
21
  command: string[];
package/dist/run.js CHANGED
@@ -8,15 +8,17 @@
8
8
  import { spawn } from 'node:child_process';
9
9
  import { randomUUID } from 'node:crypto';
10
10
  import { readFileSync, rmSync } from 'node:fs';
11
+ import { createRequire } from 'node:module';
11
12
  import { tmpdir } from 'node:os';
12
13
  import { dirname, join } from 'node:path';
13
14
  import { fileURLToPath } from 'node:url';
14
- import { buildRunRecord } from './adapters/vitest/recorder.js';
15
+ import { buildRunRecord, } from './adapters/vitest/recorder.js';
15
16
  import { buildComparisonReport } from './compare.js';
16
17
  import { canonicalDigest } from './digest.js';
17
- import { LockHeldError, RunStore } from './store.js';
18
- import { dirtyDiffMaterial, gitBranch, gitHead, gitRepoRoot, treeDigest } from './tree-digest.js';
19
- export const VDELTA_VERSION = '0.1.0';
18
+ import { defaultGcPolicy, LockHeldError, RunStore } from './store.js';
19
+ import { dirtyDiffMaterial, gitBranch, gitHead, gitRepoRoot, treeDigest, } from './tree-digest.js';
20
+ const pkg = createRequire(import.meta.url)('../package.json');
21
+ export const VDELTA_VERSION = pkg.version;
20
22
  function reporterModulePath() {
21
23
  return join(dirname(fileURLToPath(import.meta.url)), 'adapters', 'vitest', 'reporter.js');
22
24
  }
@@ -29,9 +31,62 @@ function findVitestToken(cmd) {
29
31
  }
30
32
  return null;
31
33
  }
34
+ /**
35
+ * vitest 4.x CLI flags that always take their value as a *separate* argv
36
+ * token (`--flag value`), never combined into the flag token itself. Used
37
+ * by {@link splitCommandSelector} to recognize `--flag value` pairs and fold
38
+ * them into a single `--flag=value` canonical token so that space-separated
39
+ * and `=`-joined invocations normalize to the same command array (and
40
+ * therefore the same stream key — see `streamKey` in src/compare.ts).
41
+ *
42
+ * Deliberately excludes flags whose value is *optional*
43
+ * (`--changed`, `--silent`, `--coverage`, `--browser`, `--inspect`, etc.):
44
+ * for those, the token following the flag cannot be distinguished from a
45
+ * positional selector without vitest's own arg-parsing rules, so folding
46
+ * them here would risk silently swallowing a selector token. Flags outside
47
+ * this list keep the historical (pre-fix) behavior: a space-separated value
48
+ * is treated as a selector token, which may cause selector-based stream
49
+ * splitting and an abstain (`comparability: 'none'`) rather than a
50
+ * false-positive comparison.
51
+ *
52
+ * Maintenance: this list targets vitest 4.x. Revisit when bumping the
53
+ * vitest minor/major version (see issue #15 Open Question — no automated
54
+ * mechanism keeps this in sync with vitest's own CLI surface).
55
+ */
56
+ const VITEST_VALUE_FLAGS = new Set([
57
+ '--project',
58
+ '--config',
59
+ '-c',
60
+ '--root',
61
+ '-r',
62
+ '--dir',
63
+ '--reporter',
64
+ '--outputFile',
65
+ '--pool',
66
+ '--maxWorkers',
67
+ '--minWorkers',
68
+ '--environment',
69
+ '--testNamePattern',
70
+ '-t',
71
+ '--testTimeout',
72
+ '--hookTimeout',
73
+ '--teardownTimeout',
74
+ '--retry',
75
+ '--bail',
76
+ '--maxConcurrency',
77
+ '--shard',
78
+ '--exclude',
79
+ '--mode',
80
+ '--workspace',
81
+ ]);
32
82
  /**
33
83
  * The invocation's selector is its inclusion intent (§6.4): the vitest CLI
34
84
  * positional filters. The canonical command excludes them (§5.1).
85
+ *
86
+ * `--flag value` pairs for known value-taking flags (see
87
+ * {@link VITEST_VALUE_FLAGS}) are folded into a single `--flag=value`
88
+ * canonical token so that this form and the pre-joined `--flag=value` form
89
+ * produce byte-identical `command` arrays (and thus the same stream key).
35
90
  */
36
91
  export function splitCommandSelector(cmd) {
37
92
  const idx = findVitestToken(cmd);
@@ -43,13 +98,25 @@ export function splitCommandSelector(cmd) {
43
98
  const token = cmd[i];
44
99
  if (token === 'run' && i === idx + 1) {
45
100
  command.push(token);
101
+ continue;
46
102
  }
47
- else if (token.startsWith('-')) {
103
+ if (!token.startsWith('-')) {
104
+ selector.push(token);
105
+ continue;
106
+ }
107
+ if (token.includes('=')) {
48
108
  command.push(token);
109
+ continue;
49
110
  }
50
- else {
51
- selector.push(token);
111
+ const next = cmd[i + 1];
112
+ if (VITEST_VALUE_FLAGS.has(token) &&
113
+ next !== undefined &&
114
+ !next.startsWith('-')) {
115
+ command.push(`${token}=${next}`);
116
+ i++;
117
+ continue;
52
118
  }
119
+ command.push(token);
53
120
  }
54
121
  return { command, selector };
55
122
  }
@@ -65,15 +132,27 @@ function runChild(cmd, captureFile) {
65
132
  child.stderr.on('data', (d) => err.push(d));
66
133
  child.on('error', reject);
67
134
  child.on('close', (code, signal) => {
68
- const exitCode = code !== null ? code : 128 + (signal !== null ? signalNumber(signal) : 0);
69
- resolve({ exitCode, stdout: Buffer.concat(out), stderr: Buffer.concat(err) });
135
+ const exitCode = code !== null
136
+ ? code
137
+ : 128 + (signal !== null ? signalNumber(signal) : 0);
138
+ resolve({
139
+ exitCode,
140
+ stdout: Buffer.concat(out),
141
+ stderr: Buffer.concat(err),
142
+ });
70
143
  });
71
144
  });
72
145
  }
73
146
  function signalNumber(signal) {
74
147
  const table = {
75
- SIGHUP: 1, SIGINT: 2, SIGQUIT: 3, SIGABRT: 6, SIGKILL: 9,
76
- SIGSEGV: 11, SIGPIPE: 13, SIGTERM: 15,
148
+ SIGHUP: 1,
149
+ SIGINT: 2,
150
+ SIGQUIT: 3,
151
+ SIGABRT: 6,
152
+ SIGKILL: 9,
153
+ SIGSEGV: 11,
154
+ SIGPIPE: 13,
155
+ SIGTERM: 15,
77
156
  };
78
157
  return table[signal] ?? 15;
79
158
  }
@@ -82,7 +161,12 @@ export async function runAndRecord(cmd, cwd) {
82
161
  const captureFile = join(tmpdir(), `vdelta-capture-${randomUUID()}.json`);
83
162
  const vitestIdx = findVitestToken(cmd);
84
163
  const childCmd = vitestIdx !== null
85
- ? [...cmd, '--reporter=default', `--reporter=${reporterModulePath()}`, '--includeTaskLocation']
164
+ ? [
165
+ ...cmd,
166
+ '--reporter=default',
167
+ `--reporter=${reporterModulePath()}`,
168
+ '--includeTaskLocation',
169
+ ]
86
170
  : cmd;
87
171
  const child = await runChild(childCmd, captureFile);
88
172
  const degraded = (why) => {
@@ -130,7 +214,10 @@ export async function runAndRecord(cmd, cwd) {
130
214
  const record = buildRunRecord(capture, ctx);
131
215
  const store = new RunStore(worktree);
132
216
  store.ensure();
133
- store.acquireLock();
217
+ const { reclaimed } = store.acquireLock();
218
+ if (reclaimed) {
219
+ diagnostics.push(`vdelta: reclaimed stale advisory lock at ${join(store.dir, 'lock')}`);
220
+ }
134
221
  let runId;
135
222
  try {
136
223
  runId = store.writeRun(record).runId;
@@ -138,7 +225,31 @@ export async function runAndRecord(cmd, cwd) {
138
225
  finally {
139
226
  store.releaseLock();
140
227
  }
141
- const report = buildComparisonReport(store, runId, { mode: 'previous-comparable' });
228
+ const report = buildComparisonReport(store, runId, {
229
+ mode: 'previous-comparable',
230
+ });
231
+ // Auto-GC (§4.1 SHOULD be bounded): keep the store from growing
232
+ // unbounded across repeated `vdelta run` invocations. Runs *after* the
233
+ // comparison above so the baseline it just resolved cannot be evicted
234
+ // out from under it — a comparison performed here always saw its
235
+ // baseline still present. The record just written is `last` and the
236
+ // resolved baseline (if any) are both protected for this pass, so
237
+ // neither is evicted even under a tight VDELTA_GC_MAX_COUNT/BYTES
238
+ // (AC-3). A GC failure (including a held lock) must not fail the run
239
+ // itself (INV-5 spirit) — it only downgrades to a diagnostic.
240
+ try {
241
+ store.acquireLock();
242
+ try {
243
+ const protectedIds = report.baseline ? [report.baseline.run_id] : [];
244
+ store.gc(defaultGcPolicy(), protectedIds);
245
+ }
246
+ finally {
247
+ store.releaseLock();
248
+ }
249
+ }
250
+ catch (e) {
251
+ diagnostics.push(`vdelta: gc skipped (${e instanceof Error ? e.message : String(e)})`);
252
+ }
142
253
  return {
143
254
  exitCode: child.exitCode,
144
255
  report,
@@ -150,7 +261,10 @@ export async function runAndRecord(cmd, cwd) {
150
261
  }
151
262
  catch (err) {
152
263
  if (err instanceof LockHeldError) {
153
- return degraded('advisory lock is held');
264
+ // err.message already carries the lock path and the `rm -rf` recovery
265
+ // hint (see LockHeldError in store.ts); acquireLock() has already
266
+ // auto-reclaimed any stale lock, so reaching here means a live holder.
267
+ return degraded(err.message);
154
268
  }
155
269
  return degraded(err instanceof Error ? err.message : String(err));
156
270
  }
package/dist/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
package/dist/schema.d.ts CHANGED
@@ -14,6 +14,8 @@ export declare const NONE_REASONS: readonly ["baseline-missing", "stream-mismatc
14
14
  export type NoneReason = (typeof NONE_REASONS)[number];
15
15
  export declare const DETAIL_KINDS: readonly ["determined", "failed"];
16
16
  export type DetailKind = (typeof DETAIL_KINDS)[number];
17
+ export declare const STREAM_KEY_FIELDS: readonly ["repo.identity", "repo.worktree", "repo.branch", "repo.cwd", "invocation.command", "invocation.selector", "instrument.adapter", "instrument.adapter_version", "instrument.config_digest"];
18
+ export type StreamKeyField = (typeof STREAM_KEY_FIELDS)[number];
17
19
  export declare const OUTCOME_VERDICTS: readonly ["regressed", "improved", "unchanged", "inconclusive"];
18
20
  export type OutcomeVerdict = (typeof OUTCOME_VERDICTS)[number];
19
21
  export declare const SURFACE_STATUSES: readonly ["intact", "changed", "reduced", "inconclusive"];
@@ -32,9 +34,19 @@ export declare const GATE_VERDICTS: readonly ["pass", "fail", "inconclusive"];
32
34
  export type GateVerdict = (typeof GATE_VERDICTS)[number];
33
35
  export declare const GATE_TARGET_KINDS: readonly ["head", "merge"];
34
36
  export declare const TRANSITION_KEYS: readonly ["new_fail", "still_fail_unchanged", "updated_fail", "repaired_same_surface", "repaired_with_test_change", "fail_to_skip", "fail_to_xfail", "removed", "not_observed", "out_of_scope", "verification_inconclusive"];
37
+ export interface NearMissMismatch {
38
+ field: StreamKeyField;
39
+ recorded: string;
40
+ current: string;
41
+ }
42
+ export interface NearMiss {
43
+ run_id: string;
44
+ mismatches: NearMissMismatch[];
45
+ }
35
46
  export interface ComparabilityDetail {
36
47
  reason: NoneReason;
37
48
  kind: DetailKind;
49
+ near_miss?: NearMiss;
38
50
  }
39
51
  export interface StillFailEntry {
40
52
  test_id: string;
package/dist/schema.js CHANGED
@@ -5,9 +5,23 @@
5
5
  * backward-compatibility scaffolding.
6
6
  */
7
7
  export const SCHEMA_VERSION = 'veridelta/1';
8
- export const VERDICTS = ['pass', 'fail', 'error', 'skip', 'xfail', 'xpass', 'not_run'];
8
+ export const VERDICTS = [
9
+ 'pass',
10
+ 'fail',
11
+ 'error',
12
+ 'skip',
13
+ 'xfail',
14
+ 'xpass',
15
+ 'not_run',
16
+ ];
9
17
  export const RED_SET = ['fail', 'error'];
10
- export const COMPARABILITIES = ['exact', 'scope_changed', 'subset', 'partial', 'none'];
18
+ export const COMPARABILITIES = [
19
+ 'exact',
20
+ 'scope_changed',
21
+ 'subset',
22
+ 'partial',
23
+ 'none',
24
+ ];
11
25
  export const NONE_REASONS = [
12
26
  'baseline-missing',
13
27
  'stream-mismatch',
@@ -18,8 +32,29 @@ export const NONE_REASONS = [
18
32
  'record-integrity-failed',
19
33
  ];
20
34
  export const DETAIL_KINDS = ['determined', 'failed'];
21
- export const OUTCOME_VERDICTS = ['regressed', 'improved', 'unchanged', 'inconclusive'];
22
- export const SURFACE_STATUSES = ['intact', 'changed', 'reduced', 'inconclusive'];
35
+ export const STREAM_KEY_FIELDS = [
36
+ 'repo.identity',
37
+ 'repo.worktree',
38
+ 'repo.branch',
39
+ 'repo.cwd',
40
+ 'invocation.command',
41
+ 'invocation.selector',
42
+ 'instrument.adapter',
43
+ 'instrument.adapter_version',
44
+ 'instrument.config_digest',
45
+ ];
46
+ export const OUTCOME_VERDICTS = [
47
+ 'regressed',
48
+ 'improved',
49
+ 'unchanged',
50
+ 'inconclusive',
51
+ ];
52
+ export const SURFACE_STATUSES = [
53
+ 'intact',
54
+ 'changed',
55
+ 'reduced',
56
+ 'inconclusive',
57
+ ];
23
58
  export const SURFACE_EVENT_KINDS = [
24
59
  'test-added',
25
60
  'test-removed',
@@ -40,7 +75,11 @@ export const BASELINE_MODES = [
40
75
  'previous-superset',
41
76
  ];
42
77
  export const COMPLETENESS_STATUSES = ['complete', 'partial', 'crashed'];
43
- export const RECORD_INTEGRITIES = ['advisory', 'tamper-evident', 'trusted-environment'];
78
+ export const RECORD_INTEGRITIES = [
79
+ 'advisory',
80
+ 'tamper-evident',
81
+ 'trusted-environment',
82
+ ];
44
83
  export const GATE_POLICIES = ['report-only', 'advisory', 'blocking'];
45
84
  export const GATE_VERDICTS = ['pass', 'fail', 'inconclusive'];
46
85
  export const GATE_TARGET_KINDS = ['head', 'merge'];
@@ -116,6 +155,22 @@ function validateStringMap(v, path) {
116
155
  for (const [k, val] of Object.entries(o))
117
156
  asString(val, `${path}.${k}`);
118
157
  }
158
+ function validateNearMiss(v, path) {
159
+ const o = asObject(v, path);
160
+ checkKeys(o, path, ['run_id', 'mismatches']);
161
+ asString(o.run_id, `${path}.run_id`);
162
+ if (!Array.isArray(o.mismatches))
163
+ fail(`${path}.mismatches`, 'expected array');
164
+ if (o.mismatches.length === 0)
165
+ fail(`${path}.mismatches`, 'expected non-empty array');
166
+ o.mismatches.forEach((m, i) => {
167
+ const mo = asObject(m, `${path}.mismatches[${i}]`);
168
+ checkKeys(mo, `${path}.mismatches[${i}]`, ['field', 'recorded', 'current']);
169
+ asEnum(mo.field, STREAM_KEY_FIELDS, `${path}.mismatches[${i}].field`);
170
+ asString(mo.recorded, `${path}.mismatches[${i}].recorded`);
171
+ asString(mo.current, `${path}.mismatches[${i}].current`);
172
+ });
173
+ }
119
174
  function validateStillFailEntry(v, path) {
120
175
  if (typeof v === 'string')
121
176
  return;
@@ -129,7 +184,12 @@ function validateStillFailEntry(v, path) {
129
184
  }
130
185
  function validateUpdatedFailEntry(v, path) {
131
186
  const o = asObject(v, path);
132
- checkKeys(o, path, ['test_id', 'evidence_digest_before', 'evidence_digest_after', 'failure_mode_changed'], ['degraded_capabilities']);
187
+ checkKeys(o, path, [
188
+ 'test_id',
189
+ 'evidence_digest_before',
190
+ 'evidence_digest_after',
191
+ 'failure_mode_changed',
192
+ ], ['degraded_capabilities']);
133
193
  asString(o.test_id, `${path}.test_id`);
134
194
  asString(o.evidence_digest_before, `${path}.evidence_digest_before`);
135
195
  asString(o.evidence_digest_after, `${path}.evidence_digest_after`);
@@ -157,13 +217,19 @@ function validateTransitions(v, path) {
157
217
  if (!Array.isArray(arr))
158
218
  fail(`${path}.${key}`, 'expected array');
159
219
  if (key === 'still_fail_unchanged') {
160
- arr.forEach((e, i) => validateStillFailEntry(e, `${path}.${key}[${i}]`));
220
+ arr.forEach((e, i) => {
221
+ validateStillFailEntry(e, `${path}.${key}[${i}]`);
222
+ });
161
223
  }
162
224
  else if (key === 'updated_fail') {
163
- arr.forEach((e, i) => validateUpdatedFailEntry(e, `${path}.${key}[${i}]`));
225
+ arr.forEach((e, i) => {
226
+ validateUpdatedFailEntry(e, `${path}.${key}[${i}]`);
227
+ });
164
228
  }
165
229
  else {
166
- arr.forEach((e, i) => asString(e, `${path}.${key}[${i}]`));
230
+ arr.forEach((e, i) => {
231
+ asString(e, `${path}.${key}[${i}]`);
232
+ });
167
233
  }
168
234
  }
169
235
  }
@@ -178,7 +244,14 @@ function validateSurfaceEvent(v, path) {
178
244
  }
179
245
  function validateGate(v, path) {
180
246
  const o = asObject(v, path);
181
- checkKeys(o, path, ['policy', 'verdict', 'triggered', 'target', 'staleness', 'record_integrity']);
247
+ checkKeys(o, path, [
248
+ 'policy',
249
+ 'verdict',
250
+ 'triggered',
251
+ 'target',
252
+ 'staleness',
253
+ 'record_integrity',
254
+ ]);
182
255
  asEnum(o.policy, GATE_POLICIES, `${path}.policy`);
183
256
  asEnum(o.verdict, GATE_VERDICTS, `${path}.verdict`);
184
257
  asStringArray(o.triggered, `${path}.triggered`);
@@ -253,9 +326,11 @@ export function parseReport(value) {
253
326
  asString(cov.baseline, 'report.observation_coverage.baseline');
254
327
  if ('comparability_detail' in o) {
255
328
  const d = asObject(o.comparability_detail, 'report.comparability_detail');
256
- checkKeys(d, 'report.comparability_detail', ['reason', 'kind']);
329
+ checkKeys(d, 'report.comparability_detail', ['reason', 'kind'], ['near_miss']);
257
330
  asEnum(d.reason, NONE_REASONS, 'report.comparability_detail.reason');
258
331
  asEnum(d.kind, DETAIL_KINDS, 'report.comparability_detail.kind');
332
+ if ('near_miss' in d)
333
+ validateNearMiss(d.near_miss, 'report.comparability_detail.near_miss');
259
334
  }
260
335
  else if (comparability === 'none') {
261
336
  fail('report.comparability_detail', 'required when comparability is "none" (§6.3)');
@@ -266,12 +341,17 @@ export function parseReport(value) {
266
341
  asEnum(s.status, SURFACE_STATUSES, 'report.verification_surface.status');
267
342
  if (!Array.isArray(s.events))
268
343
  fail('report.verification_surface.events', 'expected array');
269
- s.events.forEach((e, i) => validateSurfaceEvent(e, `report.verification_surface.events[${i}]`));
344
+ s.events.forEach((e, i) => {
345
+ validateSurfaceEvent(e, `report.verification_surface.events[${i}]`);
346
+ });
270
347
  }
271
348
  if ('transitions' in o)
272
349
  validateTransitions(o.transitions, 'report.transitions');
273
350
  const fe = asObject(o.failure_evidence, 'report.failure_evidence');
274
- checkKeys(fe, 'report.failure_evidence', ['composition_id', 'degraded_capabilities']);
351
+ checkKeys(fe, 'report.failure_evidence', [
352
+ 'composition_id',
353
+ 'degraded_capabilities',
354
+ ]);
275
355
  asString(fe.composition_id, 'report.failure_evidence.composition_id');
276
356
  asStringArray(fe.degraded_capabilities, 'report.failure_evidence.degraded_capabilities');
277
357
  const trust = asObject(o.trust, 'report.trust');
@@ -292,7 +372,13 @@ export function parseReport(value) {
292
372
  }
293
373
  function validateFinding(v, path) {
294
374
  const o = asObject(v, path);
295
- checkKeys(o, path, ['evidence_digest', 'structural_fingerprint', 'evidence', 'context_digest', 'annex']);
375
+ checkKeys(o, path, [
376
+ 'evidence_digest',
377
+ 'structural_fingerprint',
378
+ 'evidence',
379
+ 'context_digest',
380
+ 'annex',
381
+ ]);
296
382
  asString(o.evidence_digest, `${path}.evidence_digest`);
297
383
  asString(o.structural_fingerprint, `${path}.structural_fingerprint`);
298
384
  const ev = asObject(o.evidence, `${path}.evidence`);
@@ -306,7 +392,9 @@ function validateFinding(v, path) {
306
392
  asString(eo.message, `${path}.evidence.errors[${i}].message`);
307
393
  if (!Array.isArray(eo.rel_offsets))
308
394
  fail(`${path}.evidence.errors[${i}].rel_offsets`, 'expected array');
309
- eo.rel_offsets.forEach((n, j) => asInteger(n, `${path}.evidence.errors[${i}].rel_offsets[${j}]`));
395
+ eo.rel_offsets.forEach((n, j) => {
396
+ asInteger(n, `${path}.evidence.errors[${i}].rel_offsets[${j}]`);
397
+ });
310
398
  });
311
399
  asString(o.context_digest, `${path}.context_digest`);
312
400
  const annex = asObject(o.annex, `${path}.annex`);
@@ -339,16 +427,36 @@ export function parseRunRecord(value) {
339
427
  asStringArray(invocation.command, 'record.invocation.command');
340
428
  asStringArray(invocation.selector, 'record.invocation.selector');
341
429
  const instrument = asObject(o.instrument, 'record.instrument');
342
- checkKeys(instrument, 'record.instrument', ['adapter', 'adapter_version', 'composition_id', 'config_digest']);
430
+ checkKeys(instrument, 'record.instrument', [
431
+ 'adapter',
432
+ 'adapter_version',
433
+ 'composition_id',
434
+ 'config_digest',
435
+ ]);
343
436
  const environment = asObject(o.environment, 'record.environment');
344
- checkKeys(environment, 'record.environment', ['runner', 'runner_version', 'runtime', 'os', 'env_fingerprint']);
437
+ checkKeys(environment, 'record.environment', [
438
+ 'runner',
439
+ 'runner_version',
440
+ 'runtime',
441
+ 'os',
442
+ 'env_fingerprint',
443
+ ]);
345
444
  const provenance = asObject(o.provenance, 'record.provenance');
346
- checkKeys(provenance, 'record.provenance', ['head', 'dirty_diff_digest', 'tree_digest']);
445
+ checkKeys(provenance, 'record.provenance', [
446
+ 'head',
447
+ 'dirty_diff_digest',
448
+ 'tree_digest',
449
+ ]);
347
450
  if (provenance.head !== null)
348
451
  asString(provenance.head, 'record.provenance.head');
349
452
  asString(provenance.tree_digest, 'record.provenance.tree_digest');
350
453
  const surface = asObject(o.surface, 'record.surface');
351
- checkKeys(surface, 'record.surface', ['inventory_digest', 'test_sources', 'config_sources', 'suppressed']);
454
+ checkKeys(surface, 'record.surface', [
455
+ 'inventory_digest',
456
+ 'test_sources',
457
+ 'config_sources',
458
+ 'suppressed',
459
+ ]);
352
460
  validateStringMap(surface.test_sources, 'record.surface.test_sources');
353
461
  validateStringMap(surface.config_sources, 'record.surface.config_sources');
354
462
  asStringArray(surface.suppressed, 'record.surface.suppressed');
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}