UNPKG

plazbot

Version:

Official Plazbot SDK for creating AI agents for WhatsApp, portals, and developers.

46 lines (45 loc) 1.62 kB
"use strict"; // ============================================================================ // Plazbot Workers - defineWorker() // Crea un listener que reacciona a eventos internos de la plataforma // ============================================================================ Object.defineProperty(exports, "__esModule", { value: true }); exports.defineWorker = defineWorker; /** * Define un worker (event listener) que reacciona a eventos de Plazbot. * * Los eventos se mapean a triggers del backend existente: * - `message.received` — cliente envio un mensaje * - `message.image.received` — cliente envio una imagen * - `contact.created` — se creo un contacto nuevo * - `conversation.resolved` — se resolvio el chat * (ver tipos/events.ts para la lista completa) * * @example * ```typescript * import { defineWorker } from 'plazbot/workers'; * * export default defineWorker({ * name: 'bienvenida', * reference: 'Saluda a contactos nuevos', * events: ['contact.created'], * async handler(event, plz) { * const { contact } = event.data; * if (!contact?.phoneNumber) return; * await plz.whatsapp.send({ to: contact.phoneNumber, message: 'Bienvenido!' }); * }, * }); * ``` */ function defineWorker(config) { if (!config.name) throw new Error('defineWorker: "name" es requerido'); if (!config.events?.length) throw new Error('defineWorker: "events" debe tener al menos un evento'); if (!config.handler) throw new Error('defineWorker: "handler" es requerido'); return { __type: 'worker', config, }; }