@nodetool-ai/base-nodes 0.7.0-rc.23 → 0.8.2
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/builtin-packs.d.ts +17 -0
- package/dist/builtin-packs.d.ts.map +1 -0
- package/dist/builtin-packs.js +95 -0
- package/dist/builtin-packs.js.map +1 -0
- package/dist/index.d.ts +63 -67
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +186 -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 +72 -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/lib-twilio.js
DELETED
|
@@ -1,469 +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
|
-
const TWILIO_TIMEOUT = 30000;
|
|
9
|
-
/**
|
|
10
|
-
* Build Basic Auth header for Twilio API.
|
|
11
|
-
*/
|
|
12
|
-
function twilioAuthHeader(sid, token) {
|
|
13
|
-
return `Basic ${Buffer.from(`${sid}:${token}`).toString("base64")}`;
|
|
14
|
-
}
|
|
15
|
-
// ---------------------------------------------------------------------------
|
|
16
|
-
// Send SMS
|
|
17
|
-
// ---------------------------------------------------------------------------
|
|
18
|
-
export class TwilioSendSMSLibNode extends BaseNode {
|
|
19
|
-
static nodeType = "lib.twilio.SendSMS";
|
|
20
|
-
static title = "Send SMS";
|
|
21
|
-
static description = "Send an SMS message via the Twilio REST API.\n twilio, sms, text, send, message\n\n Use cases:\n - Send notification texts\n - Automate SMS alerts\n - Send verification codes";
|
|
22
|
-
static metadataOutputTypes = {
|
|
23
|
-
output: "dict"
|
|
24
|
-
};
|
|
25
|
-
static exposeAsTool = true;
|
|
26
|
-
static requiredSettings = [
|
|
27
|
-
"TWILIO_ACCOUNT_SID",
|
|
28
|
-
"TWILIO_AUTH_TOKEN"
|
|
29
|
-
];
|
|
30
|
-
async process() {
|
|
31
|
-
const to = String(this.to ?? "");
|
|
32
|
-
const from = String(this.from_number ?? "");
|
|
33
|
-
const body = String(this.body ?? "");
|
|
34
|
-
const sid = String(this.account_sid ?? "") ||
|
|
35
|
-
this._secrets["TWILIO_ACCOUNT_SID"] ||
|
|
36
|
-
"";
|
|
37
|
-
const token = String(this.auth_token ?? "") ||
|
|
38
|
-
this._secrets["TWILIO_AUTH_TOKEN"] ||
|
|
39
|
-
"";
|
|
40
|
-
if (!to)
|
|
41
|
-
throw new Error("Recipient phone number (to) is required");
|
|
42
|
-
if (!from)
|
|
43
|
-
throw new Error("Sender phone number (from_number) is required");
|
|
44
|
-
if (!body)
|
|
45
|
-
throw new Error("Message body is required");
|
|
46
|
-
if (!sid)
|
|
47
|
-
throw new Error("Twilio Account SID is required");
|
|
48
|
-
if (!token)
|
|
49
|
-
throw new Error("Twilio Auth Token is required");
|
|
50
|
-
const url = `https://api.twilio.com/2010-04-01/Accounts/${encodeURIComponent(sid)}/Messages.json`;
|
|
51
|
-
const params = new URLSearchParams({ To: to, From: from, Body: body });
|
|
52
|
-
const controller = new AbortController();
|
|
53
|
-
const timer = setTimeout(() => controller.abort(), TWILIO_TIMEOUT);
|
|
54
|
-
try {
|
|
55
|
-
const res = await fetch(url, {
|
|
56
|
-
method: "POST",
|
|
57
|
-
headers: {
|
|
58
|
-
Authorization: twilioAuthHeader(sid, token),
|
|
59
|
-
"Content-Type": "application/x-www-form-urlencoded"
|
|
60
|
-
},
|
|
61
|
-
body: params.toString(),
|
|
62
|
-
signal: controller.signal
|
|
63
|
-
});
|
|
64
|
-
const json = (await res.json());
|
|
65
|
-
if (!res.ok) {
|
|
66
|
-
const msg = json.message ?? res.statusText;
|
|
67
|
-
throw new Error(`Twilio API error (${res.status}): ${msg}`);
|
|
68
|
-
}
|
|
69
|
-
return {
|
|
70
|
-
output: {
|
|
71
|
-
sid: json.sid,
|
|
72
|
-
status: json.status,
|
|
73
|
-
date_created: json.date_created
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
finally {
|
|
78
|
-
clearTimeout(timer);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
__decorate([
|
|
83
|
-
prop({
|
|
84
|
-
type: "str",
|
|
85
|
-
default: "",
|
|
86
|
-
title: "To",
|
|
87
|
-
description: "Recipient phone number in E.164 format (e.g. +15551234567)"
|
|
88
|
-
})
|
|
89
|
-
], TwilioSendSMSLibNode.prototype, "to", void 0);
|
|
90
|
-
__decorate([
|
|
91
|
-
prop({
|
|
92
|
-
type: "str",
|
|
93
|
-
default: "",
|
|
94
|
-
title: "From Number",
|
|
95
|
-
description: "Twilio phone number to send from in E.164 format (e.g. +15559876543)"
|
|
96
|
-
})
|
|
97
|
-
], TwilioSendSMSLibNode.prototype, "from_number", void 0);
|
|
98
|
-
__decorate([
|
|
99
|
-
prop({
|
|
100
|
-
type: "str",
|
|
101
|
-
default: "",
|
|
102
|
-
title: "Body",
|
|
103
|
-
description: "The text content of the SMS message"
|
|
104
|
-
})
|
|
105
|
-
], TwilioSendSMSLibNode.prototype, "body", void 0);
|
|
106
|
-
__decorate([
|
|
107
|
-
prop({
|
|
108
|
-
type: "str",
|
|
109
|
-
default: "",
|
|
110
|
-
title: "Account SID",
|
|
111
|
-
description: "Twilio Account SID (optional — falls back to TWILIO_ACCOUNT_SID secret)"
|
|
112
|
-
})
|
|
113
|
-
], TwilioSendSMSLibNode.prototype, "account_sid", void 0);
|
|
114
|
-
__decorate([
|
|
115
|
-
prop({
|
|
116
|
-
type: "str",
|
|
117
|
-
default: "",
|
|
118
|
-
title: "Auth Token",
|
|
119
|
-
description: "Twilio Auth Token (optional — falls back to TWILIO_AUTH_TOKEN secret)"
|
|
120
|
-
})
|
|
121
|
-
], TwilioSendSMSLibNode.prototype, "auth_token", void 0);
|
|
122
|
-
// ---------------------------------------------------------------------------
|
|
123
|
-
// Send WhatsApp
|
|
124
|
-
// ---------------------------------------------------------------------------
|
|
125
|
-
export class TwilioSendWhatsAppLibNode extends BaseNode {
|
|
126
|
-
static nodeType = "lib.twilio.SendWhatsApp";
|
|
127
|
-
static title = "Send WhatsApp";
|
|
128
|
-
static description = "Send a WhatsApp message via the Twilio REST API.\n twilio, whatsapp, message, send\n\n Use cases:\n - Send WhatsApp notifications\n - Automate WhatsApp customer messages\n - Send rich media via WhatsApp";
|
|
129
|
-
static metadataOutputTypes = {
|
|
130
|
-
output: "dict"
|
|
131
|
-
};
|
|
132
|
-
static exposeAsTool = true;
|
|
133
|
-
static requiredSettings = [
|
|
134
|
-
"TWILIO_ACCOUNT_SID",
|
|
135
|
-
"TWILIO_AUTH_TOKEN"
|
|
136
|
-
];
|
|
137
|
-
async process() {
|
|
138
|
-
const to = String(this.to ?? "");
|
|
139
|
-
const from = String(this.from_number ?? "");
|
|
140
|
-
const body = String(this.body ?? "");
|
|
141
|
-
const sid = String(this.account_sid ?? "") ||
|
|
142
|
-
this._secrets["TWILIO_ACCOUNT_SID"] ||
|
|
143
|
-
"";
|
|
144
|
-
const token = String(this.auth_token ?? "") ||
|
|
145
|
-
this._secrets["TWILIO_AUTH_TOKEN"] ||
|
|
146
|
-
"";
|
|
147
|
-
if (!to)
|
|
148
|
-
throw new Error("Recipient phone number (to) is required");
|
|
149
|
-
if (!from)
|
|
150
|
-
throw new Error("Sender phone number (from_number) is required");
|
|
151
|
-
if (!body)
|
|
152
|
-
throw new Error("Message body is required");
|
|
153
|
-
if (!sid)
|
|
154
|
-
throw new Error("Twilio Account SID is required");
|
|
155
|
-
if (!token)
|
|
156
|
-
throw new Error("Twilio Auth Token is required");
|
|
157
|
-
const whatsappTo = to.startsWith("whatsapp:") ? to : `whatsapp:${to}`;
|
|
158
|
-
const whatsappFrom = from.startsWith("whatsapp:")
|
|
159
|
-
? from
|
|
160
|
-
: `whatsapp:${from}`;
|
|
161
|
-
const url = `https://api.twilio.com/2010-04-01/Accounts/${encodeURIComponent(sid)}/Messages.json`;
|
|
162
|
-
const params = new URLSearchParams({
|
|
163
|
-
To: whatsappTo,
|
|
164
|
-
From: whatsappFrom,
|
|
165
|
-
Body: body
|
|
166
|
-
});
|
|
167
|
-
const controller = new AbortController();
|
|
168
|
-
const timer = setTimeout(() => controller.abort(), TWILIO_TIMEOUT);
|
|
169
|
-
try {
|
|
170
|
-
const res = await fetch(url, {
|
|
171
|
-
method: "POST",
|
|
172
|
-
headers: {
|
|
173
|
-
Authorization: twilioAuthHeader(sid, token),
|
|
174
|
-
"Content-Type": "application/x-www-form-urlencoded"
|
|
175
|
-
},
|
|
176
|
-
body: params.toString(),
|
|
177
|
-
signal: controller.signal
|
|
178
|
-
});
|
|
179
|
-
const json = (await res.json());
|
|
180
|
-
if (!res.ok) {
|
|
181
|
-
const msg = json.message ?? res.statusText;
|
|
182
|
-
throw new Error(`Twilio API error (${res.status}): ${msg}`);
|
|
183
|
-
}
|
|
184
|
-
return {
|
|
185
|
-
output: {
|
|
186
|
-
sid: json.sid,
|
|
187
|
-
status: json.status,
|
|
188
|
-
date_created: json.date_created
|
|
189
|
-
}
|
|
190
|
-
};
|
|
191
|
-
}
|
|
192
|
-
finally {
|
|
193
|
-
clearTimeout(timer);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
__decorate([
|
|
198
|
-
prop({
|
|
199
|
-
type: "str",
|
|
200
|
-
default: "",
|
|
201
|
-
title: "To",
|
|
202
|
-
description: "Recipient phone number in E.164 format (e.g. +15551234567)"
|
|
203
|
-
})
|
|
204
|
-
], TwilioSendWhatsAppLibNode.prototype, "to", void 0);
|
|
205
|
-
__decorate([
|
|
206
|
-
prop({
|
|
207
|
-
type: "str",
|
|
208
|
-
default: "",
|
|
209
|
-
title: "From Number",
|
|
210
|
-
description: "Twilio WhatsApp-enabled phone number in E.164 format (e.g. +15559876543)"
|
|
211
|
-
})
|
|
212
|
-
], TwilioSendWhatsAppLibNode.prototype, "from_number", void 0);
|
|
213
|
-
__decorate([
|
|
214
|
-
prop({
|
|
215
|
-
type: "str",
|
|
216
|
-
default: "",
|
|
217
|
-
title: "Body",
|
|
218
|
-
description: "The text content of the WhatsApp message"
|
|
219
|
-
})
|
|
220
|
-
], TwilioSendWhatsAppLibNode.prototype, "body", void 0);
|
|
221
|
-
__decorate([
|
|
222
|
-
prop({
|
|
223
|
-
type: "str",
|
|
224
|
-
default: "",
|
|
225
|
-
title: "Account SID",
|
|
226
|
-
description: "Twilio Account SID (optional — falls back to TWILIO_ACCOUNT_SID secret)"
|
|
227
|
-
})
|
|
228
|
-
], TwilioSendWhatsAppLibNode.prototype, "account_sid", void 0);
|
|
229
|
-
__decorate([
|
|
230
|
-
prop({
|
|
231
|
-
type: "str",
|
|
232
|
-
default: "",
|
|
233
|
-
title: "Auth Token",
|
|
234
|
-
description: "Twilio Auth Token (optional — falls back to TWILIO_AUTH_TOKEN secret)"
|
|
235
|
-
})
|
|
236
|
-
], TwilioSendWhatsAppLibNode.prototype, "auth_token", void 0);
|
|
237
|
-
// ---------------------------------------------------------------------------
|
|
238
|
-
// Get Messages
|
|
239
|
-
// ---------------------------------------------------------------------------
|
|
240
|
-
export class TwilioGetMessagesLibNode extends BaseNode {
|
|
241
|
-
static nodeType = "lib.twilio.GetMessages";
|
|
242
|
-
static title = "Get Messages";
|
|
243
|
-
static description = "List recent SMS/MMS messages from a Twilio account.\n twilio, sms, messages, list, history\n\n Use cases:\n - Retrieve message history\n - Monitor incoming messages\n - Audit sent messages";
|
|
244
|
-
static metadataOutputTypes = {
|
|
245
|
-
message: "dict",
|
|
246
|
-
messages: "list"
|
|
247
|
-
};
|
|
248
|
-
static exposeAsTool = true;
|
|
249
|
-
static isStreamingOutput = true;
|
|
250
|
-
static requiredSettings = [
|
|
251
|
-
"TWILIO_ACCOUNT_SID",
|
|
252
|
-
"TWILIO_AUTH_TOKEN"
|
|
253
|
-
];
|
|
254
|
-
async _fetchMessages() {
|
|
255
|
-
const sid = String(this.account_sid ?? "") ||
|
|
256
|
-
this._secrets["TWILIO_ACCOUNT_SID"] ||
|
|
257
|
-
"";
|
|
258
|
-
const token = String(this.auth_token ?? "") ||
|
|
259
|
-
this._secrets["TWILIO_AUTH_TOKEN"] ||
|
|
260
|
-
"";
|
|
261
|
-
if (!sid)
|
|
262
|
-
throw new Error("Twilio Account SID is required");
|
|
263
|
-
if (!token)
|
|
264
|
-
throw new Error("Twilio Auth Token is required");
|
|
265
|
-
const limit = Math.max(1, Math.min(1000, Number(this.limit ?? 20)));
|
|
266
|
-
const queryParams = new URLSearchParams({
|
|
267
|
-
PageSize: String(limit)
|
|
268
|
-
});
|
|
269
|
-
const to = String(this.to ?? "");
|
|
270
|
-
if (to)
|
|
271
|
-
queryParams.set("To", to);
|
|
272
|
-
const from = String(this.from_number ?? "");
|
|
273
|
-
if (from)
|
|
274
|
-
queryParams.set("From", from);
|
|
275
|
-
const dateSent = String(this.date_sent ?? "");
|
|
276
|
-
if (dateSent)
|
|
277
|
-
queryParams.set("DateSent", dateSent);
|
|
278
|
-
const url = `https://api.twilio.com/2010-04-01/Accounts/${encodeURIComponent(sid)}/Messages.json?${queryParams.toString()}`;
|
|
279
|
-
const controller = new AbortController();
|
|
280
|
-
const timer = setTimeout(() => controller.abort(), TWILIO_TIMEOUT);
|
|
281
|
-
try {
|
|
282
|
-
const res = await fetch(url, {
|
|
283
|
-
method: "GET",
|
|
284
|
-
headers: {
|
|
285
|
-
Authorization: twilioAuthHeader(sid, token)
|
|
286
|
-
},
|
|
287
|
-
signal: controller.signal
|
|
288
|
-
});
|
|
289
|
-
const json = (await res.json());
|
|
290
|
-
if (!res.ok) {
|
|
291
|
-
const msg = json.message ?? res.statusText;
|
|
292
|
-
throw new Error(`Twilio API error (${res.status}): ${msg}`);
|
|
293
|
-
}
|
|
294
|
-
const rawMessages = (json.messages ?? []);
|
|
295
|
-
return rawMessages.map((m) => ({
|
|
296
|
-
sid: m.sid,
|
|
297
|
-
to: m.to,
|
|
298
|
-
from: m.from,
|
|
299
|
-
body: m.body,
|
|
300
|
-
status: m.status,
|
|
301
|
-
direction: m.direction,
|
|
302
|
-
date_created: m.date_created,
|
|
303
|
-
date_sent: m.date_sent,
|
|
304
|
-
price: m.price,
|
|
305
|
-
price_unit: m.price_unit
|
|
306
|
-
}));
|
|
307
|
-
}
|
|
308
|
-
finally {
|
|
309
|
-
clearTimeout(timer);
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
async *genProcess() {
|
|
313
|
-
const messages = await this._fetchMessages();
|
|
314
|
-
for (const message of messages) {
|
|
315
|
-
yield { message };
|
|
316
|
-
}
|
|
317
|
-
yield { messages };
|
|
318
|
-
}
|
|
319
|
-
async process() {
|
|
320
|
-
const messages = await this._fetchMessages();
|
|
321
|
-
return {
|
|
322
|
-
message: messages[0] ?? {},
|
|
323
|
-
messages
|
|
324
|
-
};
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
__decorate([
|
|
328
|
-
prop({
|
|
329
|
-
type: "int",
|
|
330
|
-
default: 20,
|
|
331
|
-
title: "Limit",
|
|
332
|
-
description: "Maximum number of messages to return (1-1000)"
|
|
333
|
-
})
|
|
334
|
-
], TwilioGetMessagesLibNode.prototype, "limit", void 0);
|
|
335
|
-
__decorate([
|
|
336
|
-
prop({
|
|
337
|
-
type: "str",
|
|
338
|
-
default: "",
|
|
339
|
-
title: "To",
|
|
340
|
-
description: "Filter by recipient phone number"
|
|
341
|
-
})
|
|
342
|
-
], TwilioGetMessagesLibNode.prototype, "to", void 0);
|
|
343
|
-
__decorate([
|
|
344
|
-
prop({
|
|
345
|
-
type: "str",
|
|
346
|
-
default: "",
|
|
347
|
-
title: "From Number",
|
|
348
|
-
description: "Filter by sender phone number"
|
|
349
|
-
})
|
|
350
|
-
], TwilioGetMessagesLibNode.prototype, "from_number", void 0);
|
|
351
|
-
__decorate([
|
|
352
|
-
prop({
|
|
353
|
-
type: "str",
|
|
354
|
-
default: "",
|
|
355
|
-
title: "Date Sent",
|
|
356
|
-
description: "Filter by date sent (YYYY-MM-DD)"
|
|
357
|
-
})
|
|
358
|
-
], TwilioGetMessagesLibNode.prototype, "date_sent", void 0);
|
|
359
|
-
__decorate([
|
|
360
|
-
prop({
|
|
361
|
-
type: "str",
|
|
362
|
-
default: "",
|
|
363
|
-
title: "Account SID",
|
|
364
|
-
description: "Twilio Account SID (optional — falls back to TWILIO_ACCOUNT_SID secret)"
|
|
365
|
-
})
|
|
366
|
-
], TwilioGetMessagesLibNode.prototype, "account_sid", void 0);
|
|
367
|
-
__decorate([
|
|
368
|
-
prop({
|
|
369
|
-
type: "str",
|
|
370
|
-
default: "",
|
|
371
|
-
title: "Auth Token",
|
|
372
|
-
description: "Twilio Auth Token (optional — falls back to TWILIO_AUTH_TOKEN secret)"
|
|
373
|
-
})
|
|
374
|
-
], TwilioGetMessagesLibNode.prototype, "auth_token", void 0);
|
|
375
|
-
// ---------------------------------------------------------------------------
|
|
376
|
-
// Lookup
|
|
377
|
-
// ---------------------------------------------------------------------------
|
|
378
|
-
export class TwilioLookupLibNode extends BaseNode {
|
|
379
|
-
static nodeType = "lib.twilio.Lookup";
|
|
380
|
-
static title = "Lookup Phone Number";
|
|
381
|
-
static description = "Look up phone number information using the Twilio Lookup API.\n twilio, phone, lookup, carrier, number\n\n Use cases:\n - Validate phone numbers\n - Get carrier information\n - Determine phone number type (mobile, landline)";
|
|
382
|
-
static metadataOutputTypes = {
|
|
383
|
-
output: "dict"
|
|
384
|
-
};
|
|
385
|
-
static exposeAsTool = true;
|
|
386
|
-
static requiredSettings = [
|
|
387
|
-
"TWILIO_ACCOUNT_SID",
|
|
388
|
-
"TWILIO_AUTH_TOKEN"
|
|
389
|
-
];
|
|
390
|
-
async process() {
|
|
391
|
-
const phoneNumber = String(this.phone_number ?? "");
|
|
392
|
-
const sid = String(this.account_sid ?? "") ||
|
|
393
|
-
this._secrets["TWILIO_ACCOUNT_SID"] ||
|
|
394
|
-
"";
|
|
395
|
-
const token = String(this.auth_token ?? "") ||
|
|
396
|
-
this._secrets["TWILIO_AUTH_TOKEN"] ||
|
|
397
|
-
"";
|
|
398
|
-
if (!phoneNumber)
|
|
399
|
-
throw new Error("Phone number is required");
|
|
400
|
-
if (!sid)
|
|
401
|
-
throw new Error("Twilio Account SID is required");
|
|
402
|
-
if (!token)
|
|
403
|
-
throw new Error("Twilio Auth Token is required");
|
|
404
|
-
const url = `https://lookups.twilio.com/v2/PhoneNumbers/${encodeURIComponent(phoneNumber)}?Fields=caller_name,line_type_intelligence`;
|
|
405
|
-
const controller = new AbortController();
|
|
406
|
-
const timer = setTimeout(() => controller.abort(), TWILIO_TIMEOUT);
|
|
407
|
-
try {
|
|
408
|
-
const res = await fetch(url, {
|
|
409
|
-
method: "GET",
|
|
410
|
-
headers: {
|
|
411
|
-
Authorization: twilioAuthHeader(sid, token)
|
|
412
|
-
},
|
|
413
|
-
signal: controller.signal
|
|
414
|
-
});
|
|
415
|
-
const json = (await res.json());
|
|
416
|
-
if (!res.ok) {
|
|
417
|
-
const msg = json.message ?? res.statusText;
|
|
418
|
-
throw new Error(`Twilio Lookup API error (${res.status}): ${msg}`);
|
|
419
|
-
}
|
|
420
|
-
return {
|
|
421
|
-
output: {
|
|
422
|
-
phone_number: json.phone_number ?? phoneNumber,
|
|
423
|
-
country_code: json.country_code,
|
|
424
|
-
national_format: json.national_format,
|
|
425
|
-
valid: json.valid,
|
|
426
|
-
validation_errors: json.validation_errors,
|
|
427
|
-
caller_name: json.caller_name,
|
|
428
|
-
carrier: json.line_type_intelligence,
|
|
429
|
-
calling_country_code: json.calling_country_code,
|
|
430
|
-
url: json.url
|
|
431
|
-
}
|
|
432
|
-
};
|
|
433
|
-
}
|
|
434
|
-
finally {
|
|
435
|
-
clearTimeout(timer);
|
|
436
|
-
}
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
__decorate([
|
|
440
|
-
prop({
|
|
441
|
-
type: "str",
|
|
442
|
-
default: "",
|
|
443
|
-
title: "Phone Number",
|
|
444
|
-
description: "Phone number to look up in E.164 format (e.g. +15551234567)"
|
|
445
|
-
})
|
|
446
|
-
], TwilioLookupLibNode.prototype, "phone_number", void 0);
|
|
447
|
-
__decorate([
|
|
448
|
-
prop({
|
|
449
|
-
type: "str",
|
|
450
|
-
default: "",
|
|
451
|
-
title: "Account SID",
|
|
452
|
-
description: "Twilio Account SID (optional — falls back to TWILIO_ACCOUNT_SID secret)"
|
|
453
|
-
})
|
|
454
|
-
], TwilioLookupLibNode.prototype, "account_sid", void 0);
|
|
455
|
-
__decorate([
|
|
456
|
-
prop({
|
|
457
|
-
type: "str",
|
|
458
|
-
default: "",
|
|
459
|
-
title: "Auth Token",
|
|
460
|
-
description: "Twilio Auth Token (optional — falls back to TWILIO_AUTH_TOKEN secret)"
|
|
461
|
-
})
|
|
462
|
-
], TwilioLookupLibNode.prototype, "auth_token", void 0);
|
|
463
|
-
export const LIB_TWILIO_NODES = [
|
|
464
|
-
TwilioSendSMSLibNode,
|
|
465
|
-
TwilioSendWhatsAppLibNode,
|
|
466
|
-
TwilioGetMessagesLibNode,
|
|
467
|
-
TwilioLookupLibNode
|
|
468
|
-
];
|
|
469
|
-
//# sourceMappingURL=lib-twilio.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lib-twilio.js","sourceRoot":"","sources":["../../src/nodes/lib-twilio.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Text validation and sanitization nodes — pure-JS implementations.
|
|
3
|
-
*
|
|
4
|
-
* These replace the old `validator.js`-powered code snippets so the JS
|
|
5
|
-
* sandbox can stay lib-free. The checks aim for "good-enough for workflow
|
|
6
|
-
* use" rather than RFC-complete.
|
|
7
|
-
*/
|
|
8
|
-
import { BaseNode } from "@nodetool-ai/node-sdk";
|
|
9
|
-
export declare function isEmail(value: string): boolean;
|
|
10
|
-
export declare function isURL(value: string): boolean;
|
|
11
|
-
export declare function isIPv4(value: string): boolean;
|
|
12
|
-
export declare function isIPv6(value: string): boolean;
|
|
13
|
-
export declare function isIP(value: string): boolean;
|
|
14
|
-
export declare function isUUID(value: string): boolean;
|
|
15
|
-
export declare function isJSONString(value: string): boolean;
|
|
16
|
-
export declare function isNumeric(value: string): boolean;
|
|
17
|
-
export declare function isAlpha(value: string): boolean;
|
|
18
|
-
export declare function isAlphanumeric(value: string): boolean;
|
|
19
|
-
/** HTML-entity-escape `&`, `<`, `>`, `"`, `'` and `/`. Matches validator.escape. */
|
|
20
|
-
export declare function escapeHtml(value: string): string;
|
|
21
|
-
/** Lowercase + strip leading/trailing whitespace. Good enough for common normalisation. */
|
|
22
|
-
export declare function normalizeEmail(value: string): string;
|
|
23
|
-
export declare class ValidateEmailNode extends BaseNode {
|
|
24
|
-
static readonly nodeType = "lib.validate.Email";
|
|
25
|
-
static readonly title = "Validate Email";
|
|
26
|
-
static readonly description = "Check whether a value is a syntactically valid email address.\n validate, email, check";
|
|
27
|
-
static readonly metadataOutputTypes: {
|
|
28
|
-
output: string;
|
|
29
|
-
};
|
|
30
|
-
value: any;
|
|
31
|
-
process(): Promise<Record<string, unknown>>;
|
|
32
|
-
}
|
|
33
|
-
export declare class ValidateURLNode extends BaseNode {
|
|
34
|
-
static readonly nodeType = "lib.validate.URL";
|
|
35
|
-
static readonly title = "Validate URL";
|
|
36
|
-
static readonly description = "Check whether a value is a syntactically valid absolute URL.\n validate, url, link, check";
|
|
37
|
-
static readonly metadataOutputTypes: {
|
|
38
|
-
output: string;
|
|
39
|
-
};
|
|
40
|
-
value: any;
|
|
41
|
-
process(): Promise<Record<string, unknown>>;
|
|
42
|
-
}
|
|
43
|
-
export declare class ValidateIPNode extends BaseNode {
|
|
44
|
-
static readonly nodeType = "lib.validate.IP";
|
|
45
|
-
static readonly title = "Validate IP Address";
|
|
46
|
-
static readonly description = "Check whether a value is a valid IPv4 or IPv6 address.\n validate, ip, ipv4, ipv6, address, network";
|
|
47
|
-
static readonly metadataOutputTypes: {
|
|
48
|
-
is_ip: string;
|
|
49
|
-
is_ipv4: string;
|
|
50
|
-
is_ipv6: string;
|
|
51
|
-
};
|
|
52
|
-
value: any;
|
|
53
|
-
process(): Promise<Record<string, unknown>>;
|
|
54
|
-
}
|
|
55
|
-
export declare class ValidateStringNode extends BaseNode {
|
|
56
|
-
static readonly nodeType = "lib.validate.String";
|
|
57
|
-
static readonly title = "Validate String";
|
|
58
|
-
static readonly description = "Run several common string checks at once and return one bool per check.\n validate, check, email, url, uuid, json, number";
|
|
59
|
-
static readonly metadataOutputTypes: {
|
|
60
|
-
is_email: string;
|
|
61
|
-
is_url: string;
|
|
62
|
-
is_uuid: string;
|
|
63
|
-
is_json: string;
|
|
64
|
-
is_numeric: string;
|
|
65
|
-
is_alpha: string;
|
|
66
|
-
is_alphanumeric: string;
|
|
67
|
-
};
|
|
68
|
-
value: any;
|
|
69
|
-
process(): Promise<Record<string, unknown>>;
|
|
70
|
-
}
|
|
71
|
-
export declare class SanitizeStringNode extends BaseNode {
|
|
72
|
-
static readonly nodeType = "lib.validate.Sanitize";
|
|
73
|
-
static readonly title = "Sanitize String";
|
|
74
|
-
static readonly description = "HTML-escape, trim, and lowercase/normalise a string. Also emits the normalised email when applicable.\n sanitize, escape, html, xss, clean, trim";
|
|
75
|
-
static readonly metadataOutputTypes: {
|
|
76
|
-
escaped: string;
|
|
77
|
-
trimmed: string;
|
|
78
|
-
normalized_email: string;
|
|
79
|
-
};
|
|
80
|
-
value: any;
|
|
81
|
-
process(): Promise<Record<string, unknown>>;
|
|
82
|
-
}
|
|
83
|
-
export declare const LIB_VALIDATE_NODES: readonly [typeof ValidateEmailNode, typeof ValidateURLNode, typeof ValidateIPNode, typeof ValidateStringNode, typeof SanitizeStringNode];
|
|
84
|
-
//# sourceMappingURL=lib-validate.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lib-validate.d.ts","sourceRoot":"","sources":["../../src/nodes/lib-validate.ts"],"names":[],"mappings":"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"}
|