@enricai/barnacle 1.12.81 → 1.13.0

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 (69) hide show
  1. package/dist/lib/ats-field-vocabulary.d.ts.map +1 -1
  2. package/dist/lib/ats-field-vocabulary.js +86 -3
  3. package/dist/lib/ats-field-vocabulary.js.map +1 -1
  4. package/dist/lib/llm/judges/verify-step-advanced.d.ts +1 -1
  5. package/dist/lib/llm/judges/verify-step-advanced.d.ts.map +1 -1
  6. package/dist/lib/llm/judges/verify-step-advanced.js +5 -3
  7. package/dist/lib/llm/judges/verify-step-advanced.js.map +1 -1
  8. package/dist/lib/llm/judges/verify-submit.d.ts +2 -2
  9. package/dist/lib/llm/judges/verify-submit.d.ts.map +1 -1
  10. package/dist/lib/llm/judges/verify-submit.js +17 -5
  11. package/dist/lib/llm/judges/verify-submit.js.map +1 -1
  12. package/dist/lib/random.d.ts +7 -3
  13. package/dist/lib/random.d.ts.map +1 -1
  14. package/dist/lib/random.js +27 -4
  15. package/dist/lib/random.js.map +1 -1
  16. package/dist/plugins/config-plugin.d.ts +1 -0
  17. package/dist/plugins/config-plugin.d.ts.map +1 -1
  18. package/dist/plugins/config-plugin.js +7 -1
  19. package/dist/plugins/config-plugin.js.map +1 -1
  20. package/dist/plugins/loader.d.ts +2 -2
  21. package/dist/plugins/loader.d.ts.map +1 -1
  22. package/dist/plugins/loader.js +6 -3
  23. package/dist/plugins/loader.js.map +1 -1
  24. package/dist/scraper/click-settle.d.ts +17 -2
  25. package/dist/scraper/click-settle.d.ts.map +1 -1
  26. package/dist/scraper/click-settle.js +36 -30
  27. package/dist/scraper/click-settle.js.map +1 -1
  28. package/dist/scraper/deep-locator-actuate.d.ts.map +1 -1
  29. package/dist/scraper/deep-locator-actuate.js +17 -1
  30. package/dist/scraper/deep-locator-actuate.js.map +1 -1
  31. package/dist/scraper/deep-locator-fake.js +1 -1
  32. package/dist/scraper/deep-locator-fake.js.map +1 -1
  33. package/dist/scraper/errors.d.ts +23 -2
  34. package/dist/scraper/errors.d.ts.map +1 -1
  35. package/dist/scraper/errors.js +32 -4
  36. package/dist/scraper/errors.js.map +1 -1
  37. package/dist/scraper/flow-runner.d.ts +176 -36
  38. package/dist/scraper/flow-runner.d.ts.map +1 -1
  39. package/dist/scraper/flow-runner.js +778 -326
  40. package/dist/scraper/flow-runner.js.map +1 -1
  41. package/dist/scraper/http-client.d.ts +7 -2
  42. package/dist/scraper/http-client.d.ts.map +1 -1
  43. package/dist/scraper/http-client.js +132 -19
  44. package/dist/scraper/http-client.js.map +1 -1
  45. package/dist/scraper/metrics.d.ts +2 -2
  46. package/dist/scraper/metrics.js +2 -2
  47. package/dist/scraper/phantom-click.d.ts +51 -1
  48. package/dist/scraper/phantom-click.d.ts.map +1 -1
  49. package/dist/scraper/phantom-click.js +170 -19
  50. package/dist/scraper/phantom-click.js.map +1 -1
  51. package/dist/scraper/runtime-capture-store.d.ts +38 -0
  52. package/dist/scraper/runtime-capture-store.d.ts.map +1 -0
  53. package/dist/scraper/runtime-capture-store.js +103 -0
  54. package/dist/scraper/runtime-capture-store.js.map +1 -0
  55. package/dist/scraper/segmented-date-spinbutton.d.ts +13 -0
  56. package/dist/scraper/segmented-date-spinbutton.d.ts.map +1 -0
  57. package/dist/scraper/segmented-date-spinbutton.js +71 -0
  58. package/dist/scraper/segmented-date-spinbutton.js.map +1 -0
  59. package/dist/scripts/recon-browser.d.ts +0 -8
  60. package/dist/scripts/recon-browser.d.ts.map +1 -1
  61. package/dist/scripts/recon-browser.js +102 -50
  62. package/dist/scripts/recon-browser.js.map +1 -1
  63. package/dist/scripts/recon-generate.d.ts +11 -0
  64. package/dist/scripts/recon-generate.d.ts.map +1 -1
  65. package/dist/scripts/recon-generate.js +180 -53
  66. package/dist/scripts/recon-generate.js.map +1 -1
  67. package/dist/site-plugin.d.ts +7 -4
  68. package/dist/site-plugin.d.ts.map +1 -1
  69. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"phantom-click.js","sourceRoot":"","sources":["../../src/scraper/phantom-click.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"phantom-click.js","sourceRoot":"","sources":["../../src/scraper/phantom-click.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { Capture } from "../scripts/recon-shared";
2
+ /** Upper bound on captures held per run so a long-lived session cannot grow without limit. */
3
+ export declare const RUNTIME_CAPTURE_LIMIT = 200;
4
+ /** Handle to a run's in-memory captures, passed explicitly so writes never depend on the async context. */
5
+ export interface RuntimeCaptureStore {
6
+ dir: string;
7
+ captures: Map<string, Capture>;
8
+ }
9
+ /**
10
+ * Runs `fn` with a private in-memory capture store so runtime flows can feed
11
+ * the same window detectors recon uses without touching disk. The store handle
12
+ * is passed to `fn` and registered by its dir marker until the run settles, so
13
+ * captures delivered from any async context land in the right run's store.
14
+ */
15
+ export declare function withRuntimeCaptureStore<T>(fn: (store: RuntimeCaptureStore) => T): T;
16
+ /**
17
+ * Records a capture into `store`. GET response bodies are dropped — they are
18
+ * static assets and prefetches, not action signals — and the oldest entries
19
+ * are evicted past {@link RUNTIME_CAPTURE_LIMIT}.
20
+ */
21
+ export declare function recordRuntimeCapture(store: RuntimeCaptureStore, filename: string, capture: Capture): void;
22
+ /**
23
+ * The directory capture readers should scan by default: the in-scope runtime
24
+ * store's marker, else the recon run's on-disk graphql dir.
25
+ */
26
+ export declare function defaultCapturesDir(): string;
27
+ /**
28
+ * Lists raw capture filenames in `dir` (excluding `.decoded.json` sidecars),
29
+ * from memory when `dir` is a live runtime store, else from disk. Returns []
30
+ * when the dir is unreadable.
31
+ */
32
+ export declare function listCaptureFiles(dir: string): string[];
33
+ /**
34
+ * Shared capture reader so detectors behave identically whether captures live
35
+ * in memory (runtime) or on disk (recon). Returns null when absent or unparseable.
36
+ */
37
+ export declare function readCaptureFile(dir: string, filename: string): Capture | null;
38
+ //# sourceMappingURL=runtime-capture-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-capture-store.d.ts","sourceRoot":"","sources":["../../src/scraper/runtime-capture-store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGtD,8FAA8F;AAC9F,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAIzC,2GAA2G;AAC3G,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAKD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,CAAC,GAAG,CAAC,CAqBnF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,GACf,IAAI,CAUN;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAMD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAQtD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAQ7E"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RUNTIME_CAPTURE_LIMIT = void 0;
4
+ exports.withRuntimeCaptureStore = withRuntimeCaptureStore;
5
+ exports.recordRuntimeCapture = recordRuntimeCapture;
6
+ exports.defaultCapturesDir = defaultCapturesDir;
7
+ exports.listCaptureFiles = listCaptureFiles;
8
+ exports.readCaptureFile = readCaptureFile;
9
+ const node_async_hooks_1 = require("node:async_hooks");
10
+ const node_crypto_1 = require("node:crypto");
11
+ const node_fs_1 = require("node:fs");
12
+ const node_path_1 = require("node:path");
13
+ const recon_shared_1 = require("../scripts/recon-shared");
14
+ /** Upper bound on captures held per run so a long-lived session cannot grow without limit. */
15
+ exports.RUNTIME_CAPTURE_LIMIT = 200;
16
+ const MEMORY_DIR_PREFIX = "memory:";
17
+ const storage = new node_async_hooks_1.AsyncLocalStorage();
18
+ const registry = new Map();
19
+ /**
20
+ * Runs `fn` with a private in-memory capture store so runtime flows can feed
21
+ * the same window detectors recon uses without touching disk. The store handle
22
+ * is passed to `fn` and registered by its dir marker until the run settles, so
23
+ * captures delivered from any async context land in the right run's store.
24
+ */
25
+ function withRuntimeCaptureStore(fn) {
26
+ const store = {
27
+ dir: `${MEMORY_DIR_PREFIX}${(0, node_crypto_1.randomUUID)()}`,
28
+ captures: new Map(),
29
+ };
30
+ registry.set(store.dir, store);
31
+ const release = () => {
32
+ registry.delete(store.dir);
33
+ };
34
+ try {
35
+ const result = storage.run(store, () => fn(store));
36
+ if (result instanceof Promise) {
37
+ result.then(release, release);
38
+ return result;
39
+ }
40
+ release();
41
+ return result;
42
+ }
43
+ catch (err) {
44
+ release();
45
+ throw err;
46
+ }
47
+ }
48
+ /**
49
+ * Records a capture into `store`. GET response bodies are dropped — they are
50
+ * static assets and prefetches, not action signals — and the oldest entries
51
+ * are evicted past {@link RUNTIME_CAPTURE_LIMIT}.
52
+ */
53
+ function recordRuntimeCapture(store, filename, capture) {
54
+ store.captures.set(filename, capture.method === "GET" ? { ...capture, responseBody: null } : capture);
55
+ while (store.captures.size > exports.RUNTIME_CAPTURE_LIMIT) {
56
+ const oldest = store.captures.keys().next().value;
57
+ if (oldest === undefined)
58
+ return;
59
+ store.captures.delete(oldest);
60
+ }
61
+ }
62
+ /**
63
+ * The directory capture readers should scan by default: the in-scope runtime
64
+ * store's marker, else the recon run's on-disk graphql dir.
65
+ */
66
+ function defaultCapturesDir() {
67
+ return storage.getStore()?.dir ?? (0, recon_shared_1.resolveReconRunDir)().graphqlDir;
68
+ }
69
+ function storeFor(dir) {
70
+ return registry.get(dir) ?? null;
71
+ }
72
+ /**
73
+ * Lists raw capture filenames in `dir` (excluding `.decoded.json` sidecars),
74
+ * from memory when `dir` is a live runtime store, else from disk. Returns []
75
+ * when the dir is unreadable.
76
+ */
77
+ function listCaptureFiles(dir) {
78
+ const store = storeFor(dir);
79
+ if (store)
80
+ return [...store.captures.keys()];
81
+ try {
82
+ return (0, node_fs_1.readdirSync)(dir).filter((f) => f.endsWith(".json") && !f.endsWith(".decoded.json"));
83
+ }
84
+ catch {
85
+ return [];
86
+ }
87
+ }
88
+ /**
89
+ * Shared capture reader so detectors behave identically whether captures live
90
+ * in memory (runtime) or on disk (recon). Returns null when absent or unparseable.
91
+ */
92
+ function readCaptureFile(dir, filename) {
93
+ const store = storeFor(dir);
94
+ if (store)
95
+ return store.captures.get(filename) ?? null;
96
+ try {
97
+ return JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(dir, filename), "utf8"));
98
+ }
99
+ catch {
100
+ return null;
101
+ }
102
+ }
103
+ //# sourceMappingURL=runtime-capture-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-capture-store.js","sourceRoot":"","sources":["../../src/scraper/runtime-capture-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * In-page helpers shared by the date-segment enumeration and the fill
3
+ * readback so "is this spinbutton one segment of a multi-segment widget" has a
4
+ * single definition; defines `spins`, `ownerOf` and `isDateSegment`.
5
+ */
6
+ export declare const SEGMENT_OWNER_JS = "\n const hiddenAttr = (node) => node.hasAttribute(\"hidden\") || node.getAttribute(\"aria-hidden\") === \"true\";\n const styleOf = (node) => {\n try { return typeof getComputedStyle === \"function\" ? getComputedStyle(node) : window.getComputedStyle(node); } catch { return null; }\n };\n const isHidden = (el) => {\n for (let node = el; node && node.nodeType === 1; node = node.parentElement) {\n if (hiddenAttr(node)) return true;\n const style = styleOf(node);\n if (style && (style.display === \"none\" || style.visibility === \"hidden\")) return true;\n }\n return false;\n };\n const spins = Array.from(document.querySelectorAll(\"input[role='spinbutton']\")).filter((el) => !isHidden(el));\n const norm = (s) => (s || \"\").replace(/\\s+/g, \" \").trim();\n const idText = (ids) => (ids || \"\").split(/\\s+/).map((id) => {\n const ref = id ? document.getElementById(id) : null;\n return ref ? norm(ref.textContent) : \"\";\n }).join(\" \");\n const legendOf = (node) => {\n const legend = node.tagName === \"FIELDSET\" ? node.querySelector(\":scope > legend\") : null;\n return legend ? norm(legend.textContent) : \"\";\n };\n const namedBy = (node) => [legendOf(node), norm(node.getAttribute(\"aria-label\")), idText(node.getAttribute(\"aria-labelledby\"))].filter(Boolean).join(\" \");\n const tiedToSpin = (l) => l.querySelector(\"input,[role='spinbutton']\") || (l.getAttribute(\"for\") && spins.some((sp) => sp.id === l.getAttribute(\"for\")));\n const hasCaption = (node) => namedBy(node) !== \"\" || Array.from(node.querySelectorAll(\"label,legend\")).some((l) => !tiedToSpin(l));\n const captionOwnerOf = (el) => {\n const explicit = el.closest(\"fieldset,[role='group']\");\n if (explicit) return explicit;\n for (let node = el.parentElement; node && node !== document.body; node = node.parentElement) {\n if (hasCaption(node)) return node;\n }\n return null;\n };\n const bareSpins = spins.filter((sp) => !captionOwnerOf(sp));\n const hasOtherControl = (node) => Array.from(node.querySelectorAll(\"input,select,textarea\")).some((c) => !spins.includes(c) && c.type !== \"hidden\");\n // Segments that each sit in their own uncaptioned wrapper share no\n // fieldset/caption, so the nearest ancestor holding several bare spinbuttons\n // (and no other form control) is the widget they belong to.\n const bareOwnerOf = (el) => {\n for (let node = el.parentElement; node && node !== document.body; node = node.parentElement) {\n if (hasOtherControl(node)) break;\n if (bareSpins.filter((sp) => node.contains(sp)).length > 1) return node;\n }\n return el.parentElement;\n };\n const ownerOf = (el) => captionOwnerOf(el) || bareOwnerOf(el);\n const isDateSegment = (el) => {\n if (!el.getAttribute || el.getAttribute(\"role\") !== \"spinbutton\" || !spins.includes(el)) return false;\n const box = ownerOf(el);\n return spins.filter((sp) => ownerOf(sp) === box).length > 1;\n };\n";
7
+ /**
8
+ * Expression evaluated with `this` as a resolved element; lets actuation code
9
+ * decide before writing whether the element is one segment of a multi-segment
10
+ * date widget, using the same detector the enumeration and readback use.
11
+ */
12
+ export declare const IS_DATE_SEGMENT_EXPR = "(function () {\n \n const hiddenAttr = (node) => node.hasAttribute(\"hidden\") || node.getAttribute(\"aria-hidden\") === \"true\";\n const styleOf = (node) => {\n try { return typeof getComputedStyle === \"function\" ? getComputedStyle(node) : window.getComputedStyle(node); } catch { return null; }\n };\n const isHidden = (el) => {\n for (let node = el; node && node.nodeType === 1; node = node.parentElement) {\n if (hiddenAttr(node)) return true;\n const style = styleOf(node);\n if (style && (style.display === \"none\" || style.visibility === \"hidden\")) return true;\n }\n return false;\n };\n const spins = Array.from(document.querySelectorAll(\"input[role='spinbutton']\")).filter((el) => !isHidden(el));\n const norm = (s) => (s || \"\").replace(/\\s+/g, \" \").trim();\n const idText = (ids) => (ids || \"\").split(/\\s+/).map((id) => {\n const ref = id ? document.getElementById(id) : null;\n return ref ? norm(ref.textContent) : \"\";\n }).join(\" \");\n const legendOf = (node) => {\n const legend = node.tagName === \"FIELDSET\" ? node.querySelector(\":scope > legend\") : null;\n return legend ? norm(legend.textContent) : \"\";\n };\n const namedBy = (node) => [legendOf(node), norm(node.getAttribute(\"aria-label\")), idText(node.getAttribute(\"aria-labelledby\"))].filter(Boolean).join(\" \");\n const tiedToSpin = (l) => l.querySelector(\"input,[role='spinbutton']\") || (l.getAttribute(\"for\") && spins.some((sp) => sp.id === l.getAttribute(\"for\")));\n const hasCaption = (node) => namedBy(node) !== \"\" || Array.from(node.querySelectorAll(\"label,legend\")).some((l) => !tiedToSpin(l));\n const captionOwnerOf = (el) => {\n const explicit = el.closest(\"fieldset,[role='group']\");\n if (explicit) return explicit;\n for (let node = el.parentElement; node && node !== document.body; node = node.parentElement) {\n if (hasCaption(node)) return node;\n }\n return null;\n };\n const bareSpins = spins.filter((sp) => !captionOwnerOf(sp));\n const hasOtherControl = (node) => Array.from(node.querySelectorAll(\"input,select,textarea\")).some((c) => !spins.includes(c) && c.type !== \"hidden\");\n // Segments that each sit in their own uncaptioned wrapper share no\n // fieldset/caption, so the nearest ancestor holding several bare spinbuttons\n // (and no other form control) is the widget they belong to.\n const bareOwnerOf = (el) => {\n for (let node = el.parentElement; node && node !== document.body; node = node.parentElement) {\n if (hasOtherControl(node)) break;\n if (bareSpins.filter((sp) => node.contains(sp)).length > 1) return node;\n }\n return el.parentElement;\n };\n const ownerOf = (el) => captionOwnerOf(el) || bareOwnerOf(el);\n const isDateSegment = (el) => {\n if (!el.getAttribute || el.getAttribute(\"role\") !== \"spinbutton\" || !spins.includes(el)) return false;\n const box = ownerOf(el);\n return spins.filter((sp) => ownerOf(sp) === box).length > 1;\n };\n\n return isDateSegment(this);\n})";
13
+ //# sourceMappingURL=segmented-date-spinbutton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmented-date-spinbutton.d.ts","sourceRoot":"","sources":["../../src/scraper/segmented-date-spinbutton.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,o8FAoD5B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,y/FAG9B,CAAC"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IS_DATE_SEGMENT_EXPR = exports.SEGMENT_OWNER_JS = void 0;
4
+ /**
5
+ * In-page helpers shared by the date-segment enumeration and the fill
6
+ * readback so "is this spinbutton one segment of a multi-segment widget" has a
7
+ * single definition; defines `spins`, `ownerOf` and `isDateSegment`.
8
+ */
9
+ exports.SEGMENT_OWNER_JS = `
10
+ const hiddenAttr = (node) => node.hasAttribute("hidden") || node.getAttribute("aria-hidden") === "true";
11
+ const styleOf = (node) => {
12
+ try { return typeof getComputedStyle === "function" ? getComputedStyle(node) : window.getComputedStyle(node); } catch { return null; }
13
+ };
14
+ const isHidden = (el) => {
15
+ for (let node = el; node && node.nodeType === 1; node = node.parentElement) {
16
+ if (hiddenAttr(node)) return true;
17
+ const style = styleOf(node);
18
+ if (style && (style.display === "none" || style.visibility === "hidden")) return true;
19
+ }
20
+ return false;
21
+ };
22
+ const spins = Array.from(document.querySelectorAll("input[role='spinbutton']")).filter((el) => !isHidden(el));
23
+ const norm = (s) => (s || "").replace(/\\s+/g, " ").trim();
24
+ const idText = (ids) => (ids || "").split(/\\s+/).map((id) => {
25
+ const ref = id ? document.getElementById(id) : null;
26
+ return ref ? norm(ref.textContent) : "";
27
+ }).join(" ");
28
+ const legendOf = (node) => {
29
+ const legend = node.tagName === "FIELDSET" ? node.querySelector(":scope > legend") : null;
30
+ return legend ? norm(legend.textContent) : "";
31
+ };
32
+ const namedBy = (node) => [legendOf(node), norm(node.getAttribute("aria-label")), idText(node.getAttribute("aria-labelledby"))].filter(Boolean).join(" ");
33
+ const tiedToSpin = (l) => l.querySelector("input,[role='spinbutton']") || (l.getAttribute("for") && spins.some((sp) => sp.id === l.getAttribute("for")));
34
+ const hasCaption = (node) => namedBy(node) !== "" || Array.from(node.querySelectorAll("label,legend")).some((l) => !tiedToSpin(l));
35
+ const captionOwnerOf = (el) => {
36
+ const explicit = el.closest("fieldset,[role='group']");
37
+ if (explicit) return explicit;
38
+ for (let node = el.parentElement; node && node !== document.body; node = node.parentElement) {
39
+ if (hasCaption(node)) return node;
40
+ }
41
+ return null;
42
+ };
43
+ const bareSpins = spins.filter((sp) => !captionOwnerOf(sp));
44
+ const hasOtherControl = (node) => Array.from(node.querySelectorAll("input,select,textarea")).some((c) => !spins.includes(c) && c.type !== "hidden");
45
+ // Segments that each sit in their own uncaptioned wrapper share no
46
+ // fieldset/caption, so the nearest ancestor holding several bare spinbuttons
47
+ // (and no other form control) is the widget they belong to.
48
+ const bareOwnerOf = (el) => {
49
+ for (let node = el.parentElement; node && node !== document.body; node = node.parentElement) {
50
+ if (hasOtherControl(node)) break;
51
+ if (bareSpins.filter((sp) => node.contains(sp)).length > 1) return node;
52
+ }
53
+ return el.parentElement;
54
+ };
55
+ const ownerOf = (el) => captionOwnerOf(el) || bareOwnerOf(el);
56
+ const isDateSegment = (el) => {
57
+ if (!el.getAttribute || el.getAttribute("role") !== "spinbutton" || !spins.includes(el)) return false;
58
+ const box = ownerOf(el);
59
+ return spins.filter((sp) => ownerOf(sp) === box).length > 1;
60
+ };
61
+ `;
62
+ /**
63
+ * Expression evaluated with `this` as a resolved element; lets actuation code
64
+ * decide before writing whether the element is one segment of a multi-segment
65
+ * date widget, using the same detector the enumeration and readback use.
66
+ */
67
+ exports.IS_DATE_SEGMENT_EXPR = `(function () {
68
+ ${exports.SEGMENT_OWNER_JS}
69
+ return isDateSegment(this);
70
+ })`;
71
+ //# sourceMappingURL=segmented-date-spinbutton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmented-date-spinbutton.js","sourceRoot":"","sources":["../../src/scraper/segmented-date-spinbutton.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACU,QAAA,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoD/B,CAAC;AAEF;;;;GAIG;AACU,QAAA,oBAAoB,GAAG;IAChC,QAAA,gBAAgB;;GAEjB,CAAC"}
@@ -490,14 +490,6 @@ export declare function decideReplanNoProgress(newSteps: readonly NormalizedStep
490
490
  * is ambiguous.
491
491
  */
492
492
  export declare function hasPageAlreadyAdvancedPastStep(stepStartUrl: string, currentUrl: string, stepInstruction: string): boolean;
493
- /**
494
- * DOM-advance counterpart of {@link hasPageAlreadyAdvancedPastStep} for
495
- * non-final submit-shaped steps, whose SPA wizards swap content without a URL
496
- * change. Reuses the shared {@link hasPageAdvanced} judgement over the
497
- * step-start and live visible-text signatures; a final step is never credited
498
- * here because its completion is owned by the submit-destination judge.
499
- */
500
- export declare function hasSubmitStepDomAdvanced(isFinalStep: boolean, preVisibleTextSignature: string | undefined, liveVisibleTextSignature: string | undefined): boolean;
501
493
  /**
502
494
  * Detect a replan that proposes a Sign-In/Log-In recovery bridge after the
503
495
  * completed-steps history already shows an account-creation/registration step.
@@ -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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"}
@@ -65,7 +65,6 @@ exports.filterReplanDuplicatingNextAuthored = filterReplanDuplicatingNextAuthore
65
65
  exports.isReplanReproposingFailedStep = isReplanReproposingFailedStep;
66
66
  exports.decideReplanNoProgress = decideReplanNoProgress;
67
67
  exports.hasPageAlreadyAdvancedPastStep = hasPageAlreadyAdvancedPastStep;
68
- exports.hasSubmitStepDomAdvanced = hasSubmitStepDomAdvanced;
69
68
  exports.isReplanRegressingAcrossAuthBoundary = isReplanRegressingAcrossAuthBoundary;
70
69
  exports.isSubmitShapedInstructionText = isSubmitShapedInstructionText;
71
70
  exports.seedSubmitStepFromOwnInstructionText = seedSubmitStepFromOwnInstructionText;
@@ -94,7 +93,6 @@ const http_1 = require("../lib/http");
94
93
  const anthropic_client_1 = require("../lib/llm/anthropic-client");
95
94
  const error_messages_1 = require("../lib/llm/judges/error-messages");
96
95
  const invalid_fields_1 = require("../lib/llm/judges/invalid-fields");
97
- const verify_submit_1 = require("../lib/llm/judges/verify-submit");
98
96
  const schemas_1 = require("../lib/llm/schemas");
99
97
  const logging_1 = require("../lib/logging");
100
98
  const call_capture_1 = require("../lib/telemetry/call-capture");
@@ -1243,18 +1241,6 @@ function hasPageAlreadyAdvancedPastStep(stepStartUrl, currentUrl, stepInstructio
1243
1241
  return false;
1244
1242
  return (0, phantom_click_1.isPlausibleStepDestination)(stepInstruction, currentUrl);
1245
1243
  }
1246
- /**
1247
- * DOM-advance counterpart of {@link hasPageAlreadyAdvancedPastStep} for
1248
- * non-final submit-shaped steps, whose SPA wizards swap content without a URL
1249
- * change. Reuses the shared {@link hasPageAdvanced} judgement over the
1250
- * step-start and live visible-text signatures; a final step is never credited
1251
- * here because its completion is owned by the submit-destination judge.
1252
- */
1253
- function hasSubmitStepDomAdvanced(isFinalStep, preVisibleTextSignature, liveVisibleTextSignature) {
1254
- if (isFinalStep)
1255
- return false;
1256
- return (0, phantom_click_1.hasPageAdvanced)({ networkCount: 0, url: "", bodyHtmlLength: 0, visibleTextSignature: preVisibleTextSignature }, { networkCount: 0, url: "", bodyHtmlLength: 0, visibleTextSignature: liveVisibleTextSignature });
1257
- }
1258
1244
  /** Word-boundary phrase patterns identifying an account-creation/registration step. */
1259
1245
  const ACCOUNT_CREATION_PATTERNS = [
1260
1246
  /\bcreate\s+(an\s+)?account\b/,
@@ -2414,9 +2400,25 @@ async function main() {
2414
2400
  // in-frame navigation would otherwise be invisible to the top-level
2415
2401
  // page.url() this used to read.
2416
2402
  const urlAtStepStart = await (0, frame_target_1.readCurrentFrameUrl)(page, frameTarget);
2417
- const textAtStepStart = step.submitStep
2418
- ? (await (0, flow_runner_1.snapshotPage)(frameTarget, signalCounter).catch(() => undefined))
2419
- ?.visibleTextSignature
2403
+ const stepFlowHasSubmitSemantics = (0, flow_runner_1.flowHasSubmitSemantics)({
2404
+ steps: plan.map((s) => ({
2405
+ submitStep: s.submitStep === true,
2406
+ instruction: s.instruction,
2407
+ })),
2408
+ submitEndpointPattern,
2409
+ requireSubmitEndpointMatch,
2410
+ });
2411
+ const midFlowSubmitShaped = (0, flow_runner_1.isMidFlowSubmitShapedStep)({
2412
+ step: step.instruction,
2413
+ submitStep: step.submitStep === true,
2414
+ isFinalStep: i === plan.length - 1,
2415
+ flowHasSubmitSemantics: stepFlowHasSubmitSemantics,
2416
+ });
2417
+ let elementBaseline;
2418
+ const textAtStepStart = midFlowSubmitShaped ||
2419
+ step.submitStep === true ||
2420
+ (step.optional && i >= plan.length - flow_runner_1.TRAILING_GRACE_WINDOW)
2421
+ ? await (0, flow_runner_1.snapshotPage)(frameTarget, signalCounter).catch(() => undefined)
2420
2422
  : undefined;
2421
2423
  // A child frame CDP has just attached to may still be sitting on
2422
2424
  // about:blank (the moment right after Target.setAutoAttach fires and
@@ -2492,6 +2494,9 @@ async function main() {
2492
2494
  captureFn,
2493
2495
  onStepFailure: dumpStepFailure,
2494
2496
  onStepHeal: dumpStepHeal,
2497
+ onElementStepStartBaseline: (snapshot) => {
2498
+ elementBaseline = snapshot;
2499
+ },
2495
2500
  });
2496
2501
  // Races the step's own promise against the session's teardown death
2497
2502
  // signal (bugfix-003's raceAgainstTeardown): when Stagehand's CDP
@@ -2581,12 +2586,37 @@ async function main() {
2581
2586
  // matches, so skip the replan dispatcher entirely and resume with
2582
2587
  // the remaining tail.
2583
2588
  const urlAfterFailure = await (0, frame_target_1.readCurrentFrameUrl)(page, frameTarget);
2584
- const urlAdvanced = !step.submitStep &&
2589
+ const baselineText = textAtStepStart ?? elementBaseline;
2590
+ // An element-level submit-shaped click (adopted baseline) is mid-flow
2591
+ // under the same class the in-cascade sites used, unless genuine final.
2592
+ const midFlowSubmit = (0, flow_runner_1.isMidFlowSubmitShapedStep)({
2593
+ step: step.instruction,
2594
+ submitStep: step.submitStep === true,
2595
+ isFinalStep: i === plan.length - 1,
2596
+ flowHasSubmitSemantics: stepFlowHasSubmitSemantics,
2597
+ elementSubmitShaped: elementBaseline !== undefined,
2598
+ });
2599
+ const baselineEligible = midFlowSubmit;
2600
+ const urlAdvanced = (!step.submitStep || midFlowSubmit) &&
2585
2601
  hasPageAlreadyAdvancedPastStep(urlAtStepStart, urlAfterFailure, step.instruction);
2586
- const domAdvanced = !urlAdvanced &&
2587
- step.submitStep === true &&
2588
- hasSubmitStepDomAdvanced(i === plan.length - 1, textAtStepStart, (await (0, flow_runner_1.snapshotPage)(frameTarget, signalCounter).catch(() => undefined))
2589
- ?.visibleTextSignature);
2602
+ const settledAdvance = !urlAdvanced && baselineEligible && baselineText !== undefined
2603
+ ? await (0, flow_runner_1.readMidFlowPostClickAdvance)({
2604
+ target: frameTarget,
2605
+ signalCounter,
2606
+ page,
2607
+ pre: {
2608
+ ...baselineText,
2609
+ networkCount: baselineText.networkCount ?? signalCounter.n,
2610
+ },
2611
+ stepStartSnapshot: baselineText,
2612
+ midFlowSubmit,
2613
+ io: { settle: flow_runner_1.settleWithPageQuiescence, snapshot: flow_runner_1.snapshotPage },
2614
+ }).catch((err) => {
2615
+ logger.warn(`${(0, flow_runner_1.formatStepPrefix)(i, () => plan.length)} post-failure settle failed: ${err instanceof Error ? err.message : String(err)}; not crediting an unsettled read`);
2616
+ return undefined;
2617
+ })
2618
+ : undefined;
2619
+ const domAdvanced = settledAdvance?.pageAdvanced === true;
2590
2620
  if (urlAdvanced || domAdvanced) {
2591
2621
  logger.info(`${(0, flow_runner_1.formatStepPrefix)(i, () => plan.length)} verification failed but the page already advanced past this step (${urlAtStepStart} → ${urlAfterFailure}); treating as completed and resuming remaining tail`);
2592
2622
  consecutiveStaleSkips = 0;
@@ -2629,35 +2659,57 @@ async function main() {
2629
2659
  timeoutMs: config_1.config.scraper.frameEvaluateTimeoutMs,
2630
2660
  label: "trailing-grace: page title",
2631
2661
  }).catch(() => "");
2632
- const trailingGraceVerdict = await (0, verify_submit_1.verifySubmitWithLLM)({
2633
- client: anthropic,
2634
- input: {
2635
- ...(await (0, flow_runner_1.buildSubmitJudgeStepContext)({
2636
- step: step.instruction,
2637
- isFinalStep: i === plan.length - 1,
2638
- target: (0, frame_target_1.mainFrameTarget)(page),
2639
- })),
2640
- // A dead session throws synchronously here too — fall back to ""
2641
- // rather than let the trailing-grace check itself crash the run.
2642
- pageUrl: (() => {
2643
- try {
2644
- return page.url();
2645
- }
2646
- catch {
2647
- return "";
2648
- }
2649
- })(),
2650
- pageTitle,
2651
- unfocusedObserve: [],
2652
- networkCaptures: recentCaptureMeta,
2653
- invalidMarkerCount: 0,
2654
- ownBackendHostnames,
2655
- successUrlFragments,
2656
- successPageTitleHints,
2657
- submittedStateSelectors,
2658
- },
2659
- captureFn,
2662
+ const trailingGraceFlowHasSubmitSemantics = (0, flow_runner_1.flowHasSubmitSemantics)({
2663
+ steps: plan.map((s) => ({
2664
+ submitStep: s.submitStep === true,
2665
+ instruction: s.instruction,
2666
+ })),
2667
+ submitEndpointPattern,
2668
+ requireSubmitEndpointMatch,
2660
2669
  });
2670
+ // A dead session throws synchronously here too — fall back to ""
2671
+ // rather than let the trailing-grace check itself crash the run.
2672
+ const trailingGracePageUrl = (() => {
2673
+ try {
2674
+ return page.url();
2675
+ }
2676
+ catch {
2677
+ return "";
2678
+ }
2679
+ })();
2680
+ // A non-final trailing step is judged through judgeStepOutcome so the
2681
+ // page is settled first; an unsettled read can land between a header
2682
+ // flip and the late body re-render and be held to final-submit proof.
2683
+ const trailingGraceVerdict = baselineText === undefined
2684
+ ? undefined
2685
+ : await (0, flow_runner_1.judgeStepOutcome)({
2686
+ client: anthropic,
2687
+ captureFn,
2688
+ step: step.instruction,
2689
+ isFinalStep: i === plan.length - 1,
2690
+ submitStep: step.submitStep === true,
2691
+ flowHasSubmitSemantics: trailingGraceFlowHasSubmitSemantics,
2692
+ elementSubmitShaped: midFlowSubmitShaped,
2693
+ page,
2694
+ target: (0, frame_target_1.mainFrameTarget)(page),
2695
+ signalCounter,
2696
+ preNetworkCount: baselineText.networkCount ?? signalCounter.n,
2697
+ preVisibleTextSignature: baselineText.visibleTextSignature,
2698
+ preVisibleText: baselineText.visibleText,
2699
+ preVisibleTextDigest: baselineText.visibleTextDigest,
2700
+ settledPostVisibleText: settledAdvance?.post.visibleText,
2701
+ submitInput: {
2702
+ pageUrl: trailingGracePageUrl,
2703
+ pageTitle,
2704
+ unfocusedObserve: [],
2705
+ networkCaptures: recentCaptureMeta,
2706
+ invalidMarkerCount: 0,
2707
+ ownBackendHostnames,
2708
+ successUrlFragments,
2709
+ successPageTitleHints,
2710
+ submittedStateSelectors,
2711
+ },
2712
+ });
2661
2713
  if (trailingGraceVerdict?.verified) {
2662
2714
  logger.info(`${(0, flow_runner_1.formatStepPrefix)(i, () => plan.length)} optional + trailing position; judge verified recent submit (${trailingGraceVerdict.rationale}) — treating verification failure as benign no-op; recon complete`);
2663
2715
  exitedViaTrailingGrace = true;