@enricai/barnacle 1.12.9 → 1.12.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/config.d.ts +7 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/lib/random.d.ts +8 -0
- package/dist/lib/random.d.ts.map +1 -1
- package/dist/lib/random.js +12 -0
- package/dist/lib/random.js.map +1 -1
- package/dist/scraper/retry.d.ts +1 -1
- package/dist/scraper/retry.d.ts.map +1 -1
- package/dist/scraper/retry.js +3 -2
- package/dist/scraper/retry.js.map +1 -1
- package/dist/scraper/session-teardown.d.ts +1 -1
- package/dist/scraper/session-teardown.js +2 -2
- package/dist/scraper/session-teardown.js.map +1 -1
- package/dist/scripts/recon-browser.d.ts.map +1 -1
- package/dist/scripts/recon-browser.js +628 -581
- package/dist/scripts/recon-browser.js.map +1 -1
- package/dist/scripts/recon-generate.d.ts.map +1 -1
- package/dist/scripts/recon-generate.js +254 -123
- package/dist/scripts/recon-generate.js.map +1 -1
- package/package.json +5 -1
package/README.md
CHANGED
|
@@ -633,7 +633,9 @@ Cache key: `<endpoint>:<sha256(canonical payload)[:32]>` — the endpoint is a l
|
|
|
633
633
|
|
|
634
634
|
**Per-task hang ceiling:** each queued task races against `TASK_TIMEOUT_MS` (`src/scraper/pool.ts`, **60 minutes** by default). A hung `execute()` — frozen CDP connection, infinite network wait — converts to `SessionTimeoutError`, which the retry policy handles by tearing down the broken session and creating a fresh one. The default is sized for long browser flows; shorten per-plugin via `SitePluginMeta.taskTimeoutMs`. This is a hang-recovery floor, not a p99 latency budget.
|
|
635
635
|
|
|
636
|
-
**Retry policy:** `withScraperRetry` (`src/scraper/retry.ts`) uses p-retry with `factor: 2`, `minTimeout: 500ms`, `maxTimeout: 5000ms`, `randomize: true`, and default `maxAttempts: 3`. `EmptyResultsError`, `CaptchaError`, and `StepVerificationError` short-circuit retries (abort after the first attempt — a deterministic verification failure won't resolve by re-running the whole flow); `SessionTimeoutError`
|
|
636
|
+
**Retry policy:** `withScraperRetry` (`src/scraper/retry.ts`) uses p-retry with `factor: 2`, `minTimeout: 500ms`, `maxTimeout: 5000ms`, `randomize: true`, and default `maxAttempts: 3`. `EmptyResultsError`, `CaptchaError`, and `StepVerificationError` short-circuit retries (abort after the first attempt — a deterministic verification failure won't resolve by re-running the whole flow); `SessionTimeoutError` and `CdpTransportClosedError` both trigger a session restart before every retry attempt, not just the first.
|
|
637
|
+
|
|
638
|
+
`src/scripts/recon-browser.ts`'s `main()` applies the same policy at the whole-flow level: it wraps a single-attempt `runFlowAttempt()` (session creation → step loop → replan write-back) in `withScraperRetry`, bounded by `config.scraper.maxTransportRetries` (default 3, `RECON_MAX_TRANSPORT_RETRIES`). Only a `CdpTransportClosedError` — a CDP transport teardown detected mid-flow while traffic is still active — retries on a brand-new session; every other failure mode (`isFlowTruncated`, `StepVerificationError`, etc.) still exits/rejects after exactly one attempt, exactly as before this retry loop was added.
|
|
637
639
|
|
|
638
640
|
**Graceful shutdown:** `drainPool()` is called during graceful shutdown — `SIGTERM`/`SIGINT` triggers `app.close()`, which fires Fastify's `onClose` hook, which calls `drainPool()`. It pauses new intake, waits up to 20 seconds for in-flight tasks to close their Steel sessions, then resolves. Without this, process exit leaves live sessions billing until Steel's own timeout.
|
|
639
641
|
|
package/dist/config.d.ts
CHANGED
|
@@ -59,6 +59,13 @@ export interface AppConfig {
|
|
|
59
59
|
* ones. Overridable per-run by `--max-probe-replans`.
|
|
60
60
|
*/
|
|
61
61
|
maxProbeReplans: number;
|
|
62
|
+
/**
|
|
63
|
+
* Ceiling for whole-flow retry attempts on transport failures. Matches
|
|
64
|
+
* `withScraperRetry`'s own default `maxAttempts` so the config knob and
|
|
65
|
+
* the hard-coded fallback stay in agreement. Overridable via
|
|
66
|
+
* `RECON_MAX_TRANSPORT_RETRIES`.
|
|
67
|
+
*/
|
|
68
|
+
maxTransportRetries: number;
|
|
62
69
|
/**
|
|
63
70
|
* Per-site base URL overrides keyed by `meta.siteId`. Populated at startup
|
|
64
71
|
* from `BARNACLE_SITE_<UPPERCASE_SITE_ID>_BASE_URL` env vars — underscores
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -55,6 +55,7 @@ function loadConfig() {
|
|
|
55
55
|
readinessQueueThreshold: (0, env_1.getNumericEnv)("READINESS_QUEUE_THRESHOLD", 20),
|
|
56
56
|
maxCascadeReplans: (0, env_1.getNumericEnv)("RECON_MAX_CASCADE_REPLANS", 5),
|
|
57
57
|
maxProbeReplans: (0, env_1.getNumericEnv)("RECON_MAX_PROBE_REPLANS", 5),
|
|
58
|
+
maxTransportRetries: (0, env_1.getNumericEnv)("RECON_MAX_TRANSPORT_RETRIES", 3),
|
|
58
59
|
siteBaseUrls: (() => {
|
|
59
60
|
const map = {};
|
|
60
61
|
for (const [key, val] of Object.entries(process.env)) {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;AAAA,mCAAuF;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/random.d.ts
CHANGED
|
@@ -19,4 +19,12 @@ export declare function randomIntInclusive(min: number, max: number): number;
|
|
|
19
19
|
* type does not prove non-emptiness at compile time.
|
|
20
20
|
*/
|
|
21
21
|
export declare function pickRandom<T>(arr: readonly T[]): T;
|
|
22
|
+
/**
|
|
23
|
+
* Mints a fresh, single-use credential value for a flow step that must fill a
|
|
24
|
+
* password field but has no caller-supplied secret to splice — recon-captured
|
|
25
|
+
* credentials must never leak into a generated flow, and a fixed literal would
|
|
26
|
+
* be a shared secret across every run. `node:crypto`'s CSPRNG (not `Math.random`,
|
|
27
|
+
* which backs the jitter helpers above) keeps the value unguessable.
|
|
28
|
+
*/
|
|
29
|
+
export declare function generateThrowawayPassword(): string;
|
|
22
30
|
//# sourceMappingURL=random.d.ts.map
|
package/dist/lib/random.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../src/lib/random.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../src/lib/random.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,CAGlD;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAElD"}
|
package/dist/lib/random.js
CHANGED
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
11
|
exports.randomIntInclusive = randomIntInclusive;
|
|
12
12
|
exports.pickRandom = pickRandom;
|
|
13
|
+
exports.generateThrowawayPassword = generateThrowawayPassword;
|
|
14
|
+
const node_crypto_1 = require("node:crypto");
|
|
13
15
|
/**
|
|
14
16
|
* Returns a uniformly distributed integer in the inclusive range [min, max].
|
|
15
17
|
* If `max <= min` the function returns `min` rather than producing NaN or
|
|
@@ -30,4 +32,14 @@ function pickRandom(arr) {
|
|
|
30
32
|
const index = randomIntInclusive(0, arr.length - 1);
|
|
31
33
|
return arr[index] ?? arr[0];
|
|
32
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Mints a fresh, single-use credential value for a flow step that must fill a
|
|
37
|
+
* password field but has no caller-supplied secret to splice — recon-captured
|
|
38
|
+
* credentials must never leak into a generated flow, and a fixed literal would
|
|
39
|
+
* be a shared secret across every run. `node:crypto`'s CSPRNG (not `Math.random`,
|
|
40
|
+
* which backs the jitter helpers above) keeps the value unguessable.
|
|
41
|
+
*/
|
|
42
|
+
function generateThrowawayPassword() {
|
|
43
|
+
return (0, node_crypto_1.randomBytes)(24).toString("base64url");
|
|
44
|
+
}
|
|
33
45
|
//# sourceMappingURL=random.js.map
|
package/dist/lib/random.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"random.js","sourceRoot":"","sources":["../../src/lib/random.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG
|
|
1
|
+
{"version":3,"file":"random.js","sourceRoot":"","sources":["../../src/lib/random.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;AAEH,6CAA0C;AAE1C;;;;GAIG;AACH,4BAAmC,GAAW,EAAE,GAAW;IACzD,IAAI,GAAG,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,oBAA8B,GAAiB;IAC7C,MAAM,KAAK,GAAG,kBAAkB,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC,KAAK,CAAC,IAAK,GAAG,CAAC,CAAC,CAAO,CAAC;AACrC,CAAC;AAED;;;;;;GAMG;AACH;IACE,OAAO,IAAA,yBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC/C,CAAC"}
|
package/dist/scraper/retry.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export interface RetryOptions {
|
|
|
17
17
|
* with our ScraperError hierarchy:
|
|
18
18
|
*
|
|
19
19
|
* - CaptchaError + EmptyResultsError + StepVerificationError → AbortError, no retry.
|
|
20
|
-
* - SessionTimeoutError → invoke onSessionRestart before every retry, then retry up to maxAttempts.
|
|
20
|
+
* - SessionTimeoutError + CdpTransportClosedError → invoke onSessionRestart before every retry, then retry up to maxAttempts.
|
|
21
21
|
* - SelectorFailureError + UnknownScraperError → retry up to maxAttempts.
|
|
22
22
|
* - Anything non-ScraperError → wrap in UnknownScraperError and retry.
|
|
23
23
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/scraper/retry.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/scraper/retry.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,YAAY,EAKb,MAAM,kBAAkB,CAAC;AAI1B;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,mEAAmE;IACnE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACtB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,CAAC,CAAC,CAuDZ;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAmB/D"}
|
package/dist/scraper/retry.js
CHANGED
|
@@ -45,7 +45,7 @@ const logger = (0, logging_1.getLogger)({ name: "scraper/retry" });
|
|
|
45
45
|
* with our ScraperError hierarchy:
|
|
46
46
|
*
|
|
47
47
|
* - CaptchaError + EmptyResultsError + StepVerificationError → AbortError, no retry.
|
|
48
|
-
* - SessionTimeoutError → invoke onSessionRestart before every retry, then retry up to maxAttempts.
|
|
48
|
+
* - SessionTimeoutError + CdpTransportClosedError → invoke onSessionRestart before every retry, then retry up to maxAttempts.
|
|
49
49
|
* - SelectorFailureError + UnknownScraperError → retry up to maxAttempts.
|
|
50
50
|
* - Anything non-ScraperError → wrap in UnknownScraperError and retry.
|
|
51
51
|
*
|
|
@@ -75,7 +75,8 @@ async function withScraperRetry(task, options = {}) {
|
|
|
75
75
|
logger.warn(`step verification failed deterministically — aborting retry: ${err.message}`);
|
|
76
76
|
throw new p_retry_1.AbortError(err.message);
|
|
77
77
|
}
|
|
78
|
-
if (err instanceof errors_2.SessionTimeoutError
|
|
78
|
+
if ((err instanceof errors_2.SessionTimeoutError || err instanceof errors_2.CdpTransportClosedError) &&
|
|
79
|
+
options.onSessionRestart) {
|
|
79
80
|
await options.onSessionRestart();
|
|
80
81
|
}
|
|
81
82
|
throw err;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/scraper/retry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAA6C;AAE7C,yCAA8C;AAC9C,2CAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/scraper/retry.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ export declare function createSessionTeardownDetector(): {
|
|
|
14
14
|
};
|
|
15
15
|
/**
|
|
16
16
|
* Races a step's own promise against a teardown death signal so a
|
|
17
|
-
* Stagehand-initiated mid-flow teardown surfaces as `
|
|
17
|
+
* Stagehand-initiated mid-flow teardown surfaces as `CdpTransportClosedError`
|
|
18
18
|
* instead of the step promise hanging forever once the connection that
|
|
19
19
|
* would have settled it is already gone.
|
|
20
20
|
*/
|
|
@@ -38,13 +38,13 @@ function createSessionTeardownDetector() {
|
|
|
38
38
|
if (!line.message.includes(TEARDOWN_MESSAGE_SUBSTRING))
|
|
39
39
|
return;
|
|
40
40
|
fired = true;
|
|
41
|
-
signalDeath?.(new errors_1.
|
|
41
|
+
signalDeath?.(new errors_1.CdpTransportClosedError(`stagehand-initiated teardown mid-flow: ${line.message}`));
|
|
42
42
|
};
|
|
43
43
|
return { watchLogLine, deathSignal };
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
46
|
* Races a step's own promise against a teardown death signal so a
|
|
47
|
-
* Stagehand-initiated mid-flow teardown surfaces as `
|
|
47
|
+
* Stagehand-initiated mid-flow teardown surfaces as `CdpTransportClosedError`
|
|
48
48
|
* instead of the step promise hanging forever once the connection that
|
|
49
49
|
* would have settled it is already gone.
|
|
50
50
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-teardown.js","sourceRoot":"","sources":["../../src/scraper/session-teardown.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"session-teardown.js","sourceRoot":"","sources":["../../src/scraper/session-teardown.ts"],"names":[],"mappings":";;;;AAAA,6CAA2D;AAG3D;;;;;;GAMG;AACH,MAAM,0BAA0B,GAAG,sBAAsB,CAAC;AAC1D,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B;;;;;;;;GAQG;AACH;IAIE,IAAI,WAAiE,CAAC;IACtE,MAAM,WAAW,GAAG,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QAC1D,WAAW,GAAG,CAAC,GAA4B,EAAQ,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IACH,qEAAqE;IACrE,qDAAqD;IACrD,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAEnC,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,MAAM,YAAY,GAAG,CAAC,IAAsB,EAAQ,EAAE;QACpD,IAAI,KAAK;YAAE,OAAO;QAClB,IAAI,IAAI,CAAC,KAAK,KAAK,oBAAoB;YAAE,OAAO;QAChD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAAE,OAAO;QAC/D,KAAK,GAAG,IAAI,CAAC;QACb,WAAW,EAAE,CACX,IAAI,gCAAuB,CAAC,0CAA0C,IAAI,CAAC,OAAO,EAAE,CAAC,CACtF,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,6BACE,WAAuB,EACvB,WAA2B;IAE3B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recon-browser.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAMH,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAE/C,OAAO,KAAK,EAAU,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAEnF,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"recon-browser.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-browser.ts"],"names":[],"mappings":"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"}
|