From 4e428073dfeebd4c424f5f43df1f2faf240ebfcf Mon Sep 17 00:00:00 2001 From: xavix-yo Date: Sun, 19 Jul 2026 10:08:12 +0100 Subject: [PATCH] Add WhatsApp connector v2 (Baileys, QR auth) --- connectors/connectors.json | 24 ++ connectors/whatsapp/connector.json | 36 +++ connectors/whatsapp/icon_lg.png | Bin 0 -> 74223 bytes connectors/whatsapp/icon_sm.png | Bin 0 -> 74223 bytes connectors/whatsapp/index.js | 491 +++++++++++++++++++++++++++++ connectors/whatsapp/package.json | 14 + 6 files changed, 565 insertions(+) create mode 100644 connectors/whatsapp/connector.json create mode 100644 connectors/whatsapp/icon_lg.png create mode 100644 connectors/whatsapp/icon_sm.png create mode 100644 connectors/whatsapp/index.js create mode 100644 connectors/whatsapp/package.json diff --git a/connectors/connectors.json b/connectors/connectors.json index 9caa5cb..006be94 100644 --- a/connectors/connectors.json +++ b/connectors/connectors.json @@ -297,6 +297,30 @@ {"path": "icon_lg.svg", "sha256": "b1a16c5da95783d79e06388e5a18bc6c8291875335e8ac48665edeff5aeafca7", "size": 372} ] }, + { + "id": "whatsapp", + "name": "WhatsApp", + "type": "mcp_local", + "scope": "user", + "icon_small": "whatsapp/icon_sm.png", + "icon_large": "whatsapp/icon_lg.png", + "user_description": "Send and read WhatsApp messages from your own linked account. Link via QR code \u2014 no browser needed.", + "requires": [ + "NODE" + ], + "tags": ["messaging", "mcp", "local", "whatsapp", "qr"], + "auth": { + "type": "qr" + }, + "folder": "whatsapp", + "files": [ + {"path": "connector.json", "sha256": "e6b20b9519e19f13297bc1361b342b74bedf234470dbb43d19b39622cd388a4c", "size": 1163}, + {"path": "index.js", "sha256": "38be3cc9a5e9ecf7193f917fc3b90e40aeca9753d98d69f27f8155f5f980b4c0", "size": 21258}, + {"path": "package.json", "sha256": "b99a9dccfd286b59e8482076129f2e40f7b339eba6c3db2a744887d65bd4964e", "size": 302}, + {"path": "icon_sm.png", "sha256": "1128f198b2a07041f2e0c8c330fc998d29c310ec3225f866073b9e921aa59b5f", "size": 74223}, + {"path": "icon_lg.png", "sha256": "1128f198b2a07041f2e0c8c330fc998d29c310ec3225f866073b9e921aa59b5f", "size": 74223} + ] + }, { "id": "wikipedia", "name": "Wikipedia", diff --git a/connectors/whatsapp/connector.json b/connectors/whatsapp/connector.json new file mode 100644 index 0000000..b463f65 --- /dev/null +++ b/connectors/whatsapp/connector.json @@ -0,0 +1,36 @@ +{ + "id": "whatsapp", + "name": "WhatsApp", + "version": "2.0.0", + "type": "mcp_local", + "scope": "user", + "launch_command": "node index.js", + "transport": "stdio", + "requires": ["NODE"], + "tags": ["messaging", "mcp", "local", "whatsapp", "qr"], + "dependencies": [ + "@whiskeysockets/baileys>=6.7.9", + "qrcode>=1.5.4" + ], + "setup_instructions": [ + "Skald installs dependencies automatically (npm install).", + "Open the connector in Skald and scan the QR code with your WhatsApp phone.", + "The session is persisted and survives restarts." + ], + "docs": [{ + "lang": "en", + "description": "Send and read WhatsApp messages from your own linked account. Uses Baileys multi-device protocol \u2014 no browser, no Chromium needed. Link via QR code.", + "llm_short_description": "Read and send WhatsApp messages, list chats and search contacts on the user\u2019s linked WhatsApp." + }], + "auth": { + "type": "qr" + }, + "mcp_config": { + "command": "node", + "args": ["index.js"], + "transport": "stdio" + }, + "homepage": "https://github.com/WhiskeySockets/Baileys", + "icon_small": "icon_sm.png", + "icon_large": "icon_lg.png" +} diff --git a/connectors/whatsapp/icon_lg.png b/connectors/whatsapp/icon_lg.png new file mode 100644 index 0000000000000000000000000000000000000000..6602111bfb2f94de3f16d4f4053d08807d0e17a9 GIT binary patch literal 74223 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%0D&; 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
_E4kKu}9|TKAplFgG?+q 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 ZziV-KJW^3dL#qM&%ht+~)MDYw{6Ae@?_~f0 literal 0 HcmV?d00001 diff --git a/connectors/whatsapp/icon_sm.png b/connectors/whatsapp/icon_sm.png new file mode 100644 index 0000000000000000000000000000000000000000..6602111bfb2f94de3f16d4f4053d08807d0e17a9 GIT binary patch literal 74223 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%0D&; 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
_E4kKu}9|TKAplFgG?+q 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 ZziV-KJW^3dL#qM&%ht+~)MDYw{6Ae@?_~f0 literal 0 HcmV?d00001 diff --git a/connectors/whatsapp/index.js b/connectors/whatsapp/index.js new file mode 100644 index 0000000..430dfe0 --- /dev/null +++ b/connectors/whatsapp/index.js @@ -0,0 +1,491 @@ +#!/usr/bin/env node +'use strict'; + +/** + * WhatsApp MCP Server (JSON-RPC 2.0 over stdio) — Baileys edition. + * + * Runs INSIDE the user's per-user container (blueprint §6/§7). Unlike the old + * whatsapp-web.js server, this one uses `@whiskeysockets/baileys`: a pure-WebSocket + * WhatsApp multi-device client with **no browser** — so it fits the slim + * `skald-runtime` image (node, no Chromium) and needs no puppeteer self-healing. + * + * ── Interactive login contract (the generic §15 seam) ─────────────────────────── + * A per-user connector that needs an interactive login exposes ONE standard tool, + * `login_status`, that Skald's login API calls directly (never the agent). It + * returns a small JSON object the login panel renders: + * + * { "state": "connecting" | "need_scan" | "ready" | "logged_out", + * "qr": "data:image/png;base64,…" // present only while state == need_scan + * "message": "human-readable line" } + * + * The panel polls it; when `state == "ready"` Skald flips the connector's + * `auth_state` to `ready`. WhatsApp's credential is the persisted session on disk + * (`./auth/`, under the bind-mounted home → survives a container recreate), not a + * token — so there is nothing to paste back, only a QR to scan. + */ + +const fs = require('fs'); +const path = require('path'); +const readline = require('readline'); +const qrcode = require('qrcode'); + +let makeWASocket, useMultiFileAuthState, DisconnectReason, fetchLatestBaileysVersion, jidNormalizedUser; +try { + const baileys = require('@whiskeysockets/baileys'); + makeWASocket = baileys.default || baileys.makeWASocket; + useMultiFileAuthState = baileys.useMultiFileAuthState; + DisconnectReason = baileys.DisconnectReason; + fetchLatestBaileysVersion = baileys.fetchLatestBaileysVersion; + jidNormalizedUser = baileys.jidNormalizedUser; +} catch (e) { + process.stderr.write(`[whatsapp_mcp] FATAL: baileys not installed (${e.message}). Run npm install.\n`); +} + +// ── Paths ────────────────────────────────────────────────────────────────── +// Everything hangs off __dirname (the connector dir inside the container home, +// `~/.skald/mcp//`), which is bind-mounted and therefore durable. +const AUTH_DIR = path.join(__dirname, 'auth'); // multi-file auth state (the "session") +const MEDIA_DIR = path.join(__dirname, 'media'); + +function log(msg) { process.stderr.write(`[whatsapp_mcp] ${msg}\n`); } + +// A silent logger: Baileys requires one, and anything it prints must never reach +// stdout (that channel is reserved for JSON-RPC framing). +const silentLogger = (() => { + const noop = () => {}; + const l = { level: 'silent', trace: noop, debug: noop, info: noop, warn: noop, error: noop, fatal: noop }; + l.child = () => l; + return l; +})(); + +// ── Connection state ───────────────────────────────────────────────────────── +// connecting – socket starting or reconnecting +// need_scan – a QR is available; the user must scan it +// ready – authenticated and connected; tools operational +// logged_out – the phone unlinked this device; a fresh QR + scan is required +let state = 'connecting'; +let sock = null; +let curQr = null; // latest raw QR string (null once scanned / connected) +let meJid = null; +let starting = false; + +// ── Lightweight in-memory store ─────────────────────────────────────────────── +// Baileys keeps no chat/contact store of its own; we build a minimal one from the +// history-sync event and live upserts. It lives for the process lifetime — enough +// for "what's going on now", not a full archive. +const chats = new Map(); // jid -> { id, name, unread, conversationTimestamp } +const contacts = new Map(); // jid -> { id, name } +const messages = new Map(); // jid -> [ { id, fromMe, ts, text, author } ] (capped) + +const MAX_MSGS_PER_CHAT = 200; + +function pushMessage(jid, m) { + if (!jid) return; + let arr = messages.get(jid); + if (!arr) { arr = []; messages.set(jid, arr); } + arr.push(m); + if (arr.length > MAX_MSGS_PER_CHAT) arr.splice(0, arr.length - MAX_MSGS_PER_CHAT); +} + +function contactName(jid) { + const c = contacts.get(jid); + if (c && c.name) return c.name; + const ch = chats.get(jid); + if (ch && ch.name) return ch.name; + return jid ? jid.split('@')[0] : 'unknown'; +} + +function textOf(msg) { + const m = msg.message; + if (!m) return ''; + return ( + m.conversation || + m.extendedTextMessage?.text || + m.imageMessage?.caption || + m.videoMessage?.caption || + m.documentMessage?.caption || + (m.imageMessage ? '[image]' : '') || + (m.videoMessage ? '[video]' : '') || + (m.audioMessage ? '[audio]' : '') || + (m.documentMessage ? '[document]' : '') || + (m.stickerMessage ? '[sticker]' : '') || + '' + ); +} + +// ── WhatsApp socket lifecycle ────────────────────────────────────────────────── + +async function startSock() { + if (starting) return; + starting = true; + try { + if (!makeWASocket) { state = 'connecting'; return; } + fs.mkdirSync(AUTH_DIR, { recursive: true }); + + const { state: authState, saveCreds } = await useMultiFileAuthState(AUTH_DIR); + let version; + try { ({ version } = await fetchLatestBaileysVersion()); } catch (_) { /* baileys default */ } + + sock = makeWASocket({ + version, + auth: authState, + logger: silentLogger, + browser: ['Skald', 'Chrome', '1.0.0'], + syncFullHistory: false, + markOnlineOnConnect: false, + generateHighQualityLinkPreview: false, + }); + + sock.ev.on('creds.update', saveCreds); + + sock.ev.on('connection.update', (u) => { + const { connection, lastDisconnect, qr } = u; + if (qr) { curQr = qr; state = 'need_scan'; log('QR ready — awaiting scan'); } + if (connection === 'open') { + curQr = null; + state = 'ready'; + meJid = sock?.user?.id ? jidNormalizedUser(sock.user.id) : null; + log('connection open — ready'); + } + if (connection === 'close') { + const code = lastDisconnect?.error?.output?.statusCode; + if (code === DisconnectReason.loggedOut) { + state = 'logged_out'; + curQr = null; + log('logged out by phone — clearing session'); + try { fs.rmSync(AUTH_DIR, { recursive: true, force: true }); } catch (_) {} + // Re-init so a fresh QR is produced immediately. + starting = false; + setTimeout(() => startSock(), 500); + } else { + state = 'connecting'; + log(`connection closed (code ${code ?? '?'}) — reconnecting`); + starting = false; + setTimeout(() => startSock(), 1500); + } + } + }); + + // Initial history sync: chats, contacts and a batch of messages. + sock.ev.on('messaging-history.set', ({ chats: hc, contacts: hcs, messages: hm }) => { + for (const c of hc || []) { + chats.set(c.id, { + id: c.id, + name: c.name || c.subject || null, + unread: c.unreadCount || 0, + conversationTimestamp: Number(c.conversationTimestamp) || 0, + }); + } + for (const c of hcs || []) { + contacts.set(c.id, { id: c.id, name: c.name || c.notify || c.verifiedName || null }); + } + for (const m of hm || []) ingestMessage(m, false); + }); + + sock.ev.on('chats.upsert', (cs) => { + for (const c of cs) chats.set(c.id, { + id: c.id, name: c.name || c.subject || null, + unread: c.unreadCount || 0, + conversationTimestamp: Number(c.conversationTimestamp) || 0, + }); + }); + sock.ev.on('contacts.upsert', (cs) => { + for (const c of cs) contacts.set(c.id, { id: c.id, name: c.name || c.notify || c.verifiedName || null }); + }); + sock.ev.on('contacts.update', (cs) => { + for (const c of cs) { + const prev = contacts.get(c.id) || { id: c.id }; + contacts.set(c.id, { ...prev, name: c.name || c.notify || prev.name || null }); + } + }); + + sock.ev.on('messages.upsert', ({ messages: ms, type }) => { + for (const m of ms) ingestMessage(m, type === 'notify'); + }); + } catch (e) { + log(`startSock error: ${e.message}`); + state = 'connecting'; + } finally { + starting = false; + } +} + +function ingestMessage(m, live) { + try { + const jid = m.key?.remoteJid; + if (!jid || jid === 'status@broadcast') return; + const text = textOf(m); + pushMessage(jid, { + id: m.key?.id, + fromMe: !!m.key?.fromMe, + ts: Number(m.messageTimestamp) || 0, + text, + author: m.key?.participant || (m.key?.fromMe ? meJid : jid), + }); + if (live && !chats.has(jid)) { + chats.set(jid, { id: jid, name: m.pushName || null, unread: 0, conversationTimestamp: Number(m.messageTimestamp) || 0 }); + } else if (live) { + const ch = chats.get(jid); + ch.conversationTimestamp = Number(m.messageTimestamp) || ch.conversationTimestamp; + if (m.pushName && !ch.name) ch.name = m.pushName; + } + } catch (_) {} +} + +// ── Helpers ──────────────────────────────────────────────────────────────────── + +// Turn a plain phone number or a chat id into a WhatsApp jid. +function toJid(chat_id, number) { + if (chat_id && chat_id.includes('@')) return chat_id; + const raw = (chat_id || number || '').replace(/[^0-9]/g, ''); + if (!raw) return null; + return `${raw}@s.whatsapp.net`; +} + +function requireReady() { + if (state !== 'ready') { + throw new Error(`WhatsApp is not connected (state: ${state}). ` + + (state === 'need_scan' || state === 'logged_out' + ? 'Open the connector in Skald and scan the QR code to sign in.' + : 'It is still connecting — try again in a few seconds.')); + } +} + +// ── Tools: interactive login (the §15 generic contract) ───────────────────────── + +async function toolLoginStatus() { + let qrDataUrl = null; + if (state === 'need_scan' && curQr) { + try { qrDataUrl = await qrcode.toDataURL(curQr, { width: 320, margin: 2 }); } catch (_) {} + } + const message = { + connecting: 'Connecting to WhatsApp…', + need_scan: 'Scan this QR code: WhatsApp → Settings → Linked Devices → Link a Device.', + ready: 'WhatsApp is connected.', + logged_out: 'This device was unlinked. Scan the new QR code to sign in again.', + }[state] || state; + // Returned as a JSON string in a text content part; the login API parses it. + return JSON.stringify({ state, qr: qrDataUrl, message }); +} + +async function toolStatus() { + const s = await toolLoginStatus(); + const { state: st, message } = JSON.parse(s); + const chatCount = chats.size; + return `WhatsApp status: ${st.toUpperCase()}\n${message}` + + (st === 'ready' ? `\nKnown chats: ${chatCount}` : ''); +} + +async function toolLogout() { + try { if (sock) await sock.logout(); } catch (_) {} + try { fs.rmSync(AUTH_DIR, { recursive: true, force: true }); } catch (_) {} + chats.clear(); contacts.clear(); messages.clear(); + curQr = null; state = 'connecting'; starting = false; meJid = null; + setTimeout(() => startSock(), 500); + return 'Logged out and cleared the session. A new QR code will be generated — open the connector in Skald and scan it.'; +} + +// ── Tools: messaging ──────────────────────────────────────────────────────────── + +async function toolListChats(args) { + requireReady(); + const max = Math.min(Math.max(1, args.max_chats || 20), 50); + const list = [...chats.values()] + .sort((a, b) => (b.conversationTimestamp || 0) - (a.conversationTimestamp || 0)) + .slice(0, max); + if (!list.length) return 'No chats known yet. History may still be syncing — try again in a few seconds.'; + const lines = [`Recent WhatsApp chats (${list.length}):`]; + for (const c of list) { + const kind = c.id.endsWith('@g.us') ? '[group]' : '[chat]'; + const unread = c.unread ? ` (${c.unread} unread)` : ''; + lines.push(`- ${c.name || contactName(c.id)} ${kind}${unread} | ID: ${c.id}`); + } + return lines.join('\n'); +} + +async function toolGetMessages(args) { + requireReady(); + const jid = toJid(args.chat_id, args.number); + if (!jid) return 'Error: provide chat_id or number.'; + const limit = Math.min(Math.max(1, args.limit || 20), 100); + const offset = Math.max(0, args.offset || 0); + const arr = (messages.get(jid) || []).slice().sort((a, b) => (a.ts || 0) - (b.ts || 0)); + if (!arr.length) return `No messages buffered for ${contactName(jid)} (${jid}). Only messages seen since sign-in are available.`; + const end = arr.length - offset; + const slice = arr.slice(Math.max(0, end - limit), Math.max(0, end)); + const lines = [`Messages with ${contactName(jid)} (${jid}):`]; + for (const m of slice) { + const who = m.fromMe ? 'me' : (jid.endsWith('@g.us') ? contactName(m.author) : contactName(jid)); + const when = m.ts ? new Date(m.ts * 1000).toISOString().replace('T', ' ').slice(0, 16) : ''; + lines.push(`[${when}] ${who}: ${m.text}`); + } + return lines.join('\n'); +} + +async function toolSendMessage(args) { + requireReady(); + const jid = toJid(args.chat_id, args.number); + if (!jid) return 'Error: provide chat_id or number.'; + if (!args.message) return 'Error: message is required.'; + await sock.sendMessage(jid, { text: String(args.message) }); + return `Message sent to ${contactName(jid)} (${jid}).`; +} + +async function toolSearchContacts(args) { + requireReady(); + const q = String(args.query || '').toLowerCase(); + if (!q) return 'Error: query is required.'; + const max = Math.min(Math.max(1, args.max_results || 20), 50); + const seen = new Set(); + const out = []; + for (const c of contacts.values()) { + if (out.length >= max) break; + const name = c.name || ''; + if (name.toLowerCase().includes(q) || c.id.includes(q)) { + if (seen.has(c.id)) continue; + seen.add(c.id); + out.push(`- ${name || contactName(c.id)} | ID: ${c.id}`); + } + } + if (!out.length) return `No contacts found matching "${args.query}".`; + return [`Contacts matching "${args.query}" (${out.length}):`, ...out].join('\n'); +} + +// ── MCP tool definitions ──────────────────────────────────────────────────────── + +const TOOLS = [ + { + name: 'login_status', + description: 'Interactive-login status for this connector (used by the Skald login panel). Returns a JSON object {state, qr, message}: state is connecting|need_scan|ready|logged_out; qr is a data-URL PNG present only while a scan is needed. Safe to poll.', + inputSchema: { type: 'object', properties: {} }, + }, + { + name: 'status', + description: 'WhatsApp connection status as a short human-readable report. Call this first when another WhatsApp tool fails.', + inputSchema: { type: 'object', properties: {} }, + }, + { + name: 'logout', + description: 'Log out of WhatsApp: end the session, clear the stored credentials, and generate a fresh QR code to link a (possibly different) phone. After calling, the user must scan the new QR in the Skald connector page.', + inputSchema: { type: 'object', properties: {} }, + }, + { + name: 'list_chats', + description: 'List recent WhatsApp chats (contacts and groups) with name, ID and unread count. Only chats seen since sign-in / history sync are known.', + inputSchema: { + type: 'object', + properties: { max_chats: { type: 'integer', description: 'Max chats to return (default 20, max 50).' } }, + }, + }, + { + name: 'get_messages', + description: 'Get buffered messages from a chat. Identify it with EITHER chat_id (from list_chats) OR a phone number with country code for an individual contact. Only messages seen since sign-in are available (no deep history).', + inputSchema: { + type: 'object', + properties: { + chat_id: { type: 'string', description: 'Chat ID, e.g. "39XXXXXXXXXX@s.whatsapp.net" or "…@g.us".' }, + number: { type: 'string', description: 'Alternative to chat_id: phone number with country code (e.g. "393331234567"). Ignored if chat_id is given.' }, + limit: { type: 'integer', description: 'Number of messages (default 20, max 100).' }, + offset: { type: 'integer', description: 'Skip this many of the most recent messages (default 0).' }, + }, + }, + }, + { + name: 'send_message', + description: 'Send a WhatsApp text message. Identify the recipient with EITHER chat_id (from list_chats, use for groups) OR a phone number with country code for an individual contact.', + inputSchema: { + type: 'object', + properties: { + chat_id: { type: 'string', description: 'Chat ID to send to (use for groups).' }, + number: { type: 'string', description: 'Alternative to chat_id: phone number with country code. Ignored if chat_id is given.' }, + message: { type: 'string', description: 'The text to send.' }, + }, + required: ['message'], + }, + }, + { + name: 'search_contacts', + description: 'Search known WhatsApp contacts by name or number. Use to find a contact ID to message.', + inputSchema: { + type: 'object', + properties: { + query: { type: 'string', description: 'Name or partial name/number (case-insensitive).' }, + max_results: { type: 'integer', description: 'Max contacts to return (default 20, max 50).' }, + }, + required: ['query'], + }, + }, +]; + +// ── JSON-RPC framing ───────────────────────────────────────────────────────── + +function okResponse(id, result) { return JSON.stringify({ jsonrpc: '2.0', id, result }); } +function textResult(id, text, isError = false) { + const result = { content: [{ type: 'text', text }] }; + if (isError) result.isError = true; + return JSON.stringify({ jsonrpc: '2.0', id, result }); +} + +async function handleRequest(msg) { + const { method, id, params } = msg; + + if (method === 'initialize') { + return okResponse(id, { + protocolVersion: '2024-11-05', + capabilities: { tools: {} }, + serverInfo: { name: 'whatsapp', version: '2.0.0' }, + }); + } + if (method === 'notifications/initialized') return null; + if (method === 'tools/list') return okResponse(id, { tools: TOOLS }); + + if (method === 'tools/call') { + const toolName = params?.name || ''; + const toolArgs = params?.arguments || {}; + let text; + try { + switch (toolName) { + case 'login_status': text = await toolLoginStatus(); break; + case 'status': text = await toolStatus(); break; + case 'logout': text = await toolLogout(); break; + case 'list_chats': text = await toolListChats(toolArgs); break; + case 'get_messages': text = await toolGetMessages(toolArgs); break; + case 'send_message': text = await toolSendMessage(toolArgs); break; + case 'search_contacts': text = await toolSearchContacts(toolArgs); break; + default: + return textResult(id, `Unknown tool: ${toolName}`, true); + } + } catch (e) { + log(`tool '${toolName}' error: ${e.message}`); + return textResult(id, `Error: ${e.message}`, true); + } + const isErr = typeof text === 'string' && text.startsWith('Error:'); + return textResult(id, text, isErr); + } + + return JSON.stringify({ jsonrpc: '2.0', id, error: { code: -32601, message: `Method not found: ${method}` } }); +} + +// ── Main ───────────────────────────────────────────────────────────────────── + +async function main() { + log('Starting WhatsApp MCP server (Baileys)'); + fs.mkdirSync(MEDIA_DIR, { recursive: true }); + startSock().catch((e) => log(`initial startSock failed: ${e.message}`)); + + const rl = readline.createInterface({ input: process.stdin, crlfDelay: Infinity }); + rl.on('line', async (line) => { + line = line.trim(); + if (!line) return; + let msg; + try { msg = JSON.parse(line); } catch (e) { log(`bad JSON on stdin: ${e.message}`); return; } + const resp = await handleRequest(msg); + if (resp !== null) process.stdout.write(resp + '\n'); + }); + rl.on('close', () => { log('stdin closed, shutting down'); process.exit(0); }); + + process.on('SIGTERM', () => { log('SIGTERM'); process.exit(0); }); + process.on('SIGINT', () => { log('SIGINT'); process.exit(0); }); +} + +main().catch((e) => { log(`Fatal: ${e.message}`); process.exit(1); }); diff --git a/connectors/whatsapp/package.json b/connectors/whatsapp/package.json new file mode 100644 index 0000000..51fe3c3 --- /dev/null +++ b/connectors/whatsapp/package.json @@ -0,0 +1,14 @@ +{ + "name": "skald-whatsapp-mcp", + "version": "2.0.0", + "private": true, + "description": "WhatsApp MCP connector for Skald (Baileys, no browser).", + "main": "index.js", + "engines": { + "node": ">=18" + }, + "dependencies": { + "@whiskeysockets/baileys": "^6.7.9", + "qrcode": "^1.5.4" + } +}