@enricai/barnacle 1.12.79 → 1.12.80
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/api/helpers/reply.d.ts.map +1 -1
- package/dist/api/helpers/reply.js +5 -2
- package/dist/api/helpers/reply.js.map +1 -1
- package/dist/config.d.ts +10 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -1
- package/dist/lib/llm/judge.d.ts.map +1 -1
- package/dist/lib/llm/judge.js +6 -1
- package/dist/lib/llm/judge.js.map +1 -1
- package/dist/lib/llm/judges/verify-step-advanced.d.ts +30 -0
- package/dist/lib/llm/judges/verify-step-advanced.d.ts.map +1 -0
- package/dist/lib/llm/judges/verify-step-advanced.js +62 -0
- package/dist/lib/llm/judges/verify-step-advanced.js.map +1 -0
- package/dist/lib/llm/judges/verify-submit.d.ts +7 -1
- package/dist/lib/llm/judges/verify-submit.d.ts.map +1 -1
- package/dist/lib/llm/judges/verify-submit.js +29 -8
- package/dist/lib/llm/judges/verify-submit.js.map +1 -1
- package/dist/lib/llm/schemas.d.ts +8 -0
- package/dist/lib/llm/schemas.d.ts.map +1 -1
- package/dist/lib/llm/schemas.js +21 -13
- package/dist/lib/llm/schemas.js.map +1 -1
- package/dist/lib/logging.d.ts +7 -0
- package/dist/lib/logging.d.ts.map +1 -1
- package/dist/lib/logging.js +19 -1
- package/dist/lib/logging.js.map +1 -1
- package/dist/lib/pii-redaction.d.ts +104 -0
- package/dist/lib/pii-redaction.d.ts.map +1 -0
- package/dist/lib/pii-redaction.js +397 -0
- package/dist/lib/pii-redaction.js.map +1 -0
- package/dist/lib/random.d.ts +3 -1
- package/dist/lib/random.d.ts.map +1 -1
- package/dist/lib/random.js +7 -2
- package/dist/lib/random.js.map +1 -1
- package/dist/lib/telemetry/beacon-capture.d.ts.map +1 -1
- package/dist/lib/telemetry/beacon-capture.js +2 -0
- package/dist/lib/telemetry/beacon-capture.js.map +1 -1
- package/dist/lib/telemetry/call-capture.d.ts.map +1 -1
- package/dist/lib/telemetry/call-capture.js +4 -1
- package/dist/lib/telemetry/call-capture.js.map +1 -1
- package/dist/lib/telemetry/submission-capture.d.ts +11 -1
- package/dist/lib/telemetry/submission-capture.d.ts.map +1 -1
- package/dist/lib/telemetry/submission-capture.js +32 -3
- package/dist/lib/telemetry/submission-capture.js.map +1 -1
- package/dist/plugins/config-plugin.d.ts +8 -0
- package/dist/plugins/config-plugin.d.ts.map +1 -1
- package/dist/plugins/config-plugin.js +4 -0
- package/dist/plugins/config-plugin.js.map +1 -1
- package/dist/plugins/discover.d.ts.map +1 -1
- package/dist/plugins/discover.js +2 -0
- package/dist/plugins/discover.js.map +1 -1
- package/dist/plugins/loader.d.ts.map +1 -1
- package/dist/plugins/loader.js +23 -6
- package/dist/plugins/loader.js.map +1 -1
- package/dist/scraper/active-page.d.ts +18 -0
- package/dist/scraper/active-page.d.ts.map +1 -0
- package/dist/scraper/active-page.js +53 -0
- package/dist/scraper/active-page.js.map +1 -0
- package/dist/scraper/click-settle.d.ts +19 -0
- package/dist/scraper/click-settle.d.ts.map +1 -0
- package/dist/scraper/click-settle.js +65 -0
- package/dist/scraper/click-settle.js.map +1 -0
- package/dist/scraper/deep-locator-candidates.d.ts +20 -1
- package/dist/scraper/deep-locator-candidates.d.ts.map +1 -1
- package/dist/scraper/deep-locator-candidates.js +75 -11
- package/dist/scraper/deep-locator-candidates.js.map +1 -1
- package/dist/scraper/flow-runner.d.ts +321 -6
- package/dist/scraper/flow-runner.d.ts.map +1 -1
- package/dist/scraper/flow-runner.js +2087 -341
- package/dist/scraper/flow-runner.js.map +1 -1
- package/dist/scraper/navigate.d.ts +3 -3
- package/dist/scraper/navigate.js +4 -4
- package/dist/scraper/navigate.js.map +1 -1
- package/dist/scraper/phantom-click.d.ts +34 -2
- package/dist/scraper/phantom-click.d.ts.map +1 -1
- package/dist/scraper/phantom-click.js +80 -6
- package/dist/scraper/phantom-click.js.map +1 -1
- package/dist/scraper/quoted-spans.d.ts +35 -0
- package/dist/scraper/quoted-spans.d.ts.map +1 -0
- package/dist/scraper/quoted-spans.js +83 -0
- package/dist/scraper/quoted-spans.js.map +1 -0
- package/dist/scraper/session-browserbase.d.ts +4 -2
- package/dist/scraper/session-browserbase.d.ts.map +1 -1
- package/dist/scraper/session-browserbase.js +36 -5
- package/dist/scraper/session-browserbase.js.map +1 -1
- package/dist/scraper/session-steel.d.ts.map +1 -1
- package/dist/scraper/session-steel.js +16 -2
- package/dist/scraper/session-steel.js.map +1 -1
- package/dist/scraper/session-teardown.d.ts +1 -0
- package/dist/scraper/session-teardown.d.ts.map +1 -1
- package/dist/scraper/session-teardown.js +19 -8
- package/dist/scraper/session-teardown.js.map +1 -1
- package/dist/scraper/spa-readiness.d.ts +13 -1
- package/dist/scraper/spa-readiness.d.ts.map +1 -1
- package/dist/scraper/spa-readiness.js +31 -1
- package/dist/scraper/spa-readiness.js.map +1 -1
- package/dist/scraper/stagehand-guard.d.ts +8 -3
- package/dist/scraper/stagehand-guard.d.ts.map +1 -1
- package/dist/scraper/stagehand-guard.js +181 -13
- package/dist/scraper/stagehand-guard.js.map +1 -1
- package/dist/scraper/transient-provider-error.d.ts +19 -0
- package/dist/scraper/transient-provider-error.d.ts.map +1 -0
- package/dist/scraper/transient-provider-error.js +59 -0
- package/dist/scraper/transient-provider-error.js.map +1 -0
- package/dist/scraper/trusted-click.d.ts +122 -0
- package/dist/scraper/trusted-click.d.ts.map +1 -0
- package/dist/scraper/trusted-click.js +201 -0
- package/dist/scraper/trusted-click.js.map +1 -0
- package/dist/scraper/upload-affordance-expr.d.ts +33 -0
- package/dist/scraper/upload-affordance-expr.d.ts.map +1 -0
- package/dist/scraper/upload-affordance-expr.js +91 -0
- package/dist/scraper/upload-affordance-expr.js.map +1 -0
- package/dist/scripts/recon-browser.d.ts +26 -1
- package/dist/scripts/recon-browser.d.ts.map +1 -1
- package/dist/scripts/recon-browser.js +108 -21
- package/dist/scripts/recon-browser.js.map +1 -1
- package/dist/scripts/recon-capture-rebind.d.ts +11 -0
- package/dist/scripts/recon-capture-rebind.d.ts.map +1 -0
- package/dist/scripts/recon-capture-rebind.js +26 -0
- package/dist/scripts/recon-capture-rebind.js.map +1 -0
- package/dist/scripts/recon-generate.d.ts +112 -9
- package/dist/scripts/recon-generate.d.ts.map +1 -1
- package/dist/scripts/recon-generate.js +889 -181
- package/dist/scripts/recon-generate.js.map +1 -1
- package/dist/scripts/recon-shared.d.ts +7 -0
- package/dist/scripts/recon-shared.d.ts.map +1 -1
- package/dist/scripts/recon-shared.js +19 -0
- package/dist/scripts/recon-shared.js.map +1 -1
- package/dist/site-plugin.d.ts +8 -0
- package/dist/site-plugin.d.ts.map +1 -1
- package/dist/types/pii-redaction.d.ts +39 -0
- package/dist/types/pii-redaction.d.ts.map +1 -0
- package/dist/types/pii-redaction.js +3 -0
- package/dist/types/pii-redaction.js.map +1 -0
- package/package.json +14 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.followNewPage = followNewPage;
|
|
4
|
+
const frame_target_1 = require("./frame-target");
|
|
5
|
+
const LOAD_WAIT_MS = 10000;
|
|
6
|
+
const DISCOVER_POLL_MS = 100;
|
|
7
|
+
const DISCOVER_WAIT_MS = 1500;
|
|
8
|
+
const BLANK_URL_WAIT_MS = 5000;
|
|
9
|
+
const isBlankUrl = (page) => {
|
|
10
|
+
try {
|
|
11
|
+
const url = page.url?.() ?? "";
|
|
12
|
+
return url === "" || url === "about:blank";
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Single source of truth for which page the run drives after a click: when the
|
|
20
|
+
* click opened a new browsing context (non-self anchor target or window.open),
|
|
21
|
+
* adopts the newest page, waits boundedly for it to load, closes the stale
|
|
22
|
+
* tab so the context keeps a single driven tab, and returns the adopted page.
|
|
23
|
+
* Returns `current` unchanged when no page appeared, so repeat calls are idempotent.
|
|
24
|
+
*/
|
|
25
|
+
async function followNewPage(context, current, pagesBefore, discoverWaitMs = DISCOVER_WAIT_MS) {
|
|
26
|
+
const known = new Set(pagesBefore);
|
|
27
|
+
const findNew = () => context
|
|
28
|
+
.pages()
|
|
29
|
+
.filter((p) => !known.has(p))
|
|
30
|
+
.at(-1);
|
|
31
|
+
const polls = Math.max(0, Math.ceil(discoverWaitMs / DISCOVER_POLL_MS));
|
|
32
|
+
let opened = findNew();
|
|
33
|
+
for (let i = 0; !opened && i < polls; i++) {
|
|
34
|
+
await (0, frame_target_1.sleep)(DISCOVER_POLL_MS);
|
|
35
|
+
opened = findNew();
|
|
36
|
+
}
|
|
37
|
+
if (!opened || opened === current)
|
|
38
|
+
return current;
|
|
39
|
+
await Promise.race([
|
|
40
|
+
opened.waitForLoadState?.("domcontentloaded", LOAD_WAIT_MS).catch(() => undefined),
|
|
41
|
+
(0, frame_target_1.sleep)(LOAD_WAIT_MS),
|
|
42
|
+
]);
|
|
43
|
+
// A new tab starts at about:blank before its navigation commits; adopting it
|
|
44
|
+
// then would verify and capture an empty document.
|
|
45
|
+
for (let waited = 0; isBlankUrl(opened) && waited < BLANK_URL_WAIT_MS; waited += DISCOVER_POLL_MS) {
|
|
46
|
+
await (0, frame_target_1.sleep)(DISCOVER_POLL_MS);
|
|
47
|
+
}
|
|
48
|
+
// Closing first lets the context re-pick its active page before we pin ours.
|
|
49
|
+
await current.close?.().catch(() => undefined);
|
|
50
|
+
context.setActivePage?.(opened);
|
|
51
|
+
return opened;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=active-page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"active-page.js","sourceRoot":"","sources":["../../src/scraper/active-page.ts"],"names":[],"mappings":";;;AAAA,yDAA+C;AAa/C,MAAM,YAAY,GAAG,KAAK,CAAC;AAC3B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAE/B,MAAM,UAAU,GAAG,CAAC,IAAoB,EAAW,EAAE;IACnD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC;QAC/B,OAAO,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,aAAa,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;GAMG;AACI,KAAK,wBACV,OAA6B,EAC7B,OAAU,EACV,WAAyB,EACzB,cAAc,GAAW,gBAAgB;IAEzC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAI,WAAW,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,GAAkB,EAAE,CAClC,OAAO;SACJ,KAAK,EAAE;SACP,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC5B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACZ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC,CAAC,CAAC;IACxE,IAAI,MAAM,GAAG,OAAO,EAAE,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAA,oBAAK,EAAC,gBAAgB,CAAC,CAAC;QAC9B,MAAM,GAAG,OAAO,EAAE,CAAC;IACrB,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAClD,MAAM,OAAO,CAAC,IAAI,CAAC;QACjB,MAAM,CAAC,gBAAgB,EAAE,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QAClF,IAAA,oBAAK,EAAC,YAAY,CAAC;KACpB,CAAC,CAAC;IACH,6EAA6E;IAC7E,mDAAmD;IACnD,KACE,IAAI,MAAM,GAAG,CAAC,EACd,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,iBAAiB,EAChD,MAAM,IAAI,gBAAgB,EAC1B,CAAC;QACD,MAAM,IAAA,oBAAK,EAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC;IACD,6EAA6E;IAC7E,MAAM,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC/C,OAAO,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface SettlePage {
|
|
2
|
+
waitForTimeout(ms: number): Promise<void>;
|
|
3
|
+
}
|
|
4
|
+
export interface SettleCounter {
|
|
5
|
+
n: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Waits for a click's network activity to settle so the verification snapshot
|
|
9
|
+
* reflects the post-click page rather than a fixed-delay guess. Elapsed time is
|
|
10
|
+
* accumulated from poll counts so fake pages and timers stay deterministic.
|
|
11
|
+
* When `readText` is given, visible-text movement since the pre-click baseline
|
|
12
|
+
* also counts as activity, so a DOM-only re-render that lands after the first
|
|
13
|
+
* change is not snapshotted half-transitioned; the wait ends once activity has been quiet for the quiet window and is
|
|
14
|
+
* bounded by the MAX_MS ceiling so a never-quiet page still terminates.
|
|
15
|
+
* Only submit-shaped steps keep the long idle wait for a slow round-trip to start;
|
|
16
|
+
* any other click that shows no activity after one quiet poll gives up.
|
|
17
|
+
*/
|
|
18
|
+
export declare function settleAfterClick(page: SettlePage, counter: SettleCounter, preCount: number, submitShaped: boolean, readText?: () => Promise<string>, preText?: string): Promise<void>;
|
|
19
|
+
//# sourceMappingURL=click-settle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"click-settle.d.ts","sourceRoot":"","sources":["../../src/scraper/click-settle.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,MAAM,CAAC;CACX;AAQD;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,EACrB,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAChC,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAwCf"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.settleAfterClick = settleAfterClick;
|
|
4
|
+
const POLL_MS = 1000;
|
|
5
|
+
const QUIET_POLLS = 3;
|
|
6
|
+
const IDLE_GIVE_UP_MS = 14000;
|
|
7
|
+
const TEXT_QUIET_POLLS = 9;
|
|
8
|
+
const MAX_MS = 60000;
|
|
9
|
+
/**
|
|
10
|
+
* Waits for a click's network activity to settle so the verification snapshot
|
|
11
|
+
* reflects the post-click page rather than a fixed-delay guess. Elapsed time is
|
|
12
|
+
* accumulated from poll counts so fake pages and timers stay deterministic.
|
|
13
|
+
* When `readText` is given, visible-text movement since the pre-click baseline
|
|
14
|
+
* also counts as activity, so a DOM-only re-render that lands after the first
|
|
15
|
+
* change is not snapshotted half-transitioned; the wait ends once activity has been quiet for the quiet window and is
|
|
16
|
+
* bounded by the MAX_MS ceiling so a never-quiet page still terminates.
|
|
17
|
+
* Only submit-shaped steps keep the long idle wait for a slow round-trip to start;
|
|
18
|
+
* any other click that shows no activity after one quiet poll gives up.
|
|
19
|
+
*/
|
|
20
|
+
async function settleAfterClick(page, counter, preCount, submitShaped, readText, preText) {
|
|
21
|
+
const safeRead = async () => {
|
|
22
|
+
if (!readText)
|
|
23
|
+
return undefined;
|
|
24
|
+
try {
|
|
25
|
+
return await readText();
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const startText = await safeRead();
|
|
32
|
+
let lastText = preText ?? startText;
|
|
33
|
+
let textMoved = preText !== undefined && startText !== undefined && startText !== preText;
|
|
34
|
+
let seen = counter.n > preCount || textMoved;
|
|
35
|
+
let last = counter.n;
|
|
36
|
+
let quiet = 0;
|
|
37
|
+
let elapsed = 0;
|
|
38
|
+
while (elapsed < MAX_MS) {
|
|
39
|
+
await page.waitForTimeout(POLL_MS);
|
|
40
|
+
elapsed += POLL_MS;
|
|
41
|
+
const text = await safeRead();
|
|
42
|
+
if (text !== undefined && lastText !== undefined && text !== lastText) {
|
|
43
|
+
lastText = text;
|
|
44
|
+
textMoved = true;
|
|
45
|
+
seen = true;
|
|
46
|
+
quiet = 0;
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
if (counter.n !== last) {
|
|
50
|
+
last = counter.n;
|
|
51
|
+
seen = true;
|
|
52
|
+
quiet = 0;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
if (seen) {
|
|
56
|
+
quiet += 1;
|
|
57
|
+
if (quiet >= (textMoved ? TEXT_QUIET_POLLS : QUIET_POLLS))
|
|
58
|
+
return;
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
if (!submitShaped || elapsed >= IDLE_GIVE_UP_MS)
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=click-settle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"click-settle.js","sourceRoot":"","sources":["../../src/scraper/click-settle.ts"],"names":[],"mappings":";;;AAQA,MAAM,OAAO,GAAG,IAAI,CAAC;AACrB,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,eAAe,GAAG,KAAK,CAAC;AAC9B,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,MAAM,GAAG,KAAK,CAAC;AAErB;;;;;;;;;;GAUG;AACI,KAAK,2BACV,IAAgB,EAChB,OAAsB,EACtB,QAAgB,EAChB,YAAqB,EACrB,QAAgC,EAChC,OAAgB;IAEhB,MAAM,QAAQ,GAAG,KAAK,IAAiC,EAAE;QACvD,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAChC,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,EAAE,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,QAAQ,EAAE,CAAC;IACnC,IAAI,QAAQ,GAAG,OAAO,IAAI,SAAS,CAAC;IACpC,IAAI,SAAS,GAAG,OAAO,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,OAAO,CAAC;IAC1F,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,QAAQ,IAAI,SAAS,CAAC;IAC7C,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;IACrB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,OAAO,GAAG,MAAM,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,IAAI,OAAO,CAAC;QACnB,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC9B,IAAI,IAAI,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtE,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS,GAAG,IAAI,CAAC;YACjB,IAAI,GAAG,IAAI,CAAC;YACZ,KAAK,GAAG,CAAC,CAAC;YACV,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;YACjB,IAAI,GAAG,IAAI,CAAC;YACZ,KAAK,GAAG,CAAC,CAAC;YACV,SAAS;QACX,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC;gBAAE,OAAO;YAClE,SAAS;QACX,CAAC;QACD,IAAI,CAAC,YAAY,IAAI,OAAO,IAAI,eAAe;YAAE,OAAO;IAC1D,CAAC;AACH,CAAC"}
|
|
@@ -97,7 +97,8 @@ export interface TaggedPhrase {
|
|
|
97
97
|
* boundary (`.`/`;`) between the marker and the phrase ends the negation's
|
|
98
98
|
* reach. Parallels the quoted-phrase extraction convention in
|
|
99
99
|
* `parseSelectStep`/`parseRadioStep` (`flow-runner.ts`) — same
|
|
100
|
-
*
|
|
100
|
+
* apostrophe-aware tokenizer (`quoted-spans.ts`), so a letter-flanked
|
|
101
|
+
* apostrophe never ends a phrase — but here we need ALL quoted phrases plus their
|
|
101
102
|
* polarity, not just one option/label pair. Exported so `flow-runner.ts` can
|
|
102
103
|
* re-derive the exact same ranking {@link scoreCandidate} used to sort
|
|
103
104
|
* `deepLocatorCandidates`, to detect a tie for the top rank rather than
|
|
@@ -141,6 +142,24 @@ export declare function extractTaggedPhrases(instruction: string): TaggedPhrase[
|
|
|
141
142
|
* output (see {@link extractTaggedPhrases}'s docblock).
|
|
142
143
|
*/
|
|
143
144
|
export declare function scoreCandidate(accessibleText: string, phrases: TaggedPhrase[], isNav?: boolean): number;
|
|
145
|
+
/** Outcome of {@link vetObserveCandidates}: the best-scoring candidate, its score, and whether the caller should refuse to act on it. */
|
|
146
|
+
export interface ObserveCandidateVerdict<T extends {
|
|
147
|
+
description: string;
|
|
148
|
+
}> {
|
|
149
|
+
candidate: T | undefined;
|
|
150
|
+
score: number;
|
|
151
|
+
refuse: boolean;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Picks the best observe() candidate for the step's quoted phrases and decides
|
|
155
|
+
* whether acting on it would hit a control the step did not name. Reuses
|
|
156
|
+
* {@link scoreCandidate} so the veto can never drift from the ranking tiers;
|
|
157
|
+
* a lone candidate is enough to refuse, since observe() returns its best
|
|
158
|
+
* guess even when nothing matches.
|
|
159
|
+
*/
|
|
160
|
+
export declare function vetObserveCandidates<T extends {
|
|
161
|
+
description: string;
|
|
162
|
+
}>(candidates: T[], phrases: TaggedPhrase[]): ObserveCandidateVerdict<T>;
|
|
144
163
|
/**
|
|
145
164
|
* Enumerates every element `page.deepLocator()` matches inside the frame
|
|
146
165
|
* scoped by `frameSelector`, ranked by relevance to `instruction` (highest
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep-locator-candidates.d.ts","sourceRoot":"","sources":["../../src/scraper/deep-locator-candidates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAYrD,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"deep-locator-candidates.d.ts","sourceRoot":"","sources":["../../src/scraper/deep-locator-candidates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAYrD,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,wBAAwB,CAAC;AAiChC,sJAAsJ;AACtJ,MAAM,WAAW,yBAAyB;IACxC,mIAAmI;IACnI,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uJAAuJ;IACvJ,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAKD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,oBAAoB;IACnC,kJAAkJ;IAClJ,KAAK,EAAE,MAAM,CAAC;IACd,gLAAgL;IAChL,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,KAAK,EAAE,OAAO,CAAC;CAChB;AAsBD,sJAAsJ;AACtJ,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,EAAE,CAYxE;AAkCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,cAAc,CAC5B,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,YAAY,EAAE,EACvB,KAAK,UAAQ,GACZ,MAAM,CAiBR;AAED,yIAAyI;AACzI,MAAM,WAAW,uBAAuB,CAAC,CAAC,SAAS;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE;IACxE,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,EACpE,UAAU,EAAE,CAAC,EAAE,EACf,OAAO,EAAE,YAAY,EAAE,GACtB,uBAAuB,CAAC,CAAC,CAAC,CAoB5B;AAsMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACxC,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,EAC3B,cAAc,GAAE,yBAA8B,GAC7C,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAoCjC;AAwDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACxC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,cAAc,GAAE,yBAA8B,GAC7C,OAAO,CAAC,IAAI,CAAC,CAwCf;AAqCD;;;;;;;;GAQG"}
|
|
@@ -12,12 +12,15 @@
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.extractTaggedPhrases = extractTaggedPhrases;
|
|
14
14
|
exports.scoreCandidate = scoreCandidate;
|
|
15
|
+
exports.vetObserveCandidates = vetObserveCandidates;
|
|
15
16
|
exports.resolveDeepLocatorCandidates = resolveDeepLocatorCandidates;
|
|
16
17
|
exports.clickDeepLocatorCandidate = clickDeepLocatorCandidate;
|
|
17
18
|
const errors_1 = require("../lib/errors");
|
|
18
19
|
const logging_1 = require("../lib/logging");
|
|
19
20
|
const deep_locator_scan_1 = require("./deep-locator-scan");
|
|
20
21
|
const frame_target_1 = require("./frame-target");
|
|
22
|
+
const quoted_spans_1 = require("./quoted-spans");
|
|
23
|
+
const trusted_click_1 = require("./trusted-click");
|
|
21
24
|
const watchdog_1 = require("./watchdog");
|
|
22
25
|
const logger = (0, logging_1.getLogger)({ name: "scraper/deep-locator-candidates" });
|
|
23
26
|
/**
|
|
@@ -66,23 +69,23 @@ const NEGATION_MARKERS = /\b(?:do\s+not|don't|never|avoid)\b/gi;
|
|
|
66
69
|
* boundary (`.`/`;`) between the marker and the phrase ends the negation's
|
|
67
70
|
* reach. Parallels the quoted-phrase extraction convention in
|
|
68
71
|
* `parseSelectStep`/`parseRadioStep` (`flow-runner.ts`) — same
|
|
69
|
-
*
|
|
72
|
+
* apostrophe-aware tokenizer (`quoted-spans.ts`), so a letter-flanked
|
|
73
|
+
* apostrophe never ends a phrase — but here we need ALL quoted phrases plus their
|
|
70
74
|
* polarity, not just one option/label pair. Exported so `flow-runner.ts` can
|
|
71
75
|
* re-derive the exact same ranking {@link scoreCandidate} used to sort
|
|
72
76
|
* `deepLocatorCandidates`, to detect a tie for the top rank rather than
|
|
73
77
|
* duplicating this logic.
|
|
74
78
|
*/
|
|
75
79
|
function extractTaggedPhrases(instruction) {
|
|
76
|
-
const
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
const nearestNegationBefore = negationStarts.filter((idx) => idx <
|
|
80
|
+
const spans = (0, quoted_spans_1.findQuotedSpans)(instruction);
|
|
81
|
+
const negationStarts = [...instruction.matchAll(NEGATION_MARKERS)]
|
|
82
|
+
.map((m) => m.index)
|
|
83
|
+
.filter((idx) => !spans.some((span) => idx >= span.start && idx < span.end));
|
|
84
|
+
return spans.map((span) => {
|
|
85
|
+
const nearestNegationBefore = negationStarts.filter((idx) => idx < span.start).at(-1);
|
|
82
86
|
const negated = nearestNegationBefore !== undefined &&
|
|
83
|
-
!/[.;]/.test(instruction.slice(nearestNegationBefore,
|
|
84
|
-
|
|
85
|
-
return { text: m[1].trim(), negated };
|
|
87
|
+
!/[.;]/.test(instruction.slice(nearestNegationBefore, span.start));
|
|
88
|
+
return { text: span.text.trim(), negated };
|
|
86
89
|
});
|
|
87
90
|
}
|
|
88
91
|
/** Normalizes text for relevance comparison: lowercase, whitespace-collapsed. */
|
|
@@ -167,6 +170,36 @@ function scoreCandidate(accessibleText, phrases, isNav = false) {
|
|
|
167
170
|
return -1;
|
|
168
171
|
return 0;
|
|
169
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* Picks the best observe() candidate for the step's quoted phrases and decides
|
|
175
|
+
* whether acting on it would hit a control the step did not name. Reuses
|
|
176
|
+
* {@link scoreCandidate} so the veto can never drift from the ranking tiers;
|
|
177
|
+
* a lone candidate is enough to refuse, since observe() returns its best
|
|
178
|
+
* guess even when nothing matches.
|
|
179
|
+
*/
|
|
180
|
+
function vetObserveCandidates(candidates, phrases) {
|
|
181
|
+
const first = candidates[0];
|
|
182
|
+
if (!first || phrases.length === 0)
|
|
183
|
+
return { candidate: first, score: 0, refuse: false };
|
|
184
|
+
const scored = candidates.map((candidate) => ({
|
|
185
|
+
candidate,
|
|
186
|
+
score: scoreCandidate(candidate.description, phrases),
|
|
187
|
+
}));
|
|
188
|
+
const best = scored.reduce((a, b) => (b.score > a.score ? b : a));
|
|
189
|
+
if (best.score < 0)
|
|
190
|
+
return { candidate: best.candidate, score: best.score, refuse: true };
|
|
191
|
+
if (best.score > 0)
|
|
192
|
+
return { candidate: best.candidate, score: best.score, refuse: false };
|
|
193
|
+
const positives = phrases.filter((p) => !p.negated).map((p) => normalize(p.text));
|
|
194
|
+
const text = normalize(best.candidate.description);
|
|
195
|
+
const betterExists = scored.some((s) => s.score > 0);
|
|
196
|
+
// A context phrase ("under the text 'X'") adds a second positive, so require the
|
|
197
|
+
// candidate to overlap none of them rather than exactly one.
|
|
198
|
+
const namesNone = positives.length > 0 &&
|
|
199
|
+
text.length > 0 &&
|
|
200
|
+
positives.every((p) => !text.includes(p) && !p.includes(text));
|
|
201
|
+
return { candidate: best.candidate, score: 0, refuse: betterExists || namesNone };
|
|
202
|
+
}
|
|
170
203
|
/**
|
|
171
204
|
* Resolves the `FrameTarget` the batched scan should evaluate against:
|
|
172
205
|
* `timeoutOptions.frameTarget` when the caller already resolved one, else a
|
|
@@ -485,11 +518,42 @@ async function clickDeepLocatorCandidate(page, frameSelector, innerSelector, ind
|
|
|
485
518
|
return;
|
|
486
519
|
}
|
|
487
520
|
const scaledCallTimeoutMs = callTimeoutMs + index * deep_locator_scan_1.DEEP_LOCATOR_CLICK_INDEX_ROUND_TRIP_MS;
|
|
488
|
-
await (0, watchdog_1.withWatchdog)(() => page.deepLocator(hopSelector).nth(index)
|
|
521
|
+
await (0, watchdog_1.withWatchdog)(() => clickLocatorCentred(page.deepLocator(hopSelector).nth(index), `${hopSelector} nth=${index}`), {
|
|
489
522
|
timeoutMs: scaledCallTimeoutMs,
|
|
490
523
|
label: `deepLocator click() for ${hopSelector} nth=${index}`,
|
|
491
524
|
});
|
|
492
525
|
}
|
|
526
|
+
/**
|
|
527
|
+
* Centres the deep-locator target and hit-tests its click point before the
|
|
528
|
+
* trusted click, via `resolveNode().objectId` + `Runtime.callFunctionOn` (the
|
|
529
|
+
* top-window helper cannot reach an iframe/OOPIF). A locator exposing no
|
|
530
|
+
* resolvable node or session degrades to a plain `click()`.
|
|
531
|
+
*/
|
|
532
|
+
async function clickLocatorCentred(locator, label) {
|
|
533
|
+
const session = locator.frame?.session;
|
|
534
|
+
const resolveNode = locator.resolveNode?.bind(locator);
|
|
535
|
+
if (!resolveNode || !session) {
|
|
536
|
+
await locator.click();
|
|
537
|
+
return;
|
|
538
|
+
}
|
|
539
|
+
const evaluateOnElement = async (functionDeclaration) => {
|
|
540
|
+
const { objectId } = await resolveNode();
|
|
541
|
+
if (!objectId)
|
|
542
|
+
return { state: "missing" };
|
|
543
|
+
try {
|
|
544
|
+
const res = (await session.send("Runtime.callFunctionOn", {
|
|
545
|
+
objectId,
|
|
546
|
+
functionDeclaration,
|
|
547
|
+
returnByValue: true,
|
|
548
|
+
}));
|
|
549
|
+
return res.result?.value ?? { state: "missing" };
|
|
550
|
+
}
|
|
551
|
+
finally {
|
|
552
|
+
await session.send("Runtime.releaseObject", { objectId }).catch(() => undefined);
|
|
553
|
+
}
|
|
554
|
+
};
|
|
555
|
+
await (0, trusted_click_1.clickAfterCentredHitTest)(locator, evaluateOnElement, { label });
|
|
556
|
+
}
|
|
493
557
|
/**
|
|
494
558
|
* `fillDeepLocatorCandidate`/`selectDeepLocatorCandidateOption` live in
|
|
495
559
|
* `deep-locator-actuate.ts`, not here — that module's `writeAndVerify` wraps
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep-locator-candidates.js","sourceRoot":"","sources":["../../src/scraper/deep-locator-candidates.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deep-locator-candidates.js","sourceRoot":"","sources":["../../src/scraper/deep-locator-candidates.ts"],"names":[],"mappings":"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"}
|