@enricai/barnacle 1.9.9 → 1.9.11
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/scraper/flow-runner.d.ts +111 -1
- package/dist/scraper/flow-runner.d.ts.map +1 -1
- package/dist/scraper/flow-runner.js +218 -14
- package/dist/scraper/flow-runner.js.map +1 -1
- package/dist/scraper/phantom-click.d.ts +26 -0
- package/dist/scraper/phantom-click.d.ts.map +1 -1
- package/dist/scraper/phantom-click.js +17 -1
- package/dist/scraper/phantom-click.js.map +1 -1
- package/package.json +1 -1
|
@@ -111,6 +111,35 @@ interface StepSnapshot {
|
|
|
111
111
|
* effect". This closes that blind spot. Measurement-only.
|
|
112
112
|
*/
|
|
113
113
|
formValueSignature: string;
|
|
114
|
+
/**
|
|
115
|
+
* `<fnv1a-hash>:<count>` fingerprint of the SELECTION-BEARING nodes only.
|
|
116
|
+
* Each such node contributes a DOM-order-indexed token of its selection
|
|
117
|
+
* state — `aria-pressed`/`aria-checked`/`aria-selected`, `data-state`
|
|
118
|
+
* (excluding the `open`/`closed` disclosure values, which are the
|
|
119
|
+
* `aria-expanded` equivalent), `data-selected`/`data-checked`, and a
|
|
120
|
+
* selected/active/checked class-token hit (the class marker only counts on
|
|
121
|
+
* an interactive element — button/link/role=button/option/tab/[tabindex]/
|
|
122
|
+
* input — so a bare `<div class="spinner active">` is ignored). The tokens
|
|
123
|
+
* are joined in document order and hashed (FNV-1a), so a flip ANYWHERE
|
|
124
|
+
* changes the hash with no truncation blind spot, and the DOM-order index
|
|
125
|
+
* makes two same-text controls distinguishable (a single-select group where
|
|
126
|
+
* selection MOVES between two identically-labelled options is detected). A
|
|
127
|
+
* custom React/SPA multi-select toggle flips one of these WITHOUT moving
|
|
128
|
+
* network, URL, innerText, or a real `<input>` value — and its byte delta is
|
|
129
|
+
* trivial or NEGATIVE (an `aria-pressed` flip shrinks the HTML), so every
|
|
130
|
+
* other signal misses it and the click was scored "no observable effect".
|
|
131
|
+
* This closes that blind spot. Deliberately excludes noisy attrs
|
|
132
|
+
* (aria-expanded/current/activedescendant, tabindex) and dialog/tooltip/
|
|
133
|
+
* aria-live subtrees that churn without a selection change; a node's mere
|
|
134
|
+
* appearance/removal (a validation-error link, a lazy button, a spinner) is
|
|
135
|
+
* reflected only via `:<count>`, and a non-selection node never enters the
|
|
136
|
+
* fingerprint at all. A pure `disabled`→`enabled` Next-gate with NO
|
|
137
|
+
* accompanying aria/class/data-state change is intentionally NOT tracked
|
|
138
|
+
* (disabled churns on unrelated newly-mounted controls); it is still caught
|
|
139
|
+
* when the toggle also flips a selection marker. Consumed by the verifier
|
|
140
|
+
* (see {@link isClickStateToggleVerified}) and {@link classifyPhantomClick}.
|
|
141
|
+
*/
|
|
142
|
+
selectionStateSignature: string;
|
|
114
143
|
}
|
|
115
144
|
/** One attempt's audit trail — included verbatim in the failure dump. */
|
|
116
145
|
export interface AttemptRecord {
|
|
@@ -146,9 +175,14 @@ export interface AttemptRecord {
|
|
|
146
175
|
* - `form-value`: formValueVerified credited a visible input/textarea/select
|
|
147
176
|
* value diff with no other signal (plain-text-field fill, no secondary
|
|
148
177
|
* UI side effect).
|
|
178
|
+
* - `state-toggle`: isClickStateToggleVerified credited a client-side
|
|
179
|
+
* selection-state flip (aria-pressed/checked/selected, data-state, or a
|
|
180
|
+
* selected/active/checked class) with a trivial or negative byte delta and
|
|
181
|
+
* zero network — a React/SPA multi-select toggle that every size/text/value
|
|
182
|
+
* signal missed.
|
|
149
183
|
* - `null`: failure path.
|
|
150
184
|
*/
|
|
151
|
-
verifiedBy: "network" | "url" | "dom" | "view-swap" | "submitted-state-dom" | "form-value" | null;
|
|
185
|
+
verifiedBy: "network" | "url" | "dom" | "view-swap" | "submitted-state-dom" | "form-value" | "state-toggle" | null;
|
|
152
186
|
/**
|
|
153
187
|
* {@link classifyPhantomClick}'s verdict for this attempt, computed from
|
|
154
188
|
* the same pre/post snapshot pair `describeAttemptEffectSignals` already
|
|
@@ -159,6 +193,21 @@ export interface AttemptRecord {
|
|
|
159
193
|
*/
|
|
160
194
|
phantomClickVerdict: PhantomClickVerdict | null;
|
|
161
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* Prepares a `document.body.outerHTML` string for a step-failure bundle so it
|
|
198
|
+
* shows RENDERED controls, not a cut-off shell. A single data-carrying attribute
|
|
199
|
+
* (a SPA mount point's `data="{…}"` state blob, a long `value=`) can exceed the
|
|
200
|
+
* whole body budget on its own, pushing the actual `<button>`/`<input>` markup
|
|
201
|
+
* past the truncation point — which reads in the bundle as "empty DOM / 0
|
|
202
|
+
* buttons" when the page is fully hydrated. Collapse any attribute value longer
|
|
203
|
+
* than {@link FAILURE_DUMP_MAX_ATTR_LENGTH} to an elided marker BEFORE the length
|
|
204
|
+
* cap, then slice to {@link FAILURE_DUMP_MAX_BODY_LENGTH}. The double- and
|
|
205
|
+
* single-quoted alternatives are kept separate (rather than a `\1` backreference)
|
|
206
|
+
* so a double-quoted value may contain apostrophes — and vice versa — without
|
|
207
|
+
* ending the match early, which a shared `[^"']` class would wrongly do. Returns
|
|
208
|
+
* null passthrough so callers keep their "evaluate failed → null" contract.
|
|
209
|
+
*/
|
|
210
|
+
export declare function prepareFailureDumpBody(raw: unknown): string | null;
|
|
162
211
|
/**
|
|
163
212
|
* Captures the pre/post signal triple the submit-verify cascade diffs.
|
|
164
213
|
* Accepts the optional `page` so a resolved child `FrameTarget` whose
|
|
@@ -423,6 +472,67 @@ export declare function isClickViewSwapVerified(params: {
|
|
|
423
472
|
bytesDelta: number;
|
|
424
473
|
textChanged: boolean;
|
|
425
474
|
}): boolean;
|
|
475
|
+
/**
|
|
476
|
+
* Credits a network-free click when it flipped a client-side SELECTION state —
|
|
477
|
+
* an `aria-pressed`/`aria-checked`/`aria-selected` attribute, a `data-state`,
|
|
478
|
+
* or a `selected`/`active`/`checked` class on the toggled control (captured by
|
|
479
|
+
* `StepSnapshot.selectionStateSignature`). React/SPA multi-select wizards toggle
|
|
480
|
+
* options this way with a trivial or NEGATIVE byte delta and no
|
|
481
|
+
* network/URL/innerText/input-value change, so `isClickViewSwapVerified` and
|
|
482
|
+
* the byte-floor phantom check both miss them and score the real selection a
|
|
483
|
+
* phantom no-op. This is the size-independent counterpart to that gate. Scope
|
|
484
|
+
* guards: only a plain `click`, never a final/submit step (those keep their
|
|
485
|
+
* stronger submit-judge gate), and only when zero network fired (a network POST
|
|
486
|
+
* is authoritative). **Stricter than `isClickViewSwapVerified` on advance
|
|
487
|
+
* steps:** it excludes ANY advance/"Next" step (`isAdvance`), not just an
|
|
488
|
+
* advance-WITH-pattern step. The selection signal fires on a validation-render
|
|
489
|
+
* that toggles a control's own state, and an advance without a configured
|
|
490
|
+
* `advanceTransitionBodyPattern` has no real-transition veto
|
|
491
|
+
* (see `shouldWarnMissingAdvancePattern`) — so crediting a bare selection change
|
|
492
|
+
* would desync the wizard step pointer. A real advance still verifies via
|
|
493
|
+
* network/URL; a field-toggle answer step (not an advance) keeps this credit.
|
|
494
|
+
*/
|
|
495
|
+
export declare function isClickStateToggleVerified(params: {
|
|
496
|
+
resolvedAction: {
|
|
497
|
+
method?: string | null;
|
|
498
|
+
} | null;
|
|
499
|
+
isFinalStep: boolean;
|
|
500
|
+
submitStep: boolean;
|
|
501
|
+
isAdvance: boolean;
|
|
502
|
+
networkDelta: number;
|
|
503
|
+
selectionStateChanged: boolean;
|
|
504
|
+
}): boolean;
|
|
505
|
+
/**
|
|
506
|
+
* Reads the "N settings/items selected" running count that multi-select wizard
|
|
507
|
+
* steps render as a live heading above the option grid. Returns the integer, or
|
|
508
|
+
* `null` when the snapshot has no such counter. Operates on a
|
|
509
|
+
* {@link StepSnapshot.visibleTextSignature}, which is
|
|
510
|
+
* `"<len>:<first-200-chars-of-innerText>"` — the counter idiom sits at the top
|
|
511
|
+
* of these steps, so it is always inside the 200-char window.
|
|
512
|
+
*
|
|
513
|
+
* Exists because some SPA multi-selects (obfuscated hashed classes, no
|
|
514
|
+
* `aria-pressed`/`data-state`) expose no selection-state attribute at all, so
|
|
515
|
+
* {@link isClickStateToggleVerified}'s fingerprint is structurally blind and a
|
|
516
|
+
* phantom option click rides the generic DOM-delta gate to a FALSE credit — the
|
|
517
|
+
* running counter is the only trustworthy "did the selection register" signal.
|
|
518
|
+
*/
|
|
519
|
+
export declare function selectionCountFromSignature(visibleTextSignature: string): number | null;
|
|
520
|
+
/**
|
|
521
|
+
* Veto for a SELECTION-intent step whose weak DOM signals (view-swap byte delta,
|
|
522
|
+
* a non-advance `domVerified` reflow) would otherwise credit a click that did
|
|
523
|
+
* NOT register the selection. When the step's snapshot exposes a running
|
|
524
|
+
* "N selected" counter (see {@link selectionCountFromSignature}) and that count
|
|
525
|
+
* did not increase across the click, the option was not actually selected — a
|
|
526
|
+
* phantom the fingerprint can't catch — so the caller must NOT treat the weak
|
|
527
|
+
* signals as verification and should keep healing. Returns `true` only when a
|
|
528
|
+
* counter is present on BOTH snapshots and did not rise; absent a counter it
|
|
529
|
+
* returns `false` (no veto), so counter-less selection widgets are untouched.
|
|
530
|
+
*/
|
|
531
|
+
export declare function isSelectionCounterStalled(params: {
|
|
532
|
+
isSelectionStep: boolean;
|
|
533
|
+
preVisibleTextSignature: string;
|
|
534
|
+
postVisibleTextSignature: string;
|
|
535
|
+
}): boolean;
|
|
426
536
|
/**
|
|
427
537
|
* Whether an act-success step warrants a committed-value read-back before the
|
|
428
538
|
* weak view-swap/form-value signals are allowed to accept it. A controlled
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-runner.d.ts","sourceRoot":"","sources":["../../src/scraper/flow-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flow-runner.d.ts","sourceRoot":"","sources":["../../src/scraper/flow-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
exports.TRAILING_GRACE_WINDOW = exports.STEP_WATCHDOG_MS = exports.GOTO_TIMEOUT_MS = void 0;
|
|
18
18
|
exports.mergeResponseHeaders = mergeResponseHeaders;
|
|
19
19
|
exports.wireSignalCapture = wireSignalCapture;
|
|
20
|
+
exports.prepareFailureDumpBody = prepareFailureDumpBody;
|
|
20
21
|
exports.snapshotPage = snapshotPage;
|
|
21
22
|
exports.findRecentBackendError = findRecentBackendError;
|
|
22
23
|
exports.findRecentPageTransition = findRecentPageTransition;
|
|
@@ -31,6 +32,9 @@ exports.windowHasAdvanceTransition = windowHasAdvanceTransition;
|
|
|
31
32
|
exports.shouldVetoFallbackAdvance = shouldVetoFallbackAdvance;
|
|
32
33
|
exports.isDomOnlyAdvanceVerified = isDomOnlyAdvanceVerified;
|
|
33
34
|
exports.isClickViewSwapVerified = isClickViewSwapVerified;
|
|
35
|
+
exports.isClickStateToggleVerified = isClickStateToggleVerified;
|
|
36
|
+
exports.selectionCountFromSignature = selectionCountFromSignature;
|
|
37
|
+
exports.isSelectionCounterStalled = isSelectionCounterStalled;
|
|
34
38
|
exports.shouldReadbackFillOnActSuccess = shouldReadbackFillOnActSuccess;
|
|
35
39
|
exports.countNgInvalidContainers = countNgInvalidContainers;
|
|
36
40
|
exports.describeAttemptEffectSignals = describeAttemptEffectSignals;
|
|
@@ -480,12 +484,41 @@ const INVALID_MARKER_EL_EXPR = `((el) => {
|
|
|
480
484
|
* final Continue/Submit click.
|
|
481
485
|
*/
|
|
482
486
|
exports.TRAILING_GRACE_WINDOW = 2;
|
|
487
|
+
/** Cap on a single attribute value before a failure-bundle DOM capture keeps it. */
|
|
488
|
+
const FAILURE_DUMP_MAX_ATTR_LENGTH = 2_000;
|
|
489
|
+
/** Byte budget for a failure-bundle `bodyOuterHtml` capture after attribute pruning. */
|
|
490
|
+
const FAILURE_DUMP_MAX_BODY_LENGTH = 100_000;
|
|
491
|
+
const FAILURE_DUMP_ATTR_RX = new RegExp(`="([^"]{${FAILURE_DUMP_MAX_ATTR_LENGTH},})"|='([^']{${FAILURE_DUMP_MAX_ATTR_LENGTH},})'`, "g");
|
|
492
|
+
/**
|
|
493
|
+
* Prepares a `document.body.outerHTML` string for a step-failure bundle so it
|
|
494
|
+
* shows RENDERED controls, not a cut-off shell. A single data-carrying attribute
|
|
495
|
+
* (a SPA mount point's `data="{…}"` state blob, a long `value=`) can exceed the
|
|
496
|
+
* whole body budget on its own, pushing the actual `<button>`/`<input>` markup
|
|
497
|
+
* past the truncation point — which reads in the bundle as "empty DOM / 0
|
|
498
|
+
* buttons" when the page is fully hydrated. Collapse any attribute value longer
|
|
499
|
+
* than {@link FAILURE_DUMP_MAX_ATTR_LENGTH} to an elided marker BEFORE the length
|
|
500
|
+
* cap, then slice to {@link FAILURE_DUMP_MAX_BODY_LENGTH}. The double- and
|
|
501
|
+
* single-quoted alternatives are kept separate (rather than a `\1` backreference)
|
|
502
|
+
* so a double-quoted value may contain apostrophes — and vice versa — without
|
|
503
|
+
* ending the match early, which a shared `[^"']` class would wrongly do. Returns
|
|
504
|
+
* null passthrough so callers keep their "evaluate failed → null" contract.
|
|
505
|
+
*/
|
|
506
|
+
function prepareFailureDumpBody(raw) {
|
|
507
|
+
if (typeof raw !== "string")
|
|
508
|
+
return null;
|
|
509
|
+
const pruned = raw.replace(FAILURE_DUMP_ATTR_RX, (_m, dq, sq) => {
|
|
510
|
+
const value = dq ?? sq ?? "";
|
|
511
|
+
const quote = dq !== undefined ? '"' : "'";
|
|
512
|
+
return `=${quote}[elided ${value.length} chars]${quote}`;
|
|
513
|
+
});
|
|
514
|
+
return pruned.slice(0, FAILURE_DUMP_MAX_BODY_LENGTH);
|
|
515
|
+
}
|
|
483
516
|
/**
|
|
484
517
|
* Trust boundary: static string literal, fixed at compile time. No interpolation
|
|
485
518
|
* means no injection surface. Runs in browser context and returns a typed-narrow
|
|
486
519
|
* shape via Runtime.callFunctionOn.
|
|
487
520
|
*/
|
|
488
|
-
const DOM_SNAPSHOT_EXPR = `(() => { const b = document.body; if (!b) return { html: 0, text: "", values: "" }; const t = b.innerText || ""; const controls = Array.from(b.querySelectorAll("input, textarea, select")).filter((el) => el.offsetParent !== null); const values = controls.map((el) => { if (el.type === "checkbox" || el.type === "radio") return el.checked ? "1" : "0"; return el.value || ""; }).join("|").slice(0, 2000); return { html: (b.outerHTML || "").length, text: t.length + ":" + t.slice(0, 200), values }; })()`;
|
|
521
|
+
const DOM_SNAPSHOT_EXPR = `(() => { const b = document.body; if (!b) return { html: 0, text: "", values: "", state: "" }; const t = b.innerText || ""; const controls = Array.from(b.querySelectorAll("input, textarea, select")).filter((el) => el.offsetParent !== null); const values = controls.map((el) => { if (el.type === "checkbox" || el.type === "radio") return el.checked ? "1" : "0"; return el.value || ""; }).join("|").slice(0, 2000); const ariaSel = "[aria-pressed],[aria-checked],[aria-selected],[data-state],[data-selected],[data-checked],[role=option],[role=switch],[role=checkbox],[role=menuitemcheckbox]"; const classSel = "button.selected,button.active,button.checked,button.Mui-selected,button.is-selected,a.selected,a.active,a.checked,[role=button].selected,[role=button].active,[role=button].checked,[role=option].selected,[role=tab].active,[tabindex].selected,[tabindex].active,[tabindex].checked,input.selected,input.active"; const classRx = /(?:^|\\s)(selected|active|checked|Mui-selected|is-selected)(?:\\s|$)/; const skip = (el) => el.closest("[role=dialog],[role=tooltip],[aria-live]") !== null; const seen = new Set(); for (const el of b.querySelectorAll(ariaSel + "," + classSel)) { if (el.offsetParent !== null && !skip(el)) seen.add(el); } let idx = 0; const parts = []; for (const el of seen) { const ap = el.getAttribute("aria-pressed") || ""; const ac = el.getAttribute("aria-checked") || ""; const as = el.getAttribute("aria-selected") || ""; const dsRaw = el.getAttribute("data-state") || ""; const ds = (dsRaw === "open" || dsRaw === "closed") ? "" : dsRaw; const dsel = el.hasAttribute("data-selected") ? "1" : ""; const dchk = el.hasAttribute("data-checked") ? "1" : ""; const clsHit = classRx.test(el.getAttribute("class") || "") ? "1" : "0"; const i = idx++; if (!ap && !ac && !as && !ds && !dsel && !dchk && clsHit === "0") continue; parts.push(i + ":" + ap + "," + ac + "," + as + "," + ds + "," + dsel + "," + dchk + "," + clsHit); } const joined = parts.join("|"); let h = 2166136261; for (let k = 0; k < joined.length; k++) { h ^= joined.charCodeAt(k); h = Math.imul(h, 16777619); } const state = (h >>> 0).toString(36) + ":" + parts.length; return { html: (b.outerHTML || "").length, text: t.length + ":" + t.slice(0, 200), values, state }; })()`;
|
|
489
522
|
/**
|
|
490
523
|
* Captures the pre/post signal triple the submit-verify cascade diffs.
|
|
491
524
|
* Accepts the optional `page` so a resolved child `FrameTarget` whose
|
|
@@ -497,6 +530,7 @@ async function snapshotPage(target, signalCounter, page) {
|
|
|
497
530
|
let bodyHtmlLength = 0;
|
|
498
531
|
let visibleTextSignature = "";
|
|
499
532
|
let formValueSignature = "";
|
|
533
|
+
let selectionStateSignature = "";
|
|
500
534
|
try {
|
|
501
535
|
const result = await target.evaluate(DOM_SNAPSHOT_EXPR);
|
|
502
536
|
if (result !== null &&
|
|
@@ -509,6 +543,8 @@ async function snapshotPage(target, signalCounter, page) {
|
|
|
509
543
|
visibleTextSignature = result.text;
|
|
510
544
|
const rawValues = result.values;
|
|
511
545
|
formValueSignature = typeof rawValues === "string" ? rawValues : "";
|
|
546
|
+
const rawState = result.state;
|
|
547
|
+
selectionStateSignature = typeof rawState === "string" ? rawState : "";
|
|
512
548
|
}
|
|
513
549
|
}
|
|
514
550
|
catch {
|
|
@@ -528,6 +564,7 @@ async function snapshotPage(target, signalCounter, page) {
|
|
|
528
564
|
bodyHtmlLength,
|
|
529
565
|
visibleTextSignature,
|
|
530
566
|
formValueSignature,
|
|
567
|
+
selectionStateSignature,
|
|
531
568
|
};
|
|
532
569
|
}
|
|
533
570
|
/**
|
|
@@ -971,6 +1008,80 @@ function isClickViewSwapVerified(params) {
|
|
|
971
1008
|
return true;
|
|
972
1009
|
return textChanged && bytesDelta >= VIEW_SWAP_REVEAL_MIN_BYTES;
|
|
973
1010
|
}
|
|
1011
|
+
/**
|
|
1012
|
+
* Credits a network-free click when it flipped a client-side SELECTION state —
|
|
1013
|
+
* an `aria-pressed`/`aria-checked`/`aria-selected` attribute, a `data-state`,
|
|
1014
|
+
* or a `selected`/`active`/`checked` class on the toggled control (captured by
|
|
1015
|
+
* `StepSnapshot.selectionStateSignature`). React/SPA multi-select wizards toggle
|
|
1016
|
+
* options this way with a trivial or NEGATIVE byte delta and no
|
|
1017
|
+
* network/URL/innerText/input-value change, so `isClickViewSwapVerified` and
|
|
1018
|
+
* the byte-floor phantom check both miss them and score the real selection a
|
|
1019
|
+
* phantom no-op. This is the size-independent counterpart to that gate. Scope
|
|
1020
|
+
* guards: only a plain `click`, never a final/submit step (those keep their
|
|
1021
|
+
* stronger submit-judge gate), and only when zero network fired (a network POST
|
|
1022
|
+
* is authoritative). **Stricter than `isClickViewSwapVerified` on advance
|
|
1023
|
+
* steps:** it excludes ANY advance/"Next" step (`isAdvance`), not just an
|
|
1024
|
+
* advance-WITH-pattern step. The selection signal fires on a validation-render
|
|
1025
|
+
* that toggles a control's own state, and an advance without a configured
|
|
1026
|
+
* `advanceTransitionBodyPattern` has no real-transition veto
|
|
1027
|
+
* (see `shouldWarnMissingAdvancePattern`) — so crediting a bare selection change
|
|
1028
|
+
* would desync the wizard step pointer. A real advance still verifies via
|
|
1029
|
+
* network/URL; a field-toggle answer step (not an advance) keeps this credit.
|
|
1030
|
+
*/
|
|
1031
|
+
function isClickStateToggleVerified(params) {
|
|
1032
|
+
const { resolvedAction, isFinalStep, submitStep, isAdvance, networkDelta, selectionStateChanged, } = params;
|
|
1033
|
+
if (resolvedAction?.method !== "click")
|
|
1034
|
+
return false;
|
|
1035
|
+
if (isFinalStep || submitStep)
|
|
1036
|
+
return false;
|
|
1037
|
+
if (isAdvance)
|
|
1038
|
+
return false;
|
|
1039
|
+
if (networkDelta !== 0)
|
|
1040
|
+
return false;
|
|
1041
|
+
return selectionStateChanged;
|
|
1042
|
+
}
|
|
1043
|
+
/**
|
|
1044
|
+
* Reads the "N settings/items selected" running count that multi-select wizard
|
|
1045
|
+
* steps render as a live heading above the option grid. Returns the integer, or
|
|
1046
|
+
* `null` when the snapshot has no such counter. Operates on a
|
|
1047
|
+
* {@link StepSnapshot.visibleTextSignature}, which is
|
|
1048
|
+
* `"<len>:<first-200-chars-of-innerText>"` — the counter idiom sits at the top
|
|
1049
|
+
* of these steps, so it is always inside the 200-char window.
|
|
1050
|
+
*
|
|
1051
|
+
* Exists because some SPA multi-selects (obfuscated hashed classes, no
|
|
1052
|
+
* `aria-pressed`/`data-state`) expose no selection-state attribute at all, so
|
|
1053
|
+
* {@link isClickStateToggleVerified}'s fingerprint is structurally blind and a
|
|
1054
|
+
* phantom option click rides the generic DOM-delta gate to a FALSE credit — the
|
|
1055
|
+
* running counter is the only trustworthy "did the selection register" signal.
|
|
1056
|
+
*/
|
|
1057
|
+
function selectionCountFromSignature(visibleTextSignature) {
|
|
1058
|
+
const colon = visibleTextSignature.indexOf(":");
|
|
1059
|
+
const text = colon === -1 ? visibleTextSignature : visibleTextSignature.slice(colon + 1);
|
|
1060
|
+
const match = text.match(/(\d+)\s+(?:(?:settings?|items?|options?)\s+)?selected\b/i);
|
|
1061
|
+
const digits = match?.[1];
|
|
1062
|
+
return digits === undefined ? null : Number.parseInt(digits, 10);
|
|
1063
|
+
}
|
|
1064
|
+
/**
|
|
1065
|
+
* Veto for a SELECTION-intent step whose weak DOM signals (view-swap byte delta,
|
|
1066
|
+
* a non-advance `domVerified` reflow) would otherwise credit a click that did
|
|
1067
|
+
* NOT register the selection. When the step's snapshot exposes a running
|
|
1068
|
+
* "N selected" counter (see {@link selectionCountFromSignature}) and that count
|
|
1069
|
+
* did not increase across the click, the option was not actually selected — a
|
|
1070
|
+
* phantom the fingerprint can't catch — so the caller must NOT treat the weak
|
|
1071
|
+
* signals as verification and should keep healing. Returns `true` only when a
|
|
1072
|
+
* counter is present on BOTH snapshots and did not rise; absent a counter it
|
|
1073
|
+
* returns `false` (no veto), so counter-less selection widgets are untouched.
|
|
1074
|
+
*/
|
|
1075
|
+
function isSelectionCounterStalled(params) {
|
|
1076
|
+
const { isSelectionStep, preVisibleTextSignature, postVisibleTextSignature } = params;
|
|
1077
|
+
if (!isSelectionStep)
|
|
1078
|
+
return false;
|
|
1079
|
+
const pre = selectionCountFromSignature(preVisibleTextSignature);
|
|
1080
|
+
const post = selectionCountFromSignature(postVisibleTextSignature);
|
|
1081
|
+
if (pre === null || post === null)
|
|
1082
|
+
return false;
|
|
1083
|
+
return post <= pre;
|
|
1084
|
+
}
|
|
974
1085
|
/**
|
|
975
1086
|
* Whether an act-success step warrants a committed-value read-back before the
|
|
976
1087
|
* weak view-swap/form-value signals are allowed to accept it. A controlled
|
|
@@ -1030,6 +1141,7 @@ function describeAttemptEffectSignals(pre, post, recentCaptureMeta, preMetaLengt
|
|
|
1030
1141
|
const networkDelta = post.networkCount - pre.networkCount;
|
|
1031
1142
|
const textChanged = post.visibleTextSignature !== pre.visibleTextSignature;
|
|
1032
1143
|
const valueChanged = post.formValueSignature !== pre.formValueSignature;
|
|
1144
|
+
const selectionStateChanged = post.selectionStateSignature !== pre.selectionStateSignature;
|
|
1033
1145
|
const windowCaptures = recentCaptureMeta.slice(preMetaLength);
|
|
1034
1146
|
const observations = [];
|
|
1035
1147
|
if (networkDelta === 0 && bytesDelta >= 500) {
|
|
@@ -1047,6 +1159,9 @@ function describeAttemptEffectSignals(pre, post, recentCaptureMeta, preMetaLengt
|
|
|
1047
1159
|
if (valueChanged && !textChanged && networkDelta === 0) {
|
|
1048
1160
|
observations.push("form-value-changed-without-network: a visible input/textarea/select value changed with no other observable effect (plain field fill)");
|
|
1049
1161
|
}
|
|
1162
|
+
if (selectionStateChanged && networkDelta === 0) {
|
|
1163
|
+
observations.push("selection-state-changed-without-network: a control's selection state (aria-pressed/checked/selected, data-state, or a selected/active/checked class) flipped with no network/url change — the click DID toggle a client-side control; on a submit/advance step this is not a real transition, so answer any remaining required questions or find the real advance rather than re-clicking this toggle");
|
|
1164
|
+
}
|
|
1050
1165
|
return observations.join(" | ");
|
|
1051
1166
|
}
|
|
1052
1167
|
/**
|
|
@@ -5342,7 +5457,7 @@ async function executeStepWithHealing(params) {
|
|
|
5342
5457
|
const bodyOuterHtmlRaw = await (frameTarget ?? page)
|
|
5343
5458
|
.evaluate("document.body ? document.body.outerHTML : null")
|
|
5344
5459
|
.catch(() => null);
|
|
5345
|
-
const bodyOuterHtml =
|
|
5460
|
+
const bodyOuterHtml = prepareFailureDumpBody(bodyOuterHtmlRaw);
|
|
5346
5461
|
const probeAbsentObservedUnfocused = await (0, stagehand_guard_1.guardedObserve)(stagehand, undefined, { timeout: exports.STEP_WATCHDOG_MS }, captureFn, frameTarget).catch(() => []);
|
|
5347
5462
|
// observe() is blind to a cross-origin OOPIF, so a frame-scoped empty
|
|
5348
5463
|
// result degrades to the deep-locator resolver for dump evidence — this
|
|
@@ -5420,6 +5535,7 @@ async function executeStepWithHealing(params) {
|
|
|
5420
5535
|
url: page.url(),
|
|
5421
5536
|
bodyHtmlLength: 0,
|
|
5422
5537
|
visibleTextSignature: "",
|
|
5538
|
+
selectionStateSignature: "",
|
|
5423
5539
|
formValueSignature: "",
|
|
5424
5540
|
};
|
|
5425
5541
|
attempts.push({
|
|
@@ -5681,6 +5797,10 @@ async function executeStepWithHealing(params) {
|
|
|
5681
5797
|
actResultSuccess: true,
|
|
5682
5798
|
pre,
|
|
5683
5799
|
post: midPost,
|
|
5800
|
+
// The deep-submit-locator runs only on submit escalation, so a
|
|
5801
|
+
// stray selection flip must not mask a top-pick phantom and skip
|
|
5802
|
+
// the runner-up retry.
|
|
5803
|
+
isSubmitShapedStep: true,
|
|
5684
5804
|
});
|
|
5685
5805
|
if (topVerdict === "phantom") {
|
|
5686
5806
|
logger.info(`${formatStepPrefix(stepIndex, totalSteps)} deep-submit-locator top pick (${top.tag} "${top.accessibleName}") phantom-clicked; retrying runner-up ${runnerUp.tag} "${runnerUp.accessibleName}" (tier ${runnerUp.tier})`);
|
|
@@ -6389,6 +6509,20 @@ async function executeStepWithHealing(params) {
|
|
|
6389
6509
|
bytesDelta: post.bodyHtmlLength - pre.bodyHtmlLength,
|
|
6390
6510
|
textChanged: post.visibleTextSignature !== pre.visibleTextSignature,
|
|
6391
6511
|
});
|
|
6512
|
+
// Client-side state-toggle gate: credit a network-free click that flipped a
|
|
6513
|
+
// selection-state signature (aria-pressed/checked/selected, data-state, or a
|
|
6514
|
+
// selected/active/checked class) regardless of byte size. Fixes React/SPA
|
|
6515
|
+
// multi-select wizards whose option buttons toggle client state with a
|
|
6516
|
+
// trivial or NEGATIVE byte delta — which clickViewSwapVerified's byte floor
|
|
6517
|
+
// and the phantom byte-check both miss.
|
|
6518
|
+
const clickStateToggleVerified = isClickStateToggleVerified({
|
|
6519
|
+
resolvedAction,
|
|
6520
|
+
isFinalStep,
|
|
6521
|
+
submitStep,
|
|
6522
|
+
isAdvance: isAdvanceStep(step),
|
|
6523
|
+
networkDelta: post.networkCount - pre.networkCount,
|
|
6524
|
+
selectionStateChanged: post.selectionStateSignature !== pre.selectionStateSignature,
|
|
6525
|
+
});
|
|
6392
6526
|
// Form-value-diff signal: `visibleTextSignature` never reflects a plain
|
|
6393
6527
|
// <input>/<textarea>/<select>'s `value` property, so a fill with no
|
|
6394
6528
|
// secondary UI side effect (no toggle, no formatted display) had ZERO
|
|
@@ -6452,11 +6586,33 @@ async function executeStepWithHealing(params) {
|
|
|
6452
6586
|
}
|
|
6453
6587
|
}
|
|
6454
6588
|
}
|
|
6589
|
+
// Selection-counter veto. A multi-select option click whose widget exposes
|
|
6590
|
+
// no aria/data-state marker (obfuscated hashed classes) leaves
|
|
6591
|
+
// `clickStateToggleVerified` blind, so a phantom that merely reflowed the
|
|
6592
|
+
// DOM would ride the weak `domVerifiedForStep`/`clickViewSwapVerified`
|
|
6593
|
+
// signals to a FALSE credit — the flow then advances to a "Next" that
|
|
6594
|
+
// no-ops because nothing was actually selected. When the step's running
|
|
6595
|
+
// "N selected" counter did not rise, suppress those weak DOM-delta signals
|
|
6596
|
+
// so the cascade keeps trying a real selection. Strong signals (real
|
|
6597
|
+
// network/URL transition) and the counter-independent state-toggle /
|
|
6598
|
+
// form-value signals — each of which IS the selection registering — are
|
|
6599
|
+
// never vetoed; counter-less widgets are untouched (the helper no-ops).
|
|
6600
|
+
const selectionCounterStalled = isSelectionCounterStalled({
|
|
6601
|
+
isSelectionStep: parseSelectStep(step) !== null,
|
|
6602
|
+
preVisibleTextSignature: pre.visibleTextSignature,
|
|
6603
|
+
postVisibleTextSignature: post.visibleTextSignature,
|
|
6604
|
+
});
|
|
6605
|
+
if (selectionCounterStalled && (domVerifiedForStep || clickViewSwapVerified)) {
|
|
6606
|
+
logger.info(`${formatStepPrefix(stepIndex, totalSteps)} selection step credited only via DOM reflow but the "N selected" counter did not rise — the option did not register; not treating the weak DOM signal as verified`);
|
|
6607
|
+
}
|
|
6608
|
+
const domVerifiedAfterCounter = selectionCounterStalled ? false : domVerifiedForStep;
|
|
6609
|
+
const clickViewSwapAfterCounter = selectionCounterStalled ? false : clickViewSwapVerified;
|
|
6455
6610
|
let verified = networkIsRealAdvance ||
|
|
6456
6611
|
urlChanged ||
|
|
6457
|
-
|
|
6612
|
+
domVerifiedAfterCounter ||
|
|
6458
6613
|
datepickerCommitted ||
|
|
6459
|
-
(!datepickerRejected &&
|
|
6614
|
+
(!datepickerRejected &&
|
|
6615
|
+
(clickViewSwapAfterCounter || formValueVerified || clickStateToggleVerified));
|
|
6460
6616
|
// Final-step submit-verification gate. Replaces the deterministic
|
|
6461
6617
|
// submitEndpointPattern regex with a Haiku 4.5 LLM judgment over
|
|
6462
6618
|
// multi-signal evidence (network captures, page URL/title, DOM
|
|
@@ -6583,7 +6739,9 @@ async function executeStepWithHealing(params) {
|
|
|
6583
6739
|
? "dom"
|
|
6584
6740
|
: formValueVerified
|
|
6585
6741
|
? "form-value"
|
|
6586
|
-
:
|
|
6742
|
+
: clickStateToggleVerified
|
|
6743
|
+
? "state-toggle"
|
|
6744
|
+
: "dom";
|
|
6587
6745
|
}
|
|
6588
6746
|
// N+16 probe: Stagehand's CDP click sometimes lands on the button without
|
|
6589
6747
|
// triggering React's SyntheticEvent layer (or jQuery delegated handlers).
|
|
@@ -6671,6 +6829,13 @@ async function executeStepWithHealing(params) {
|
|
|
6671
6829
|
const retryHtmlDelta = retryPost.bodyHtmlLength - pre.bodyHtmlLength;
|
|
6672
6830
|
const retryTextChanged = retryPost.visibleTextSignature !== pre.visibleTextSignature;
|
|
6673
6831
|
const retryFormValueChanged = retryPost.formValueSignature !== pre.formValueSignature;
|
|
6832
|
+
// Excludes advance/"Next" steps for the same reason the primary
|
|
6833
|
+
// isClickStateToggleVerified does: a validation re-render can flip a
|
|
6834
|
+
// control's selection state without moving the wizard, and an advance
|
|
6835
|
+
// without a configured transition pattern has no real-transition veto,
|
|
6836
|
+
// so crediting a bare selection change here would desync the step pointer.
|
|
6837
|
+
const retrySelectionStateChanged = !isAdvanceStep(step) &&
|
|
6838
|
+
retryPost.selectionStateSignature !== pre.selectionStateSignature;
|
|
6674
6839
|
// RC2: an advance/`kind=click` "Next" that only grew the DOM
|
|
6675
6840
|
// (validation errors rendered) with NO network/URL change is a
|
|
6676
6841
|
// validation-blocked no-op, not a real transition — but the
|
|
@@ -6720,14 +6885,42 @@ async function executeStepWithHealing(params) {
|
|
|
6720
6885
|
if (fallbackDomOnlyAdvance) {
|
|
6721
6886
|
logger.info(`${formatStepPrefix(stepIndex, totalSteps)} n+16 fallback advanced but no real transition (non-advancing POST / field toggle); not treating as verified`);
|
|
6722
6887
|
}
|
|
6888
|
+
// Weak DOM-only signals (an html-byte delta, a visible-text change, a
|
|
6889
|
+
// form-value change, a selection-state flip) are NOT sufficient to
|
|
6890
|
+
// verify a final/submit step on their own: a validation re-render
|
|
6891
|
+
// produces exactly these without the submit landing. The primary
|
|
6892
|
+
// verifier is safe here because clickViewSwapVerified/formValueVerified/
|
|
6893
|
+
// clickStateToggleVerified all self-exclude final/submit; the n+16
|
|
6894
|
+
// fallback ORs the raw deltas, so gate them explicitly. On a
|
|
6895
|
+
// final/submit step they only count when the submit-endpoint judge will
|
|
6896
|
+
// actually run below (requireSubmitEndpoint) to corroborate — otherwise
|
|
6897
|
+
// only a strong signal (network/url) or a verified checkbox state may
|
|
6898
|
+
// pass. Non-final/submit steps are unaffected.
|
|
6899
|
+
const weakDomSignalsAllowed = (!isFinalStep && !submitStep) || requireSubmitEndpoint;
|
|
6900
|
+
// Selection-counter veto for the n+16 fallback — the same gate the
|
|
6901
|
+
// primary verifier applies, recomputed against `retryPost`. Without
|
|
6902
|
+
// it this path would re-credit a stalled selection the primary veto
|
|
6903
|
+
// already suppressed: the fallback `el.click()` can reflow the DOM
|
|
6904
|
+
// (html/text/selection-state delta) without registering the option,
|
|
6905
|
+
// and those weak deltas are exactly what the OR below admits for a
|
|
6906
|
+
// non-final selection step. Only the weak-delta disjunct is vetoed;
|
|
6907
|
+
// strong signals (network/url) and a verified checkbox state pass.
|
|
6908
|
+
const retrySelectionCounterStalled = isSelectionCounterStalled({
|
|
6909
|
+
isSelectionStep: parseSelectStep(step) !== null,
|
|
6910
|
+
preVisibleTextSignature: pre.visibleTextSignature,
|
|
6911
|
+
postVisibleTextSignature: retryPost.visibleTextSignature,
|
|
6912
|
+
});
|
|
6723
6913
|
let retryVerified = !clickBlockedByInvalid &&
|
|
6724
6914
|
!fallbackDomOnlyAdvance &&
|
|
6725
6915
|
(retryNetworkFired ||
|
|
6726
6916
|
retryUrlChanged ||
|
|
6727
|
-
|
|
6728
|
-
|
|
6729
|
-
|
|
6730
|
-
|
|
6917
|
+
checkboxStateVerified ||
|
|
6918
|
+
(weakDomSignalsAllowed &&
|
|
6919
|
+
!retrySelectionCounterStalled &&
|
|
6920
|
+
(retryHtmlDelta !== 0 ||
|
|
6921
|
+
retryTextChanged ||
|
|
6922
|
+
retryFormValueChanged ||
|
|
6923
|
+
retrySelectionStateChanged)));
|
|
6731
6924
|
// Apply the same submit-endpoint gate the primary verifier uses.
|
|
6732
6925
|
// Without this, the n+16 fallback would still ride past a
|
|
6733
6926
|
// tracking-pixel-only click on the final step. Same Haiku LLM
|
|
@@ -6800,10 +6993,20 @@ async function executeStepWithHealing(params) {
|
|
|
6800
6993
|
failureReasons.push(`n+16 fallback: submit-judge-rejected: ${judgeVerdict.reason}`);
|
|
6801
6994
|
}
|
|
6802
6995
|
}
|
|
6803
|
-
logger.info(`n+16 probe: step=${stepIndex + 1}/${totalSteps?.() ?? "?"} attempt=${attempt} el.click() fallback fired=${fired === true} kind=${probeResult.kind ?? "none"} checkboxStateVerified=${checkboxStateVerified} ancestorStillInvalid=${ancestorStillInvalid}; network=${retryNetworkFired} url=${retryUrlChanged} htmlDelta=${retryHtmlDelta} textChanged=${retryTextChanged} formValueChanged=${retryFormValueChanged} verified=${retryVerified}`);
|
|
6996
|
+
logger.info(`n+16 probe: step=${stepIndex + 1}/${totalSteps?.() ?? "?"} attempt=${attempt} el.click() fallback fired=${fired === true} kind=${probeResult.kind ?? "none"} checkboxStateVerified=${checkboxStateVerified} ancestorStillInvalid=${ancestorStillInvalid}; network=${retryNetworkFired} url=${retryUrlChanged} htmlDelta=${retryHtmlDelta} textChanged=${retryTextChanged} formValueChanged=${retryFormValueChanged} selectionStateChanged=${retrySelectionStateChanged} verified=${retryVerified}`);
|
|
6804
6997
|
if (retryVerified) {
|
|
6805
6998
|
if (record.verifiedBy === null) {
|
|
6806
|
-
record.verifiedBy = retryUrlChanged
|
|
6999
|
+
record.verifiedBy = retryUrlChanged
|
|
7000
|
+
? "url"
|
|
7001
|
+
: retryNetworkFired
|
|
7002
|
+
? "network"
|
|
7003
|
+
: retryHtmlDelta === 0 &&
|
|
7004
|
+
!retryTextChanged &&
|
|
7005
|
+
!retryFormValueChanged &&
|
|
7006
|
+
!checkboxStateVerified &&
|
|
7007
|
+
retrySelectionStateChanged
|
|
7008
|
+
? "state-toggle"
|
|
7009
|
+
: "dom";
|
|
6807
7010
|
}
|
|
6808
7011
|
record.post = retryPost;
|
|
6809
7012
|
attempts.push(record);
|
|
@@ -6825,7 +7028,7 @@ async function executeStepWithHealing(params) {
|
|
|
6825
7028
|
attempts.push(record);
|
|
6826
7029
|
if (verified) {
|
|
6827
7030
|
if (attempt > 1) {
|
|
6828
|
-
logger.info(`${formatStepPrefix(stepIndex, totalSteps)} healed on attempt ${attempt} via ${record.technique} (network=${networkFired} url=${urlChanged} dom=${domVerified})`);
|
|
7031
|
+
logger.info(`${formatStepPrefix(stepIndex, totalSteps)} healed on attempt ${attempt} via ${record.technique} (network=${networkFired} url=${urlChanged} dom=${domVerified} stateToggle=${clickStateToggleVerified} verifiedBy=${record.verifiedBy})`);
|
|
6829
7032
|
}
|
|
6830
7033
|
else {
|
|
6831
7034
|
// Why log first-try wins explicitly: prior to this change, attempt-1
|
|
@@ -6835,7 +7038,7 @@ async function executeStepWithHealing(params) {
|
|
|
6835
7038
|
// collapse" (log showed 2 heals) but telemetry calls.ndjson showed
|
|
6836
7039
|
// 32 successful Stagehand acts. Surfacing attempt-1 wins lets the
|
|
6837
7040
|
// log match telemetry and prevents the same false alarm.
|
|
6838
|
-
logger.info(`${formatStepPrefix(stepIndex, totalSteps)} succeeded on attempt 1 via ${record.technique} (network=${networkFired} url=${urlChanged} dom=${domVerified})`);
|
|
7041
|
+
logger.info(`${formatStepPrefix(stepIndex, totalSteps)} succeeded on attempt 1 via ${record.technique} (network=${networkFired} url=${urlChanged} dom=${domVerified} stateToggle=${clickStateToggleVerified} verifiedBy=${record.verifiedBy})`);
|
|
6839
7042
|
}
|
|
6840
7043
|
trajectory?.push({ stepIndex, verifiedBy: record.verifiedBy });
|
|
6841
7044
|
return "completed";
|
|
@@ -6850,6 +7053,7 @@ async function executeStepWithHealing(params) {
|
|
|
6850
7053
|
actResultSuccess: record.actResultSuccess,
|
|
6851
7054
|
pre,
|
|
6852
7055
|
post,
|
|
7056
|
+
isSubmitShapedStep: isFinalStep || submitStep,
|
|
6853
7057
|
});
|
|
6854
7058
|
const reason = record.errorMessage
|
|
6855
7059
|
? effectSignals
|
|
@@ -6975,7 +7179,7 @@ async function executeStepWithHealing(params) {
|
|
|
6975
7179
|
const bodyOuterHtmlRaw = await (frameTarget ?? (0, frame_target_1.mainFrameTarget)(page))
|
|
6976
7180
|
.evaluate("document.body ? document.body.outerHTML : null")
|
|
6977
7181
|
.catch(() => null);
|
|
6978
|
-
const bodyOuterHtml =
|
|
7182
|
+
const bodyOuterHtml = prepareFailureDumpBody(bodyOuterHtmlRaw);
|
|
6979
7183
|
const cascadeExhaustObservedUnfocused = await (0, stagehand_guard_1.guardedObserve)(stagehand, undefined, { timeout: exports.STEP_WATCHDOG_MS }, captureFn, frameTarget).catch(() => []);
|
|
6980
7184
|
const unfocusedObserve = cascadeExhaustObservedUnfocused.length === 0 && frameTarget?.frame
|
|
6981
7185
|
? await deepLocatorCandidatesAsActions(page, frameTarget)
|