mcp-scraper 0.90.5 → 0.90.6

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 (32) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +2 -2
  3. package/dist/bin/api-server.js +2 -2
  4. package/dist/bin/mcp-scraper-cli.js +1 -1
  5. package/dist/bin/mcp-scraper-core.js +1 -1
  6. package/dist/bin/mcp-scraper-install.js +1 -1
  7. package/dist/bin/mcp-stdio-server.js +1 -1
  8. package/dist/bin/paa-harvest.js +1 -1
  9. package/dist/{chunk-W4QBJ7WW.js → chunk-5MMN27Q6.js} +2 -2
  10. package/dist/{chunk-PNDXAOZD.js → chunk-AQSMJCTF.js} +1 -1
  11. package/dist/{chunk-ZJOD3YKH.js → chunk-AQXYXVOP.js} +8 -8
  12. package/dist/{chunk-YEFXVTMJ.js → chunk-CTX3NMZQ.js} +1 -1
  13. package/dist/{chunk-5RTZPHIY.js → chunk-MADTJXNI.js} +1 -1
  14. package/dist/chunk-NOUHD54C.js +48 -0
  15. package/dist/{chunk-XSYLDTMI.js → chunk-NWRRVZKW.js} +1 -1
  16. package/dist/chunk-UM4WSLKQ.js +1 -0
  17. package/dist/{chunk-NC32JCZT.js → chunk-WDB5CTRY.js} +1 -1
  18. package/dist/chunk-XARSC34L.js +1279 -0
  19. package/dist/{chunk-IRWULJS5.js → chunk-YDOBZMLS.js} +1 -1
  20. package/dist/{extract-bundle-MQM3P7VS.js → extract-bundle-CP6WBOJI.js} +1 -1
  21. package/dist/{gmail-service-DTUP6EWC.js → gmail-service-5NH2GVQ5.js} +1 -1
  22. package/dist/index.cjs +45 -45
  23. package/dist/index.js +1 -1
  24. package/dist/server-TQJ6Z3ZF.js +4931 -0
  25. package/dist/{site-extract-repository-IZT3NTWY.js → site-extract-repository-KG6FQU55.js} +1 -1
  26. package/dist/{stripe-event-worker-5QNWGHVK.js → stripe-event-worker-ZNNQEVK4.js} +1 -1
  27. package/dist/{worker-Z27YG7TE.js → worker-4LFWAEX2.js} +1 -1
  28. package/package.json +1 -1
  29. package/dist/chunk-5JCPVCBT.js +0 -1280
  30. package/dist/chunk-ARKQYLKU.js +0 -1
  31. package/dist/chunk-X4YCWF4B.js +0 -48
  32. package/dist/server-NTIME7TQ.js +0 -6520
@@ -1 +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-XSYLDTMI.js";import"./chunk-TMB56NCA.js";import"./chunk-YEFXVTMJ.js";import"./chunk-KKHTMYCD.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};
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-NWRRVZKW.js";import"./chunk-TMB56NCA.js";import"./chunk-CTX3NMZQ.js";import"./chunk-KKHTMYCD.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};
@@ -1 +1 @@
1
- import{fb as S,hb as h}from"./chunk-5RTZPHIY.js";import"./chunk-NC32JCZT.js";import"./chunk-4OTWTGKC.js";import"./chunk-Q5SUDDSQ.js";import"./chunk-D6BTAT5Y.js";import"./chunk-YEFXVTMJ.js";import"./chunk-56UT5M5Y.js";import{H as d,I as u,J as l,K as f,L as v}from"./chunk-KKHTMYCD.js";var g=12;function b(e){return e&&typeof e=="object"&&"code"in e&&typeof e.code=="string"?e.code:e instanceof Error?e.name:"unknown_error"}function k(e){return Math.min(21600,30*2**Math.max(0,e-1))}async function x(e={}){let w=e.stripeClient??S,E=Math.max(1,Math.min(100,e.limit??100)),r=500,i=0,s=0,c=0,m=0;for(;i<r;){let a=await d(Math.min(E,r-i),e.leaseSeconds??300);if(a.length===0)break;i+=a.length;for(let t of a)try{let n=await w.events.retrieve(t.eventId);await h(n),await u(t.eventId,t.token)&&(s+=1)}catch(n){let p=n instanceof Error?n.message:String(n),o=b(n);t.attemptCount>=g||o==="resource_missing"?await f(t.eventId,t.token,p,o)&&(m+=1):await l(t.eventId,t.token,p,o,k(t.attemptCount))&&(c+=1)}}return{claimed:i,processed:s,retried:c,deadLettered:m,capped:i>=r,health:await v()}}export{x as drainStripeEventQueue};
1
+ import{fb as S,hb as h}from"./chunk-MADTJXNI.js";import"./chunk-WDB5CTRY.js";import"./chunk-4OTWTGKC.js";import"./chunk-Q5SUDDSQ.js";import"./chunk-D6BTAT5Y.js";import"./chunk-CTX3NMZQ.js";import"./chunk-56UT5M5Y.js";import{H as d,I as u,J as l,K as f,L as v}from"./chunk-KKHTMYCD.js";var g=12;function b(e){return e&&typeof e=="object"&&"code"in e&&typeof e.code=="string"?e.code:e instanceof Error?e.name:"unknown_error"}function k(e){return Math.min(21600,30*2**Math.max(0,e-1))}async function x(e={}){let w=e.stripeClient??S,E=Math.max(1,Math.min(100,e.limit??100)),r=500,i=0,s=0,c=0,m=0;for(;i<r;){let a=await d(Math.min(E,r-i),e.leaseSeconds??300);if(a.length===0)break;i+=a.length;for(let t of a)try{let n=await w.events.retrieve(t.eventId);await h(n),await u(t.eventId,t.token)&&(s+=1)}catch(n){let p=n instanceof Error?n.message:String(n),o=b(n);t.attemptCount>=g||o==="resource_missing"?await f(t.eventId,t.token,p,o)&&(m+=1):await l(t.eventId,t.token,p,o,k(t.attemptCount))&&(c+=1)}}return{claimed:i,processed:s,retried:c,deadLettered:m,capped:i>=r,health:await v()}}export{x as drainStripeEventQueue};
@@ -1 +1 @@
1
- import{j as R,k as g,l as P,m as _,o as w,q as v,s as C,t as h}from"./chunk-X4YCWF4B.js";import"./chunk-XG6GCEUE.js";import{w as A}from"./chunk-ZJOD3YKH.js";import"./chunk-M5QHXNFZ.js";import{b as f,c as D}from"./chunk-AAJG5OHF.js";import{a as b,b as y}from"./chunk-YEFXVTMJ.js";import{a as O}from"./chunk-4FROKQJN.js";import{b as k}from"./chunk-56UT5M5Y.js";import"./chunk-2TZBO52D.js";import"./chunk-2PXP7TMY.js";import{Mb as o,Qb as d,Sb as m,Ua as c,gb as H,ib as p,na as u}from"./chunk-KKHTMYCD.js";var S=2,M=0;function N(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 b.paa_base+Math.max(1,e)*b.paa}async function K(e){M++;try{let t=typeof e.options=="string"?JSON.parse(e.options):e.options,r={value:null},i=w(e.id),n=await k({op:t.serpOnly?"serp":"paa",userId:Number(e.user_id),headlessSentOut:r,operationRunId:i,operationAccountScope:"production-default"},()=>A({...t,\u006b\u0065\u0072\u006e\u0065\u006cApiKey:O(),headless:!0,format:"json",outputDir:"/tmp/paa-output-api",onAttemptEvent:C(e.id,e.user_id,i)}));await H(e.id,n),await v(i,"succeeded");let l=await u(e.id,e.user_id);if(typeof t.billingHoldMc=="number"&&t.billingDebitKey){let s=t.serpOnly?y(r.value):x(N(n));await m(Number(e.user_id),t.billingDebitKey,s,t.serpOnly?"serp_refund":"paa_refund",t.serpOnly?"SERP search settlement":"PAA harvest settlement",t.serpOnly?"serp_search":"paa_harvest")}else if(!t.serpOnly&&typeof t.billingHoldMc=="number"){let s=x(N(n)),a=t.billingHoldMc-s;a>0?await o(e.user_id,a,"paa_refund","overestimate refund"):a<0&&await d(e.user_id,-a,"paa",t.query??e.query)}else if(t.serpOnly&&typeof t.billingHoldMc=="number"){let s=y(r.value),a=t.billingHoldMc-s;a>0?await o(e.user_id,a,"serp_refund","headless-mode pricing settle"):a<0&&await d(e.user_id,-a,"serp",t.query??e.query)}e.callback_url&&await h(e.callback_url,{job_id:e.id,status:"done",result:D(n),attempts:f(l)})}catch(t){console.error("[harvest/worker] failed",{jobId:e.id,error:t instanceof Error?t.message:String(t)});let r=R(t);await v(w(e.id),r.error_code==="harvest_timeout"?"timed_out":r.terminalStatus,r.error_code);let i=typeof e.options=="string"?JSON.parse(e.options):e.options,n=typeof i.billingHoldMc=="number"&&i.billingHoldMc>0;await p(e.id,g(r),_(r,{chargeStatus:n?"refund_pending":"not_charged"}));let l=await u(e.id,e.user_id);try{n&&(i.billingDebitKey?await m(Number(e.user_id),i.billingDebitKey,0,i.serpOnly?"serp_refund":"paa_refund","failed call",i.serpOnly?"serp_search":"paa_harvest"):await o(e.user_id,i.billingHoldMc,"refund","failed call"),await p(e.id,g(r),_(r,{chargeStatus:"refunded"})))}catch{}e.callback_url&&await h(e.callback_url,{job_id:e.id,status:"failed",...P(r),attempts:f(l)})}finally{M--}}async function J(){let e=await c();if(!e)return{claimed:!1};let t=Date.now();return await K(e),{claimed:!0,jobId:e.id,completed:!0,durationMs:Date.now()-t}}async function X(e){let t=[];for(let r=0;r<e.maxJobs&&!(Date.now()>=e.deadlineMs);r++){let i=await J();if(t.push(i),!i.claimed)break}return t}function $(){setInterval(async()=>{if(M>=S)return;let e=await c();e&&K(e)},2e3),console.log(`[worker] started \u2014 polling every 2s, max ${S} concurrent`)}export{X as drainQueue,$ as startWorker,J as tickOnce};
1
+ import{j as R,k as g,l as P,m as _,o as w,q as v,s as C,t as h}from"./chunk-NOUHD54C.js";import"./chunk-XG6GCEUE.js";import{w as A}from"./chunk-AQXYXVOP.js";import"./chunk-M5QHXNFZ.js";import{b as f,c as D}from"./chunk-AAJG5OHF.js";import{a as b,b as y}from"./chunk-CTX3NMZQ.js";import{a as O}from"./chunk-4FROKQJN.js";import{b as k}from"./chunk-56UT5M5Y.js";import"./chunk-2TZBO52D.js";import"./chunk-2PXP7TMY.js";import{Mb as o,Qb as d,Sb as m,Ua as c,gb as H,ib as p,na as u}from"./chunk-KKHTMYCD.js";var S=2,M=0;function N(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 b.paa_base+Math.max(1,e)*b.paa}async function K(e){M++;try{let t=typeof e.options=="string"?JSON.parse(e.options):e.options,r={value:null},i=w(e.id),n=await k({op:t.serpOnly?"serp":"paa",userId:Number(e.user_id),headlessSentOut:r,operationRunId:i,operationAccountScope:"production-default"},()=>A({...t,\u006b\u0065\u0072\u006e\u0065\u006cApiKey:O(),headless:!0,format:"json",outputDir:"/tmp/paa-output-api",onAttemptEvent:C(e.id,e.user_id,i)}));await H(e.id,n),await v(i,"succeeded");let l=await u(e.id,e.user_id);if(typeof t.billingHoldMc=="number"&&t.billingDebitKey){let s=t.serpOnly?y(r.value):x(N(n));await m(Number(e.user_id),t.billingDebitKey,s,t.serpOnly?"serp_refund":"paa_refund",t.serpOnly?"SERP search settlement":"PAA harvest settlement",t.serpOnly?"serp_search":"paa_harvest")}else if(!t.serpOnly&&typeof t.billingHoldMc=="number"){let s=x(N(n)),a=t.billingHoldMc-s;a>0?await o(e.user_id,a,"paa_refund","overestimate refund"):a<0&&await d(e.user_id,-a,"paa",t.query??e.query)}else if(t.serpOnly&&typeof t.billingHoldMc=="number"){let s=y(r.value),a=t.billingHoldMc-s;a>0?await o(e.user_id,a,"serp_refund","headless-mode pricing settle"):a<0&&await d(e.user_id,-a,"serp",t.query??e.query)}e.callback_url&&await h(e.callback_url,{job_id:e.id,status:"done",result:D(n),attempts:f(l)})}catch(t){console.error("[harvest/worker] failed",{jobId:e.id,error:t instanceof Error?t.message:String(t)});let r=R(t);await v(w(e.id),r.error_code==="harvest_timeout"?"timed_out":r.terminalStatus,r.error_code);let i=typeof e.options=="string"?JSON.parse(e.options):e.options,n=typeof i.billingHoldMc=="number"&&i.billingHoldMc>0;await p(e.id,g(r),_(r,{chargeStatus:n?"refund_pending":"not_charged"}));let l=await u(e.id,e.user_id);try{n&&(i.billingDebitKey?await m(Number(e.user_id),i.billingDebitKey,0,i.serpOnly?"serp_refund":"paa_refund","failed call",i.serpOnly?"serp_search":"paa_harvest"):await o(e.user_id,i.billingHoldMc,"refund","failed call"),await p(e.id,g(r),_(r,{chargeStatus:"refunded"})))}catch{}e.callback_url&&await h(e.callback_url,{job_id:e.id,status:"failed",...P(r),attempts:f(l)})}finally{M--}}async function J(){let e=await c();if(!e)return{claimed:!1};let t=Date.now();return await K(e),{claimed:!0,jobId:e.id,completed:!0,durationMs:Date.now()-t}}async function X(e){let t=[];for(let r=0;r<e.maxJobs&&!(Date.now()>=e.deadlineMs);r++){let i=await J();if(t.push(i),!i.claimed)break}return t}function $(){setInterval(async()=>{if(M>=S)return;let e=await c();e&&K(e)},2e3),console.log(`[worker] started \u2014 polling every 2s, max ${S} concurrent`)}export{X as drainQueue,$ as startWorker,J as tickOnce};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-scraper",
3
- "version": "0.90.5",
3
+ "version": "0.90.6",
4
4
  "description": "MCP server for MCP Scraper web intelligence tools",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",