@enricai/barnacle 1.12.18 → 1.12.20

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 (45) hide show
  1. package/README.md +32 -1211
  2. package/dist/config.d.ts +8 -0
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +3 -0
  5. package/dist/config.js.map +1 -1
  6. package/dist/lib/merge-folded-primary-bodies.d.ts +10 -0
  7. package/dist/lib/merge-folded-primary-bodies.d.ts.map +1 -0
  8. package/dist/lib/merge-folded-primary-bodies.js +29 -0
  9. package/dist/lib/merge-folded-primary-bodies.js.map +1 -0
  10. package/dist/plugins/loader.d.ts.map +1 -1
  11. package/dist/plugins/loader.js +4 -1
  12. package/dist/plugins/loader.js.map +1 -1
  13. package/dist/scraper/errors.d.ts +7 -7
  14. package/dist/scraper/errors.js +7 -7
  15. package/dist/scraper/fake-timer-advance.d.ts +35 -8
  16. package/dist/scraper/fake-timer-advance.d.ts.map +1 -1
  17. package/dist/scraper/fake-timer-advance.js +29 -9
  18. package/dist/scraper/fake-timer-advance.js.map +1 -1
  19. package/dist/scraper/flow-runner.d.ts.map +1 -1
  20. package/dist/scraper/flow-runner.js +11 -13
  21. package/dist/scraper/flow-runner.js.map +1 -1
  22. package/dist/scraper/http-client.d.ts +1 -1
  23. package/dist/scraper/http-client.js +1 -1
  24. package/dist/scraper/pool.d.ts +3 -3
  25. package/dist/scraper/pool.js +5 -5
  26. package/dist/scripts/recon-browser.d.ts +9 -1
  27. package/dist/scripts/recon-browser.d.ts.map +1 -1
  28. package/dist/scripts/recon-browser.js +35 -1
  29. package/dist/scripts/recon-browser.js.map +1 -1
  30. package/dist/scripts/recon-generate-multicall-fixture.d.ts +505 -0
  31. package/dist/scripts/recon-generate-multicall-fixture.d.ts.map +1 -1
  32. package/dist/scripts/recon-generate-multicall-fixture.js +1440 -1
  33. package/dist/scripts/recon-generate-multicall-fixture.js.map +1 -1
  34. package/dist/scripts/recon-generate.d.ts +215 -6
  35. package/dist/scripts/recon-generate.d.ts.map +1 -1
  36. package/dist/scripts/recon-generate.js +1573 -49
  37. package/dist/scripts/recon-generate.js.map +1 -1
  38. package/dist/scripts/recon-heal.d.ts +3 -3
  39. package/dist/scripts/recon-heal.js +4 -4
  40. package/dist/scripts/recon-heal.js.map +1 -1
  41. package/dist/server.js +1 -1
  42. package/dist/server.js.map +1 -1
  43. package/dist/site-plugin.d.ts +4 -3
  44. package/dist/site-plugin.d.ts.map +1 -1
  45. package/package.json +2 -2
@@ -6456,15 +6456,15 @@ async function executeStepWithHealing(params) {
6456
6456
  * `frameTarget.frame` to `null` for the rest of the step, so every
6457
6457
  * deepLocator gate below tests a stale "unresolved" handle even after the
6458
6458
  * OOPIF actually attaches moments later (the run 5 vs. run 6 divergence in
6459
- * the bug report). Called just before each gate; re-checks with
6460
- * `timeoutMs: 0` — a single presence probe, no added poll delay — so a
6461
- * frame that has since attached is picked up without making the deadline
6462
- * that already elapsed matter again. Memoized (`frameReresolveAttempted`)
6463
- * so the cascade's several gates share one attempt instead of each
6464
- * re-checking; a target with no `declaredFrameSelector` (the frame was
6465
- * never declared, or resolution already succeeded) returns immediately
6466
- * without calling `resolveFrameTarget` at all, so main-frame-only flows do
6467
- * zero extra work.
6459
+ * the bug report). Called just before each gate; re-checks via
6460
+ * `probeAttachedFrameTarget` — a genuine `framePresenceProbeFloorMs`-backed
6461
+ * probe, not a poll — so a frame that has since attached is picked up
6462
+ * without re-running the full per-step poll. Memoized
6463
+ * (`frameReresolveAttempted`) so the cascade's several gates share one
6464
+ * attempt instead of each re-checking; a target with no
6465
+ * `declaredFrameSelector` (the frame was never declared, or resolution
6466
+ * already succeeded) returns immediately without probing at all, so
6467
+ * main-frame-only flows do zero extra work.
6468
6468
  */
6469
6469
  const reresolveFrameTargetIfLost = async () => {
6470
6470
  if (frameReresolveAttempted)
@@ -6472,10 +6472,8 @@ async function executeStepWithHealing(params) {
6472
6472
  frameReresolveAttempted = true;
6473
6473
  if (frameTarget?.frame || !frameTarget?.declaredFrameSelector)
6474
6474
  return;
6475
- const reresolved = await (0, frame_target_1.resolveFrameTarget)(page, frameTarget.declaredFrameSelector, {
6476
- timeoutMs: 0,
6477
- });
6478
- if (!reresolved.frame)
6475
+ const reresolved = await (0, frame_target_1.probeAttachedFrameTarget)(page, frameTarget.declaredFrameSelector);
6476
+ if (!reresolved?.frame)
6479
6477
  return;
6480
6478
  logger.info(`${formatStepPrefix(stepIndex, totalSteps)} frame ${frameTarget.declaredFrameSelector} attached after step entry — re-resolved before deepLocator gate`);
6481
6479
  frameTarget = reresolved;