@nodetool-ai/base-nodes 0.7.0-rc.22 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -0
- package/dist/.nodetool-build-stamp +1 -0
- package/dist/index.d.ts +61 -67
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +179 -173
- package/dist/index.js.map +1 -1
- package/dist/platforms/browser.d.ts +19 -0
- package/dist/platforms/browser.d.ts.map +1 -0
- package/dist/platforms/browser.js +29 -0
- package/dist/platforms/browser.js.map +1 -0
- package/package.json +53 -65
- package/dist/lib/audio-wav.d.ts +0 -66
- package/dist/lib/audio-wav.d.ts.map +0 -1
- package/dist/lib/audio-wav.js +0 -215
- package/dist/lib/audio-wav.js.map +0 -1
- package/dist/nodes/agent-tool-hydration.d.ts +0 -10
- package/dist/nodes/agent-tool-hydration.d.ts.map +0 -1
- package/dist/nodes/agent-tool-hydration.js +0 -43
- package/dist/nodes/agent-tool-hydration.js.map +0 -1
- package/dist/nodes/agents.d.ts +0 -262
- package/dist/nodes/agents.d.ts.map +0 -1
- package/dist/nodes/agents.js +0 -2856
- package/dist/nodes/agents.js.map +0 -1
- package/dist/nodes/anthropic.d.ts +0 -26
- package/dist/nodes/anthropic.d.ts.map +0 -1
- package/dist/nodes/anthropic.js +0 -133
- package/dist/nodes/anthropic.js.map +0 -1
- package/dist/nodes/apify.d.ts +0 -120
- package/dist/nodes/apify.d.ts.map +0 -1
- package/dist/nodes/apify.js +0 -618
- package/dist/nodes/apify.js.map +0 -1
- package/dist/nodes/audio.d.ts +0 -301
- package/dist/nodes/audio.d.ts.map +0 -1
- package/dist/nodes/audio.js +0 -1274
- package/dist/nodes/audio.js.map +0 -1
- package/dist/nodes/code-node.d.ts +0 -34
- package/dist/nodes/code-node.d.ts.map +0 -1
- package/dist/nodes/code-node.js +0 -343
- package/dist/nodes/code-node.js.map +0 -1
- package/dist/nodes/code.d.ts +0 -301
- package/dist/nodes/code.d.ts.map +0 -1
- package/dist/nodes/code.js +0 -850
- package/dist/nodes/code.js.map +0 -1
- package/dist/nodes/compare.d.ts +0 -18
- package/dist/nodes/compare.d.ts.map +0 -1
- package/dist/nodes/compare.js +0 -122
- package/dist/nodes/compare.js.map +0 -1
- package/dist/nodes/constant.d.ts +0 -315
- package/dist/nodes/constant.d.ts.map +0 -1
- package/dist/nodes/constant.js +0 -715
- package/dist/nodes/constant.js.map +0 -1
- package/dist/nodes/control.d.ts +0 -83
- package/dist/nodes/control.d.ts.map +0 -1
- package/dist/nodes/control.js +0 -212
- package/dist/nodes/control.js.map +0 -1
- package/dist/nodes/data.d.ts +0 -369
- package/dist/nodes/data.d.ts.map +0 -1
- package/dist/nodes/data.js +0 -1590
- package/dist/nodes/data.js.map +0 -1
- package/dist/nodes/document.d.ts +0 -134
- package/dist/nodes/document.d.ts.map +0 -1
- package/dist/nodes/document.js +0 -984
- package/dist/nodes/document.js.map +0 -1
- package/dist/nodes/extended-placeholders.d.ts +0 -6
- package/dist/nodes/extended-placeholders.d.ts.map +0 -1
- package/dist/nodes/extended-placeholders.js +0 -19
- package/dist/nodes/extended-placeholders.js.map +0 -1
- package/dist/nodes/gemini.d.ts +0 -110
- package/dist/nodes/gemini.d.ts.map +0 -1
- package/dist/nodes/gemini.js +0 -871
- package/dist/nodes/gemini.js.map +0 -1
- package/dist/nodes/generators.d.ts +0 -84
- package/dist/nodes/generators.d.ts.map +0 -1
- package/dist/nodes/generators.js +0 -968
- package/dist/nodes/generators.js.map +0 -1
- package/dist/nodes/image.d.ts +0 -232
- package/dist/nodes/image.d.ts.map +0 -1
- package/dist/nodes/image.js +0 -1395
- package/dist/nodes/image.js.map +0 -1
- package/dist/nodes/input.d.ts +0 -445
- package/dist/nodes/input.d.ts.map +0 -1
- package/dist/nodes/input.js +0 -1459
- package/dist/nodes/input.js.map +0 -1
- package/dist/nodes/kie-dynamic.d.ts +0 -31
- package/dist/nodes/kie-dynamic.d.ts.map +0 -1
- package/dist/nodes/kie-dynamic.js +0 -270
- package/dist/nodes/kie-dynamic.js.map +0 -1
- package/dist/nodes/lib-audio-dsp.d.ts +0 -85
- package/dist/nodes/lib-audio-dsp.d.ts.map +0 -1
- package/dist/nodes/lib-audio-dsp.js +0 -450
- package/dist/nodes/lib-audio-dsp.js.map +0 -1
- package/dist/nodes/lib-audio-effects.d.ts +0 -116
- package/dist/nodes/lib-audio-effects.d.ts.map +0 -1
- package/dist/nodes/lib-audio-effects.js +0 -905
- package/dist/nodes/lib-audio-effects.js.map +0 -1
- package/dist/nodes/lib-browser.d.ts +0 -99
- package/dist/nodes/lib-browser.d.ts.map +0 -1
- package/dist/nodes/lib-browser.js +0 -692
- package/dist/nodes/lib-browser.js.map +0 -1
- package/dist/nodes/lib-charts.d.ts +0 -20
- package/dist/nodes/lib-charts.d.ts.map +0 -1
- package/dist/nodes/lib-charts.js +0 -245
- package/dist/nodes/lib-charts.js.map +0 -1
- package/dist/nodes/lib-datetime.d.ts +0 -108
- package/dist/nodes/lib-datetime.d.ts.map +0 -1
- package/dist/nodes/lib-datetime.js +0 -421
- package/dist/nodes/lib-datetime.js.map +0 -1
- package/dist/nodes/lib-doc-convert.d.ts +0 -19
- package/dist/nodes/lib-doc-convert.d.ts.map +0 -1
- package/dist/nodes/lib-doc-convert.js +0 -257
- package/dist/nodes/lib-doc-convert.js.map +0 -1
- package/dist/nodes/lib-doc-transform.d.ts +0 -39
- package/dist/nodes/lib-doc-transform.d.ts.map +0 -1
- package/dist/nodes/lib-doc-transform.js +0 -335
- package/dist/nodes/lib-doc-transform.js.map +0 -1
- package/dist/nodes/lib-docx.d.ts +0 -106
- package/dist/nodes/lib-docx.d.ts.map +0 -1
- package/dist/nodes/lib-docx.js +0 -595
- package/dist/nodes/lib-docx.js.map +0 -1
- package/dist/nodes/lib-epub.d.ts +0 -55
- package/dist/nodes/lib-epub.d.ts.map +0 -1
- package/dist/nodes/lib-epub.js +0 -220
- package/dist/nodes/lib-epub.js.map +0 -1
- package/dist/nodes/lib-excel.d.ts +0 -74
- package/dist/nodes/lib-excel.d.ts.map +0 -1
- package/dist/nodes/lib-excel.js +0 -448
- package/dist/nodes/lib-excel.js.map +0 -1
- package/dist/nodes/lib-graphql.d.ts +0 -66
- package/dist/nodes/lib-graphql.d.ts.map +0 -1
- package/dist/nodes/lib-graphql.js +0 -333
- package/dist/nodes/lib-graphql.js.map +0 -1
- package/dist/nodes/lib-grid.d.ts +0 -27
- package/dist/nodes/lib-grid.d.ts.map +0 -1
- package/dist/nodes/lib-grid.js +0 -172
- package/dist/nodes/lib-grid.js.map +0 -1
- package/dist/nodes/lib-html-parse.d.ts +0 -108
- package/dist/nodes/lib-html-parse.d.ts.map +0 -1
- package/dist/nodes/lib-html-parse.js +0 -365
- package/dist/nodes/lib-html-parse.js.map +0 -1
- package/dist/nodes/lib-http.d.ts +0 -98
- package/dist/nodes/lib-http.d.ts.map +0 -1
- package/dist/nodes/lib-http.js +0 -267
- package/dist/nodes/lib-http.js.map +0 -1
- package/dist/nodes/lib-image-color-grading.d.ts +0 -3
- package/dist/nodes/lib-image-color-grading.d.ts.map +0 -1
- package/dist/nodes/lib-image-color-grading.js +0 -1386
- package/dist/nodes/lib-image-color-grading.js.map +0 -1
- package/dist/nodes/lib-image-draw.d.ts +0 -3
- package/dist/nodes/lib-image-draw.d.ts.map +0 -1
- package/dist/nodes/lib-image-draw.js +0 -470
- package/dist/nodes/lib-image-draw.js.map +0 -1
- package/dist/nodes/lib-image-enhance.d.ts +0 -3
- package/dist/nodes/lib-image-enhance.d.ts.map +0 -1
- package/dist/nodes/lib-image-enhance.js +0 -731
- package/dist/nodes/lib-image-enhance.js.map +0 -1
- package/dist/nodes/lib-image-filter.d.ts +0 -3
- package/dist/nodes/lib-image-filter.d.ts.map +0 -1
- package/dist/nodes/lib-image-filter.js +0 -684
- package/dist/nodes/lib-image-filter.js.map +0 -1
- package/dist/nodes/lib-image-utils.d.ts +0 -24
- package/dist/nodes/lib-image-utils.d.ts.map +0 -1
- package/dist/nodes/lib-image-utils.js +0 -150
- package/dist/nodes/lib-image-utils.js.map +0 -1
- package/dist/nodes/lib-mail.d.ts +0 -74
- package/dist/nodes/lib-mail.d.ts.map +0 -1
- package/dist/nodes/lib-mail.js +0 -452
- package/dist/nodes/lib-mail.js.map +0 -1
- package/dist/nodes/lib-markdown.d.ts +0 -70
- package/dist/nodes/lib-markdown.d.ts.map +0 -1
- package/dist/nodes/lib-markdown.js +0 -236
- package/dist/nodes/lib-markdown.js.map +0 -1
- package/dist/nodes/lib-nlp.d.ts +0 -98
- package/dist/nodes/lib-nlp.d.ts.map +0 -1
- package/dist/nodes/lib-nlp.js +0 -374
- package/dist/nodes/lib-nlp.js.map +0 -1
- package/dist/nodes/lib-notion.d.ts +0 -99
- package/dist/nodes/lib-notion.d.ts.map +0 -1
- package/dist/nodes/lib-notion.js +0 -601
- package/dist/nodes/lib-notion.js.map +0 -1
- package/dist/nodes/lib-ocr.d.ts +0 -31
- package/dist/nodes/lib-ocr.d.ts.map +0 -1
- package/dist/nodes/lib-ocr.js +0 -143
- package/dist/nodes/lib-ocr.js.map +0 -1
- package/dist/nodes/lib-os.d.ts +0 -312
- package/dist/nodes/lib-os.d.ts.map +0 -1
- package/dist/nodes/lib-os.js +0 -909
- package/dist/nodes/lib-os.js.map +0 -1
- package/dist/nodes/lib-pdf.d.ts +0 -142
- package/dist/nodes/lib-pdf.d.ts.map +0 -1
- package/dist/nodes/lib-pdf.js +0 -871
- package/dist/nodes/lib-pdf.js.map +0 -1
- package/dist/nodes/lib-pptx.d.ts +0 -29
- package/dist/nodes/lib-pptx.d.ts.map +0 -1
- package/dist/nodes/lib-pptx.js +0 -122
- package/dist/nodes/lib-pptx.js.map +0 -1
- package/dist/nodes/lib-rss.d.ts +0 -31
- package/dist/nodes/lib-rss.d.ts.map +0 -1
- package/dist/nodes/lib-rss.js +0 -163
- package/dist/nodes/lib-rss.js.map +0 -1
- package/dist/nodes/lib-s3.d.ts +0 -112
- package/dist/nodes/lib-s3.d.ts.map +0 -1
- package/dist/nodes/lib-s3.js +0 -521
- package/dist/nodes/lib-s3.js.map +0 -1
- package/dist/nodes/lib-secret.d.ts +0 -15
- package/dist/nodes/lib-secret.d.ts.map +0 -1
- package/dist/nodes/lib-secret.js +0 -42
- package/dist/nodes/lib-secret.js.map +0 -1
- package/dist/nodes/lib-sqlite.d.ts +0 -102
- package/dist/nodes/lib-sqlite.d.ts.map +0 -1
- package/dist/nodes/lib-sqlite.js +0 -532
- package/dist/nodes/lib-sqlite.js.map +0 -1
- package/dist/nodes/lib-supabase.d.ts +0 -86
- package/dist/nodes/lib-supabase.d.ts.map +0 -1
- package/dist/nodes/lib-supabase.js +0 -425
- package/dist/nodes/lib-supabase.js.map +0 -1
- package/dist/nodes/lib-svg.d.ts +0 -199
- package/dist/nodes/lib-svg.d.ts.map +0 -1
- package/dist/nodes/lib-svg.js +0 -1027
- package/dist/nodes/lib-svg.js.map +0 -1
- package/dist/nodes/lib-tensorflow.d.ts +0 -71
- package/dist/nodes/lib-tensorflow.d.ts.map +0 -1
- package/dist/nodes/lib-tensorflow.js +0 -351
- package/dist/nodes/lib-tensorflow.js.map +0 -1
- package/dist/nodes/lib-twilio.d.ts +0 -71
- package/dist/nodes/lib-twilio.d.ts.map +0 -1
- package/dist/nodes/lib-twilio.js +0 -469
- package/dist/nodes/lib-twilio.js.map +0 -1
- package/dist/nodes/lib-validate.d.ts +0 -84
- package/dist/nodes/lib-validate.d.ts.map +0 -1
- package/dist/nodes/lib-validate.js +0 -215
- package/dist/nodes/lib-validate.js.map +0 -1
- package/dist/nodes/lib-video-download.d.ts +0 -26
- package/dist/nodes/lib-video-download.d.ts.map +0 -1
- package/dist/nodes/lib-video-download.js +0 -299
- package/dist/nodes/lib-video-download.js.map +0 -1
- package/dist/nodes/messaging.d.ts +0 -88
- package/dist/nodes/messaging.d.ts.map +0 -1
- package/dist/nodes/messaging.js +0 -418
- package/dist/nodes/messaging.js.map +0 -1
- package/dist/nodes/mistral.d.ts +0 -83
- package/dist/nodes/mistral.d.ts.map +0 -1
- package/dist/nodes/mistral.js +0 -450
- package/dist/nodes/mistral.js.map +0 -1
- package/dist/nodes/model3d/analysis.d.ts +0 -13
- package/dist/nodes/model3d/analysis.d.ts.map +0 -1
- package/dist/nodes/model3d/analysis.js +0 -36
- package/dist/nodes/model3d/analysis.js.map +0 -1
- package/dist/nodes/model3d/base.d.ts +0 -11
- package/dist/nodes/model3d/base.d.ts.map +0 -1
- package/dist/nodes/model3d/base.js +0 -20
- package/dist/nodes/model3d/base.js.map +0 -1
- package/dist/nodes/model3d/boolean-ops.d.ts +0 -2
- package/dist/nodes/model3d/boolean-ops.d.ts.map +0 -1
- package/dist/nodes/model3d/boolean-ops.js +0 -172
- package/dist/nodes/model3d/boolean-ops.js.map +0 -1
- package/dist/nodes/model3d/cleanup.d.ts +0 -47
- package/dist/nodes/model3d/cleanup.d.ts.map +0 -1
- package/dist/nodes/model3d/cleanup.js +0 -136
- package/dist/nodes/model3d/cleanup.js.map +0 -1
- package/dist/nodes/model3d/convert.d.ts +0 -14
- package/dist/nodes/model3d/convert.d.ts.map +0 -1
- package/dist/nodes/model3d/convert.js +0 -64
- package/dist/nodes/model3d/convert.js.map +0 -1
- package/dist/nodes/model3d/defaults.d.ts +0 -34
- package/dist/nodes/model3d/defaults.d.ts.map +0 -1
- package/dist/nodes/model3d/defaults.js +0 -28
- package/dist/nodes/model3d/defaults.js.map +0 -1
- package/dist/nodes/model3d/document-ops.d.ts +0 -4
- package/dist/nodes/model3d/document-ops.d.ts.map +0 -1
- package/dist/nodes/model3d/document-ops.js +0 -40
- package/dist/nodes/model3d/document-ops.js.map +0 -1
- package/dist/nodes/model3d/generation.d.ts +0 -39
- package/dist/nodes/model3d/generation.d.ts.map +0 -1
- package/dist/nodes/model3d/generation.js +0 -179
- package/dist/nodes/model3d/generation.js.map +0 -1
- package/dist/nodes/model3d/glb.d.ts +0 -29
- package/dist/nodes/model3d/glb.d.ts.map +0 -1
- package/dist/nodes/model3d/glb.js +0 -255
- package/dist/nodes/model3d/glb.js.map +0 -1
- package/dist/nodes/model3d/index.d.ts +0 -20
- package/dist/nodes/model3d/index.d.ts.map +0 -1
- package/dist/nodes/model3d/index.js +0 -38
- package/dist/nodes/model3d/index.js.map +0 -1
- package/dist/nodes/model3d/io.d.ts +0 -38
- package/dist/nodes/model3d/io.d.ts.map +0 -1
- package/dist/nodes/model3d/io.js +0 -162
- package/dist/nodes/model3d/io.js.map +0 -1
- package/dist/nodes/model3d/mesh-ops.d.ts +0 -40
- package/dist/nodes/model3d/mesh-ops.d.ts.map +0 -1
- package/dist/nodes/model3d/mesh-ops.js +0 -775
- package/dist/nodes/model3d/mesh-ops.js.map +0 -1
- package/dist/nodes/model3d/nodes.d.ts +0 -2
- package/dist/nodes/model3d/nodes.d.ts.map +0 -1
- package/dist/nodes/model3d/nodes.js +0 -2
- package/dist/nodes/model3d/nodes.js.map +0 -1
- package/dist/nodes/model3d/ops.d.ts +0 -37
- package/dist/nodes/model3d/ops.d.ts.map +0 -1
- package/dist/nodes/model3d/ops.js +0 -137
- package/dist/nodes/model3d/ops.js.map +0 -1
- package/dist/nodes/model3d/transforms.d.ts +0 -49
- package/dist/nodes/model3d/transforms.d.ts.map +0 -1
- package/dist/nodes/model3d/transforms.js +0 -142
- package/dist/nodes/model3d/transforms.js.map +0 -1
- package/dist/nodes/model3d/types.d.ts +0 -81
- package/dist/nodes/model3d/types.d.ts.map +0 -1
- package/dist/nodes/model3d/types.js +0 -2
- package/dist/nodes/model3d/types.js.map +0 -1
- package/dist/nodes/model3d/utils.d.ts +0 -34
- package/dist/nodes/model3d/utils.d.ts.map +0 -1
- package/dist/nodes/model3d/utils.js +0 -185
- package/dist/nodes/model3d/utils.js.map +0 -1
- package/dist/nodes/model3d.d.ts +0 -2
- package/dist/nodes/model3d.d.ts.map +0 -1
- package/dist/nodes/model3d.js +0 -2
- package/dist/nodes/model3d.js.map +0 -1
- package/dist/nodes/openai.d.ts +0 -172
- package/dist/nodes/openai.d.ts.map +0 -1
- package/dist/nodes/openai.js +0 -1294
- package/dist/nodes/openai.js.map +0 -1
- package/dist/nodes/output.d.ts +0 -29
- package/dist/nodes/output.d.ts.map +0 -1
- package/dist/nodes/output.js +0 -87
- package/dist/nodes/output.js.map +0 -1
- package/dist/nodes/sandbox.d.ts +0 -63
- package/dist/nodes/sandbox.d.ts.map +0 -1
- package/dist/nodes/sandbox.js +0 -633
- package/dist/nodes/sandbox.js.map +0 -1
- package/dist/nodes/search.d.ts +0 -117
- package/dist/nodes/search.d.ts.map +0 -1
- package/dist/nodes/search.js +0 -607
- package/dist/nodes/search.js.map +0 -1
- package/dist/nodes/team.d.ts +0 -74
- package/dist/nodes/team.d.ts.map +0 -1
- package/dist/nodes/team.js +0 -309
- package/dist/nodes/team.js.map +0 -1
- package/dist/nodes/text-extra.d.ts +0 -633
- package/dist/nodes/text-extra.d.ts.map +0 -1
- package/dist/nodes/text-extra.js +0 -2226
- package/dist/nodes/text-extra.js.map +0 -1
- package/dist/nodes/tool-agents.d.ts +0 -334
- package/dist/nodes/tool-agents.d.ts.map +0 -1
- package/dist/nodes/tool-agents.js +0 -1861
- package/dist/nodes/tool-agents.js.map +0 -1
- package/dist/nodes/triggers.d.ts +0 -107
- package/dist/nodes/triggers.d.ts.map +0 -1
- package/dist/nodes/triggers.js +0 -706
- package/dist/nodes/triggers.js.map +0 -1
- package/dist/nodes/vector.d.ts +0 -168
- package/dist/nodes/vector.d.ts.map +0 -1
- package/dist/nodes/vector.js +0 -1121
- package/dist/nodes/vector.js.map +0 -1
- package/dist/nodes/video.d.ts +0 -387
- package/dist/nodes/video.d.ts.map +0 -1
- package/dist/nodes/video.js +0 -2383
- package/dist/nodes/video.js.map +0 -1
- package/dist/nodes/workflow.d.ts +0 -24
- package/dist/nodes/workflow.d.ts.map +0 -1
- package/dist/nodes/workflow.js +0 -146
- package/dist/nodes/workflow.js.map +0 -1
- package/dist/nodes/workspace.d.ts +0 -203
- package/dist/nodes/workspace.d.ts.map +0 -1
- package/dist/nodes/workspace.js +0 -795
- package/dist/nodes/workspace.js.map +0 -1
package/dist/nodes/apify.js
DELETED
|
@@ -1,618 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { BaseNode, prop } from "@nodetool-ai/node-sdk";
|
|
8
|
-
// Constants
|
|
9
|
-
const DEFAULT_PAGE_FUNCTION = "async function pageFunction(context) { return context.request.loadedUrl; }";
|
|
10
|
-
const MIN_RESULTS_PER_PAGE = 10;
|
|
11
|
-
const MAX_RESULTS_PER_PAGE = 100;
|
|
12
|
-
const APIFY_API_BASE = "https://api.apify.com/v2";
|
|
13
|
-
function getApifyApiKey(secrets) {
|
|
14
|
-
const key = secrets.APIFY_API_TOKEN || process.env.APIFY_API_TOKEN;
|
|
15
|
-
if (!key)
|
|
16
|
-
throw new Error("APIFY_API_TOKEN not configured");
|
|
17
|
-
return key;
|
|
18
|
-
}
|
|
19
|
-
async function runActor(apiKey, actorId, input, waitSecs) {
|
|
20
|
-
const encodedActorId = actorId.replace("/", "~");
|
|
21
|
-
const url = `${APIFY_API_BASE}/acts/${encodedActorId}/runs?waitForFinish=${waitSecs}`;
|
|
22
|
-
const response = await fetch(url, {
|
|
23
|
-
method: "POST",
|
|
24
|
-
headers: {
|
|
25
|
-
"Content-Type": "application/json",
|
|
26
|
-
Authorization: `Bearer ${apiKey}`
|
|
27
|
-
},
|
|
28
|
-
body: JSON.stringify(input)
|
|
29
|
-
});
|
|
30
|
-
if (!response.ok) {
|
|
31
|
-
const text = await response.text();
|
|
32
|
-
throw new Error(`Apify API error (${response.status}): ${text}`);
|
|
33
|
-
}
|
|
34
|
-
const run = (await response.json());
|
|
35
|
-
const datasetId = run.data?.defaultDatasetId;
|
|
36
|
-
if (!datasetId)
|
|
37
|
-
return [];
|
|
38
|
-
const datasetUrl = `${APIFY_API_BASE}/datasets/${datasetId}/items?format=json`;
|
|
39
|
-
const datasetResponse = await fetch(datasetUrl, {
|
|
40
|
-
headers: { Authorization: `Bearer ${apiKey}` }
|
|
41
|
-
});
|
|
42
|
-
if (!datasetResponse.ok)
|
|
43
|
-
return [];
|
|
44
|
-
return (await datasetResponse.json());
|
|
45
|
-
}
|
|
46
|
-
// ---------------------------------------------------------------------------
|
|
47
|
-
// 1. ApifyWebScraper
|
|
48
|
-
// ---------------------------------------------------------------------------
|
|
49
|
-
export class ApifyWebScraperNode extends BaseNode {
|
|
50
|
-
static nodeType = "apify.scraping.ApifyWebScraper";
|
|
51
|
-
static title = "Apify Web Scraper";
|
|
52
|
-
static description = "Scrape websites using Apify's Web Scraper actor.\n Extracts data from web pages using CSS selectors or custom JavaScript.\n apify, scraping, web, data, extraction, crawler";
|
|
53
|
-
static metadataOutputTypes = {
|
|
54
|
-
output: "list[dict[str, any]]"
|
|
55
|
-
};
|
|
56
|
-
static requiredSettings = ["APIFY_API_TOKEN"];
|
|
57
|
-
static exposeAsTool = true;
|
|
58
|
-
async process() {
|
|
59
|
-
const apiKey = getApifyApiKey(this._secrets);
|
|
60
|
-
const startUrls = this.start_urls ?? [];
|
|
61
|
-
if (startUrls.length === 0)
|
|
62
|
-
throw new Error("start_urls is required");
|
|
63
|
-
const pageFunction = String(this.page_function ?? "") || DEFAULT_PAGE_FUNCTION;
|
|
64
|
-
const runInput = {
|
|
65
|
-
startUrls: startUrls.map((url) => ({ url })),
|
|
66
|
-
linkSelector: String(this.link_selector ?? "a[href]"),
|
|
67
|
-
pageFunction,
|
|
68
|
-
maxPagesPerCrawl: Number(this.max_pages ?? 10)
|
|
69
|
-
};
|
|
70
|
-
const items = await runActor(apiKey, "apify/web-scraper", runInput, Number(this.wait_for_finish ?? 300));
|
|
71
|
-
return { output: items };
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
__decorate([
|
|
75
|
-
prop({
|
|
76
|
-
type: "list[str]",
|
|
77
|
-
default: null,
|
|
78
|
-
title: "Start Urls",
|
|
79
|
-
description: "List of URLs to scrape",
|
|
80
|
-
required: true
|
|
81
|
-
})
|
|
82
|
-
], ApifyWebScraperNode.prototype, "start_urls", void 0);
|
|
83
|
-
__decorate([
|
|
84
|
-
prop({
|
|
85
|
-
type: "str",
|
|
86
|
-
default: "a[href]",
|
|
87
|
-
title: "Link Selector",
|
|
88
|
-
description: "CSS selector for links to follow"
|
|
89
|
-
})
|
|
90
|
-
], ApifyWebScraperNode.prototype, "link_selector", void 0);
|
|
91
|
-
__decorate([
|
|
92
|
-
prop({
|
|
93
|
-
type: "str",
|
|
94
|
-
default: "",
|
|
95
|
-
title: "Page Function",
|
|
96
|
-
description: "JavaScript function to execute on each page"
|
|
97
|
-
})
|
|
98
|
-
], ApifyWebScraperNode.prototype, "page_function", void 0);
|
|
99
|
-
__decorate([
|
|
100
|
-
prop({
|
|
101
|
-
type: "int",
|
|
102
|
-
default: 10,
|
|
103
|
-
title: "Max Pages",
|
|
104
|
-
description: "Maximum number of pages to scrape"
|
|
105
|
-
})
|
|
106
|
-
], ApifyWebScraperNode.prototype, "max_pages", void 0);
|
|
107
|
-
__decorate([
|
|
108
|
-
prop({
|
|
109
|
-
type: "int",
|
|
110
|
-
default: 300,
|
|
111
|
-
title: "Wait For Finish",
|
|
112
|
-
description: "Maximum time to wait for scraping to complete (seconds)"
|
|
113
|
-
})
|
|
114
|
-
], ApifyWebScraperNode.prototype, "wait_for_finish", void 0);
|
|
115
|
-
// ---------------------------------------------------------------------------
|
|
116
|
-
// 2. ApifyGoogleSearchScraper
|
|
117
|
-
// ---------------------------------------------------------------------------
|
|
118
|
-
export class ApifyGoogleSearchScraperNode extends BaseNode {
|
|
119
|
-
static nodeType = "apify.scraping.ApifyGoogleSearchScraper";
|
|
120
|
-
static title = "Apify Google Search Scraper";
|
|
121
|
-
static description = "Scrape Google Search results using Apify's Google Search Scraper.\n Extract organic results, ads, related searches, and more.\n apify, google, search, serp, scraping, seo";
|
|
122
|
-
static metadataOutputTypes = {
|
|
123
|
-
output: "list[dict[str, any]]"
|
|
124
|
-
};
|
|
125
|
-
static requiredSettings = ["APIFY_API_TOKEN"];
|
|
126
|
-
static exposeAsTool = true;
|
|
127
|
-
async process() {
|
|
128
|
-
const apiKey = getApifyApiKey(this._secrets);
|
|
129
|
-
const queries = this.queries ?? [];
|
|
130
|
-
if (queries.length === 0)
|
|
131
|
-
throw new Error("queries is required");
|
|
132
|
-
const resultsPerPage = Math.min(Math.max(MIN_RESULTS_PER_PAGE, Number(this.results_per_page ?? 100)), MAX_RESULTS_PER_PAGE);
|
|
133
|
-
const runInput = {
|
|
134
|
-
queries: queries.join("\n"),
|
|
135
|
-
countryCode: String(this.country_code ?? "us"),
|
|
136
|
-
languageCode: String(this.language_code ?? "en"),
|
|
137
|
-
maxPagesPerQuery: Number(this.max_pages ?? 1),
|
|
138
|
-
resultsPerPage
|
|
139
|
-
};
|
|
140
|
-
const items = await runActor(apiKey, "apify/google-search-scraper", runInput, Number(this.wait_for_finish ?? 300));
|
|
141
|
-
return { output: items };
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
__decorate([
|
|
145
|
-
prop({
|
|
146
|
-
type: "list[str]",
|
|
147
|
-
default: null,
|
|
148
|
-
title: "Queries",
|
|
149
|
-
description: "List of search queries to execute",
|
|
150
|
-
required: true
|
|
151
|
-
})
|
|
152
|
-
], ApifyGoogleSearchScraperNode.prototype, "queries", void 0);
|
|
153
|
-
__decorate([
|
|
154
|
-
prop({
|
|
155
|
-
type: "str",
|
|
156
|
-
default: "us",
|
|
157
|
-
title: "Country Code",
|
|
158
|
-
description: "Country code for Google search (e.g., 'us', 'uk', 'de')"
|
|
159
|
-
})
|
|
160
|
-
], ApifyGoogleSearchScraperNode.prototype, "country_code", void 0);
|
|
161
|
-
__decorate([
|
|
162
|
-
prop({
|
|
163
|
-
type: "str",
|
|
164
|
-
default: "en",
|
|
165
|
-
title: "Language Code",
|
|
166
|
-
description: "Language code for results (e.g., 'en', 'es', 'fr')"
|
|
167
|
-
})
|
|
168
|
-
], ApifyGoogleSearchScraperNode.prototype, "language_code", void 0);
|
|
169
|
-
__decorate([
|
|
170
|
-
prop({
|
|
171
|
-
type: "int",
|
|
172
|
-
default: 1,
|
|
173
|
-
title: "Max Pages",
|
|
174
|
-
description: "Maximum number of result pages per query"
|
|
175
|
-
})
|
|
176
|
-
], ApifyGoogleSearchScraperNode.prototype, "max_pages", void 0);
|
|
177
|
-
__decorate([
|
|
178
|
-
prop({
|
|
179
|
-
type: "int",
|
|
180
|
-
default: 100,
|
|
181
|
-
title: "Results Per Page",
|
|
182
|
-
description: "Number of results per page (10-100)"
|
|
183
|
-
})
|
|
184
|
-
], ApifyGoogleSearchScraperNode.prototype, "results_per_page", void 0);
|
|
185
|
-
__decorate([
|
|
186
|
-
prop({
|
|
187
|
-
type: "int",
|
|
188
|
-
default: 300,
|
|
189
|
-
title: "Wait For Finish",
|
|
190
|
-
description: "Maximum time to wait for scraping to complete (seconds)"
|
|
191
|
-
})
|
|
192
|
-
], ApifyGoogleSearchScraperNode.prototype, "wait_for_finish", void 0);
|
|
193
|
-
// ---------------------------------------------------------------------------
|
|
194
|
-
// 3. ApifyInstagramScraper
|
|
195
|
-
// ---------------------------------------------------------------------------
|
|
196
|
-
export class ApifyInstagramScraperNode extends BaseNode {
|
|
197
|
-
static nodeType = "apify.scraping.ApifyInstagramScraper";
|
|
198
|
-
static title = "Apify Instagram Scraper";
|
|
199
|
-
static description = "Scrape Instagram profiles, posts, comments, and hashtags.\n Extract user data, post details, engagement metrics, and more.\n apify, instagram, social, media, scraping, posts, profiles";
|
|
200
|
-
static metadataOutputTypes = {
|
|
201
|
-
output: "list[dict[str, any]]"
|
|
202
|
-
};
|
|
203
|
-
static requiredSettings = ["APIFY_API_TOKEN"];
|
|
204
|
-
static exposeAsTool = true;
|
|
205
|
-
async process() {
|
|
206
|
-
const apiKey = getApifyApiKey(this._secrets);
|
|
207
|
-
const usernames = this.usernames ?? [];
|
|
208
|
-
const hashtags = this.hashtags ?? [];
|
|
209
|
-
if (usernames.length === 0 && hashtags.length === 0) {
|
|
210
|
-
throw new Error("Either usernames or hashtags is required");
|
|
211
|
-
}
|
|
212
|
-
const runInput = {
|
|
213
|
-
resultsLimit: Number(this.results_limit ?? 50),
|
|
214
|
-
scrapeComments: Boolean(this.scrape_comments ?? false),
|
|
215
|
-
scrapeLikes: Boolean(this.scrape_likes ?? false)
|
|
216
|
-
};
|
|
217
|
-
if (usernames.length > 0)
|
|
218
|
-
runInput.usernames = usernames;
|
|
219
|
-
if (hashtags.length > 0)
|
|
220
|
-
runInput.hashtags = hashtags;
|
|
221
|
-
const items = await runActor(apiKey, "apify/instagram-scraper", runInput, Number(this.wait_for_finish ?? 600));
|
|
222
|
-
return { output: items };
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
__decorate([
|
|
226
|
-
prop({
|
|
227
|
-
type: "list[str]",
|
|
228
|
-
default: null,
|
|
229
|
-
title: "Usernames",
|
|
230
|
-
description: "List of Instagram usernames to scrape",
|
|
231
|
-
required: true
|
|
232
|
-
})
|
|
233
|
-
], ApifyInstagramScraperNode.prototype, "usernames", void 0);
|
|
234
|
-
__decorate([
|
|
235
|
-
prop({
|
|
236
|
-
type: "list[str]",
|
|
237
|
-
default: null,
|
|
238
|
-
title: "Hashtags",
|
|
239
|
-
description: "List of hashtags to scrape",
|
|
240
|
-
required: true
|
|
241
|
-
})
|
|
242
|
-
], ApifyInstagramScraperNode.prototype, "hashtags", void 0);
|
|
243
|
-
__decorate([
|
|
244
|
-
prop({
|
|
245
|
-
type: "int",
|
|
246
|
-
default: 50,
|
|
247
|
-
title: "Results Limit",
|
|
248
|
-
description: "Maximum number of posts to scrape per profile/hashtag"
|
|
249
|
-
})
|
|
250
|
-
], ApifyInstagramScraperNode.prototype, "results_limit", void 0);
|
|
251
|
-
__decorate([
|
|
252
|
-
prop({
|
|
253
|
-
type: "bool",
|
|
254
|
-
default: false,
|
|
255
|
-
title: "Scrape Comments",
|
|
256
|
-
description: "Whether to scrape comments on posts"
|
|
257
|
-
})
|
|
258
|
-
], ApifyInstagramScraperNode.prototype, "scrape_comments", void 0);
|
|
259
|
-
__decorate([
|
|
260
|
-
prop({
|
|
261
|
-
type: "bool",
|
|
262
|
-
default: false,
|
|
263
|
-
title: "Scrape Likes",
|
|
264
|
-
description: "Whether to scrape likes on posts"
|
|
265
|
-
})
|
|
266
|
-
], ApifyInstagramScraperNode.prototype, "scrape_likes", void 0);
|
|
267
|
-
__decorate([
|
|
268
|
-
prop({
|
|
269
|
-
type: "int",
|
|
270
|
-
default: 600,
|
|
271
|
-
title: "Wait For Finish",
|
|
272
|
-
description: "Maximum time to wait for scraping to complete (seconds)"
|
|
273
|
-
})
|
|
274
|
-
], ApifyInstagramScraperNode.prototype, "wait_for_finish", void 0);
|
|
275
|
-
// ---------------------------------------------------------------------------
|
|
276
|
-
// 4. ApifyAmazonScraper
|
|
277
|
-
// ---------------------------------------------------------------------------
|
|
278
|
-
export class ApifyAmazonScraperNode extends BaseNode {
|
|
279
|
-
static nodeType = "apify.scraping.ApifyAmazonScraper";
|
|
280
|
-
static title = "Apify Amazon Scraper";
|
|
281
|
-
static description = "Scrape Amazon product data including prices, reviews, and ratings.\n Extract product details, seller information, and customer reviews.\n apify, amazon, ecommerce, products, scraping, prices, reviews";
|
|
282
|
-
static metadataOutputTypes = {
|
|
283
|
-
output: "list[dict[str, any]]"
|
|
284
|
-
};
|
|
285
|
-
static requiredSettings = ["APIFY_API_TOKEN"];
|
|
286
|
-
static exposeAsTool = true;
|
|
287
|
-
async process() {
|
|
288
|
-
const apiKey = getApifyApiKey(this._secrets);
|
|
289
|
-
const searchQueries = this.search_queries ?? [];
|
|
290
|
-
const productUrls = this.product_urls ?? [];
|
|
291
|
-
if (searchQueries.length === 0 && productUrls.length === 0) {
|
|
292
|
-
throw new Error("Either search_queries or product_urls is required");
|
|
293
|
-
}
|
|
294
|
-
const runInput = {
|
|
295
|
-
countryCode: String(this.country_code ?? "US"),
|
|
296
|
-
maxItems: Number(this.max_items ?? 20),
|
|
297
|
-
scrapeReviews: Boolean(this.scrape_reviews ?? false)
|
|
298
|
-
};
|
|
299
|
-
if (searchQueries.length > 0)
|
|
300
|
-
runInput.searchQueries = searchQueries;
|
|
301
|
-
if (productUrls.length > 0)
|
|
302
|
-
runInput.productUrls = productUrls;
|
|
303
|
-
const items = await runActor(apiKey, "apify/amazon-product-scraper", runInput, Number(this.wait_for_finish ?? 600));
|
|
304
|
-
return { output: items };
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
__decorate([
|
|
308
|
-
prop({
|
|
309
|
-
type: "list[str]",
|
|
310
|
-
default: null,
|
|
311
|
-
title: "Search Queries",
|
|
312
|
-
description: "List of search queries to execute on Amazon",
|
|
313
|
-
required: true
|
|
314
|
-
})
|
|
315
|
-
], ApifyAmazonScraperNode.prototype, "search_queries", void 0);
|
|
316
|
-
__decorate([
|
|
317
|
-
prop({
|
|
318
|
-
type: "list[str]",
|
|
319
|
-
default: null,
|
|
320
|
-
title: "Product Urls",
|
|
321
|
-
description: "List of Amazon product URLs to scrape",
|
|
322
|
-
required: true
|
|
323
|
-
})
|
|
324
|
-
], ApifyAmazonScraperNode.prototype, "product_urls", void 0);
|
|
325
|
-
__decorate([
|
|
326
|
-
prop({
|
|
327
|
-
type: "str",
|
|
328
|
-
default: "US",
|
|
329
|
-
title: "Country Code",
|
|
330
|
-
description: "Amazon country code (US, UK, DE, FR, ES, IT, etc.)"
|
|
331
|
-
})
|
|
332
|
-
], ApifyAmazonScraperNode.prototype, "country_code", void 0);
|
|
333
|
-
__decorate([
|
|
334
|
-
prop({
|
|
335
|
-
type: "int",
|
|
336
|
-
default: 20,
|
|
337
|
-
title: "Max Items",
|
|
338
|
-
description: "Maximum number of products to scrape per search"
|
|
339
|
-
})
|
|
340
|
-
], ApifyAmazonScraperNode.prototype, "max_items", void 0);
|
|
341
|
-
__decorate([
|
|
342
|
-
prop({
|
|
343
|
-
type: "bool",
|
|
344
|
-
default: false,
|
|
345
|
-
title: "Scrape Reviews",
|
|
346
|
-
description: "Whether to scrape product reviews"
|
|
347
|
-
})
|
|
348
|
-
], ApifyAmazonScraperNode.prototype, "scrape_reviews", void 0);
|
|
349
|
-
__decorate([
|
|
350
|
-
prop({
|
|
351
|
-
type: "int",
|
|
352
|
-
default: 600,
|
|
353
|
-
title: "Wait For Finish",
|
|
354
|
-
description: "Maximum time to wait for scraping to complete (seconds)"
|
|
355
|
-
})
|
|
356
|
-
], ApifyAmazonScraperNode.prototype, "wait_for_finish", void 0);
|
|
357
|
-
// ---------------------------------------------------------------------------
|
|
358
|
-
// 5. ApifyYouTubeScraper
|
|
359
|
-
// ---------------------------------------------------------------------------
|
|
360
|
-
export class ApifyYouTubeScraperNode extends BaseNode {
|
|
361
|
-
static nodeType = "apify.scraping.ApifyYouTubeScraper";
|
|
362
|
-
static title = "Apify You Tube Scraper";
|
|
363
|
-
static description = "Scrape YouTube videos, channels, and playlists.\n Extract video metadata, comments, channel info, and statistics.\n apify, youtube, video, scraping, social, media, channels";
|
|
364
|
-
static metadataOutputTypes = {
|
|
365
|
-
output: "list[dict[str, any]]"
|
|
366
|
-
};
|
|
367
|
-
static requiredSettings = ["APIFY_API_TOKEN"];
|
|
368
|
-
static exposeAsTool = true;
|
|
369
|
-
async process() {
|
|
370
|
-
const apiKey = getApifyApiKey(this._secrets);
|
|
371
|
-
const searchQueries = this.search_queries ?? [];
|
|
372
|
-
const videoUrls = this.video_urls ?? [];
|
|
373
|
-
const channelUrls = this.channel_urls ?? [];
|
|
374
|
-
if (searchQueries.length === 0 &&
|
|
375
|
-
videoUrls.length === 0 &&
|
|
376
|
-
channelUrls.length === 0) {
|
|
377
|
-
throw new Error("At least one of search_queries, video_urls, or channel_urls is required");
|
|
378
|
-
}
|
|
379
|
-
const startUrls = [];
|
|
380
|
-
for (const query of searchQueries) {
|
|
381
|
-
startUrls.push({
|
|
382
|
-
url: `https://www.youtube.com/results?search_query=${encodeURIComponent(query)}`
|
|
383
|
-
});
|
|
384
|
-
}
|
|
385
|
-
for (const url of videoUrls) {
|
|
386
|
-
startUrls.push({ url });
|
|
387
|
-
}
|
|
388
|
-
for (const url of channelUrls) {
|
|
389
|
-
startUrls.push({ url });
|
|
390
|
-
}
|
|
391
|
-
const runInput = {
|
|
392
|
-
startUrls,
|
|
393
|
-
maxResults: Number(this.max_results ?? 50),
|
|
394
|
-
scrapeComments: Boolean(this.scrape_comments ?? false)
|
|
395
|
-
};
|
|
396
|
-
const items = await runActor(apiKey, "apify/youtube-scraper", runInput, Number(this.wait_for_finish ?? 600));
|
|
397
|
-
return { output: items };
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
__decorate([
|
|
401
|
-
prop({
|
|
402
|
-
type: "list[str]",
|
|
403
|
-
default: null,
|
|
404
|
-
title: "Search Queries",
|
|
405
|
-
description: "List of search queries to execute on YouTube",
|
|
406
|
-
required: true
|
|
407
|
-
})
|
|
408
|
-
], ApifyYouTubeScraperNode.prototype, "search_queries", void 0);
|
|
409
|
-
__decorate([
|
|
410
|
-
prop({
|
|
411
|
-
type: "list[str]",
|
|
412
|
-
default: null,
|
|
413
|
-
title: "Video Urls",
|
|
414
|
-
description: "List of YouTube video URLs to scrape",
|
|
415
|
-
required: true
|
|
416
|
-
})
|
|
417
|
-
], ApifyYouTubeScraperNode.prototype, "video_urls", void 0);
|
|
418
|
-
__decorate([
|
|
419
|
-
prop({
|
|
420
|
-
type: "list[str]",
|
|
421
|
-
default: null,
|
|
422
|
-
title: "Channel Urls",
|
|
423
|
-
description: "List of YouTube channel URLs to scrape",
|
|
424
|
-
required: true
|
|
425
|
-
})
|
|
426
|
-
], ApifyYouTubeScraperNode.prototype, "channel_urls", void 0);
|
|
427
|
-
__decorate([
|
|
428
|
-
prop({
|
|
429
|
-
type: "int",
|
|
430
|
-
default: 50,
|
|
431
|
-
title: "Max Results",
|
|
432
|
-
description: "Maximum number of videos to scrape"
|
|
433
|
-
})
|
|
434
|
-
], ApifyYouTubeScraperNode.prototype, "max_results", void 0);
|
|
435
|
-
__decorate([
|
|
436
|
-
prop({
|
|
437
|
-
type: "bool",
|
|
438
|
-
default: false,
|
|
439
|
-
title: "Scrape Comments",
|
|
440
|
-
description: "Whether to scrape video comments"
|
|
441
|
-
})
|
|
442
|
-
], ApifyYouTubeScraperNode.prototype, "scrape_comments", void 0);
|
|
443
|
-
__decorate([
|
|
444
|
-
prop({
|
|
445
|
-
type: "int",
|
|
446
|
-
default: 600,
|
|
447
|
-
title: "Wait For Finish",
|
|
448
|
-
description: "Maximum time to wait for scraping to complete (seconds)"
|
|
449
|
-
})
|
|
450
|
-
], ApifyYouTubeScraperNode.prototype, "wait_for_finish", void 0);
|
|
451
|
-
// ---------------------------------------------------------------------------
|
|
452
|
-
// 6. ApifyTwitterScraper
|
|
453
|
-
// ---------------------------------------------------------------------------
|
|
454
|
-
export class ApifyTwitterScraperNode extends BaseNode {
|
|
455
|
-
static nodeType = "apify.scraping.ApifyTwitterScraper";
|
|
456
|
-
static title = "Apify Twitter Scraper";
|
|
457
|
-
static description = "Scrape Twitter/X posts, profiles, and followers.\n Extract tweets, user information, and engagement metrics.\n apify, twitter, x, social, media, scraping, tweets, posts";
|
|
458
|
-
static metadataOutputTypes = {
|
|
459
|
-
output: "list[dict[str, any]]"
|
|
460
|
-
};
|
|
461
|
-
static requiredSettings = ["APIFY_API_TOKEN"];
|
|
462
|
-
static exposeAsTool = true;
|
|
463
|
-
async process() {
|
|
464
|
-
const apiKey = getApifyApiKey(this._secrets);
|
|
465
|
-
const searchTerms = this.search_terms ?? [];
|
|
466
|
-
const usernames = this.usernames ?? [];
|
|
467
|
-
const tweetUrls = this.tweet_urls ?? [];
|
|
468
|
-
if (searchTerms.length === 0 &&
|
|
469
|
-
usernames.length === 0 &&
|
|
470
|
-
tweetUrls.length === 0) {
|
|
471
|
-
throw new Error("At least one of search_terms, usernames, or tweet_urls is required");
|
|
472
|
-
}
|
|
473
|
-
const startUrls = [];
|
|
474
|
-
for (const term of searchTerms) {
|
|
475
|
-
startUrls.push(`https://twitter.com/search?q=${encodeURIComponent(term)}`);
|
|
476
|
-
}
|
|
477
|
-
for (const username of usernames) {
|
|
478
|
-
startUrls.push(`https://twitter.com/${username}`);
|
|
479
|
-
}
|
|
480
|
-
startUrls.push(...tweetUrls);
|
|
481
|
-
const runInput = {
|
|
482
|
-
startUrls,
|
|
483
|
-
maxItems: Number(this.max_tweets ?? 100)
|
|
484
|
-
};
|
|
485
|
-
const items = await runActor(apiKey, "apify/twitter-scraper", runInput, Number(this.wait_for_finish ?? 600));
|
|
486
|
-
return { output: items };
|
|
487
|
-
}
|
|
488
|
-
}
|
|
489
|
-
__decorate([
|
|
490
|
-
prop({
|
|
491
|
-
type: "list[str]",
|
|
492
|
-
default: null,
|
|
493
|
-
title: "Search Terms",
|
|
494
|
-
description: "List of search terms to find tweets",
|
|
495
|
-
required: true
|
|
496
|
-
})
|
|
497
|
-
], ApifyTwitterScraperNode.prototype, "search_terms", void 0);
|
|
498
|
-
__decorate([
|
|
499
|
-
prop({
|
|
500
|
-
type: "list[str]",
|
|
501
|
-
default: null,
|
|
502
|
-
title: "Usernames",
|
|
503
|
-
description: "List of Twitter usernames to scrape",
|
|
504
|
-
required: true
|
|
505
|
-
})
|
|
506
|
-
], ApifyTwitterScraperNode.prototype, "usernames", void 0);
|
|
507
|
-
__decorate([
|
|
508
|
-
prop({
|
|
509
|
-
type: "list[str]",
|
|
510
|
-
default: null,
|
|
511
|
-
title: "Tweet Urls",
|
|
512
|
-
description: "List of specific tweet URLs to scrape",
|
|
513
|
-
required: true
|
|
514
|
-
})
|
|
515
|
-
], ApifyTwitterScraperNode.prototype, "tweet_urls", void 0);
|
|
516
|
-
__decorate([
|
|
517
|
-
prop({
|
|
518
|
-
type: "int",
|
|
519
|
-
default: 100,
|
|
520
|
-
title: "Max Tweets",
|
|
521
|
-
description: "Maximum number of tweets to scrape"
|
|
522
|
-
})
|
|
523
|
-
], ApifyTwitterScraperNode.prototype, "max_tweets", void 0);
|
|
524
|
-
__decorate([
|
|
525
|
-
prop({
|
|
526
|
-
type: "int",
|
|
527
|
-
default: 600,
|
|
528
|
-
title: "Wait For Finish",
|
|
529
|
-
description: "Maximum time to wait for scraping to complete (seconds)"
|
|
530
|
-
})
|
|
531
|
-
], ApifyTwitterScraperNode.prototype, "wait_for_finish", void 0);
|
|
532
|
-
// ---------------------------------------------------------------------------
|
|
533
|
-
// 7. ApifyLinkedInScraper
|
|
534
|
-
// ---------------------------------------------------------------------------
|
|
535
|
-
export class ApifyLinkedInScraperNode extends BaseNode {
|
|
536
|
-
static nodeType = "apify.scraping.ApifyLinkedInScraper";
|
|
537
|
-
static title = "Apify Linked In Scraper";
|
|
538
|
-
static description = "Scrape LinkedIn profiles, company pages, and job postings.\n Extract professional information, connections, and company data.\n apify, linkedin, professional, social, scraping, profiles, jobs";
|
|
539
|
-
static metadataOutputTypes = {
|
|
540
|
-
output: "list[dict[str, any]]"
|
|
541
|
-
};
|
|
542
|
-
static requiredSettings = ["APIFY_API_TOKEN"];
|
|
543
|
-
static exposeAsTool = true;
|
|
544
|
-
async process() {
|
|
545
|
-
const apiKey = getApifyApiKey(this._secrets);
|
|
546
|
-
const profileUrls = this.profile_urls ?? [];
|
|
547
|
-
const companyUrls = this.company_urls ?? [];
|
|
548
|
-
const jobSearchUrls = this.job_search_urls ?? [];
|
|
549
|
-
if (profileUrls.length === 0 &&
|
|
550
|
-
companyUrls.length === 0 &&
|
|
551
|
-
jobSearchUrls.length === 0) {
|
|
552
|
-
throw new Error("At least one of profile_urls, company_urls, or job_search_urls is required");
|
|
553
|
-
}
|
|
554
|
-
const allUrls = [...profileUrls, ...companyUrls, ...jobSearchUrls];
|
|
555
|
-
const runInput = {
|
|
556
|
-
startUrls: allUrls.map((url) => ({ url })),
|
|
557
|
-
maxResults: Number(this.max_results ?? 50)
|
|
558
|
-
};
|
|
559
|
-
const items = await runActor(apiKey, "apify/linkedin-profile-scraper", runInput, Number(this.wait_for_finish ?? 600));
|
|
560
|
-
return { output: items };
|
|
561
|
-
}
|
|
562
|
-
}
|
|
563
|
-
__decorate([
|
|
564
|
-
prop({
|
|
565
|
-
type: "list[str]",
|
|
566
|
-
default: null,
|
|
567
|
-
title: "Profile Urls",
|
|
568
|
-
description: "List of LinkedIn profile URLs to scrape",
|
|
569
|
-
required: true
|
|
570
|
-
})
|
|
571
|
-
], ApifyLinkedInScraperNode.prototype, "profile_urls", void 0);
|
|
572
|
-
__decorate([
|
|
573
|
-
prop({
|
|
574
|
-
type: "list[str]",
|
|
575
|
-
default: null,
|
|
576
|
-
title: "Company Urls",
|
|
577
|
-
description: "List of LinkedIn company page URLs to scrape",
|
|
578
|
-
required: true
|
|
579
|
-
})
|
|
580
|
-
], ApifyLinkedInScraperNode.prototype, "company_urls", void 0);
|
|
581
|
-
__decorate([
|
|
582
|
-
prop({
|
|
583
|
-
type: "list[str]",
|
|
584
|
-
default: null,
|
|
585
|
-
title: "Job Search Urls",
|
|
586
|
-
description: "List of LinkedIn job search URLs",
|
|
587
|
-
required: true
|
|
588
|
-
})
|
|
589
|
-
], ApifyLinkedInScraperNode.prototype, "job_search_urls", void 0);
|
|
590
|
-
__decorate([
|
|
591
|
-
prop({
|
|
592
|
-
type: "int",
|
|
593
|
-
default: 50,
|
|
594
|
-
title: "Max Results",
|
|
595
|
-
description: "Maximum number of results to scrape"
|
|
596
|
-
})
|
|
597
|
-
], ApifyLinkedInScraperNode.prototype, "max_results", void 0);
|
|
598
|
-
__decorate([
|
|
599
|
-
prop({
|
|
600
|
-
type: "int",
|
|
601
|
-
default: 600,
|
|
602
|
-
title: "Wait For Finish",
|
|
603
|
-
description: "Maximum time to wait for scraping to complete (seconds)"
|
|
604
|
-
})
|
|
605
|
-
], ApifyLinkedInScraperNode.prototype, "wait_for_finish", void 0);
|
|
606
|
-
// ---------------------------------------------------------------------------
|
|
607
|
-
// Export
|
|
608
|
-
// ---------------------------------------------------------------------------
|
|
609
|
-
export const APIFY_NODES = [
|
|
610
|
-
ApifyWebScraperNode,
|
|
611
|
-
ApifyGoogleSearchScraperNode,
|
|
612
|
-
ApifyInstagramScraperNode,
|
|
613
|
-
ApifyAmazonScraperNode,
|
|
614
|
-
ApifyYouTubeScraperNode,
|
|
615
|
-
ApifyTwitterScraperNode,
|
|
616
|
-
ApifyLinkedInScraperNode
|
|
617
|
-
];
|
|
618
|
-
//# sourceMappingURL=apify.js.map
|
package/dist/nodes/apify.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apify.js","sourceRoot":"","sources":["../../src/nodes/apify.ts"],"names":[],"mappings":"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"}
|