@robinpath/whatsapp
Advanced tools
+36
-7
| { | ||
| "name": "@robinpath/whatsapp", | ||
| "version": "0.1.0", | ||
| "publishConfig": { "access": "public" }, | ||
| "version": "0.1.1", | ||
| "publishConfig": { | ||
| "access": "public" | ||
| }, | ||
| "type": "module", | ||
| "main": "dist/index.js", | ||
| "types": "dist/index.d.ts", | ||
| "exports": { ".": { "import": "./dist/index.js", "types": "./dist/index.d.ts" } }, | ||
| "files": ["dist"], | ||
| "scripts": { "build": "tsc" }, | ||
| "peerDependencies": { "@wiredwp/robinpath": ">=0.20.0" }, | ||
| "devDependencies": { "@wiredwp/robinpath": "^0.30.1", "typescript": "^5.6.0" } | ||
| "exports": { | ||
| ".": { | ||
| "import": "./dist/index.js", | ||
| "types": "./dist/index.d.ts" | ||
| } | ||
| }, | ||
| "files": [ | ||
| "dist" | ||
| ], | ||
| "scripts": { | ||
| "build": "tsc" | ||
| }, | ||
| "peerDependencies": { | ||
| "@robinpath/core": ">=0.20.0" | ||
| }, | ||
| "devDependencies": { | ||
| "@robinpath/core": "^0.30.1", | ||
| "typescript": "^5.6.0" | ||
| }, | ||
| "description": "WhatsApp module for RobinPath.", | ||
| "keywords": [ | ||
| "whatsapp", | ||
| "messaging" | ||
| ], | ||
| "license": "MIT", | ||
| "robinpath": { | ||
| "category": "messaging", | ||
| "type": "integration", | ||
| "auth": "api-key", | ||
| "functionCount": 10, | ||
| "baseUrl": "https://graph.facebook.com" | ||
| } | ||
| } |
| import type { ModuleAdapter } from "@wiredwp/robinpath"; | ||
| declare const WhatsappModule: ModuleAdapter; | ||
| export default WhatsappModule; | ||
| export { WhatsappModule }; | ||
| export { WhatsappFunctions, WhatsappFunctionMetadata, WhatsappModuleMetadata } from "./whatsapp.js"; | ||
| //# sourceMappingURL=index.d.ts.map |
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,QAAA,MAAM,cAAc,EAAE,aAMrB,CAAC;AAEF,eAAe,cAAc,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC"} |
| import { WhatsappFunctions, WhatsappFunctionMetadata, WhatsappModuleMetadata } from "./whatsapp.js"; | ||
| const WhatsappModule = { | ||
| name: "whatsapp", | ||
| functions: WhatsappFunctions, | ||
| functionMetadata: WhatsappFunctionMetadata, | ||
| moduleMetadata: WhatsappModuleMetadata, | ||
| global: false, | ||
| }; // as ModuleAdapter | ||
| export default WhatsappModule; | ||
| export { WhatsappModule }; | ||
| export { WhatsappFunctions, WhatsappFunctionMetadata, WhatsappModuleMetadata } from "./whatsapp.js"; | ||
| //# sourceMappingURL=index.js.map |
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEpG,MAAM,cAAc,GAAkB;IACpC,IAAI,EAAE,UAAU;IAChB,SAAS,EAAE,iBAAiB;IAC5B,gBAAgB,EAAE,wBAA+B;IACjD,cAAc,EAAE,sBAA6B;IAC7C,MAAM,EAAE,KAAK;CACd,CAAC,CAAC,mBAAmB;AAEtB,eAAe,cAAc,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC"} |
| import type { BuiltinHandler } from "@wiredwp/robinpath"; | ||
| export declare const WhatsappFunctions: Record<string, BuiltinHandler>; | ||
| export declare const WhatsappFunctionMetadata: { | ||
| setCredentials: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| description: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| example: string; | ||
| }; | ||
| sendText: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| description: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| example: string; | ||
| }; | ||
| sendTemplate: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| description: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| example: string; | ||
| }; | ||
| sendImage: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| description: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| example: string; | ||
| }; | ||
| sendDocument: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| description: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| example: string; | ||
| }; | ||
| sendLocation: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| description: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| example: string; | ||
| }; | ||
| sendContact: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| description: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| example: string; | ||
| }; | ||
| markRead: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| description: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| example: string; | ||
| }; | ||
| getProfile: { | ||
| description: string; | ||
| parameters: never[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| example: string; | ||
| }; | ||
| updateProfile: { | ||
| description: string; | ||
| parameters: { | ||
| name: string; | ||
| dataType: string; | ||
| description: string; | ||
| formInputType: string; | ||
| required: boolean; | ||
| }[]; | ||
| returnType: string; | ||
| returnDescription: string; | ||
| example: string; | ||
| }; | ||
| }; | ||
| export declare const WhatsappModuleMetadata: { | ||
| description: string; | ||
| methods: string[]; | ||
| category: string; | ||
| }; | ||
| //# sourceMappingURL=whatsapp.d.ts.map |
| {"version":3,"file":"whatsapp.d.ts","sourceRoot":"","sources":["../src/whatsapp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAA2C,MAAM,oBAAoB,CAAC;AAuJlG,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAW5D,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsGpC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;CAIlC,CAAC"} |
-273
| const config = new Map(); | ||
| function getConfig(key) { | ||
| const val = config.get(key); | ||
| if (!val) | ||
| throw new Error(`WhatsApp: "${key}" not configured. Call whatsapp.setCredentials first.`); | ||
| return val; | ||
| } | ||
| async function whatsappApi(path, method = "GET", body) { | ||
| const token = getConfig("accessToken"); | ||
| const phoneNumberId = getConfig("phoneNumberId"); | ||
| const res = await fetch(`https://graph.facebook.com/v22.0/${phoneNumberId}${path}`, { | ||
| method, | ||
| headers: { | ||
| Authorization: `Bearer ${token}`, | ||
| "Content-Type": "application/json", | ||
| }, | ||
| body: body ? JSON.stringify(body) : undefined, | ||
| }); | ||
| if (!res.ok) { | ||
| const text = await res.text(); | ||
| throw new Error(`WhatsApp API error (${res.status}): ${text}`); | ||
| } | ||
| return res.json(); | ||
| } | ||
| const setCredentials = (args) => { | ||
| const accessToken = args[0]; | ||
| const phoneNumberId = args[1]; | ||
| if (!accessToken || !phoneNumberId) | ||
| throw new Error("whatsapp.setCredentials requires accessToken and phoneNumberId."); | ||
| config.set("accessToken", accessToken); | ||
| config.set("phoneNumberId", phoneNumberId); | ||
| return "WhatsApp credentials configured."; | ||
| }; | ||
| const sendText = async (args) => { | ||
| const to = args[0]; | ||
| const message = args[1]; | ||
| if (!to || !message) | ||
| throw new Error("whatsapp.sendText requires to and message."); | ||
| return whatsappApi("/messages", "POST", { | ||
| messaging_product: "whatsapp", | ||
| to, | ||
| type: "text", | ||
| text: { body: message }, | ||
| }); | ||
| }; | ||
| const sendTemplate = async (args) => { | ||
| const to = args[0]; | ||
| const templateName = args[1]; | ||
| const languageCode = args[2] ?? "en_US"; | ||
| const components = args[3]; | ||
| if (!to || !templateName) | ||
| throw new Error("whatsapp.sendTemplate requires to and templateName."); | ||
| const template = { | ||
| name: templateName, | ||
| language: { code: languageCode }, | ||
| }; | ||
| if (components) | ||
| template.components = components; | ||
| return whatsappApi("/messages", "POST", { | ||
| messaging_product: "whatsapp", | ||
| to, | ||
| type: "template", | ||
| template, | ||
| }); | ||
| }; | ||
| const sendImage = async (args) => { | ||
| const to = args[0]; | ||
| const imageUrl = args[1]; | ||
| const caption = args[2]; | ||
| if (!to || !imageUrl) | ||
| throw new Error("whatsapp.sendImage requires to and imageUrl."); | ||
| const image = { link: imageUrl }; | ||
| if (caption) | ||
| image.caption = caption; | ||
| return whatsappApi("/messages", "POST", { | ||
| messaging_product: "whatsapp", | ||
| to, | ||
| type: "image", | ||
| image, | ||
| }); | ||
| }; | ||
| const sendDocument = async (args) => { | ||
| const to = args[0]; | ||
| const documentUrl = args[1]; | ||
| const opts = (typeof args[2] === "object" && args[2] !== null ? args[2] : {}); | ||
| if (!to || !documentUrl) | ||
| throw new Error("whatsapp.sendDocument requires to and documentUrl."); | ||
| const document = { link: documentUrl }; | ||
| if (opts.filename) | ||
| document.filename = opts.filename; | ||
| if (opts.caption) | ||
| document.caption = opts.caption; | ||
| return whatsappApi("/messages", "POST", { | ||
| messaging_product: "whatsapp", | ||
| to, | ||
| type: "document", | ||
| document, | ||
| }); | ||
| }; | ||
| const sendLocation = async (args) => { | ||
| const to = args[0]; | ||
| const latitude = args[1]; | ||
| const longitude = args[2]; | ||
| const opts = (typeof args[3] === "object" && args[3] !== null ? args[3] : {}); | ||
| if (!to || latitude === undefined || longitude === undefined) | ||
| throw new Error("whatsapp.sendLocation requires to, latitude, and longitude."); | ||
| const location = { latitude, longitude }; | ||
| if (opts.name) | ||
| location.name = opts.name; | ||
| if (opts.address) | ||
| location.address = opts.address; | ||
| return whatsappApi("/messages", "POST", { | ||
| messaging_product: "whatsapp", | ||
| to, | ||
| type: "location", | ||
| location, | ||
| }); | ||
| }; | ||
| const sendContact = async (args) => { | ||
| const to = args[0]; | ||
| const contacts = args[1]; | ||
| if (!to || !contacts) | ||
| throw new Error("whatsapp.sendContact requires to and contacts array."); | ||
| return whatsappApi("/messages", "POST", { | ||
| messaging_product: "whatsapp", | ||
| to, | ||
| type: "contacts", | ||
| contacts, | ||
| }); | ||
| }; | ||
| const markRead = async (args) => { | ||
| const messageId = args[0]; | ||
| if (!messageId) | ||
| throw new Error("whatsapp.markRead requires a messageId."); | ||
| return whatsappApi("/messages", "POST", { | ||
| messaging_product: "whatsapp", | ||
| status: "read", | ||
| message_id: messageId, | ||
| }); | ||
| }; | ||
| const getProfile = async () => { | ||
| return whatsappApi("/whatsapp_business_profile?fields=about,address,description,email,profile_picture_url,websites,vertical"); | ||
| }; | ||
| const updateProfile = async (args) => { | ||
| const profile = args[0]; | ||
| if (!profile) | ||
| throw new Error("whatsapp.updateProfile requires a profile object."); | ||
| return whatsappApi("/whatsapp_business_profile", "POST", { | ||
| messaging_product: "whatsapp", | ||
| ...profile, | ||
| }); | ||
| }; | ||
| export const WhatsappFunctions = { | ||
| setCredentials, | ||
| sendText, | ||
| sendTemplate, | ||
| sendImage, | ||
| sendDocument, | ||
| sendLocation, | ||
| sendContact, | ||
| markRead, | ||
| getProfile, | ||
| updateProfile, | ||
| }; | ||
| export const WhatsappFunctionMetadata = { | ||
| setCredentials: { | ||
| description: "Set WhatsApp Cloud API credentials.", | ||
| parameters: [ | ||
| { name: "accessToken", dataType: "string", description: "Permanent or temporary access token", formInputType: "text", required: true }, | ||
| { name: "phoneNumberId", dataType: "string", description: "WhatsApp Business phone number ID", formInputType: "text", required: true }, | ||
| ], | ||
| returnType: "string", | ||
| returnDescription: "Confirmation message.", | ||
| example: 'whatsapp.setCredentials "EAABxxx" "1234567890"', | ||
| }, | ||
| sendText: { | ||
| description: "Send a text message.", | ||
| parameters: [ | ||
| { name: "to", dataType: "string", description: "Recipient phone number (international format)", formInputType: "text", required: true }, | ||
| { name: "message", dataType: "string", description: "Message text", formInputType: "textarea", required: true }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "Message send response.", | ||
| example: 'whatsapp.sendText "+1234567890" "Hello from RobinPath!"', | ||
| }, | ||
| sendTemplate: { | ||
| description: "Send a pre-approved template message.", | ||
| parameters: [ | ||
| { name: "to", dataType: "string", description: "Recipient phone number", formInputType: "text", required: true }, | ||
| { name: "templateName", dataType: "string", description: "Template name", formInputType: "text", required: true }, | ||
| { name: "languageCode", dataType: "string", description: "Language code (default: en_US)", formInputType: "text", required: false }, | ||
| { name: "components", dataType: "array", description: "Template component parameters", formInputType: "json", required: false }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "Message send response.", | ||
| example: 'whatsapp.sendTemplate "+1234567890" "hello_world"', | ||
| }, | ||
| sendImage: { | ||
| description: "Send an image message.", | ||
| parameters: [ | ||
| { name: "to", dataType: "string", description: "Recipient phone number", formInputType: "text", required: true }, | ||
| { name: "imageUrl", dataType: "string", description: "Public URL of the image", formInputType: "text", required: true }, | ||
| { name: "caption", dataType: "string", description: "Optional image caption", formInputType: "text", required: false }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "Message send response.", | ||
| example: 'whatsapp.sendImage "+1234567890" "https://example.com/photo.jpg" "Check this out"', | ||
| }, | ||
| sendDocument: { | ||
| description: "Send a document message.", | ||
| parameters: [ | ||
| { name: "to", dataType: "string", description: "Recipient phone number", formInputType: "text", required: true }, | ||
| { name: "documentUrl", dataType: "string", description: "Public URL of the document", formInputType: "text", required: true }, | ||
| { name: "options", dataType: "object", description: "Options: filename, caption", formInputType: "json", required: false }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "Message send response.", | ||
| example: 'whatsapp.sendDocument "+1234567890" "https://example.com/report.pdf" {"filename":"report.pdf"}', | ||
| }, | ||
| sendLocation: { | ||
| description: "Send a location message.", | ||
| parameters: [ | ||
| { name: "to", dataType: "string", description: "Recipient phone number", formInputType: "text", required: true }, | ||
| { name: "latitude", dataType: "number", description: "Latitude", formInputType: "number", required: true }, | ||
| { name: "longitude", dataType: "number", description: "Longitude", formInputType: "number", required: true }, | ||
| { name: "options", dataType: "object", description: "Options: name, address", formInputType: "json", required: false }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "Message send response.", | ||
| example: 'whatsapp.sendLocation "+1234567890" 37.7749 -122.4194 {"name":"San Francisco"}', | ||
| }, | ||
| sendContact: { | ||
| description: "Send contact card(s).", | ||
| parameters: [ | ||
| { name: "to", dataType: "string", description: "Recipient phone number", formInputType: "text", required: true }, | ||
| { name: "contacts", dataType: "array", description: "Array of contact objects", formInputType: "json", required: true }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "Message send response.", | ||
| example: 'whatsapp.sendContact "+1234567890" [{"name":{"formatted_name":"John Doe"},"phones":[{"phone":"+0987654321"}]}]', | ||
| }, | ||
| markRead: { | ||
| description: "Mark a message as read.", | ||
| parameters: [ | ||
| { name: "messageId", dataType: "string", description: "Message ID to mark as read", formInputType: "text", required: true }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "Status response.", | ||
| example: 'whatsapp.markRead "wamid.xxx"', | ||
| }, | ||
| getProfile: { | ||
| description: "Get the WhatsApp Business profile.", | ||
| parameters: [], | ||
| returnType: "object", | ||
| returnDescription: "Business profile data.", | ||
| example: "whatsapp.getProfile", | ||
| }, | ||
| updateProfile: { | ||
| description: "Update the WhatsApp Business profile.", | ||
| parameters: [ | ||
| { name: "profile", dataType: "object", description: "Profile fields to update (about, address, description, email, websites, vertical)", formInputType: "json", required: true }, | ||
| ], | ||
| returnType: "object", | ||
| returnDescription: "Update response.", | ||
| example: 'whatsapp.updateProfile {"about":"We are a business","description":"Our business description"}', | ||
| }, | ||
| }; | ||
| export const WhatsappModuleMetadata = { | ||
| description: "Send messages, templates, media, and manage WhatsApp Business profiles via the WhatsApp Cloud API.", | ||
| methods: Object.keys(WhatsappFunctions), | ||
| category: "messaging", | ||
| }; | ||
| //# sourceMappingURL=whatsapp.js.map |
| {"version":3,"file":"whatsapp.js","sourceRoot":"","sources":["../src/whatsapp.ts"],"names":[],"mappings":"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"} |
Empty package
Supply chain riskPackage does not contain any code. It may be removed, is name squatting, or the result of a faulty package publish.
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Network access
Supply chain riskThis module accesses the network.
No License Found
LicenseLicense information could not be found.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
0
-100%1
-50%3842
-87.01%2
-80%0
-100%2
100%