@enricai/barnacle 1.12.35 → 1.12.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/lib/llm/schemas.d.ts +2 -0
  2. package/dist/lib/llm/schemas.d.ts.map +1 -1
  3. package/dist/lib/llm/schemas.js +8 -0
  4. package/dist/lib/llm/schemas.js.map +1 -1
  5. package/dist/lib/tracking-click.d.ts.map +1 -1
  6. package/dist/lib/tracking-click.js +3 -2
  7. package/dist/lib/tracking-click.js.map +1 -1
  8. package/dist/plugins/config-plugin.d.ts +1 -0
  9. package/dist/plugins/config-plugin.d.ts.map +1 -1
  10. package/dist/plugins/config-plugin.js +3 -0
  11. package/dist/plugins/config-plugin.js.map +1 -1
  12. package/dist/scraper/captcha-callback-capture.d.ts +22 -0
  13. package/dist/scraper/captcha-callback-capture.d.ts.map +1 -0
  14. package/dist/scraper/captcha-callback-capture.js +91 -0
  15. package/dist/scraper/captcha-callback-capture.js.map +1 -0
  16. package/dist/scraper/errors.d.ts +4 -1
  17. package/dist/scraper/errors.d.ts.map +1 -1
  18. package/dist/scraper/errors.js +3 -0
  19. package/dist/scraper/errors.js.map +1 -1
  20. package/dist/scraper/flow-runner.d.ts +64 -38
  21. package/dist/scraper/flow-runner.d.ts.map +1 -1
  22. package/dist/scraper/flow-runner.js +210 -110
  23. package/dist/scraper/flow-runner.js.map +1 -1
  24. package/dist/scraper/session.d.ts.map +1 -1
  25. package/dist/scraper/session.js +7 -5
  26. package/dist/scraper/session.js.map +1 -1
  27. package/dist/scraper/spa-readiness.d.ts +28 -0
  28. package/dist/scraper/spa-readiness.d.ts.map +1 -0
  29. package/dist/scraper/spa-readiness.js +57 -0
  30. package/dist/scraper/spa-readiness.js.map +1 -0
  31. package/dist/scripts/recon-browser.d.ts +5 -0
  32. package/dist/scripts/recon-browser.d.ts.map +1 -1
  33. package/dist/scripts/recon-browser.js +64 -69
  34. package/dist/scripts/recon-browser.js.map +1 -1
  35. package/dist/scripts/recon-generate.d.ts +10 -0
  36. package/dist/scripts/recon-generate.d.ts.map +1 -1
  37. package/dist/scripts/recon-generate.js +50 -14
  38. package/dist/scripts/recon-generate.js.map +1 -1
  39. package/package.json +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/scraper/session.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGtF,YAAY,EACV,8BAA8B,EAC9B,cAAc,EACd,qBAAqB,EACrB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC,CAShG"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/scraper/session.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGtF,YAAY,EACV,8BAA8B,EAC9B,cAAc,EACd,qBAAqB,EACrB,YAAY,GACb,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC,CAWhG"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createBrowserSession = createBrowserSession;
4
4
  const config_1 = require("../config");
5
+ const captcha_callback_capture_1 = require("../scraper/captcha-callback-capture");
5
6
  const session_browserbase_1 = require("../scraper/session-browserbase");
6
7
  const session_steel_1 = require("../scraper/session-steel");
7
8
  /**
@@ -23,12 +24,13 @@ const session_steel_1 = require("../scraper/session-steel");
23
24
  */
24
25
  async function createBrowserSession(opts) {
25
26
  const provider = opts?.provider ?? config_1.config.scraper.provider;
26
- if (provider === "browserbase") {
27
- return (0, session_browserbase_1.createBrowserbaseBrowserSession)({
27
+ const session = provider === "browserbase"
28
+ ? await (0, session_browserbase_1.createBrowserbaseBrowserSession)({
28
29
  advancedStealth: opts?.advancedStealth,
29
30
  browserbaseSessionCreateParams: opts?.browserbaseSessionCreateParams,
30
- });
31
- }
32
- return (0, session_steel_1.createSteelBrowserSession)();
31
+ })
32
+ : await (0, session_steel_1.createSteelBrowserSession)();
33
+ await session.stagehand.context.addInitScript((0, captcha_callback_capture_1.buildHcaptchaCallbackCaptureScript)());
34
+ return session;
33
35
  }
34
36
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/scraper/session.ts"],"names":[],"mappings":";;;AAAA,qCAAkC;AAClC,uEAAgF;AAEhF,2DAAoE;AASpE;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,+BAA+B,IAA4B;IACrE,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,eAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC3D,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC/B,OAAO,IAAA,qDAA+B,EAAC;YACrC,eAAe,EAAE,IAAI,EAAE,eAAe;YACtC,8BAA8B,EAAE,IAAI,EAAE,8BAA8B;SACrE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAA,yCAAyB,GAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/scraper/session.ts"],"names":[],"mappings":";;;AAAA,qCAAkC;AAClC,iFAAwF;AACxF,uEAAgF;AAEhF,2DAAoE;AASpE;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,+BAA+B,IAA4B;IACrE,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,eAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC3D,MAAM,OAAO,GACX,QAAQ,KAAK,aAAa;QACxB,CAAC,CAAC,MAAM,IAAA,qDAA+B,EAAC;YACpC,eAAe,EAAE,IAAI,EAAE,eAAe;YACtC,8BAA8B,EAAE,IAAI,EAAE,8BAA8B;SACrE,CAAC;QACJ,CAAC,CAAC,MAAM,IAAA,yCAAyB,GAAE,CAAC;IACxC,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,IAAA,6DAAkC,GAAE,CAAC,CAAC;IACpF,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { Page } from "@browserbasehq/stagehand";
2
+ import type { Logger } from "../types/logging";
3
+ /**
4
+ * Block until a just-navigated SPA has actually hydrated, so the flow does not
5
+ * begin stepping against a shell page. `page.goto(..., "networkidle")` on a
6
+ * bot-managed/CDN-fronted single-page app resolves during the challenge/redirect —
7
+ * before the client framework renders the real DOM — so the first steps would
8
+ * otherwise probe an empty page, find no candidates, and (being optional) skip
9
+ * the entire flow. The recon CLI has this gate inline; generated plugins call it
10
+ * here so they inherit the same behavior. Polls `document.body.outerHTML.length`
11
+ * up to a threshold, then proceeds regardless (best-effort, never throws).
12
+ *
13
+ * Each `document.body.outerHTML.length` read is itself bounded by a watchdog
14
+ * (capped to one poll interval) and treated as "still 0 chars" on timeout —
15
+ * same pattern as `waitForChildFrameReady`'s `isReady()` probe. Without this,
16
+ * a single wedged CDP round-trip inside `readBodyLength` would pend forever
17
+ * and the `while (Date.now() < deadline)` loop below would never be
18
+ * re-entered, defeating the very deadline it exists to enforce.
19
+ * `page.waitForTimeout(pollMs)` is left unguarded: it is a plain delay (no
20
+ * DOM/network read whose response can be lost), so it does not carry the
21
+ * "wedged read" failure mode this fix targets.
22
+ */
23
+ export declare function waitForSpaReady(page: Page, logger: Logger, opts?: {
24
+ timeoutMs?: number;
25
+ pollMs?: number;
26
+ minBodyLength?: number;
27
+ }): Promise<void>;
28
+ //# sourceMappingURL=spa-readiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spa-readiness.d.ts","sourceRoot":"","sources":["../../src/scraper/spa-readiness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAGrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAO9C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GACzE,OAAO,CAAC,IAAI,CAAC,CAkCf"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.waitForSpaReady = waitForSpaReady;
4
+ const watchdog_1 = require("../scraper/watchdog");
5
+ /** SPA-readiness gate defaults — match the recon CLI's post-navigation wait. */
6
+ const SPA_READINESS_TIMEOUT_MS = 15_000;
7
+ const SPA_READINESS_POLL_MS = 500;
8
+ const SPA_MIN_BODY_LENGTH = 5_000;
9
+ /**
10
+ * Block until a just-navigated SPA has actually hydrated, so the flow does not
11
+ * begin stepping against a shell page. `page.goto(..., "networkidle")` on a
12
+ * bot-managed/CDN-fronted single-page app resolves during the challenge/redirect —
13
+ * before the client framework renders the real DOM — so the first steps would
14
+ * otherwise probe an empty page, find no candidates, and (being optional) skip
15
+ * the entire flow. The recon CLI has this gate inline; generated plugins call it
16
+ * here so they inherit the same behavior. Polls `document.body.outerHTML.length`
17
+ * up to a threshold, then proceeds regardless (best-effort, never throws).
18
+ *
19
+ * Each `document.body.outerHTML.length` read is itself bounded by a watchdog
20
+ * (capped to one poll interval) and treated as "still 0 chars" on timeout —
21
+ * same pattern as `waitForChildFrameReady`'s `isReady()` probe. Without this,
22
+ * a single wedged CDP round-trip inside `readBodyLength` would pend forever
23
+ * and the `while (Date.now() < deadline)` loop below would never be
24
+ * re-entered, defeating the very deadline it exists to enforce.
25
+ * `page.waitForTimeout(pollMs)` is left unguarded: it is a plain delay (no
26
+ * DOM/network read whose response can be lost), so it does not carry the
27
+ * "wedged read" failure mode this fix targets.
28
+ */
29
+ async function waitForSpaReady(page, logger, opts = {}) {
30
+ const timeoutMs = opts.timeoutMs ?? SPA_READINESS_TIMEOUT_MS;
31
+ const pollMs = opts.pollMs ?? SPA_READINESS_POLL_MS;
32
+ const minBodyLength = opts.minBodyLength ?? SPA_MIN_BODY_LENGTH;
33
+ const bodyLengthExpr = "document.body ? document.body.outerHTML.length : 0";
34
+ const readBodyLength = async () => {
35
+ const raw = await (0, watchdog_1.withWatchdog)(() => page.evaluate(bodyLengthExpr), {
36
+ timeoutMs: pollMs,
37
+ label: "flow-runner: spa readiness body-length probe",
38
+ }).catch(() => 0);
39
+ return typeof raw === "number" ? raw : 0;
40
+ };
41
+ let bodyLength = await readBodyLength();
42
+ if (bodyLength >= minBodyLength) {
43
+ return;
44
+ }
45
+ logger.info(`spa readiness: body ${bodyLength} chars < ${minBodyLength} threshold — waiting for SPA to render`);
46
+ const deadline = Date.now() + timeoutMs;
47
+ while (Date.now() < deadline) {
48
+ await page.waitForTimeout(pollMs);
49
+ bodyLength = await readBodyLength();
50
+ if (bodyLength >= minBodyLength) {
51
+ logger.info(`spa readiness: body grew to ${bodyLength} chars — SPA rendered`);
52
+ return;
53
+ }
54
+ }
55
+ logger.warn(`spa readiness: body still ${bodyLength} chars after ${timeoutMs}ms — proceeding with possibly incomplete page`);
56
+ }
57
+ //# sourceMappingURL=spa-readiness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spa-readiness.js","sourceRoot":"","sources":["../../src/scraper/spa-readiness.ts"],"names":[],"mappings":";;;AAEA,iDAAkD;AAGlD,gFAAgF;AAChF,MAAM,wBAAwB,GAAG,MAAM,CAAC;AACxC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAClC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAElC;;;;;;;;;;;;;;;;;;;GAmBG;AACI,KAAK,0BACV,IAAU,EACV,MAAc,EACd,IAAI,GAAoE,EAAE;IAE1E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,wBAAwB,CAAC;IAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,qBAAqB,CAAC;IACpD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,mBAAmB,CAAC;IAChE,MAAM,cAAc,GAAG,oDAAoD,CAAC;IAE5E,MAAM,cAAc,GAAG,KAAK,IAAqB,EAAE;QACjD,MAAM,GAAG,GAAG,MAAM,IAAA,uBAAY,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YAClE,SAAS,EAAE,MAAM;YACjB,KAAK,EAAE,8CAA8C;SACtD,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAClB,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,IAAI,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC;IACxC,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IAED,MAAM,CAAC,IAAI,CACT,uBAAuB,UAAU,YAAY,aAAa,wCAAwC,CACnG,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAClC,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC;QACpC,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,+BAA+B,UAAU,uBAAuB,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;IACH,CAAC;IACD,MAAM,CAAC,IAAI,CACT,6BAA6B,UAAU,gBAAgB,SAAS,+CAA+C,CAChH,CAAC;AACJ,CAAC"}
@@ -197,6 +197,7 @@ declare const RECON_FLOW_SCHEMA: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.
197
197
  }>>;
198
198
  timeoutMs: z.ZodOptional<z.ZodNumber>;
199
199
  }, z.core.$strip>>;
200
+ navigateTo: z.ZodOptional<z.ZodString>;
200
201
  payloadField: z.ZodOptional<z.ZodString>;
201
202
  payloadFieldNone: z.ZodOptional<z.ZodBoolean>;
202
203
  targetId: z.ZodOptional<z.ZodString>;
@@ -251,6 +252,7 @@ export declare const RECON_FLOW_FILE_SCHEMA: z.ZodUnion<readonly [z.ZodArray<z.Z
251
252
  }>>;
252
253
  timeoutMs: z.ZodOptional<z.ZodNumber>;
253
254
  }, z.core.$strip>>;
255
+ navigateTo: z.ZodOptional<z.ZodString>;
254
256
  payloadField: z.ZodOptional<z.ZodString>;
255
257
  payloadFieldNone: z.ZodOptional<z.ZodBoolean>;
256
258
  targetId: z.ZodOptional<z.ZodString>;
@@ -280,6 +282,7 @@ export declare const RECON_FLOW_FILE_SCHEMA: z.ZodUnion<readonly [z.ZodArray<z.Z
280
282
  }>>;
281
283
  timeoutMs: z.ZodOptional<z.ZodNumber>;
282
284
  }, z.core.$strip>>;
285
+ navigateTo: z.ZodOptional<z.ZodString>;
283
286
  payloadField: z.ZodOptional<z.ZodString>;
284
287
  payloadFieldNone: z.ZodOptional<z.ZodBoolean>;
285
288
  targetId: z.ZodOptional<z.ZodString>;
@@ -328,6 +331,7 @@ interface NormalizedStep {
328
331
  payloadFieldNone?: boolean;
329
332
  targetId?: string;
330
333
  origin: "original" | "replan";
334
+ navigateTo?: string;
331
335
  }
332
336
  declare function normalizeFlow(steps: z.infer<typeof RECON_FLOW_SCHEMA>): NormalizedStep[];
333
337
  /**
@@ -348,6 +352,7 @@ declare function denormalizeStep(step: NormalizedStep): string | {
348
352
  payloadFieldNone?: true;
349
353
  targetId?: string;
350
354
  origin?: "replan";
355
+ navigateTo?: string;
351
356
  };
352
357
  /**
353
358
  * Order-independent structural dedup: drops any item byte-identical to an
@@ -1 +1 @@
1
- {"version":3,"file":"recon-browser.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recon-browser.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-browser.ts"],"names":[],"mappings":"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"}
@@ -98,6 +98,7 @@ const frame_target_1 = require("../scraper/frame-target");
98
98
  const retry_1 = require("../scraper/retry");
99
99
  const session_1 = require("../scraper/session");
100
100
  const session_teardown_1 = require("../scraper/session-teardown");
101
+ const spa_readiness_1 = require("../scraper/spa-readiness");
101
102
  const stagehand_guard_1 = require("../scraper/stagehand-guard");
102
103
  const watchdog_1 = require("../scraper/watchdog");
103
104
  const judge_llm_batch_1 = require("../scripts/judge-llm-batch");
@@ -663,6 +664,7 @@ function normalizeFlow(steps) {
663
664
  targetId: s.targetId,
664
665
  // Preserve a persisted replan marker across runs; absence = authored.
665
666
  origin: s.origin ?? "original",
667
+ navigateTo: s.navigateTo,
666
668
  });
667
669
  }
668
670
  /**
@@ -693,11 +695,12 @@ function substituteFlowEnvVars(steps) {
693
695
  */
694
696
  function denormalizeStep(step) {
695
697
  const hasSplicerHint = step.payloadField !== undefined || step.payloadFieldNone === true;
696
- // targetId and a "replan" origin are load-bearing identity that must survive
697
- // the round-trip, so a step carrying either is forced to object form even when
698
- // it has no flags. Authored ("original") origin stays implicit — persisting it
699
- // on every step would needlessly object-ify the whole flow file.
700
- const hasIdentity = step.targetId !== undefined || step.origin === "replan";
698
+ // targetId, a "replan" origin, and navigateTo are load-bearing identity that
699
+ // must survive the round-trip, so a step carrying any of them is forced to
700
+ // object form even when it has no flags. Authored ("original") origin stays
701
+ // implicit — persisting it on every step would needlessly object-ify the
702
+ // whole flow file.
703
+ const hasIdentity = step.targetId !== undefined || step.origin === "replan" || step.navigateTo !== undefined;
701
704
  if (!step.optional &&
702
705
  !step.upload &&
703
706
  !step.submitStep &&
@@ -730,6 +733,8 @@ function denormalizeStep(step) {
730
733
  out.targetId = step.targetId;
731
734
  if (step.origin === "replan")
732
735
  out.origin = "replan";
736
+ if (step.navigateTo !== undefined)
737
+ out.navigateTo = step.navigateTo;
733
738
  return out;
734
739
  }
735
740
  /**
@@ -1828,29 +1833,7 @@ async function main() {
1828
1833
  logger.warn(`navigation wait (${GOTO_WAIT_UNTIL}) did not settle: ${(0, errors_1.toErrorMessage)(err)} — continuing; the SPA readiness probe below decides whether the page is usable`);
1829
1834
  }
1830
1835
  await snapshotAndPersistCookieJar(page, jarCounter, "goto", currentPhase, -1);
1831
- const SPA_READINESS_TIMEOUT_MS = 15_000;
1832
- const SPA_READINESS_POLL_MS = 500;
1833
- const SPA_MIN_BODY_LENGTH = 5_000;
1834
- const spaDeadline = Date.now() + SPA_READINESS_TIMEOUT_MS;
1835
- let bodyLength = await page
1836
- .evaluate("document.body ? document.body.outerHTML.length : 0")
1837
- .catch(() => 0);
1838
- if (typeof bodyLength === "number" && bodyLength < SPA_MIN_BODY_LENGTH) {
1839
- logger.info(`spa readiness: body ${bodyLength} chars < ${SPA_MIN_BODY_LENGTH} threshold — waiting for SPA to render`);
1840
- while (Date.now() < spaDeadline) {
1841
- await new Promise((r) => setTimeout(r, SPA_READINESS_POLL_MS));
1842
- bodyLength = await page
1843
- .evaluate("document.body ? document.body.outerHTML.length : 0")
1844
- .catch(() => 0);
1845
- if (typeof bodyLength === "number" && bodyLength >= SPA_MIN_BODY_LENGTH) {
1846
- logger.info(`spa readiness: body grew to ${bodyLength} chars — SPA rendered`);
1847
- break;
1848
- }
1849
- }
1850
- if (typeof bodyLength === "number" && bodyLength < SPA_MIN_BODY_LENGTH) {
1851
- logger.warn(`spa readiness: body still ${bodyLength} chars after ${SPA_READINESS_TIMEOUT_MS}ms — proceeding with possibly incomplete page`);
1852
- }
1853
- }
1836
+ await (0, spa_readiness_1.waitForSpaReady)(page, logger);
1854
1837
  const anthropic = (0, anthropic_client_1.buildAnthropicClient)();
1855
1838
  const rephraseModel = (0, anthropic_client_1.buildRephraseModel)();
1856
1839
  if (!anthropic) {
@@ -1913,7 +1896,7 @@ async function main() {
1913
1896
  const currentOrigin = originOf(readLiveUrl());
1914
1897
  if (currentOrigin !== "" && currentOrigin !== lastOrigin) {
1915
1898
  logger.info(`origin changed ${lastOrigin || "(none)"} → ${currentOrigin}; re-gating on SPA hydration`);
1916
- await (0, flow_runner_1.waitForSpaReady)(page, logger);
1899
+ await (0, spa_readiness_1.waitForSpaReady)(page, logger);
1917
1900
  lastOrigin = currentOrigin;
1918
1901
  }
1919
1902
  // Debug: dump the full DOM right before this step's cascade runs. Lets
@@ -1961,48 +1944,60 @@ async function main() {
1961
1944
  // No-ops (zero delay) when frameTarget.frame is null.
1962
1945
  await (0, frame_target_1.waitForChildFrameReady)(frameTarget);
1963
1946
  try {
1964
- const stepPromise = (0, flow_runner_1.executeStepWithHealing)({
1965
- stagehand,
1966
- page,
1967
- frameTarget,
1968
- step: step.instruction,
1969
- optional: step.optional,
1970
- upload: step.upload,
1971
- submitStep: step.submitStep === true,
1972
- captchaGated: step.captchaGated === true,
1973
- emailStep: step.emailStep === true,
1974
- emailStepConfig: step.emailStepConfig,
1975
- allocatedInbox,
1976
- flowHasSubmitSemantics: (0, flow_runner_1.flowHasSubmitSemantics)({
1977
- steps: plan.map((s) => ({ submitStep: s.submitStep === true })),
1947
+ // A navigateTo step is a direct page.goto, not an act/observe against
1948
+ // the current DOM, so it skips straight to executeNavigateStep
1949
+ // instead of the self-heal cascade.
1950
+ const stepPromise = step.navigateTo !== undefined
1951
+ ? (0, flow_runner_1.executeNavigateStep)({
1952
+ page,
1953
+ url: step.navigateTo,
1954
+ optional: step.optional,
1955
+ logger,
1956
+ waitUntil: GOTO_WAIT_UNTIL,
1957
+ timeoutMs: flow_runner_1.GOTO_TIMEOUT_MS,
1958
+ })
1959
+ : (0, flow_runner_1.executeStepWithHealing)({
1960
+ stagehand,
1961
+ page,
1962
+ frameTarget,
1963
+ step: step.instruction,
1964
+ optional: step.optional,
1965
+ upload: step.upload,
1966
+ submitStep: step.submitStep === true,
1967
+ captchaGated: step.captchaGated === true,
1968
+ emailStep: step.emailStep === true,
1969
+ emailStepConfig: step.emailStepConfig,
1970
+ allocatedInbox,
1971
+ flowHasSubmitSemantics: (0, flow_runner_1.flowHasSubmitSemantics)({
1972
+ steps: plan.map((s) => ({ submitStep: s.submitStep === true })),
1973
+ submitEndpointPattern,
1974
+ requireSubmitEndpointMatch,
1975
+ }),
1976
+ stepIndex: i,
1977
+ totalSteps: () => plan.length,
1978
+ phase: currentPhase,
1979
+ signalCounter,
1980
+ recentCaptures,
1981
+ recentCaptureMeta,
1982
+ anthropic,
1983
+ rephraseModel,
1984
+ logger,
1985
+ uploadFixture,
1986
+ isFinalStep: i === plan.length - 1,
1978
1987
  submitEndpointPattern,
1988
+ submittedStateSelectors,
1979
1989
  requireSubmitEndpointMatch,
1980
- }),
1981
- stepIndex: i,
1982
- totalSteps: () => plan.length,
1983
- phase: currentPhase,
1984
- signalCounter,
1985
- recentCaptures,
1986
- recentCaptureMeta,
1987
- anthropic,
1988
- rephraseModel,
1989
- logger,
1990
- uploadFixture,
1991
- isFinalStep: i === plan.length - 1,
1992
- submitEndpointPattern,
1993
- submittedStateSelectors,
1994
- requireSubmitEndpointMatch,
1995
- advanceTransitionBodyPattern,
1996
- successUrlFragments,
1997
- successPageTitleHints,
1998
- ownBackendHostnames,
1999
- knownErrorClassPrefixes,
2000
- wizardExitButtonLabels,
2001
- getSuppressedAisdkElementIdErrorCount: session.getSuppressedAisdkElementIdErrorCount,
2002
- trajectory,
2003
- captureFn,
2004
- onStepFailure: dumpStepFailure,
2005
- });
1990
+ advanceTransitionBodyPattern,
1991
+ successUrlFragments,
1992
+ successPageTitleHints,
1993
+ ownBackendHostnames,
1994
+ knownErrorClassPrefixes,
1995
+ wizardExitButtonLabels,
1996
+ getSuppressedAisdkElementIdErrorCount: session.getSuppressedAisdkElementIdErrorCount,
1997
+ trajectory,
1998
+ captureFn,
1999
+ onStepFailure: dumpStepFailure,
2000
+ });
2006
2001
  // Races the step's own promise against the session's teardown death
2007
2002
  // signal (bugfix-003's raceAgainstTeardown): when Stagehand's CDP
2008
2003
  // transport is reaped mid-step, the in-flight promise above never