@enricai/barnacle 1.12.79 → 1.12.81

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 (135) hide show
  1. package/dist/api/helpers/reply.d.ts.map +1 -1
  2. package/dist/api/helpers/reply.js +5 -2
  3. package/dist/api/helpers/reply.js.map +1 -1
  4. package/dist/config.d.ts +10 -0
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +2 -0
  7. package/dist/config.js.map +1 -1
  8. package/dist/lib/llm/judge.d.ts.map +1 -1
  9. package/dist/lib/llm/judge.js +6 -1
  10. package/dist/lib/llm/judge.js.map +1 -1
  11. package/dist/lib/llm/judges/verify-step-advanced.d.ts +30 -0
  12. package/dist/lib/llm/judges/verify-step-advanced.d.ts.map +1 -0
  13. package/dist/lib/llm/judges/verify-step-advanced.js +62 -0
  14. package/dist/lib/llm/judges/verify-step-advanced.js.map +1 -0
  15. package/dist/lib/llm/judges/verify-submit.d.ts +7 -1
  16. package/dist/lib/llm/judges/verify-submit.d.ts.map +1 -1
  17. package/dist/lib/llm/judges/verify-submit.js +29 -8
  18. package/dist/lib/llm/judges/verify-submit.js.map +1 -1
  19. package/dist/lib/llm/schemas.d.ts +8 -0
  20. package/dist/lib/llm/schemas.d.ts.map +1 -1
  21. package/dist/lib/llm/schemas.js +21 -13
  22. package/dist/lib/llm/schemas.js.map +1 -1
  23. package/dist/lib/logging.d.ts +7 -0
  24. package/dist/lib/logging.d.ts.map +1 -1
  25. package/dist/lib/logging.js +19 -1
  26. package/dist/lib/logging.js.map +1 -1
  27. package/dist/lib/pii-redaction.d.ts +104 -0
  28. package/dist/lib/pii-redaction.d.ts.map +1 -0
  29. package/dist/lib/pii-redaction.js +397 -0
  30. package/dist/lib/pii-redaction.js.map +1 -0
  31. package/dist/lib/random.d.ts +3 -1
  32. package/dist/lib/random.d.ts.map +1 -1
  33. package/dist/lib/random.js +7 -2
  34. package/dist/lib/random.js.map +1 -1
  35. package/dist/lib/telemetry/beacon-capture.d.ts.map +1 -1
  36. package/dist/lib/telemetry/beacon-capture.js +2 -0
  37. package/dist/lib/telemetry/beacon-capture.js.map +1 -1
  38. package/dist/lib/telemetry/call-capture.d.ts.map +1 -1
  39. package/dist/lib/telemetry/call-capture.js +4 -1
  40. package/dist/lib/telemetry/call-capture.js.map +1 -1
  41. package/dist/lib/telemetry/submission-capture.d.ts +11 -1
  42. package/dist/lib/telemetry/submission-capture.d.ts.map +1 -1
  43. package/dist/lib/telemetry/submission-capture.js +32 -3
  44. package/dist/lib/telemetry/submission-capture.js.map +1 -1
  45. package/dist/plugins/config-plugin.d.ts +8 -0
  46. package/dist/plugins/config-plugin.d.ts.map +1 -1
  47. package/dist/plugins/config-plugin.js +4 -0
  48. package/dist/plugins/config-plugin.js.map +1 -1
  49. package/dist/plugins/discover.d.ts.map +1 -1
  50. package/dist/plugins/discover.js +2 -0
  51. package/dist/plugins/discover.js.map +1 -1
  52. package/dist/plugins/loader.d.ts.map +1 -1
  53. package/dist/plugins/loader.js +23 -6
  54. package/dist/plugins/loader.js.map +1 -1
  55. package/dist/scraper/active-page.d.ts +18 -0
  56. package/dist/scraper/active-page.d.ts.map +1 -0
  57. package/dist/scraper/active-page.js +53 -0
  58. package/dist/scraper/active-page.js.map +1 -0
  59. package/dist/scraper/click-settle.d.ts +53 -0
  60. package/dist/scraper/click-settle.d.ts.map +1 -0
  61. package/dist/scraper/click-settle.js +135 -0
  62. package/dist/scraper/click-settle.js.map +1 -0
  63. package/dist/scraper/deep-locator-candidates.d.ts +20 -1
  64. package/dist/scraper/deep-locator-candidates.d.ts.map +1 -1
  65. package/dist/scraper/deep-locator-candidates.js +75 -11
  66. package/dist/scraper/deep-locator-candidates.js.map +1 -1
  67. package/dist/scraper/flow-runner.d.ts +347 -6
  68. package/dist/scraper/flow-runner.d.ts.map +1 -1
  69. package/dist/scraper/flow-runner.js +2457 -357
  70. package/dist/scraper/flow-runner.js.map +1 -1
  71. package/dist/scraper/navigate.d.ts +3 -3
  72. package/dist/scraper/navigate.js +4 -4
  73. package/dist/scraper/navigate.js.map +1 -1
  74. package/dist/scraper/phantom-click.d.ts +34 -2
  75. package/dist/scraper/phantom-click.d.ts.map +1 -1
  76. package/dist/scraper/phantom-click.js +80 -6
  77. package/dist/scraper/phantom-click.js.map +1 -1
  78. package/dist/scraper/quoted-spans.d.ts +35 -0
  79. package/dist/scraper/quoted-spans.d.ts.map +1 -0
  80. package/dist/scraper/quoted-spans.js +83 -0
  81. package/dist/scraper/quoted-spans.js.map +1 -0
  82. package/dist/scraper/session-browserbase.d.ts +4 -2
  83. package/dist/scraper/session-browserbase.d.ts.map +1 -1
  84. package/dist/scraper/session-browserbase.js +36 -5
  85. package/dist/scraper/session-browserbase.js.map +1 -1
  86. package/dist/scraper/session-steel.d.ts.map +1 -1
  87. package/dist/scraper/session-steel.js +16 -2
  88. package/dist/scraper/session-steel.js.map +1 -1
  89. package/dist/scraper/session-teardown.d.ts +1 -0
  90. package/dist/scraper/session-teardown.d.ts.map +1 -1
  91. package/dist/scraper/session-teardown.js +19 -8
  92. package/dist/scraper/session-teardown.js.map +1 -1
  93. package/dist/scraper/spa-readiness.d.ts +13 -1
  94. package/dist/scraper/spa-readiness.d.ts.map +1 -1
  95. package/dist/scraper/spa-readiness.js +31 -1
  96. package/dist/scraper/spa-readiness.js.map +1 -1
  97. package/dist/scraper/stagehand-guard.d.ts +18 -3
  98. package/dist/scraper/stagehand-guard.d.ts.map +1 -1
  99. package/dist/scraper/stagehand-guard.js +198 -12
  100. package/dist/scraper/stagehand-guard.js.map +1 -1
  101. package/dist/scraper/transient-provider-error.d.ts +19 -0
  102. package/dist/scraper/transient-provider-error.d.ts.map +1 -0
  103. package/dist/scraper/transient-provider-error.js +59 -0
  104. package/dist/scraper/transient-provider-error.js.map +1 -0
  105. package/dist/scraper/trusted-click.d.ts +133 -0
  106. package/dist/scraper/trusted-click.d.ts.map +1 -0
  107. package/dist/scraper/trusted-click.js +205 -0
  108. package/dist/scraper/trusted-click.js.map +1 -0
  109. package/dist/scraper/upload-affordance-expr.d.ts +33 -0
  110. package/dist/scraper/upload-affordance-expr.d.ts.map +1 -0
  111. package/dist/scraper/upload-affordance-expr.js +91 -0
  112. package/dist/scraper/upload-affordance-expr.js.map +1 -0
  113. package/dist/scripts/recon-browser.d.ts +26 -1
  114. package/dist/scripts/recon-browser.d.ts.map +1 -1
  115. package/dist/scripts/recon-browser.js +108 -21
  116. package/dist/scripts/recon-browser.js.map +1 -1
  117. package/dist/scripts/recon-capture-rebind.d.ts +11 -0
  118. package/dist/scripts/recon-capture-rebind.d.ts.map +1 -0
  119. package/dist/scripts/recon-capture-rebind.js +26 -0
  120. package/dist/scripts/recon-capture-rebind.js.map +1 -0
  121. package/dist/scripts/recon-generate.d.ts +110 -9
  122. package/dist/scripts/recon-generate.d.ts.map +1 -1
  123. package/dist/scripts/recon-generate.js +962 -183
  124. package/dist/scripts/recon-generate.js.map +1 -1
  125. package/dist/scripts/recon-shared.d.ts +8 -0
  126. package/dist/scripts/recon-shared.d.ts.map +1 -1
  127. package/dist/scripts/recon-shared.js +14 -0
  128. package/dist/scripts/recon-shared.js.map +1 -1
  129. package/dist/site-plugin.d.ts +8 -0
  130. package/dist/site-plugin.d.ts.map +1 -1
  131. package/dist/types/pii-redaction.d.ts +39 -0
  132. package/dist/types/pii-redaction.d.ts.map +1 -0
  133. package/dist/types/pii-redaction.js +3 -0
  134. package/dist/types/pii-redaction.js.map +1 -0
  135. package/package.json +14 -1
@@ -1 +1 @@
1
- {"version":3,"file":"session-steel.js","sourceRoot":"","sources":["../../src/scraper/session-steel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-steel.js","sourceRoot":"","sources":["../../src/scraper/session-steel.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export declare function createSessionTeardownDetector(opts?: {
16
16
  } | undefined;
17
17
  }): {
18
18
  watchLogLine: (line: StagehandLogLine) => void;
19
+ signalTransportClosed: (why: string) => void;
19
20
  deathSignal: Promise<never>;
20
21
  deathAbortSignal: AbortSignal;
21
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"session-teardown.d.ts","sourceRoot":"","sources":["../../src/scraper/session-teardown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAY/D;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,CAAC,EAAE;IACnD,aAAa,CAAC,EAAE,MAAM;QAAE,wBAAwB,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAChG,GAAG;IACF,YAAY,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,gBAAgB,EAAE,WAAW,CAAC;CAC/B,CA2BA;AAUD,gFAAgF;AAChF,MAAM,WAAW,6BAA6B;IAC5C,gFAAgF;IAChF,YAAY,EAAE,OAAO,CAAC;IACtB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,wBAAwB,EAAE,MAAM,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,6BAA6B,CAYhC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,EACvB,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,sBAAsB,CAAC,GAAG,SAAS,EACjE,GAAG,EAAE,OAAO,GACX,OAAO,CAMT;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,wBAAwB,EAAE,MAAM,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,iBAAiB,EAAE,MAAM,MAAM,CAAC;IAChC,qBAAqB,EAAE,MAAM,MAAM,CAAC;CACrC,GAAG,MAAM;IAAE,wBAAwB,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAgBjF"}
1
+ {"version":3,"file":"session-teardown.d.ts","sourceRoot":"","sources":["../../src/scraper/session-teardown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAY/D;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,CAAC,EAAE;IACnD,aAAa,CAAC,EAAE,MAAM;QAAE,wBAAwB,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAChG,GAAG;IACF,YAAY,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,qBAAqB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,gBAAgB,EAAE,WAAW,CAAC;CAC/B,CAsCA;AAUD,gFAAgF;AAChF,MAAM,WAAW,6BAA6B;IAC5C,gFAAgF;IAChF,YAAY,EAAE,OAAO,CAAC;IACtB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,wBAAwB,EAAE,MAAM,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,6BAA6B,CAYhC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,EACvB,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,sBAAsB,CAAC,GAAG,SAAS,EACjE,GAAG,EAAE,OAAO,GACX,OAAO,CAMT;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,wBAAwB,EAAE,MAAM,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,iBAAiB,EAAE,MAAM,MAAM,CAAC;IAChC,qBAAqB,EAAE,MAAM,MAAM,CAAC;CACrC,GAAG,MAAM;IAAE,wBAAwB,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAgBjF"}
@@ -34,22 +34,33 @@ function createSessionTeardownDetector(opts) {
34
34
  deathSignal.catch(() => undefined);
35
35
  const abortController = new AbortController();
36
36
  let fired = false;
37
- const watchLogLine = (line) => {
37
+ const fire = (detail, earlyMessage) => {
38
38
  if (fired)
39
39
  return;
40
- if (line.level !== TEARDOWN_ERROR_LEVEL)
41
- return;
42
- if (!line.message.includes(TEARDOWN_MESSAGE_SUBSTRING))
43
- return;
44
40
  fired = true;
45
41
  const hit = opts?.classifyDeath?.();
46
42
  const err = hit
47
- ? new errors_1.SessionLifetimeExceededError(`scraper session reached its configured lifetime (${hit.elapsedSeconds.toFixed(1)}s elapsed of ${hit.configuredTimeoutSeconds}s): ${line.message}`)
48
- : new errors_1.CdpTransportClosedError(`stagehand-initiated teardown mid-flow: ${line.message}`);
43
+ ? new errors_1.SessionLifetimeExceededError(`scraper session reached its configured lifetime (${hit.elapsedSeconds.toFixed(1)}s elapsed of ${hit.configuredTimeoutSeconds}s): ${detail}`)
44
+ : new errors_1.CdpTransportClosedError(earlyMessage);
49
45
  signalDeath?.(err);
50
46
  abortController.abort(err);
51
47
  };
52
- return { watchLogLine, deathSignal, deathAbortSignal: abortController.signal };
48
+ const watchLogLine = (line) => {
49
+ if (fired)
50
+ return;
51
+ if (line.level !== TEARDOWN_ERROR_LEVEL)
52
+ return;
53
+ if (!line.message.includes(TEARDOWN_MESSAGE_SUBSTRING))
54
+ return;
55
+ fire(line.message, `stagehand-initiated teardown mid-flow: ${line.message}`);
56
+ };
57
+ const signalTransportClosed = (why) => fire(why, `scraper session's CDP transport was closed by the SDK: ${why}`);
58
+ return {
59
+ watchLogLine,
60
+ signalTransportClosed,
61
+ deathSignal,
62
+ deathAbortSignal: abortController.signal,
63
+ };
53
64
  }
54
65
  /**
55
66
  * Browserbase overshoots its own configured session timeout by 1-14s in
@@ -1 +1 @@
1
- {"version":3,"file":"session-teardown.js","sourceRoot":"","sources":["../../src/scraper/session-teardown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-teardown.js","sourceRoot":"","sources":["../../src/scraper/session-teardown.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { Page } from "@browserbasehq/stagehand";
2
2
  import type { Logger } from "../types/logging";
3
3
  /**
4
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
5
+ * begin stepping against a shell page. `page.goto(..., "domcontentloaded")` on a
6
6
  * bot-managed/CDN-fronted single-page app resolves during the challenge/redirect —
7
7
  * before the client framework renders the real DOM — so the first steps would
8
8
  * otherwise probe an empty page, find no candidates, and (being optional) skip
@@ -25,4 +25,16 @@ export declare function waitForSpaReady(page: Page, logger: Logger, opts?: {
25
25
  pollMs?: number;
26
26
  minBodyLength?: number;
27
27
  }): Promise<void>;
28
+ /**
29
+ * Re-gate SPA hydration after a mid-flow origin change, with one reload of recovery.
30
+ * `waitForSpaReady` proceeds silently on a shell page; a cross-origin hop that landed
31
+ * on an empty shell (e.g. a redirect from app.example.com to login.example.net whose
32
+ * client bundle never booted) would otherwise let every later step probe nothing.
33
+ * Reloads at most once and never throws.
34
+ */
35
+ export declare function regateSpaAfterOriginChange(page: Page, logger: Logger, opts?: {
36
+ timeoutMs?: number;
37
+ pollMs?: number;
38
+ minBodyLength?: number;
39
+ }): Promise<void>;
28
40
  //# sourceMappingURL=spa-readiness.d.ts.map
@@ -1 +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"}
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;AAKD;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,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,CAkBf"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.waitForSpaReady = waitForSpaReady;
4
+ exports.regateSpaAfterOriginChange = regateSpaAfterOriginChange;
4
5
  const watchdog_1 = require("./watchdog");
5
6
  /** SPA-readiness gate defaults — match the recon CLI's post-navigation wait. */
6
7
  const SPA_READINESS_TIMEOUT_MS = 15_000;
@@ -8,7 +9,7 @@ const SPA_READINESS_POLL_MS = 500;
8
9
  const SPA_MIN_BODY_LENGTH = 5_000;
9
10
  /**
10
11
  * 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
+ * begin stepping against a shell page. `page.goto(..., "domcontentloaded")` on a
12
13
  * bot-managed/CDN-fronted single-page app resolves during the challenge/redirect —
13
14
  * before the client framework renders the real DOM — so the first steps would
14
15
  * otherwise probe an empty page, find no candidates, and (being optional) skip
@@ -54,4 +55,33 @@ async function waitForSpaReady(page, logger, opts = {}) {
54
55
  }
55
56
  logger.warn(`spa readiness: body still ${bodyLength} chars after ${timeoutMs}ms — proceeding with possibly incomplete page`);
56
57
  }
58
+ /** Below this body length after the readiness wait, the page is treated as an empty shell. */
59
+ const SPA_EMPTY_SHELL_BODY_LENGTH = 1_000;
60
+ /**
61
+ * Re-gate SPA hydration after a mid-flow origin change, with one reload of recovery.
62
+ * `waitForSpaReady` proceeds silently on a shell page; a cross-origin hop that landed
63
+ * on an empty shell (e.g. a redirect from app.example.com to login.example.net whose
64
+ * client bundle never booted) would otherwise let every later step probe nothing.
65
+ * Reloads at most once and never throws.
66
+ */
67
+ async function regateSpaAfterOriginChange(page, logger, opts = {}) {
68
+ await waitForSpaReady(page, logger, opts);
69
+ const bodyLength = await readBodyLengthOnce(page, opts.pollMs ?? SPA_READINESS_POLL_MS);
70
+ if (bodyLength >= SPA_EMPTY_SHELL_BODY_LENGTH) {
71
+ return;
72
+ }
73
+ logger.warn(`spa readiness: body ${bodyLength} chars < ${SPA_EMPTY_SHELL_BODY_LENGTH} after origin change — reloading once`);
74
+ try {
75
+ await page.reload({ waitUntil: "domcontentloaded" });
76
+ }
77
+ catch (err) {
78
+ logger.warn(`spa readiness: reload failed: ${err instanceof Error ? err.message : String(err)}`);
79
+ return;
80
+ }
81
+ await waitForSpaReady(page, logger, opts);
82
+ }
83
+ async function readBodyLengthOnce(page, timeoutMs) {
84
+ const raw = await (0, watchdog_1.withWatchdog)(() => page.evaluate("document.body ? document.body.outerHTML.length : 0"), { timeoutMs, label: "flow-runner: spa origin re-gate body-length probe" }).catch(() => 0);
85
+ return typeof raw === "number" ? raw : 0;
86
+ }
57
87
  //# sourceMappingURL=spa-readiness.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"spa-readiness.js","sourceRoot":"","sources":["../../src/scraper/spa-readiness.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,18 @@ import { type FrameTarget } from "./frame-target";
48
48
  * lands in `.barnacle/calls.ndjson` instead of the per-URL run partition.
49
49
  */
50
50
  export type StagehandCaptureFn = (input: LlmCallInput) => Promise<void>;
51
+ /**
52
+ * Whether an act instruction may resolve to a pointer click. Any phrasing that
53
+ * is not plainly text entry counts ("Answer No", "Continue", "Save and
54
+ * proceed" name no click verb yet click a button), so the click point is
55
+ * cleared before Stagehand delivers it.
56
+ */
57
+ export declare function hasClickIntent(instruction: string): boolean;
58
+ /**
59
+ * Whether a Stagehand method is delivered as a trusted CDP mouse press on the
60
+ * target's centre, and so needs its click point cleared first.
61
+ */
62
+ export declare function isTrustedClickMethod(method: string | undefined): boolean;
51
63
  /**
52
64
  * Zod parallel of Stagehand's public `Action` shape (from
53
65
  * `@browserbasehq/stagehand/.../public/methods.d.ts`):
@@ -116,8 +128,11 @@ export declare class StagehandSchemaError extends Error {
116
128
  * receives the same `timeout` as before, but a call that ignores it and hangs
117
129
  * now fails the attempt instead of blocking the step forever.
118
130
  *
119
- * Accepts the same trailing `frameTarget` param as `guardedObserve`/
120
- * `guardedExtract` for signature symmetry, but does not forward it into
131
+ * Click targets are centred and hit-tested before Stagehand acts (see
132
+ * `preCentreClickTarget`); a given `frameTarget` scopes that pass, and
133
+ * `preCentred` skips it when the caller already resolved and centred the
134
+ * target, so one click does not cost two observe calls. The
135
+ * trailing `frameTarget` param is not forwarded into
121
136
  * `ActOptions` — `ActOptions` has no `selector` field, and its `page`
122
137
  * override only accepts a full Playwright/Puppeteer/Patchright/understudy
123
138
  * `Page`, not the `Frame` handle `FrameTarget.frame` exposes (the
@@ -128,7 +143,7 @@ export declare class StagehandSchemaError extends Error {
128
143
  * that `Action` — the `observe(...)[0] -> act(target)` pattern already used
129
144
  * throughout `flow-runner.ts`.
130
145
  */
131
- export declare function guardedAct(stagehand: Stagehand, input: string | Action, options?: ActOptions, captureFn?: StagehandCaptureFn, _frameTarget?: FrameTarget): Promise<ActResult>;
146
+ export declare function guardedAct(stagehand: Stagehand, input: string | Action, options?: ActOptions, captureFn?: StagehandCaptureFn, frameTarget?: FrameTarget, preCentred?: boolean): Promise<ActResult>;
132
147
  /**
133
148
  * Schema-guarded wrapper around Stagehand's `observe`. Parallels the
134
149
  * Stagehand overloads: no args, options-only, instruction-only,
@@ -1 +1 @@
1
- {"version":3,"file":"stagehand-guard.d.ts","sourceRoot":"","sources":["../../src/scraper/stagehand-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAIH,OAAO,KAAK,EACV,MAAM,EACN,UAAU,EACV,SAAS,EACT,cAAc,EACd,cAAc,EACd,SAAS,EACV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG5E;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAUxE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa;;;;;iBAKxB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;iBAM5B,CAAC;AAEH;;;;;;GAMG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,EAAG,0BAA0B,CAAU;IACpD,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAE9B,YACE,SAAS,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,EACxC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,WAAW,EAAE,OAAO,EAOrB;CACF;AAwCD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,UAAU,CAC9B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,OAAO,CAAC,EAAE,UAAU,EACpB,SAAS,CAAC,EAAE,kBAAkB,EAC9B,YAAY,CAAC,EAAE,WAAW,GACzB,OAAO,CAAC,SAAS,CAAC,CAsEpB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,SAAS,EACpB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,kBAAkB,EAC9B,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,EAAE,CAAC,CAsEnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EACzD,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,CAAC,EACT,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,kBAAkB,EAC9B,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CA0ErB"}
1
+ {"version":3,"file":"stagehand-guard.d.ts","sourceRoot":"","sources":["../../src/scraper/stagehand-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAIH,OAAO,KAAK,EACV,MAAM,EACN,UAAU,EACV,SAAS,EACT,cAAc,EACd,cAAc,EACd,SAAS,EAEV,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAO3B,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAEL,KAAK,WAAW,EAGjB,MAAM,wBAAwB,CAAC;AAMhC;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAwBxE;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAE3D;AAID;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAExE;AAuBD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa;;;;;iBAKxB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;iBAM5B,CAAC;AAEH;;;;;;GAMG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,EAAG,0BAA0B,CAAU;IACpD,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAE9B,YACE,SAAS,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,EACxC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,WAAW,EAAE,OAAO,EAOrB;CACF;AAsKD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,UAAU,CAC9B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,OAAO,CAAC,EAAE,UAAU,EACpB,SAAS,CAAC,EAAE,kBAAkB,EAC9B,WAAW,CAAC,EAAE,WAAW,EACzB,UAAU,UAAQ,GACjB,OAAO,CAAC,SAAS,CAAC,CAkFpB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,SAAS,EACpB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,kBAAkB,EAC9B,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,EAAE,CAAC,CA4FnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EACzD,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,CAAC,EACT,OAAO,CAAC,EAAE,cAAc,EACxB,SAAS,CAAC,EAAE,kBAAkB,EAC9B,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CA4ErB"}
@@ -37,16 +37,25 @@
37
37
  * `node_modules/@browserbasehq/stagehand/dist/esm/lib/v3/zodCompat.d.ts`).
38
38
  * Barnacle uses Zod v4 via the `zod/v4` subpath export; that's compatible.
39
39
  */
40
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
40
43
  Object.defineProperty(exports, "__esModule", { value: true });
41
44
  exports.StagehandSchemaError = exports.ACT_RESULT_SCHEMA = exports.ACTION_SCHEMA = void 0;
45
+ exports.hasClickIntent = hasClickIntent;
46
+ exports.isTrustedClickMethod = isTrustedClickMethod;
42
47
  exports.guardedAct = guardedAct;
43
48
  exports.guardedObserve = guardedObserve;
44
49
  exports.guardedExtract = guardedExtract;
45
50
  const node_crypto_1 = require("node:crypto");
51
+ const p_retry_1 = __importDefault(require("p-retry"));
46
52
  const v4_1 = require("zod/v4");
53
+ const pii_redaction_1 = require("../lib/pii-redaction");
47
54
  const call_capture_1 = require("../lib/telemetry/call-capture");
48
55
  const call_types_1 = require("../lib/telemetry/call-types");
49
56
  const frame_target_1 = require("./frame-target");
57
+ const transient_provider_error_1 = require("./transient-provider-error");
58
+ const trusted_click_1 = require("./trusted-click");
50
59
  const watchdog_1 = require("./watchdog");
51
60
  /**
52
61
  * Fallback watchdog bound for a guarded call whose caller passes no
@@ -55,6 +64,52 @@ const watchdog_1 = require("./watchdog");
55
64
  * `guardedObserve` from this module, so importing back would cycle.
56
65
  */
57
66
  const DEFAULT_GUARD_TIMEOUT_MS = 120_000;
67
+ /**
68
+ * Instructions that name a click-like verb ("Select No", "Open the dropdown",
69
+ * "Click Next").
70
+ */
71
+ const CLICK_VERB_RE = /\b(?:click|tap|press|select|choose|pick|open|toggle|check|uncheck|expand|submit)\b/i;
72
+ /**
73
+ * Instructions that lead with text entry, upload or page motion; these never
74
+ * resolve to a pointer click, so an observe for a click point is wasted.
75
+ */
76
+ const NON_CLICK_LEAD_RE = /^\W*(?:fill|type|enter|input|write|paste|upload|attach|scroll|wait|sleep|pause|navigate|go\s+to)\b/i;
77
+ /**
78
+ * Whether an act instruction may resolve to a pointer click. Any phrasing that
79
+ * is not plainly text entry counts ("Answer No", "Continue", "Save and
80
+ * proceed" name no click verb yet click a button), so the click point is
81
+ * cleared before Stagehand delivers it.
82
+ */
83
+ function hasClickIntent(instruction) {
84
+ return CLICK_VERB_RE.test(instruction) || !NON_CLICK_LEAD_RE.test(instruction);
85
+ }
86
+ const TRUSTED_CLICK_METHODS = new Set(["click", "doubleClick"]);
87
+ /**
88
+ * Whether a Stagehand method is delivered as a trusted CDP mouse press on the
89
+ * target's centre, and so needs its click point cleared first.
90
+ */
91
+ function isTrustedClickMethod(method) {
92
+ return method !== undefined && TRUSTED_CLICK_METHODS.has(method);
93
+ }
94
+ const TRANSIENT_RETRIES = 2;
95
+ const TRANSIENT_RETRY_MIN_TIMEOUT_MS = 500;
96
+ /**
97
+ * Retries a Stagehand call that failed with a transient provider error so a
98
+ * blip is not recorded as a failed technique. Wrap it OUTSIDE `withWatchdog`:
99
+ * each try gets its own watchdog timeout and the backoff is not charged to it.
100
+ * Safe for `act` because the provider 5xx is raised during Stagehand's
101
+ * inference request, before it performs any page action; the narrow
102
+ * classifier never matches selector, timeout, or schema errors raised after
103
+ * one.
104
+ */
105
+ function retryTransient(call) {
106
+ return (0, p_retry_1.default)(call, {
107
+ retries: TRANSIENT_RETRIES,
108
+ minTimeout: TRANSIENT_RETRY_MIN_TIMEOUT_MS,
109
+ randomize: false,
110
+ shouldRetry: ({ error }) => (0, transient_provider_error_1.isTransientProviderError)(error),
111
+ });
112
+ }
58
113
  /**
59
114
  * Zod parallel of Stagehand's public `Action` shape (from
60
115
  * `@browserbasehq/stagehand/.../public/methods.d.ts`):
@@ -127,6 +182,41 @@ function safeStringify(value, cap = 4000) {
127
182
  function actInstructionOf(input) {
128
183
  return typeof input === "string" ? input : input.description;
129
184
  }
185
+ function mergeVariables(options, variables) {
186
+ if (Object.keys(variables).length === 0)
187
+ return options;
188
+ return { ...options, variables: { ...options?.variables, ...variables } };
189
+ }
190
+ /**
191
+ * Observe only needs the token names for its prompt (it never performs the
192
+ * action, so never substitutes): withhold the values so they are not shipped
193
+ * to the Stagehand API either. Plain strings, not the `{ value, description }`
194
+ * form, so the call stays inside the wire shape already proven against the API.
195
+ */
196
+ function withheldVariables(variables) {
197
+ return Object.fromEntries(Object.keys(variables).map((name) => [name, ""]));
198
+ }
199
+ function detokenizeAction(action, variables) {
200
+ if (Object.keys(variables).length === 0)
201
+ return action;
202
+ return {
203
+ ...action,
204
+ description: (0, pii_redaction_1.detokenize)(action.description, variables),
205
+ ...(action.arguments
206
+ ? { arguments: action.arguments.map((arg) => (0, pii_redaction_1.detokenize)(arg, variables)) }
207
+ : {}),
208
+ };
209
+ }
210
+ function detokenizeActResult(result, variables) {
211
+ if (Object.keys(variables).length === 0)
212
+ return result;
213
+ return {
214
+ ...result,
215
+ message: (0, pii_redaction_1.detokenize)(result.message, variables),
216
+ actionDescription: (0, pii_redaction_1.detokenize)(result.actionDescription, variables),
217
+ actions: result.actions.map((action) => detokenizeAction(action, variables)),
218
+ };
219
+ }
130
220
  /**
131
221
  * Merges `frameTarget.frameSelector` into `options.selector` for
132
222
  * `ObserveOptions`/`ExtractOptions`, composed as Stagehand `">>"` hop
@@ -144,6 +234,73 @@ function frameScopedOptions(options, frameTarget) {
144
234
  return options;
145
235
  return { ...options, selector: (0, frame_target_1.buildHopSelector)(frameTarget.frameSelector, "*") };
146
236
  }
237
+ /**
238
+ * Resolves a string act instruction to the Action Stagehand would click so it
239
+ * can be centred first. Scoped to the step's frame the same way
240
+ * `guardedObserve` is, so an in-frame control is not resolved against the top
241
+ * document. When `observe` is unavailable or finds nothing, Stagehand's own
242
+ * string `act` resolves internally exactly as before; an `observe` error
243
+ * propagates.
244
+ */
245
+ async function resolveClickAction(stagehand, instruction, options, frameTarget) {
246
+ if (typeof stagehand.observe !== "function" || !hasClickIntent(instruction)) {
247
+ return undefined;
248
+ }
249
+ const observeOptions = frameScopedOptions(options?.timeout ? { timeout: options.timeout } : {}, frameTarget);
250
+ const observed = await (0, watchdog_1.withWatchdog)(() => stagehand.observe(instruction, observeOptions), {
251
+ timeoutMs: options?.timeout ?? DEFAULT_GUARD_TIMEOUT_MS,
252
+ label: "stagehand-observe",
253
+ });
254
+ return observed[0];
255
+ }
256
+ /**
257
+ * Stagehand's `act` clicks the content-box centre after only a
258
+ * `scrollIntoViewIfNeeded`, so a sticky overlay swallows the click. Centre +
259
+ * hit-test the click target first so Stagehand's own scroll is a no-op. String
260
+ * instructions are resolved via `observe` for the pre-centring only and still
261
+ * reach `act` as the original string, so downstream method/argument handling
262
+ * is unchanged. Frame-hop (`>>`) selectors are centred in the child frame they
263
+ * resolve to. Strict by design: a click target that stays occluded or
264
+ * cannot be resolved throws and fails the attempt, so Stagehand never clicks an
265
+ * uncentred point that a sticky overlay may cover. Non-click actions and
266
+ * instructions that observe to no action are skipped since there is no click
267
+ * point to clear.
268
+ */
269
+ async function preCentreClickTarget(stagehand, input, options, frameTarget) {
270
+ const page = typeof stagehand.context?.activePage === "function"
271
+ ? stagehand.context.activePage()
272
+ : undefined;
273
+ const target = frameTarget ?? (page ? (0, frame_target_1.mainFrameTarget)(page) : undefined);
274
+ if (!target)
275
+ return;
276
+ const action = typeof input === "string"
277
+ ? await resolveClickAction(stagehand, input, options, frameTarget)
278
+ : input;
279
+ if (!isTrustedClickMethod(action?.method))
280
+ return;
281
+ await centreAction(page, target, action);
282
+ }
283
+ /**
284
+ * Centres and hit-tests an Action's click target, resolving a `>>` frame hop
285
+ * to the child frame the tail selector lives in.
286
+ */
287
+ async function centreAction(page, target, action) {
288
+ const hopAt = action.selector.lastIndexOf(">>");
289
+ if (hopAt === -1) {
290
+ await (0, trusted_click_1.centreSelectorForClick)(target, action.selector, { label: action.selector });
291
+ return;
292
+ }
293
+ if (!page) {
294
+ throw new Error(`no active page to resolve frame hop for ${action.selector}`);
295
+ }
296
+ const hopTarget = await (0, frame_target_1.resolveFrameTarget)(page, action.selector.slice(0, hopAt).trim());
297
+ if (hopTarget.declaredFrameSelector) {
298
+ throw new Error(`frame ${hopTarget.declaredFrameSelector} not attached; cannot centre click`);
299
+ }
300
+ await (0, trusted_click_1.centreSelectorForClick)(hopTarget, action.selector.slice(hopAt + 2).trim(), {
301
+ label: action.selector,
302
+ });
303
+ }
147
304
  /**
148
305
  * Schema-guarded wrapper around Stagehand's `act`. Same signature as the
149
306
  * underlying call: accepts either an instruction string or a structured
@@ -156,8 +313,11 @@ function frameScopedOptions(options, frameTarget) {
156
313
  * receives the same `timeout` as before, but a call that ignores it and hangs
157
314
  * now fails the attempt instead of blocking the step forever.
158
315
  *
159
- * Accepts the same trailing `frameTarget` param as `guardedObserve`/
160
- * `guardedExtract` for signature symmetry, but does not forward it into
316
+ * Click targets are centred and hit-tested before Stagehand acts (see
317
+ * `preCentreClickTarget`); a given `frameTarget` scopes that pass, and
318
+ * `preCentred` skips it when the caller already resolved and centred the
319
+ * target, so one click does not cost two observe calls. The
320
+ * trailing `frameTarget` param is not forwarded into
161
321
  * `ActOptions` — `ActOptions` has no `selector` field, and its `page`
162
322
  * override only accepts a full Playwright/Puppeteer/Patchright/understudy
163
323
  * `Page`, not the `Frame` handle `FrameTarget.frame` exposes (the
@@ -168,11 +328,19 @@ function frameScopedOptions(options, frameTarget) {
168
328
  * that `Action` — the `observe(...)[0] -> act(target)` pattern already used
169
329
  * throughout `flow-runner.ts`.
170
330
  */
171
- async function guardedAct(stagehand, input, options, captureFn, _frameTarget) {
331
+ async function guardedAct(stagehand, input, options, captureFn, frameTarget, preCentred = false) {
172
332
  const callId = (0, node_crypto_1.randomUUID)();
173
- const userContent = actInstructionOf(input);
333
+ // Request values travel as Stagehand `variables`, substituted only when
334
+ // the action is performed. An `Action` (from observe) is replayed without
335
+ // an LLM, so it keeps its literal arguments.
336
+ const tokenized = typeof input === "string" ? (0, pii_redaction_1.tokenizeSensitiveValues)(input) : { text: "", variables: {} };
337
+ const sendInput = typeof input === "string" ? tokenized.text : input;
338
+ const sendOptions = mergeVariables(options, tokenized.variables);
339
+ const userContent = actInstructionOf(sendInput);
174
340
  const t0 = performance.now();
175
341
  try {
342
+ if (!preCentred)
343
+ await preCentreClickTarget(stagehand, sendInput, sendOptions, frameTarget);
176
344
  // Stagehand's `act` has two overloads (string and Action) that share the
177
345
  // same runtime implementation (dispatch is via `isObserveResult` inside
178
346
  // Stagehand). The two branches LOOK identical but TS can't resolve the
@@ -180,7 +348,9 @@ async function guardedAct(stagehand, input, options, captureFn, _frameTarget) {
180
348
  // `stagehand.act` to a variable then calling it as a standalone function
181
349
  // loses `this` in strict mode, which crashes inside Stagehand's
182
350
  // `withInstanceLogContext(this.instanceId, ...)` wrapper on entry.
183
- const raw = await (0, watchdog_1.withWatchdog)(() => typeof input === "string" ? stagehand.act(input, options) : stagehand.act(input, options), { timeoutMs: options?.timeout ?? DEFAULT_GUARD_TIMEOUT_MS, label: "stagehand-act" });
351
+ const raw = await retryTransient(() => (0, watchdog_1.withWatchdog)(() => typeof sendInput === "string"
352
+ ? stagehand.act(sendInput, sendOptions)
353
+ : stagehand.act(sendInput, sendOptions), { timeoutMs: options?.timeout ?? DEFAULT_GUARD_TIMEOUT_MS, label: "stagehand-act" }));
184
354
  const latencyMs = performance.now() - t0;
185
355
  const parsed = exports.ACT_RESULT_SCHEMA.safeParse(raw);
186
356
  if (!parsed.success) {
@@ -208,7 +378,7 @@ async function guardedAct(stagehand, input, options, captureFn, _frameTarget) {
208
378
  errorMessage: null,
209
379
  failureKind: null,
210
380
  }, captureFn);
211
- return parsed.data;
381
+ return detokenizeActResult(parsed.data, tokenized.variables);
212
382
  }
213
383
  catch (err) {
214
384
  if (err instanceof StagehandSchemaError)
@@ -250,17 +420,22 @@ async function guardedAct(stagehand, input, options, captureFn, _frameTarget) {
250
420
  */
251
421
  async function guardedObserve(stagehand, instruction, options, captureFn, frameTarget) {
252
422
  const callId = (0, node_crypto_1.randomUUID)();
253
- const userContent = instruction ?? "";
423
+ const tokenized = instruction === undefined ? { text: "", variables: {} } : (0, pii_redaction_1.tokenizeSensitiveValues)(instruction);
424
+ const sendInstruction = instruction === undefined ? undefined : tokenized.text;
425
+ const userContent = sendInstruction ?? "";
254
426
  const t0 = performance.now();
255
- const scopedOptions = frameScopedOptions(options, frameTarget);
427
+ const scopedOptions = mergeVariables(frameScopedOptions(options, frameTarget), withheldVariables(tokenized.variables));
256
428
  try {
257
429
  // Match Stagehand's overloads: pass instruction only when defined, so
258
430
  // the SDK falls through to its no-arg/options-only path otherwise.
259
- const raw = await (0, watchdog_1.withWatchdog)(() => instruction === undefined
431
+ const raw = await retryTransient(() => (0, watchdog_1.withWatchdog)(() => sendInstruction === undefined
260
432
  ? scopedOptions === undefined
261
433
  ? stagehand.observe()
262
434
  : stagehand.observe(scopedOptions)
263
- : stagehand.observe(instruction, scopedOptions), { timeoutMs: scopedOptions?.timeout ?? DEFAULT_GUARD_TIMEOUT_MS, label: "stagehand-observe" });
435
+ : stagehand.observe(sendInstruction, scopedOptions), {
436
+ timeoutMs: scopedOptions?.timeout ?? DEFAULT_GUARD_TIMEOUT_MS,
437
+ label: "stagehand-observe",
438
+ }));
264
439
  const latencyMs = performance.now() - t0;
265
440
  const parsed = v4_1.z.array(exports.ACTION_SCHEMA).safeParse(raw);
266
441
  if (!parsed.success) {
@@ -288,7 +463,13 @@ async function guardedObserve(stagehand, instruction, options, captureFn, frameT
288
463
  errorMessage: null,
289
464
  failureKind: null,
290
465
  }, captureFn);
291
- return parsed.data;
466
+ // Callers replay these actions directly (no substitution on that path),
467
+ // so tokens are resolved here; an action carrying a token the LLM
468
+ // invented would type it verbatim and is dropped.
469
+ return parsed.data
470
+ .map((action) => detokenizeAction(action, tokenized.variables))
471
+ .filter((action) => Object.keys(tokenized.variables).length === 0 ||
472
+ (action.arguments ?? []).every((arg) => (0, pii_redaction_1.unresolvedTokens)(arg, tokenized.variables).length === 0));
292
473
  }
293
474
  catch (err) {
294
475
  if (err instanceof StagehandSchemaError)
@@ -336,7 +517,7 @@ async function guardedExtract(stagehand, instruction, schema, options, captureFn
336
517
  // the cleanest public-API way to express "whatever overload-2 expects."
337
518
  // The `as unknown` step is needed because TS won't accept a single
338
519
  // direct cast across the entire overload set.
339
- const raw = await (0, watchdog_1.withWatchdog)(() => stagehand.extract(instruction, schema, frameScopedOptions(options, frameTarget)), { timeoutMs: options?.timeout ?? DEFAULT_GUARD_TIMEOUT_MS, label: "stagehand-extract" });
520
+ const raw = await retryTransient(() => (0, watchdog_1.withWatchdog)(() => stagehand.extract(instruction, schema, frameScopedOptions(options, frameTarget)), { timeoutMs: options?.timeout ?? DEFAULT_GUARD_TIMEOUT_MS, label: "stagehand-extract" }));
340
521
  const latencyMs = performance.now() - t0;
341
522
  const parsed = schema.safeParse(raw);
342
523
  if (!parsed.success) {
@@ -392,8 +573,13 @@ async function guardedExtract(stagehand, instruction, schema, options, captureFn
392
573
  * `LlmCallInput` contract (which already supports null for those fields).
393
574
  */
394
575
  async function captureCall(partial, captureFn = call_capture_1.captureLlmCall) {
576
+ // Replayed observe `Action`s keep literal arguments, so scrub here rather
577
+ // than relying on every caller-supplied sink to do it.
395
578
  await captureFn({
396
579
  ...partial,
580
+ userContent: (0, pii_redaction_1.redactPii)(partial.userContent),
581
+ responseContent: partial.responseContent === null ? null : (0, pii_redaction_1.redactPii)(partial.responseContent),
582
+ errorMessage: partial.errorMessage === null ? null : (0, pii_redaction_1.redactPii)(partial.errorMessage),
397
583
  model: "stagehand-internal",
398
584
  systemPrompt: null,
399
585
  inputTokens: null,
@@ -1 +1 @@
1
- {"version":3,"file":"stagehand-guard.js","sourceRoot":"","sources":["../../src/scraper/stagehand-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stagehand-guard.js","sourceRoot":"","sources":["../../src/scraper/stagehand-guard.ts"],"names":[],"mappings":"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"}