@trusty-squire/mcp 1.1.9-rc.2 → 1.1.9-rc.3
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/README.md +11 -3
- package/dist/bot/browser.d.ts +34 -10
- package/dist/bot/browser.d.ts.map +1 -1
- package/dist/bot/browser.js +320 -27
- package/dist/bot/browser.js.map +1 -1
- package/dist/bot/operator-recipe.d.ts +2 -0
- package/dist/bot/operator-recipe.d.ts.map +1 -1
- package/dist/bot/operator-recipe.js +22 -8
- package/dist/bot/operator-recipe.js.map +1 -1
- package/dist/bot/promote-to-skill.d.ts +7 -1
- package/dist/bot/promote-to-skill.d.ts.map +1 -1
- package/dist/bot/promote-to-skill.js +60 -22
- package/dist/bot/promote-to-skill.js.map +1 -1
- package/dist/bot/provision-session.d.ts +1 -0
- package/dist/bot/provision-session.d.ts.map +1 -1
- package/dist/bot/provision-session.js +195 -25
- package/dist/bot/provision-session.js.map +1 -1
- package/dist/bot/provision-types.d.ts +8 -0
- package/dist/bot/provision-types.d.ts.map +1 -1
- package/dist/tools/provision-drive.d.ts.map +1 -1
- package/dist/tools/provision-drive.js +13 -7
- package/dist/tools/provision-drive.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -177,9 +177,17 @@ for the system and data flows.
|
|
|
177
177
|
## MCP tools
|
|
178
178
|
|
|
179
179
|
- `operate_start`, `operate_observe`, and `operate_act` open a website, inspect
|
|
180
|
-
the current state, and perform one browser action at a time.
|
|
181
|
-
|
|
182
|
-
`
|
|
180
|
+
the current state, and perform one browser action at a time. Ordinary controls
|
|
181
|
+
inside same- and cross-origin frames are included in observations with a
|
|
182
|
+
`frame_origin`; known captcha challenge frames stay behind the dedicated
|
|
183
|
+
captcha flow. Frame refs and live `text=…`/`css=…` locators preserve that
|
|
184
|
+
boundary: same-registrable-domain frames are reachable, cross-domain frames
|
|
185
|
+
must pass the same domain scope as `goto`/`allow_host`, opaque frames are
|
|
186
|
+
refused, and `type_secret` never targets any cross-domain frame. Frame refs
|
|
187
|
+
currently support `click`, `js_click`, `type`, and `type_secret`; `select`,
|
|
188
|
+
`upload`, and `oauth_click` fail closed. If a visible control has no observed
|
|
189
|
+
ref, the four supported action kinds can use a live locator; that one-off
|
|
190
|
+
fallback is not replayable.
|
|
183
191
|
- `operate_extract` captures a generated credential into a sealed slot or the vault.
|
|
184
192
|
- `operate_remember` saves a postcondition-verified local recipe under a closed
|
|
185
193
|
task verb plus the service's registrable domain. It records stable target
|
package/dist/bot/browser.d.ts
CHANGED
|
@@ -7,6 +7,23 @@ export interface PageTargetSafetySignals {
|
|
|
7
7
|
billingObject: boolean;
|
|
8
8
|
accountSetup: boolean;
|
|
9
9
|
}
|
|
10
|
+
export interface FrameTarget {
|
|
11
|
+
framePath: string;
|
|
12
|
+
frameOrigin: string;
|
|
13
|
+
frameUrl: string;
|
|
14
|
+
frameOpaque?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export type ResolvedPageTarget = {
|
|
17
|
+
ok: true;
|
|
18
|
+
handle: ElementHandle<Element>;
|
|
19
|
+
text: string;
|
|
20
|
+
safetySignals: PageTargetSafetySignals;
|
|
21
|
+
frameTarget: FrameTarget | null;
|
|
22
|
+
} | {
|
|
23
|
+
ok: false;
|
|
24
|
+
reason: "none" | "ambiguous";
|
|
25
|
+
candidates: string[];
|
|
26
|
+
};
|
|
10
27
|
export interface BrowserAction {
|
|
11
28
|
type: "goto" | "click" | "type" | "screenshot" | "extract" | "wait";
|
|
12
29
|
selector?: string;
|
|
@@ -199,19 +216,12 @@ export declare class BrowserController {
|
|
|
199
216
|
uploadFile(selector: string, filePath: string): Promise<void>;
|
|
200
217
|
click(selector: string): Promise<void>;
|
|
201
218
|
clickForce(selector: string, index?: number): Promise<void>;
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
handle: ElementHandle<Element>;
|
|
205
|
-
text: string;
|
|
206
|
-
safetySignals: PageTargetSafetySignals;
|
|
207
|
-
} | {
|
|
208
|
-
ok: false;
|
|
209
|
-
reason: "none" | "ambiguous";
|
|
210
|
-
candidates: string[];
|
|
211
|
-
}>;
|
|
219
|
+
private resolveTargetInContext;
|
|
220
|
+
resolvePageTarget(mode: "text" | "css", value: string, intent?: "click" | "type"): Promise<ResolvedPageTarget>;
|
|
212
221
|
private locatorClickState;
|
|
213
222
|
clickHandle(handle: ElementHandle<Element>): Promise<void>;
|
|
214
223
|
jsClickHandle(handle: ElementHandle<Element>): Promise<void>;
|
|
224
|
+
typeHandle(handle: ElementHandle<Element>, text: string, sealed?: boolean): Promise<void>;
|
|
215
225
|
clickViaJs(selector: string, index?: number): Promise<void>;
|
|
216
226
|
clickNth(selector: string, index: number): Promise<void>;
|
|
217
227
|
clickLinkByText(text: string, timeoutMs?: number): Promise<boolean>;
|
|
@@ -382,6 +392,16 @@ export declare class BrowserController {
|
|
|
382
392
|
private clearCloudflareCookiesAndRetry;
|
|
383
393
|
private forceNavigatePastClearedChallenge;
|
|
384
394
|
private pollUntilInterstitialClears;
|
|
395
|
+
private extractElementsFromContext;
|
|
396
|
+
private framePath;
|
|
397
|
+
private frameWithinCaptcha;
|
|
398
|
+
private frameSecurity;
|
|
399
|
+
private resolveFrame;
|
|
400
|
+
private resolveFrameElement;
|
|
401
|
+
private frameLabel;
|
|
402
|
+
clickInFrame(target: FrameTarget, selector: string): Promise<void>;
|
|
403
|
+
clickViaJsInFrame(target: FrameTarget, selector: string, index?: number): Promise<void>;
|
|
404
|
+
typeInFrame(target: FrameTarget, selector: string, text: string): Promise<void>;
|
|
385
405
|
extractInteractiveElements(): Promise<InteractiveElement[]>;
|
|
386
406
|
extractCheckoutFieldNames(): Promise<string[]>;
|
|
387
407
|
inspectSelector(selector: string): Promise<{
|
|
@@ -503,6 +523,10 @@ export interface InteractiveElement {
|
|
|
503
523
|
position: number;
|
|
504
524
|
total: number;
|
|
505
525
|
} | null;
|
|
526
|
+
frameOrigin?: string | null;
|
|
527
|
+
frameUrl?: string | null;
|
|
528
|
+
framePath?: string | null;
|
|
529
|
+
frameOpaque?: boolean;
|
|
506
530
|
}
|
|
507
531
|
export declare function assignCardRadioGroups(candidates: ReadonlyArray<{
|
|
508
532
|
parentId: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/bot/browser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/bot/browser.ts"],"names":[],"mappings":"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"}
|
package/dist/bot/browser.js
CHANGED
|
@@ -383,6 +383,12 @@ export function extractHcaptchaResponseKeyFromToken(token) {
|
|
|
383
383
|
}
|
|
384
384
|
return null;
|
|
385
385
|
}
|
|
386
|
+
// Hosts of known captcha-challenge iframes (Turnstile, reCAPTCHA, hCaptcha,
|
|
387
|
+
// Arkose/FunCaptcha). Shared between the per-navigation WebGL-spoof reapply
|
|
388
|
+
// (start(), below) and extractInteractiveElements' frame walk, which skips
|
|
389
|
+
// these frames — their content is handled by the dedicated captcha-gate flow,
|
|
390
|
+
// not surfaced as ordinary el_table rows.
|
|
391
|
+
const CAPTCHA_FRAME_HOST_RE = /(hcaptcha\.com|challenges\.cloudflare\.com|google\.com\/recaptcha|recaptcha\.net|arkoselabs\.com|funcaptcha\.com)/i;
|
|
386
392
|
// Map a cookie jar to the OAuth providers that have a LIVE logged-in session.
|
|
387
393
|
// The auth cookies that mean "signed in": GitHub → `user_session`; Google →
|
|
388
394
|
// any of the *SID session cookies (NID / CONSENT / 1P_JAR are set even when
|
|
@@ -1647,7 +1653,6 @@ export class BrowserController {
|
|
|
1647
1653
|
// frame.evaluate reaches a cross-origin frame's main world at the driver
|
|
1648
1654
|
// level (same path that wins the main-frame race), re-applied at
|
|
1649
1655
|
// navigation-commit before the captcha's scoring JS queries WebGL.
|
|
1650
|
-
const CAPTCHA_FRAME_RE = /(hcaptcha\.com|challenges\.cloudflare\.com|google\.com\/recaptcha|recaptcha\.net|arkoselabs\.com|funcaptcha\.com)/i;
|
|
1651
1656
|
// String probe (no compiled-fn __name shim needed): the UNMASKED renderer
|
|
1652
1657
|
// a captcha would read. Logged only under CAPTCHA_TRACE to prove the fix.
|
|
1653
1658
|
const RENDERER_PROBE = String.raw `(() => { try { const c = document.createElement("canvas"); const gl = c.getContext("webgl") || c.getContext("webgl2"); if (!gl) return "no-gl"; const e = gl.getExtension("WEBGL_debug_renderer_info"); return e ? String(gl.getParameter(e.UNMASKED_RENDERER_WEBGL)) : "no-ext"; } catch (err) { return "err:" + (err && err.message); } })()`;
|
|
@@ -1661,7 +1666,7 @@ export class BrowserController {
|
|
|
1661
1666
|
reapplyWebglSpoof();
|
|
1662
1667
|
return;
|
|
1663
1668
|
}
|
|
1664
|
-
if (!
|
|
1669
|
+
if (!CAPTCHA_FRAME_HOST_RE.test(frame.url()))
|
|
1665
1670
|
return;
|
|
1666
1671
|
const cfHost = (() => {
|
|
1667
1672
|
try {
|
|
@@ -2438,15 +2443,15 @@ export class BrowserController {
|
|
|
2438
2443
|
await this.page.locator(selector).nth(safeIndex).click({ force: true, timeout: 8000 });
|
|
2439
2444
|
}
|
|
2440
2445
|
// Resolve a locator-form operate_act target (`text=…` / `css=…`) DIRECTLY
|
|
2441
|
-
// against
|
|
2442
|
-
// escape hatch for a control the inventory never emitted: a bare
|
|
2443
|
-
// <div> with no role/label/testid that the SELECTOR walk skips
|
|
2444
|
-
//
|
|
2446
|
+
// against a live page/frame document, bypassing the extracted-inventory list.
|
|
2447
|
+
// This is the escape hatch for a control the inventory never emitted: a bare
|
|
2448
|
+
// click-handler <div> with no role/label/testid that the SELECTOR walk skips,
|
|
2449
|
+
// or a typeable control missing from the inventory. The card scan can also
|
|
2450
|
+
// drop a control once its MAX_CARDS budget is spent on earlier cursor:pointer
|
|
2445
2451
|
// divs (Casetify's Add-To-Cart is element #45 of the eligible cards; the cap is
|
|
2446
|
-
// 16).
|
|
2447
|
-
// way the host can click it.
|
|
2452
|
+
// 16). With no ref, `text=`/`css=` is the only host-addressable target.
|
|
2448
2453
|
//
|
|
2449
|
-
// Resolution rules (kept deliberately strict so the
|
|
2454
|
+
// Resolution rules (kept deliberately strict so the action can't land on the
|
|
2450
2455
|
// wrong element):
|
|
2451
2456
|
// • text mode — matches an element whose rendered text (innerText, so hidden
|
|
2452
2457
|
// descendants don't leak) equals (or, if nothing equals, contains) the
|
|
@@ -2462,11 +2467,12 @@ export class BrowserController {
|
|
|
2462
2467
|
// with the candidate texts so the host can disambiguate. Exactly 1 returns
|
|
2463
2468
|
// a live ElementHandle to the winner. The caller acts through the handle
|
|
2464
2469
|
// (never a DOM-visible marker), so a page MutationObserver cannot re-aim
|
|
2465
|
-
// the
|
|
2466
|
-
|
|
2470
|
+
// the action at a decoy between resolution and dispatch, and disposes it
|
|
2471
|
+
// after.
|
|
2472
|
+
async resolveTargetInContext(ctx, mode, value, intent) {
|
|
2467
2473
|
if (!this.page)
|
|
2468
2474
|
throw new Error("Browser not started");
|
|
2469
|
-
const resultHandle = await
|
|
2475
|
+
const resultHandle = await ctx.evaluateHandle(({ mode, value, intent }) => {
|
|
2470
2476
|
const norm = (s) => (s ?? "").replace(/\s+/g, " ").trim().toLowerCase();
|
|
2471
2477
|
// Rendered text, NOT textContent: innerText reflects what the user
|
|
2472
2478
|
// actually sees, excluding display:none / visibility:hidden descendants.
|
|
@@ -2556,6 +2562,24 @@ export class BrowserController {
|
|
|
2556
2562
|
return el.hasAttribute("onclick") || el.hasAttribute("action-type");
|
|
2557
2563
|
};
|
|
2558
2564
|
const hasClickAffordance = (el) => isStrong(el) || window.getComputedStyle(el).cursor === "pointer";
|
|
2565
|
+
const hasTypeAffordance = (el) => (el instanceof HTMLInputElement && el.type !== "hidden" && !el.disabled) ||
|
|
2566
|
+
(el instanceof HTMLTextAreaElement && !el.disabled) ||
|
|
2567
|
+
(el instanceof HTMLElement && el.isContentEditable);
|
|
2568
|
+
const typeLabel = (el) => {
|
|
2569
|
+
const labels = el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement
|
|
2570
|
+
? Array.from(el.labels ?? []).map((label) => renderedRaw(label))
|
|
2571
|
+
: [];
|
|
2572
|
+
return [
|
|
2573
|
+
...labels,
|
|
2574
|
+
el.getAttribute("aria-label") ?? "",
|
|
2575
|
+
el.getAttribute("placeholder") ?? "",
|
|
2576
|
+
el.getAttribute("name") ?? "",
|
|
2577
|
+
el.getAttribute("id") ?? "",
|
|
2578
|
+
renderedRaw(el),
|
|
2579
|
+
]
|
|
2580
|
+
.filter((part) => part.length > 0)
|
|
2581
|
+
.join(" ");
|
|
2582
|
+
};
|
|
2559
2583
|
// Gather candidates across the light DOM and every OPEN shadow root.
|
|
2560
2584
|
const all = [];
|
|
2561
2585
|
const collect = (root) => {
|
|
@@ -2584,7 +2608,7 @@ export class BrowserController {
|
|
|
2584
2608
|
collect(document);
|
|
2585
2609
|
let pool;
|
|
2586
2610
|
if (mode === "css") {
|
|
2587
|
-
pool = all.filter(isVisible);
|
|
2611
|
+
pool = all.filter((el) => isVisible(el) && (intent === "click" || hasTypeAffordance(el)));
|
|
2588
2612
|
}
|
|
2589
2613
|
else {
|
|
2590
2614
|
const want = norm(value);
|
|
@@ -2595,10 +2619,13 @@ export class BrowserController {
|
|
|
2595
2619
|
candidates: [],
|
|
2596
2620
|
text: "",
|
|
2597
2621
|
safetySignals: { billingObject: false, accountSetup: false },
|
|
2622
|
+
documentOrigin: location.origin,
|
|
2598
2623
|
};
|
|
2599
2624
|
}
|
|
2600
|
-
const affordable = all.filter((el) => isVisible(el) &&
|
|
2601
|
-
|
|
2625
|
+
const affordable = all.filter((el) => isVisible(el) &&
|
|
2626
|
+
(intent === "click" ? hasClickAffordance(el) : hasTypeAffordance(el)));
|
|
2627
|
+
const matchText = (el) => intent === "click" ? rendered(el) : norm(typeLabel(el));
|
|
2628
|
+
const exact = affordable.filter((el) => matchText(el) === want);
|
|
2602
2629
|
// Prefer exact-text matches; only fall back to "contains" (with a
|
|
2603
2630
|
// length guard so a big wrapper doesn't swallow the query) when no
|
|
2604
2631
|
// element's rendered text equals the query.
|
|
@@ -2606,7 +2633,7 @@ export class BrowserController {
|
|
|
2606
2633
|
exact.length > 0
|
|
2607
2634
|
? exact
|
|
2608
2635
|
: affordable.filter((el) => {
|
|
2609
|
-
const t =
|
|
2636
|
+
const t = matchText(el);
|
|
2610
2637
|
return t.includes(want) && t.length <= Math.max(80, want.length + 20);
|
|
2611
2638
|
});
|
|
2612
2639
|
}
|
|
@@ -2623,6 +2650,7 @@ export class BrowserController {
|
|
|
2623
2650
|
candidates: pool.slice(0, 8).map((el) => renderedRaw(el).slice(0, 60)),
|
|
2624
2651
|
text: "",
|
|
2625
2652
|
safetySignals: { billingObject: false, accountSetup: false },
|
|
2653
|
+
documentOrigin: location.origin,
|
|
2626
2654
|
};
|
|
2627
2655
|
}
|
|
2628
2656
|
// Collapse nesting WITHOUT silently merging two genuine controls. A
|
|
@@ -2656,13 +2684,15 @@ export class BrowserController {
|
|
|
2656
2684
|
candidates,
|
|
2657
2685
|
text: win !== null ? renderedRaw(win).slice(0, 120) : "",
|
|
2658
2686
|
safetySignals: win !== null ? safetySignalsFor(win) : { billingObject: false, accountSetup: false },
|
|
2687
|
+
documentOrigin: location.origin,
|
|
2659
2688
|
};
|
|
2660
|
-
}, { mode, value });
|
|
2689
|
+
}, { mode, value, intent });
|
|
2661
2690
|
const meta = await resultHandle.evaluate((r) => ({
|
|
2662
2691
|
count: r.count,
|
|
2663
2692
|
candidates: r.candidates,
|
|
2664
2693
|
text: r.text,
|
|
2665
2694
|
safetySignals: r.safetySignals,
|
|
2695
|
+
documentOrigin: r.documentOrigin,
|
|
2666
2696
|
}));
|
|
2667
2697
|
if (meta.count !== 1) {
|
|
2668
2698
|
await resultHandle.dispose();
|
|
@@ -2685,8 +2715,58 @@ export class BrowserController {
|
|
|
2685
2715
|
handle: asElement,
|
|
2686
2716
|
text: meta.text ?? "",
|
|
2687
2717
|
safetySignals: meta.safetySignals ?? { billingObject: false, accountSetup: false },
|
|
2718
|
+
documentOrigin: meta.documentOrigin,
|
|
2688
2719
|
};
|
|
2689
2720
|
}
|
|
2721
|
+
async resolvePageTarget(mode, value, intent = "click") {
|
|
2722
|
+
if (!this.page)
|
|
2723
|
+
throw new Error("Browser not started");
|
|
2724
|
+
const page = this.page;
|
|
2725
|
+
const matches = [];
|
|
2726
|
+
const candidates = [];
|
|
2727
|
+
for (const frame of page.frames()) {
|
|
2728
|
+
if (frame.isDetached())
|
|
2729
|
+
continue;
|
|
2730
|
+
const rawUrl = frame.url();
|
|
2731
|
+
if (frame !== page.mainFrame() && this.frameWithinCaptcha(frame))
|
|
2732
|
+
continue;
|
|
2733
|
+
const resolved = await this.resolveTargetInContext(frame, mode, value, intent).catch(() => null);
|
|
2734
|
+
if (resolved === null)
|
|
2735
|
+
continue;
|
|
2736
|
+
if (!resolved.ok) {
|
|
2737
|
+
if (resolved.reason === "ambiguous")
|
|
2738
|
+
candidates.push(...resolved.candidates);
|
|
2739
|
+
continue;
|
|
2740
|
+
}
|
|
2741
|
+
let frameTarget = null;
|
|
2742
|
+
if (frame !== page.mainFrame()) {
|
|
2743
|
+
try {
|
|
2744
|
+
const security = await this.frameSecurity(frame);
|
|
2745
|
+
frameTarget = {
|
|
2746
|
+
framePath: this.framePath(frame),
|
|
2747
|
+
frameOrigin: security.origin,
|
|
2748
|
+
frameUrl: rawUrl,
|
|
2749
|
+
...(security.opaque ? { frameOpaque: true } : {}),
|
|
2750
|
+
};
|
|
2751
|
+
}
|
|
2752
|
+
catch {
|
|
2753
|
+
await resolved.handle.dispose().catch(() => undefined);
|
|
2754
|
+
continue;
|
|
2755
|
+
}
|
|
2756
|
+
}
|
|
2757
|
+
matches.push({ ...resolved, frameTarget });
|
|
2758
|
+
candidates.push(resolved.text);
|
|
2759
|
+
}
|
|
2760
|
+
if (matches.length !== 1 || candidates.length > 1) {
|
|
2761
|
+
await Promise.all(matches.map((match) => match.handle.dispose().catch(() => undefined)));
|
|
2762
|
+
return {
|
|
2763
|
+
ok: false,
|
|
2764
|
+
reason: candidates.length === 0 ? "none" : "ambiguous",
|
|
2765
|
+
candidates: candidates.slice(0, 8),
|
|
2766
|
+
};
|
|
2767
|
+
}
|
|
2768
|
+
return { ok: true, ...matches[0] };
|
|
2769
|
+
}
|
|
2690
2770
|
async locatorClickState(handle) {
|
|
2691
2771
|
return await handle.evaluate((el) => {
|
|
2692
2772
|
if (!el.isConnected)
|
|
@@ -2755,6 +2835,18 @@ export class BrowserController {
|
|
|
2755
2835
|
throw new Error("locator target is disabled");
|
|
2756
2836
|
}
|
|
2757
2837
|
}
|
|
2838
|
+
async typeHandle(handle, text, sealed = false) {
|
|
2839
|
+
if (sealed) {
|
|
2840
|
+
await handle.evaluate((el) => el.setAttribute("data-ts-sealed-payment", "1"));
|
|
2841
|
+
}
|
|
2842
|
+
if (!this.humanize) {
|
|
2843
|
+
await handle.fill(text);
|
|
2844
|
+
return;
|
|
2845
|
+
}
|
|
2846
|
+
await handle.click({ timeout: 8000 }).catch(() => undefined);
|
|
2847
|
+
await handle.fill("").catch(() => undefined);
|
|
2848
|
+
await handle.type(text, { delay: rand(40, 110) });
|
|
2849
|
+
}
|
|
2758
2850
|
// Dispatch a DOM .click() in the page context. Some React copy buttons fire
|
|
2759
2851
|
// their onClick (and thus navigator.clipboard.writeText) on the synthetic
|
|
2760
2852
|
// event a real Playwright mouse click doesn't reliably reproduce (deepinfra's
|
|
@@ -7390,10 +7482,16 @@ export class BrowserController {
|
|
|
7390
7482
|
// selector strings. Selectors prefer #id then [name] — Playwright's
|
|
7391
7483
|
// CSS engine pierces open shadow roots, so those resolve for
|
|
7392
7484
|
// shadow-DOM fields too.
|
|
7393
|
-
|
|
7394
|
-
|
|
7395
|
-
|
|
7396
|
-
|
|
7485
|
+
// The DOM-walk + extraction logic, generalized to run against ANY frame
|
|
7486
|
+
// context (the main page or a child <iframe>'s own Frame) — Playwright's
|
|
7487
|
+
// Frame.evaluate reaches a cross-origin frame's main world at the CDP level,
|
|
7488
|
+
// the same primitive isPayPalHostedCheckout/fillAndSubmitCheckout/
|
|
7489
|
+
// detectThreeDsChallenge already use to read/fill cross-origin PSP fields.
|
|
7490
|
+
// Pulled out of extractInteractiveElements (below) so that method can call
|
|
7491
|
+
// it once for the main frame and once per child frame, tagging each result
|
|
7492
|
+
// with where it came from.
|
|
7493
|
+
async extractElementsFromContext(ctx) {
|
|
7494
|
+
return await ctx.evaluate(() => {
|
|
7397
7495
|
const SELECTOR =
|
|
7398
7496
|
// rc.26 — added Radix/Headless-UI menu + option items so
|
|
7399
7497
|
// dropdown contents (Fireworks "Create API Key" → API Key /
|
|
@@ -7990,15 +8088,210 @@ export class BrowserController {
|
|
|
7990
8088
|
occludedBy: status.occludedBy,
|
|
7991
8089
|
});
|
|
7992
8090
|
}
|
|
7993
|
-
return { out, clusterMeta };
|
|
8091
|
+
return { out, clusterMeta, documentOrigin: location.origin };
|
|
7994
8092
|
});
|
|
7995
|
-
|
|
7996
|
-
|
|
7997
|
-
|
|
8093
|
+
}
|
|
8094
|
+
framePath(frame) {
|
|
8095
|
+
const indexes = [];
|
|
8096
|
+
let current = frame;
|
|
8097
|
+
while (current !== null) {
|
|
8098
|
+
const parent = current.parentFrame();
|
|
8099
|
+
if (parent === null)
|
|
8100
|
+
break;
|
|
8101
|
+
const index = parent.childFrames().indexOf(current);
|
|
8102
|
+
if (index < 0)
|
|
8103
|
+
return "";
|
|
8104
|
+
indexes.unshift(index);
|
|
8105
|
+
current = parent;
|
|
8106
|
+
}
|
|
8107
|
+
return indexes.join("/");
|
|
8108
|
+
}
|
|
8109
|
+
frameWithinCaptcha(frame) {
|
|
8110
|
+
let current = frame;
|
|
8111
|
+
while (current !== null) {
|
|
8112
|
+
if (CAPTCHA_FRAME_HOST_RE.test(current.url()))
|
|
8113
|
+
return true;
|
|
8114
|
+
current = current.parentFrame();
|
|
8115
|
+
}
|
|
8116
|
+
return false;
|
|
8117
|
+
}
|
|
8118
|
+
frameSecurity(frame) {
|
|
8119
|
+
const url = frame.url();
|
|
8120
|
+
if (url === "" || url === "about:blank" || url === "about:srcdoc") {
|
|
8121
|
+
return { origin: "null", opaque: true };
|
|
8122
|
+
}
|
|
8123
|
+
const origin = new URL(url).origin;
|
|
8124
|
+
return origin === "null" ? { origin: "null", opaque: true } : { origin, opaque: false };
|
|
8125
|
+
}
|
|
8126
|
+
// Resolve a previously-tagged frame path back to its live Playwright Frame —
|
|
8127
|
+
// used by the frame-aware act helpers below (clickInFrame/typeInFrame/
|
|
8128
|
+
// clickViaJsInFrame) to act on an element extractInteractiveElements found
|
|
8129
|
+
// inside a child <iframe>. Returns null when the frame has since navigated
|
|
8130
|
+
// or detached (a fresh observe/extract picks up whatever replaced it); the
|
|
8131
|
+
// caller surfaces that as a normal "target not found" error, never a
|
|
8132
|
+
// silent wrong-frame action.
|
|
8133
|
+
resolveFrame(target) {
|
|
8134
|
+
if (!this.page)
|
|
8135
|
+
return null;
|
|
8136
|
+
let frame = this.page.mainFrame();
|
|
8137
|
+
for (const part of target.framePath.split("/")) {
|
|
8138
|
+
if (!/^\d+$/.test(part))
|
|
8139
|
+
return null;
|
|
8140
|
+
const child = frame.childFrames()[Number.parseInt(part, 10)];
|
|
8141
|
+
if (child === undefined)
|
|
8142
|
+
return null;
|
|
8143
|
+
frame = child;
|
|
8144
|
+
}
|
|
8145
|
+
if (frame.isDetached())
|
|
8146
|
+
return null;
|
|
8147
|
+
return frame;
|
|
8148
|
+
}
|
|
8149
|
+
async resolveFrameElement(target, selector, index = 0) {
|
|
8150
|
+
const frame = this.resolveFrame(target);
|
|
8151
|
+
if (frame === null || this.frameWithinCaptcha(frame))
|
|
8152
|
+
return null;
|
|
8153
|
+
const handle = await frame
|
|
8154
|
+
.locator(selector)
|
|
8155
|
+
.nth(Math.max(0, Math.floor(index)))
|
|
8156
|
+
.elementHandle({ timeout: 8000 })
|
|
8157
|
+
.catch(() => null);
|
|
8158
|
+
if (handle === null)
|
|
8159
|
+
return null;
|
|
8160
|
+
try {
|
|
8161
|
+
const security = await this.frameSecurity(frame);
|
|
8162
|
+
await handle.evaluate((element) => element.isConnected);
|
|
8163
|
+
const expectedOpaque = target.frameOpaque === true || target.frameOrigin === "null";
|
|
8164
|
+
const matches = expectedOpaque
|
|
8165
|
+
? security.opaque
|
|
8166
|
+
: !security.opaque && security.origin === target.frameOrigin;
|
|
8167
|
+
if (!matches) {
|
|
8168
|
+
await handle.dispose().catch(() => undefined);
|
|
8169
|
+
return null;
|
|
8170
|
+
}
|
|
8171
|
+
return handle;
|
|
8172
|
+
}
|
|
8173
|
+
catch {
|
|
8174
|
+
await handle.dispose().catch(() => undefined);
|
|
8175
|
+
return null;
|
|
8176
|
+
}
|
|
8177
|
+
}
|
|
8178
|
+
frameLabel(target) {
|
|
8179
|
+
return target.frameOrigin;
|
|
8180
|
+
}
|
|
8181
|
+
// Frame-scoped click. Deliberately simpler than click() above (no radio/
|
|
8182
|
+
// checkbox/aria-toggle special-casing) — it's the escape hatch for a
|
|
8183
|
+
// control that lives inside an <iframe>, mirroring how resolvePageTarget is
|
|
8184
|
+
// the escape hatch for a control missing from the main-frame inventory.
|
|
8185
|
+
// Plain Playwright locator actions cover the money-path case this exists
|
|
8186
|
+
// for (a merchant's own same-domain checkout options rendered in an
|
|
8187
|
+
// iframe), the same primitives fillAndSubmitCheckout already relies on for
|
|
8188
|
+
// cross-origin PSP fields.
|
|
8189
|
+
async clickInFrame(target, selector) {
|
|
8190
|
+
const handle = await this.resolveFrameElement(target, selector);
|
|
8191
|
+
if (handle === null) {
|
|
8192
|
+
throw new Error(`click: the target's frame is no longer present (${this.frameLabel(target)})`);
|
|
8193
|
+
}
|
|
8194
|
+
try {
|
|
8195
|
+
await handle.click({ timeout: 8000 });
|
|
8196
|
+
}
|
|
8197
|
+
finally {
|
|
8198
|
+
await handle.dispose().catch(() => undefined);
|
|
8199
|
+
}
|
|
8200
|
+
}
|
|
8201
|
+
async clickViaJsInFrame(target, selector, index = 0) {
|
|
8202
|
+
const handle = await this.resolveFrameElement(target, selector, index);
|
|
8203
|
+
if (handle === null) {
|
|
8204
|
+
throw new Error(`js_click: the target's frame is no longer present (${this.frameLabel(target)})`);
|
|
8205
|
+
}
|
|
8206
|
+
try {
|
|
8207
|
+
await handle.evaluate((el) => el.click());
|
|
8208
|
+
}
|
|
8209
|
+
finally {
|
|
8210
|
+
await handle.dispose().catch(() => undefined);
|
|
8211
|
+
}
|
|
8212
|
+
}
|
|
8213
|
+
// Frame-scoped type/fill, for type and (guarded, see provision-session.ts)
|
|
8214
|
+
// type_secret targets that resolve into a frame. Same humanized-vs-fast
|
|
8215
|
+
// split as type() above, without the multi-input-OTP auto-advance nuance —
|
|
8216
|
+
// out of scope for the checkout-option case this exists for.
|
|
8217
|
+
async typeInFrame(target, selector, text) {
|
|
8218
|
+
const handle = await this.resolveFrameElement(target, selector);
|
|
8219
|
+
if (handle === null) {
|
|
8220
|
+
throw new Error(`type: the target's frame is no longer present (${this.frameLabel(target)})`);
|
|
8221
|
+
}
|
|
8222
|
+
try {
|
|
8223
|
+
await handle.waitForElementState("visible", { timeout: 10000 });
|
|
8224
|
+
if (!this.humanize) {
|
|
8225
|
+
await handle.fill(text);
|
|
8226
|
+
return;
|
|
8227
|
+
}
|
|
8228
|
+
await handle.click({ timeout: 8000 }).catch(() => undefined);
|
|
8229
|
+
await handle.fill("").catch(() => undefined);
|
|
8230
|
+
await handle.type(text, { delay: rand(40, 110) });
|
|
8231
|
+
}
|
|
8232
|
+
finally {
|
|
8233
|
+
await handle.dispose().catch(() => undefined);
|
|
8234
|
+
}
|
|
8235
|
+
}
|
|
8236
|
+
async extractInteractiveElements() {
|
|
8237
|
+
if (!this.page)
|
|
8238
|
+
throw new Error("Browser not started");
|
|
8239
|
+
const page = this.page;
|
|
8240
|
+
const mainRaw = await this.extractElementsFromContext(page);
|
|
8241
|
+
const mainGroups = assignCardRadioGroups(mainRaw.clusterMeta);
|
|
8242
|
+
const mainElements = mainRaw.out.map((e, i) => ({
|
|
7998
8243
|
...e,
|
|
7999
|
-
|
|
8000
|
-
|
|
8244
|
+
cardRadioGroup: mainGroups[i] ?? null,
|
|
8245
|
+
frameOrigin: null,
|
|
8246
|
+
frameUrl: null,
|
|
8247
|
+
framePath: null,
|
|
8001
8248
|
}));
|
|
8249
|
+
// Cross-frame support — surface elements inside child <iframe>s (same- AND
|
|
8250
|
+
// cross-origin), each tagged with the frame's own origin/url so a caller
|
|
8251
|
+
// can apply domain-lock/secret-fill guards against the ELEMENT's real
|
|
8252
|
+
// origin, never the top page's (see frameTargetAllowed in
|
|
8253
|
+
// provision-session.ts — the load-bearing reason this tag exists at
|
|
8254
|
+
// all). Nothing is flattened away: every frame element keeps its origin.
|
|
8255
|
+
// page.frames() is already flat (it includes nested frames, not just
|
|
8256
|
+
// direct children) — the same primitive isPayPalHostedCheckout/
|
|
8257
|
+
// fillAndSubmitCheckout/detectThreeDsChallenge use to reach cross-origin
|
|
8258
|
+
// frame content.
|
|
8259
|
+
const framedElements = [];
|
|
8260
|
+
for (const frame of page.frames()) {
|
|
8261
|
+
if (frame === page.mainFrame() || frame.isDetached())
|
|
8262
|
+
continue;
|
|
8263
|
+
const frameUrl = frame.url();
|
|
8264
|
+
// Captcha challenge iframes are handled by the dedicated captcha-gate
|
|
8265
|
+
// flow, not by ordinary ref-based clicking — surfacing their internal
|
|
8266
|
+
// DOM as el_table rows would invite the planner to poke at the
|
|
8267
|
+
// challenge instead of going through that flow. Skip them; nothing
|
|
8268
|
+
// else about captcha handling changes.
|
|
8269
|
+
if (this.frameWithinCaptcha(frame))
|
|
8270
|
+
continue;
|
|
8271
|
+
try {
|
|
8272
|
+
const raw = await this.extractElementsFromContext(frame);
|
|
8273
|
+
const security = await this.frameSecurity(frame);
|
|
8274
|
+
const frameOrigin = security.origin;
|
|
8275
|
+
const groups = assignCardRadioGroups(raw.clusterMeta);
|
|
8276
|
+
for (const [i, e] of raw.out.entries()) {
|
|
8277
|
+
framedElements.push({
|
|
8278
|
+
...e,
|
|
8279
|
+
cardRadioGroup: groups[i] ?? null,
|
|
8280
|
+
frameOrigin,
|
|
8281
|
+
frameUrl,
|
|
8282
|
+
framePath: this.framePath(frame),
|
|
8283
|
+
...(security.opaque ? { frameOpaque: true } : {}),
|
|
8284
|
+
});
|
|
8285
|
+
}
|
|
8286
|
+
}
|
|
8287
|
+
catch {
|
|
8288
|
+
// Cross-origin frame mid-navigation, torn down, or otherwise
|
|
8289
|
+
// unreachable this instant — best-effort; the next observe retries.
|
|
8290
|
+
}
|
|
8291
|
+
}
|
|
8292
|
+
// T38 index is assigned ONCE, after merging, so it stays a stable,
|
|
8293
|
+
// collision-free ordinal across the whole combined set.
|
|
8294
|
+
return [...mainElements, ...framedElements].map((e, i) => ({ ...e, index: i }));
|
|
8002
8295
|
}
|
|
8003
8296
|
// replay-per-leg-signature — the checkout-leg shape signature (see
|
|
8004
8297
|
// checkoutFieldSetSignature in @trusty-squire/recipe-schema) is computed
|