@activepieces/piece-scrapeless 0.1.5 → 0.1.7

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 (41) hide show
  1. package/package.json +7 -11
  2. package/src/index.js +2 -40
  3. package/src/index.d.ts +0 -2
  4. package/src/index.d.ts.map +0 -1
  5. package/src/index.js.map +0 -1
  6. package/src/lib/actions/crawl-crawl.d.ts +0 -5
  7. package/src/lib/actions/crawl-crawl.d.ts.map +0 -1
  8. package/src/lib/actions/crawl-crawl.js +0 -71
  9. package/src/lib/actions/crawl-crawl.js.map +0 -1
  10. package/src/lib/actions/crawl-scrape.d.ts +0 -4
  11. package/src/lib/actions/crawl-scrape.d.ts.map +0 -1
  12. package/src/lib/actions/crawl-scrape.js +0 -63
  13. package/src/lib/actions/crawl-scrape.js.map +0 -1
  14. package/src/lib/actions/google-search-api.d.ts +0 -6
  15. package/src/lib/actions/google-search-api.d.ts.map +0 -1
  16. package/src/lib/actions/google-search-api.js +0 -77
  17. package/src/lib/actions/google-search-api.js.map +0 -1
  18. package/src/lib/actions/google-trends-api.d.ts +0 -8
  19. package/src/lib/actions/google-trends-api.d.ts.map +0 -1
  20. package/src/lib/actions/google-trends-api.js +0 -95
  21. package/src/lib/actions/google-trends-api.js.map +0 -1
  22. package/src/lib/actions/universal-scraping-api.d.ts +0 -9
  23. package/src/lib/actions/universal-scraping-api.d.ts.map +0 -1
  24. package/src/lib/actions/universal-scraping-api.js +0 -84
  25. package/src/lib/actions/universal-scraping-api.js.map +0 -1
  26. package/src/lib/auth.d.ts +0 -2
  27. package/src/lib/auth.d.ts.map +0 -1
  28. package/src/lib/auth.js +0 -46
  29. package/src/lib/auth.js.map +0 -1
  30. package/src/lib/constants/index.d.ts +0 -9
  31. package/src/lib/constants/index.d.ts.map +0 -1
  32. package/src/lib/constants/index.js +0 -672
  33. package/src/lib/constants/index.js.map +0 -1
  34. package/src/lib/services/scrapeless-api-client.d.ts +0 -3
  35. package/src/lib/services/scrapeless-api-client.d.ts.map +0 -1
  36. package/src/lib/services/scrapeless-api-client.js +0 -11
  37. package/src/lib/services/scrapeless-api-client.js.map +0 -1
  38. package/src/lib/utils/validator.d.ts +0 -5
  39. package/src/lib/utils/validator.d.ts.map +0 -1
  40. package/src/lib/utils/validator.js +0 -34
  41. package/src/lib/utils/validator.js.map +0 -1
package/package.json CHANGED
@@ -1,18 +1,14 @@
1
1
  {
2
2
  "name": "@activepieces/piece-scrapeless",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
- "types": "./src/index.d.ts",
7
6
  "dependencies": {
8
- "@activepieces/pieces-common": "0.12.3",
9
- "@activepieces/pieces-framework": "0.30.0",
10
- "@activepieces/shared": "0.87.1",
11
- "@scrapeless-ai/sdk": "1.5.1",
12
- "tslib": "2.6.2"
7
+ "@scrapeless-ai/sdk": "1.5.1"
13
8
  },
14
- "scripts": {
15
- "build": "tsc -p tsconfig.lib.json && cp package.json dist/",
16
- "lint": "eslint 'src/**/*.ts'"
17
- }
9
+ "files": [
10
+ "src/index.js",
11
+ "package.json",
12
+ "src/i18n"
13
+ ]
18
14
  }
package/src/index.js CHANGED
@@ -1,40 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.scrapeless = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const google_search_api_1 = require("./lib/actions/google-search-api");
7
- const crawl_scrape_1 = require("./lib/actions/crawl-scrape");
8
- const crawl_crawl_1 = require("./lib/actions/crawl-crawl");
9
- const google_trends_api_1 = require("./lib/actions/google-trends-api");
10
- const universal_scraping_api_1 = require("./lib/actions/universal-scraping-api");
11
- const pieces_common_1 = require("@activepieces/pieces-common");
12
- const shared_1 = require("@activepieces/shared");
13
- const auth_1 = require("./lib/auth");
14
- exports.scrapeless = (0, pieces_framework_1.createPiece)({
15
- displayName: 'Scrapeless',
16
- description: 'Scrapeless is an all-in-one and highly scalable web scraping toolkit for enterprises and developers.',
17
- auth: auth_1.scrapelessApiAuth,
18
- minimumSupportedRelease: '0.36.1',
19
- logoUrl: 'https://cdn.activepieces.com/pieces/scrapeless.png',
20
- categories: [shared_1.PieceCategory.PRODUCTIVITY],
21
- authors: ['sunorains'],
22
- actions: [
23
- google_search_api_1.googleSearchApi,
24
- crawl_scrape_1.crawlScrapeApi,
25
- crawl_crawl_1.crawlCrawlApi,
26
- google_trends_api_1.googleTrendsApi,
27
- universal_scraping_api_1.universalScrapingApi,
28
- (0, pieces_common_1.createCustomApiCallAction)({
29
- auth: auth_1.scrapelessApiAuth,
30
- baseUrl: () => 'https://api.scrapeless.com/api/v1',
31
- authMapping: (auth) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
32
- return {
33
- 'x-api-token': auth.secret_text
34
- };
35
- })
36
- })
37
- ],
38
- triggers: [],
39
- });
40
- //# sourceMappingURL=index.js.map
1
+ "use strict";var io=Object.create;var be=Object.defineProperty;var so=Object.getOwnPropertyDescriptor;var po=Object.getOwnPropertyNames;var uo=Object.getPrototypeOf,lo=Object.prototype.hasOwnProperty;var s=(e,r)=>be(e,"name",{value:r,configurable:!0});var co=(e,r)=>{for(var t in r)be(e,t,{get:r[t],enumerable:!0})},Gt=(e,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let l of po(r))!lo.call(e,l)&&l!==t&&be(e,l,{get:()=>r[l],enumerable:!(i=so(r,l))||i.enumerable});return e};var c=(e,r,t)=>(t=e!=null?io(uo(e)):{},Gt(r||!e||!e.__esModule?be(t,"default",{value:e,enumerable:!0}):t,e)),mo=e=>Gt(be({},"__esModule",{value:!0}),e);var Jn={};co(Jn,{scrapeless:()=>Xn});module.exports=mo(Jn);var w=c(require("zod/mini"));var gt=w.object({retryOnFailure:w.object({defaultValue:w.optional(w.boolean()),hide:w.optional(w.boolean())}),continueOnFailure:w.object({defaultValue:w.optional(w.boolean()),hide:w.optional(w.boolean())})}),yt=class{constructor(r,t,i,l,P,T,K,H,R,O,j){this.name=r;this.displayName=t;this.description=i;this.props=l;this.run=P;this.test=T;this.requireAuth=K;this.errorHandlingOptions=H;this.outputSchema=R;this.audience=O;this.aiMetadata=j}static{s(this,"IAction")}},V=s(e=>new yt(e.name,e.displayName,e.description,e.props,e.run,e.test??e.run,e.requireAuth??!0,e.errorHandlingOptions??{continueOnFailure:{defaultValue:!1},retryOnFailure:{defaultValue:!1}},e.outputSchema,e.audience,e.aiMetadata),"createAction");var zr=c(require("zod/mini"));var G=c(require("zod/mini"));var N=c(require("zod/mini"));var E=N.object({displayName:N.string(),description:N.optional(N.string())}),y=s((e,r)=>N.object({type:N.literal(r),required:N.boolean(),defaultValue:N.optional(N.any())}),"TPropertyValue");var xe=c(require("zod/mini"));var L=xe.object({...E.shape,...y(xe.string(),"SHORT_TEXT").shape}),oe=xe.object({...E.shape,...y(xe.string(),"LONG_TEXT").shape});var ce=c(require("zod/mini"));var b=c(require("zod/mini")),Wt=b.object({label:b.string(),value:b.unknown()}),qe=b.object({disabled:b.optional(b.boolean()),placeholder:b.optional(b.string()),options:b.array(Wt)});var v=ce.object({...E.shape,options:qe,...y(ce.unknown(),"STATIC_DROPDOWN").shape}),ne=ce.object({...E.shape,options:qe,...y(ce.array(ce.unknown()),"STATIC_MULTI_SELECT_DROPDOWN").shape});var k=c(require("zod/mini"));var Tt=k.object({...E.shape,...y(k.unknown(),"DROPDOWN").shape,refreshers:k.array(k.string())}),ze=k.object({...E.shape,...y(k.array(k.unknown()),"MULTI_SELECT_DROPDOWN").shape,refreshers:k.array(k.string())});var Ke=c(require("zod/mini"));var ae=Ke.object({...E.shape,...y(Ke.boolean(),"CHECKBOX").shape});var Ye=c(require("zod/mini"));var ie=Ye.object({...E.shape,...y(Ye.number(),"NUMBER").shape});var Xe=c(require("zod/mini"));var De=Xe.object({...E.shape,...y(Xe.unknown(),"FILE").shape});var Je=c(require("zod/mini"));var Me=Je.object({...E.shape,...y(Je.string(),"DATE_TIME").shape});var jt=G.record(G.string(),G.union([L,oe,v,ze,ne,ae,ie,De,Me])),we=G.object({...E.shape,properties:jt,...y(G.array(G.unknown()),"ARRAY").shape});var B=c(require("zod/mini"));var X=c(require("zod/mini"));var Le=X.object({...E.shape,...y(X.union([X.record(X.string(),X.unknown())]),"JSON").shape});var qt=B.union([L,v,Le,we,ne]),Po=B.record(B.string(),qt),Et=B.object({refreshers:B.array(B.string()),...E.shape,...y(B.unknown(),"DYNAMIC").shape});var $e=c(require("zod/mini"));var Ze=$e.object({...E.shape,...y($e.void(),"MARKDOWN").shape});var ve=(t=>(t.ARCHIVE="ARCHIVE",t.REGISTRY="REGISTRY",t))(ve||{}),Re=(t=>(t.CUSTOM="CUSTOM",t.OFFICIAL="OFFICIAL",t))(Re||{}),Ie=(I=>(I.ARTIFICIAL_INTELLIGENCE="ARTIFICIAL_INTELLIGENCE",I.COMMUNICATION="COMMUNICATION",I.COMMERCE="COMMERCE",I.CORE="CORE",I.UNIVERSAL_AI="UNIVERSAL_AI",I.FLOW_CONTROL="FLOW_CONTROL",I.BUSINESS_INTELLIGENCE="BUSINESS_INTELLIGENCE",I.ACCOUNTING="ACCOUNTING",I.PRODUCTIVITY="PRODUCTIVITY",I.CONTENT_AND_FILES="CONTENT_AND_FILES",I.DEVELOPER_TOOLS="DEVELOPER_TOOLS",I.CUSTOMER_SUPPORT="CUSTOMER_SUPPORT",I.FORMS_AND_SURVEYS="FORMS_AND_SURVEYS",I.HUMAN_RESOURCES="HUMAN_RESOURCES",I.PAYMENT_PROCESSING="PAYMENT_PROCESSING",I.MARKETING="MARKETING",I.SALES_AND_CRM="SALES_AND_CRM",I))(Ie||{});var ke=(t=>(t.AUTHORIZATION_CODE="authorization_code",t.CLIENT_CREDENTIALS="client_credentials",t))(ke||{}),At="both_client_credentials_and_authorization_code";var de=c(require("zod/mini")),Te=(l=>(l.POLLING="POLLING",l.WEBHOOK="WEBHOOK",l.APP_WEBHOOK="APP_WEBHOOK",l.MANUAL="MANUAL",l))(Te||{}),Be=(P=>(P.NONE="NONE",P.HEADER_PRESENT="HEADER_PRESENT",P.QUERY_PRESENT="QUERY_PRESENT",P.BODY_PARAM_PRESENT="BODY_PARAM_PRESENT",P.HEAD_REQUEST="HEAD_REQUEST",P))(Be||{}),yo=de.object({strategy:de.enum(Be),paramName:de.optional(de.string())}),Ue=(t=>(t.SIMULATION="SIMULATION",t.TEST_FUNCTION="TEST_FUNCTION",t))(Ue||{});var g=c(require("zod/mini"));var Qe=(t=>(t.WEBSOCKET="WEBSOCKET",t.NONE="NONE",t))(Qe||{}),Kt=g.object({status:g.optional(g.number()),body:g.optional(g.unknown()),headers:g.optional(g.record(g.string(),g.string()))}),Yt=g.object({type:g.literal("DELAY"),resumeDateTime:g.string(),requestIdToReply:g.optional(g.string()),handlerId:g.optional(g.string()),streamStepProgress:g.optional(g.enum(Qe))}),Xt=g.object({type:g.literal("WEBHOOK"),requestId:g.string(),requestIdToReply:g.optional(g.string()),response:Kt,handlerId:g.optional(g.string()),streamStepProgress:g.optional(g.enum(Qe))}),go=g.union([Yt,Xt]);var z=c(require("zod/mini")),To=z.object({body:z.unknown(),rawBody:z.optional(z.unknown()),headers:z.record(z.string(),z.string()),queryParams:z.record(z.string(),z.string())});var Eo=require("deepmerge-ts");function se(e){return e==null}s(se,"isNil");function Fe(e){return e==null?!0:typeof e=="string"||Array.isArray(e)?e.length===0:typeof e=="object"?Object.keys(e).length===0:!1}s(Fe,"isEmpty");function et(e,r){if(e==null)throw new Error(`${r} is null or undefined`)}s(et,"assertNotNullOrUndefined");var $t=require("nanoid"),tt=c(require("zod/mini"));var Ao="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Zt=21,ci=tt.string().check(tt.regex(new RegExp(`^[0-9a-zA-Z]{${Zt}}$`))),fo=(0,$t.customAlphabet)(Ao,Zt);var h=c(require("zod/mini"));var me=h.pipe(h.transform(e=>e instanceof Date?e.toISOString():e),h.string()),W={id:h.string(),created:me,updated:me},x=s(e=>h.optional(h.nullable(e)),"Nullable");function ft(e){return h.optional(h.nullable(h.enum(e)))}s(ft,"NullableEnum");var Pi=h.pipe(h.transform(e=>e==="true"||e===!0?!0:e==="false"||e===!1?!1:void 0),h.optional(h.boolean())),rt=s(e=>h.pipe(h.transform(r=>Array.isArray(r)?r:r!==void 0?[r]:void 0),h.optional(h.array(e))),"OptionalArrayFromQuery");var Se=c(require("zod/mini")),Ti=Se.record(Se.string(),Se.unknown());var ht=c(require("zod/mini"));var He=(O=>(O.OPENAI="openai",O.OPENROUTER="openrouter",O.ANTHROPIC="anthropic",O.AZURE="azure",O.GOOGLE="google",O.ACTIVEPIECES="activepieces",O.CLOUDFLARE_GATEWAY="cloudflare-gateway",O.CUSTOM="custom",O.BEDROCK="bedrock",O.MISTRAL="mistral",O))(He||{});var ot=c(require("zod/mini")),Ni=ot.string().check(ot.regex(/^#[0-9A-Fa-f]{6}$/));var q=c(require("zod/mini"));var zi=q.object({filename:q.string(),data:q.unknown(),type:q.literal("file"),mimetype:q.optional(q.string())});var ho=c(require("ipaddr.js"));var U=c(require("zod/mini"));var ki=U.object({...W,name:U.string(),permissions:U.array(U.string()),platformId:x(U.string()),type:U.string(),userCount:U.optional(U.number())});var n=c(require("zod/mini"));var Qt=(i=>(i.AGENT_DECIDE="agent-decide",i.CHOOSE_YOURSELF="choose-yourself",i.LEAVE_EMPTY="leave-empty",i))(Qt||{}),xt=(t=>(t.FILE="FILE",t.TABLE="TABLE",t))(xt||{}),Rt=(i=>(i.SSE="sse",i.STREAMABLE_HTTP="streamable-http",i.SIMPLE_HTTP="http",i))(Rt||{});var It=(i=>(i.TEXT="text",i.NUMBER="number",i.BOOLEAN="boolean",i))(It||{});var St=(t=>(t.IN_PROGRESS="in-progress",t.COMPLETED="completed",t))(St||{});var xo=n.object({mode:n.enum(Qt),value:n.unknown()}),Ro=n.object({auth:n.optional(n.string()),fields:n.record(n.string(),xo)}),Io=n.object({pieceName:n.string(),pieceVersion:n.string(),actionName:n.string(),predefinedInput:n.optional(Ro)}),So=n.object({type:n.literal("PIECE"),toolName:n.string().check(n.minLength(1)),pieceMetadata:Io}),Oo=n.object({type:n.literal("none")}),_o=n.object({type:n.literal("access_token"),accessToken:n.string()}),Co=n.object({type:n.literal("api_key"),apiKey:n.string(),apiKeyHeader:n.string()}),No=n.object({type:n.literal("headers"),headers:n.record(n.string(),n.string())}),bo=n.discriminatedUnion("type",[Oo,_o,Co,No]),er=n.object({type:n.literal("FLOW"),toolName:n.string().check(n.minLength(1)),externalFlowId:n.string(),flowDisplayName:n.optional(n.string())}),tr=n.object({type:n.literal("MCP"),toolName:n.string().check(n.minLength(1)),serverUrl:n.url(),protocol:n.enum(Rt),auth:bo}),rr=n.object({type:n.literal("KNOWLEDGE_BASE"),toolName:n.string().check(n.minLength(1)),sourceType:n.enum(xt),sourceId:n.string(),sourceName:n.string()}),zo=n.discriminatedUnion("type",[So,er,tr,rr]),Do=n.object({displayName:n.string(),description:n.optional(n.string()),type:n.enum(It)}),or=n.object({type:n.literal("MARKDOWN"),markdown:n.string()}),Oe={type:n.literal("TOOL_CALL"),input:x(n.record(n.string(),n.unknown())),output:n.optional(n.unknown()),toolName:n.string(),status:n.enum(St),toolCallId:n.string(),startTime:n.string(),endTime:n.optional(n.string())},ls=n.object(Oe),nr=n.discriminatedUnion("toolCallType",[n.object({...Oe,toolCallType:n.literal("PIECE"),pieceName:n.string(),pieceVersion:n.string(),actionName:n.string()}),n.object({...Oe,toolCallType:n.literal("FLOW"),displayName:n.string(),externalFlowId:n.string()}),n.object({...Oe,toolCallType:n.literal("MCP"),displayName:n.string(),serverUrl:n.string()}),n.object({...Oe,toolCallType:n.literal("KNOWLEDGE_BASE"),displayName:n.string(),sourceType:n.string()}),n.object({...Oe,toolCallType:n.literal("UNKNOWN"),displayName:n.string()})]),Mo=n.union([or,nr]);var u=c(require("zod/mini"));var Ot=(t=>(t.IMAGE="image",t.TEXT="text",t))(Ot||{}),pe=u.object({apiKey:u.string()}),wo=pe,Lo=u.object({apiKey:u.string(),apiKeyHash:u.string()}),vo=pe,ko=pe,Bo=pe,Uo=pe,Fo=pe,Ho=pe,Vo=pe,ar=u.object({accessKeyId:u.string().check(u.minLength(1)),secretAccessKey:u.string().check(u.minLength(1))}),Go=u.object({}),Wo=u.object({}),jo=u.object({}),qo=u.object({}),Ko=u.object({}),Yo=u.object({}),ir=u.object({modelId:u.string(),modelName:u.string(),modelType:u.enum(Ot)}),sr=u.object({apiKeyHeader:u.string(),baseUrl:u.string(),models:u.array(ir),defaultHeaders:u.optional(u.record(u.string(),u.string()))}),pr=u.object({accountId:u.string(),gatewayId:u.string(),models:u.array(ir),vertexProject:u.optional(u.string()),vertexRegion:u.optional(u.string())}),ur=u.object({resourceName:u.string(),apiVersion:u.pipe(u.transform(e=>typeof e=="string"&&e.trim().length===0?void 0:e),u.optional(u.string()))}),lr=u.object({region:u.string().check(u.minLength(1))}),Xo=u.union([wo,Bo,Uo,Fo,Ho,ko,vo,Lo,ar,Vo]),cr=u.union([sr,pr,ur,lr,Go,jo,qo,Ko,Wo,Yo]),Jo=u.object({id:u.string(),name:u.string(),type:u.enum(Ot)}),$o=u.object({id:u.string(),name:u.string(),provider:u.enum(He),config:cr,enabledForChat:u.boolean()}),Zo=u.object({provider:u.enum(He),config:cr,auth:Xo,platformId:u.string()});var Ps={openai:"openai",anthropic:"anthropic","google-ai-studio":"google","google-vertex-ai":"google"};var A=c(require("zod/mini"));var Qo=A.object({base64Url:A.string(),fileName:A.string(),extension:A.optional(A.string())}),en=A.object({mimeType:A.string(),url:A.string(),fileName:A.optional(A.string())}),_t=A.union([Qo,en]);var tn=A.union([A.object({type:A.literal("file"),value:_t}),A.object({type:A.literal("markdown"),value:A.string(),files:A.optional(A.array(_t))})]),rn=A.object({sessionId:A.string(),message:A.string(),files:A.optional(A.array(A.string()))});var o=c(require("zod/mini"));var mr=(t=>(t.ON_NEW_RECORD="ON_NEW_RECORD",t.ON_UPDATE_RECORD="ON_UPDATE_RECORD",t))(mr||{}),Pr=(t=>(t.ENABLED="ENABLED",t.DISABLED="DISABLED",t))(Pr||{}),Ct=(i=>(i.RECORD_CREATED="RECORD_CREATED",i.RECORD_UPDATED="RECORD_UPDATED",i.RECORD_DELETED="RECORD_DELETED",i))(Ct||{});var on=o.union([o.object({...W,name:o.string(),externalId:o.string(),type:o.literal("STATIC_DROPDOWN"),tableId:o.string(),projectId:o.string(),data:o.object({options:o.array(o.object({value:o.string()}))})}),o.object({...W,name:o.string(),externalId:o.string(),type:o.union([o.literal("TEXT"),o.literal("NUMBER"),o.literal("DATE")]),tableId:o.string(),projectId:o.string()})]),nn=o.object({...W,name:o.string(),folderId:x(o.string()),projectId:o.string(),externalId:o.string(),status:ft(Pr),trigger:ft(mr)}),an=o.object({...W,tableId:o.string(),projectId:o.string(),cells:o.record(o.string(),o.object({updated:o.string(),created:o.string(),value:o.unknown(),fieldName:o.string()}))}),sn=o.object({events:o.array(o.enum(Ct)),webhookUrl:o.string(),flowId:o.string()}),pn=o.object({fields:o.array(o.object({id:o.string(),name:o.string()})),rows:o.array(o.record(o.string(),o.string())),name:o.string()}),un=o.object({projectId:o.string(),limit:o.optional(o.coerce.number()),cursor:o.optional(o.string()),name:o.optional(o.string()),externalIds:rt(o.string()),folderId:o.optional(o.string()),folderIds:rt(o.string())}),ln=o.object({records:o.array(o.array(o.object({fieldId:o.string(),value:gr()}))),tableId:o.string()}),cn=o.object({cells:o.optional(o.array(o.object({fieldId:o.string(),value:gr()}))),tableId:o.string(),agentUpdate:o.optional(o.boolean())}),yr=o.discriminatedUnion("operator",[Ee("eq"),Ee("neq"),Ee("gt"),Ee("gte"),Ee("lt"),Ee("lte"),Ee("co"),dr("exists"),dr("not_exists")]),dn=o.object({tableId:o.string(),limit:o.optional(o.coerce.number()),cursor:o.optional(o.string()),filters:rt(yr)});function gr(){return o.pipe(o.transform(e=>e==null?e:String(e)),o.nullable(o.string()))}s(gr,"coerceToString");function Ee(e){return o.object({fieldId:o.string(),operator:o.literal(e),value:o.string()})}s(Ee,"valueFilter");function dr(e){return o.object({fieldId:o.string(),operator:o.literal(e)})}s(dr,"existenceFilter");var _=c(require("zod/mini"));var mn=_.object({status:_.optional(_.number()),body:_.optional(_.unknown()),headers:_.optional(_.record(_.string(),_.string()))}),Pn=_.object({...W,deleted:x(me),ownerId:_.string(),displayName:_.string(),platformId:_.string(),externalId:x(_.string())});var C=c(require("zod/mini"));var Tr=C.object({name:C.string(),description:C.optional(C.string()),type:C.string(),required:C.boolean()}),yn=C.object({pieceName:C.string(),triggerName:C.string(),input:C.object({toolName:C.string(),toolDescription:C.string(),inputSchema:C.array(Tr),returnsResponse:C.boolean()})});var p=c(require("zod/mini"));var Er="^[0-9]+\\.[0-9]+\\.[0-9]+$",Ms=new RegExp(Er),Tn="^([~^])?[0-9]+\\.[0-9]+\\.[0-9]+$",ws=p.string().check(p.regex(new RegExp(Er))),Ls=p.string().check(p.regex(new RegExp(Tn))),En=p.object({packageType:p.literal("ARCHIVE"),pieceType:p.enum(Re),pieceName:p.string(),pieceVersion:p.string(),archiveId:p.string(),platformId:p.string()}),Ar=p.object({packageType:p.literal("REGISTRY"),pieceType:p.literal("OFFICIAL"),pieceName:p.string(),pieceVersion:p.string()}),fr=p.object({packageType:p.literal("REGISTRY"),pieceType:p.literal("CUSTOM"),pieceName:p.string(),pieceVersion:p.string(),platformId:p.string()}),vs=p.union([Ar,fr]),ks=p.union([En,Ar,fr]),hr=(r=>(r.CRON_EXPRESSION="CRON_EXPRESSION",r))(hr||{}),An=p.object({type:p.enum(hr),cronExpression:p.string(),timezone:p.string()}),Bs=p.object({...W,type:p.enum(Te),projectId:p.string(),flowId:p.string(),triggerName:p.string(),schedule:x(An),flowVersionId:p.string(),pieceName:p.string(),pieceVersion:p.string(),deleted:x(p.string()),simulate:p.boolean()}),xr=(f=>(f.UNKNOWN="UNKNOWN",f.FLOW_RUN_LOG="FLOW_RUN_LOG",f.FLOW_RUN_LOG_SLICE="FLOW_RUN_LOG_SLICE",f.PACKAGE_ARCHIVE="PACKAGE_ARCHIVE",f.FLOW_STEP_FILE="FLOW_STEP_FILE",f.SAMPLE_DATA="SAMPLE_DATA",f.TRIGGER_PAYLOAD="TRIGGER_PAYLOAD",f.SAMPLE_DATA_INPUT="SAMPLE_DATA_INPUT",f.TRIGGER_EVENT_FILE="TRIGGER_EVENT_FILE",f.PROJECT_RELEASE="PROJECT_RELEASE",f.FLOW_VERSION_BACKUP="FLOW_VERSION_BACKUP",f.PLATFORM_ASSET="PLATFORM_ASSET",f.USER_PROFILE_PICTURE="USER_PROFILE_PICTURE",f.WEBHOOK_PAYLOAD="WEBHOOK_PAYLOAD",f.KNOWLEDGE_BASE="KNOWLEDGE_BASE",f.FLOW_BUNDLE="FLOW_BUNDLE",f))(xr||{}),Rr=(t=>(t.NONE="NONE",t.ZSTD="ZSTD",t))(Rr||{}),Ir=(t=>(t.S3="S3",t.DB="DB",t))(Ir||{}),Us=p.object({...W,projectId:x(p.string()),platformId:x(p.string()),type:p.enum(xr),compression:p.enum(Rr),data:p.optional(p.unknown()),location:p.enum(Ir),size:x(p.number()),fileName:x(p.string()),s3Key:x(p.string()),metadata:x(p.record(p.string(),p.string()))}),Sr=(i=>(i.ADMIN="ADMIN",i.MEMBER="MEMBER",i.OPERATOR="OPERATOR",i))(Sr||{}),Or=(t=>(t.ACTIVE="ACTIVE",t.INACTIVE="INACTIVE",t))(Or||{}),Fs=p.object({id:p.string(),email:p.string(),firstName:p.string(),status:p.enum(Or),externalId:x(p.string()),platformId:x(p.string()),platformRole:p.enum(Sr),lastName:p.string(),created:me,updated:me,lastActiveDate:x(me),imageUrl:x(p.string())});var Pe=c(require("zod/mini"));var Nt=Pe.object({...E.shape,...y(Pe.record(Pe.string(),Pe.unknown()),"OBJECT").shape});var nt=c(require("zod/mini"));var br=nt.object({...E.shape,...y(nt.string(),"COLOR").shape});var bt=zr.union([L,oe,Ze,ae,v,ne,Tt,ze,Et,ie,we,Nt,Le,Me,De,br]),m={ShortText(e){return{...e,valueSchema:void 0,type:"SHORT_TEXT"}},Checkbox(e){return{...e,valueSchema:void 0,type:"CHECKBOX"}},LongText(e){return{...e,valueSchema:void 0,type:"LONG_TEXT"}},MarkDown(e){return{displayName:"Markdown",required:!1,description:e.value,type:"MARKDOWN",valueSchema:void 0,variant:e.variant??"INFO"}},Number(e){return{...e,valueSchema:void 0,type:"NUMBER"}},Json(e){return{...e,valueSchema:void 0,type:"JSON"}},Array(e){return{...e,valueSchema:void 0,type:"ARRAY"}},Object(e){return{...e,valueSchema:void 0,type:"OBJECT"}},Dropdown(e){return{...e,valueSchema:void 0,type:"DROPDOWN"}},StaticDropdown(e){return{...e,valueSchema:void 0,type:"STATIC_DROPDOWN"}},MultiSelectDropdown(e){return{...e,valueSchema:void 0,type:"MULTI_SELECT_DROPDOWN"}},DynamicProperties(e){return{...e,valueSchema:void 0,type:"DYNAMIC"}},StaticMultiSelectDropdown(e){return{...e,valueSchema:void 0,type:"STATIC_MULTI_SELECT_DROPDOWN"}},DateTime(e){return{...e,valueSchema:void 0,type:"DATE_TIME"}},File(e){return{...e,valueSchema:void 0,type:"FILE"}},Custom(e){let r=e.code.toString();return{...e,code:r,valueSchema:void 0,type:"CUSTOM"}},Color(e){return{...e,valueSchema:void 0,type:"COLOR"}}};var kr=c(require("zod/mini"));var D=c(require("zod/mini"));var Ae=c(require("zod/mini")),J=Ae.object({displayName:Ae.string(),description:Ae.optional(Ae.string())});var Dr=D.object({username:D.string(),password:D.string()}),zt=D.object({...J.shape,username:D.object({displayName:D.string(),description:D.optional(D.string())}),password:D.object({displayName:D.string(),description:D.optional(D.string())}),...y(Dr,"BASIC_AUTH").shape});var $=c(require("zod/mini"));var Rn=$.record($.string(),$.union([L,oe,ie,ae,v])),Dt=$.object({...J.shape,props:Rn,...y($.unknown(),"CUSTOM_AUTH").shape});var Z=c(require("zod/mini"));var Ve=c(require("zod/mini"));var fe=Ve.object({...J.shape,...y(Ve.object({auth:Ve.string()}),"SECRET_TEXT").shape});var In=Z.record(Z.string(),Z.union([L,oe,fe,ie,ae,v,ne,Ze])),Mr=Z.object({...J.shape,props:In,...y(Z.unknown(),"OIDC").shape});var d=c(require("zod/mini"));var Mt=(t=>(t.HEADER="HEADER",t.BODY="BODY",t))(Mt||{}),wr=d.union([L,fe,v]),Lr=d.record(d.string(),wr),Sn=d.object({props:d.optional(d.record(d.string(),wr)),authUrl:d.string(),tokenUrl:d.string(),scope:d.array(d.string()),prompt:d.optional(d.union([d.literal("none"),d.literal("consent"),d.literal("login"),d.literal("omit")])),pkce:d.optional(d.boolean()),pkceMethod:d.optional(d.union([d.literal("plain"),d.literal("S256")])),authorizationMethod:d.optional(d.enum(Mt)),grantType:d.optional(d.union([d.enum(ke),d.literal(At)])),extra:d.optional(d.record(d.string(),d.string()))}),vr=d.object({access_token:d.string(),props:d.optional(Lr),data:d.record(d.string(),d.any())}),wt=d.object({...J.shape,...Sn.shape,...y(vr,"OAUTH2").shape});var _e=kr.union([zt,Dt,Mr,wt,fe]),Ge="Connection",Lt={SecretText(e){return{...e,valueSchema:void 0,type:"SECRET_TEXT"}},OAuth2(e){return{...e,valueSchema:void 0,type:"OAUTH2",displayName:e.displayName||Ge}},BasicAuth(e){return{...e,valueSchema:void 0,type:"BASIC_AUTH",displayName:e.displayName||Ge,required:!0}},CustomAuth(e){return{...e,valueSchema:void 0,type:"CUSTOM_AUTH",displayName:e.displayName||Ge}},OIDC(e){return{...e,valueSchema:void 0,type:"OIDC",displayName:e.displayName||Ge}},None(){}};var Eu={OAUTH2:"OAUTH2",CLOUD_OAUTH2:"OAUTH2",PLATFORM_OAUTH2:"OAUTH2",BASIC_AUTH:"BASIC_AUTH",CUSTOM_AUTH:"CUSTOM_AUTH",OIDC:"OIDC",SECRET_TEXT:"SECRET_TEXT",NO_AUTH:void 0};var ye=c(require("zod/mini"));var Ce=c(require("zod/mini"));var On=Ce.object({...E.shape,...y(Ce.unknown(),"CUSTOM").shape,code:Ce.string()});var M=c(require("zod/mini"));var _n=ye.union([bt,_e]),vt=ye.record(ye.string(),_n),wu=ye.record(ye.string(),bt);var Q=c(require("zod/mini"));var Br=Q.union([Q.object({strategy:Q.literal("CRON"),cronExpression:Q.string()}),Q.object({strategy:Q.literal("NONE")})]);var Ur="2",at="0.82.0";var kt=class{constructor(r,t,i,l,P,T,K,H,R=at,O,j=""){this.displayName=r;this.logoUrl=t;this.authors=i;this.events=l;this.categories=K;this.auth=H;this.minimumSupportedRelease=R;this.maximumSupportedRelease=O;this.description=j;this._actions={};this._triggers={};this.getContextInfo=s(()=>({version:Ur}),"getContextInfo");(!Cn(R)||Nn(R,at))&&(this.minimumSupportedRelease=at),P.forEach(te=>this._actions[te.name]=te),T.forEach(te=>this._triggers[te.name]=te)}static{s(this,"Piece")}metadata(){return{displayName:this.displayName,logoUrl:this.logoUrl,actions:this._actions,triggers:this._triggers,categories:this.categories,description:this.description,authors:this.authors,auth:this.auth,minimumSupportedRelease:this.minimumSupportedRelease,maximumSupportedRelease:this.maximumSupportedRelease,contextInfo:this.getContextInfo?.()}}getAction(r){return this._actions[r]}getTrigger(r){return this._triggers[r]}actions(){return this._actions}triggers(){return this._triggers}},Fr=s(e=>{if(e.auth&&Array.isArray(e.auth)&&!e.auth.every((t,i,l)=>i===l.findIndex(P=>P.type===t.type)))throw new Error("Auth properties must be unique by type");return new kt(e.displayName,e.logoUrl,e.authors??[],e.events,e.actions,e.triggers,e.categories??[],e.auth,e.minimumSupportedRelease,e.maximumSupportedRelease,e.description)},"createPiece");function Cn(e){return/^\d+\.\d+\.\d+$/.test(e)}s(Cn,"isValidSimpleSemver");function Nn(e,r){let[t,i,l]=e.split(".").map(Number),[P,T,K]=r.split(".").map(Number);return t!==P?t<P:i!==T?i<T:l<K}s(Nn,"isSemverLessThan");var a=c(require("zod/mini"));var bn=a.optional(a.record(a.string(),a.record(a.string(),a.string()))),Hr=a.object({id:a.optional(a.string()),name:a.string(),displayName:a.string(),logoUrl:a.string(),description:a.string(),authors:a.array(a.string()),platformId:a.optional(a.string()),directoryPath:a.optional(a.string()),auth:a.optional(a.union([_e,a.array(_e)])),version:a.string(),categories:a.optional(a.array(a.enum(Ie))),minimumSupportedRelease:a.optional(a.string()),maximumSupportedRelease:a.optional(a.string()),i18n:bn}),zn=a.enum(["human","ai","both"]),Vr=a.object({description:a.optional(a.string()),idempotent:a.optional(a.boolean())}),Gr=a.object({name:a.string(),displayName:a.string(),description:a.string(),props:vt,requireAuth:a.boolean(),errorHandlingOptions:a.optional(gt),outputSchema:a.optional(a.custom()),audience:a.optional(zn),aiMetadata:a.optional(Vr)}),Wr=a.object({name:a.string(),displayName:a.string(),description:a.string(),props:vt,errorHandlingOptions:a.optional(gt),type:a.enum(Te),sampleData:a.unknown(),handshakeConfiguration:a.optional(a.custom()),renewConfiguration:a.optional(Br),testStrategy:a.enum(Ue),outputSchema:a.optional(a.custom()),aiMetadata:a.optional(Vr)}),Dn=a.object({...Hr.shape,actions:a.record(a.string(),Gr),triggers:a.record(a.string(),Wr)}),Mn=a.object({...Hr.shape,actions:a.number(),triggers:a.number(),suggestedActions:a.optional(a.array(Wr)),suggestedTriggers:a.optional(a.array(Gr))}),jr=a.object({projectUsage:a.number(),pieceType:a.enum(Re),packageType:a.enum(ve),platformId:a.optional(a.string()),archiveId:a.optional(a.string())}),wl=a.object({...Dn.shape,...jr.shape}),Ll=a.object({...Mn.shape,...jr.shape}),vl=a.object({name:a.string(),version:a.string()});var wn=c(require("path")),Ln=c(require("fs/promises"));var it=class{constructor(r,t){this.baseUrl=r;this.authenticationConverter=t}static{s(this,"BaseHttpClient")}getUrl(r){let t=new URL(`${this.baseUrl}${r.url}`),i=`${t.origin}${t.pathname}`,l=new URLSearchParams;return t.searchParams.forEach((P,T)=>{l.append(T,P)}),{urlWithoutQueryParams:i,queryParams:l}}getHeaders(r){let t={Accept:"application/json"};if(r.authentication&&this.populateAuthentication(r.authentication,t),r.body)switch(r.headers?.["Content-Type"]){case"text/csv":t["Content-Type"]="text/csv";break;default:t["Content-Type"]="application/json";break}return r.headers&&(t={...t,...r.headers}),t}populateAuthentication(r,t){this.authenticationConverter.convert(r,t)}};var st=class{static{s(this,"DelegatingAuthenticationConverter")}constructor(r=new Bt,t=new Ut){this.converters={BEARER_TOKEN:r,BASIC:t}}convert(r,t){return this.converters[r.type].convert(r,t)}},Bt=class{static{s(this,"BearerTokenAuthenticationConverter")}convert(r,t){return t.Authorization=`Bearer ${r.token}`,t}},Ut=class{static{s(this,"BasicTokenAuthenticationConverter")}convert(r,t){let i=`${r.username}:${r.password}`,l=Buffer.from(i).toString("base64");return t.Authorization=`Basic ${l}`,t}};var pt=class extends Error{constructor(t,i){let l=i.status||500,P=Buffer.isBuffer(i.responseBody)?i.responseBody.toString():i.responseBody;super(JSON.stringify({response:{status:l,body:P},request:{body:t}}));this.requestBody=t;this.status=l,this.responseBody=P}static{s(this,"HttpError")}errorMessage(){return{response:{status:this.status,body:this.responseBody},request:{body:this.requestBody}}}get response(){return{status:this.status,body:this.responseBody}}get request(){return{body:this.requestBody}}};var ut=class extends it{static{s(this,"FetchHttpClient")}constructor(r="",t=new st){super(r,t)}async sendRequest(r,t){process.env.NODE_TLS_REJECT_UNAUTHORIZED="0";let{urlWithoutQueryParams:i,queryParams:l}=this.getUrl(r),P=this.getHeaders(r),T=r.queryParams??{};for(let[ue,Y]of Object.entries(T))l.append(ue,Y);let K=l.toString(),H=K?`${i}?${K}`:i,R=r.responseType??"json",O=r.followRedirects??!0,j=r.retries??0,{body:te,extraHeaders:mt,isStream:Ne}=vn(r.body,P),he=Bn({...P,...mt}),f=await kn(async()=>{let ue=new AbortController,Y=r.timeout&&r.timeout>0?setTimeout(()=>ue.abort(),r.timeout):void 0;try{let le={method:r.method.toString(),headers:he,body:te,redirect:O?"follow":"manual",signal:ue.signal};return Ne&&(le.duplex="half"),t?.dispatcher!==void 0&&(le.dispatcher=t.dispatcher),await fetch(H,le)}finally{Y!==void 0&&clearTimeout(Y)}},j),I=O?300:400;if(f.status<200||f.status>=I){let ue=await qr(f,R),Y=new pt(r.body,{status:f.status,responseBody:ue});throw console.error("[HttpClient#(sanitized error message)] Request failed:",Y),Y}let We=await qr(f,R);return{status:f.status,headers:Un(f.headers),body:We}}};function vn(e,r){return Hn(e)?{body:void 0,extraHeaders:{},isStream:!1}:Fn(e)?{body:e,extraHeaders:e.getHeaders(),isStream:!0}:typeof e=="string"||Buffer.isBuffer(e)||e instanceof URLSearchParams||e instanceof ArrayBuffer||typeof FormData<"u"&&e instanceof FormData||typeof Blob<"u"&&e instanceof Blob?{body:e,extraHeaders:{},isStream:!1}:(r["Content-Type"]??r["content-type"]??"").includes("application/x-www-form-urlencoded")?{body:new URLSearchParams(e).toString(),extraHeaders:{},isStream:!1}:{body:JSON.stringify(e),extraHeaders:{},isStream:!1}}s(vn,"serializeBody");async function qr(e,r){switch(r){case"arraybuffer":return Buffer.from(await e.arrayBuffer());case"blob":return await e.blob();case"text":return await e.text();case"json":default:{let t=await e.text();if(t.length===0)return;try{return JSON.parse(t)}catch{return t}}}}s(qr,"parseResponseBody");async function kn(e,r){let t;for(let i=0;i<=r;i++)try{let l=await e();if(l.status>=500&&i<r){await Kr(i);continue}return l}catch(l){if(t=l,i<r){await Kr(i);continue}throw l}throw t}s(kn,"sendWithRetries");function Kr(e){let r=Math.min(1e3*2**e,3e4);return new Promise(t=>setTimeout(t,r))}s(Kr,"backoff");function Bn(e){let r={};for(let[t,i]of Object.entries(e))i!==void 0&&(r[t]=Array.isArray(i)?i.join(", "):i);return r}s(Bn,"normalizeHeaders");function Un(e){let r={};return e.forEach((t,i)=>{r[i]=t}),r}s(Un,"toHttpHeaders");function Fn(e){return typeof e=="object"&&e!==null&&typeof e.getHeaders=="function"&&typeof e.pipe=="function"}s(Fn,"isNodeFormData");function Hn(e){return e==null}s(Hn,"isNil");var lt=new ut;var ct=(T=>(T.GET="GET",T.POST="POST",T.PATCH="PATCH",T.PUT="PUT",T.DELETE="DELETE",T.HEAD="HEAD",T))(ct||{});var Vn=c(require("fs")),Yr=c(require("form-data"));var Gn={"application/json":"json","application/pdf":"pdf","application/xml":"xml","text/xml":"xml","application/zip":"zip","application/gzip":"gz","application/x-tar":"tar","application/octet-stream":"bin","application/msword":"doc","application/vnd.openxmlformats-officedocument.wordprocessingml.document":"docx","application/vnd.ms-excel":"xls","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":"xlsx","application/vnd.ms-powerpoint":"ppt","application/vnd.openxmlformats-officedocument.presentationml.presentation":"pptx","application/rtf":"rtf","application/javascript":"js","application/x-www-form-urlencoded":"bin","text/plain":"txt","text/html":"html","text/css":"css","text/csv":"csv","text/calendar":"ics","text/markdown":"md","image/png":"png","image/jpeg":"jpeg","image/jpg":"jpg","image/gif":"gif","image/webp":"webp","image/svg+xml":"svg","image/bmp":"bmp","image/tiff":"tiff","image/x-icon":"ico","image/vnd.microsoft.icon":"ico","image/heic":"heic","audio/mpeg":"mp3","audio/mp4":"m4a","audio/wav":"wav","audio/x-wav":"wav","audio/ogg":"ogg","audio/webm":"weba","video/mp4":"mp4","video/mpeg":"mpeg","video/webm":"webm","video/quicktime":"mov","video/x-msvideo":"avi","font/woff":"woff","font/woff2":"woff2","font/ttf":"ttf","font/otf":"otf"};function Wn(e){let r=e.split(";")[0].trim().toLowerCase();return Gn[r]??""}s(Wn,"contentTypeToExtension");var jn=s(({baseUrl:e,relativePath:r})=>{let t=e.endsWith("/")?e:`${e}/`,i=r.startsWith("/")?r.slice(1):r;return`${t}${i}`},"joinBaseUrlWithRelativePath"),qn=s((e,r)=>{let t="https://api.example.com";try{let i=r?e(r):void 0;return(i?.endsWith("/")?i.slice(0,-1):i)??t}catch{return t}},"getBaseUrlForDescription");function Xr({auth:e,baseUrl:r,authMapping:t,description:i,displayName:l,name:P,props:T,extraProps:K,authLocation:H="headers"}){return V({audience:"human",name:P||"custom_api_call",displayName:l||"Custom API Call",description:i||"Make a custom API call to a specific endpoint",auth:e,requireAuth:!!e,props:{url:m.DynamicProperties({auth:e,displayName:"",required:!0,refreshers:[],props:s(async({auth:R})=>({url:m.ShortText({displayName:"URL",description:`You can either use the full URL or the relative path to the base URL
2
+ i.e ${qn(r,R)}/resource or /resource`,required:!0,defaultValue:R?r(R):"",...T?.url??{}})}),"props")}),method:m.StaticDropdown({displayName:"Method",required:!0,options:{options:Object.values(ct).map(R=>({label:R,value:R}))},...T?.method??{}}),headers:m.Object({displayName:"Headers",description:"Authorization headers are injected automatically from your connection.",required:!0,...T?.headers??{}}),queryParams:m.Object({displayName:"Query Parameters",required:!0,...T?.queryParams??{}}),body_type:m.StaticDropdown({displayName:"Body Type",required:!1,defaultValue:"none",options:{disabled:!1,options:[{label:"None",value:"none"},{label:"JSON",value:"json"},{label:"Form Data",value:"form_data"},{label:"Raw",value:"raw"}]}}),body:m.DynamicProperties({auth:e,displayName:"Body",refreshers:["body_type"],required:!1,props:s(async({body_type:R})=>{if(!R)return{};let O=R,j={};switch(O){case"none":break;case"json":j.data=m.Json({displayName:"JSON Body",required:!0,...T?.body??{}});break;case"raw":j.data=m.LongText({displayName:"Raw Body",required:!0});break;case"form_data":j.data=m.Array({displayName:"Form Data",required:!0,properties:{fieldName:m.ShortText({displayName:"Field Name",required:!0}),fieldType:m.StaticDropdown({displayName:"Field Type",required:!0,options:{disabled:!1,options:[{label:"Text",value:"text"},{label:"File",value:"file"}]}}),textFieldValue:m.LongText({displayName:"Text Field Value",required:!1}),fileFieldValue:m.File({displayName:"File Field Value",required:!1})}});break}return j},"props")}),response_is_binary:m.Checkbox({displayName:"Response is Binary ?",description:"Enable for files like PDFs, images, etc.",required:!1,defaultValue:!1}),failsafe:m.Checkbox({displayName:"No Error on Failure",required:!1,...T?.failsafe??{}}),timeout:m.Number({displayName:"Timeout (in seconds)",required:!1,...T?.timeout??{}}),followRedirects:m.Checkbox({displayName:"Follow redirects",required:!1,defaultValue:!1}),...K},run:s(async R=>{let{method:O,url:j,headers:te,queryParams:mt,body:Ne,body_type:he,failsafe:f,timeout:I,response_is_binary:We,followRedirects:ue}=R.propsValue;et(O,"Method"),et(j,"URL");let Y=se(t)?{}:await t(R.auth,R.propsValue),le=j.url,no=le.startsWith("http://")||le.startsWith("https://")?le:jn({baseUrl:r(R.auth),relativePath:le}),ge={method:O,url:no,headers:{...te??{},...H==="headers"||!se(H)?Y:{}},queryParams:{...H==="queryParams"?Y:{},...mt??{}},timeout:I?I*1e3:0,followRedirects:ue};if(We&&(ge.responseType="arraybuffer"),Ne)if(he&&he!=="none"){let re=Ne.data;if(he==="form_data"){let ao=re,je=new Yr.default;for(let{fieldName:Ft,fieldType:Ht,textFieldValue:Vt,fileFieldValue:Pt}of ao)Ht==="text"&&!Fe(Vt)?je.append(Ft,Vt):Ht==="file"&&!Fe(Pt)&&je.append(Ft,Pt.data,{filename:Pt?.filename});ge.body=je,ge.headers={...ge.headers,...je.getHeaders()}}else ge.body=re}else he||(ge.body=Ne);try{let re=await lt.sendRequest(ge);return await Kn(R.files,re.body,re.status,re.headers,We)}catch(re){if(f)return re.errorMessage();throw re}},"run")})}s(Xr,"createCustomApiCallAction");var Kn=s(async(e,r,t,i,l)=>{let P;if(l&&Yn(r)){let T=Array.isArray(i?.["content-type"])?i["content-type"][0]:i?.["content-type"],K=Wn(T??"")||"txt",H;r instanceof ArrayBuffer?H=Buffer.from(new Uint8Array(r)):Buffer.isBuffer(r)?H=r:H=Buffer.from(r),P=await e.write({fileName:`output.${K}`,data:H})}else P=r;return{status:t,headers:i,body:P}},"handleBinaryResponse"),Yn=s(e=>e instanceof ArrayBuffer||Buffer.isBuffer(e),"isBinaryBody");var dt=class{static{s(this,"ScrapelessValidator")}static async validateApiKey(r){let t=[];return r?typeof r!="string"&&t.push("API key must be a string"):t.push("API key is required"),(await lt.sendRequest({url:"https://api.scrapeless.com/api/v1/me",method:"GET",headers:{"x-api-token":r}})).status!==200&&t.push("Invalid API key"),{isValid:t.length===0,errors:t}}};var F=Lt.SecretText({displayName:"API Key",description:"You can obtain your API key from [Dashboard](https://app.scrapeless.com).",required:!0,validate:s(async({auth:e})=>{try{let r=await dt.validateApiKey(e);return r.isValid?{valid:!0}:{valid:!1,error:`${r.errors.join(", ")}`}}catch(r){let t=r instanceof Error?r.message:"Unknown error occurred";return t.includes("timeout")?{valid:!1,error:"API validation timed out. Please check your network connection and try again."}:t.includes("network")||t.includes("ENOTFOUND")?{valid:!1,error:"Network error occurred. Please check your internet connection."}:{valid:!1,error:`API key validation failed: ${t}`}}},"validate")});var Jr=require("@scrapeless-ai/sdk");function ee(e){return new Jr.ScrapelessClient({apiKey:e,timeout:2*60*1e3})}s(ee,"createScrapelessClient");var $r=V({auth:F,name:"google_search_api",displayName:"Google Search",description:"Retrieves search result data for any query.",audience:"both",aiMetadata:{description:"Runs a Google web search through Scrapeless and returns the structured results (organic listings, etc.) for a given query. Choose this to programmatically fetch live Google search results when you need ranked web matches rather than scraping a specific page; supports Google advanced operators (site:, inurl:, intitle:) inside the query and optional language/country localization. Read-only and idempotent: the same query returns the same results with no side effects.",idempotent:!0},props:{q:m.ShortText({displayName:"Search Query",description:"Parameter defines the query you want to search. You can use anything that you would use in a regular Google search. e.g. inurl:, site:, intitle:. We also support advanced search query parameters such as as_dt and as_eq.",defaultValue:"coffee",required:!0}),hl:m.ShortText({displayName:"Language",description:"Parameter defines the language to use for the Google search. It's a two-letter language code. (e.g., en for English, es for Spanish, or fr for French).",defaultValue:"en",required:!1}),gl:m.ShortText({displayName:"Country",description:"Parameter defines the country to use for the Google search. It's a two-letter country code. (e.g., us for the United States, uk for United Kingdom, or fr for France).",defaultValue:"us",required:!1})},async run({propsValue:e,auth:r}){try{let t=ee(r.secret_text),i={q:e.q,hl:e.hl,gl:e.gl},l=await t.deepserp.createTask({actor:"scraper.google.search",input:i});if(l.status===200)return{success:!0,data:l.data||null};for(;;){await new Promise(T=>setTimeout(T,1e3));let P=await t.deepserp.getTaskResult(l.data.taskId);if(P.status===200)return{success:!0,data:P.data||null}}}catch(t){return{success:!1,error:t instanceof Error?t.message:"Unknown error occurred",error_type:t instanceof Error?t.constructor.name:"UnknownError",timestamp:new Date().toISOString()}}}});var Zr=V({auth:F,name:"crawl_scrape",displayName:"Scrape Webpage Data",description:"Extracts data from a single webpage.",audience:"both",aiMetadata:{description:"Scrapes a single webpage at the given URL via Scrapeless and returns its extracted content. Choose this when you need the data from one specific page; for following links across a whole site use the crawl action instead. Requires a target URL; read-only and idempotent (no side effects, though live page content may change between calls).",idempotent:!0},props:{url:m.ShortText({displayName:"URL to Crawl",description:"The URL of the webpage to scrape.",required:!0})},async run({propsValue:e,auth:r}){try{let t=ee(r.secret_text),i=e.url,l={proxy_country:"ANY",session_name:"Crawl",session_recording:!0,session_ttl:900},P=await t.scrapingCrawl.scrape.scrapeUrl(i,{browserOptions:l});return P.status==="completed"&&P.data?{success:!0,data:P.data||null}:{success:!1,error:"Scraping failed",error_type:"ScrapingFailed",timestamp:new Date().toISOString()}}catch(t){return{success:!1,error:t instanceof Error?t.message:"Unknown error occurred",error_type:t instanceof Error?t.constructor.name:"UnknownError",timestamp:new Date().toISOString()}}}});var Qr=V({auth:F,name:"crawl_crawl",displayName:"Crawl Data from All Pages",description:"Crawls a website and its linked pages to extract comprehensive data.",audience:"both",aiMetadata:{description:"Crawls a website starting from the given URL, following linked subpages up to a configurable page limit, and returns the extracted content from all visited pages. Choose this when you need data across multiple pages of a site rather than a single page (use the scrape action for one page). Requires a starting URL and a subpage limit; read-only and idempotent with no side effects.",idempotent:!0},props:{url:m.ShortText({displayName:"URL to Crawl",description:"The URL of the webpage to crawl.",required:!0}),limit:m.Number({displayName:"Limit",description:"Number Of Subpages",required:!0,defaultValue:5})},async run({propsValue:e,auth:r}){try{let t=ee(r.secret_text),i=e.url,l=e.limit,P={proxy_country:"ANY",session_name:"Crawl",session_recording:!0,session_ttl:900},T=await t.scrapingCrawl.crawl.crawlUrl(i,{browserOptions:P,limit:l});return T.status==="completed"&&T.data?{success:!0,data:T.data||null}:{success:!1,error:"Scraping failed",error_type:"ScrapingFailed",timestamp:new Date().toISOString()}}catch(t){return{success:!1,error:t instanceof Error?t.message:"Unknown error occurred",error_type:t instanceof Error?t.constructor.name:"UnknownError",timestamp:new Date().toISOString()}}}});var eo=[{label:"Auto complete",value:"autocomplete"},{label:"Interest over time",value:"interest_over_time"},{label:"Compared breakdown by region",value:"compared_breakdown_by_region"},{label:"Interest by region",value:"interest_by_subregion"},{label:"Related queries",value:"related_queries"},{label:"Related topics",value:"related_topics"}],to=[{label:"World Wide",value:"ANY"},{label:"Albania",value:"AL"},{label:"Algeria",value:"DZ"},{label:"Bhutan",value:"BT"},{label:"Bolivia",value:"BO"},{label:"Austria",value:"AT"},{label:"Bahrain",value:"BH"},{label:"Argentina",value:"AR"},{label:"Azerbaijan",value:"AZ"},{label:"Cyprus",value:"CY"},{label:"Burundi",value:"BI"},{label:"Cameroon",value:"CM"},{label:"Croatia",value:"HR"},{label:"Dominican Republic",value:"DO"},{label:"Australia",value:"AU"},{label:"Belarus",value:"BY"},{label:"Angola",value:"AO"},{label:"Bulgaria",value:"BG"},{label:"Democratic Republic of the Congo",value:"CD"},{label:"Aruba",value:"AW"},{label:"Armenia",value:"AM"},{label:"Bangladesh",value:"BD"},{label:"Belgium",value:"BE"},{label:"Cambodia",value:"KH"},{label:"Czech Republic",value:"CZ"},{label:"Denmark",value:"DK"},{label:"Burkina Faso",value:"BF"},{label:"Canada",value:"CA"},{label:"Cuba",value:"CU"},{label:"China",value:"CN"},{label:"Gambia The",value:"GM"},{label:"Georgia",value:"GE"},{label:"Chile",value:"CL"},{label:"Congo",value:"CG"},{label:"Cote D'Ivoire (Ivory Coast)",value:"CI"},{label:"Gabon",value:"GA"},{label:"Colombia",value:"CO"},{label:"Costa Rica",value:"CR"},{label:"Indonesia",value:"ID"},{label:"French Polynesia",value:"PF"},{label:"Luxembourg",value:"LU"},{label:"Malta",value:"MT"},{label:"Mali",value:"ML"},{label:"Mexico",value:"MX"},{label:"Mauritius",value:"MU"},{label:"Madagascar",value:"MG"},{label:"Malawi",value:"MW"},{label:"Montenegro",value:"ME"},{label:"Netherlands",value:"NL"},{label:"Macau S.A.R.",value:"MO"},{label:"Moldova",value:"MD"},{label:"Malaysia",value:"MY"},{label:"Mongolia",value:"MN"},{label:"Man (Isle of)",value:"IM"},{label:"Fiji Islands",value:"FJ"},{label:"Finland",value:"FI"},{label:"France",value:"FR"},{label:"India",value:"IN"},{label:"Iceland",value:"IS"},{label:"North Macedonia",value:"MK"},{label:"New Zealand",value:"NZ"},{label:"Nicaragua",value:"NI"},{label:"Norway",value:"NO"},{label:"Haiti",value:"HT"},{label:"Honduras",value:"HN"},{label:"Hungary",value:"HU"},{label:"Guyana",value:"GY"},{label:"Hong Kong S.A.R.",value:"HK"},{label:"Nigeria",value:"NG"},{label:"Oman",value:"OM"},{label:"Peru",value:"PE"},{label:"Pakistan",value:"PK"},{label:"Palestinian Territory Occupied",value:"PS"},{label:"Papua new Guinea",value:"PG"},{label:"Poland",value:"PL"},{label:"Paraguay",value:"PY"},{label:"Panama",value:"PA"},{label:"Philippines",value:"PH"},{label:"Ethiopia",value:"ET"},{label:"Guatemala",value:"GT"},{label:"Greece",value:"GR"},{label:"Guinea-Bissau",value:"GW"},{label:"Estonia",value:"EE"},{label:"Guinea",value:"GN"},{label:"Saudi Arabia",value:"SA"},{label:"Serbia",value:"RS"},{label:"The Bahamas",value:"BS"},{label:"Ecuador",value:"EC"},{label:"Grenada",value:"GD"},{label:"Bosnia and Herzegovina",value:"BA"},{label:"Brazil",value:"BR"},{label:"Germany",value:"DE"},{label:"Ghana",value:"GH"},{label:"Rwanda",value:"RW"},{label:"Senegal",value:"SN"},{label:"Thailand",value:"TH"},{label:"Tajikistan",value:"TJ"},{label:"Tanzania",value:"TZ"},{label:"Egypt",value:"EG"},{label:"El Salvador",value:"SV"},{label:"Gibraltar",value:"GI"},{label:"Saint Vincent And The Grenadines",value:"VC"},{label:"Slovakia",value:"SK"},{label:"Slovenia",value:"SI"},{label:"Trinidad And Tobago",value:"TT"},{label:"Tunisia",value:"TN"},{label:"Turkey",value:"TR"},{label:"Uganda",value:"UG"},{label:"Turks And Caicos Islands",value:"TC"},{label:"Ukraine",value:"UA"},{label:"Togo",value:"TG"},{label:"United States",value:"US"},{label:"Portugal",value:"PT"},{label:"Puerto Rico",value:"PR"},{label:"United Arab Emirates",value:"AE"},{label:"United Kingdom",value:"GB"},{label:"Vietnam",value:"VN"},{label:"Kazakhstan",value:"KZ"},{label:"Israel",value:"IL"},{label:"Jamaica",value:"JM"},{label:"Virgin Islands (US)",value:"VI"},{label:"Kyrgyzstan",value:"KG"},{label:"Latvia",value:"LV"},{label:"Nepal",value:"NP"},{label:"Zambia",value:"ZM"},{label:"Libya",value:"LY"},{label:"Namibia",value:"NA"},{label:"Reunion",value:"RE"},{label:"Qatar",value:"QA"},{label:"Russia",value:"RU"},{label:"Jersey",value:"JE"},{label:"Kuwait",value:"KW"},{label:"Lithuania",value:"LT"},{label:"Morocco",value:"MA"},{label:"Ireland",value:"IE"},{label:"Italy",value:"IT"},{label:"Myanmar",value:"MM"},{label:"Zimbabwe",value:"ZW"},{label:"Lesotho",value:"LS"},{label:"Yemen",value:"YE"},{label:"Romania",value:"RO"},{label:"Mozambique",value:"MZ"},{label:"Japan",value:"JP"},{label:"Jordan",value:"JO"},{label:"Kenya",value:"KE"},{label:"Venezuela",value:"VE"},{label:"Uzbekistan",value:"UZ"},{label:"Uruguay",value:"UY"},{label:"Sri Lanka",value:"LK"},{label:"Sudan",value:"SD"},{label:"Switzerland",value:"CH"},{label:"South Korea",value:"KR"},{label:"Suriname",value:"SR"},{label:"South Africa",value:"ZA"},{label:"Spain",value:"ES"},{label:"Taiwan",value:"TW"},{label:"Sweden",value:"SE"},{label:"Somalia",value:"SO"},{label:"Lebanon",value:"LB"},{label:"Singapore",value:"SG"}];var ro=V({auth:F,name:"google_trends_api",displayName:"Google Trends",description:"Access popular keyword and interest data from Google Trends.",audience:"both",aiMetadata:{description:"Fetches Google Trends data for one or more keywords via Scrapeless, with the data type selecting what to return (e.g. interest over time, compared breakdown by region, related queries). Choose this to analyze keyword popularity or interest trends over a date range. Note that interest_over_time and compared_breakdown_by_region accept up to 5 comma-separated queries while other data types accept only one. Read-only and idempotent with no side effects.",idempotent:!0},props:{q:m.ShortText({displayName:"Search Query",description:"Parameter defines the query or queries you want to search. You can use anything that you would use in a regular Google Trends search. The maximum number of queries per search is 5 (this only applies to `interest_over_time` and `compared_breakdown_by_region` data_type, other types of data will only accept 1 query per search).",defaultValue:"Mercedes-Benz,BMW X5",required:!0}),data_type:m.StaticDropdown({displayName:"Data Type",description:"Parameter defines the type of data you want to search. You can use anything that you would use in a regular Google Trends search. The maximum number of queries per search is 5 (this only applies to `interest_over_time` and `compared_breakdown_by_region` data_type, other types of data will only accept 1 query per search).",required:!0,defaultValue:"interest_over_time",options:{options:eo}}),date:m.ShortText({displayName:"Date",description:"The supported dates are: `now 1-H`, `now 4-H`, `now 1-d`, `now 7-d`, `today 1-m`, `today 3-m`, `today 12-m`, `today 5-y`, `all`.You can also pass custom values:Dates from 2004 to present: `yyyy-mm-dd yyyy-mm-dd` (e.g. `2021-10-15 2022-05-25`)\nDates with hours within a week range: `yyyy-mm-ddThh yyyy-mm-ddThh` (e.g. `2022-05-19T10 2022-05-24T22`). Hours will be calculated depending on the tz (time zone) parameter.",required:!0,defaultValue:"today 1-m"}),hl:m.ShortText({displayName:"Language",description:"Parameter defines the language to use for the Google Trends search. It's a two-letter language code. (e.g., `en` for English, `es` for Spanish, or `fr` for French).",required:!1,defaultValue:"en"}),tz:m.ShortText({displayName:"Time zone",description:"time zone offset. default is `420`.",required:!1,defaultValue:"420"})},async run({propsValue:e,auth:r}){try{let t=ee(r.secret_text),i={q:e.q,data_type:e.data_type,date:e.date,hl:e.hl,tz:e.tz},l=await t.deepserp.createTask({actor:"scraper.google.trends",input:i});if(l.status===200)return{success:!0,data:l.data||null};for(;;){await new Promise(T=>setTimeout(T,1e3));let P=await t.deepserp.getTaskResult(l.data.taskId);if(P.status===200)return{success:!0,data:P.data||null}}}catch(t){return{success:!1,error:t instanceof Error?t.message:"Unknown error occurred",error_type:t instanceof Error?t.constructor.name:"UnknownError",timestamp:new Date().toISOString()}}}});var oo=V({auth:F,name:"universal_scraping_api",displayName:"Universal Scraping",description:"Seamlessly accesses protected or dynamic pages by handling anti-scraping systems automatically.",audience:"both",aiMetadata:{description:"Scrapes a target URL through Scrapeless's web unlocker, which automatically bypasses anti-bot/anti-scraping protections and can render JavaScript-heavy pages headlessly via a chosen proxy country. Choose this over the basic scrape action when the page is protected, dynamic, or blocks ordinary scrapers; optional JS instructions and resource-blocking rules tune the render. Requires a target URL; read-only and idempotent with no side effects.",idempotent:!0},props:{url:m.ShortText({displayName:"Target URL",required:!0}),js_render:m.Checkbox({displayName:"Js Render",required:!1,defaultValue:!0}),headless:m.Checkbox({displayName:"Headless",required:!1,defaultValue:!0}),country:m.StaticDropdown({displayName:"Country",required:!1,defaultValue:"ANY",options:{options:to}}),js_instructions:m.Json({displayName:"Js Instructions",required:!1,defaultValue:[{wait:1e3}]}),block:m.Json({displayName:"Block",required:!1,defaultValue:{resources:["image","font","script"],urls:["https://example.com"]}})},async run({propsValue:e,auth:r}){try{let t=ee(r.secret_text),i={url:e.url,js_render:e.js_render,headless:e.headless,js_instructions:e.js_instructions,block:e.block},l={country:e.country};return{success:!0,data:await t.universal.scrape({actor:"unlocker.webunlocker",input:i,proxy:l})||null}}catch(t){return{success:!1,error:t instanceof Error?t.message:"Unknown error occurred"}}}});var Xn=Fr({displayName:"Scrapeless",description:"Scrapeless is an all-in-one and highly scalable web scraping toolkit for enterprises and developers.",auth:F,minimumSupportedRelease:"0.36.1",logoUrl:"https://cdn.activepieces.com/pieces/scrapeless.png",categories:["PRODUCTIVITY"],authors:["sunorains"],actions:[$r,Zr,Qr,ro,oo,Xr({auth:F,baseUrl:s(()=>"https://api.scrapeless.com/api/v1","baseUrl"),authMapping:s(async e=>({"x-api-token":e.secret_text}),"authMapping")})],triggers:[]});0&&(module.exports={scrapeless});
package/src/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare const scrapeless: import("@activepieces/pieces-framework").Piece<import("@activepieces/pieces-framework").SecretTextProperty<true>>;
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,UAAU,mHA0BrB,CAAC"}
package/src/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AAExE,uEAAkE;AAClE,6DAA4D;AAC5D,2DAA0D;AAC1D,uEAAkE;AAClE,iFAA4E;AAC5E,+DAAwE;AACxE,iDAAqD;AACrD,qCAA+C;AAElC,QAAA,UAAU,GAAG,IAAA,8BAAW,EAAC;IACpC,WAAW,EAAE,YAAY;IACzB,WAAW,EACT,sGAAsG;IACxG,IAAI,EAAE,wBAAiB;IACvB,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,oDAAoD;IAC7D,UAAU,EAAC,CAAC,sBAAa,CAAC,YAAY,CAAC;IACvC,OAAO,EAAE,CAAC,WAAW,CAAC;IACtB,OAAO,EAAE;QACP,mCAAe;QACf,6BAAc;QACd,2BAAa;QACb,mCAAe;QACf,6CAAoB;QACpB,IAAA,yCAAyB,EAAC;YACxB,IAAI,EAAC,wBAAiB;YACtB,OAAO,EAAC,GAAE,EAAE,CAAA,mCAAmC;YAC/C,WAAW,EAAC,CAAM,IAAI,EAAC,EAAE;gBACvB,OAAM;oBACJ,aAAa,EAAC,IAAI,CAAC,WAAW;iBAC/B,CAAA;YACH,CAAC,CAAA;SACF,CAAC;KACH;IACD,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC"}
@@ -1,5 +0,0 @@
1
- export declare const crawlCrawlApi: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
- url: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
- limit: import("@activepieces/pieces-framework").NumberProperty<true>;
4
- }>;
5
- //# sourceMappingURL=crawl-crawl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crawl-crawl.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/crawl-crawl.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa;;;EAgExB,CAAC"}
@@ -1,71 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.crawlCrawlApi = void 0;
4
- const tslib_1 = require("tslib");
5
- const auth_1 = require("../auth");
6
- const pieces_framework_1 = require("@activepieces/pieces-framework");
7
- const scrapeless_api_client_1 = require("../services/scrapeless-api-client");
8
- exports.crawlCrawlApi = (0, pieces_framework_1.createAction)({
9
- auth: auth_1.scrapelessApiAuth,
10
- name: 'crawl_crawl',
11
- displayName: 'Crawl Data from All Pages',
12
- description: 'Crawls a website and its linked pages to extract comprehensive data.',
13
- audience: 'both',
14
- aiMetadata: { description: 'Crawls a website starting from the given URL, following linked subpages up to a configurable page limit, and returns the extracted content from all visited pages. Choose this when you need data across multiple pages of a site rather than a single page (use the scrape action for one page). Requires a starting URL and a subpage limit; read-only and idempotent with no side effects.', idempotent: true },
15
- props: {
16
- url: pieces_framework_1.Property.ShortText({
17
- displayName: 'URL to Crawl',
18
- description: 'The URL of the webpage to crawl.',
19
- required: true,
20
- }),
21
- limit: pieces_framework_1.Property.Number({
22
- displayName: 'Limit',
23
- description: 'Number Of Subpages',
24
- required: true,
25
- defaultValue: 5,
26
- })
27
- },
28
- run(_a) {
29
- return tslib_1.__awaiter(this, arguments, void 0, function* ({ propsValue, auth }) {
30
- try {
31
- const client = (0, scrapeless_api_client_1.createScrapelessClient)(auth.secret_text);
32
- const url = propsValue.url;
33
- const limit = propsValue.limit;
34
- const browserOptions = {
35
- "proxy_country": "ANY",
36
- "session_name": "Crawl",
37
- "session_recording": true,
38
- "session_ttl": 900,
39
- };
40
- const response = yield client.scrapingCrawl.crawl.crawlUrl(url, {
41
- browserOptions,
42
- limit
43
- });
44
- if (response.status === 'completed' && response.data) {
45
- return {
46
- success: true,
47
- data: response.data || null,
48
- };
49
- }
50
- else {
51
- return {
52
- success: false,
53
- error: 'Scraping failed',
54
- error_type: 'ScrapingFailed',
55
- timestamp: new Date().toISOString(),
56
- };
57
- }
58
- }
59
- catch (error) {
60
- const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
61
- return {
62
- success: false,
63
- error: errorMessage,
64
- error_type: error instanceof Error ? error.constructor.name : 'UnknownError',
65
- timestamp: new Date().toISOString(),
66
- };
67
- }
68
- });
69
- },
70
- });
71
- //# sourceMappingURL=crawl-crawl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crawl-crawl.js","sourceRoot":"","sources":["../../../../src/lib/actions/crawl-crawl.ts"],"names":[],"mappings":";;;;AAAA,kCAA4C;AAC5C,qEAAwE;AACxE,6EAA2E;AAE9D,QAAA,aAAa,GAAG,IAAA,+BAAY,EAAC;IACxC,IAAI,EAAE,wBAAiB;IACvB,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,2BAA2B;IACxC,WAAW,EAAE,sEAAsE;IACnF,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,EAAE,WAAW,EAAE,+XAA+X,EAAE,UAAU,EAAE,IAAI,EAAE;IAC9a,KAAK,EAAE;QACL,GAAG,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACtB,WAAW,EAAE,cAAc;YAC3B,WAAW,EAAE,kCAAkC;YAC/C,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,KAAK,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,oBAAoB;YACjC,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,CAAC;SAChB,CAAC;KAEH;IACK,GAAG;qEAAC,EAAE,UAAU,EAAE,IAAI,EAAE;YAC5B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAA,8CAAsB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAExD,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;gBAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;gBAC/B,MAAM,cAAc,GAAG;oBACrB,eAAe,EAAE,KAAK;oBACtB,cAAc,EAAE,OAAO;oBACvB,mBAAmB,EAAE,IAAI;oBACzB,aAAa,EAAE,GAAG;iBACnB,CAAA;gBAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;oBAC9D,cAAc;oBACd,KAAK;iBACN,CAAC,CAAA;gBAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACrD,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI;qBAC5B,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,iBAAiB;wBACxB,UAAU,EAAE,gBAAgB;wBAC5B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC,CAAA;gBACH,CAAC;YAEH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;gBAEvF,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,YAAY;oBACnB,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc;oBAC5E,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare const crawlScrapeApi: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
- url: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
- }>;
4
- //# sourceMappingURL=crawl-scrape.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crawl-scrape.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/crawl-scrape.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc;;EAyDzB,CAAC"}
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.crawlScrapeApi = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const auth_1 = require("../auth");
7
- const scrapeless_api_client_1 = require("../services/scrapeless-api-client");
8
- exports.crawlScrapeApi = (0, pieces_framework_1.createAction)({
9
- auth: auth_1.scrapelessApiAuth,
10
- name: 'crawl_scrape',
11
- displayName: 'Scrape Webpage Data',
12
- description: 'Extracts data from a single webpage.',
13
- audience: 'both',
14
- aiMetadata: { description: 'Scrapes a single webpage at the given URL via Scrapeless and returns its extracted content. Choose this when you need the data from one specific page; for following links across a whole site use the crawl action instead. Requires a target URL; read-only and idempotent (no side effects, though live page content may change between calls).', idempotent: true },
15
- props: {
16
- url: pieces_framework_1.Property.ShortText({
17
- displayName: 'URL to Crawl',
18
- description: 'The URL of the webpage to scrape.',
19
- required: true,
20
- })
21
- },
22
- run(_a) {
23
- return tslib_1.__awaiter(this, arguments, void 0, function* ({ propsValue, auth }) {
24
- try {
25
- const client = (0, scrapeless_api_client_1.createScrapelessClient)(auth.secret_text);
26
- const url = propsValue.url;
27
- const browserOptions = {
28
- "proxy_country": "ANY",
29
- "session_name": "Crawl",
30
- "session_recording": true,
31
- "session_ttl": 900,
32
- };
33
- const response = yield client.scrapingCrawl.scrape.scrapeUrl(url, {
34
- browserOptions
35
- });
36
- if (response.status === 'completed' && response.data) {
37
- return {
38
- success: true,
39
- data: response.data || null,
40
- };
41
- }
42
- else {
43
- return {
44
- success: false,
45
- error: 'Scraping failed',
46
- error_type: 'ScrapingFailed',
47
- timestamp: new Date().toISOString(),
48
- };
49
- }
50
- }
51
- catch (error) {
52
- const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
53
- return {
54
- success: false,
55
- error: errorMessage,
56
- error_type: error instanceof Error ? error.constructor.name : 'UnknownError',
57
- timestamp: new Date().toISOString(),
58
- };
59
- }
60
- });
61
- },
62
- });
63
- //# sourceMappingURL=crawl-scrape.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crawl-scrape.js","sourceRoot":"","sources":["../../../../src/lib/actions/crawl-scrape.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,kCAA4C;AAC5C,6EAA2E;AAE9D,QAAA,cAAc,GAAG,IAAA,+BAAY,EAAC;IACzC,IAAI,EAAE,wBAAiB;IACvB,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,sCAAsC;IACnD,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,EAAE,WAAW,EAAE,oVAAoV,EAAE,UAAU,EAAE,IAAI,EAAE;IAGnY,KAAK,EAAE;QACL,GAAG,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACtB,WAAW,EAAE,cAAc;YAC3B,WAAW,EAAE,mCAAmC;YAChD,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACK,GAAG;qEAAC,EAAE,UAAU,EAAE,IAAI,EAAE;YAC5B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAA,8CAAsB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAExD,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;gBAC3B,MAAM,cAAc,GAAG;oBACrB,eAAe,EAAE,KAAK;oBACtB,cAAc,EAAE,OAAO;oBACvB,mBAAmB,EAAE,IAAI;oBACzB,aAAa,EAAE,GAAG;iBACnB,CAAA;gBAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;oBAChE,cAAc;iBACf,CAAC,CAAA;gBAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACrD,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI;qBAC5B,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,iBAAiB;wBACxB,UAAU,EAAE,gBAAgB;wBAC5B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC,CAAA;gBACH,CAAC;YAEH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;gBAEvF,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,YAAY;oBACnB,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc;oBAC5E,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- export declare const googleSearchApi: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
- q: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
- hl: import("@activepieces/pieces-framework").ShortTextProperty<false>;
4
- gl: import("@activepieces/pieces-framework").ShortTextProperty<false>;
5
- }>;
6
- //# sourceMappingURL=google-search-api.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google-search-api.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/google-search-api.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe;;;;EAyE1B,CAAC"}
@@ -1,77 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.googleSearchApi = void 0;
4
- const tslib_1 = require("tslib");
5
- const pieces_framework_1 = require("@activepieces/pieces-framework");
6
- const auth_1 = require("../auth");
7
- const scrapeless_api_client_1 = require("../services/scrapeless-api-client");
8
- exports.googleSearchApi = (0, pieces_framework_1.createAction)({
9
- auth: auth_1.scrapelessApiAuth,
10
- name: 'google_search_api',
11
- displayName: 'Google Search',
12
- description: 'Retrieves search result data for any query.',
13
- audience: 'both',
14
- aiMetadata: { description: 'Runs a Google web search through Scrapeless and returns the structured results (organic listings, etc.) for a given query. Choose this to programmatically fetch live Google search results when you need ranked web matches rather than scraping a specific page; supports Google advanced operators (site:, inurl:, intitle:) inside the query and optional language/country localization. Read-only and idempotent: the same query returns the same results with no side effects.', idempotent: true },
15
- props: {
16
- q: pieces_framework_1.Property.ShortText({
17
- displayName: 'Search Query',
18
- description: 'Parameter defines the query you want to search. You can use anything that you would use in a regular Google search. e.g. inurl:, site:, intitle:. We also support advanced search query parameters such as as_dt and as_eq.',
19
- defaultValue: 'coffee',
20
- required: true,
21
- }),
22
- hl: pieces_framework_1.Property.ShortText({
23
- displayName: 'Language',
24
- description: "Parameter defines the language to use for the Google search. It's a two-letter language code. (e.g., en for English, es for Spanish, or fr for French).",
25
- defaultValue: 'en',
26
- required: false,
27
- }),
28
- gl: pieces_framework_1.Property.ShortText({
29
- displayName: 'Country',
30
- description: "Parameter defines the country to use for the Google search. It's a two-letter country code. (e.g., us for the United States, uk for United Kingdom, or fr for France).",
31
- defaultValue: 'us',
32
- required: false,
33
- }),
34
- },
35
- run(_a) {
36
- return tslib_1.__awaiter(this, arguments, void 0, function* ({ propsValue, auth }) {
37
- try {
38
- const client = (0, scrapeless_api_client_1.createScrapelessClient)(auth.secret_text);
39
- const input = {
40
- q: propsValue.q,
41
- hl: propsValue.hl,
42
- gl: propsValue.gl,
43
- };
44
- const response = yield client.deepserp.createTask({
45
- actor: 'scraper.google.search',
46
- input,
47
- });
48
- if (response.status === 200) {
49
- return {
50
- success: true,
51
- data: response.data || null,
52
- };
53
- }
54
- while (true) {
55
- yield new Promise(resolve => setTimeout(resolve, 1000));
56
- const result = yield client.deepserp.getTaskResult(response.data.taskId);
57
- if (result.status === 200) {
58
- return {
59
- success: true,
60
- data: result.data || null,
61
- };
62
- }
63
- }
64
- }
65
- catch (error) {
66
- const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
67
- return {
68
- success: false,
69
- error: errorMessage,
70
- error_type: error instanceof Error ? error.constructor.name : 'UnknownError',
71
- timestamp: new Date().toISOString(),
72
- };
73
- }
74
- });
75
- },
76
- });
77
- //# sourceMappingURL=google-search-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google-search-api.js","sourceRoot":"","sources":["../../../../src/lib/actions/google-search-api.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,kCAA4C;AAC5C,6EAA2E;AAE9D,QAAA,eAAe,GAAG,IAAA,+BAAY,EAAC;IAC1C,IAAI,EAAE,wBAAiB;IACvB,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,6CAA6C;IAC1D,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,EAAE,WAAW,EAAE,sdAAsd,EAAE,UAAU,EAAE,IAAI,EAAE;IAErgB,KAAK,EAAE;QACL,CAAC,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACpB,WAAW,EAAE,cAAc;YAC3B,WAAW,EAAE,6NAA6N;YAC1O,YAAY,EAAE,QAAQ;YACtB,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,EAAE,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACrB,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,yJAAyJ;YACtK,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,EAAE,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACrB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,wKAAwK;YACrL,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IAEK,GAAG;qEAAC,EAAE,UAAU,EAAE,IAAI,EAAE;YAC5B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAA,8CAAsB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAExD,MAAM,KAAK,GAAG;oBACZ,CAAC,EAAE,UAAU,CAAC,CAAC;oBACf,EAAE,EAAE,UAAU,CAAC,EAAE;oBACjB,EAAE,EAAE,UAAU,CAAC,EAAE;iBAClB,CAAA;gBAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAChD,KAAK,EAAE,uBAAuB;oBAC9B,KAAK;iBACN,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC5B,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI;qBAC5B,CAAA;gBACH,CAAC;gBAED,OAAO,IAAI,EAAE,CAAC;oBACZ,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;oBACxD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAEzE,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;wBAC1B,OAAO;4BACL,OAAO,EAAE,IAAI;4BACb,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;yBAC1B,CAAA;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;gBAEvF,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,YAAY;oBACnB,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc;oBAC5E,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- export declare const googleTrendsApi: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
- q: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
- data_type: import("@activepieces/pieces-framework").StaticDropdownProperty<string, true>;
4
- date: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
- hl: import("@activepieces/pieces-framework").ShortTextProperty<false>;
6
- tz: import("@activepieces/pieces-framework").ShortTextProperty<false>;
7
- }>;
8
- //# sourceMappingURL=google-trends-api.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google-trends-api.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/google-trends-api.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe;;;;;;EA4F1B,CAAC"}
@@ -1,95 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.googleTrendsApi = void 0;
4
- const tslib_1 = require("tslib");
5
- const auth_1 = require("../auth");
6
- const pieces_framework_1 = require("@activepieces/pieces-framework");
7
- const constants_1 = require("../constants");
8
- const scrapeless_api_client_1 = require("../services/scrapeless-api-client");
9
- exports.googleTrendsApi = (0, pieces_framework_1.createAction)({
10
- auth: auth_1.scrapelessApiAuth,
11
- name: 'google_trends_api',
12
- displayName: 'Google Trends',
13
- description: 'Access popular keyword and interest data from Google Trends.',
14
- audience: 'both',
15
- aiMetadata: { description: 'Fetches Google Trends data for one or more keywords via Scrapeless, with the data type selecting what to return (e.g. interest over time, compared breakdown by region, related queries). Choose this to analyze keyword popularity or interest trends over a date range. Note that interest_over_time and compared_breakdown_by_region accept up to 5 comma-separated queries while other data types accept only one. Read-only and idempotent with no side effects.', idempotent: true },
16
- props: {
17
- q: pieces_framework_1.Property.ShortText({
18
- displayName: 'Search Query',
19
- description: 'Parameter defines the query or queries you want to search. You can use anything that you would use in a regular Google Trends search. The maximum number of queries per search is 5 (this only applies to `interest_over_time` and `compared_breakdown_by_region` data_type, other types of data will only accept 1 query per search).',
20
- defaultValue: 'Mercedes-Benz,BMW X5',
21
- required: true,
22
- }),
23
- data_type: pieces_framework_1.Property.StaticDropdown({
24
- displayName: 'Data Type',
25
- description: 'Parameter defines the type of data you want to search. You can use anything that you would use in a regular Google Trends search. The maximum number of queries per search is 5 (this only applies to `interest_over_time` and `compared_breakdown_by_region` data_type, other types of data will only accept 1 query per search).',
26
- required: true,
27
- defaultValue: 'interest_over_time',
28
- options: {
29
- options: constants_1.googleTrendsDataTypeOptions,
30
- },
31
- }),
32
- date: pieces_framework_1.Property.ShortText({
33
- displayName: 'Date',
34
- description: "The supported dates are: `now 1-H`, `now 4-H`, `now 1-d`, `now 7-d`, `today 1-m`, `today 3-m`, `today 12-m`, `today 5-y`, `all`.You can also pass custom values:Dates from 2004 to present: `yyyy-mm-dd yyyy-mm-dd` (e.g. `2021-10-15 2022-05-25`)\nDates with hours within a week range: `yyyy-mm-ddThh yyyy-mm-ddThh` (e.g. `2022-05-19T10 2022-05-24T22`). Hours will be calculated depending on the tz (time zone) parameter.",
35
- required: true,
36
- defaultValue: 'today 1-m',
37
- }),
38
- hl: pieces_framework_1.Property.ShortText({
39
- displayName: 'Language',
40
- description: "Parameter defines the language to use for the Google Trends search. It's a two-letter language code. (e.g., `en` for English, `es` for Spanish, or `fr` for French).",
41
- required: false,
42
- defaultValue: 'en',
43
- }),
44
- tz: pieces_framework_1.Property.ShortText({
45
- displayName: 'Time zone',
46
- description: "time zone offset. default is `420`.",
47
- required: false,
48
- defaultValue: '420',
49
- }),
50
- },
51
- run(_a) {
52
- return tslib_1.__awaiter(this, arguments, void 0, function* ({ propsValue, auth }) {
53
- try {
54
- const client = (0, scrapeless_api_client_1.createScrapelessClient)(auth.secret_text);
55
- const input = {
56
- q: propsValue.q,
57
- data_type: propsValue.data_type,
58
- date: propsValue.date,
59
- hl: propsValue.hl,
60
- tz: propsValue.tz,
61
- };
62
- const response = yield client.deepserp.createTask({
63
- actor: 'scraper.google.trends',
64
- input,
65
- });
66
- if (response.status === 200) {
67
- return {
68
- success: true,
69
- data: response.data || null,
70
- };
71
- }
72
- while (true) {
73
- yield new Promise(resolve => setTimeout(resolve, 1000));
74
- const result = yield client.deepserp.getTaskResult(response.data.taskId);
75
- if (result.status === 200) {
76
- return {
77
- success: true,
78
- data: result.data || null,
79
- };
80
- }
81
- }
82
- }
83
- catch (error) {
84
- const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
85
- return {
86
- success: false,
87
- error: errorMessage,
88
- error_type: error instanceof Error ? error.constructor.name : 'UnknownError',
89
- timestamp: new Date().toISOString(),
90
- };
91
- }
92
- });
93
- },
94
- });
95
- //# sourceMappingURL=google-trends-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"google-trends-api.js","sourceRoot":"","sources":["../../../../src/lib/actions/google-trends-api.ts"],"names":[],"mappings":";;;;AAAA,kCAA4C;AAC5C,qEAAwE;AACxE,4CAA2D;AAC3D,6EAA2E;AAE9D,QAAA,eAAe,GAAG,IAAA,+BAAY,EAAC;IAC1C,IAAI,EAAE,wBAAiB;IACvB,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,8DAA8D;IAC3E,QAAQ,EAAE,MAAM;IAChB,UAAU,EAAE,EAAE,WAAW,EAAE,ucAAuc,EAAE,UAAU,EAAE,IAAI,EAAE;IAEtf,KAAK,EAAE;QACL,CAAC,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACpB,WAAW,EAAE,cAAc;YAC3B,WAAW,EAAE,wUAAwU;YACrV,YAAY,EAAE,sBAAsB;YACpC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,SAAS,EAAE,2BAAQ,CAAC,cAAc,CAAC;YACjC,WAAW,EAAE,WAAW;YACxB,WAAW,EAAE,oUAAoU;YACjV,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,oBAAoB;YAClC,OAAO,EAAE;gBACP,OAAO,EAAE,uCAA2B;aACrC;SACF,CAAC;QACF,IAAI,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACvB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,maAAma;YAChb,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,WAAW;SAC1B,CAAC;QACF,EAAE,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACrB,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,sKAAsK;YACnL,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,IAAI;SACnB,CAAC;QACF,EAAE,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACrB,WAAW,EAAE,WAAW;YACxB,WAAW,EAAE,qCAAqC;YAClD,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;SACpB,CAAC;KAIH;IACK,GAAG;qEAAC,EAAE,UAAU,EAAE,IAAI,EAAE;YAC5B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAA,8CAAsB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAExD,MAAM,KAAK,GAAG;oBACZ,CAAC,EAAE,UAAU,CAAC,CAAC;oBACf,SAAS,EAAE,UAAU,CAAC,SAAS;oBAC/B,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,EAAE,EAAE,UAAU,CAAC,EAAE;oBACjB,EAAE,EAAE,UAAU,CAAC,EAAE;iBAClB,CAAA;gBAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAChD,KAAK,EAAE,uBAAuB;oBAC9B,KAAK;iBACN,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC5B,OAAO;wBACL,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI;qBAC5B,CAAA;gBACH,CAAC;gBAED,OAAO,IAAI,EAAE,CAAC;oBACZ,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;oBACxD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAEzE,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;wBAC1B,OAAO;4BACL,OAAO,EAAE,IAAI;4BACb,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;yBAC1B,CAAA;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;gBAEvF,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,YAAY;oBACnB,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc;oBAC5E,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC;YACJ,CAAC;QACH,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- export declare const universalScrapingApi: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
- url: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
- js_render: import("@activepieces/pieces-framework").CheckboxProperty<false>;
4
- headless: import("@activepieces/pieces-framework").CheckboxProperty<false>;
5
- country: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
6
- js_instructions: import("@activepieces/pieces-framework").JsonProperty<false>;
7
- block: import("@activepieces/pieces-framework").JsonProperty<false>;
8
- }>;
9
- //# sourceMappingURL=universal-scraping-api.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"universal-scraping-api.d.ts","sourceRoot":"","sources":["../../../../src/lib/actions/universal-scraping-api.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,oBAAoB;;;;;;;EA6E/B,CAAC"}