mcp-scraper 0.79.2 → 0.79.4

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 (38) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +1 -1
  3. package/dist/{analytics-repository-VEUDEPWI.js → analytics-repository-YOY5KMOD.js} +3 -3
  4. package/dist/bin/api-server.js +4 -4
  5. package/dist/bin/mcp-scraper-cli.js +1 -1
  6. package/dist/bin/mcp-scraper-core.js +7 -7
  7. package/dist/bin/mcp-scraper-install.js +2 -2
  8. package/dist/bin/mcp-stdio-server.js +7 -7
  9. package/dist/bin/paa-harvest.js +3 -3
  10. package/dist/{chunk-LB2GNACG.js → chunk-3423R23T.js} +3 -3
  11. package/dist/{chunk-NGLZ6UJR.js → chunk-5UAFBKJR.js} +1 -1
  12. package/dist/{chunk-B6L73AO4.js → chunk-6HAV7LCE.js} +3 -1
  13. package/dist/{chunk-Q5L2OCOQ.js → chunk-C5Z4OFKW.js} +1 -1
  14. package/dist/{chunk-KAGHJQFO.js → chunk-EQGTEHLZ.js} +1 -1
  15. package/dist/{chunk-6FL7ZZCF.js → chunk-ETQ7J2EB.js} +1 -1
  16. package/dist/{chunk-BTQ23KCT.js → chunk-F5GQJWZU.js} +1 -1
  17. package/dist/{chunk-DUWZQSSJ.js → chunk-HEUMDX4I.js} +1 -1
  18. package/dist/{chunk-OUBH6XMY.js → chunk-K3Z5AQYE.js} +1 -1
  19. package/dist/{chunk-WEEAXPWK.js → chunk-KNGTQD6U.js} +207 -36
  20. package/dist/{chunk-2RTELL6M.js → chunk-N63ZFFU2.js} +1 -1
  21. package/dist/{chunk-47ZCUBM5.js → chunk-NVUKO5NN.js} +12 -1
  22. package/dist/{chunk-XUM2LEGU.js → chunk-PQVLX5WT.js} +3 -3
  23. package/dist/{chunk-JECPQBLZ.js → chunk-RUBI3OXR.js} +138 -11
  24. package/dist/{chunk-SL7YVA4S.js → chunk-YBR32LOD.js} +1 -1
  25. package/dist/{chunk-OU4FV2RP.js → chunk-YXNDOQXN.js} +49 -0
  26. package/dist/{db-TA567JLA.js → db-Z34LPZNR.js} +5 -1
  27. package/dist/{extract-bundle-I2GNC25L.js → extract-bundle-S3ZGNFML.js} +3 -3
  28. package/dist/{gmail-service-GGQVJUC3.js → gmail-service-YFS2OV4S.js} +4 -4
  29. package/dist/index.cjs +205 -34
  30. package/dist/index.d.cts +35 -0
  31. package/dist/index.d.ts +35 -0
  32. package/dist/index.js +3 -3
  33. package/dist/{lead-list-enrichment-repository-5LEWW4X7.js → lead-list-enrichment-repository-36RPVV6N.js} +2 -2
  34. package/dist/{location-data-repository-AHKDXTEQ.js → location-data-repository-WPRG62GE.js} +2 -2
  35. package/dist/{server-5OSHEEVT.js → server-BMQKWVCZ.js} +73 -28
  36. package/dist/{site-extract-repository-KF736IR6.js → site-extract-repository-WAJMIDPJ.js} +2 -2
  37. package/dist/{worker-2TYCYFPM.js → worker-3LUFQWWJ.js} +5 -5
  38. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -4,8 +4,19 @@ All notable changes to MCP Scraper are documented here. The format is based on [
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.79.4] - 2026-08-29
8
+
9
+ ### Fixed
10
+
11
+ - Pinned the public schema runtime used by fresh npm installs, preventing dependency-range drift from changing 35 datetime-bearing MCP input schemas between hosted production and the published stdio package.
12
+ - Added fresh-registry hosted-versus-stdio contract parity to the patch-release gate, so an accepted publication is not treated as complete until the downloaded package reproduces the canonical 354-tool contract.
13
+
14
+ ## [0.79.3] - 2026-08-29
15
+
7
16
  ### Fixed
8
17
 
18
+ - Persisted per-control PAA dispatch and 0.7/1.0/1.4-second confirmation telemetry in durable checkpoints, exposed recent interaction and attempt correlation through MCP status, attached Bright Data session IDs immediately after browser launch, and finalized dangling attempt rows during lease recovery without blocking customer settlement.
19
+ - Prevented inline style, script, and hidden DOM text inside Google answer containers from falsely confirming that PAA answer material loaded.
9
20
  - Routed canonical `/assistant` page loads to the web app and the redacted private Assistant readiness endpoint to the main API function, preventing production 404s after the 0.79.1 launch.
10
21
 
11
22
  ## [0.79.2] - 2026-08-28
package/README.md CHANGED
@@ -173,7 +173,7 @@ Build the branded one-click bundle:
173
173
  npm run build:mcpb
174
174
  ```
175
175
 
176
- The generated bundle is written to `build/mcpb/mcp-scraper-<version>.mcpb` and copied to `public/downloads/` for the hosted download. The current public bundle is `https://mcpscraper.dev/downloads/mcp-scraper.mcpb` (`0.79.2`, SHA-256 `5d9ac8818c9dc6e8667b5734bd4253d3012df82a6976e45eeee22f37bb2026a1`). Install it by opening or dragging it into Claude Desktop. Claude displays the `MCP Scraper` install card, icon, API-key configuration field, and manually curated current-release message from the bundle manifest.
176
+ The generated bundle is written to `build/mcpb/mcp-scraper-<version>.mcpb` and copied to `public/downloads/` for the hosted download. The current public bundle is `https://mcpscraper.dev/downloads/mcp-scraper.mcpb` (`0.79.4`, SHA-256 `8c7db6b3188db21d9328ff8bf408d72bd5cd911f93afaf04c7fb4d68f592ca85`). Install it by opening or dragging it into Claude Desktop. Claude displays the `MCP Scraper` install card, icon, API-key configuration field, and manually curated current-release message from the bundle manifest.
177
177
 
178
178
  The MCPB install exposes every tool — web-intelligence plus all `browser_*` tools — through the one `mcp-scraper` server.
179
179
 
@@ -85,9 +85,9 @@ import {
85
85
  updateAnalyticsPixel,
86
86
  upsertAnalyticsAdSpend,
87
87
  upsertAnalyticsHostGroup
88
- } from "./chunk-DUWZQSSJ.js";
89
- import "./chunk-Q5L2OCOQ.js";
90
- import "./chunk-OU4FV2RP.js";
88
+ } from "./chunk-HEUMDX4I.js";
89
+ import "./chunk-C5Z4OFKW.js";
90
+ import "./chunk-YXNDOQXN.js";
91
91
  export {
92
92
  ANALYTICS_CONTENT_SORTS,
93
93
  AnalyticsRepositoryError,
@@ -17,16 +17,16 @@ loadDotEnv();
17
17
  async function main() {
18
18
  const [{ serve }, { app, personalAssistantProductionStartup }, { startWorker }, { migrate }] = await Promise.all([
19
19
  import("@hono/node-server"),
20
- import("../server-5OSHEEVT.js"),
21
- import("../worker-2TYCYFPM.js"),
22
- import("../db-TA567JLA.js")
20
+ import("../server-BMQKWVCZ.js"),
21
+ import("../worker-3LUFQWWJ.js"),
22
+ import("../db-Z34LPZNR.js")
23
23
  ]);
24
24
  const PORT = parseInt(process.env.PORT ?? "3001");
25
25
  try {
26
26
  await personalAssistantProductionStartup;
27
27
  await migrate();
28
28
  if (process.env.ANALYTICS_DATABASE_URL) {
29
- const { migrateAnalytics } = await import("../analytics-repository-VEUDEPWI.js");
29
+ const { migrateAnalytics } = await import("../analytics-repository-YOY5KMOD.js");
30
30
  await migrateAnalytics();
31
31
  }
32
32
  startWorker();
@@ -13,7 +13,7 @@ import "../chunk-VXLU74YZ.js";
13
13
  import "../chunk-GGZEC22A.js";
14
14
  import {
15
15
  PACKAGE_VERSION
16
- } from "../chunk-2RTELL6M.js";
16
+ } from "../chunk-N63ZFFU2.js";
17
17
 
18
18
  // src/cli/human-cli.ts
19
19
  import { Command } from "commander";
@@ -1,20 +1,20 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runMcpScraperStdio
4
- } from "../chunk-XUM2LEGU.js";
5
- import "../chunk-JECPQBLZ.js";
4
+ } from "../chunk-PQVLX5WT.js";
5
+ import "../chunk-RUBI3OXR.js";
6
6
  import "../chunk-PGJQDMC2.js";
7
7
  import "../chunk-DNM65UCK.js";
8
8
  import "../chunk-T3MZISOF.js";
9
- import "../chunk-B6L73AO4.js";
9
+ import "../chunk-6HAV7LCE.js";
10
10
  import "../chunk-VFCUGTCF.js";
11
11
  import "../chunk-OM7HVEJ3.js";
12
- import "../chunk-NGLZ6UJR.js";
13
- import "../chunk-6FL7ZZCF.js";
12
+ import "../chunk-5UAFBKJR.js";
13
+ import "../chunk-ETQ7J2EB.js";
14
14
  import "../chunk-VXLU74YZ.js";
15
15
  import "../chunk-GGZEC22A.js";
16
- import "../chunk-2RTELL6M.js";
17
- import "../chunk-OU4FV2RP.js";
16
+ import "../chunk-N63ZFFU2.js";
17
+ import "../chunk-YXNDOQXN.js";
18
18
 
19
19
  // src/mcp/thorbit-restricted-tool-surface.ts
20
20
  var THORBIT_RESTRICTED_TOOL_NAMES = [
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  renderInstallTerminal
4
- } from "../chunk-6FL7ZZCF.js";
4
+ } from "../chunk-ETQ7J2EB.js";
5
5
  import {
6
6
  PACKAGE_VERSION
7
- } from "../chunk-2RTELL6M.js";
7
+ } from "../chunk-N63ZFFU2.js";
8
8
 
9
9
  // bin/mcp-scraper-install.ts
10
10
  var noColor = process.argv.includes("--no-color") || process.env.NO_COLOR !== void 0 || process.env.FORCE_COLOR === "0" || !process.stdout.isTTY;
@@ -1,20 +1,20 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runMcpScraperStdio
4
- } from "../chunk-XUM2LEGU.js";
5
- import "../chunk-JECPQBLZ.js";
4
+ } from "../chunk-PQVLX5WT.js";
5
+ import "../chunk-RUBI3OXR.js";
6
6
  import "../chunk-PGJQDMC2.js";
7
7
  import "../chunk-DNM65UCK.js";
8
8
  import "../chunk-T3MZISOF.js";
9
- import "../chunk-B6L73AO4.js";
9
+ import "../chunk-6HAV7LCE.js";
10
10
  import "../chunk-VFCUGTCF.js";
11
11
  import "../chunk-OM7HVEJ3.js";
12
- import "../chunk-NGLZ6UJR.js";
13
- import "../chunk-6FL7ZZCF.js";
12
+ import "../chunk-5UAFBKJR.js";
13
+ import "../chunk-ETQ7J2EB.js";
14
14
  import "../chunk-VXLU74YZ.js";
15
15
  import "../chunk-GGZEC22A.js";
16
- import "../chunk-2RTELL6M.js";
17
- import "../chunk-OU4FV2RP.js";
16
+ import "../chunk-N63ZFFU2.js";
17
+ import "../chunk-YXNDOQXN.js";
18
18
 
19
19
  // bin/mcp-stdio-server.ts
20
20
  runMcpScraperStdio();
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  harvest
4
- } from "../chunk-WEEAXPWK.js";
4
+ } from "../chunk-KNGTQD6U.js";
5
5
  import {
6
6
  browserServiceApiKey
7
7
  } from "../chunk-OM7HVEJ3.js";
8
- import "../chunk-NGLZ6UJR.js";
8
+ import "../chunk-5UAFBKJR.js";
9
9
  import "../chunk-OWF2JJKN.js";
10
- import "../chunk-OU4FV2RP.js";
10
+ import "../chunk-YXNDOQXN.js";
11
11
 
12
12
  // src/cli.ts
13
13
  import { Command } from "commander";
@@ -5,7 +5,7 @@ import {
5
5
  recordServiceConnectionHealth,
6
6
  setServiceConnectionProviderIdentity,
7
7
  updateServiceConnectionTools
8
- } from "./chunk-Q5L2OCOQ.js";
8
+ } from "./chunk-C5Z4OFKW.js";
9
9
  import {
10
10
  createConnectedDataArtifact,
11
11
  createConnectedDataBinaryArtifact
@@ -23,13 +23,13 @@ import {
23
23
  import {
24
24
  recordVendorUsage,
25
25
  runWithCostContext
26
- } from "./chunk-NGLZ6UJR.js";
26
+ } from "./chunk-5UAFBKJR.js";
27
27
  import {
28
28
  debitMcIdempotent,
29
29
  getDb,
30
30
  getUserByEmail,
31
31
  reconcileBalanceMc
32
- } from "./chunk-OU4FV2RP.js";
32
+ } from "./chunk-YXNDOQXN.js";
33
33
 
34
34
  // src/api/gmail-service.ts
35
35
  import { createHash as createHash4, createHmac, timingSafeEqual } from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getDb
3
- } from "./chunk-OU4FV2RP.js";
3
+ } from "./chunk-YXNDOQXN.js";
4
4
 
5
5
  // src/api/cost-context.ts
6
6
  import { AsyncLocalStorage } from "async_hooks";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  publicErrorMessage,
3
3
  sanitizeVendorName
4
- } from "./chunk-OU4FV2RP.js";
4
+ } from "./chunk-YXNDOQXN.js";
5
5
 
6
6
  // src/api/outbound-sanitize.ts
7
7
  var KEY_RENAMES = {
@@ -46,6 +46,7 @@ var INTERNAL_DIAGNOSTIC_KEYS = /* @__PURE__ */ new Set([
46
46
  // bypassing that projection through the generic diagnostics sanitizer.
47
47
  "browser_provider",
48
48
  "provider_session_id",
49
+ "provider_session_observed_at",
49
50
  "provider_lookup_status",
50
51
  "provider_status",
51
52
  "provider_error_code",
@@ -190,6 +191,7 @@ function projectAttemptProviderTelemetry(attempt) {
190
191
  return {
191
192
  browser_provider: allowlistedString(attempt.browser_provider, PUBLIC_BROWSER_PROVIDERS),
192
193
  provider_session_id: publicProviderSessionId(attempt.provider_session_id),
194
+ provider_session_observed_at: publicIsoTimestamp(attempt.provider_session_observed_at),
193
195
  provider_lookup_status: allowlistedString(attempt.provider_lookup_status, PUBLIC_PROVIDER_LOOKUP_STATUSES),
194
196
  provider_status: allowlistedString(attempt.provider_status, PUBLIC_PROVIDER_STATUSES),
195
197
  provider_error_code: publicProviderErrorCode(attempt.provider_error_code),
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getDb,
3
3
  getUserByEmail
4
- } from "./chunk-OU4FV2RP.js";
4
+ } from "./chunk-YXNDOQXN.js";
5
5
 
6
6
  // src/api/session.ts
7
7
  import { createHmac, timingSafeEqual } from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getDb
3
- } from "./chunk-OU4FV2RP.js";
3
+ } from "./chunk-YXNDOQXN.js";
4
4
 
5
5
  // src/api/lead-list-enrichment-repository.ts
6
6
  import { createHash, randomUUID } from "crypto";
@@ -1,6 +1,6 @@
1
1
  // release-message.json
2
2
  var release_message_default = {
3
- message: "PAA harvests now reject Google error placeholders, retry interrupted controls without claiming the frontier ended, advance the newest question frontier in bounded batches, preserve complete answers and sources, and resolve retained Google redirect evidence even after the browser session closes."
3
+ message: "PAA harvests now expose exact interaction timing, distinguish interrupted work from proven frontier exhaustion, and install with a pinned schema runtime so the hosted and local 354-tool contracts remain identical."
4
4
  };
5
5
 
6
6
  // src/install-terminal.ts
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  buildPublicErrorEnvelope,
10
10
  getDb
11
- } from "./chunk-OU4FV2RP.js";
11
+ } from "./chunk-YXNDOQXN.js";
12
12
 
13
13
  // src/lib/media-extractor.ts
14
14
  import { createWriteStream, mkdirSync, rmSync } from "fs";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getSessionSecret,
3
3
  serviceConnectionAdvertisesAction
4
- } from "./chunk-Q5L2OCOQ.js";
4
+ } from "./chunk-C5Z4OFKW.js";
5
5
 
6
6
  // src/api/analytics-repository.ts
7
7
  import { createHash as createHash2, createHmac as createHmac2, randomBytes as randomBytes2, randomUUID as randomUUID2 } from "crypto";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-RJ7JVYKU.js";
4
4
  import {
5
5
  getDb
6
- } from "./chunk-OU4FV2RP.js";
6
+ } from "./chunk-YXNDOQXN.js";
7
7
 
8
8
  // src/api/location-data-repository.ts
9
9
  import { createHash, randomUUID } from "crypto";