/** * WhatsApp Cloud API channel adapter (v2) — uses Chat SDK bridge. * Uses the official Meta WhatsApp Business Cloud API (not Baileys). * Self-registers on import. */ import { createWhatsAppAdapter } from '@chat-adapter/whatsapp'; import { readEnvFile } from '../env.js'; import { createChatSdkBridge } from './chat-sdk-bridge.js'; import { registerChannelAdapter } from './channel-registry.js'; registerChannelAdapter('whatsapp-cloud', { factory: () => { const env = readEnvFile([ 'WHATSAPP_ACCESS_TOKEN', 'WHATSAPP_PHONE_NUMBER_ID', 'WHATSAPP_APP_SECRET', 'WHATSAPP_VERIFY_TOKEN', ]); if (!env.WHATSAPP_ACCESS_TOKEN) return null; const whatsappAdapter = createWhatsAppAdapter({ accessToken: env.WHATSAPP_ACCESS_TOKEN, phoneNumberId: env.WHATSAPP_PHONE_NUMBER_ID, appSecret: env.WHATSAPP_APP_SECRET, verifyToken: env.WHATSAPP_VERIFY_TOKEN, }); return createChatSdkBridge({ adapter: whatsappAdapter, concurrency: 'concurrent', supportsThreads: false }); }, });