@enricai/barnacle 1.6.1 → 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.
Files changed (53) hide show
  1. package/README.md +13 -11
  2. package/dist/scraper/deep-query.d.ts +36 -0
  3. package/dist/scraper/deep-query.d.ts.map +1 -0
  4. package/dist/scraper/deep-query.js +87 -0
  5. package/dist/scraper/deep-query.js.map +1 -0
  6. package/dist/scraper/errors.d.ts +11 -2
  7. package/dist/scraper/errors.d.ts.map +1 -1
  8. package/dist/scraper/errors.js +10 -1
  9. package/dist/scraper/errors.js.map +1 -1
  10. package/dist/scraper/flow-runner.d.ts +55 -4
  11. package/dist/scraper/flow-runner.d.ts.map +1 -1
  12. package/dist/scraper/flow-runner.js +240 -50
  13. package/dist/scraper/flow-runner.js.map +1 -1
  14. package/dist/scraper/phantom-click.d.ts +45 -0
  15. package/dist/scraper/phantom-click.d.ts.map +1 -0
  16. package/dist/scraper/phantom-click.js +37 -0
  17. package/dist/scraper/phantom-click.js.map +1 -0
  18. package/dist/scraper/session-browserbase.d.ts +48 -0
  19. package/dist/scraper/session-browserbase.d.ts.map +1 -1
  20. package/dist/scraper/session-browserbase.js +10 -5
  21. package/dist/scraper/session-browserbase.js.map +1 -1
  22. package/dist/scraper/session-shared.d.ts +6 -0
  23. package/dist/scraper/session-shared.d.ts.map +1 -1
  24. package/dist/scraper/session-shared.js.map +1 -1
  25. package/dist/scraper/submit-control.d.ts +51 -0
  26. package/dist/scraper/submit-control.d.ts.map +1 -0
  27. package/dist/scraper/submit-control.js +142 -0
  28. package/dist/scraper/submit-control.js.map +1 -0
  29. package/dist/scripts/recon-browser.d.ts +23 -18
  30. package/dist/scripts/recon-browser.d.ts.map +1 -1
  31. package/dist/scripts/recon-browser.js +51 -42
  32. package/dist/scripts/recon-browser.js.map +1 -1
  33. package/dist/scripts/recon-generate.d.ts +28 -7
  34. package/dist/scripts/recon-generate.d.ts.map +1 -1
  35. package/dist/scripts/recon-generate.js +50 -24
  36. package/dist/scripts/recon-generate.js.map +1 -1
  37. package/dist/scripts/recon-http.d.ts +36 -5
  38. package/dist/scripts/recon-http.d.ts.map +1 -1
  39. package/dist/scripts/recon-http.js +77 -47
  40. package/dist/scripts/recon-http.js.map +1 -1
  41. package/dist/scripts/recon-replay-jobs.d.ts +25 -1
  42. package/dist/scripts/recon-replay-jobs.d.ts.map +1 -1
  43. package/dist/scripts/recon-replay-jobs.js +33 -23
  44. package/dist/scripts/recon-replay-jobs.js.map +1 -1
  45. package/dist/scripts/recon-shared.d.ts +35 -0
  46. package/dist/scripts/recon-shared.d.ts.map +1 -1
  47. package/dist/scripts/recon-shared.js +92 -0
  48. package/dist/scripts/recon-shared.js.map +1 -1
  49. package/dist/scripts/recon-summarize.d.ts +5 -1
  50. package/dist/scripts/recon-summarize.d.ts.map +1 -1
  51. package/dist/scripts/recon-summarize.js +19 -7
  52. package/dist/scripts/recon-summarize.js.map +1 -1
  53. package/package.json +1 -1
@@ -11,12 +11,43 @@
11
11
  * - Rate-limit probe (1 → 3 → 5 rps, stops at first 429/403)
12
12
  *
13
13
  * Usage:
14
- * pnpm tsx src/scripts/recon-http.ts [--captures-dir /tmp/recon/graphql]
14
+ * pnpm tsx src/scripts/recon-http.ts [--captures-dir <path>] [--out-dir <path>]
15
15
  *
16
- * Outputs:
17
- * /tmp/recon/replays/<filename>.json — one replay result per unique capture
18
- * /tmp/recon/aux/<basename>.json — downloaded static fixture per auxiliary endpoint
19
- * /tmp/recon/replays/rate-limit.json rate-limit probe findings
16
+ * Output lands under the run-scoped root resolved by `resolveReconRunDir()`
17
+ * (`@/scripts/recon-shared`) — `/tmp/recon/<runId>/` by default, rooted
18
+ * elsewhere via `--out-dir <path>` / `RECON_OUT_DIR`:
19
+ * replays/<filename>.json one replay result per unique capture
20
+ * aux/<basename>.json — downloaded static fixture per auxiliary endpoint
21
+ * replays/rate-limit.json — rate-limit probe findings
22
+ *
23
+ * `--captures-dir` overrides only the *read* path for captures (e.g. to
24
+ * replay a prior run's captures into a fresh output root) and defaults to
25
+ * this run's own `graphqlDir`.
26
+ */
27
+ interface ReplayResult {
28
+ sourceCapture: string;
29
+ url: string;
30
+ method: string;
31
+ operationName: string | null;
32
+ requestBody: string | null;
33
+ replayStatus: number | null;
34
+ replayHeaders: Record<string, string>;
35
+ replayBody: unknown;
36
+ success: boolean;
37
+ error: string | null;
38
+ }
39
+ /**
40
+ * Builds the rate-limit probe's target set from replay results. Applies
41
+ * `isNoiseUrl` directly rather than trusting that `replays` was pre-filtered
42
+ * upstream — the probe fires 60 requests per target, so a noise host reaching
43
+ * this function must never silently slip through on a caller's say-so.
20
44
  */
45
+ export declare function selectRateLimitTargets(replays: ReplayResult[]): {
46
+ targets: Map<string, {
47
+ method: string;
48
+ body: string | null;
49
+ }>;
50
+ skipped: number;
51
+ };
21
52
  export {};
22
53
  //# sourceMappingURL=recon-http.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recon-http.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG"}
1
+ {"version":3,"file":"recon-http.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAuCH,UAAU,YAAY;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAgTD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG;IAC/D,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC9D,OAAO,EAAE,MAAM,CAAC;CACjB,CA4BA"}
@@ -12,24 +12,30 @@
12
12
  * - Rate-limit probe (1 → 3 → 5 rps, stops at first 429/403)
13
13
  *
14
14
  * Usage:
15
- * pnpm tsx src/scripts/recon-http.ts [--captures-dir /tmp/recon/graphql]
15
+ * pnpm tsx src/scripts/recon-http.ts [--captures-dir <path>] [--out-dir <path>]
16
16
  *
17
- * Outputs:
18
- * /tmp/recon/replays/<filename>.json — one replay result per unique capture
19
- * /tmp/recon/aux/<basename>.json — downloaded static fixture per auxiliary endpoint
20
- * /tmp/recon/replays/rate-limit.json rate-limit probe findings
17
+ * Output lands under the run-scoped root resolved by `resolveReconRunDir()`
18
+ * (`@/scripts/recon-shared`) — `/tmp/recon/<runId>/` by default, rooted
19
+ * elsewhere via `--out-dir <path>` / `RECON_OUT_DIR`:
20
+ * replays/<filename>.json one replay result per unique capture
21
+ * aux/<basename>.json — downloaded static fixture per auxiliary endpoint
22
+ * replays/rate-limit.json — rate-limit probe findings
23
+ *
24
+ * `--captures-dir` overrides only the *read* path for captures (e.g. to
25
+ * replay a prior run's captures into a fresh output root) and defaults to
26
+ * this run's own `graphqlDir`.
21
27
  */
22
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.selectRateLimitTargets = selectRateLimitTargets;
23
30
  const node_fs_1 = require("node:fs");
24
31
  const node_path_1 = require("node:path");
25
32
  const errors_1 = require("../lib/errors");
26
33
  const http_1 = require("../lib/http");
27
34
  const logging_1 = require("../lib/logging");
28
35
  const capture_filters_1 = require("../recon/capture-filters");
36
+ const recon_shared_1 = require("../scripts/recon-shared");
29
37
  (0, http_1.configureHttpDispatcher)();
30
38
  const logger = (0, logging_1.getScriptLogger)("recon-http");
31
- const CAPTURES_DIR = "/tmp/recon/graphql";
32
- const REPLAYS_DIR = "/tmp/recon/replays";
33
39
  /** Load-bearing headers — minimal set that proves the endpoint works standalone. */
34
40
  const RC_HEADERS = {
35
41
  "Content-Type": "application/json",
@@ -150,7 +156,7 @@ async function replayCapture(filename, capture) {
150
156
  };
151
157
  }
152
158
  }
153
- async function probeIntrospection(endpoint) {
159
+ async function probeIntrospection(endpoint, replaysDir) {
154
160
  logger.info(`introspection probe: ${endpoint}`);
155
161
  const origin = new URL(endpoint).origin;
156
162
  const headers = {
@@ -167,7 +173,7 @@ async function probeIntrospection(endpoint) {
167
173
  const body = (await response.json());
168
174
  if (body.data) {
169
175
  logger.info(" → introspection ENABLED — full schema available");
170
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(REPLAYS_DIR, "introspection-schema.json"), JSON.stringify(body, null, 2));
176
+ (0, node_fs_1.writeFileSync)((0, node_path_1.join)(replaysDir, "introspection-schema.json"), JSON.stringify(body, null, 2));
171
177
  }
172
178
  else {
173
179
  logger.info(" → introspection DISABLED — write Zod schemas by hand from captured JSON");
@@ -177,15 +183,14 @@ async function probeIntrospection(endpoint) {
177
183
  logger.error(` → introspection error: ${(0, errors_1.toErrorMessage)(err)}`);
178
184
  }
179
185
  }
180
- const AUX_DIR = "/tmp/recon/aux";
181
186
  /**
182
187
  * Finds static JSON endpoints in successful replays (markets, currencies,
183
188
  * labels, dictionaries, config) and downloads them as committed fixtures.
184
189
  * These rarely change and are cheaper to serve from a snapshot than to
185
190
  * re-fetch on every production call.
186
191
  */
187
- async function probeAuxiliaryEndpoints(replays) {
188
- (0, node_fs_1.mkdirSync)(AUX_DIR, { recursive: true });
192
+ async function probeAuxiliaryEndpoints(replays, auxDir) {
193
+ (0, node_fs_1.mkdirSync)(auxDir, { recursive: true });
189
194
  const writtenInRun = new Set();
190
195
  const candidates = replays.filter((r) => {
191
196
  if (!r.success || r.operationName !== null)
@@ -221,9 +226,9 @@ async function probeAuxiliaryEndpoints(replays) {
221
226
  const rawBase = parsed.pathname.split("/").pop() ?? "aux";
222
227
  const base = rawBase.endsWith(".json") ? rawBase : `${rawBase}.json`;
223
228
  const filename = writtenInRun.has(base) ? `${parsed.hostname}-${base}` : base;
224
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(AUX_DIR, filename), JSON.stringify(body, null, 2));
229
+ (0, node_fs_1.writeFileSync)((0, node_path_1.join)(auxDir, filename), JSON.stringify(body, null, 2));
225
230
  writtenInRun.add(base);
226
- logger.info(`[fixture] ${candidate.url} → ${AUX_DIR}/${filename} — commit as static fixture`);
231
+ logger.info(`[fixture] ${candidate.url} → ${auxDir}/${filename} — commit as static fixture`);
227
232
  }
228
233
  catch (err) {
229
234
  logger.error(`[aux err] ${candidate.url}: ${(0, errors_1.toErrorMessage)(err)}`);
@@ -300,14 +305,55 @@ async function probeRateLimit(endpoint, method, body) {
300
305
  }
301
306
  return finding;
302
307
  }
308
+ /**
309
+ * Builds the rate-limit probe's target set from replay results. Applies
310
+ * `isNoiseUrl` directly rather than trusting that `replays` was pre-filtered
311
+ * upstream — the probe fires 60 requests per target, so a noise host reaching
312
+ * this function must never silently slip through on a caller's say-so.
313
+ */
314
+ function selectRateLimitTargets(replays) {
315
+ const targets = new Map();
316
+ let skipped = 0;
317
+ for (const replay of replays) {
318
+ if (!replay.success)
319
+ continue;
320
+ if ((0, capture_filters_1.isNoiseUrl)(replay.url)) {
321
+ skipped++;
322
+ continue;
323
+ }
324
+ try {
325
+ const u = new URL(replay.url);
326
+ if (u.protocol !== "http:" && u.protocol !== "https:")
327
+ continue;
328
+ const pathname = u.pathname.toLowerCase();
329
+ // Skip static fixture endpoints — probing them 60+ times could ban the CDN egress IP
330
+ if (pathname.endsWith(".json") ||
331
+ /\/(markets|currencies|labels|dictionaries|config|locales|i18n)/.test(pathname))
332
+ continue;
333
+ const key = `${u.origin}${u.pathname}`;
334
+ if (!targets.has(key)) {
335
+ targets.set(key, { method: replay.method, body: replay.requestBody });
336
+ }
337
+ }
338
+ catch {
339
+ // skip unparseable urls
340
+ }
341
+ }
342
+ return { targets, skipped };
343
+ }
303
344
  async function main() {
304
345
  const args = process.argv.slice(2);
305
- let capturesDir = CAPTURES_DIR;
346
+ for (let i = 0; i < args.length; i++) {
347
+ if (args[i] === "--out-dir" && args[i + 1])
348
+ process.env.RECON_OUT_DIR = args[++i];
349
+ }
350
+ const runDir = (0, recon_shared_1.resolveReconRunDir)();
351
+ let capturesDir = runDir.graphqlDir;
306
352
  for (let i = 0; i < args.length; i++) {
307
353
  if (args[i] === "--captures-dir" && args[i + 1])
308
354
  capturesDir = args[++i];
309
355
  }
310
- (0, node_fs_1.mkdirSync)(REPLAYS_DIR, { recursive: true });
356
+ (0, node_fs_1.mkdirSync)(runDir.replaysDir, { recursive: true });
311
357
  logger.info("=== PHASE 2: HTTP REPLAY ===");
312
358
  const all = loadCaptures(capturesDir);
313
359
  const unique = deduplicateCaptures(all);
@@ -324,7 +370,7 @@ async function main() {
324
370
  for (const { filename, capture } of probeworthy) {
325
371
  const result = await replayCapture(filename, capture);
326
372
  replays.push(result);
327
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(REPLAYS_DIR, filename), JSON.stringify(result, null, 2));
373
+ (0, node_fs_1.writeFileSync)((0, node_path_1.join)(runDir.replaysDir, filename), JSON.stringify(result, null, 2));
328
374
  }
329
375
  const passed = replays.filter((r) => r.success).length;
330
376
  logger.info(`replay complete: ${passed}/${replays.length} passed`);
@@ -345,45 +391,29 @@ async function main() {
345
391
  logger.info("no GraphQL endpoints found in captures");
346
392
  }
347
393
  for (const endpoint of graphqlEndpoints) {
348
- await probeIntrospection(endpoint);
394
+ await probeIntrospection(endpoint, runDir.replaysDir);
349
395
  }
350
396
  // Auxiliary endpoint probe
351
397
  logger.info("=== PHASE 3B: AUXILIARY ENDPOINTS ===");
352
- await probeAuxiliaryEndpoints(replays);
398
+ await probeAuxiliaryEndpoints(replays, runDir.auxDir);
353
399
  // Rate-limit probe — runs last
354
400
  logger.info("=== PHASE 3C: RATE-LIMIT PROBE (runs last — may trigger ban) ===");
355
- const probeTargets = new Map();
356
- for (const replay of replays) {
357
- if (!replay.success)
358
- continue;
359
- try {
360
- const u = new URL(replay.url);
361
- if (u.protocol !== "http:" && u.protocol !== "https:")
362
- continue;
363
- const pathname = u.pathname.toLowerCase();
364
- // Skip static fixture endpoints — probing them 60+ times could ban the CDN egress IP
365
- if (pathname.endsWith(".json") ||
366
- /\/(markets|currencies|labels|dictionaries|config|locales|i18n)/.test(pathname))
367
- continue;
368
- const key = `${u.origin}${u.pathname}`;
369
- if (!probeTargets.has(key)) {
370
- probeTargets.set(key, { method: replay.method, body: replay.requestBody });
371
- }
372
- }
373
- catch {
374
- // skip unparseable urls
375
- }
376
- }
401
+ const { targets: probeTargets, skipped: skippedAsNoise } = selectRateLimitTargets(replays);
402
+ logger.info(`rate-limit targets: ${probeTargets.size}` +
403
+ (skippedAsNoise > 0 ? ` (${skippedAsNoise} skipped as noise)` : ""));
377
404
  const rateLimitFindings = [];
378
405
  for (const [endpoint, { method, body }] of probeTargets) {
379
406
  const finding = await probeRateLimit(endpoint, method, body);
380
407
  rateLimitFindings.push(finding);
381
408
  }
382
- (0, node_fs_1.writeFileSync)((0, node_path_1.join)(REPLAYS_DIR, "rate-limit.json"), JSON.stringify(rateLimitFindings, null, 2));
383
- logger.info(`recon-http complete — replays in ${REPLAYS_DIR}`);
409
+ (0, node_fs_1.writeFileSync)((0, node_path_1.join)(runDir.replaysDir, "rate-limit.json"), JSON.stringify(rateLimitFindings, null, 2));
410
+ logger.info(`recon-http complete — replays in ${runDir.replaysDir}`);
411
+ }
412
+ if (process.argv[1] !== undefined &&
413
+ (process.argv[1].endsWith("recon-http.ts") || process.argv[1].endsWith("recon-http.js"))) {
414
+ main().catch((err) => {
415
+ logger.error(`recon-http failed: ${(0, errors_1.toErrorMessage)(err)}`);
416
+ process.exit(1);
417
+ });
384
418
  }
385
- main().catch((err) => {
386
- logger.error(`recon-http failed: ${(0, errors_1.toErrorMessage)(err)}`);
387
- process.exit(1);
388
- });
389
419
  //# sourceMappingURL=recon-http.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recon-http.js","sourceRoot":"","sources":["../../src/scripts/recon-http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recon-http.js","sourceRoot":"","sources":["../../src/scripts/recon-http.ts"],"names":[],"mappings":"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"}
@@ -17,5 +17,29 @@
17
17
  * --flow-file src/sites/appcast/recon-flow.json \
18
18
  * --report /tmp/recon/replay-report.json
19
19
  */
20
- export {};
20
+ /**
21
+ * Spawns recon-browser as a child process with RECON_EMAIL and RECON_RUN_ID
22
+ * pre-bound in the child's env. The flow-file's `${RECON_EMAIL}` token
23
+ * resolves to this address via the engine's existing substituteFlowEnvVars
24
+ * step. Pinning RECON_RUN_ID forces the child's own resolveReconRunDir()
25
+ * call to reuse the parent's run root instead of minting its own — without
26
+ * this, the parent and child disagree on where captures land and the
27
+ * before/after capture diff always sees an empty directory.
28
+ */
29
+ export declare function runReconForJob(url: string, flowFile: string, email: string, runId: string, graphqlDir: string): Promise<{
30
+ exitCode: number | null;
31
+ capturesBefore: Set<string>;
32
+ billingError: boolean;
33
+ }>;
34
+ /**
35
+ * Scans the recon's graphql capture directory for files written during
36
+ * this job's run, returning whether the AppCast integrated_apply
37
+ * endpoint captured a 200 and the SPA's terminal URL.
38
+ */
39
+ export declare function readJobOutcome(capturesBefore: Set<string>, graphqlDir: string): {
40
+ integratedApply200: boolean;
41
+ serverRejected: boolean;
42
+ serverRejectionReason: string | null;
43
+ terminalUrl: string | null;
44
+ };
21
45
  //# sourceMappingURL=recon-replay-jobs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recon-replay-jobs.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-replay-jobs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}
1
+ {"version":3,"file":"recon-replay-jobs.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-replay-jobs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAmEH;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC,CAmE1F;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,EAC3B,UAAU,EAAE,MAAM,GACjB;IACD,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAgDA"}
@@ -19,19 +19,22 @@
19
19
  * --report /tmp/recon/replay-report.json
20
20
  */
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.runReconForJob = runReconForJob;
23
+ exports.readJobOutcome = readJobOutcome;
22
24
  const node_child_process_1 = require("node:child_process");
23
25
  const node_fs_1 = require("node:fs");
24
26
  const node_path_1 = require("node:path");
25
27
  const promises_1 = require("node:timers/promises");
26
28
  const logging_1 = require("../lib/logging");
27
29
  const recon_browser_1 = require("../scripts/recon-browser");
30
+ const recon_shared_1 = require("../scripts/recon-shared");
28
31
  const client_1 = require("../testmail/client");
29
32
  const logger = (0, logging_1.getScriptLogger)("recon-replay-jobs");
30
- function parseArgs() {
33
+ function parseArgs(runDirRoot) {
31
34
  const args = process.argv.slice(2);
32
35
  let jobsPath = null;
33
36
  let flowFile = null;
34
- let reportPath = "/tmp/recon/replay-report.json";
37
+ let reportPath = (0, node_path_1.join)(runDirRoot, "replay-report.json");
35
38
  for (let i = 0; i < args.length; i++) {
36
39
  if (args[i] === "--jobs" && args[i + 1])
37
40
  jobsPath = (0, node_path_1.resolve)(args[++i]);
@@ -47,14 +50,17 @@ function parseArgs() {
47
50
  return { jobsPath, flowFile, reportPath };
48
51
  }
49
52
  /**
50
- * Spawns recon-browser as a child process with RECON_EMAIL pre-bound in
51
- * the child's env. The flow-file's `${RECON_EMAIL}` token resolves to
52
- * this address via the engine's existing substituteFlowEnvVars step.
53
+ * Spawns recon-browser as a child process with RECON_EMAIL and RECON_RUN_ID
54
+ * pre-bound in the child's env. The flow-file's `${RECON_EMAIL}` token
55
+ * resolves to this address via the engine's existing substituteFlowEnvVars
56
+ * step. Pinning RECON_RUN_ID forces the child's own resolveReconRunDir()
57
+ * call to reuse the parent's run root instead of minting its own — without
58
+ * this, the parent and child disagree on where captures land and the
59
+ * before/after capture diff always sees an empty directory.
53
60
  */
54
- async function runReconForJob(url, flowFile, email) {
55
- const capturesDir = "/tmp/recon/graphql";
56
- (0, node_fs_1.mkdirSync)(capturesDir, { recursive: true });
57
- const capturesBefore = new Set((0, node_fs_1.readdirSync)(capturesDir));
61
+ async function runReconForJob(url, flowFile, email, runId, graphqlDir) {
62
+ (0, node_fs_1.mkdirSync)(graphqlDir, { recursive: true });
63
+ const capturesBefore = new Set((0, node_fs_1.readdirSync)(graphqlDir));
58
64
  // Flow-file ENOENT retry. If the flow file is transiently unreadable
59
65
  // (git stash mid-sweep, file system race), wait briefly and retry up
60
66
  // to 3 times before giving up. Covers the 2026-06-09 sweep where
@@ -90,7 +96,7 @@ async function runReconForJob(url, flowFile, email) {
90
96
  "--advanced-stealth",
91
97
  ], {
92
98
  stdio: ["inherit", "pipe", "pipe"],
93
- env: { ...process.env, RECON_EMAIL: email },
99
+ env: { ...process.env, RECON_EMAIL: email, RECON_RUN_ID: runId },
94
100
  });
95
101
  const scan = (chunk, sink) => {
96
102
  sink.write(chunk);
@@ -113,9 +119,8 @@ async function runReconForJob(url, flowFile, email) {
113
119
  * this job's run, returning whether the AppCast integrated_apply
114
120
  * endpoint captured a 200 and the SPA's terminal URL.
115
121
  */
116
- function readJobOutcome(capturesBefore) {
117
- const capturesDir = "/tmp/recon/graphql";
118
- const after = (0, node_fs_1.readdirSync)(capturesDir);
122
+ function readJobOutcome(capturesBefore, graphqlDir) {
123
+ const after = (0, node_fs_1.readdirSync)(graphqlDir);
119
124
  const newCaptures = after.filter((f) => !capturesBefore.has(f));
120
125
  let integratedApply200 = false;
121
126
  let serverRejected = false;
@@ -123,7 +128,7 @@ function readJobOutcome(capturesBefore) {
123
128
  let terminalUrl = null;
124
129
  for (const f of newCaptures) {
125
130
  try {
126
- const data = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.resolve)(capturesDir, f), "utf8"));
131
+ const data = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.resolve)(graphqlDir, f), "utf8"));
127
132
  if (typeof data.url === "string" &&
128
133
  /\/api\/jobs\/\d+\/(integrated_apply|apply)(\?|$)/.test(data.url) &&
129
134
  data.status === 200) {
@@ -159,17 +164,18 @@ function readJobOutcome(capturesBefore) {
159
164
  return { integratedApply200, serverRejected, serverRejectionReason, terminalUrl };
160
165
  }
161
166
  async function main() {
162
- const { jobsPath, flowFile, reportPath } = parseArgs();
167
+ const runDir = (0, recon_shared_1.resolveReconRunDir)();
168
+ const { jobsPath, flowFile, reportPath } = parseArgs(runDir.root);
163
169
  const jobs = JSON.parse((0, node_fs_1.readFileSync)(jobsPath, "utf8"));
164
- logger.info(`replay: ${jobs.length} jobs from ${jobsPath}, flow=${flowFile}`);
170
+ logger.info(`replay: ${jobs.length} jobs from ${jobsPath}, flow=${flowFile}, runId=${runDir.runId}`);
165
171
  const verdicts = [];
166
172
  for (let i = 0; i < jobs.length; i++) {
167
173
  const job = jobs[i];
168
174
  const inbox = (0, client_1.allocateTestmailInbox)();
169
175
  const start = Date.now();
170
176
  logger.info(`[${i + 1}/${jobs.length}] jobId=${job.jobId} inbox=${inbox.address}`);
171
- const { exitCode, capturesBefore, billingError } = await runReconForJob(job.resolvedUrl, flowFile, inbox.address);
172
- const { integratedApply200, serverRejected, serverRejectionReason, terminalUrl } = readJobOutcome(capturesBefore);
177
+ const { exitCode, capturesBefore, billingError } = await runReconForJob(job.resolvedUrl, flowFile, inbox.address, runDir.runId, runDir.graphqlDir);
178
+ const { integratedApply200, serverRejected, serverRejectionReason, terminalUrl } = readJobOutcome(capturesBefore, runDir.graphqlDir);
173
179
  let emailReceived = false;
174
180
  let emailSubject = null;
175
181
  try {
@@ -191,7 +197,7 @@ async function main() {
191
197
  terminalUrl,
192
198
  emailReceived,
193
199
  emailSubject,
194
- capturesDir: "/tmp/recon/graphql",
200
+ capturesDir: runDir.graphqlDir,
195
201
  durationMs: Date.now() - start,
196
202
  };
197
203
  verdicts.push(verdict);
@@ -214,8 +220,12 @@ async function main() {
214
220
  logger.info(`replay complete: ${httpAccepted}/${verdicts.length} accepted (HTTP 200 + no rejection envelope); ${httpRejected} rejected by ATS qualification filter; ${httpAcceptedWithEmail} also received confirmation email`);
215
221
  logger.info(`report: ${reportPath}`);
216
222
  }
217
- main().catch((err) => {
218
- logger.error(`replay failed: ${err.stack ?? String(err)}`);
219
- process.exit(1);
220
- });
223
+ if (process.argv[1] !== undefined &&
224
+ (process.argv[1].endsWith("recon-replay-jobs.ts") ||
225
+ process.argv[1].endsWith("recon-replay-jobs.js"))) {
226
+ main().catch((err) => {
227
+ logger.error(`replay failed: ${err.stack ?? String(err)}`);
228
+ process.exit(1);
229
+ });
230
+ }
221
231
  //# sourceMappingURL=recon-replay-jobs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recon-replay-jobs.js","sourceRoot":"","sources":["../../src/scripts/recon-replay-jobs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recon-replay-jobs.js","sourceRoot":"","sources":["../../src/scripts/recon-replay-jobs.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,46 @@
3
3
  * Extracted so recon-summarize.ts and recon-generate.ts stay consistent
4
4
  * without duplicating the core data model or header-tally logic.
5
5
  */
6
+ /**
7
+ * Legacy process-global paths, kept exported for back-compat since
8
+ * `recon-shared` is a published package subpath. New callers should use
9
+ * {@link resolveReconRunDir} instead — these do not get per-run namespacing.
10
+ */
6
11
  export declare const CAPTURES_DIR = "/tmp/recon/graphql";
7
12
  export declare const REPLAYS_DIR = "/tmp/recon/replays";
8
13
  export declare const AUX_DIR = "/tmp/recon/aux";
9
14
  export declare const STEP_FAILURES_DIR = "/tmp/recon/step-failures";
10
15
  export declare const COOKIES_DIR = "/tmp/recon/cookies";
16
+ export interface ReconRunDir {
17
+ runId: string;
18
+ root: string;
19
+ graphqlDir: string;
20
+ cookiesDir: string;
21
+ replaysDir: string;
22
+ auxDir: string;
23
+ stepFailuresDir: string;
24
+ }
25
+ /**
26
+ * Resolves (and creates) the run-scoped root directory recon scripts should
27
+ * write output under, namespacing every run so concurrent or repeated runs
28
+ * stop silently colliding in a shared `/tmp/recon` tree. Memoized per
29
+ * process so a run's counter-based filenames stay in one namespace across
30
+ * every call site.
31
+ *
32
+ * `RECON_RUN_ID` pins a deterministic runId (e.g. for tests or replays of a
33
+ * known run); `RECON_OUT_DIR` overrides the base directory runs are rooted
34
+ * under (default `/tmp/recon`).
35
+ */
36
+ export declare function resolveReconRunDir(): ReconRunDir;
37
+ /**
38
+ * Resolves the run root a reader (recon-generate, recon-summarize) should
39
+ * read from: an explicit `runDir` wins, `RECON_RUN_ID` pins a specific run
40
+ * under the base dir, and otherwise this picks the most recently modified
41
+ * run subdirectory — the run root recon-browser/recon-http just wrote to —
42
+ * so the existing "recon, then generate" two-command workflow keeps working
43
+ * without operators passing a run dir by hand.
44
+ */
45
+ export declare function resolveLatestReconRunRoot(runDir?: string): string;
11
46
  export interface Capture {
12
47
  timestamp: string;
13
48
  phase: string;
@@ -1 +1 @@
1
- {"version":3,"file":"recon-shared.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-shared.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,eAAO,MAAM,YAAY,uBAAuB,CAAC;AACjD,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAChD,eAAO,MAAM,OAAO,mBAAmB,CAAC;AACxC,eAAO,MAAM,iBAAiB,6BAA6B,CAAC;AAC5D,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAEhD,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;CAC5C;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,EAAO,GAAG,CAAC,EAAE,CASvE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAiCjF"}
1
+ {"version":3,"file":"recon-shared.d.ts","sourceRoot":"","sources":["../../src/scripts/recon-shared.ts"],"names":[],"mappings":"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"}