@testivai/witness 2.3.1 → 2.5.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 (68) hide show
  1. package/dist/baselines/store.d.ts +17 -0
  2. package/dist/baselines/store.d.ts.map +1 -1
  3. package/dist/baselines/store.js +30 -1
  4. package/dist/baselines/store.js.map +1 -1
  5. package/dist/bin/testivai.js +2 -0
  6. package/dist/bin/testivai.js.map +1 -1
  7. package/dist/capture/environment.d.ts +217 -0
  8. package/dist/capture/environment.d.ts.map +1 -0
  9. package/dist/capture/environment.js +399 -0
  10. package/dist/capture/environment.js.map +1 -0
  11. package/dist/capture/settle.d.ts +7 -0
  12. package/dist/capture/settle.d.ts.map +1 -1
  13. package/dist/capture/settle.js +7 -0
  14. package/dist/capture/settle.js.map +1 -1
  15. package/dist/capture/stable-capture.d.ts +80 -0
  16. package/dist/capture/stable-capture.d.ts.map +1 -0
  17. package/dist/capture/stable-capture.js +106 -0
  18. package/dist/capture/stable-capture.js.map +1 -0
  19. package/dist/commands/env.d.ts +37 -0
  20. package/dist/commands/env.d.ts.map +1 -0
  21. package/dist/commands/env.js +113 -0
  22. package/dist/commands/env.js.map +1 -0
  23. package/dist/config/local-config.d.ts +14 -0
  24. package/dist/config/local-config.d.ts.map +1 -1
  25. package/dist/config/local-config.js +1 -0
  26. package/dist/config/local-config.js.map +1 -1
  27. package/dist/config/validate-config.d.ts.map +1 -1
  28. package/dist/config/validate-config.js +12 -0
  29. package/dist/config/validate-config.js.map +1 -1
  30. package/dist/index.d.ts +5 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +28 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/report/anchor.d.ts +18 -0
  35. package/dist/report/anchor.d.ts.map +1 -0
  36. package/dist/report/anchor.js +51 -0
  37. package/dist/report/anchor.js.map +1 -0
  38. package/dist/report/compare.d.ts +7 -0
  39. package/dist/report/compare.d.ts.map +1 -1
  40. package/dist/report/compare.js +22 -2
  41. package/dist/report/compare.js.map +1 -1
  42. package/dist/report/environment.d.ts +101 -0
  43. package/dist/report/environment.d.ts.map +1 -0
  44. package/dist/report/environment.js +331 -0
  45. package/dist/report/environment.js.map +1 -0
  46. package/dist/report/generator.d.ts +7 -2
  47. package/dist/report/generator.d.ts.map +1 -1
  48. package/dist/report/generator.js +33 -6
  49. package/dist/report/generator.js.map +1 -1
  50. package/dist/report/index.d.ts +5 -2
  51. package/dist/report/index.d.ts.map +1 -1
  52. package/dist/report/index.js +11 -1
  53. package/dist/report/index.js.map +1 -1
  54. package/dist/report/results.d.ts +33 -0
  55. package/dist/report/results.d.ts.map +1 -1
  56. package/dist/report/template.d.ts +28 -1
  57. package/dist/report/template.d.ts.map +1 -1
  58. package/dist/report/template.js +127 -15
  59. package/dist/report/template.js.map +1 -1
  60. package/dist/report/validate.d.ts +50 -0
  61. package/dist/report/validate.d.ts.map +1 -0
  62. package/dist/report/validate.js +343 -0
  63. package/dist/report/validate.js.map +1 -0
  64. package/dist/standalone/run.d.ts +12 -0
  65. package/dist/standalone/run.d.ts.map +1 -1
  66. package/dist/standalone/run.js +55 -53
  67. package/dist/standalone/run.js.map +1 -1
  68. package/package.json +1 -1
@@ -11,6 +11,7 @@
11
11
  * `dom.html` is optional — written when the adapter captures DOM alongside
12
12
  * the screenshot. Used by the DOM-diff noise hint in the local report.
13
13
  */
14
+ import { type CaptureEnvironment } from '../capture/environment';
14
15
  /**
15
16
  * Resolve the baselines directory: explicit override → config.json
16
17
  * `baselinesDir` → the default `.testivai/baselines`.
@@ -32,6 +33,13 @@ export interface BaselineMetadata {
32
33
  width?: number;
33
34
  height?: number;
34
35
  approvedBy?: string;
36
+ /**
37
+ * The environment the approved capture was taken in (capture provenance),
38
+ * frozen from the capture's temp metadata.json on approve. Absent for
39
+ * baselines approved before it was recorded, or from an adapter that does
40
+ * not record it.
41
+ */
42
+ environment?: CaptureEnvironment;
35
43
  }
36
44
  export declare class BaselineStore {
37
45
  readonly projectRoot: string;
@@ -90,6 +98,14 @@ export declare class BaselineStore {
90
98
  * screenshot. Stored as `dom.html` next to the screenshot.
91
99
  */
92
100
  writeTemp(name: string, screenshot: Buffer, dom?: string): void;
101
+ /**
102
+ * Merge fields into the capture's temp metadata.json (creating it), so
103
+ * each part of an adapter (masks, environment…) adds its own without
104
+ * losing the others. A malformed file is replaced.
105
+ */
106
+ writeTempMetadata(name: string, fields: Record<string, unknown>): void;
107
+ /** The capture's temp metadata.json, or null when absent or malformed. */
108
+ readTempMetadata(name: string): Record<string, unknown> | null;
93
109
  /**
94
110
  * Read a temp screenshot.
95
111
  */
@@ -113,6 +129,7 @@ export declare class BaselineStore {
113
129
  getBaselineDomPath(name: string): string;
114
130
  getTempScreenshotPath(name: string): string;
115
131
  getTempDomPath(name: string): string;
132
+ getTempMetadataPath(name: string): string;
116
133
  getBaselinesDir(): string;
117
134
  getTempDir(): string;
118
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/baselines/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAgBlF;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,aAAa;IAIZ,QAAQ,CAAC,WAAW,EAAE,MAAM;IAHxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAEZ,WAAW,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM;IAKvE;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAK7B;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQjC;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IASnD;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAuBjG;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMpC;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA8D3B;;;OAGG;IACH,kBAAkB,IAAI,MAAM,GAAG,IAAI;IAmBnC;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAsCxB;;OAEG;IACH,IAAI,IAAI,MAAM,EAAE;IAUhB;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAS/D;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQrC;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMxC;;OAEG;IACH,QAAQ,IAAI,MAAM,EAAE;IAUpB;;OAEG;IACH,SAAS,IAAI,IAAI;IAQjB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIpC,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/C,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI7C,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIxC,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI3C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIpC,eAAe,IAAI,MAAM;IAIzB,UAAU,IAAI,MAAM;CAGrB"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/baselines/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,KAAK,kBAAkB,EAAmB,MAAM,wBAAwB,CAAC;AAElF;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAgBlF;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAED,qBAAa,aAAa;IAIZ,QAAQ,CAAC,WAAW,EAAE,MAAM;IAHxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAEZ,WAAW,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM;IAKvE;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAK7B;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQjC;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IASnD;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAuBjG;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMpC;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAkE3B;;;OAGG;IACH,kBAAkB,IAAI,MAAM,GAAG,IAAI;IAmBnC;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAsCxB;;OAEG;IACH,IAAI,IAAI,MAAM,EAAE;IAUhB;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAS/D;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAOtE,0EAA0E;IAC1E,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAS9D;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQrC;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMxC;;OAEG;IACH,QAAQ,IAAI,MAAM,EAAE;IAUpB;;OAEG;IACH,SAAS,IAAI,IAAI;IAQjB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIpC,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/C,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI7C,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIxC,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI3C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIpC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIzC,eAAe,IAAI,MAAM;IAIzB,UAAU,IAAI,MAAM;CAGrB"}
@@ -50,6 +50,7 @@ exports.BaselineStore = void 0;
50
50
  exports.resolveBaselinesDir = resolveBaselinesDir;
51
51
  const fs = __importStar(require("fs"));
52
52
  const path = __importStar(require("path"));
53
+ const environment_1 = require("../capture/environment");
53
54
  /**
54
55
  * Resolve the baselines directory: explicit override → config.json
55
56
  * `baselinesDir` → the default `.testivai/baselines`.
@@ -204,14 +205,18 @@ class BaselineStore {
204
205
  // older approval must not attribute regions against a new baseline.
205
206
  fs.rmSync(currentElements);
206
207
  }
207
- // Update metadata
208
+ // Update metadata. The capture's environment is frozen into the baseline;
209
+ // a capture without one leaves the baseline without one (the previous
210
+ // baseline's would describe a screenshot it did not take).
208
211
  const now = new Date().toISOString();
209
212
  const existingMeta = this.readMetadata(name);
213
+ const environment = (0, environment_1.readEnvironment)(this.readTempMetadata(name)?.environment);
210
214
  const meta = {
211
215
  name,
212
216
  createdAt: existingMeta?.createdAt ?? now,
213
217
  updatedAt: now,
214
218
  approvedBy: 'local',
219
+ ...(environment ? { environment } : {}),
215
220
  };
216
221
  fs.writeFileSync(currentMetadata, JSON.stringify(meta, null, 2));
217
222
  }
@@ -298,6 +303,27 @@ class BaselineStore {
298
303
  fs.writeFileSync(this.getTempDomPath(name), dom);
299
304
  }
300
305
  }
306
+ /**
307
+ * Merge fields into the capture's temp metadata.json (creating it), so
308
+ * each part of an adapter (masks, environment…) adds its own without
309
+ * losing the others. A malformed file is replaced.
310
+ */
311
+ writeTempMetadata(name, fields) {
312
+ const dir = path.join(this.tempDir, name);
313
+ fs.mkdirSync(dir, { recursive: true });
314
+ const merged = { ...(this.readTempMetadata(name) ?? {}), ...fields };
315
+ fs.writeFileSync(this.getTempMetadataPath(name), JSON.stringify(merged, null, 2));
316
+ }
317
+ /** The capture's temp metadata.json, or null when absent or malformed. */
318
+ readTempMetadata(name) {
319
+ try {
320
+ const parsed = JSON.parse(fs.readFileSync(this.getTempMetadataPath(name), 'utf-8'));
321
+ return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : null;
322
+ }
323
+ catch {
324
+ return null;
325
+ }
326
+ }
301
327
  /**
302
328
  * Read a temp screenshot.
303
329
  */
@@ -357,6 +383,9 @@ class BaselineStore {
357
383
  getTempDomPath(name) {
358
384
  return path.join(this.tempDir, name, 'dom.html');
359
385
  }
386
+ getTempMetadataPath(name) {
387
+ return path.join(this.tempDir, name, 'metadata.json');
388
+ }
360
389
  getBaselinesDir() {
361
390
  return this.baselinesDir;
362
391
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/baselines/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/baselines/store.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ const capture_1 = require("../commands/capture");
12
12
  const approve_1 = require("../commands/approve");
13
13
  const merge_captures_1 = require("../commands/merge-captures");
14
14
  const report_1 = require("../commands/report");
15
+ const env_1 = require("../commands/env");
15
16
  const packageJson = require('../../package.json');
16
17
  const program = new commander_1.Command();
17
18
  // Display banner
@@ -47,6 +48,7 @@ program.addCommand(capture_1.witnessCommand);
47
48
  program.addCommand(approve_1.approveCommand);
48
49
  program.addCommand(merge_captures_1.mergeCapturesCommand);
49
50
  program.addCommand(report_1.reportCommand);
51
+ program.addCommand(env_1.envCommand);
50
52
  // Parse arguments
51
53
  program.parse();
52
54
  // Show help if no command provided
@@ -1 +1 @@
1
- {"version":3,"file":"testivai.js","sourceRoot":"","sources":["../../src/bin/testivai.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,kDAA0B;AAC1B,2CAA+C;AAC/C,yCAA6C;AAC7C,iDAAqD;AACrD,iDAAqD;AACrD,+DAAkE;AAClE,+CAAmD;AAEnD,MAAM,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAElD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,iBAAiB;AACjB,MAAM,UAAU,GAAG,GAAG,EAAE;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC,CAAC;AAEF,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,qEAAqE,CAAC;KAClF,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,wBAAwB,CAAC;KACvE,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;IACtB,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,KAAK,GACT,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,UAAU,EAAE,CAAC;IACf,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,OAAO;KACJ,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC;KAChD,MAAM,CAAC,aAAa,EAAE,gCAAgC,CAAC;KACvD,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAE1C,eAAe;AACf,OAAO,CAAC,UAAU,CAAC,kBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,gBAAU,CAAC,CAAC;AAC/B,OAAO,CAAC,UAAU,CAAC,wBAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,wBAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,qCAAoB,CAAC,CAAC;AACzC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAElC,kBAAkB;AAClB,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,mCAAmC;AACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"testivai.js","sourceRoot":"","sources":["../../src/bin/testivai.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,kDAA0B;AAC1B,2CAA+C;AAC/C,yCAA6C;AAC7C,iDAAqD;AACrD,iDAAqD;AACrD,+DAAkE;AAClE,+CAAmD;AACnD,yCAA6C;AAE7C,MAAM,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAElD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,iBAAiB;AACjB,MAAM,UAAU,GAAG,GAAG,EAAE;IACtB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC,CAAC;AAEF,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,qEAAqE,CAAC;KAClF,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,wBAAwB,CAAC;KACvE,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;IACtB,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,KAAK,GACT,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,UAAU,EAAE,CAAC;IACf,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,OAAO;KACJ,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC;KAChD,MAAM,CAAC,aAAa,EAAE,gCAAgC,CAAC;KACvD,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAE1C,eAAe;AACf,OAAO,CAAC,UAAU,CAAC,kBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,gBAAU,CAAC,CAAC;AAC/B,OAAO,CAAC,UAAU,CAAC,wBAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,wBAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,qCAAoB,CAAC,CAAC;AACzC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,gBAAU,CAAC,CAAC;AAE/B,kBAAkB;AAClB,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,mCAAmC;AACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC"}
@@ -0,0 +1,217 @@
1
+ /**
2
+ * Capture provenance — where a capture came from.
3
+ *
4
+ * When the same URL renders differently, the question a reviewer needs
5
+ * answered first is whether the PAGE changed or the MACHINE did: a new
6
+ * browser build, another OS or distro (another set of fonts), another device
7
+ * scale, another way of taking the screenshot. Every adapter records the
8
+ * same `environment` block in the capture's metadata.json; approving a
9
+ * capture freezes it into the baseline's metadata.json, and the compare
10
+ * reads the two side by side (report/environment.ts).
11
+ *
12
+ * The block is plain JSON, so non-JS adapters write the same shape
13
+ * (docs/extension-api.md). Every part an adapter cannot observe is left out,
14
+ * never guessed: an absent field reads as "not recorded", not as a change.
15
+ */
16
+ /** What the page was rendered with, measured in the page (RENDER_PROBE_EXPRESSION). */
17
+ export interface RenderEnvironment {
18
+ /** CSS viewport (window.innerWidth × innerHeight). */
19
+ viewport?: {
20
+ width: number;
21
+ height: number;
22
+ };
23
+ /** window.devicePixelRatio. */
24
+ deviceScaleFactor?: number;
25
+ colorScheme?: 'light' | 'dark';
26
+ reducedMotion?: 'reduce' | 'no-preference';
27
+ /** navigator.language. */
28
+ locale?: string;
29
+ /** Intl time zone. */
30
+ timezone?: string;
31
+ }
32
+ export interface CaptureEnvironment {
33
+ os: {
34
+ /** process.platform: linux / darwin / win32. */
35
+ platform: string;
36
+ /** os.release(): the kernel on Linux, the OS version on macOS and Windows. */
37
+ release: string;
38
+ arch: string;
39
+ /** Linux only: `<ID> <VERSION_ID>` from /etc/os-release, e.g. "ubuntu 24.04". */
40
+ distro?: string;
41
+ };
42
+ browser: {
43
+ /** chromium / firefox / webkit (the engine family). */
44
+ name: string;
45
+ /** Full build version; null when the adapter could not read it. */
46
+ version: string | null;
47
+ /** A branded build of the engine: chrome, msedge, chrome-beta… */
48
+ channel?: string;
49
+ headless?: boolean;
50
+ };
51
+ /** The test framework driving the browser, when there is one (language only when the adapter can tell). */
52
+ framework?: {
53
+ name: string;
54
+ version: string | null;
55
+ language?: string;
56
+ runner?: string;
57
+ };
58
+ adapter: {
59
+ name: string;
60
+ version: string;
61
+ /** `<extent>:<mechanism>`, one of CAPTURE_METHODS. */
62
+ captureMethod: string;
63
+ };
64
+ /** The WebDriver binary, when the adapter talks to one. */
65
+ driver?: {
66
+ name: string;
67
+ version: string;
68
+ };
69
+ render?: RenderEnvironment;
70
+ ci?: {
71
+ provider: string;
72
+ runnerImage?: string;
73
+ };
74
+ /** Running inside a container (/.dockerenv or /run/.containerenv). */
75
+ container?: boolean;
76
+ /** TESTIVAI_ENV_LABEL: a name the team gives this environment, e.g. its image tag. */
77
+ label?: string;
78
+ /** Playwright project (or another runner's variant) the capture ran under. */
79
+ project?: string;
80
+ }
81
+ /** The machine-level part of the block: the same for every capture of a run. */
82
+ export type HostEnvironment = Pick<CaptureEnvironment, 'os' | 'ci' | 'container' | 'label'>;
83
+ /**
84
+ * How the screenshot was taken, as `<extent>:<mechanism>`. The extent is what
85
+ * the image covers (the full page or the viewport); the mechanism is what
86
+ * took it. A change of method changes the image, and often its size.
87
+ */
88
+ export declare const CAPTURE_METHODS: {
89
+ /** CDP Page.captureScreenshot with captureBeyondViewport. */
90
+ readonly CDP_FULL_PAGE: "full-page:cdp";
91
+ /** Playwright page.screenshot({ fullPage: true }). */
92
+ readonly PLAYWRIGHT_FULL_PAGE: "full-page:playwright";
93
+ /** Viewport screenshots scrolled and stitched together. */
94
+ readonly STITCHED_FULL_PAGE: "full-page:stitched";
95
+ /** Firefox's own full-page screenshot (Selenium save_full_page_screenshot). */
96
+ readonly FIREFOX_FULL_PAGE: "full-page:firefox";
97
+ /** WebDriver takeScreenshot: the viewport only. */
98
+ readonly WEBDRIVER_VIEWPORT: "viewport:webdriver";
99
+ };
100
+ /** The `environmentPolicy` values in .testivai/config.json. */
101
+ export type EnvironmentPolicy = 'warn' | 'separate' | 'strict';
102
+ export declare const ENVIRONMENT_POLICIES: readonly EnvironmentPolicy[];
103
+ /**
104
+ * The distro from /etc/os-release, as `<ID> <VERSION_ID>` ("ubuntu 24.04",
105
+ * "debian 12"; "arch" for a rolling release). That pair decides the fonts and
106
+ * the FreeType build a Linux machine draws text with; the kernel does not.
107
+ */
108
+ export declare function distroFromOsRelease(text: string): string | undefined;
109
+ /** The CI provider, and the runner image where the provider names one. */
110
+ export declare function detectCi(env: NodeJS.ProcessEnv): CaptureEnvironment['ci'];
111
+ /** Where collectHostEnvironment reads from; every source is injectable for tests. */
112
+ export interface HostSources {
113
+ env?: NodeJS.ProcessEnv;
114
+ platform?: string;
115
+ release?: string;
116
+ arch?: string;
117
+ /** Returns a file's text, or null when it cannot be read. */
118
+ readFile?: (filePath: string) => string | null;
119
+ exists?: (filePath: string) => boolean;
120
+ }
121
+ /** The machine-level part of the block. Never throws. */
122
+ export declare function collectHostEnvironment(sources?: HostSources): HostEnvironment;
123
+ /**
124
+ * The engine and its version from a user agent: the fallback for an adapter
125
+ * whose driver does not say (a Playwright persistent context has no
126
+ * browser() to ask). Edge is reported as chromium with channel msedge, the
127
+ * way Playwright names it.
128
+ */
129
+ export declare function browserFromUserAgent(ua: string): CaptureEnvironment['browser'] | null;
130
+ /**
131
+ * The browser (and the WebDriver binary) from W3C capabilities, as
132
+ * WebdriverIO's `browser.capabilities` or selenium-webdriver's
133
+ * `getCapabilities()` returns them (a plain object, or an object with
134
+ * `get()`). Headless is read from the browser's own launch arguments, and
135
+ * only said when they are there to say it. Null without a browser name.
136
+ */
137
+ export declare function browserFromCapabilities(caps: unknown): {
138
+ browser: CaptureEnvironment['browser'];
139
+ driver?: CaptureEnvironment['driver'];
140
+ } | null;
141
+ /**
142
+ * The version of a package as the project at `root` resolves it (the user's
143
+ * own webdriverio or selenium-webdriver, not one bundled here), or null.
144
+ */
145
+ export declare function installedPackageVersion(name: string, root?: string): string | null;
146
+ /**
147
+ * One self-contained in-page expression (no imports, no closures) that
148
+ * measures what the page is actually rendered with. Measured, not taken from
149
+ * configuration: a config can say 1280×720 at scale 1 while the browser
150
+ * renders something else. Each field is read on its own, so one missing API
151
+ * never loses the rest.
152
+ */
153
+ export declare const RENDER_PROBE_EXPRESSION = "(function () {\n var out = {};\n try { out.viewport = { width: window.innerWidth, height: window.innerHeight }; } catch (e) {}\n try { out.deviceScaleFactor = window.devicePixelRatio; } catch (e) {}\n try { out.colorScheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'; } catch (e) {}\n try { out.reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches ? 'reduce' : 'no-preference'; } catch (e) {}\n try { out.locale = navigator.language; } catch (e) {}\n try { out.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone; } catch (e) {}\n try { out.userAgent = navigator.userAgent; } catch (e) {}\n return out;\n})()";
154
+ /** Validate the probe's result. Mistyped fields are dropped, never trusted. */
155
+ export declare function parseRenderProbe(raw: unknown): {
156
+ render: RenderEnvironment;
157
+ userAgent?: string;
158
+ } | null;
159
+ export interface CaptureEnvironmentParts {
160
+ host: HostEnvironment;
161
+ browser: CaptureEnvironment['browser'];
162
+ adapter: CaptureEnvironment['adapter'];
163
+ framework?: CaptureEnvironment['framework'];
164
+ driver?: CaptureEnvironment['driver'];
165
+ render?: RenderEnvironment;
166
+ project?: string;
167
+ }
168
+ /** Assemble the block from what one adapter observed. */
169
+ export declare function buildCaptureEnvironment(parts: CaptureEnvironmentParts): CaptureEnvironment;
170
+ export interface WebDriverEnvironmentInput {
171
+ /** The session's capabilities (WebdriverIO browser.capabilities, Selenium getCapabilities()). */
172
+ capabilities: unknown;
173
+ /** The raw RENDER_PROBE_EXPRESSION result. */
174
+ probe: unknown;
175
+ adapter: CaptureEnvironment['adapter'];
176
+ framework: {
177
+ name: string;
178
+ version: string | null;
179
+ };
180
+ host?: HostEnvironment;
181
+ }
182
+ /**
183
+ * The block for a WebDriver adapter: the browser and driver from the
184
+ * capabilities (the user agent when they say nothing), the render settings
185
+ * from the probe. Null when neither names the browser: never guessed.
186
+ */
187
+ export declare function webDriverEnvironment(input: WebDriverEnvironmentInput): CaptureEnvironment | null;
188
+ /**
189
+ * The block as recorded in a metadata.json, or null when there is none:
190
+ * captures from before provenance, or from an adapter that does not record
191
+ * it. Only the three parts every recorder writes are required.
192
+ */
193
+ export declare function readEnvironment(raw: unknown): CaptureEnvironment | null;
194
+ /**
195
+ * environmentPolicy "separate" keys each snapshot by environment:
196
+ * `<name>__<browser>__<platform>`, the same in-the-name mechanism as the
197
+ * Playwright multi-project variant, so the on-disk layout, results.json, the
198
+ * report, approvals and the approve action all work unchanged. A browser the
199
+ * name already ends with (a project named after it) is not repeated. Never
200
+ * keyed by version: a browser upgrade should be seen, not hidden behind a
201
+ * fresh baseline. Other policies return the name unchanged.
202
+ */
203
+ export declare function applyEnvironmentPolicyToName(name: string, env: {
204
+ browser: {
205
+ name: string;
206
+ };
207
+ os: {
208
+ platform: string;
209
+ };
210
+ }, policy: EnvironmentPolicy | undefined): string;
211
+ /** The variant a separate-policy name carries, or null for a name without one. */
212
+ export declare function parseEnvironmentVariant(name: string): {
213
+ base: string;
214
+ browser: string;
215
+ platform: string;
216
+ } | null;
217
+ //# sourceMappingURL=environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/capture/environment.ts"],"names":[],"mappings":"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"}