mcp-scraper 0.69.0 → 0.72.0

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 (45) hide show
  1. package/CHANGELOG.md +60 -2
  2. package/README.md +6 -2
  3. package/dist/{analytics-repository-62CAZAIP.js → analytics-repository-6YLRSWYO.js} +3 -2
  4. package/dist/bin/api-server.cjs +18592 -12680
  5. package/dist/bin/api-server.js +4 -4
  6. package/dist/bin/mcp-scraper-cli.cjs +1 -1
  7. package/dist/bin/mcp-scraper-cli.js +1 -1
  8. package/dist/bin/mcp-scraper-install.cjs +3 -3
  9. package/dist/bin/mcp-scraper-install.js +2 -2
  10. package/dist/bin/mcp-stdio-server.cjs +10492 -9129
  11. package/dist/bin/mcp-stdio-server.js +9 -7
  12. package/dist/bin/paa-harvest.cjs +308 -41
  13. package/dist/bin/paa-harvest.js +4 -3
  14. package/dist/{chunk-M7D7WO75.js → chunk-2N4V4LVU.js} +3178 -2019
  15. package/dist/chunk-7RQULQF3.js +263 -0
  16. package/dist/{chunk-UL4ZKAWZ.js → chunk-A66DGFOU.js} +1 -1
  17. package/dist/{chunk-ES25GP6C.js → chunk-CXY5WV45.js} +24 -34
  18. package/dist/{chunk-Y46YNQMM.js → chunk-F5TK4KMT.js} +1 -1
  19. package/dist/{chunk-62LEXS5O.js → chunk-F6MUGMRN.js} +306 -44
  20. package/dist/{chunk-5RFQGIYC.js → chunk-FVL4GUTP.js} +2 -2
  21. package/dist/{chunk-OZIUFN6B.js → chunk-I45JV4EU.js} +2 -2
  22. package/dist/{chunk-2LXTOAKS.js → chunk-KIPIBPUB.js} +9 -1
  23. package/dist/chunk-MB72PA6S.js +2003 -0
  24. package/dist/chunk-OM7HVEJ3.js +26 -0
  25. package/dist/chunk-PJEEKOUM.js +404 -0
  26. package/dist/{chunk-RX2QAHML.js → chunk-RAFQEPJ4.js} +2 -2
  27. package/dist/{chunk-KO5CK5ZT.js → chunk-SR7GSLEA.js} +202 -441
  28. package/dist/chunk-T3MZISOF.js +240 -0
  29. package/dist/{chunk-ULYOCJUJ.js → chunk-TUTQHP4O.js} +1 -1
  30. package/dist/{chunk-65FTMB7G.js → chunk-WEFPBAAG.js} +180 -9
  31. package/dist/{chunk-LN6N3YLK.js → chunk-WFQ2E4WE.js} +1 -1
  32. package/dist/{db-ZGZAKYBW.js → db-566MOHHD.js} +7 -1
  33. package/dist/{extract-bundle-SXSJCPQI.js → extract-bundle-337ZDIIQ.js} +4 -4
  34. package/dist/gmail-service-E276SBJU.js +25 -0
  35. package/dist/index.cjs +322 -49
  36. package/dist/index.d.cts +15 -2
  37. package/dist/index.d.ts +15 -2
  38. package/dist/index.js +4 -3
  39. package/dist/{lead-list-enrichment-repository-CXLVIV3R.js → lead-list-enrichment-repository-WWEMJ7EN.js} +2 -2
  40. package/dist/{location-data-repository-G72M7DTN.js → location-data-repository-H4B2BWGY.js} +2 -2
  41. package/dist/{server-WCNYXILA.js → server-UGWC5YMD.js} +8376 -6616
  42. package/dist/{site-extract-repository-RLB3TFJ3.js → site-extract-repository-ACNAVNDN.js} +3 -3
  43. package/dist/{worker-KHSJG365.js → worker-JQORPCFQ.js} +9 -7
  44. package/package.json +1 -1
  45. package/dist/chunk-2L4C4DAZ.js +0 -103
package/dist/index.d.cts CHANGED
@@ -102,8 +102,8 @@ type HarvestCompletionStatus = 'paa_found' | 'no_paa' | 'serp_only';
102
102
  */
103
103
  type HarvestResultQuality = 'complete' | 'partial' | 'degraded';
104
104
  type HarvestDegradationReason = 'empty_primary_serp';
105
- type HarvestDiagnosticWarningCode = 'short_videos_captcha_skipped';
106
- type HarvestDiagnosticWarningSurface = 'short_videos';
105
+ type HarvestDiagnosticWarningCode = 'short_videos_captcha_skipped' | 'paa_partial';
106
+ type HarvestDiagnosticWarningSurface = 'short_videos' | 'paa';
107
107
  interface HarvestDiagnosticWarning {
108
108
  code: HarvestDiagnosticWarningCode;
109
109
  surface: HarvestDiagnosticWarningSurface;
@@ -115,14 +115,27 @@ interface HarvestCompleteness {
115
115
  paaWithoutSource: number;
116
116
  paaAnswersRecovered: number;
117
117
  aioShareCaptured: boolean | null;
118
+ paaRequested?: number;
119
+ paaReturned?: number;
120
+ paaUnique?: number;
121
+ }
122
+ type HarvestInterruptionCode = 'browser_session_interrupted' | 'request_aborted' | 'timeout';
123
+ type HarvestInterruptionReasonSource = 'client_runtime' | 'extractor';
124
+ interface HarvestInterruptionDiagnostic {
125
+ code: HarvestInterruptionCode;
126
+ reasonSource: HarvestInterruptionReasonSource;
127
+ message: string | null;
118
128
  }
119
129
  interface HarvestDiagnostics {
120
130
  completionStatus: HarvestCompletionStatus;
131
+ /** Set only when the extractor directly observed a readable SERP without a PAA block. */
132
+ noPaaObserved?: boolean;
121
133
  problem: null;
122
134
  resultQuality?: HarvestResultQuality;
123
135
  degradedResult?: boolean;
124
136
  degradationReasons?: HarvestDegradationReason[];
125
137
  retryRecommended?: boolean;
138
+ interruption?: HarvestInterruptionDiagnostic;
126
139
  warnings?: HarvestDiagnosticWarning[];
127
140
  completeness?: HarvestCompleteness;
128
141
  debug?: HarvestDebugSnapshot;
package/dist/index.d.ts CHANGED
@@ -102,8 +102,8 @@ type HarvestCompletionStatus = 'paa_found' | 'no_paa' | 'serp_only';
102
102
  */
103
103
  type HarvestResultQuality = 'complete' | 'partial' | 'degraded';
104
104
  type HarvestDegradationReason = 'empty_primary_serp';
105
- type HarvestDiagnosticWarningCode = 'short_videos_captcha_skipped';
106
- type HarvestDiagnosticWarningSurface = 'short_videos';
105
+ type HarvestDiagnosticWarningCode = 'short_videos_captcha_skipped' | 'paa_partial';
106
+ type HarvestDiagnosticWarningSurface = 'short_videos' | 'paa';
107
107
  interface HarvestDiagnosticWarning {
108
108
  code: HarvestDiagnosticWarningCode;
109
109
  surface: HarvestDiagnosticWarningSurface;
@@ -115,14 +115,27 @@ interface HarvestCompleteness {
115
115
  paaWithoutSource: number;
116
116
  paaAnswersRecovered: number;
117
117
  aioShareCaptured: boolean | null;
118
+ paaRequested?: number;
119
+ paaReturned?: number;
120
+ paaUnique?: number;
121
+ }
122
+ type HarvestInterruptionCode = 'browser_session_interrupted' | 'request_aborted' | 'timeout';
123
+ type HarvestInterruptionReasonSource = 'client_runtime' | 'extractor';
124
+ interface HarvestInterruptionDiagnostic {
125
+ code: HarvestInterruptionCode;
126
+ reasonSource: HarvestInterruptionReasonSource;
127
+ message: string | null;
118
128
  }
119
129
  interface HarvestDiagnostics {
120
130
  completionStatus: HarvestCompletionStatus;
131
+ /** Set only when the extractor directly observed a readable SERP without a PAA block. */
132
+ noPaaObserved?: boolean;
121
133
  problem: null;
122
134
  resultQuality?: HarvestResultQuality;
123
135
  degradedResult?: boolean;
124
136
  degradationReasons?: HarvestDegradationReason[];
125
137
  retryRecommended?: boolean;
138
+ interruption?: HarvestInterruptionDiagnostic;
126
139
  warnings?: HarvestDiagnosticWarning[];
127
140
  completeness?: HarvestCompleteness;
128
141
  debug?: HarvestDebugSnapshot;
package/dist/index.js CHANGED
@@ -1,11 +1,12 @@
1
1
  import {
2
2
  harvest
3
- } from "./chunk-62LEXS5O.js";
3
+ } from "./chunk-F6MUGMRN.js";
4
+ import "./chunk-OM7HVEJ3.js";
4
5
  import {
5
6
  recordVendorUsage
6
- } from "./chunk-ES25GP6C.js";
7
+ } from "./chunk-CXY5WV45.js";
7
8
  import "./chunk-77LQV73B.js";
8
- import "./chunk-65FTMB7G.js";
9
+ import "./chunk-WEFPBAAG.js";
9
10
 
10
11
  // src/video/VideoGenerator.ts
11
12
  import { execSync as execSync2 } from "child_process";
@@ -30,8 +30,8 @@ import {
30
30
  saveLeadListEnrichmentRowResult,
31
31
  setInitializingLeadListEnrichmentConcurrencyLock,
32
32
  stableCanonicalJson
33
- } from "./chunk-UL4ZKAWZ.js";
34
- import "./chunk-65FTMB7G.js";
33
+ } from "./chunk-A66DGFOU.js";
34
+ import "./chunk-WEFPBAAG.js";
35
35
  export {
36
36
  LEAD_LIST_MAX_DISPATCH_ATTEMPTS,
37
37
  LEAD_LIST_RUNNING_STALE_MINUTES,
@@ -13,9 +13,9 @@ import {
13
13
  parseHostedCensusPlacesCsv,
14
14
  parseHostedZipGroupsCsv,
15
15
  queryHostedLocationMarkets
16
- } from "./chunk-Y46YNQMM.js";
16
+ } from "./chunk-F5TK4KMT.js";
17
17
  import "./chunk-RJ7JVYKU.js";
18
- import "./chunk-65FTMB7G.js";
18
+ import "./chunk-WEFPBAAG.js";
19
19
  export {
20
20
  HOSTED_CENSUS_DATASET_PREFIX,
21
21
  HOSTED_ZIP_DATASET_KIND,