@enricai/barnacle 1.6.0 → 1.6.2
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 +66 -7
- package/dist/scraper/cookie-jar.d.ts +19 -0
- package/dist/scraper/cookie-jar.d.ts.map +1 -0
- package/dist/scraper/cookie-jar.js +43 -0
- package/dist/scraper/cookie-jar.js.map +1 -0
- package/dist/scraper/deep-query.d.ts +36 -0
- package/dist/scraper/deep-query.d.ts.map +1 -0
- package/dist/scraper/deep-query.js +87 -0
- package/dist/scraper/deep-query.js.map +1 -0
- package/dist/scraper/errors.d.ts +11 -2
- package/dist/scraper/errors.d.ts.map +1 -1
- package/dist/scraper/errors.js +10 -1
- package/dist/scraper/errors.js.map +1 -1
- package/dist/scraper/flow-runner.d.ts +55 -4
- package/dist/scraper/flow-runner.d.ts.map +1 -1
- package/dist/scraper/flow-runner.js +259 -50
- package/dist/scraper/flow-runner.js.map +1 -1
- package/dist/scraper/phantom-click.d.ts +45 -0
- package/dist/scraper/phantom-click.d.ts.map +1 -0
- package/dist/scraper/phantom-click.js +37 -0
- package/dist/scraper/phantom-click.js.map +1 -0
- package/dist/scraper/session-browserbase.d.ts +48 -0
- package/dist/scraper/session-browserbase.d.ts.map +1 -1
- package/dist/scraper/session-browserbase.js +10 -5
- package/dist/scraper/session-browserbase.js.map +1 -1
- package/dist/scraper/session-shared.d.ts +6 -0
- package/dist/scraper/session-shared.d.ts.map +1 -1
- package/dist/scraper/session-shared.js.map +1 -1
- package/dist/scraper/submit-control.d.ts +51 -0
- package/dist/scraper/submit-control.d.ts.map +1 -0
- package/dist/scraper/submit-control.js +142 -0
- package/dist/scraper/submit-control.js.map +1 -0
- package/dist/scripts/recon-browser.d.ts +34 -12
- package/dist/scripts/recon-browser.d.ts.map +1 -1
- package/dist/scripts/recon-browser.js +78 -33
- package/dist/scripts/recon-browser.js.map +1 -1
- package/dist/scripts/recon-generate.d.ts +28 -7
- package/dist/scripts/recon-generate.d.ts.map +1 -1
- package/dist/scripts/recon-generate.js +50 -24
- package/dist/scripts/recon-generate.js.map +1 -1
- package/dist/scripts/recon-http.d.ts +36 -5
- package/dist/scripts/recon-http.d.ts.map +1 -1
- package/dist/scripts/recon-http.js +77 -47
- package/dist/scripts/recon-http.js.map +1 -1
- package/dist/scripts/recon-replay-jobs.d.ts +25 -1
- package/dist/scripts/recon-replay-jobs.d.ts.map +1 -1
- package/dist/scripts/recon-replay-jobs.js +33 -23
- package/dist/scripts/recon-replay-jobs.js.map +1 -1
- package/dist/scripts/recon-shared.d.ts +68 -0
- package/dist/scripts/recon-shared.d.ts.map +1 -1
- package/dist/scripts/recon-shared.js +94 -1
- package/dist/scripts/recon-shared.js.map +1 -1
- package/dist/scripts/recon-summarize.d.ts +5 -1
- package/dist/scripts/recon-summarize.d.ts.map +1 -1
- package/dist/scripts/recon-summarize.js +19 -7
- package/dist/scripts/recon-summarize.js.map +1 -1
- package/package.json +9 -1
|
@@ -5,15 +5,108 @@
|
|
|
5
5
|
* without duplicating the core data model or header-tally logic.
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.STEP_FAILURES_DIR = exports.AUX_DIR = exports.REPLAYS_DIR = exports.CAPTURES_DIR = void 0;
|
|
8
|
+
exports.COOKIES_DIR = exports.STEP_FAILURES_DIR = exports.AUX_DIR = exports.REPLAYS_DIR = exports.CAPTURES_DIR = void 0;
|
|
9
|
+
exports.resolveReconRunDir = resolveReconRunDir;
|
|
10
|
+
exports.resolveLatestReconRunRoot = resolveLatestReconRunRoot;
|
|
9
11
|
exports.readJsonDir = readJsonDir;
|
|
10
12
|
exports.tallyResponseHeaders = tallyResponseHeaders;
|
|
13
|
+
const node_crypto_1 = require("node:crypto");
|
|
11
14
|
const node_fs_1 = require("node:fs");
|
|
12
15
|
const node_path_1 = require("node:path");
|
|
16
|
+
const date_fns_1 = require("date-fns");
|
|
17
|
+
const logging_1 = require("../lib/logging");
|
|
18
|
+
const logger = (0, logging_1.getScriptLogger)("recon-shared");
|
|
19
|
+
/**
|
|
20
|
+
* Legacy process-global paths, kept exported for back-compat since
|
|
21
|
+
* `recon-shared` is a published package subpath. New callers should use
|
|
22
|
+
* {@link resolveReconRunDir} instead — these do not get per-run namespacing.
|
|
23
|
+
*/
|
|
13
24
|
exports.CAPTURES_DIR = "/tmp/recon/graphql";
|
|
14
25
|
exports.REPLAYS_DIR = "/tmp/recon/replays";
|
|
15
26
|
exports.AUX_DIR = "/tmp/recon/aux";
|
|
16
27
|
exports.STEP_FAILURES_DIR = "/tmp/recon/step-failures";
|
|
28
|
+
exports.COOKIES_DIR = "/tmp/recon/cookies";
|
|
29
|
+
/** Subdirectory names created under every resolved recon run root. */
|
|
30
|
+
const RUN_SUBDIRS = ["graphql", "cookies", "replays", "aux", "step-failures"];
|
|
31
|
+
/** Memoized so repeated calls within one process share a single run root and runId. */
|
|
32
|
+
let memoizedRunDir = null;
|
|
33
|
+
function generateRunId() {
|
|
34
|
+
const timestamp = (0, date_fns_1.format)(new Date(), "yyyyMMdd-HHmmss");
|
|
35
|
+
const suffix = (0, node_crypto_1.randomUUID)().replace(/-/g, "").slice(0, 4);
|
|
36
|
+
return `${timestamp}-${suffix}`;
|
|
37
|
+
}
|
|
38
|
+
/** Base directory every recon run is rooted under; `RECON_OUT_DIR` overrides the `/tmp/recon` default. */
|
|
39
|
+
function reconOutBaseDir() {
|
|
40
|
+
return process.env.RECON_OUT_DIR || "/tmp/recon";
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Resolves (and creates) the run-scoped root directory recon scripts should
|
|
44
|
+
* write output under, namespacing every run so concurrent or repeated runs
|
|
45
|
+
* stop silently colliding in a shared `/tmp/recon` tree. Memoized per
|
|
46
|
+
* process so a run's counter-based filenames stay in one namespace across
|
|
47
|
+
* every call site.
|
|
48
|
+
*
|
|
49
|
+
* `RECON_RUN_ID` pins a deterministic runId (e.g. for tests or replays of a
|
|
50
|
+
* known run); `RECON_OUT_DIR` overrides the base directory runs are rooted
|
|
51
|
+
* under (default `/tmp/recon`).
|
|
52
|
+
*/
|
|
53
|
+
function resolveReconRunDir() {
|
|
54
|
+
if (memoizedRunDir) {
|
|
55
|
+
return memoizedRunDir;
|
|
56
|
+
}
|
|
57
|
+
const runId = process.env.RECON_RUN_ID || generateRunId();
|
|
58
|
+
const baseDir = reconOutBaseDir();
|
|
59
|
+
const root = (0, node_path_1.join)(baseDir, runId);
|
|
60
|
+
const runDir = {
|
|
61
|
+
runId,
|
|
62
|
+
root,
|
|
63
|
+
graphqlDir: (0, node_path_1.join)(root, "graphql"),
|
|
64
|
+
cookiesDir: (0, node_path_1.join)(root, "cookies"),
|
|
65
|
+
replaysDir: (0, node_path_1.join)(root, "replays"),
|
|
66
|
+
auxDir: (0, node_path_1.join)(root, "aux"),
|
|
67
|
+
stepFailuresDir: (0, node_path_1.join)(root, "step-failures"),
|
|
68
|
+
};
|
|
69
|
+
for (const subdir of RUN_SUBDIRS) {
|
|
70
|
+
(0, node_fs_1.mkdirSync)((0, node_path_1.join)(root, subdir), { recursive: true });
|
|
71
|
+
}
|
|
72
|
+
logger.info(`resolved recon run dir: runId=${runId}, root=${root}`);
|
|
73
|
+
memoizedRunDir = runDir;
|
|
74
|
+
return memoizedRunDir;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Resolves the run root a reader (recon-generate, recon-summarize) should
|
|
78
|
+
* read from: an explicit `runDir` wins, `RECON_RUN_ID` pins a specific run
|
|
79
|
+
* under the base dir, and otherwise this picks the most recently modified
|
|
80
|
+
* run subdirectory — the run root recon-browser/recon-http just wrote to —
|
|
81
|
+
* so the existing "recon, then generate" two-command workflow keeps working
|
|
82
|
+
* without operators passing a run dir by hand.
|
|
83
|
+
*/
|
|
84
|
+
function resolveLatestReconRunRoot(runDir) {
|
|
85
|
+
if (runDir)
|
|
86
|
+
return runDir;
|
|
87
|
+
const baseDir = reconOutBaseDir();
|
|
88
|
+
if (process.env.RECON_RUN_ID)
|
|
89
|
+
return (0, node_path_1.join)(baseDir, process.env.RECON_RUN_ID);
|
|
90
|
+
const candidates = (() => {
|
|
91
|
+
try {
|
|
92
|
+
return (0, node_fs_1.readdirSync)(baseDir, { withFileTypes: true })
|
|
93
|
+
.filter((entry) => entry.isDirectory())
|
|
94
|
+
.map((entry) => (0, node_path_1.join)(baseDir, entry.name));
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
return [];
|
|
98
|
+
}
|
|
99
|
+
})();
|
|
100
|
+
const latest = candidates
|
|
101
|
+
.map((dir) => ({ dir, mtimeMs: (0, node_fs_1.statSync)(dir).mtimeMs }))
|
|
102
|
+
.sort((a, b) => b.mtimeMs - a.mtimeMs)[0]?.dir;
|
|
103
|
+
if (!latest) {
|
|
104
|
+
logger.info(`no recon run roots found under ${baseDir}; falling back to legacy path`);
|
|
105
|
+
return baseDir;
|
|
106
|
+
}
|
|
107
|
+
logger.info(`resolved latest recon run root: ${latest}`);
|
|
108
|
+
return latest;
|
|
109
|
+
}
|
|
17
110
|
function readJsonDir(dir, exclude = []) {
|
|
18
111
|
try {
|
|
19
112
|
return (0, node_fs_1.readdirSync)(dir)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recon-shared.js","sourceRoot":"","sources":["../../src/scripts/recon-shared.ts"],"names":[],"mappings":";AAAA;;;;GAIG
|
|
1
|
+
{"version":3,"file":"recon-shared.js","sourceRoot":"","sources":["../../src/scripts/recon-shared.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;AAEH,6CAAyC;AACzC,qCAAyE;AACzE,yCAAiC;AAEjC,uCAAkC;AAElC,2CAAgD;AAEhD,MAAM,MAAM,GAAG,IAAA,yBAAe,EAAC,cAAc,CAAC,CAAC;AAE/C;;;;GAIG;AACU,QAAA,YAAY,GAAG,oBAAoB,CAAC;AACpC,QAAA,WAAW,GAAG,oBAAoB,CAAC;AACnC,QAAA,OAAO,GAAG,gBAAgB,CAAC;AAC3B,QAAA,iBAAiB,GAAG,0BAA0B,CAAC;AAC/C,QAAA,WAAW,GAAG,oBAAoB,CAAC;AAEhD,sEAAsE;AACtE,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,CAAU,CAAC;AAYvF,uFAAuF;AACvF,IAAI,cAAc,GAAuB,IAAI,CAAC;AAE9C,SAAS,aAAa;IACpB,MAAM,SAAS,GAAG,IAAA,iBAAM,EAAC,IAAI,IAAI,EAAE,EAAE,iBAAiB,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAA,wBAAU,GAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,OAAO,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC;AAClC,CAAC;AAED,0GAA0G;AAC1G,SAAS,eAAe;IACtB,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,YAAY,CAAC;AACnD,CAAC;AAED;;;;;;;;;;GAUG;AACH;IACE,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,aAAa,EAAE,CAAC;IAC1D,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,IAAA,gBAAI,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAElC,MAAM,MAAM,GAAgB;QAC1B,KAAK;QACL,IAAI;QACJ,UAAU,EAAE,IAAA,gBAAI,EAAC,IAAI,EAAE,SAAS,CAAC;QACjC,UAAU,EAAE,IAAA,gBAAI,EAAC,IAAI,EAAE,SAAS,CAAC;QACjC,UAAU,EAAE,IAAA,gBAAI,EAAC,IAAI,EAAE,SAAS,CAAC;QACjC,MAAM,EAAE,IAAA,gBAAI,EAAC,IAAI,EAAE,KAAK,CAAC;QACzB,eAAe,EAAE,IAAA,gBAAI,EAAC,IAAI,EAAE,eAAe,CAAC;KAC7C,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;QACjC,IAAA,mBAAS,EAAC,IAAA,gBAAI,EAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,iCAAiC,KAAK,UAAU,IAAI,EAAE,CAAC,CAAC;IACpE,cAAc,GAAG,MAAM,CAAC;IACxB,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;;;GAOG;AACH,mCAA0C,MAAe;IACvD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY;QAAE,OAAO,IAAA,gBAAI,EAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAE7E,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;QACvB,IAAI,CAAC;YACH,OAAO,IAAA,qBAAW,EAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;iBACjD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;iBACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,gBAAI,EAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAc,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,MAAM,GAAG,UAAU;SACtB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAA,kBAAQ,EAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SACvD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IAEjD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,kCAAkC,OAAO,+BAA+B,CAAC,CAAC;QACtF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,mCAAmC,MAAM,EAAE,CAAC,CAAC;IACzD,OAAO,MAAM,CAAC;AAChB,CAAC;AA0ED,qBAA+B,GAAW,EAAE,OAAO,GAAa,EAAE;IAChE,IAAI,CAAC;QACH,OAAO,IAAA,qBAAW,EAAC,GAAG,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC1F,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAM,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,8BAAqC,OAAuB;IAC1D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC;QACrB,MAAM;QACN,gBAAgB;QAChB,mBAAmB;QACnB,YAAY;QACZ,MAAM;QACN,QAAQ;QACR,cAAc;QACd,kBAAkB;QAClB,QAAQ;QACR,iBAAiB;QACjB,KAAK;QACL,KAAK;QACL,MAAM;QACN,eAAe;QACf,SAAS;QACT,QAAQ;QACR,2BAA2B;QAC3B,wBAAwB;QACxB,iBAAiB;QACjB,kBAAkB;KACnB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;IAC9E,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACvC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAS;YAChC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -5,11 +5,15 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Usage:
|
|
7
7
|
* pnpm tsx src/scripts/recon-summarize.ts \
|
|
8
|
-
* [--site-id <id>] [--out docs/target-recon.md]
|
|
8
|
+
* [--site-id <id>] [--out docs/target-recon.md] [--run-dir <path>]
|
|
9
9
|
*
|
|
10
10
|
* When --site-id is provided, path placeholders in the output (src/sites/<id>/...)
|
|
11
11
|
* are replaced with the real site ID and the default output path becomes
|
|
12
12
|
* docs/<site-id>-recon.md.
|
|
13
|
+
*
|
|
14
|
+
* --run-dir selects which run root to read; defaults to the most recently
|
|
15
|
+
* modified run root under the recon output base dir (see
|
|
16
|
+
* {@link resolveLatestReconRunRoot}).
|
|
13
17
|
*/
|
|
14
18
|
export {};
|
|
15
19
|
//# sourceMappingURL=recon-summarize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recon-summarize.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-summarize.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"recon-summarize.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-summarize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG"}
|
|
@@ -6,11 +6,15 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Usage:
|
|
8
8
|
* pnpm tsx src/scripts/recon-summarize.ts \
|
|
9
|
-
* [--site-id <id>] [--out docs/target-recon.md]
|
|
9
|
+
* [--site-id <id>] [--out docs/target-recon.md] [--run-dir <path>]
|
|
10
10
|
*
|
|
11
11
|
* When --site-id is provided, path placeholders in the output (src/sites/<id>/...)
|
|
12
12
|
* are replaced with the real site ID and the default output path becomes
|
|
13
13
|
* docs/<site-id>-recon.md.
|
|
14
|
+
*
|
|
15
|
+
* --run-dir selects which run root to read; defaults to the most recently
|
|
16
|
+
* modified run root under the recon output base dir (see
|
|
17
|
+
* {@link resolveLatestReconRunRoot}).
|
|
14
18
|
*/
|
|
15
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
20
|
const node_fs_1 = require("node:fs");
|
|
@@ -32,22 +36,30 @@ async function main() {
|
|
|
32
36
|
const args = process.argv.slice(2);
|
|
33
37
|
let siteId = PLACEHOLDER_ID;
|
|
34
38
|
let outPath = null;
|
|
39
|
+
let runDir;
|
|
35
40
|
for (let i = 0; i < args.length; i++) {
|
|
36
41
|
if (args[i] === "--site-id" && args[i + 1])
|
|
37
42
|
siteId = args[++i];
|
|
38
43
|
else if (args[i] === "--out" && args[i + 1])
|
|
39
44
|
outPath = args[++i];
|
|
45
|
+
else if (args[i] === "--run-dir" && args[i + 1])
|
|
46
|
+
runDir = args[++i];
|
|
40
47
|
}
|
|
41
48
|
// Default output path is scoped to site ID when one is provided.
|
|
42
49
|
outPath ??= siteId !== PLACEHOLDER_ID ? `docs/${siteId}-recon.md` : DEFAULT_OUT;
|
|
43
|
-
const
|
|
44
|
-
|
|
50
|
+
const runRoot = (0, recon_shared_1.resolveLatestReconRunRoot)(runDir);
|
|
51
|
+
logger.info(`reading recon artifacts from ${runRoot}`);
|
|
52
|
+
const capturesDir = (0, node_path_1.join)(runRoot, "graphql");
|
|
53
|
+
const replaysDir = (0, node_path_1.join)(runRoot, "replays");
|
|
54
|
+
const auxDir = (0, node_path_1.join)(runRoot, "aux");
|
|
55
|
+
const captures = (0, recon_shared_1.readJsonDir)(capturesDir);
|
|
56
|
+
const replays = (0, recon_shared_1.readJsonDir)(replaysDir, [
|
|
45
57
|
"rate-limit.json",
|
|
46
58
|
"introspection-schema.json",
|
|
47
59
|
]);
|
|
48
60
|
const rateLimitRaw = (() => {
|
|
49
61
|
try {
|
|
50
|
-
return JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(
|
|
62
|
+
return JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(replaysDir, "rate-limit.json"), "utf8"));
|
|
51
63
|
}
|
|
52
64
|
catch {
|
|
53
65
|
return [];
|
|
@@ -55,7 +67,7 @@ async function main() {
|
|
|
55
67
|
})();
|
|
56
68
|
const auxFiles = (() => {
|
|
57
69
|
try {
|
|
58
|
-
return (0, node_fs_1.readdirSync)(
|
|
70
|
+
return (0, node_fs_1.readdirSync)(auxDir)
|
|
59
71
|
.filter((f) => f.endsWith(".json"))
|
|
60
72
|
.sort();
|
|
61
73
|
}
|
|
@@ -201,7 +213,7 @@ async function main() {
|
|
|
201
213
|
auxFiles.length === 0
|
|
202
214
|
? "_No auxiliary fixtures detected. Run Phase 3B (recon-http.ts) to probe static endpoints._"
|
|
203
215
|
: [
|
|
204
|
-
`_Downloaded to \`${
|
|
216
|
+
`_Downloaded to \`${auxDir}\` — commit each as a static fixture in \`src/sites/<id>/fixtures/\`._`,
|
|
205
217
|
``,
|
|
206
218
|
...auxFiles.map((f) => `- \`${f}\` — commit as \`src/sites/<id>/fixtures/${f}\``),
|
|
207
219
|
].join("\n"),
|
|
@@ -214,7 +226,7 @@ async function main() {
|
|
|
214
226
|
`## Maintenance`,
|
|
215
227
|
``,
|
|
216
228
|
`When smoke test fails: re-run \`pnpm tsx src/scripts/recon-browser.ts\` → diff`,
|
|
217
|
-
|
|
229
|
+
`\`${capturesDir}/*<operationName>*.json\` against \`src/sites/<id>/contract.ts\``,
|
|
218
230
|
`→ update query / headers / Zod schema → ship.`,
|
|
219
231
|
``,
|
|
220
232
|
`---`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recon-summarize.js","sourceRoot":"","sources":["../../src/scripts/recon-summarize.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"recon-summarize.js","sourceRoot":"","sources":["../../src/scripts/recon-summarize.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;AAEH,qCAA8E;AAC9E,yCAA0C;AAE1C,yCAA8C;AAC9C,2CAAgD;AAChD,yDAOgC;AAEhC,MAAM,MAAM,GAAG,IAAA,yBAAe,EAAC,iBAAiB,CAAC,CAAC;AAElD,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAC3C,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE;QAC3C,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,OAAO;KACnB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,MAAM,GAAG,cAAc,CAAC;IAC5B,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,MAA0B,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;aAC3D,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;aAC7D,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC;IACvE,CAAC;IACD,iEAAiE;IACjE,OAAO,KAAK,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,QAAQ,MAAM,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;IAEhF,MAAM,OAAO,GAAG,IAAA,wCAAyB,EAAC,MAAM,CAAC,CAAC;IAClD,MAAM,CAAC,IAAI,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,IAAA,gBAAI,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAA,gBAAI,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAA,gBAAI,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAEpC,MAAM,QAAQ,GAAG,IAAA,0BAAW,EAAU,WAAW,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAA,0BAAW,EAAe,UAAU,EAAE;QACpD,iBAAiB;QACjB,2BAA2B;KAC5B,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;QACzB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CACf,IAAA,sBAAY,EAAC,IAAA,gBAAI,EAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,CACpC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAwB,CAAC;QAClC,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,IAAI,CAAC;YACH,OAAO,IAAA,qBAAW,EAAC,MAAM,CAAC;iBACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAClC,IAAI,EAAE,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAc,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEzF,MAAM,eAAe,GAAG,IAAI,GAAG,EAA6D,CAAC;IAC7F,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;gBACxC,OAAO,EAAE,IAAI,GAAG,EAAU;gBAC1B,UAAU,EAAE,IAAI,GAAG,EAAU;aAC9B,CAAC;YACF,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,CAAC,CAAC,aAAa;gBAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAC3D,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAwB,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACzB,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACvD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAExD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC;IAE3D,MAAM,gBAAgB,GACpB,YAAY,CAAC,MAAM,KAAK,CAAC;QACvB,CAAC,CAAC,+BAA+B;QACjC,CAAC,CAAC,YAAY;aACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YACjE,MAAM,OAAO,GACX,CAAC,CAAC,aAAa,KAAK,IAAI;gBACtB,CAAC,CAAC,eAAe,CAAC,CAAC,aAAa,OAAO,CAAC,CAAC,UAAU,OAAO;gBAC1D,CAAC,CAAC,wBAAwB,CAAC;YAC/B,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACzE,MAAM,OAAO,GACX,OAAO,KAAK,IAAI;gBACd,CAAC,CAAC,gJAAgJ,OAAO,WAAW,CAAC,CAAC,OAAO,6BAA6B;gBAC1M,CAAC,CAAC,EAAE,CAAC;YACT,OAAO,OAAO,CAAC,CAAC,QAAQ,sBAAsB,IAAI,KAAK,OAAO,GAAG,OAAO,EAAE,CAAC;QAC7E,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEpB,MAAM,YAAY,GAAG,IAAA,mCAAoB,EAAC,OAAO,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAE7D,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IAClE,IAAI,MAAM;QACR,OAAO,CAAC,IAAI,CACV,wFAAwF,CACzF,CAAC;IACJ,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7F,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACvC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAE3C,MAAM,KAAK,GAAa;QACtB,yBAAyB;QACzB,EAAE;QACF,4CAA4C,UAAU,CAAC,GAAG,CAAC,wBAAwB,SAAS,GAAG;QAC/F,yFAAyF;QACzF,EAAE;QACF,YAAY;QACZ,EAAE;QACF,kBAAkB;QAClB,kBAAkB;QAClB,gBAAgB,QAAQ,CAAC,MAAM,IAAI;QACnC,wBAAwB,eAAe,CAAC,IAAI,IAAI;QAChD,qBAAqB,MAAM,IAAI;QAC/B,qBAAqB,MAAM,IAAI;QAC/B,qBAAqB,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,IAAI;QAC1D,qBAAqB,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,IAAI;QAC7D,0BAA0B,QAAQ,CAAC,MAAM,IAAI;QAC7C,EAAE;QACF,oBAAoB;QACpB,EAAE;QACF,GAAG,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE;YAC5E,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,YAAY,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;YACrF,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YACvF,OAAO,OAAO,QAAQ,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,cAAc,YAAY,EAAE,CAAC;QAC5F,CAAC,CAAC;QACF,EAAE;QACF,qBAAqB;QACrB,EAAE;QACF,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;YAC3C,CAAC,CAAC,wDAAwD;YAC1D,CAAC,CAAC,OAAO;iBACJ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;iBACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,6BAA6B,CAAC,CAAC,YAAY,GAAG,CAAC;iBACtE,IAAI,CAAC,IAAI,CAAC;QACjB,EAAE;QACF,kBAAkB;QAClB,EAAE;QACF,MAAM;YACJ,CAAC,CAAC,OAAO;iBACJ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,GAAG,CAAC;iBACrC,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,CAAC,CAAC,GAAG,sEAAsE,CACrF;iBACA,IAAI,CAAC,IAAI,CAAC;YACf,CAAC,CAAC,wCAAwC;QAC5C,EAAE;QACF,uBAAuB;QACvB,EAAE;QACF,gBAAgB;QAChB,EAAE;QACF,+BAA+B;QAC/B,EAAE;QACF,YAAY,CAAC,IAAI,KAAK,CAAC;YACrB,CAAC,CAAC,oDAAoD;YACtD,CAAC,CAAC;gBACE,wFAAwF;gBACxF,IAAI,YAAY,gFAAgF;gBAChG,4EAA4E;gBAC5E,EAAE;gBACF,kCAAkC,YAAY,4BAA4B;gBAC1E,0EAA0E;gBAC1E,GAAG,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;qBAC3B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC3B,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE;oBACvB,MAAM,WAAW,GAAG,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC9D,OAAO,OAAO,MAAM,QAAQ,KAAK,MAAM,WAAW,IAAI,CAAC;gBACzD,CAAC,CAAC;aACL,CAAC,IAAI,CAAC,IAAI,CAAC;QAChB,EAAE;QACF,YAAY;QACZ,EAAE;QACF,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACnF,EAAE;QACF,uBAAuB;QACvB,EAAE;QACF,QAAQ,CAAC,MAAM,KAAK,CAAC;YACnB,CAAC,CAAC,2FAA2F;YAC7F,CAAC,CAAC;gBACE,oBAAoB,MAAM,wEAAwE;gBAClG,EAAE;gBACF,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC,IAAI,CAAC;aAClF,CAAC,IAAI,CAAC,IAAI,CAAC;QAChB,EAAE;QACF,4BAA4B;QAC5B,EAAE;QACF,8FAA8F;QAC9F,gFAAgF;QAChF,EAAE;QACF,gBAAgB;QAChB,EAAE;QACF,gFAAgF;QAChF,KAAK,WAAW,kEAAkE;QAClF,+CAA+C;QAC/C,EAAE;QACF,KAAK;QACL,mHAAmH;QACnH,EAAE;KACH,CAAC;IAEF,IAAA,mBAAS,EAAC,IAAA,mBAAO,EAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACpE,IAAA,uBAAa,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,IAAI,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,MAAM,CAAC,KAAK,CAAC,2BAA2B,IAAA,uBAAc,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@enricai/barnacle",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.2",
|
|
4
4
|
"description": "Site-agnostic browser automation engine. POST a structured payload to a typed endpoint; Barnacle drives a Steel + Stagehand session through the target site and returns a structured result.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Enricai",
|
|
@@ -132,6 +132,10 @@
|
|
|
132
132
|
"types": "./dist/recon/vocabulary.d.ts",
|
|
133
133
|
"default": "./dist/recon/vocabulary.js"
|
|
134
134
|
},
|
|
135
|
+
"./scraper/cookie-jar": {
|
|
136
|
+
"types": "./dist/scraper/cookie-jar.d.ts",
|
|
137
|
+
"default": "./dist/scraper/cookie-jar.js"
|
|
138
|
+
},
|
|
135
139
|
"./scraper/errors": {
|
|
136
140
|
"types": "./dist/scraper/errors.d.ts",
|
|
137
141
|
"default": "./dist/scraper/errors.js"
|
|
@@ -188,6 +192,10 @@
|
|
|
188
192
|
"types": "./dist/scraper/stagehand-guard.d.ts",
|
|
189
193
|
"default": "./dist/scraper/stagehand-guard.js"
|
|
190
194
|
},
|
|
195
|
+
"./scripts/recon-shared": {
|
|
196
|
+
"types": "./dist/scripts/recon-shared.d.ts",
|
|
197
|
+
"default": "./dist/scripts/recon-shared.js"
|
|
198
|
+
},
|
|
191
199
|
"./site-plugin": {
|
|
192
200
|
"types": "./dist/site-plugin.d.ts",
|
|
193
201
|
"default": "./dist/site-plugin.js"
|