@flighthq/tool-capture 0.3.0 → 0.3.1-next.1041.35b950c

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 (82) hide show
  1. package/README.md +1 -1
  2. package/dist/baselineStore.d.ts +12 -1
  3. package/dist/baselineStore.d.ts.map +1 -1
  4. package/dist/baselineStore.js +83 -6
  5. package/dist/baselineStore.js.map +1 -1
  6. package/dist/bin.js +80 -6
  7. package/dist/bin.js.map +1 -1
  8. package/dist/captureBaselineCoverageManifest.d.ts +80 -0
  9. package/dist/captureBaselineCoverageManifest.d.ts.map +1 -0
  10. package/dist/captureBaselineCoverageManifest.js +178 -0
  11. package/dist/captureBaselineCoverageManifest.js.map +1 -0
  12. package/dist/captureBaselineSanity.d.ts +9 -0
  13. package/dist/captureBaselineSanity.d.ts.map +1 -0
  14. package/dist/captureBaselineSanity.js +32 -0
  15. package/dist/captureBaselineSanity.js.map +1 -0
  16. package/dist/captureBenchmark.d.ts.map +1 -1
  17. package/dist/captureBenchmark.js +5 -1
  18. package/dist/captureBenchmark.js.map +1 -1
  19. package/dist/captureDomReadback.d.ts +4 -0
  20. package/dist/captureDomReadback.d.ts.map +1 -0
  21. package/dist/captureDomReadback.js +51 -0
  22. package/dist/captureDomReadback.js.map +1 -0
  23. package/dist/captureEntry.d.ts +12 -3
  24. package/dist/captureEntry.d.ts.map +1 -1
  25. package/dist/captureEntry.js +87 -36
  26. package/dist/captureEntry.js.map +1 -1
  27. package/dist/captureEntryFilter.d.ts +5 -0
  28. package/dist/captureEntryFilter.d.ts.map +1 -0
  29. package/dist/captureEntryFilter.js +23 -0
  30. package/dist/captureEntryFilter.js.map +1 -0
  31. package/dist/captureFlightPreset.js +10 -4
  32. package/dist/captureFlightPreset.js.map +1 -1
  33. package/dist/captureProtocol.d.ts +3 -0
  34. package/dist/captureProtocol.d.ts.map +1 -1
  35. package/dist/captureProtocol.js.map +1 -1
  36. package/dist/captureResourceFailure.d.ts +4 -0
  37. package/dist/captureResourceFailure.d.ts.map +1 -0
  38. package/dist/captureResourceFailure.js +31 -0
  39. package/dist/captureResourceFailure.js.map +1 -0
  40. package/dist/captureScreenshotHash.d.ts +30 -0
  41. package/dist/captureScreenshotHash.d.ts.map +1 -0
  42. package/dist/captureScreenshotHash.js +108 -0
  43. package/dist/captureScreenshotHash.js.map +1 -0
  44. package/dist/captureServer.d.ts +8 -0
  45. package/dist/captureServer.d.ts.map +1 -1
  46. package/dist/captureServer.js +126 -22
  47. package/dist/captureServer.js.map +1 -1
  48. package/dist/captureSuite.d.ts +11 -0
  49. package/dist/captureSuite.d.ts.map +1 -1
  50. package/dist/captureSuite.js +6 -4
  51. package/dist/captureSuite.js.map +1 -1
  52. package/dist/captureValidation.d.ts +20 -3
  53. package/dist/captureValidation.d.ts.map +1 -1
  54. package/dist/captureValidation.js +222 -70
  55. package/dist/captureValidation.js.map +1 -1
  56. package/dist/captureWorkflow.d.ts.map +1 -1
  57. package/dist/captureWorkflow.js +3 -0
  58. package/dist/captureWorkflow.js.map +1 -1
  59. package/dist/functionalScene3Ds.d.ts.map +1 -1
  60. package/dist/functionalScene3Ds.js +5 -3
  61. package/dist/functionalScene3Ds.js.map +1 -1
  62. package/dist/functionalVerify.d.ts.map +1 -1
  63. package/dist/functionalVerify.js +57 -16
  64. package/dist/functionalVerify.js.map +1 -1
  65. package/package.json +5 -5
  66. package/src/baselineStore.test.ts +210 -7
  67. package/src/bin.test.ts +32 -0
  68. package/src/captureBaselineCoverageManifest.test.ts +368 -0
  69. package/src/captureBaselineSanity.test.ts +38 -0
  70. package/src/captureBenchmark.e2e.test.ts +29 -1
  71. package/src/captureDomReadback.test.ts +35 -0
  72. package/src/captureEntry.e2e.test.ts +108 -0
  73. package/src/captureEntryFilter.test.ts +45 -0
  74. package/src/captureEyes.e2e.test.ts +43 -0
  75. package/src/captureFlightPreset.test.ts +10 -0
  76. package/src/capturePage.test.ts +23 -3
  77. package/src/captureResourceFailure.test.ts +60 -0
  78. package/src/captureScreenshotHash.test.ts +142 -0
  79. package/src/captureServer.test.ts +103 -3
  80. package/src/captureValidation.test.ts +217 -36
  81. package/src/functionalScene3Ds.test.ts +7 -0
  82. package/src/functionalVerify.test.ts +33 -3
@@ -0,0 +1,178 @@
1
+ // The capture baseline coverage manifest: the committed pin on WHICH targets have comparable baseline
2
+ // evidence in the capture regression tier.
3
+ //
4
+ // ★ THIS IS THE SAME MECHANISM SHAPE AS `scripts/reachability.ts`, deliberately and by name:
5
+ // a committed manifest of IDENTITIES (never a count), an explicit diff that names every gain and loss
6
+ // individually, and a separate `--update` acceptance path guarded so a scoped run can never accept away
7
+ // a whole-repo pin. The two are separate mechanisms over separate subjects — do not merge them — but the
8
+ // shape is the same on purpose, so that reading one teaches you the other. The sibling mechanism is the
9
+ // registrar manifest — `scripts/reachability-registrar-manifest.ts` (with its own colocated test) over
10
+ // `scripts/reachability-registrars.json`, accepted through `scripts/reachability.ts --update-registrars`
11
+ // — built to the same four rules over `packageName/registrar` identities, and it cites this one by name.
12
+ //
13
+ // WHY A MANIFEST AND NOT A COUNT. `isCaptureRegressionCoverageFailure` fails only when a run compared
14
+ // NOTHING (`regressionComparisons === 0 && regressionUncovered > 0`). One covered target rescues a run of
15
+ // four hundred: the moment a single comparison happens, the floor is satisfied and every other uncovered
16
+ // target is reported as a muted status line and counted as skipped, exit 0. So coverage can erode one
17
+ // target at a time, silently, and the only trace is a line in a summary nobody diffs. A count would have
18
+ // the same hole one level up — it says how many were lost, never WHICH — and a count that drifts down is
19
+ // indistinguishable from a target legitimately retired. Identities make a loss nameable and therefore
20
+ // reviewable.
21
+ //
22
+ // The manifest records only that a target HAD a comparable baseline, never what the baseline contained.
23
+ // It is a pin on the SHAPE of the evidence, not on the evidence, so re-baselining a scene is not a
24
+ // manifest change and does not need acceptance.
25
+ //
26
+ // ★ ONE DEFECT, THREE TIERS, ONE MANIFEST. The pipeline records which evidence EXISTS and never records
27
+ // which evidence SHOULD exist, so wherever evidence is optional its absence is indistinguishable from
28
+ // satisfaction. That surfaced independently in three tiers over the SAME target set — a missing
29
+ // fingerprint skips the regression comparison, a missing `sha256` leaves `changed` null so
30
+ // `--fail-on-changed` cannot fire, and a missing (or misspelled) `assertRender` export silently runs no
31
+ // oracle. They are not three defects: they are three kinds of evidence about one row, and a target's
32
+ // evidence profile is ONE fact. Three parallel manifests would be three places for that fact to drift
33
+ // apart, so the kinds are COLUMNS on one row here, and a loss is named as `target#kind`.
34
+ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
35
+ import { join } from 'node:path';
36
+ export const CAPTURE_BASELINE_COVERAGE_MANIFEST_VERSION = 2;
37
+ export const CAPTURE_BASELINE_EVIDENCE_KINDS = [
38
+ 'fingerprint',
39
+ 'oracle',
40
+ 'screenshot',
41
+ ];
42
+ /** Where the committed pin lives — one file, keyed by subject, beside the reachability baseline. */
43
+ export function captureBaselineCoverageManifestPath(root) {
44
+ return join(root, 'scripts', 'capture-baseline-coverage-manifest.json');
45
+ }
46
+ export function createCaptureBaselineCoverageManifest(subjects) {
47
+ const out = {};
48
+ for (const [subject, targets] of Object.entries(subjects)) {
49
+ const row = {};
50
+ // A target with no evidence at all is ABSENT rather than pinned-with-nothing: pinning an empty row
51
+ // would assert "this target is known to carry no evidence", which is the claim the manifest exists
52
+ // to make impossible to state by accident.
53
+ for (const identity of Object.keys(targets).sort()) {
54
+ const kinds = [...new Set(targets[identity])].sort();
55
+ if (kinds.length > 0)
56
+ row[identity] = kinds;
57
+ }
58
+ out[subject] = row;
59
+ }
60
+ return { schemaVersion: CAPTURE_BASELINE_COVERAGE_MANIFEST_VERSION, subjects: out };
61
+ }
62
+ /**
63
+ * Diffs observed coverage against the manifest for one subject.
64
+ *
65
+ * `visited` is every identity whose coverage the run DETERMINED, so a scoped run is judged only on what
66
+ * it settled. `scope.undetermined` names the ones it could not settle at all (a page that never loaded):
67
+ * those are neither a loss nor a vanishing, because the run learned nothing about them.
68
+ * A LOSS (visited, but no baseline) is reportable from any run — the target was there and its evidence
69
+ * was not. An ABSENCE (pinned but never visited) is only meaningful when the run could have visited it,
70
+ * because otherwise "not visited" is indistinguishable from "filtered out".
71
+ *
72
+ * Scope is therefore expressed precisely rather than as one boolean: `entryFiltered` suppresses the
73
+ * absence check entirely (any entry could have been excluded), and `activeRenderers` narrows it to the
74
+ * renderers this run actually ran, so `--renderer=webgl` does not report every canvas pin as vanished.
75
+ */
76
+ export function diffCaptureBaselineCoverage(manifest, subject, covered, visited, scope) {
77
+ const kindObserved = (kind) => scope.kinds === undefined || scope.kinds.includes(kind);
78
+ const pinnedRows = manifest.subjects[subject] ?? {};
79
+ const pinned = new Set(Object.entries(pinnedRows).flatMap(([identity, kinds]) => kinds.filter(kindObserved).map((kind) => formatCaptureBaselineEvidenceIdentity(identity, kind))));
80
+ const coveredSet = new Set(Object.entries(covered).flatMap(([identity, kinds]) => [...kinds].filter(kindObserved).map((kind) => formatCaptureBaselineEvidenceIdentity(identity, kind))));
81
+ const visitedSet = new Set(visited);
82
+ const targetOf = (evidence) => evidence.slice(0, evidence.lastIndexOf('#'));
83
+ const rendererOf = (identity) => identity.slice(identity.lastIndexOf('/') + 1);
84
+ const rendererActive = (identity) => scope.activeRenderers === null || scope.activeRenderers.includes(rendererOf(identity));
85
+ const gained = [...coveredSet].filter((evidence) => !pinned.has(evidence)).sort();
86
+ const lost = [...pinned].filter((evidence) => visitedSet.has(targetOf(evidence)) && !coveredSet.has(evidence)).sort();
87
+ const undeterminedSet = new Set(scope.undetermined ?? []);
88
+ const absent = scope.entryFiltered
89
+ ? []
90
+ : [...pinned]
91
+ .filter((evidence) => {
92
+ const identity = targetOf(evidence);
93
+ return rendererActive(identity) && !visitedSet.has(identity) && !undeterminedSet.has(identity);
94
+ })
95
+ .sort();
96
+ return { gained, lost, absent };
97
+ }
98
+ /** `entry/renderer`, the identity a manifest pins. */
99
+ export function formatCaptureBaselineCoverageIdentity(entry, renderer) {
100
+ return `${entry}/${renderer}`;
101
+ }
102
+ /** `entry/renderer#kind` — the unit a loss is named in. `#` because a renderer id may contain `:`. */
103
+ export function formatCaptureBaselineEvidenceIdentity(identity, kind) {
104
+ return `${identity}#${kind}`;
105
+ }
106
+ /**
107
+ * True when the diff records something the operator must accept or repair — in EITHER direction.
108
+ *
109
+ * A gain fails too, and that is deliberate. The manifest is an exact set, not a floor: an unaccepted gain
110
+ * means the pin no longer describes the tree, so it ages silently until someone finally accepts a mix of
111
+ * current and stale. It also closes the case that justifies identities over a count in the first place —
112
+ * a same-count SWAP, where one target loses its baseline and a different one gains one. Against a count
113
+ * that reconciles; against a floor that only fails on loss it is half-reported; only an exact set names
114
+ * both halves. The sibling registrar manifest fails in both directions for the same reason.
115
+ */
116
+ export function isCaptureBaselineCoverageFailure(diff) {
117
+ return diff.gained.length > 0 || diff.lost.length > 0 || diff.absent.length > 0;
118
+ }
119
+ /** Every `target#kind` a manifest pins for one subject, sorted. */
120
+ export function listCaptureBaselineEvidence(manifest, subject) {
121
+ const targets = manifest.subjects[subject] ?? {};
122
+ return Object.entries(targets)
123
+ .flatMap(([identity, kinds]) => kinds.map((kind) => formatCaptureBaselineEvidenceIdentity(identity, kind)))
124
+ .sort();
125
+ }
126
+ /** The committed pin, or an empty manifest when none exists yet. A missing file is not an error. */
127
+ export function readCaptureBaselineCoverageManifest(root) {
128
+ const path = captureBaselineCoverageManifestPath(root);
129
+ if (!existsSync(path))
130
+ return createCaptureBaselineCoverageManifest({});
131
+ const parsed = JSON.parse(readFileSync(path, 'utf8'));
132
+ const subjects = parsed.subjects ?? {};
133
+ const migrated = {};
134
+ for (const [subject, value] of Object.entries(subjects)) {
135
+ // Schema 1 pinned a bare identity list, and every identity in it meant "has a comparable fingerprint"
136
+ // because that was the only evidence kind the manifest knew about. Read it as exactly that claim
137
+ // rather than as a target with all three, which would manufacture pins nobody ever accepted.
138
+ migrated[subject] = Array.isArray(value)
139
+ ? Object.fromEntries(value.map((identity) => [identity, ['fingerprint']]))
140
+ : value;
141
+ }
142
+ return createCaptureBaselineCoverageManifest(migrated);
143
+ }
144
+ /**
145
+ * Rewrites ONE subject's pin, preserving every other subject — an update run covers the subject it ran and
146
+ * knows nothing about the other, so it must not speak for it.
147
+ *
148
+ * `activeRenderers` and `determined` apply the same rule one level down, twice. The regression tier is
149
+ * legitimately renderer-scoped (`--renderer=canvas,webgl,webgpu`; DOM produces no fingerprint), so refusing
150
+ * every scoped update would refuse the tier's own canonical command; and within an accepted run a page that
151
+ * failed to load settles nothing about its target. So a pin is retired ONLY when this run positively
152
+ * determined that identity to be uncovered. Everything else is carried forward. One flaky target therefore
153
+ * cannot quietly retire a pin, and cannot block the whole acceptance either.
154
+ */
155
+ export function writeCaptureBaselineCoverageManifest(root, subject, covered, activeRenderers = null, determined = null, observedKinds = null) {
156
+ const existing = readCaptureBaselineCoverageManifest(root);
157
+ const determinedSet = determined === null ? null : new Set(determined);
158
+ const previous = existing.subjects[subject] ?? {};
159
+ const merged = {};
160
+ for (const [identity, kinds] of Object.entries(previous)) {
161
+ const renderer = identity.slice(identity.lastIndexOf('/') + 1);
162
+ const rendererOutOfScope = activeRenderers !== null && !activeRenderers.includes(renderer);
163
+ const notDetermined = determinedSet !== null && !determinedSet.has(identity);
164
+ // Carry forward every kind this run could not speak for: a renderer it did not run, a target it
165
+ // never settled, or an evidence kind it never observed. A run retires only what it positively
166
+ // determined to be gone, on all three axes.
167
+ const carried = kinds.filter((kind) => rendererOutOfScope || notDetermined || (observedKinds !== null && !observedKinds.includes(kind)));
168
+ if (carried.length > 0)
169
+ merged[identity] = carried;
170
+ }
171
+ for (const [identity, kinds] of Object.entries(covered)) {
172
+ merged[identity] = [...new Set([...(merged[identity] ?? []), ...kinds])];
173
+ }
174
+ const manifest = createCaptureBaselineCoverageManifest({ ...existing.subjects, [subject]: merged });
175
+ writeFileSync(captureBaselineCoverageManifestPath(root), `${JSON.stringify(manifest, null, 2)}\n`);
176
+ return manifest;
177
+ }
178
+ //# sourceMappingURL=captureBaselineCoverageManifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captureBaselineCoverageManifest.js","sourceRoot":"","sources":["../src/captureBaselineCoverageManifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /** True for an exact screenshot hash known to represent a content-free capture. */
2
+ export declare function isRejectedCaptureBaselineHash(hash: string): boolean;
3
+ /**
4
+ * True when every cell of a coarse fingerprint carries the same value. A uniform frame may be a
5
+ * legitimate render, but it cannot distinguish that render from a broken blank frame and must not become
6
+ * regression ground truth.
7
+ */
8
+ export declare function isUniformCaptureFingerprint(fingerprint: string): boolean;
9
+ //# sourceMappingURL=captureBaselineSanity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captureBaselineSanity.d.ts","sourceRoot":"","sources":["../src/captureBaselineSanity.ts"],"names":[],"mappings":"AAcA,mFAAmF;AACnF,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAQxE"}
@@ -0,0 +1,32 @@
1
+ // Write-side sanity predicates shared by every path that can bless capture evidence. Keeping these
2
+ // outside captureEntry/captureValidation lets the baseline store enforce them too: a new writer must not
3
+ // reproduce only the record shape while bypassing what the established writers refuse.
4
+ // Hex characters per fingerprint cell (one RGB triplet).
5
+ const CAPTURE_FINGERPRINT_CELL_CHARS = 6;
6
+ // Frames observed to be content-free. The encoded-PNG hash is retained while historical baselines use
7
+ // that derivation; additional derivations must add their corresponding bad-output hashes here rather than
8
+ // silently losing the refusal.
9
+ const REJECTED_CAPTURE_BASELINE_HASHES = new Set([
10
+ 'a4f2105ecdefec94c5fe749c1dc5f2fb9dd74b9832cba0afcd3434f38c0380d0',
11
+ ]);
12
+ /** True for an exact screenshot hash known to represent a content-free capture. */
13
+ export function isRejectedCaptureBaselineHash(hash) {
14
+ return REJECTED_CAPTURE_BASELINE_HASHES.has(hash);
15
+ }
16
+ /**
17
+ * True when every cell of a coarse fingerprint carries the same value. A uniform frame may be a
18
+ * legitimate render, but it cannot distinguish that render from a broken blank frame and must not become
19
+ * regression ground truth.
20
+ */
21
+ export function isUniformCaptureFingerprint(fingerprint) {
22
+ const payload = fingerprint.slice(fingerprint.indexOf(':') + 1);
23
+ if (payload.length <= CAPTURE_FINGERPRINT_CELL_CHARS)
24
+ return true;
25
+ const first = payload.slice(0, CAPTURE_FINGERPRINT_CELL_CHARS);
26
+ for (let i = CAPTURE_FINGERPRINT_CELL_CHARS; i < payload.length; i += CAPTURE_FINGERPRINT_CELL_CHARS) {
27
+ if (payload.slice(i, i + CAPTURE_FINGERPRINT_CELL_CHARS) !== first)
28
+ return false;
29
+ }
30
+ return true;
31
+ }
32
+ //# sourceMappingURL=captureBaselineSanity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captureBaselineSanity.js","sourceRoot":"","sources":["../src/captureBaselineSanity.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,yGAAyG;AACzG,uFAAuF;AAEvF,yDAAyD;AACzD,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEzC,sGAAsG;AACtG,0GAA0G;AAC1G,+BAA+B;AAC/B,MAAM,gCAAgC,GAAwB,IAAI,GAAG,CAAC;IACpE,kEAAkE;CACnE,CAAC,CAAC;AAEH,mFAAmF;AACnF,MAAM,UAAU,6BAA6B,CAAC,IAAY;IACxD,OAAO,gCAAgC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,WAAmB;IAC7D,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,IAAI,OAAO,CAAC,MAAM,IAAI,8BAA8B;QAAE,OAAO,IAAI,CAAC;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,8BAA8B,CAAC,CAAC;IAC/D,KAAK,IAAI,CAAC,GAAG,8BAA8B,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,8BAA8B,EAAE,CAAC;QACrG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,8BAA8B,CAAC,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;IACnF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"captureBenchmark.d.ts","sourceRoot":"","sources":["../src/captureBenchmark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"captureBenchmark.d.ts","sourceRoot":"","sources":["../src/captureBenchmark.ts"],"names":[],"mappings":"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"}
@@ -394,6 +394,10 @@ export async function runCaptureBenchmark(options) {
394
394
  const passed = targets.filter((target) => target.status === 'passed').length;
395
395
  const skipped = targets.filter((target) => target.status === 'skipped').length;
396
396
  const updated = targets.filter((target) => target.status === 'updated').length;
397
+ const unconfigured = targets.length > 0 &&
398
+ targets.every((target) => target.status === 'skipped' && target.error === 'no benchmark baseline');
399
+ if (unconfigured)
400
+ console.log(pc.red('✗ benchmark gate unconfigured: no benchmark baseline evidence'));
397
401
  const reportPath = options.reportPath === false
398
402
  ? null
399
403
  : resolve(options.reportPath ?? root, ...(options.reportPath === undefined ? ['.artifacts', options.subject, 'benchmark-report.json'] : []));
@@ -405,7 +409,7 @@ export async function runCaptureBenchmark(options) {
405
409
  passed,
406
410
  skipped,
407
411
  updated,
408
- shouldFail: failed > 0,
412
+ shouldFail: failed > 0 || unconfigured,
409
413
  targets,
410
414
  reportPath,
411
415
  };
@@ -1 +1 @@
1
- {"version":3,"file":"captureBenchmark.js","sourceRoot":"","sources":["../src/captureBenchmark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"captureBenchmark.js","sourceRoot":"","sources":["../src/captureBenchmark.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Page } from '@playwright/test';
2
+ /** Supplies a pending page-side DOM verifier with pixels from its registered element. */
3
+ export declare function provideCaptureDomRenderPixels(page: Page): Promise<boolean>;
4
+ //# sourceMappingURL=captureDomReadback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captureDomReadback.d.ts","sourceRoot":"","sources":["../src/captureDomReadback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,yFAAyF;AACzF,wBAAsB,6BAA6B,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAuDhF"}
@@ -0,0 +1,51 @@
1
+ /** Supplies a pending page-side DOM verifier with pixels from its registered element. */
2
+ export async function provideCaptureDomRenderPixels(page) {
3
+ const handle = await page
4
+ .evaluateHandle(() => {
5
+ const target = window.__ftTarget;
6
+ return target?.kind === 'dom' ? (target.state?.element ?? null) : null;
7
+ })
8
+ .catch(() => null);
9
+ const element = handle?.asElement();
10
+ if (element === null || element === undefined) {
11
+ await handle?.dispose();
12
+ return false;
13
+ }
14
+ try {
15
+ const screenshot = await element.screenshot({ animations: 'disabled' }).catch(() => null);
16
+ const source = screenshot === null ? null : `data:image/png;base64,${screenshot.toString('base64')}`;
17
+ return page.evaluate(async (dataUrl) => {
18
+ const provide = window.__ftProvideDomRenderPixels;
19
+ if (provide === undefined)
20
+ return false;
21
+ if (dataUrl === null) {
22
+ provide(null);
23
+ return true;
24
+ }
25
+ try {
26
+ const image = new Image();
27
+ image.src = dataUrl;
28
+ await image.decode();
29
+ const canvas = document.createElement('canvas');
30
+ canvas.width = image.naturalWidth;
31
+ canvas.height = image.naturalHeight;
32
+ const context = canvas.getContext('2d');
33
+ if (context === null || canvas.width === 0 || canvas.height === 0) {
34
+ provide(null);
35
+ return true;
36
+ }
37
+ context.drawImage(image, 0, 0);
38
+ const pixels = context.getImageData(0, 0, canvas.width, canvas.height);
39
+ provide({ data: pixels.data, height: pixels.height, width: pixels.width });
40
+ }
41
+ catch {
42
+ provide(null);
43
+ }
44
+ return true;
45
+ }, source);
46
+ }
47
+ finally {
48
+ await handle?.dispose();
49
+ }
50
+ }
51
+ //# sourceMappingURL=captureDomReadback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captureDomReadback.js","sourceRoot":"","sources":["../src/captureDomReadback.ts"],"names":[],"mappings":"AAEA,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,IAAU;IAC5D,MAAM,MAAM,GAAG,MAAM,IAAI;SACtB,cAAc,CAAC,GAAG,EAAE;QACnB,MAAM,MAAM,GACV,MAGD,CAAC,UAAU,CAAC;QACb,OAAO,MAAM,EAAE,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACrB,MAAM,OAAO,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC;IACpC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9C,MAAM,MAAM,EAAE,OAAO,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrG,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACrC,MAAM,OAAO,GACX,MAKD,CAAC,0BAA0B,CAAC;YAC7B,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YACxC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;gBAC1B,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC;gBACpB,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;gBACrB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAChD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;gBAClC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC;gBACpC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAClE,OAAO,CAAC,IAAI,CAAC,CAAC;oBACd,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC7E,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,EAAE,MAAM,CAAC,CAAC;IACb,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,EAAE,OAAO,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { CaptureBaselineProvenance } from '@flighthq/types/contract';
1
2
  import type { BrowserContext } from '@playwright/test';
2
3
  import type { Entry } from './captureEntries.js';
3
4
  import { CAPTURE_PROTOCOL_VERSION } from './captureProtocol.js';
@@ -11,6 +12,14 @@ export interface CaptureStatus {
11
12
  baselineHash: string | null;
12
13
  /** null = no baseline exists yet; false = hash matches baseline; true = hash differs from baseline */
13
14
  changed: boolean | null;
15
+ /**
16
+ * Whether this target's own pixel oracle was CALLED, straight from the verifier, or null when the
17
+ * verifier published no answer. Recorded because existence and invocation are different claims: a
18
+ * misspelled `assertRender` export is simply absent to the verifier, and reading the source can never
19
+ * tell you which happened. Without this the only way to establish that an oracle ran is to reason
20
+ * backwards from the absence of an error.
21
+ */
22
+ oracle: 'absent' | 'invoked' | null;
14
23
  /**
15
24
  * Present only for an observe-mode capture: what the eyes actually saw. Observe never gates or
16
25
  * touches baselines — it always emits a screenshot plus this block so a reviewing agent can tell
@@ -103,7 +112,7 @@ export interface CaptureEntryOptions {
103
112
  */
104
113
  verify?: boolean;
105
114
  /** Receives fingerprints that completed every page-side assertion. Used to fuse capture + validation. */
106
- onVerifiedFingerprint?: (entry: string, renderer: string, fingerprint: string) => void;
115
+ onVerifiedFingerprint?: (entry: string, renderer: string, fingerprint: string, provenance: CaptureBaselineProvenance) => void;
107
116
  /** Fresh-page retries for transient navigation/protocol failures. Default: 1. */
108
117
  maxRetries?: number;
109
118
  }
@@ -122,7 +131,7 @@ export interface ParallelCaptureOptions {
122
131
  observe?: boolean;
123
132
  isAborted?: () => boolean;
124
133
  verify?: boolean;
125
- onVerifiedFingerprint?: (entry: string, renderer: string, fingerprint: string) => void;
134
+ onVerifiedFingerprint?: (entry: string, renderer: string, fingerprint: string, provenance: CaptureBaselineProvenance) => void;
126
135
  maxRetries?: number;
127
136
  /** Number of Playwright pages to run concurrently. Default: 6. */
128
137
  workerCount?: number;
@@ -183,7 +192,7 @@ export interface CaptureUrlOptions {
183
192
  /** Additional fresh-browser attempts after a blank, timeout, or navigation failure. Default: 2. */
184
193
  maxRetries?: number;
185
194
  }
186
- export declare function isRejectedCaptureBaselineHash(hash: string): boolean;
195
+ export { isRejectedCaptureBaselineHash } from './captureBaselineSanity.js';
187
196
  export declare function isTransientCaptureError(message: string): boolean;
188
197
  export declare function isVerifiedCaptureTool(tool: string): boolean;
189
198
  //# sourceMappingURL=captureEntry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"captureEntry.d.ts","sourceRoot":"","sources":["../src/captureEntry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"captureEntry.d.ts","sourceRoot":"","sources":["../src/captureEntry.ts"],"names":[],"mappings":"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"}