mcp-scraper 0.88.2 → 0.89.1

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 (84) hide show
  1. package/CHANGELOG.md +41 -2
  2. package/README.md +6 -3
  3. package/dist/analytics-repository-J25XR5E7.js +1 -0
  4. package/dist/bin/api-server.js +2 -41
  5. package/dist/bin/mcp-scraper-cli.js +39 -756
  6. package/dist/bin/mcp-scraper-core.js +1 -60
  7. package/dist/bin/mcp-scraper-install.js +2 -25
  8. package/dist/bin/mcp-stdio-server.js +1 -19
  9. package/dist/bin/paa-harvest.js +1 -41
  10. package/dist/chunk-3GP5CYZX.js +1 -0
  11. package/dist/chunk-4FROKQJN.js +1 -0
  12. package/dist/chunk-57AHYL2O.js +20 -0
  13. package/dist/chunk-5H3MCTTP.js +1 -0
  14. package/dist/chunk-63T4W2LX.js +1271 -0
  15. package/dist/chunk-645LQBE7.js +2595 -0
  16. package/dist/chunk-6QO4F2KC.js +21710 -0
  17. package/dist/chunk-CCYWSJNG.js +16 -0
  18. package/dist/chunk-D6IQJP64.js +84 -0
  19. package/dist/chunk-DGBLGFNJ.js +182 -0
  20. package/dist/chunk-FFPD2DOF.js +59 -0
  21. package/dist/chunk-FXEWHK54.js +1 -0
  22. package/dist/chunk-HE45FFBU.js +1 -0
  23. package/dist/chunk-HUV2WTRW.js +1 -0
  24. package/dist/chunk-IJ2AO7AO.js +102 -0
  25. package/dist/chunk-KJQXUZ4Y.js +4 -0
  26. package/dist/chunk-MEM4D2QN.js +1280 -0
  27. package/dist/chunk-MZN4U5BL.js +1 -0
  28. package/dist/chunk-PRWZNHQB.js +1 -0
  29. package/dist/chunk-QPWPR5XG.js +10 -0
  30. package/dist/chunk-RYNHNEF3.js +73 -0
  31. package/dist/chunk-TMB56NCA.js +1 -0
  32. package/dist/chunk-W2BVJ7S2.js +13 -0
  33. package/dist/chunk-WO3N5FH2.js +5 -0
  34. package/dist/chunk-XLWNEVUZ.js +27 -0
  35. package/dist/chunk-YQZGZBB4.js +1 -0
  36. package/dist/chunk-YUPLOOTB.js +4 -0
  37. package/dist/chunk-ZHORX44A.js +100 -0
  38. package/dist/db-JJWJLAVQ.js +1 -0
  39. package/dist/extract-bundle-TTSEGWYF.js +26 -0
  40. package/dist/gmail-service-34PIJRLK.js +1 -0
  41. package/dist/index.cjs +21838 -6034
  42. package/dist/index.js +18 -315
  43. package/dist/lead-list-enrichment-repository-VJBBMBCG.js +1 -0
  44. package/dist/location-data-repository-W3LPT6G3.js +1 -0
  45. package/dist/server-UEY5YQL6.js +7329 -0
  46. package/dist/site-extract-repository-7W5ZUNPR.js +1 -0
  47. package/dist/worker-ZOTOKG56.js +1 -0
  48. package/package.json +11 -4
  49. package/dist/analytics-repository-GGJJCVVP.js +0 -194
  50. package/dist/chunk-4QMUF6XM.js +0 -1013
  51. package/dist/chunk-6HAV7LCE.js +0 -265
  52. package/dist/chunk-ABF2CGOZ.js +0 -113
  53. package/dist/chunk-C5Z4OFKW.js +0 -404
  54. package/dist/chunk-DNM65UCK.js +0 -299
  55. package/dist/chunk-EQGTEHLZ.js +0 -592
  56. package/dist/chunk-F5GQJWZU.js +0 -732
  57. package/dist/chunk-GGZEC22A.js +0 -215
  58. package/dist/chunk-GXBZXWXB.js +0 -184
  59. package/dist/chunk-IHXAXYIS.js +0 -843
  60. package/dist/chunk-K3Z5AQYE.js +0 -683
  61. package/dist/chunk-K45K75OF.js +0 -6
  62. package/dist/chunk-LFW2FRPJ.js +0 -224
  63. package/dist/chunk-MZDNZQWT.js +0 -2078
  64. package/dist/chunk-NVUKO5NN.js +0 -256
  65. package/dist/chunk-OM7HVEJ3.js +0 -26
  66. package/dist/chunk-OPQIGAFB.js +0 -286
  67. package/dist/chunk-OZJMVCDK.js +0 -16
  68. package/dist/chunk-P7FWOMU7.js +0 -505
  69. package/dist/chunk-PGJQDMC2.js +0 -383
  70. package/dist/chunk-PKZS6SHW.js +0 -33139
  71. package/dist/chunk-RJ7JVYKU.js +0 -68
  72. package/dist/chunk-S24LFPL7.js +0 -5262
  73. package/dist/chunk-T3MZISOF.js +0 -240
  74. package/dist/chunk-UZPTGUDV.js +0 -1915
  75. package/dist/chunk-X623GTBV.js +0 -8290
  76. package/dist/chunk-YXNDOQXN.js +0 -4018
  77. package/dist/db-Z34LPZNR.js +0 -284
  78. package/dist/extract-bundle-565SBZCR.js +0 -1003
  79. package/dist/gmail-service-E6ALS7JG.js +0 -25
  80. package/dist/lead-list-enrichment-repository-36RPVV6N.js +0 -67
  81. package/dist/location-data-repository-WPRG62GE.js +0 -34
  82. package/dist/server-SQZ3A7SY.js +0 -86606
  83. package/dist/site-extract-repository-VYFZASPU.js +0 -69
  84. package/dist/worker-LDCAULWL.js +0 -146
@@ -0,0 +1 @@
1
+ import{A as s,B as t,C as u,D as v,E as w,F as x,G as y,H as z,I as A,J as B,K as C,L as D,M as E,i as a,j as b,k as c,l as d,m as e,n as f,o as g,p as h,q as i,r as j,s as k,t as l,u as m,v as n,w as o,x as p,y as q,z as r}from"./chunk-DGBLGFNJ.js";import"./chunk-TMB56NCA.js";import"./chunk-MZN4U5BL.js";import"./chunk-63T4W2LX.js";export{a as XRAY_ENTITLED_EXTRACT_BILLING_CLASS,q as abandonExtractSettlement,p as claimFailedExtractJobForRefinalize,z as completeExtractJob,w as countSuccessfulPages,d as createExtractJob,f as createOrGetExtractJob,b as extractJobLimitInfo,A as failExtractJob,o as failStaleRunningExtractJob,B as failUnfundedExtractJob,E as finalizeXRayEntitledExtractJobCharge,y as finishExtractJob,g as getExtractJob,e as getExtractJobByIdempotencyKey,v as getExtractedImageLinks,u as getExtractedPages,x as getExtractedUrls,h as listExtractJobs,t as listExtractPages,j as listFundedPendingExtractJobs,n as listStaleRunningExtractJobs,i as listUnsettledExtractJobs,k as markExtractJobDispatchAttempt,l as recordExtractJobDispatchFailure,m as recordExtractSettlementFailure,s as saveExtractPages,C as setExtractJobPublicError,r as setExtractJobTotal,D as settleExtractJob,c as terminalExtractJobStatus};
@@ -0,0 +1 @@
1
+ import{a as h,b as f,c as O,d as y,f as A,g as b}from"./chunk-PRWZNHQB.js";import"./chunk-YQZGZBB4.js";import{u as k}from"./chunk-6QO4F2KC.js";import"./chunk-QPWPR5XG.js";import{b as p,c as M}from"./chunk-FXEWHK54.js";import{a as m,b as H}from"./chunk-MZN4U5BL.js";import{a as w}from"./chunk-4FROKQJN.js";import{b as _}from"./chunk-RYNHNEF3.js";import"./chunk-3GP5CYZX.js";import{$a as v,Eb as o,Ib as d,Na as u,bb as c,ja as l}from"./chunk-63T4W2LX.js";var C=2,g=0;function R(e){if(!e||typeof e!="object")return 0;let t=e;return typeof t.totalQuestions=="number"?t.totalQuestions:Array.isArray(t.flat)?t.flat.length:0}function x(e){return m.paa_base+Math.max(1,e)*m.paa}async function P(e){g++;try{let t=typeof e.options=="string"?JSON.parse(e.options):e.options,r={value:null},a=await _({op:t.serpOnly?"serp":"paa",userId:Number(e.user_id),headlessSentOut:r},()=>k({...t,kernelApiKey:w(),headless:!0,format:"json",outputDir:"/tmp/paa-output-api",onAttemptEvent:A(e.id,e.user_id)}));await v(e.id,a);let s=await l(e.id,e.user_id);if(!t.serpOnly&&typeof t.billingHoldMc=="number"){let n=x(R(a)),i=t.billingHoldMc-n;i>0?await o(e.user_id,i,"paa_refund","overestimate refund"):i<0&&await d(e.user_id,-i,"paa",t.query??e.query)}else if(t.serpOnly&&typeof t.billingHoldMc=="number"){let n=H(r.value),i=t.billingHoldMc-n;i>0?await o(e.user_id,i,"serp_refund","headless-mode pricing settle"):i<0&&await d(e.user_id,-i,"serp",t.query??e.query)}e.callback_url&&await b(e.callback_url,{job_id:e.id,status:"done",result:M(a),attempts:p(s)})}catch(t){console.error("[harvest/worker] failed",{jobId:e.id,error:t instanceof Error?t.message:String(t)});let r=h(t),a=typeof e.options=="string"?JSON.parse(e.options):e.options,s=typeof a.billingHoldMc=="number"&&a.billingHoldMc>0;await c(e.id,f(r),y(r,{chargeStatus:s?"refund_pending":"not_charged"}));let n=await l(e.id,e.user_id);try{s&&(await o(e.user_id,a.billingHoldMc,"refund","failed call"),await c(e.id,f(r),y(r,{chargeStatus:"refunded"})))}catch{}e.callback_url&&await b(e.callback_url,{job_id:e.id,status:"failed",...O(r),attempts:p(n)})}finally{g--}}async function J(){let e=await u();if(!e)return{claimed:!1};let t=Date.now();return await P(e),{claimed:!0,jobId:e.id,completed:!0,durationMs:Date.now()-t}}async function W(e){let t=[];for(let r=0;r<e.maxJobs&&!(Date.now()>=e.deadlineMs);r++){let a=await J();if(t.push(a),!a.claimed)break}return t}function B(){setInterval(async()=>{if(g>=C)return;let e=await u();e&&P(e)},2e3),console.log(`[worker] started \u2014 polling every 2s, max ${C} concurrent`)}export{W as drainQueue,B as startWorker,J as tickOnce};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-scraper",
3
- "version": "0.88.2",
3
+ "version": "0.89.1",
4
4
  "description": "MCP server for MCP Scraper web intelligence tools",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -97,6 +97,11 @@
97
97
  "brightdata:usage": "node scripts/brightdata-usage-report.mjs",
98
98
  "brightdata:test:bandwidth": "node --import tsx scripts/brightdata-paa-bandwidth-test.ts",
99
99
  "db:migrate": "node --import tsx scripts/run-core-migration.ts",
100
+ "oauth-store:migrate": "node --import tsx scripts/migrate-oauth-store.ts --apply-schema",
101
+ "oauth-store:verify": "node --import tsx scripts/migrate-oauth-store.ts --verify",
102
+ "oauth-store:test": "vitest run tests/unit/oauth-store.test.ts",
103
+ "oauth-store:test-remote": "OAUTH_STORE_REMOTE_REQUIRED=1 vitest run --config vitest.live.config.ts tests/live/oauth-store-remote.live.test.ts",
104
+ "oauth:verify-live": "node scripts/verify-mcp-oauth-live.mjs",
100
105
  "analytics:migrate": "node --import tsx scripts/run-analytics-migration.ts",
101
106
  "analytics:contract": "node --import tsx scripts/analytics/export-analytics-rest-contract.ts",
102
107
  "analytics:contract:check": "node --import tsx scripts/analytics/export-analytics-rest-contract.ts --check",
@@ -112,7 +117,9 @@
112
117
  "product:build": "node scripts/run-product-command.mjs build",
113
118
  "product:typecheck": "node scripts/run-product-command.mjs typecheck",
114
119
  "product:test": "node scripts/run-product-command.mjs test",
115
- "product:verify-layout": "node scripts/verify-product-repository-layout.mjs"
120
+ "product:verify-layout": "node scripts/verify-product-repository-layout.mjs",
121
+ "package:public": "npm run mcp:verify && node scripts/build-public-package.mjs",
122
+ "prepublishOnly": "node -e \"throw new Error('Publish the verified archive produced by npm run package:public')\""
116
123
  },
117
124
  "dependencies": {
118
125
  "@anthropic-ai/sdk": "^0.96.0",
@@ -123,7 +130,6 @@
123
130
  "@modelcontextprotocol/node": "^2.0.0",
124
131
  "@modelcontextprotocol/server": "^2.0.0",
125
132
  "@neondatabase/serverless": "^1.1.0",
126
- "@onkernel/sdk": "^0.93.0",
127
133
  "@resvg/resvg-js": "^2.6.2",
128
134
  "@vercel/blob": "^2.4.1",
129
135
  "@vercel/functions": "^3.9.5",
@@ -174,7 +180,8 @@
174
180
  "tsx": "^4.0.0",
175
181
  "typescript": "^5.4.0",
176
182
  "vitest": "^1.6.0",
177
- "youtubei.js": "^17.0.1"
183
+ "youtubei.js": "^17.0.1",
184
+ "@onkernel/sdk": "^0.93.0"
178
185
  },
179
186
  "engines": {
180
187
  "node": ">=20.18.1"
@@ -1,194 +0,0 @@
1
- import {
2
- ANALYTICS_CONTENT_SORTS,
3
- AnalyticsRepositoryError,
4
- ENGAGED_SESSION_MS,
5
- MAX_ENGAGED_MS,
6
- analyticsAcquisition,
7
- analyticsBusinessMetrics,
8
- analyticsChannelBreakdown,
9
- analyticsContent,
10
- analyticsConversions,
11
- analyticsCsvCell,
12
- analyticsDimensions,
13
- analyticsEventCounts,
14
- analyticsForecast,
15
- analyticsHealth,
16
- analyticsIdentityPromotionAllowed,
17
- analyticsIdentityResolutionAllowed,
18
- analyticsOverview,
19
- analyticsPaths,
20
- analyticsTimeseries,
21
- appendAnalyticsAuthoritativeOutcomeVersion,
22
- archiveAnalyticsActivationDestination,
23
- archiveAnalyticsCampaignLink,
24
- assignAnalyticsIdentityNode,
25
- backfillAnalyticsConfirmedHistory,
26
- claimAnalyticsCrmImportRows,
27
- claimAnalyticsFormDeliveryJobs,
28
- closeAnalyticsPool,
29
- completeAnalyticsCrmImportRow,
30
- completeAnalyticsFormBridgeDelivery,
31
- completeAnalyticsFormDelivery,
32
- consumeAnalyticsSurveyInvite,
33
- createAnalyticsActivationDestination,
34
- createAnalyticsCampaignLink,
35
- createAnalyticsConversion,
36
- createAnalyticsCrmImport,
37
- createAnalyticsExport,
38
- createAnalyticsForm,
39
- createAnalyticsPixel,
40
- createAnalyticsSite,
41
- deferAnalyticsCrmImportRow,
42
- deferAnalyticsFormDelivery,
43
- deleteAnalyticsSite,
44
- deterministicAnalyticsCrmEntityId,
45
- enrichAnalyticsExistingCrmIdentity,
46
- getAnalyticsActivationDestinationConnectionRef,
47
- getAnalyticsPersonJourney,
48
- getAnalyticsPool,
49
- getPublicAnalyticsForm,
50
- identityHmac,
51
- ingestAnalyticsEvents,
52
- insertAnalyticsRevenueSetupRevision,
53
- isAnalyticsFormPlacementApproved,
54
- linkAnalyticsFormIdentity,
55
- linkAnalyticsIdentityInTransaction,
56
- listAnalyticsActivationDestinations,
57
- listAnalyticsActivationReceipts,
58
- listAnalyticsCampaignLinks,
59
- listAnalyticsCrmImports,
60
- listAnalyticsForms,
61
- listAnalyticsHostGroups,
62
- listAnalyticsPeople,
63
- listAnalyticsPixels,
64
- listAnalyticsSites,
65
- migrateAnalytics,
66
- normalizeAnalyticsPath,
67
- normalizeAnalyticsUrl,
68
- normalizeContentOptions,
69
- normalizeObservedHostname,
70
- pollAnalyticsActivationDiagnostics,
71
- prepareAnalyticsLinkerIssue,
72
- projectAnalyticsAuthoritativeConversion,
73
- projectAnalyticsPixelEventConsent,
74
- queueAnalyticsActivation,
75
- queueAnalyticsFormBridgeTransaction,
76
- queueAnalyticsFormDelivery,
77
- recordAnalyticsFormSubmission,
78
- redeemAnalyticsLinkerRecord,
79
- refreshAnalyticsDailyRollups,
80
- refreshAnalyticsDailyRollupsIfDue,
81
- requireAnalyticsAccess,
82
- requireAnalyticsEditor,
83
- resolveAnalyticsCampaignLink,
84
- resolveAnalyticsConfirmedActivationIdentity,
85
- retryAnalyticsActivationJob,
86
- sanitizeAnalyticsProperties,
87
- sanitizeClickIds,
88
- setAnalyticsActivationReadiness,
89
- setAnalyticsPixelDomainState,
90
- sweepAnalyticsRestrictedRetention,
91
- testAnalyticsActivationDestination,
92
- updateAnalyticsBusinessModel,
93
- updateAnalyticsPixel,
94
- upsertAnalyticsAdSpend,
95
- upsertAnalyticsHostGroup
96
- } from "./chunk-X623GTBV.js";
97
- import "./chunk-C5Z4OFKW.js";
98
- import "./chunk-YXNDOQXN.js";
99
- export {
100
- ANALYTICS_CONTENT_SORTS,
101
- AnalyticsRepositoryError,
102
- ENGAGED_SESSION_MS,
103
- MAX_ENGAGED_MS,
104
- analyticsAcquisition,
105
- analyticsBusinessMetrics,
106
- analyticsChannelBreakdown,
107
- analyticsContent,
108
- analyticsConversions,
109
- analyticsCsvCell,
110
- analyticsDimensions,
111
- analyticsEventCounts,
112
- analyticsForecast,
113
- analyticsHealth,
114
- analyticsIdentityPromotionAllowed,
115
- analyticsIdentityResolutionAllowed,
116
- analyticsOverview,
117
- analyticsPaths,
118
- analyticsTimeseries,
119
- appendAnalyticsAuthoritativeOutcomeVersion,
120
- archiveAnalyticsActivationDestination,
121
- archiveAnalyticsCampaignLink,
122
- assignAnalyticsIdentityNode,
123
- backfillAnalyticsConfirmedHistory,
124
- claimAnalyticsCrmImportRows,
125
- claimAnalyticsFormDeliveryJobs,
126
- closeAnalyticsPool,
127
- completeAnalyticsCrmImportRow,
128
- completeAnalyticsFormBridgeDelivery,
129
- completeAnalyticsFormDelivery,
130
- consumeAnalyticsSurveyInvite,
131
- createAnalyticsActivationDestination,
132
- createAnalyticsCampaignLink,
133
- createAnalyticsConversion,
134
- createAnalyticsCrmImport,
135
- createAnalyticsExport,
136
- createAnalyticsForm,
137
- createAnalyticsPixel,
138
- createAnalyticsSite,
139
- deferAnalyticsCrmImportRow,
140
- deferAnalyticsFormDelivery,
141
- deleteAnalyticsSite,
142
- deterministicAnalyticsCrmEntityId,
143
- enrichAnalyticsExistingCrmIdentity,
144
- getAnalyticsActivationDestinationConnectionRef,
145
- getAnalyticsPersonJourney,
146
- getAnalyticsPool,
147
- getPublicAnalyticsForm,
148
- identityHmac,
149
- ingestAnalyticsEvents,
150
- insertAnalyticsRevenueSetupRevision,
151
- isAnalyticsFormPlacementApproved,
152
- linkAnalyticsFormIdentity,
153
- linkAnalyticsIdentityInTransaction,
154
- listAnalyticsActivationDestinations,
155
- listAnalyticsActivationReceipts,
156
- listAnalyticsCampaignLinks,
157
- listAnalyticsCrmImports,
158
- listAnalyticsForms,
159
- listAnalyticsHostGroups,
160
- listAnalyticsPeople,
161
- listAnalyticsPixels,
162
- listAnalyticsSites,
163
- migrateAnalytics,
164
- normalizeAnalyticsPath,
165
- normalizeAnalyticsUrl,
166
- normalizeContentOptions,
167
- normalizeObservedHostname,
168
- pollAnalyticsActivationDiagnostics,
169
- prepareAnalyticsLinkerIssue,
170
- projectAnalyticsAuthoritativeConversion,
171
- projectAnalyticsPixelEventConsent,
172
- queueAnalyticsActivation,
173
- queueAnalyticsFormBridgeTransaction,
174
- queueAnalyticsFormDelivery,
175
- recordAnalyticsFormSubmission,
176
- redeemAnalyticsLinkerRecord,
177
- refreshAnalyticsDailyRollups,
178
- refreshAnalyticsDailyRollupsIfDue,
179
- requireAnalyticsAccess,
180
- requireAnalyticsEditor,
181
- resolveAnalyticsCampaignLink,
182
- resolveAnalyticsConfirmedActivationIdentity,
183
- retryAnalyticsActivationJob,
184
- sanitizeAnalyticsProperties,
185
- sanitizeClickIds,
186
- setAnalyticsActivationReadiness,
187
- setAnalyticsPixelDomainState,
188
- sweepAnalyticsRestrictedRetention,
189
- testAnalyticsActivationDestination,
190
- updateAnalyticsBusinessModel,
191
- updateAnalyticsPixel,
192
- upsertAnalyticsAdSpend,
193
- upsertAnalyticsHostGroup
194
- };