mcp-scraper 0.66.0 → 0.66.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 (88) hide show
  1. package/CHANGELOG.md +32 -1
  2. package/README.md +2 -2
  3. package/dist/{analytics-repository-IKE53S3E.js → analytics-repository-RUXBFSFX.js} +1 -2
  4. package/dist/bin/api-server.cjs +2898 -2075
  5. package/dist/bin/api-server.js +4 -5
  6. package/dist/bin/mcp-scraper-cli.cjs +1 -2
  7. package/dist/bin/mcp-scraper-cli.js +6 -7
  8. package/dist/bin/mcp-scraper-install.cjs +7 -3
  9. package/dist/bin/mcp-scraper-install.js +2 -3
  10. package/dist/bin/mcp-stdio-server.cjs +1669 -97
  11. package/dist/bin/mcp-stdio-server.js +11 -12
  12. package/dist/bin/paa-harvest.cjs +0 -1
  13. package/dist/bin/paa-harvest.js +4 -5
  14. package/dist/{chunk-VIWT35S6.js → chunk-3EYALCYK.js} +1 -2
  15. package/dist/{chunk-4LINSJNI.js → chunk-3TKKJQB4.js} +1 -2
  16. package/dist/{chunk-4VG3NUUY.js → chunk-55B3T5L2.js} +23 -28
  17. package/dist/{chunk-FG6LJGJ7.js → chunk-77LQV73B.js} +0 -1
  18. package/dist/{chunk-N54JS5WP.js → chunk-ABYBPODM.js} +1 -2
  19. package/dist/chunk-ALEBMPOW.js +6 -0
  20. package/dist/{chunk-2XUXVKT4.js → chunk-AYJHI2FK.js} +0 -1
  21. package/dist/{chunk-AAGVOPP5.js → chunk-CETDPNMZ.js} +24 -25
  22. package/dist/{chunk-5BEPOFKG.js → chunk-CNLLTD5B.js} +0 -1
  23. package/dist/{chunk-P7YFUNKR.js → chunk-DBWWIK7O.js} +3 -4
  24. package/dist/{chunk-EKJ65E3Z.js → chunk-DNM65UCK.js} +0 -1
  25. package/dist/{chunk-3YSEJTMC.js → chunk-GGZEC22A.js} +0 -1
  26. package/dist/{chunk-AJ4YGHG2.js → chunk-K7Y27ND3.js} +3 -14
  27. package/dist/{chunk-XPFRP5QT.js → chunk-KBTUPRTF.js} +3 -4
  28. package/dist/{chunk-5PIO7QBG.js → chunk-KXRWY7DZ.js} +3 -4
  29. package/dist/{chunk-DCWXVAQT.js → chunk-OZDCTNUV.js} +6 -2
  30. package/dist/{chunk-BIUQ6O2Y.js → chunk-OZJMVCDK.js} +0 -1
  31. package/dist/{chunk-X7UG2JCF.js → chunk-PGJQDMC2.js} +1 -2
  32. package/dist/{chunk-DKIG2TEE.js → chunk-PMCT2YQM.js} +2 -3
  33. package/dist/{chunk-G3P3ZDB4.js → chunk-RJ7JVYKU.js} +0 -1
  34. package/dist/{chunk-WD73OFL3.js → chunk-VXLU74YZ.js} +1 -2
  35. package/dist/{chunk-SRRI2HJL.js → chunk-YKL3O7IU.js} +1742 -104
  36. package/dist/{db-BRI465XQ.js → db-4RVZ3NYZ.js} +9 -10
  37. package/dist/{extract-bundle-QAI7JYV2.js → extract-bundle-EA5URLXN.js} +8 -9
  38. package/dist/index.cjs +0 -1
  39. package/dist/index.js +4 -5
  40. package/dist/{lead-list-enrichment-repository-ODWGRVCQ.js → lead-list-enrichment-repository-IBXNWM6H.js} +2 -3
  41. package/dist/{location-data-repository-67MMEVZQ.js → location-data-repository-WHHQUCUI.js} +3 -4
  42. package/dist/{server-MTKWBSAR.js → server-Q7VYGSGQ.js} +450 -1264
  43. package/dist/{site-extract-repository-J3RH3MOS.js → site-extract-repository-NTM4MDQN.js} +4 -5
  44. package/dist/{worker-K7MPPQ7I.js → worker-UTBUWEXQ.js} +8 -9
  45. package/package.json +4 -1
  46. package/dist/analytics-repository-IKE53S3E.js.map +0 -1
  47. package/dist/bin/api-server.cjs.map +0 -1
  48. package/dist/bin/api-server.js.map +0 -1
  49. package/dist/bin/mcp-scraper-cli.cjs.map +0 -1
  50. package/dist/bin/mcp-scraper-cli.js.map +0 -1
  51. package/dist/bin/mcp-scraper-install.cjs.map +0 -1
  52. package/dist/bin/mcp-scraper-install.js.map +0 -1
  53. package/dist/bin/mcp-stdio-server.cjs.map +0 -1
  54. package/dist/bin/mcp-stdio-server.js.map +0 -1
  55. package/dist/bin/paa-harvest.cjs.map +0 -1
  56. package/dist/bin/paa-harvest.js.map +0 -1
  57. package/dist/chunk-2XUXVKT4.js.map +0 -1
  58. package/dist/chunk-3YSEJTMC.js.map +0 -1
  59. package/dist/chunk-4LINSJNI.js.map +0 -1
  60. package/dist/chunk-4VG3NUUY.js.map +0 -1
  61. package/dist/chunk-5BEPOFKG.js.map +0 -1
  62. package/dist/chunk-5PIO7QBG.js.map +0 -1
  63. package/dist/chunk-AAGVOPP5.js.map +0 -1
  64. package/dist/chunk-AJ4YGHG2.js.map +0 -1
  65. package/dist/chunk-BIUQ6O2Y.js.map +0 -1
  66. package/dist/chunk-DCWXVAQT.js.map +0 -1
  67. package/dist/chunk-DKIG2TEE.js.map +0 -1
  68. package/dist/chunk-EKJ65E3Z.js.map +0 -1
  69. package/dist/chunk-FG6LJGJ7.js.map +0 -1
  70. package/dist/chunk-G3P3ZDB4.js.map +0 -1
  71. package/dist/chunk-HDYOVGC6.js +0 -7
  72. package/dist/chunk-HDYOVGC6.js.map +0 -1
  73. package/dist/chunk-N54JS5WP.js.map +0 -1
  74. package/dist/chunk-P7YFUNKR.js.map +0 -1
  75. package/dist/chunk-SRRI2HJL.js.map +0 -1
  76. package/dist/chunk-VIWT35S6.js.map +0 -1
  77. package/dist/chunk-WD73OFL3.js.map +0 -1
  78. package/dist/chunk-X7UG2JCF.js.map +0 -1
  79. package/dist/chunk-XPFRP5QT.js.map +0 -1
  80. package/dist/db-BRI465XQ.js.map +0 -1
  81. package/dist/extract-bundle-QAI7JYV2.js.map +0 -1
  82. package/dist/index.cjs.map +0 -1
  83. package/dist/index.js.map +0 -1
  84. package/dist/lead-list-enrichment-repository-ODWGRVCQ.js.map +0 -1
  85. package/dist/location-data-repository-67MMEVZQ.js.map +0 -1
  86. package/dist/server-MTKWBSAR.js.map +0 -1
  87. package/dist/site-extract-repository-J3RH3MOS.js.map +0 -1
  88. package/dist/worker-K7MPPQ7I.js.map +0 -1
@@ -13,21 +13,21 @@ import {
13
13
  registerScheduledResultsMcpTools,
14
14
  registerSerpIntelligenceCaptureTools,
15
15
  resolveDeploymentProfile
16
- } from "../chunk-SRRI2HJL.js";
17
- import "../chunk-X7UG2JCF.js";
18
- import "../chunk-VIWT35S6.js";
19
- import "../chunk-4LINSJNI.js";
16
+ } from "../chunk-YKL3O7IU.js";
17
+ import "../chunk-PGJQDMC2.js";
18
+ import "../chunk-3EYALCYK.js";
19
+ import "../chunk-3TKKJQB4.js";
20
20
  import {
21
21
  renderInstallTerminal
22
- } from "../chunk-DCWXVAQT.js";
23
- import "../chunk-WD73OFL3.js";
24
- import "../chunk-3YSEJTMC.js";
22
+ } from "../chunk-OZDCTNUV.js";
23
+ import "../chunk-VXLU74YZ.js";
24
+ import "../chunk-GGZEC22A.js";
25
25
  import {
26
26
  PACKAGE_VERSION
27
- } from "../chunk-HDYOVGC6.js";
28
- import "../chunk-EKJ65E3Z.js";
29
- import "../chunk-2XUXVKT4.js";
30
- import "../chunk-4VG3NUUY.js";
27
+ } from "../chunk-ALEBMPOW.js";
28
+ import "../chunk-DNM65UCK.js";
29
+ import "../chunk-AYJHI2FK.js";
30
+ import "../chunk-55B3T5L2.js";
31
31
 
32
32
  // bin/mcp-stdio-server.ts
33
33
  import { readFileSync } from "fs";
@@ -169,4 +169,3 @@ serveStdio(() => buildStdioServer(), {
169
169
  `);
170
170
  }
171
171
  });
172
- //# sourceMappingURL=mcp-stdio-server.js.map
@@ -4457,4 +4457,3 @@ async function runCli() {
4457
4457
 
4458
4458
  // bin/paa-harvest.ts
4459
4459
  runCli();
4460
- //# sourceMappingURL=paa-harvest.cjs.map
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  harvest
4
- } from "../chunk-AJ4YGHG2.js";
4
+ } from "../chunk-K7Y27ND3.js";
5
5
  import {
6
6
  browserServiceApiKey
7
- } from "../chunk-4LINSJNI.js";
8
- import "../chunk-FG6LJGJ7.js";
9
- import "../chunk-4VG3NUUY.js";
7
+ } from "../chunk-3TKKJQB4.js";
8
+ import "../chunk-77LQV73B.js";
9
+ import "../chunk-55B3T5L2.js";
10
10
 
11
11
  // src/cli.ts
12
12
  import { Command } from "commander";
@@ -39,4 +39,3 @@ async function runCli() {
39
39
 
40
40
  // bin/paa-harvest.ts
41
41
  runCli();
42
- //# sourceMappingURL=paa-harvest.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  publicErrorMessage,
3
3
  sanitizeVendorName
4
- } from "./chunk-4VG3NUUY.js";
4
+ } from "./chunk-55B3T5L2.js";
5
5
 
6
6
  // src/api/outbound-sanitize.ts
7
7
  var KEY_RENAMES = {
@@ -101,4 +101,3 @@ export {
101
101
  sanitizeAttempts,
102
102
  sanitizeHarvestResult
103
103
  };
104
- //# sourceMappingURL=chunk-VIWT35S6.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getDb
3
- } from "./chunk-4VG3NUUY.js";
3
+ } from "./chunk-55B3T5L2.js";
4
4
 
5
5
  // src/lib/browser-service-env.ts
6
6
  function browserServiceApiKey() {
@@ -275,4 +275,3 @@ export {
275
275
  recordKernelSession,
276
276
  recordVendorUsage
277
277
  };
278
- //# sourceMappingURL=chunk-4LINSJNI.js.map
@@ -186,8 +186,9 @@ function publicErrorMessage(code) {
186
186
  case "proxy_unavailable":
187
187
  return "The web request could not establish a working connection. Please retry later.";
188
188
  case "harvest_timeout":
189
- case "mcp_request_timeout":
190
189
  return "The request timed out before it completed. Please retry with a smaller request.";
190
+ case "mcp_request_timeout":
191
+ return "The MCP caller stopped waiting before a final response arrived. Durable work may still be running; continue with the returned Task or job handle instead of restarting it.";
191
192
  case "concurrency_limit_exceeded":
192
193
  return "The service is available, but this account has reached its parallel-operation limit. Wait for an active operation to finish or add capacity.";
193
194
  case "unauthorized":
@@ -2331,7 +2332,7 @@ async function claimPendingJob() {
2331
2332
  const res = await db.execute(`
2332
2333
  SELECT * FROM jobs
2333
2334
  WHERE status = 'pending'
2334
- AND COALESCE(json_extract(options, '$.executionOwner'), 'cron') != 'inngest'
2335
+ AND COALESCE(json_extract(options, '$.executionOwner'), 'cron') NOT IN ('direct', 'inngest')
2335
2336
  ORDER BY created_at
2336
2337
  LIMIT 1
2337
2338
  `);
@@ -2343,10 +2344,10 @@ async function claimPendingJob() {
2343
2344
  });
2344
2345
  return upd.rowsAffected === 0 ? void 0 : { ...job, status: "running" };
2345
2346
  }
2346
- async function claimInngestPaaJob(id) {
2347
+ async function claimDurablePaaJob(id) {
2347
2348
  const db = getDb();
2348
2349
  const current = await getJob(id);
2349
- if (!current || current.options.executionOwner !== "inngest" || current.options.serpOnly === true) return void 0;
2350
+ if (!current || current.options.executionOwner !== "direct" || current.options.serpOnly === true) return void 0;
2350
2351
  if (current.status === "running") return void 0;
2351
2352
  if (current.status === "pending") {
2352
2353
  const updated = await db.execute({
@@ -2355,7 +2356,7 @@ async function claimInngestPaaJob(id) {
2355
2356
  WHERE id = ? AND status = 'pending'`,
2356
2357
  args: [id]
2357
2358
  });
2358
- if (updated.rowsAffected === 0) return getJob(id);
2359
+ if (updated.rowsAffected === 0) return void 0;
2359
2360
  return { ...current, status: "running", started_at: current.started_at ?? (/* @__PURE__ */ new Date()).toISOString() };
2360
2361
  }
2361
2362
  return current;
@@ -2367,25 +2368,12 @@ async function checkpointJob(id, result) {
2367
2368
  });
2368
2369
  return updated.rowsAffected === 1;
2369
2370
  }
2370
- async function listPendingInngestPaaJobs(limit = 25) {
2371
- const safeLimit = Math.max(1, Math.min(100, Math.floor(limit)));
2372
- const rows = await getDb().execute({
2373
- sql: `SELECT * FROM jobs
2374
- WHERE status = 'pending'
2375
- AND json_extract(options, '$.executionOwner') = 'inngest'
2376
- AND COALESCE(json_extract(options, '$.serpOnly'), 0) = 0
2377
- ORDER BY created_at
2378
- LIMIT ?`,
2379
- args: [safeLimit]
2380
- });
2381
- return rows.rows.map((row) => deserialize(rowToRawJob(row)));
2382
- }
2383
- async function listRecentTerminalInngestPaaJobs(limit = 25) {
2371
+ async function listRecentTerminalDurablePaaJobs(limit = 25) {
2384
2372
  const safeLimit = Math.max(1, Math.min(100, Math.floor(limit)));
2385
2373
  const rows = await getDb().execute({
2386
2374
  sql: `SELECT * FROM jobs
2387
2375
  WHERE status IN ('done', 'failed', 'cancelled')
2388
- AND json_extract(options, '$.executionOwner') = 'inngest'
2376
+ AND json_extract(options, '$.executionOwner') IN ('direct', 'inngest')
2389
2377
  AND json_extract(options, '$.billingDebitKey') IS NOT NULL
2390
2378
  AND json_extract(options, '$.billingSettledAt') IS NULL
2391
2379
  ORDER BY completed_at DESC
@@ -2394,13 +2382,13 @@ async function listRecentTerminalInngestPaaJobs(limit = 25) {
2394
2382
  });
2395
2383
  return rows.rows.map((row) => deserialize(rowToRawJob(row)));
2396
2384
  }
2397
- async function listStaleRunningInngestPaaJobs(limit = 25) {
2385
+ async function listStaleRunningDurablePaaJobs(limit = 25) {
2398
2386
  const safeLimit = Math.max(1, Math.min(100, Math.floor(limit)));
2399
2387
  const rows = await getDb().execute({
2400
2388
  sql: `SELECT * FROM jobs
2401
2389
  WHERE status = 'running'
2402
- AND started_at <= datetime('now', '-10 minutes')
2403
- AND json_extract(options, '$.executionOwner') = 'inngest'
2390
+ AND started_at <= datetime('now', '-15 minutes')
2391
+ AND json_extract(options, '$.executionOwner') IN ('direct', 'inngest')
2404
2392
  ORDER BY started_at
2405
2393
  LIMIT ?`,
2406
2394
  args: [safeLimit]
@@ -2429,6 +2417,14 @@ async function failJob(id, error, publicError) {
2429
2417
  args: [error, serializePublicErrorEnvelope(publicError), id]
2430
2418
  });
2431
2419
  }
2420
+ async function failRunningJob(id, error, publicError) {
2421
+ const updated = await getDb().execute({
2422
+ sql: `UPDATE jobs SET status = 'failed', error = ?, public_error_json = ?, completed_at = datetime('now')
2423
+ WHERE id = ? AND status = 'running'`,
2424
+ args: [error, serializePublicErrorEnvelope(publicError), id]
2425
+ });
2426
+ return updated.rowsAffected === 1;
2427
+ }
2432
2428
  async function cancelJob(id, reason, publicError) {
2433
2429
  await getDb().execute({
2434
2430
  sql: `UPDATE jobs SET status = 'cancelled', error = ?, public_error_json = ?, completed_at = datetime('now') WHERE id = ?`,
@@ -3518,14 +3514,14 @@ export {
3518
3514
  countActiveUsers,
3519
3515
  countActiveJobsForUser,
3520
3516
  claimPendingJob,
3521
- claimInngestPaaJob,
3517
+ claimDurablePaaJob,
3522
3518
  checkpointJob,
3523
- listPendingInngestPaaJobs,
3524
- listRecentTerminalInngestPaaJobs,
3525
- listStaleRunningInngestPaaJobs,
3519
+ listRecentTerminalDurablePaaJobs,
3520
+ listStaleRunningDurablePaaJobs,
3526
3521
  markJobBillingSettled,
3527
3522
  completeJob,
3528
3523
  failJob,
3524
+ failRunningJob,
3529
3525
  cancelJob,
3530
3526
  createKpoJob,
3531
3527
  claimPendingKpoJob,
@@ -3573,4 +3569,3 @@ export {
3573
3569
  insertInboxMessage,
3574
3570
  listActiveUserIds
3575
3571
  };
3576
- //# sourceMappingURL=chunk-4VG3NUUY.js.map
@@ -170,4 +170,3 @@ export {
170
170
  RawMapsAboutAttributeSchema,
171
171
  postToMemoryLibrary
172
172
  };
173
- //# sourceMappingURL=chunk-FG6LJGJ7.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getDb
3
- } from "./chunk-4VG3NUUY.js";
3
+ } from "./chunk-55B3T5L2.js";
4
4
 
5
5
  // src/api/lead-list-enrichment-repository.ts
6
6
  import { createHash, randomUUID } from "crypto";
@@ -590,4 +590,3 @@ export {
590
590
  markLeadListEnrichmentOutboxDispatched,
591
591
  markLeadListEnrichmentOutboxFailed
592
592
  };
593
- //# sourceMappingURL=chunk-N54JS5WP.js.map
@@ -0,0 +1,6 @@
1
+ // src/version.ts
2
+ var PACKAGE_VERSION = "0.66.2";
3
+
4
+ export {
5
+ PACKAGE_VERSION
6
+ };
@@ -1011,4 +1011,3 @@ export {
1011
1011
  MEDIA_TRANSCRIBE_HOLD_MC,
1012
1012
  MC_PER_USD
1013
1013
  };
1014
- //# sourceMappingURL=chunk-2XUXVKT4.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isVendorUnavailableError
3
- } from "./chunk-BIUQ6O2Y.js";
3
+ } from "./chunk-OZJMVCDK.js";
4
4
  import {
5
5
  CaptchaError,
6
6
  LocationMismatchError,
@@ -10,27 +10,7 @@ import {
10
10
  finishHarvestAttempt,
11
11
  publicErrorMessage,
12
12
  startHarvestAttempt
13
- } from "./chunk-4VG3NUUY.js";
14
-
15
- // src/api/webhook.ts
16
- async function deliverWebhook(url, payload, retries = 3) {
17
- for (let attempt = 1; attempt <= retries; attempt++) {
18
- try {
19
- const res = await fetch(url, {
20
- method: "POST",
21
- headers: { "content-type": "application/json" },
22
- body: JSON.stringify(payload),
23
- signal: AbortSignal.timeout(1e4)
24
- });
25
- if (res.ok) return;
26
- console.warn(`[webhook] attempt ${attempt} \u2192 ${res.status} from ${url}`);
27
- } catch (err) {
28
- console.warn(`[webhook] attempt ${attempt} failed:`, err instanceof Error ? err.message : err);
29
- }
30
- if (attempt < retries) await new Promise((r) => setTimeout(r, 1e3 * attempt * 2));
31
- }
32
- console.error(`[webhook] gave up after ${retries} attempts for ${url}`);
33
- }
13
+ } from "./chunk-55B3T5L2.js";
34
14
 
35
15
  // src/api/harvest-problems.ts
36
16
  function errorMessage(err) {
@@ -226,13 +206,32 @@ function createHarvestAttemptRecorder(jobId, userId) {
226
206
  };
227
207
  }
228
208
 
209
+ // src/api/webhook.ts
210
+ async function deliverWebhook(url, payload, retries = 3) {
211
+ for (let attempt = 1; attempt <= retries; attempt++) {
212
+ try {
213
+ const res = await fetch(url, {
214
+ method: "POST",
215
+ headers: { "content-type": "application/json" },
216
+ body: JSON.stringify(payload),
217
+ signal: AbortSignal.timeout(1e4)
218
+ });
219
+ if (res.ok) return;
220
+ console.warn(`[webhook] attempt ${attempt} \u2192 ${res.status} from ${url}`);
221
+ } catch (err) {
222
+ console.warn(`[webhook] attempt ${attempt} failed:`, err instanceof Error ? err.message : err);
223
+ }
224
+ if (attempt < retries) await new Promise((r) => setTimeout(r, 1e3 * attempt * 2));
225
+ }
226
+ console.error(`[webhook] gave up after ${retries} attempts for ${url}`);
227
+ }
228
+
229
229
  export {
230
- deliverWebhook,
231
230
  classifyHarvestProblem,
232
231
  serializeHarvestProblem,
233
232
  harvestProblemResponse,
234
233
  harvestProblemEnvelope,
235
234
  publicErrorBoundary,
236
- createHarvestAttemptRecorder
235
+ createHarvestAttemptRecorder,
236
+ deliverWebhook
237
237
  };
238
- //# sourceMappingURL=chunk-AAGVOPP5.js.map
@@ -3007,4 +3007,3 @@ export {
3007
3007
  refreshAnalyticsDailyRollupsIfDue,
3008
3008
  createAnalyticsExport
3009
3009
  };
3010
- //# sourceMappingURL=chunk-5BEPOFKG.js.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  isVendorUnavailableError
3
- } from "./chunk-BIUQ6O2Y.js";
3
+ } from "./chunk-OZJMVCDK.js";
4
4
  import {
5
5
  loadHtmlDocument,
6
6
  validatePublicHttpUrl
7
- } from "./chunk-3YSEJTMC.js";
7
+ } from "./chunk-GGZEC22A.js";
8
8
  import {
9
9
  buildPublicErrorEnvelope,
10
10
  getDb
11
- } from "./chunk-4VG3NUUY.js";
11
+ } from "./chunk-55B3T5L2.js";
12
12
 
13
13
  // src/lib/media-extractor.ts
14
14
  import { createWriteStream, mkdirSync, rmSync } from "fs";
@@ -730,4 +730,3 @@ export {
730
730
  queuedCommonsDocumentCount,
731
731
  semanticCommonsEntityScores
732
732
  };
733
- //# sourceMappingURL=chunk-P7YFUNKR.js.map
@@ -297,4 +297,3 @@ export {
297
297
  readPrivateArtifactWindow,
298
298
  readPrivateArtifactBuffer
299
299
  };
300
- //# sourceMappingURL=chunk-EKJ65E3Z.js.map
@@ -213,4 +213,3 @@ export {
213
213
  validatePublicHttpUrl,
214
214
  loadHtmlDocument
215
215
  };
216
- //# sourceMappingURL=chunk-3YSEJTMC.js.map
@@ -6,14 +6,14 @@ import {
6
6
  currentCostContext,
7
7
  recordKernelSession,
8
8
  runWithCostContext
9
- } from "./chunk-4LINSJNI.js";
9
+ } from "./chunk-3TKKJQB4.js";
10
10
  import {
11
11
  DEFAULT_PROXY_MODE,
12
12
  HarvestOptionsSchema,
13
13
  RawPAAItemSchema,
14
14
  postToMemoryLibrary,
15
15
  recencyToTbs
16
- } from "./chunk-FG6LJGJ7.js";
16
+ } from "./chunk-77LQV73B.js";
17
17
  import {
18
18
  CaptchaError,
19
19
  ExtractionError,
@@ -21,7 +21,7 @@ import {
21
21
  RECAPTCHA_INSTRUCTIONS,
22
22
  RequestAbortedError,
23
23
  sanitizeVendorName
24
- } from "./chunk-4VG3NUUY.js";
24
+ } from "./chunk-55B3T5L2.js";
25
25
 
26
26
  // src/driver/BrowserDriver.ts
27
27
  import { chromium } from "playwright-extra";
@@ -3988,14 +3988,6 @@ async function harvest(rawOptions) {
3988
3988
  }
3989
3989
 
3990
3990
  export {
3991
- PAASelectors,
3992
- VideoSelectors,
3993
- ForumSelectors,
3994
- WhatPeopleSayingSelectors,
3995
- AIOverviewSelectors,
3996
- AIModeSelectors,
3997
- OrganicSelectors,
3998
- LocalPackSelectors,
3999
3991
  MapsSelectors,
4000
3992
  detectPageUserAgent,
4001
3993
  detectRuntimeUserAgent,
@@ -4004,8 +3996,6 @@ export {
4004
3996
  buildYouTubeChannelVideosUrl,
4005
3997
  BrowserDriver,
4006
3998
  brightDataSerpEnabled,
4007
- encodeUule,
4008
- normalizeLocation,
4009
3999
  BACKUP_LAST_RESORT_ATTEMPTS,
4010
4000
  backupProxyAvailable,
4011
4001
  createBackupProxyIdSafe,
@@ -4015,4 +4005,3 @@ export {
4015
4005
  resolveKernelProxyId,
4016
4006
  harvest
4017
4007
  };
4018
- //# sourceMappingURL=chunk-AJ4YGHG2.js.map
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  rowsToCsv
3
- } from "./chunk-G3P3ZDB4.js";
3
+ } from "./chunk-RJ7JVYKU.js";
4
4
  import {
5
5
  DEFAULT_MAPS_PROXY_MODE,
6
6
  postToMemoryLibrary
7
- } from "./chunk-FG6LJGJ7.js";
7
+ } from "./chunk-77LQV73B.js";
8
8
  import {
9
9
  buildSerpEmailQuery,
10
10
  contactAttemptUrls,
11
11
  extractContactEvidence,
12
12
  extractSerpEmailEvidence,
13
13
  selectPrimaryEmail
14
- } from "./chunk-WD73OFL3.js";
14
+ } from "./chunk-VXLU74YZ.js";
15
15
 
16
16
  // src/lib/slugify.ts
17
17
  function slugify(s) {
@@ -1913,4 +1913,3 @@ export {
1913
1913
  runWorkflow,
1914
1914
  runWorkflowStep
1915
1915
  };
1916
- //# sourceMappingURL=chunk-XPFRP5QT.js.map
@@ -4,10 +4,10 @@ import {
4
4
  privateArtifactOwnerId,
5
5
  readPrivateArtifactBuffer,
6
6
  renewPrivateArtifactDownload
7
- } from "./chunk-EKJ65E3Z.js";
7
+ } from "./chunk-DNM65UCK.js";
8
8
  import {
9
9
  LedgerOperation
10
- } from "./chunk-2XUXVKT4.js";
10
+ } from "./chunk-AYJHI2FK.js";
11
11
  import {
12
12
  CREDIT_LOT_TTL,
13
13
  getDb,
@@ -15,7 +15,7 @@ import {
15
15
  sanitizeVendorName,
16
16
  serializePublicErrorEnvelope,
17
17
  settleDebitMcIdempotent
18
- } from "./chunk-4VG3NUUY.js";
18
+ } from "./chunk-55B3T5L2.js";
19
19
 
20
20
  // src/api/site-extract-content-store.ts
21
21
  import { createHash } from "crypto";
@@ -797,4 +797,3 @@ export {
797
797
  setExtractJobPublicError,
798
798
  settleExtractJob
799
799
  };
800
- //# sourceMappingURL=chunk-5PIO7QBG.js.map
@@ -1,3 +1,8 @@
1
+ // release-message.json
2
+ var release_message_default = {
3
+ message: "PAA work now starts immediately on the direct runtime, and every MCP Scraper install exposes the same complete typed tool contract."
4
+ };
5
+
1
6
  // src/install-terminal.ts
2
7
  var CODES = {
3
8
  reset: "\x1B[0m",
@@ -48,7 +53,7 @@ function renderInstallTerminal(options) {
48
53
  colorize(ascii, "amber", color),
49
54
  `${colorize("MCP Scraper Agent", "cyan", color)} . v${options.version} . mcpscraper.dev`,
50
55
  "1/1 install surfaces ready",
51
- colorize("Newest: any approved connection read can become an indexed Memory snapshot in one call. OAuth stays tenant-isolated and provider content is redacted and marked untrusted.", "lime", color),
56
+ colorize(`Newest in v${options.version}: ${release_message_default.message}`, "lime", color),
52
57
  "",
53
58
  `${colorize("Tools", "cyan", color)} ${colorize("(259 MCP tools)", "muted", color)}`,
54
59
  toolRow("search", ["harvest_paa", "search_serp", "maps_search", "maps_place_intel"], color),
@@ -106,4 +111,3 @@ function renderInstallTerminal(options) {
106
111
  export {
107
112
  renderInstallTerminal
108
113
  };
109
- //# sourceMappingURL=chunk-DCWXVAQT.js.map
@@ -14,4 +14,3 @@ function isVendorUnavailableError(err, message) {
14
14
  export {
15
15
  isVendorUnavailableError
16
16
  };
17
- //# sourceMappingURL=chunk-BIUQ6O2Y.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  validatePublicHttpUrl
3
- } from "./chunk-3YSEJTMC.js";
3
+ } from "./chunk-GGZEC22A.js";
4
4
 
5
5
  // src/api/image-audit.ts
6
6
  var OVER_BYTES = 100 * 1024;
@@ -381,4 +381,3 @@ export {
381
381
  computeIssues,
382
382
  renderIssueReport
383
383
  };
384
- //# sourceMappingURL=chunk-X7UG2JCF.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  csvRecords
3
- } from "./chunk-G3P3ZDB4.js";
3
+ } from "./chunk-RJ7JVYKU.js";
4
4
  import {
5
5
  getDb
6
- } from "./chunk-4VG3NUUY.js";
6
+ } from "./chunk-55B3T5L2.js";
7
7
 
8
8
  // src/api/location-data-repository.ts
9
9
  import { createHash, randomUUID } from "crypto";
@@ -681,4 +681,3 @@ export {
681
681
  importHostedCensusPlacesCsv,
682
682
  queryHostedLocationMarkets
683
683
  };
684
- //# sourceMappingURL=chunk-DKIG2TEE.js.map
@@ -66,4 +66,3 @@ export {
66
66
  csvRecords,
67
67
  rowsToCsv
68
68
  };
69
- //# sourceMappingURL=chunk-G3P3ZDB4.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  isPrivateIpAddress,
3
3
  loadHtmlDocument
4
- } from "./chunk-3YSEJTMC.js";
4
+ } from "./chunk-GGZEC22A.js";
5
5
 
6
6
  // src/lib/contact-evidence.ts
7
7
  var MAX_EMAILS = 20;
@@ -291,4 +291,3 @@ export {
291
291
  buildSerpEmailQuery,
292
292
  extractSerpEmailEvidence
293
293
  };
294
- //# sourceMappingURL=chunk-WD73OFL3.js.map