From 213990d51f1e68453c216b5ec06822c4b7012dde Mon Sep 17 00:00:00 2001 From: VPS 4 Deploy Agent Date: Sun, 5 Jul 2026 19:51:25 +0200 Subject: [PATCH] =?UTF-8?q?feat(secretaria):=20Secret=C3=A1ria=20IA=20sepa?= =?UTF-8?q?rada=20por=20sess=C3=A3o=20(agente=20por=20n=C3=BAmero)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Núcleo desta mudança (separação por sessão): - migrate.ts: sec_numbers.agent_id (FK→sec_agents, ON DELETE SET NULL) e sec_calendar.instance_id, com índices (aditivo/idempotente). - ext-api routes.ts: runtime resolve o agente pelo NÚMERO que recebeu a mensagem (sec_numbers[instanceId].agent_id, fallback: 1º ativo); rotas admin /secretaria/numbers e /secretaria/calendar aceitam os novos campos. - brain.ts/tools.ts: instanceId no contexto; sec_calendar interno filtrado por sessão; parse de jid robusto (.pop(), suporta 2 e 3 partes). - secretaria/routes.ts: paridade (agent_id em numbers, instance_id no calendar). Testado em dev (newwhats.dev refrescado): agentes resolvidos por instância; fallback e FK ON DELETE SET NULL verificados via ext-api. Obs.: por estarem no mesmo working tree não-commitado do newwhats.local, ext-api/routes.ts e secretaria/tools.ts também trazem o trabalho acumulado da integração do satélite (ações de inbox: delete/react/typing/labels/forward e admin /secretaria/*; tools identificar_numero/cadastrar_paciente do odonto). Co-Authored-By: Claude Opus 4.8 --- .../plugins/ext-api/backend/routes.js | 387 +++++++++++++++++- .../plugins/ext-api/backend/routes.js.map | 2 +- .../plugins/ext-api/backend/routes.ts | 317 ++++++++++++-- .../plugins/secretaria/brain.js | 1 + .../plugins/secretaria/brain.js.map | 2 +- .../plugins/secretaria/brain.ts | 2 + .../plugins/secretaria/migrate.js | 22 + .../plugins/secretaria/migrate.js.map | 2 +- .../plugins/secretaria/migrate.ts | 24 ++ .../plugins/secretaria/routes.js | 34 +- .../plugins/secretaria/routes.js.map | 2 +- .../plugins/secretaria/routes.ts | 30 +- .../plugins/secretaria/tools.js | 112 ++++- .../plugins/secretaria/tools.js.map | 2 +- .../plugins/secretaria/tools.ts | 106 ++++- 15 files changed, 960 insertions(+), 85 deletions(-) diff --git a/newwhats.clube67.com/newwhats.local/plugins/ext-api/backend/routes.js b/newwhats.clube67.com/newwhats.local/plugins/ext-api/backend/routes.js index 72864f5..bc0294b 100644 --- a/newwhats.clube67.com/newwhats.local/plugins/ext-api/backend/routes.js +++ b/newwhats.clube67.com/newwhats.local/plugins/ext-api/backend/routes.js @@ -186,8 +186,8 @@ function scheduleHandoffTimeout(convId, extChatId, tenantId, db, hooks) { try { await db('sec_conversations').where({ id: convId }) .update({ handoff_mode: 'ia', handoff_human_at: null }); - // chatId = parte após o primeiro ":" no extChatId ("tenantId:chatId") - const chatId = extChatId.includes(':') ? extChatId.split(':').slice(1).join(':') : extChatId; + // jid = último segmento do extChatId ("tenantId:jid" ou "tenantId:instanceId:jid") + const chatId = extChatId.split(':').pop() ?? extChatId; hooks.emit('ext:handoff', { tenantId, conversationId: convId, chatId, mode: 'ia', reason: 'timeout' }); } catch { } @@ -301,10 +301,22 @@ function buildExtRoutes(prisma, manager, db, config, hooks, io) { const activeBot = await prisma.aIBot.findFirst({ where: { tenantId, instanceId, enabled: true } }); if (activeBot) return; + // Canal deste número (sec_numbers da instância): define o agente/cérebro e a + // clínica (escopo da ponte de agenda). É o que separa a Secretária por sessão. + const channel = await db('sec_numbers').where({ instance_id: instanceId }).first(); + // ext_chat_id = tenant:jid (2 partes) — mantido assim porque as rotas de + // handoff reconstroem a chave só com o jid. A separação por sessão vem do + // AGENTE resolvido pelo número (channel.agent_id), não da chave da conversa. + // (Limitação conhecida: o MESMO contato falando com dois números do mesmo + // tenant reusa a 1ª conversa/agente — caso raro, follow-up.) const extKey = `${tenantId}:${jid}`; let conv = await db('sec_conversations').where({ ext_chat_id: extKey, status: 'active' }).first(); if (!conv) { - const agent = await db('sec_agents').where({ active: true }).orderBy('created_at').first(); + // Agente do número (channel.agent_id); fallback: primeiro agente ativo (legado). + const agent = (channel?.agent_id + ? await db('sec_agents').where({ id: channel.agent_id, active: true }).first() + : null) + ?? await db('sec_agents').where({ active: true }).orderBy('created_at').first(); if (!agent) return; // Nome legível: Contact (agenda/WhatsApp) → telefone formatado → jid. @@ -329,11 +341,9 @@ function buildExtRoutes(prisma, manager, db, config, hooks, io) { // SEC-14: indicador de digitação antes de chamar a IA const sock = manager?.getSocket(instanceId); await sock?.sendPresenceUpdate('composing', jid).catch(() => { }); - // Modelo de canal: a clínica vem do NÚMERO que recebeu a mensagem - // (sec_numbers.clinica_id da instância) — escopo da ponte de agenda. - const channel = await db('sec_numbers').where({ instance_id: instanceId }).first(); + // Clínica e agenda vêm do NÚMERO que recebeu a mensagem (channel, resolvido acima). const brain = new brain_1.ProtocolEngine(db, config); - const reply = await brain.chat(conv.id, text.trim(), { tenantId, hooks, clinicaId: channel?.clinica_id }); + const reply = await brain.chat(conv.id, text.trim(), { tenantId, hooks, clinicaId: channel?.clinica_id, instanceId }); await sock?.sendPresenceUpdate('paused', jid).catch(() => { }); await sendSecretariaReply({ instanceId, tenantId, chatId, jid, reply }); }); @@ -698,6 +708,10 @@ function buildExtRoutes(prisma, manager, db, config, hooks, io) { manager.getIO().to(`chat:${msg.chatId}`).emit('message:media_ready', { messageId, mediaUrl }); } catch { } + try { + hooks.emit('ext:message.media_ready', { tenantId, messageId, mediaUrl, timestamp: Date.now() }); + } + catch { } // Thumbnail (imagem, não-figurinha) → carregamento rápido nas prévias. Best-effort: // grava no Wasabi como .thumb.webp e é servido/cacheado igual à mídia. if (mediaStorage?.isRegistered?.() && !mediaUrl.startsWith('/media/') && /^image\//i.test(mime) && contentType !== 'stickerMessage') { @@ -720,6 +734,7 @@ function buildExtRoutes(prisma, manager, db, config, hooks, io) { // ── GET /inbox ──────────────────────────────────────────────────────────── // Lista chats da instância com snapshot da última mensagem. router.get('/inbox', async (req, res) => { + var _a; const tenantId = req.extTenantId; const sessionId = req.query['session']; const search = req.query['search']; @@ -784,6 +799,17 @@ function buildExtRoutes(prisma, manager, db, config, hooks, io) { }, }, }); + // Etiquetas por chat (join chat_labels + labels do tenant). + const chatIds = chats.map((c) => c.id); + const labelRows = chatIds.length + ? await db('chat_labels as cl').join('labels as l', 'l.id', 'cl.label_id') + .whereIn('cl.chat_id', chatIds).where('l.tenant_id', tenantId) + .select('cl.chat_id', 'l.id', 'l.name', 'l.color') + : []; + const labelsByChat = {}; + for (const r of labelRows) { + (labelsByChat[_a = r.chat_id] ?? (labelsByChat[_a] = [])).push({ id: r.id, name: r.name, color: r.color }); + } // Resolve nome de exibição: Contact.name > Contact.verifiedName > Contact.notify > Chat.name const result = chats.map((c) => { const ct = c.contact; @@ -799,6 +825,7 @@ function buildExtRoutes(prisma, manager, db, config, hooks, io) { lastMessageAt: c.lastMessageAt, isPinned: c.isPinned, isArchived: c.isArchived, + labels: labelsByChat[c.id] ?? [], lastMessage: lastMsg ? { body: lastMsg.body, type: lastMsg.type, fromMe: lastMsg.fromMe, status: lastMsg.status, timestamp: lastMsg.timestamp } : null, @@ -837,13 +864,38 @@ function buildExtRoutes(prisma, manager, db, config, hooks, io) { return; } try { - // profilePictureUrl pode TRAVAR (contato com foto restrita/privacidade ou - // sem resposta do WhatsApp). Corremos contra um timeout para responder - // rápido (404 → cai nas iniciais) e nunca estourar 504 no gateway. - const url = await Promise.race([ - sock.profilePictureUrl(jid, 'image').catch(() => null), - new Promise((resolve) => setTimeout(() => resolve(null), 5000)), - ]); + // profilePictureUrl pode TRAVAR (sem resposta do WhatsApp) ou FALHAR na + // alta-resolução ('image') mesmo quando a foto EXISTE e é visível no app. + // Tentamos 'image' e, se vier vazio/erro, caímos para 'preview' (baixa-res, + // bem mais confiável). Cada tentativa corre contra um timeout para nunca + // estourar 504 no gateway. O erro real é logado (antes era silenciado). + const raceTimeout = (p, ms = 8000) => Promise.race([p, new Promise((r) => setTimeout(() => r(null), ms))]); + const tryFetch = (target, type) => raceTimeout(sock.profilePictureUrl(target, type).catch((e) => { + console.warn(`[avatar] ${target} ${type} falhou:`, e?.message || e); + return null; + })); + let url = (await tryFetch(jid, 'image')) || (await tryFetch(jid, 'preview')); + // O WhatsApp novo endereça contatos por @lid (identidade oculta): a foto NÃO + // resolve pelo JID de telefone (@s.whatsapp.net) — só pelo @lid. Resolvemos o + // @lid pelo mapa lid↔pn do engine (infinite/baileys7 mantêm um LIDMappingStore, + // populado quando a mensagem chega) e, em último caso, via onWhatsApp(). + if (!url && jid.endsWith('@s.whatsapp.net')) { + let lid; + try { + const map = sock.signalRepository?.lidMapping; + if (map?.getLIDForPN) { + lid = (await raceTimeout(Promise.resolve(map.getLIDForPN(jid)), 6000)) ?? undefined; + } + } + catch { /* engine sem lidMapping */ } + if (!lid) { + const info = await raceTimeout(sock.onWhatsApp(jid).catch(() => null), 8000); + lid = Array.isArray(info) ? info[0]?.lid : undefined; + } + if (lid) { + url = (await tryFetch(lid, 'image')) || (await tryFetch(lid, 'preview')); + } + } if (!url) { // Sem foto acessível → limpa a URL obsoleta do banco para não servir de // novo a URL 404 (futuras cargas vêm avatar=null → iniciais na hora). @@ -851,7 +903,8 @@ function buildExtRoutes(prisma, manager, db, config, hooks, io) { where: { tenantId, instanceId: sessionId, jid, avatarUrl: { not: null } }, data: { avatarUrl: null }, }); - res.status(404).json({ avatar: null }); + // 200 (não 404) — "sem foto" é resultado válido; evita ruído de erro no console. + res.status(200).json({ avatar: null }); return; } await prisma.contact.updateMany({ @@ -904,6 +957,7 @@ function buildExtRoutes(prisma, manager, db, config, hooks, io) { timestamp: true, pushName: true, senderJid: true, + reactions: true, }, }); // mediaRecoverable: já tem URL, ou tem o WAMessage salvo (mediaPayload) / arquivo @@ -1070,13 +1124,269 @@ function buildExtRoutes(prisma, manager, db, config, hooks, io) { res.status(500).json({ error: err.message ?? 'Erro ao apagar mensagem' }); } }); + // ── DELETE /inbox/:chatId/messages ──────────────────────────────────────── + // "Limpar conversa": remove TODAS as mensagens do chat no motor, mantendo o chat. + // Limpeza LOCAL do inbox (não revoga nada no WhatsApp) — análogo ao "Limpar conversa". + // A permissão (dono OU can_delete_msg) é validada no satélite (proxy) antes daqui. + router.delete('/inbox/:chatId/messages', async (req, res) => { + const tenantId = req.extTenantId; + const chatId = req.params['chatId']; + try { + const chat = await prisma.chat.findFirst({ where: { id: chatId, tenantId }, select: { id: true } }); + if (!chat) { + res.status(404).json({ error: 'Chat não encontrado' }); + return; + } + const { count } = await prisma.message.deleteMany({ where: { chatId, tenantId } }); + res.json({ ok: true, deleted: count }); + } + catch (err) { + res.status(500).json({ error: err.message ?? 'Erro ao limpar conversa' }); + } + }); + // ── POST /inbox/:chatId/messages/:messageId/react ───────────────────────── + // Reage a uma mensagem (emoji). emoji vazio = remove a reação. :messageId = id + // interno (uuid). Envia via Baileys ({ react: { text, key } }). + router.post('/inbox/:chatId/messages/:messageId/react', async (req, res) => { + const tenantId = req.extTenantId; + const chatId = req.params['chatId']; + const messageId = req.params['messageId']; + const { emoji } = req.body; + try { + const msg = await prisma.message.findFirst({ + where: { id: messageId, chatId, tenantId }, + select: { messageId: true, fromMe: true, remoteJid: true, senderJid: true, instanceId: true, reactions: true }, + }); + if (!msg) { + res.status(404).json({ error: 'Mensagem não encontrada' }); + return; + } + const sock = manager.getSocket(msg.instanceId); + if (!sock) { + res.status(400).json({ error: 'Instância não conectada' }); + return; + } + const key = { remoteJid: msg.remoteJid, fromMe: msg.fromMe, id: msg.messageId }; + if (msg.remoteJid.endsWith('@g.us') && msg.senderJid) + key.participant = msg.senderJid; + await sock.sendMessage(msg.remoteJid, { react: { text: emoji ?? '', key } }); + // Persiste a MINHA reação (chave 'me') para sobreviver ao reload. + const r = { ...(msg.reactions || {}) }; + if (emoji) + r['me'] = emoji; + else + delete r['me']; + await prisma.message.update({ where: { id: messageId }, data: { reactions: r } }).catch(() => { }); + res.json({ ok: true }); + } + catch (err) { + res.status(500).json({ error: err.message ?? 'Erro ao reagir' }); + } + }); + // ── POST /inbox/:chatId/typing ──────────────────────────────────────────── + // Envia MINHA presença ao contato: state = 'composing' | 'paused' | 'recording'. + router.post('/inbox/:chatId/typing', async (req, res) => { + const tenantId = req.extTenantId; + const chatId = req.params['chatId']; + const state = (req.body?.state ?? 'composing'); + try { + const chat = await prisma.chat.findFirst({ where: { id: chatId, tenantId }, select: { jid: true, instanceId: true } }); + if (!chat) { + res.status(404).json({ error: 'Chat não encontrado' }); + return; + } + const sock = manager.getSocket(chat.instanceId); + if (!sock) { + res.status(400).json({ error: 'Instância não conectada' }); + return; + } + const st = ['composing', 'paused', 'recording'].includes(state) ? state : 'composing'; + await sock.sendPresenceUpdate(st, chat.jid); + res.json({ ok: true }); + } + catch (err) { + res.status(500).json({ error: err.message ?? 'Erro ao enviar presença' }); + } + }); + // ═══ Etiquetas (labels) — por tenant; atribuídas a chats ═══════════════════ + router.get('/labels', async (req, res) => { + try { + const rows = await db('labels').where({ tenant_id: req.extTenantId }).orderBy('created_at', 'asc'); + res.json(rows.map(l => ({ id: l.id, name: l.name, color: l.color }))); + } + catch (err) { + res.status(500).json({ error: err.message ?? 'Erro ao listar etiquetas' }); + } + }); + router.post('/labels', async (req, res) => { + const { name, color } = req.body; + if (!name?.trim()) { + res.status(400).json({ error: 'Campo "name" obrigatório' }); + return; + } + try { + const id = uuid(); + const c = (typeof color === 'string' && color) ? color : '#00a884'; + await db('labels').insert({ id, tenant_id: req.extTenantId, name: name.trim(), color: c }); + res.json({ id, name: name.trim(), color: c }); + } + catch (err) { + res.status(500).json({ error: err.message ?? 'Erro ao criar etiqueta' }); + } + }); + router.patch('/labels/:id', async (req, res) => { + const { name, color } = req.body; + const patch = {}; + if (typeof name === 'string' && name.trim()) + patch['name'] = name.trim(); + if (typeof color === 'string' && color) + patch['color'] = color; + if (!Object.keys(patch).length) { + res.status(400).json({ error: 'Nada para atualizar' }); + return; + } + try { + const n = await db('labels').where({ id: req.params['id'], tenant_id: req.extTenantId }).update(patch); + if (!n) { + res.status(404).json({ error: 'Etiqueta não encontrada' }); + return; + } + res.json({ ok: true }); + } + catch (err) { + res.status(500).json({ error: err.message ?? 'Erro ao editar etiqueta' }); + } + }); + router.delete('/labels/:id', async (req, res) => { + try { + const n = await db('labels').where({ id: req.params['id'], tenant_id: req.extTenantId }).del(); + res.json({ ok: true, deleted: n }); + } + catch (err) { + res.status(500).json({ error: err.message ?? 'Erro ao apagar etiqueta' }); + } + }); + // Define as etiquetas de um chat (substitui o conjunto). Body: { labelIds: string[] }. + router.put('/inbox/:chatId/labels', async (req, res) => { + const tenantId = req.extTenantId; + const chatId = req.params['chatId']; + const { labelIds } = req.body; + if (!Array.isArray(labelIds)) { + res.status(400).json({ error: 'labelIds (array) obrigatório' }); + return; + } + try { + const chat = await prisma.chat.findFirst({ where: { id: chatId, tenantId }, select: { id: true } }); + if (!chat) { + res.status(404).json({ error: 'Chat não encontrado' }); + return; + } + const valid = await db('labels').where({ tenant_id: tenantId }).whereIn('id', labelIds.length ? labelIds : ['']).pluck('id'); + await db('chat_labels').where({ chat_id: chatId }).del(); + if (valid.length) + await db('chat_labels').insert(valid.map(id => ({ chat_id: chatId, label_id: id }))); + res.json({ ok: true, labelIds: valid }); + } + catch (err) { + res.status(500).json({ error: err.message ?? 'Erro ao aplicar etiquetas' }); + } + }); + // ── PATCH /inbox/:chatId/messages/:messageId ────────────────────────────── + // Edita uma mensagem de texto enviada por você (edit do WhatsApp via Baileys). + router.patch('/inbox/:chatId/messages/:messageId', async (req, res) => { + const tenantId = req.extTenantId; + const chatId = req.params['chatId']; + const messageId = req.params['messageId']; + const { text } = req.body; + if (!text?.trim()) { + res.status(400).json({ error: 'Campo "text" obrigatório' }); + return; + } + try { + const msg = await prisma.message.findFirst({ + where: { id: messageId, chatId, tenantId }, + select: { messageId: true, fromMe: true, remoteJid: true, instanceId: true }, + }); + if (!msg) { + res.status(404).json({ error: 'Mensagem não encontrada' }); + return; + } + if (!msg.fromMe) { + res.status(400).json({ error: 'Só é possível editar mensagens enviadas por você.' }); + return; + } + const sock = manager.getSocket(msg.instanceId); + if (!sock) { + res.status(400).json({ error: 'Instância não conectada' }); + return; + } + await sock.sendMessage(msg.remoteJid, { text: text.trim(), edit: { remoteJid: msg.remoteJid, fromMe: true, id: msg.messageId } }); + await prisma.message.update({ where: { id: messageId }, data: { body: text.trim() } }).catch(() => { }); + res.json({ ok: true }); + } + catch (err) { + res.status(500).json({ error: err.message ?? 'Erro ao editar mensagem' }); + } + }); + // ── POST /inbox/:chatId/messages/:messageId/forward ─────────────────────── + // Encaminha uma mensagem para outros chats. Body: { toChatIds: string[] } (ids internos). + router.post('/inbox/:chatId/messages/:messageId/forward', async (req, res) => { + const tenantId = req.extTenantId; + const chatId = req.params['chatId']; + const messageId = req.params['messageId']; + const { toChatIds } = req.body; + if (!Array.isArray(toChatIds) || toChatIds.length === 0) { + res.status(400).json({ error: 'toChatIds (array) obrigatório' }); + return; + } + try { + const msg = await prisma.message.findFirst({ + where: { id: messageId, chatId, tenantId }, + select: { messageId: true, fromMe: true, remoteJid: true, senderJid: true, body: true, mediaPayload: true, instanceId: true }, + }); + if (!msg) { + res.status(404).json({ error: 'Mensagem não encontrada' }); + return; + } + const sock = manager.getSocket(msg.instanceId); + if (!sock) { + res.status(400).json({ error: 'Instância não conectada' }); + return; + } + // WAMessage a encaminhar: usa o payload salvo (mídia/rico) ou reconstrói texto. + const key = { remoteJid: msg.remoteJid, fromMe: msg.fromMe, id: msg.messageId }; + if (msg.remoteJid.endsWith('@g.us') && msg.senderJid) + key.participant = msg.senderJid; + let waMsg; + if (msg.mediaPayload) { + const d = deserializeMediaPayload(msg.mediaPayload); + waMsg = { key: d?.key ?? key, message: d?.message ?? { conversation: msg.body ?? '' } }; + } + else { + waMsg = { key, message: { conversation: msg.body ?? '' } }; + } + const targets = await prisma.chat.findMany({ where: { id: { in: toChatIds }, tenantId }, select: { jid: true } }); + let forwarded = 0; + for (const t of targets) { + try { + await sock.sendMessage(t.jid, { forward: waMsg }); + forwarded++; + } + catch { /* segue os demais */ } + } + res.json({ ok: true, forwarded }); + } + catch (err) { + res.status(500).json({ error: err.message ?? 'Erro ao encaminhar' }); + } + }); // ── POST /inbox/:chatId/send ────────────────────────────────────────────── // Envia mensagem de texto ou rica para o chat. // Body: { text?, footer?, nativeButtons?, nativeList?, nativeCarousel?, poll? } router.post('/inbox/:chatId/send', async (req, res) => { const tenantId = req.extTenantId; const chatId = req.params['chatId']; - const { text, footer, nativeButtons, nativeList, nativeCarousel, poll } = req.body; + const { text, footer, nativeButtons, nativeList, nativeCarousel, poll, replyToMessageId } = req.body; const hasRich = !!(nativeButtons || nativeList || nativeCarousel || poll); if (!text && !hasRich) { res.status(400).json({ error: 'Campo "text" ou conteúdo rico obrigatório' }); @@ -1096,6 +1406,29 @@ function buildExtRoutes(prisma, manager, db, config, hooks, io) { res.status(400).json({ error: 'Instância não conectada' }); return; } + // Reply/citação: monta o WAMessage citado (key + message) COM o conteúdo da + // mensagem original. Sem o quotedMessage o destinatário vê "Aguardando mensagem" + // (o WhatsApp não resolve só pelo stanzaId). replyToMessageId = messageId do WA. + let quoted; + if (replyToMessageId) { + const orig = await prisma.message.findFirst({ + where: { messageId: replyToMessageId, chatId, tenantId }, + select: { messageId: true, fromMe: true, senderJid: true, body: true, mediaPayload: true }, + }); + if (orig?.messageId) { + const key = { remoteJid: chat.jid, fromMe: orig.fromMe, id: orig.messageId }; + if (chat.jid.endsWith('@g.us') && orig.senderJid) + key.participant = orig.senderJid; + let message; + if (orig.mediaPayload) { + const wa = deserializeMediaPayload(orig.mediaPayload); + message = wa?.message ?? undefined; + } + if (!message) + message = { conversation: orig.body ?? '' }; + quoted = { key, message }; + } + } // Usa o rich-message builder para converter nativeButtons/nativeList/ // nativeCarousel nos protos corretos do @whiskeysockets/baileys. // O footer legado (aninhado em nativeList) é extraído para o top-level. @@ -1110,7 +1443,7 @@ function buildExtRoutes(prisma, manager, db, config, hooks, io) { nativeList: cleanList, nativeCarousel: nativeCarousel, poll: poll, - }); + }, quoted); // Echo em tempo real: todos os operadores do número veem o envio na hora. if (waMessageId) { await echoSentMessage({ @@ -1590,9 +1923,15 @@ function buildExtRoutes(prisma, manager, db, config, hooks, io) { } }); // ── Calendar ────────────────────────────────────────────────────────────── - router.get('/secretaria/calendar', async (_req, res) => { + router.get('/secretaria/calendar', async (req, res) => { try { - res.json(await db('sec_calendar').orderBy('date').orderBy('time_start')); + // Escopo por sessão: instance_id na query → slots daquele número + globais + // (instance_id NULL). Sem query → todos (compat). + const instanceId = req.query['instance_id']?.trim() || undefined; + let q = db('sec_calendar').orderBy('date').orderBy('time_start'); + if (instanceId) + q = q.where((qb) => qb.whereNull('instance_id').orWhere('instance_id', instanceId)); + res.json(await q); } catch (err) { res.status(500).json({ error: err.message }); @@ -1603,6 +1942,7 @@ function buildExtRoutes(prisma, manager, db, config, hooks, io) { const b = req.body ?? {}; const [s] = await db('sec_calendar').insert({ id: uuid(), title: b.title ?? null, date: b.date, time_start: b.time_start, time_end: b.time_end, + instance_id: b.instance_id ?? null, attendee_name: b.attendee_name ?? null, attendee_phone: b.attendee_phone ?? null, status: b.status ?? 'available', notes: b.notes ?? null, }).returning('*'); @@ -1615,7 +1955,7 @@ function buildExtRoutes(prisma, manager, db, config, hooks, io) { router.put('/secretaria/calendar/:id', async (req, res) => { try { const b = req.body ?? {}, patch = { updated_at: new Date() }; - for (const k of ['title', 'date', 'time_start', 'time_end', 'attendee_name', 'attendee_phone', 'status', 'notes']) + for (const k of ['title', 'date', 'time_start', 'time_end', 'instance_id', 'attendee_name', 'attendee_phone', 'status', 'notes']) if (k in b) patch[k] = b[k]; const [s] = await db('sec_calendar').where({ id: req.params['id'] }).update(patch).returning('*'); @@ -1640,6 +1980,7 @@ function buildExtRoutes(prisma, manager, db, config, hooks, io) { const b = req.body ?? {}; const [n] = await db('sec_numbers').insert({ id: uuid(), instance_id: b.instance_id ?? null, clinica_id: b.clinica_id ?? null, + agent_id: b.agent_id ?? null, phone: b.phone ?? null, label: b.label ?? b.phone ?? 'Número', role: b.role ?? 'clinic', area: b.area ?? null, priority: b.priority ?? 10, active: b.active ?? true, notes: b.notes ?? null, }).returning('*'); @@ -1652,7 +1993,7 @@ function buildExtRoutes(prisma, manager, db, config, hooks, io) { router.put('/secretaria/numbers/:id', async (req, res) => { try { const b = req.body ?? {}, patch = { updated_at: new Date() }; - for (const k of ['instance_id', 'clinica_id', 'phone', 'label', 'role', 'area', 'priority', 'active', 'notes']) + for (const k of ['instance_id', 'clinica_id', 'agent_id', 'phone', 'label', 'role', 'area', 'priority', 'active', 'notes']) if (k in b) patch[k] = b[k]; const [n] = await db('sec_numbers').where({ id: req.params['id'] }).update(patch).returning('*'); @@ -1805,7 +2146,9 @@ function buildExtRoutes(prisma, manager, db, config, hooks, io) { cancelHandoffTimeout(conv.id); } await db('sec_conversations').where({ id: conv.id }).update(updateData); - res.json({ mode, conversationId: conv.id }); + // Emite p/ outros operadores verem a pausa/retomada ao vivo (satélite via ws-bridge). + hooks.emit('ext:handoff', { tenantId, conversationId: conv.id, chatId, mode, reason: 'manual', handoffHumanAt: updateData.handoff_human_at ?? null }).catch(() => { }); + res.json({ mode, conversationId: conv.id, handoffHumanAt: updateData.handoff_human_at ?? null }); } catch (err) { res.status(500).json({ error: err.message }); diff --git a/newwhats.clube67.com/newwhats.local/plugins/ext-api/backend/routes.js.map b/newwhats.clube67.com/newwhats.local/plugins/ext-api/backend/routes.js.map index bb58b41..567a722 100644 --- a/newwhats.clube67.com/newwhats.local/plugins/ext-api/backend/routes.js.map +++ b/newwhats.clube67.com/newwhats.local/plugins/ext-api/backend/routes.js.map @@ -1 +1 @@ -{"version":3,"file":"routes.js","sourceRoot":"","sources":["routes.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"routes.js","sourceRoot":"","sources":["routes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/newwhats.clube67.com/newwhats.local/plugins/ext-api/backend/routes.ts b/newwhats.clube67.com/newwhats.local/plugins/ext-api/backend/routes.ts index 4fa1b76..b206af3 100644 --- a/newwhats.clube67.com/newwhats.local/plugins/ext-api/backend/routes.ts +++ b/newwhats.clube67.com/newwhats.local/plugins/ext-api/backend/routes.ts @@ -151,8 +151,8 @@ function scheduleHandoffTimeout( try { await db('sec_conversations').where({ id: convId }) .update({ handoff_mode: 'ia', handoff_human_at: null }) - // chatId = parte após o primeiro ":" no extChatId ("tenantId:chatId") - const chatId = extChatId.includes(':') ? extChatId.split(':').slice(1).join(':') : extChatId + // jid = último segmento do extChatId ("tenantId:jid" ou "tenantId:instanceId:jid") + const chatId = extChatId.split(':').pop() ?? extChatId hooks.emit('ext:handoff', { tenantId, conversationId: convId, chatId, mode: 'ia', reason: 'timeout' }) } catch {} }, HANDOFF_TIMEOUT_MS) @@ -280,11 +280,24 @@ export function buildExtRoutes( const activeBot = await prisma.aIBot.findFirst({ where: { tenantId, instanceId, enabled: true } }) if (activeBot) return + // Canal deste número (sec_numbers da instância): define o agente/cérebro e a + // clínica (escopo da ponte de agenda). É o que separa a Secretária por sessão. + const channel = await db('sec_numbers').where({ instance_id: instanceId }).first() + + // ext_chat_id = tenant:jid (2 partes) — mantido assim porque as rotas de + // handoff reconstroem a chave só com o jid. A separação por sessão vem do + // AGENTE resolvido pelo número (channel.agent_id), não da chave da conversa. + // (Limitação conhecida: o MESMO contato falando com dois números do mesmo + // tenant reusa a 1ª conversa/agente — caso raro, follow-up.) const extKey = `${tenantId}:${jid}` let conv = await db('sec_conversations').where({ ext_chat_id: extKey, status: 'active' }).first() if (!conv) { - const agent = await db('sec_agents').where({ active: true }).orderBy('created_at').first() + // Agente do número (channel.agent_id); fallback: primeiro agente ativo (legado). + const agent = (channel?.agent_id + ? await db('sec_agents').where({ id: channel.agent_id, active: true }).first() + : null) + ?? await db('sec_agents').where({ active: true }).orderBy('created_at').first() if (!agent) return // Nome legível: Contact (agenda/WhatsApp) → telefone formatado → jid. const contact = await prisma.contact.findFirst({ @@ -310,11 +323,9 @@ export function buildExtRoutes( const sock = manager?.getSocket(instanceId) await sock?.sendPresenceUpdate('composing', jid).catch(() => {}) - // Modelo de canal: a clínica vem do NÚMERO que recebeu a mensagem - // (sec_numbers.clinica_id da instância) — escopo da ponte de agenda. - const channel = await db('sec_numbers').where({ instance_id: instanceId }).first() + // Clínica e agenda vêm do NÚMERO que recebeu a mensagem (channel, resolvido acima). const brain = new ProtocolEngine(db, config) - const reply = await brain.chat(conv.id as string, text.trim(), { tenantId, hooks, clinicaId: channel?.clinica_id }) + const reply = await brain.chat(conv.id as string, text.trim(), { tenantId, hooks, clinicaId: channel?.clinica_id, instanceId }) await sock?.sendPresenceUpdate('paused', jid).catch(() => {}) await sendSecretariaReply({ instanceId, tenantId, chatId, jid, reply }) @@ -666,6 +677,7 @@ export function buildExtRoutes( await prisma.message.update({ where: { id: messageId }, data: { mediaUrl } }) try { manager.getIO().to(`chat:${msg.chatId}`).emit('message:media_ready', { messageId, mediaUrl }) } catch {} + try { hooks.emit('ext:message.media_ready', { tenantId, messageId, mediaUrl, timestamp: Date.now() }) } catch {} // Thumbnail (imagem, não-figurinha) → carregamento rápido nas prévias. Best-effort: // grava no Wasabi como .thumb.webp e é servido/cacheado igual à mídia. @@ -757,6 +769,16 @@ export function buildExtRoutes( }, }) + // Etiquetas por chat (join chat_labels + labels do tenant). + const chatIds = chats.map((c) => c.id) + const labelRows = chatIds.length + ? await db('chat_labels as cl').join('labels as l', 'l.id', 'cl.label_id') + .whereIn('cl.chat_id', chatIds).where('l.tenant_id', tenantId) + .select('cl.chat_id', 'l.id', 'l.name', 'l.color') + : [] + const labelsByChat: Record> = {} + for (const r of labelRows as any[]) { (labelsByChat[r.chat_id] ??= []).push({ id: r.id, name: r.name, color: r.color }) } + // Resolve nome de exibição: Contact.name > Contact.verifiedName > Contact.notify > Chat.name const result = chats.map((c) => { const ct = c.contact @@ -772,6 +794,7 @@ export function buildExtRoutes( lastMessageAt: c.lastMessageAt, isPinned: c.isPinned, isArchived: c.isArchived, + labels: labelsByChat[c.id] ?? [], lastMessage: lastMsg ? { body: lastMsg.body, type: lastMsg.type, fromMe: lastMsg.fromMe, status: lastMsg.status, timestamp: lastMsg.timestamp } : null, @@ -814,13 +837,41 @@ export function buildExtRoutes( } try { - // profilePictureUrl pode TRAVAR (contato com foto restrita/privacidade ou - // sem resposta do WhatsApp). Corremos contra um timeout para responder - // rápido (404 → cai nas iniciais) e nunca estourar 504 no gateway. - const url = await Promise.race([ - sock.profilePictureUrl(jid, 'image').catch(() => null), - new Promise((resolve) => setTimeout(() => resolve(null), 5000)), - ]) + // profilePictureUrl pode TRAVAR (sem resposta do WhatsApp) ou FALHAR na + // alta-resolução ('image') mesmo quando a foto EXISTE e é visível no app. + // Tentamos 'image' e, se vier vazio/erro, caímos para 'preview' (baixa-res, + // bem mais confiável). Cada tentativa corre contra um timeout para nunca + // estourar 504 no gateway. O erro real é logado (antes era silenciado). + const raceTimeout = (p: Promise, ms = 8000): Promise => + Promise.race([p, new Promise((r) => setTimeout(() => r(null), ms))]) + const tryFetch = (target: string, type: 'image' | 'preview') => + raceTimeout( + sock.profilePictureUrl(target, type).catch((e: any) => { + console.warn(`[avatar] ${target} ${type} falhou:`, e?.message || e) + return null + }), + ) + let url = (await tryFetch(jid, 'image')) || (await tryFetch(jid, 'preview')) + // O WhatsApp novo endereça contatos por @lid (identidade oculta): a foto NÃO + // resolve pelo JID de telefone (@s.whatsapp.net) — só pelo @lid. Resolvemos o + // @lid pelo mapa lid↔pn do engine (infinite/baileys7 mantêm um LIDMappingStore, + // populado quando a mensagem chega) e, em último caso, via onWhatsApp(). + if (!url && jid.endsWith('@s.whatsapp.net')) { + let lid: string | undefined + try { + const map = (sock as any).signalRepository?.lidMapping + if (map?.getLIDForPN) { + lid = (await raceTimeout(Promise.resolve(map.getLIDForPN(jid)), 6000)) ?? undefined + } + } catch { /* engine sem lidMapping */ } + if (!lid) { + const info = await raceTimeout(sock.onWhatsApp(jid).catch(() => null), 8000) + lid = Array.isArray(info) ? info[0]?.lid : undefined + } + if (lid) { + url = (await tryFetch(lid, 'image')) || (await tryFetch(lid, 'preview')) + } + } if (!url) { // Sem foto acessível → limpa a URL obsoleta do banco para não servir de // novo a URL 404 (futuras cargas vêm avatar=null → iniciais na hora). @@ -828,7 +879,8 @@ export function buildExtRoutes( where: { tenantId, instanceId: sessionId, jid, avatarUrl: { not: null } }, data: { avatarUrl: null }, }) - res.status(404).json({ avatar: null }) + // 200 (não 404) — "sem foto" é resultado válido; evita ruído de erro no console. + res.status(200).json({ avatar: null }) return } await prisma.contact.updateMany({ @@ -883,6 +935,7 @@ export function buildExtRoutes( timestamp: true, pushName: true, senderJid: true, + reactions: true, }, }) @@ -1025,15 +1078,199 @@ export function buildExtRoutes( } }) + // ── DELETE /inbox/:chatId/messages ──────────────────────────────────────── + // "Limpar conversa": remove TODAS as mensagens do chat no motor, mantendo o chat. + // Limpeza LOCAL do inbox (não revoga nada no WhatsApp) — análogo ao "Limpar conversa". + // A permissão (dono OU can_delete_msg) é validada no satélite (proxy) antes daqui. + router.delete('/inbox/:chatId/messages', async (req: Request, res: Response) => { + const tenantId = req.extTenantId! + const chatId = req.params['chatId'] as string + try { + const chat = await prisma.chat.findFirst({ where: { id: chatId, tenantId }, select: { id: true } }) + if (!chat) { res.status(404).json({ error: 'Chat não encontrado' }); return } + const { count } = await prisma.message.deleteMany({ where: { chatId, tenantId } }) + res.json({ ok: true, deleted: count }) + } catch (err: any) { + res.status(500).json({ error: err.message ?? 'Erro ao limpar conversa' }) + } + }) + + // ── POST /inbox/:chatId/messages/:messageId/react ───────────────────────── + // Reage a uma mensagem (emoji). emoji vazio = remove a reação. :messageId = id + // interno (uuid). Envia via Baileys ({ react: { text, key } }). + router.post('/inbox/:chatId/messages/:messageId/react', async (req: Request, res: Response) => { + const tenantId = req.extTenantId! + const chatId = req.params['chatId'] as string + const messageId = req.params['messageId'] as string + const { emoji } = req.body as { emoji?: string } + try { + const msg = await prisma.message.findFirst({ + where: { id: messageId, chatId, tenantId }, + select: { messageId: true, fromMe: true, remoteJid: true, senderJid: true, instanceId: true, reactions: true }, + }) + if (!msg) { res.status(404).json({ error: 'Mensagem não encontrada' }); return } + const sock = manager.getSocket(msg.instanceId) + if (!sock) { res.status(400).json({ error: 'Instância não conectada' }); return } + const key: any = { remoteJid: msg.remoteJid, fromMe: msg.fromMe, id: msg.messageId } + if (msg.remoteJid.endsWith('@g.us') && msg.senderJid) key.participant = msg.senderJid + await sock.sendMessage(msg.remoteJid, { react: { text: emoji ?? '', key } }) + // Persiste a MINHA reação (chave 'me') para sobreviver ao reload. + const r: Record = { ...((msg.reactions as any) || {}) } + if (emoji) r['me'] = emoji; else delete r['me'] + await prisma.message.update({ where: { id: messageId }, data: { reactions: r } }).catch(() => {}) + res.json({ ok: true }) + } catch (err: any) { + res.status(500).json({ error: err.message ?? 'Erro ao reagir' }) + } + }) + + // ── POST /inbox/:chatId/typing ──────────────────────────────────────────── + // Envia MINHA presença ao contato: state = 'composing' | 'paused' | 'recording'. + router.post('/inbox/:chatId/typing', async (req: Request, res: Response) => { + const tenantId = req.extTenantId! + const chatId = req.params['chatId'] as string + const state = ((req.body as any)?.state ?? 'composing') as string + try { + const chat = await prisma.chat.findFirst({ where: { id: chatId, tenantId }, select: { jid: true, instanceId: true } }) + if (!chat) { res.status(404).json({ error: 'Chat não encontrado' }); return } + const sock = manager.getSocket(chat.instanceId) + if (!sock) { res.status(400).json({ error: 'Instância não conectada' }); return } + const st = ['composing', 'paused', 'recording'].includes(state) ? state : 'composing' + await sock.sendPresenceUpdate(st as any, chat.jid) + res.json({ ok: true }) + } catch (err: any) { + res.status(500).json({ error: err.message ?? 'Erro ao enviar presença' }) + } + }) + + // ═══ Etiquetas (labels) — por tenant; atribuídas a chats ═══════════════════ + router.get('/labels', async (req: Request, res: Response) => { + try { + const rows = await db('labels').where({ tenant_id: req.extTenantId! }).orderBy('created_at', 'asc') + res.json((rows as any[]).map(l => ({ id: l.id, name: l.name, color: l.color }))) + } catch (err: any) { res.status(500).json({ error: err.message ?? 'Erro ao listar etiquetas' }) } + }) + + router.post('/labels', async (req: Request, res: Response) => { + const { name, color } = req.body as { name?: string; color?: string } + if (!name?.trim()) { res.status(400).json({ error: 'Campo "name" obrigatório' }); return } + try { + const id = uuid() + const c = (typeof color === 'string' && color) ? color : '#00a884' + await db('labels').insert({ id, tenant_id: req.extTenantId!, name: name.trim(), color: c }) + res.json({ id, name: name.trim(), color: c }) + } catch (err: any) { res.status(500).json({ error: err.message ?? 'Erro ao criar etiqueta' }) } + }) + + router.patch('/labels/:id', async (req: Request, res: Response) => { + const { name, color } = req.body as { name?: string; color?: string } + const patch: Record = {} + if (typeof name === 'string' && name.trim()) patch['name'] = name.trim() + if (typeof color === 'string' && color) patch['color'] = color + if (!Object.keys(patch).length) { res.status(400).json({ error: 'Nada para atualizar' }); return } + try { + const n = await db('labels').where({ id: req.params['id'], tenant_id: req.extTenantId! }).update(patch) + if (!n) { res.status(404).json({ error: 'Etiqueta não encontrada' }); return } + res.json({ ok: true }) + } catch (err: any) { res.status(500).json({ error: err.message ?? 'Erro ao editar etiqueta' }) } + }) + + router.delete('/labels/:id', async (req: Request, res: Response) => { + try { + const n = await db('labels').where({ id: req.params['id'], tenant_id: req.extTenantId! }).del() + res.json({ ok: true, deleted: n }) + } catch (err: any) { res.status(500).json({ error: err.message ?? 'Erro ao apagar etiqueta' }) } + }) + + // Define as etiquetas de um chat (substitui o conjunto). Body: { labelIds: string[] }. + router.put('/inbox/:chatId/labels', async (req: Request, res: Response) => { + const tenantId = req.extTenantId! + const chatId = req.params['chatId'] as string + const { labelIds } = req.body as { labelIds?: string[] } + if (!Array.isArray(labelIds)) { res.status(400).json({ error: 'labelIds (array) obrigatório' }); return } + try { + const chat = await prisma.chat.findFirst({ where: { id: chatId, tenantId }, select: { id: true } }) + if (!chat) { res.status(404).json({ error: 'Chat não encontrado' }); return } + const valid = await db('labels').where({ tenant_id: tenantId }).whereIn('id', labelIds.length ? labelIds : ['']).pluck('id') + await db('chat_labels').where({ chat_id: chatId }).del() + if (valid.length) await db('chat_labels').insert((valid as string[]).map(id => ({ chat_id: chatId, label_id: id }))) + res.json({ ok: true, labelIds: valid }) + } catch (err: any) { res.status(500).json({ error: err.message ?? 'Erro ao aplicar etiquetas' }) } + }) + + // ── PATCH /inbox/:chatId/messages/:messageId ────────────────────────────── + // Edita uma mensagem de texto enviada por você (edit do WhatsApp via Baileys). + router.patch('/inbox/:chatId/messages/:messageId', async (req: Request, res: Response) => { + const tenantId = req.extTenantId! + const chatId = req.params['chatId'] as string + const messageId = req.params['messageId'] as string + const { text } = req.body as { text?: string } + if (!text?.trim()) { res.status(400).json({ error: 'Campo "text" obrigatório' }); return } + try { + const msg = await prisma.message.findFirst({ + where: { id: messageId, chatId, tenantId }, + select: { messageId: true, fromMe: true, remoteJid: true, instanceId: true }, + }) + if (!msg) { res.status(404).json({ error: 'Mensagem não encontrada' }); return } + if (!msg.fromMe) { res.status(400).json({ error: 'Só é possível editar mensagens enviadas por você.' }); return } + const sock = manager.getSocket(msg.instanceId) + if (!sock) { res.status(400).json({ error: 'Instância não conectada' }); return } + await sock.sendMessage(msg.remoteJid, { text: text.trim(), edit: { remoteJid: msg.remoteJid, fromMe: true, id: msg.messageId } as any }) + await prisma.message.update({ where: { id: messageId }, data: { body: text.trim() } }).catch(() => {}) + res.json({ ok: true }) + } catch (err: any) { + res.status(500).json({ error: err.message ?? 'Erro ao editar mensagem' }) + } + }) + + // ── POST /inbox/:chatId/messages/:messageId/forward ─────────────────────── + // Encaminha uma mensagem para outros chats. Body: { toChatIds: string[] } (ids internos). + router.post('/inbox/:chatId/messages/:messageId/forward', async (req: Request, res: Response) => { + const tenantId = req.extTenantId! + const chatId = req.params['chatId'] as string + const messageId = req.params['messageId'] as string + const { toChatIds } = req.body as { toChatIds?: string[] } + if (!Array.isArray(toChatIds) || toChatIds.length === 0) { + res.status(400).json({ error: 'toChatIds (array) obrigatório' }); return + } + try { + const msg = await prisma.message.findFirst({ + where: { id: messageId, chatId, tenantId }, + select: { messageId: true, fromMe: true, remoteJid: true, senderJid: true, body: true, mediaPayload: true, instanceId: true }, + }) + if (!msg) { res.status(404).json({ error: 'Mensagem não encontrada' }); return } + const sock = manager.getSocket(msg.instanceId) + if (!sock) { res.status(400).json({ error: 'Instância não conectada' }); return } + // WAMessage a encaminhar: usa o payload salvo (mídia/rico) ou reconstrói texto. + const key: any = { remoteJid: msg.remoteJid, fromMe: msg.fromMe, id: msg.messageId } + if (msg.remoteJid.endsWith('@g.us') && msg.senderJid) key.participant = msg.senderJid + let waMsg: any + if (msg.mediaPayload) { + const d = deserializeMediaPayload(msg.mediaPayload as Record) as any + waMsg = { key: d?.key ?? key, message: d?.message ?? { conversation: msg.body ?? '' } } + } else { + waMsg = { key, message: { conversation: msg.body ?? '' } } + } + const targets = await prisma.chat.findMany({ where: { id: { in: toChatIds }, tenantId }, select: { jid: true } }) + let forwarded = 0 + for (const t of targets) { + try { await sock.sendMessage(t.jid, { forward: waMsg }); forwarded++ } catch { /* segue os demais */ } + } + res.json({ ok: true, forwarded }) + } catch (err: any) { + res.status(500).json({ error: err.message ?? 'Erro ao encaminhar' }) + } + }) + // ── POST /inbox/:chatId/send ────────────────────────────────────────────── // Envia mensagem de texto ou rica para o chat. // Body: { text?, footer?, nativeButtons?, nativeList?, nativeCarousel?, poll? } router.post('/inbox/:chatId/send', async (req: Request, res: Response) => { const tenantId = req.extTenantId! const chatId = req.params['chatId'] as string - const { text, footer, nativeButtons, nativeList, nativeCarousel, poll } = req.body as { + const { text, footer, nativeButtons, nativeList, nativeCarousel, poll, replyToMessageId } = req.body as { text?: string; footer?: string; nativeButtons?: any[]; nativeList?: any; - nativeCarousel?: any; poll?: any; + nativeCarousel?: any; poll?: any; replyToMessageId?: string; } const hasRich = !!(nativeButtons || nativeList || nativeCarousel || poll) @@ -1058,6 +1295,28 @@ export function buildExtRoutes( return } + // Reply/citação: monta o WAMessage citado (key + message) COM o conteúdo da + // mensagem original. Sem o quotedMessage o destinatário vê "Aguardando mensagem" + // (o WhatsApp não resolve só pelo stanzaId). replyToMessageId = messageId do WA. + let quoted: { key: any; message: any } | undefined + if (replyToMessageId) { + const orig = await prisma.message.findFirst({ + where: { messageId: replyToMessageId, chatId, tenantId }, + select: { messageId: true, fromMe: true, senderJid: true, body: true, mediaPayload: true }, + }) + if (orig?.messageId) { + const key: any = { remoteJid: chat.jid, fromMe: orig.fromMe, id: orig.messageId } + if (chat.jid.endsWith('@g.us') && orig.senderJid) key.participant = orig.senderJid + let message: any + if (orig.mediaPayload) { + const wa = deserializeMediaPayload(orig.mediaPayload as Record) as any + message = wa?.message ?? undefined + } + if (!message) message = { conversation: orig.body ?? '' } + quoted = { key, message } + } + } + // Usa o rich-message builder para converter nativeButtons/nativeList/ // nativeCarousel nos protos corretos do @whiskeysockets/baileys. // O footer legado (aninhado em nativeList) é extraído para o top-level. @@ -1073,7 +1332,7 @@ export function buildExtRoutes( nativeList: cleanList as any, nativeCarousel: nativeCarousel as any, poll: poll as any, - }) + }, quoted) // Echo em tempo real: todos os operadores do número veem o envio na hora. if (waMessageId) { await echoSentMessage({ @@ -1503,15 +1762,22 @@ export function buildExtRoutes( }) // ── Calendar ────────────────────────────────────────────────────────────── - router.get('/secretaria/calendar', async (_req: Request, res: Response) => { - try { res.json(await db('sec_calendar').orderBy('date').orderBy('time_start')) } - catch (err: any) { res.status(500).json({ error: err.message }) } + router.get('/secretaria/calendar', async (req: Request, res: Response) => { + try { + // Escopo por sessão: instance_id na query → slots daquele número + globais + // (instance_id NULL). Sem query → todos (compat). + const instanceId = (req.query['instance_id'] as string | undefined)?.trim() || undefined + let q = db('sec_calendar').orderBy('date').orderBy('time_start') + if (instanceId) q = q.where((qb: any) => qb.whereNull('instance_id').orWhere('instance_id', instanceId)) + res.json(await q) + } catch (err: any) { res.status(500).json({ error: err.message }) } }) router.post('/secretaria/calendar', async (req: Request, res: Response) => { try { const b = req.body ?? {} const [s] = await db('sec_calendar').insert({ id: uuid(), title: b.title ?? null, date: b.date, time_start: b.time_start, time_end: b.time_end, + instance_id: b.instance_id ?? null, attendee_name: b.attendee_name ?? null, attendee_phone: b.attendee_phone ?? null, status: b.status ?? 'available', notes: b.notes ?? null, }).returning('*') @@ -1521,7 +1787,7 @@ export function buildExtRoutes( router.put('/secretaria/calendar/:id', async (req: Request, res: Response) => { try { const b = req.body ?? {}, patch: any = { updated_at: new Date() } - for (const k of ['title', 'date', 'time_start', 'time_end', 'attendee_name', 'attendee_phone', 'status', 'notes']) if (k in b) patch[k] = b[k] + for (const k of ['title', 'date', 'time_start', 'time_end', 'instance_id', 'attendee_name', 'attendee_phone', 'status', 'notes']) if (k in b) patch[k] = b[k] const [s] = await db('sec_calendar').where({ id: req.params['id'] }).update(patch).returning('*') res.json(s) } catch (err: any) { res.status(500).json({ error: err.message }) } @@ -1537,6 +1803,7 @@ export function buildExtRoutes( const b = req.body ?? {} const [n] = await db('sec_numbers').insert({ id: uuid(), instance_id: b.instance_id ?? null, clinica_id: b.clinica_id ?? null, + agent_id: b.agent_id ?? null, phone: b.phone ?? null, label: b.label ?? b.phone ?? 'Número', role: b.role ?? 'clinic', area: b.area ?? null, priority: b.priority ?? 10, active: b.active ?? true, notes: b.notes ?? null, }).returning('*') @@ -1546,7 +1813,7 @@ export function buildExtRoutes( router.put('/secretaria/numbers/:id', async (req: Request, res: Response) => { try { const b = req.body ?? {}, patch: any = { updated_at: new Date() } - for (const k of ['instance_id', 'clinica_id', 'phone', 'label', 'role', 'area', 'priority', 'active', 'notes']) if (k in b) patch[k] = b[k] + for (const k of ['instance_id', 'clinica_id', 'agent_id', 'phone', 'label', 'role', 'area', 'priority', 'active', 'notes']) if (k in b) patch[k] = b[k] const [n] = await db('sec_numbers').where({ id: req.params['id'] }).update(patch).returning('*') res.json(n) } catch (err: any) { res.status(500).json({ error: err.message }) } @@ -1665,7 +1932,9 @@ export function buildExtRoutes( } await db('sec_conversations').where({ id: conv.id }).update(updateData) - res.json({ mode, conversationId: conv.id }) + // Emite p/ outros operadores verem a pausa/retomada ao vivo (satélite via ws-bridge). + hooks.emit('ext:handoff', { tenantId, conversationId: conv.id, chatId, mode, reason: 'manual', handoffHumanAt: updateData.handoff_human_at ?? null }).catch(() => {}) + res.json({ mode, conversationId: conv.id, handoffHumanAt: updateData.handoff_human_at ?? null }) } catch (err: any) { res.status(500).json({ error: err.message }) } diff --git a/newwhats.clube67.com/newwhats.local/plugins/secretaria/brain.js b/newwhats.clube67.com/newwhats.local/plugins/secretaria/brain.js index 0fedee4..7be48b2 100644 --- a/newwhats.clube67.com/newwhats.local/plugins/secretaria/brain.js +++ b/newwhats.clube67.com/newwhats.local/plugins/secretaria/brain.js @@ -105,6 +105,7 @@ class ProtocolEngine { conversationId, extChatId: conversation.ext_chat_id ?? undefined, tenantId: opts?.tenantId, + instanceId: opts?.instanceId, hooks: opts?.hooks, agenda: { url: agendaUrl, diff --git a/newwhats.clube67.com/newwhats.local/plugins/secretaria/brain.js.map b/newwhats.clube67.com/newwhats.local/plugins/secretaria/brain.js.map index e123341..38dbeae 100644 --- a/newwhats.clube67.com/newwhats.local/plugins/secretaria/brain.js.map +++ b/newwhats.clube67.com/newwhats.local/plugins/secretaria/brain.js.map @@ -1 +1 @@ -{"version":3,"file":"brain.js","sourceRoot":"","sources":["brain.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"brain.js","sourceRoot":"","sources":["brain.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/newwhats.clube67.com/newwhats.local/plugins/secretaria/brain.ts b/newwhats.clube67.com/newwhats.local/plugins/secretaria/brain.ts index 9634011..d0a896a 100644 --- a/newwhats.clube67.com/newwhats.local/plugins/secretaria/brain.ts +++ b/newwhats.clube67.com/newwhats.local/plugins/secretaria/brain.ts @@ -46,6 +46,7 @@ export class ProtocolEngine { hooks?: HookBus tenantId?: string clinicaId?: string // clínica do canal/workspace (escopo da ponte de agenda) + instanceId?: string // número/sessão que recebeu a mensagem (escopo do calendário interno) }, ): Promise { this.notifyCtx = { hooks: opts?.hooks, tenantId: opts?.tenantId } @@ -127,6 +128,7 @@ export class ProtocolEngine { conversationId, extChatId: conversation.ext_chat_id ?? undefined, tenantId: opts?.tenantId, + instanceId: opts?.instanceId, hooks: opts?.hooks, agenda: { url: agendaUrl, diff --git a/newwhats.clube67.com/newwhats.local/plugins/secretaria/migrate.js b/newwhats.clube67.com/newwhats.local/plugins/secretaria/migrate.js index cee22df..b03a0f6 100644 --- a/newwhats.clube67.com/newwhats.local/plugins/secretaria/migrate.js +++ b/newwhats.clube67.com/newwhats.local/plugins/secretaria/migrate.js @@ -122,6 +122,18 @@ async function runMigrations(db) { t.timestamps(true, true); }); } + // ── sec_calendar — instance_id (agenda interna por sessão) ──────────────── + // Separa o calendário interno por número de WhatsApp. Nulo = slot legado/global + // (visível a todas as sessões, retrocompatível). No odonto a agenda real vem da + // ponte (clinica_id por número); este é o calendário interno/fallback. + if (await db.schema.hasTable('sec_calendar')) { + if (!(await db.schema.hasColumn('sec_calendar', 'instance_id'))) { + await db.schema.alterTable('sec_calendar', (t) => { + t.string('instance_id', 100).nullable(); + }); + await db.raw('CREATE INDEX IF NOT EXISTS idx_sec_calendar_instance ON sec_calendar (instance_id)'); + } + } // ── sec_numbers ─────────────────────────────────────────────────────────── if (!(await db.schema.hasTable('sec_numbers'))) { await db.schema.createTable('sec_numbers', (t) => { @@ -142,6 +154,16 @@ async function runMigrations(db) { // Tabela pré-existente: adiciona o mapa canal→clínica. await db.schema.alterTable('sec_numbers', (t) => t.string('clinica_id', 100).nullable()); } + // ── sec_numbers — agent_id (agente/cérebro deste número) ────────────────── + // Amarra cada número de WhatsApp a um agente (pool reutilizável). Nulo = usa o + // primeiro agente ativo (comportamento legado). É a chave da separação por + // sessão: o runtime resolve o agente pelo número que recebeu a mensagem. + if (await db.schema.hasTable('sec_numbers') && !(await db.schema.hasColumn('sec_numbers', 'agent_id'))) { + await db.schema.alterTable('sec_numbers', (t) => { + t.uuid('agent_id').nullable().references('id').inTable('sec_agents').onDelete('SET NULL'); + }); + await db.raw('CREATE INDEX IF NOT EXISTS idx_sec_numbers_agent ON sec_numbers (agent_id)'); + } // ── sec_knowledge_chunks (RAG sem pgvector) ─────────────────────────────── // Chunks de conhecimento + embedding (JSON em text). Busca por similaridade // roda na aplicação (cosseno), então não exige a extensão pgvector. diff --git a/newwhats.clube67.com/newwhats.local/plugins/secretaria/migrate.js.map b/newwhats.clube67.com/newwhats.local/plugins/secretaria/migrate.js.map index c3cd937..e269f40 100644 --- a/newwhats.clube67.com/newwhats.local/plugins/secretaria/migrate.js.map +++ b/newwhats.clube67.com/newwhats.local/plugins/secretaria/migrate.js.map @@ -1 +1 @@ -{"version":3,"file":"migrate.js","sourceRoot":"","sources":["migrate.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"migrate.js","sourceRoot":"","sources":["migrate.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/newwhats.clube67.com/newwhats.local/plugins/secretaria/migrate.ts b/newwhats.clube67.com/newwhats.local/plugins/secretaria/migrate.ts index a91aff7..2e9a820 100644 --- a/newwhats.clube67.com/newwhats.local/plugins/secretaria/migrate.ts +++ b/newwhats.clube67.com/newwhats.local/plugins/secretaria/migrate.ts @@ -131,6 +131,19 @@ export async function runMigrations(db: Knex): Promise { }) } + // ── sec_calendar — instance_id (agenda interna por sessão) ──────────────── + // Separa o calendário interno por número de WhatsApp. Nulo = slot legado/global + // (visível a todas as sessões, retrocompatível). No odonto a agenda real vem da + // ponte (clinica_id por número); este é o calendário interno/fallback. + if (await db.schema.hasTable('sec_calendar')) { + if (!(await db.schema.hasColumn('sec_calendar', 'instance_id'))) { + await db.schema.alterTable('sec_calendar', (t) => { + t.string('instance_id', 100).nullable() + }) + await db.raw('CREATE INDEX IF NOT EXISTS idx_sec_calendar_instance ON sec_calendar (instance_id)') + } + } + // ── sec_numbers ─────────────────────────────────────────────────────────── if (!(await db.schema.hasTable('sec_numbers'))) { await db.schema.createTable('sec_numbers', (t) => { @@ -151,6 +164,17 @@ export async function runMigrations(db: Knex): Promise { await db.schema.alterTable('sec_numbers', (t) => t.string('clinica_id', 100).nullable()) } + // ── sec_numbers — agent_id (agente/cérebro deste número) ────────────────── + // Amarra cada número de WhatsApp a um agente (pool reutilizável). Nulo = usa o + // primeiro agente ativo (comportamento legado). É a chave da separação por + // sessão: o runtime resolve o agente pelo número que recebeu a mensagem. + if (await db.schema.hasTable('sec_numbers') && !(await db.schema.hasColumn('sec_numbers', 'agent_id'))) { + await db.schema.alterTable('sec_numbers', (t) => { + t.uuid('agent_id').nullable().references('id').inTable('sec_agents').onDelete('SET NULL') + }) + await db.raw('CREATE INDEX IF NOT EXISTS idx_sec_numbers_agent ON sec_numbers (agent_id)') + } + // ── sec_knowledge_chunks (RAG sem pgvector) ─────────────────────────────── // Chunks de conhecimento + embedding (JSON em text). Busca por similaridade // roda na aplicação (cosseno), então não exige a extensão pgvector. diff --git a/newwhats.clube67.com/newwhats.local/plugins/secretaria/routes.js b/newwhats.clube67.com/newwhats.local/plugins/secretaria/routes.js index 06cdd5b..f4e7aa1 100644 --- a/newwhats.clube67.com/newwhats.local/plugins/secretaria/routes.js +++ b/newwhats.clube67.com/newwhats.local/plugins/secretaria/routes.js @@ -195,7 +195,7 @@ function createSecretariaRoutes(db, config) { router.get('/calendar', async (req, res) => { try { const qs = (k) => { const v = req.query[k]; return v ? String(v) : undefined; }; - const from = qs('from'), to = qs('to'), status = qs('status'); + const from = qs('from'), to = qs('to'), status = qs('status'), instanceId = qs('instance_id'); let q = db('sec_calendar').orderBy('date').orderBy('time_start'); if (from) q = q.where('date', '>=', from); @@ -203,6 +203,9 @@ function createSecretariaRoutes(db, config) { q = q.where('date', '<=', to); if (status) q = q.where({ status }); + // Escopo por sessão: slots do número + globais (instance_id NULL). + if (instanceId) + q = q.where((qb) => qb.whereNull('instance_id').orWhere('instance_id', instanceId)); res.json(await q); } catch (err) { @@ -211,9 +214,9 @@ function createSecretariaRoutes(db, config) { }); router.post('/calendar', async (req, res) => { try { - const { title, date, time_start, time_end, attendee_name, attendee_phone, notes } = req.body; + const { title, date, time_start, time_end, attendee_name, attendee_phone, notes, instance_id } = req.body; const [slot] = await db('sec_calendar').insert({ - id: uuid(), title, date, time_start, time_end, + id: uuid(), title, date, time_start, time_end, instance_id: instance_id ?? null, attendee_name, attendee_phone, notes, status: 'available', }).returning('*'); res.status(201).json(slot); @@ -224,9 +227,12 @@ function createSecretariaRoutes(db, config) { }); router.put('/calendar/:id', async (req, res) => { try { - const { title, date, time_start, time_end, attendee_name, attendee_phone, status, notes } = req.body; + const { title, date, time_start, time_end, attendee_name, attendee_phone, status, notes, instance_id } = req.body; + const patch = { title, date, time_start, time_end, attendee_name, attendee_phone, status, notes, updated_at: new Date() }; + if ('instance_id' in req.body) + patch.instance_id = instance_id ?? null; const [slot] = await db('sec_calendar').where({ id: req.params.id }) - .update({ title, date, time_start, time_end, attendee_name, attendee_phone, status, notes, updated_at: new Date() }) + .update(patch) .returning('*'); res.json(slot); } @@ -255,19 +261,20 @@ function createSecretariaRoutes(db, config) { }); router.post('/numbers', async (req, res) => { try { - const { instance_id, label, role, area, priority, notes } = req.body; + const { instance_id, label, role, area, priority, notes, agent_id } = req.body; if (!instance_id) return res.status(400).json({ error: 'instance_id é obrigatório' }); // Upsert: se já existe um registro para esse instance_id, atualiza o role const existing = await db('sec_numbers').where({ instance_id }).first(); if (existing) { - const [num] = await db('sec_numbers').where({ instance_id }) - .update({ label, role: role ?? 'clinic', area: area ?? null, priority: priority ?? 10, notes: notes ?? null, updated_at: new Date() }) - .returning('*'); + const patch = { label, role: role ?? 'clinic', area: area ?? null, priority: priority ?? 10, notes: notes ?? null, updated_at: new Date() }; + if ('agent_id' in req.body) + patch.agent_id = agent_id ?? null; + const [num] = await db('sec_numbers').where({ instance_id }).update(patch).returning('*'); return res.json(num); } const [num] = await db('sec_numbers').insert({ - id: uuid(), instance_id, label, role: role ?? 'clinic', + id: uuid(), instance_id, label, role: role ?? 'clinic', agent_id: agent_id ?? null, area: area ?? null, priority: priority ?? 10, active: true, notes: notes ?? null, }).returning('*'); res.status(201).json(num); @@ -278,9 +285,12 @@ function createSecretariaRoutes(db, config) { }); router.put('/numbers/:id', async (req, res) => { try { - const { label, role, area, instance_id, priority, active, notes } = req.body; + const { label, role, area, instance_id, priority, active, notes, agent_id } = req.body; + const patch = { label, role, area, instance_id, priority, active, notes, updated_at: new Date() }; + if ('agent_id' in req.body) + patch.agent_id = agent_id ?? null; const [num] = await db('sec_numbers').where({ id: req.params.id }) - .update({ label, role, area, instance_id, priority, active, notes, updated_at: new Date() }) + .update(patch) .returning('*'); res.json(num); } diff --git a/newwhats.clube67.com/newwhats.local/plugins/secretaria/routes.js.map b/newwhats.clube67.com/newwhats.local/plugins/secretaria/routes.js.map index e700028..6b79b35 100644 --- a/newwhats.clube67.com/newwhats.local/plugins/secretaria/routes.js.map +++ b/newwhats.clube67.com/newwhats.local/plugins/secretaria/routes.js.map @@ -1 +1 @@ -{"version":3,"file":"routes.js","sourceRoot":"","sources":["routes.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"routes.js","sourceRoot":"","sources":["routes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/newwhats.clube67.com/newwhats.local/plugins/secretaria/routes.ts b/newwhats.clube67.com/newwhats.local/plugins/secretaria/routes.ts index 4047d9b..9539386 100644 --- a/newwhats.clube67.com/newwhats.local/plugins/secretaria/routes.ts +++ b/newwhats.clube67.com/newwhats.local/plugins/secretaria/routes.ts @@ -198,11 +198,13 @@ export function createSecretariaRoutes(db: Knex, config: PluginConfigStore): Rou router.get('/calendar', async (req: Request, res: Response) => { try { const qs = (k: string) => { const v = req.query[k]; return v ? String(v) : undefined } - const from = qs('from'), to = qs('to'), status = qs('status') + const from = qs('from'), to = qs('to'), status = qs('status'), instanceId = qs('instance_id') let q = db('sec_calendar').orderBy('date').orderBy('time_start') if (from) q = q.where('date', '>=', from) if (to) q = q.where('date', '<=', to) if (status) q = q.where({ status }) + // Escopo por sessão: slots do número + globais (instance_id NULL). + if (instanceId) q = q.where((qb: any) => qb.whereNull('instance_id').orWhere('instance_id', instanceId)) res.json(await q) } catch (err: any) { res.status(500).json({ error: err.message }) @@ -211,9 +213,9 @@ export function createSecretariaRoutes(db: Knex, config: PluginConfigStore): Rou router.post('/calendar', async (req: Request, res: Response) => { try { - const { title, date, time_start, time_end, attendee_name, attendee_phone, notes } = req.body + const { title, date, time_start, time_end, attendee_name, attendee_phone, notes, instance_id } = req.body const [slot] = await db('sec_calendar').insert({ - id: uuid(), title, date, time_start, time_end, + id: uuid(), title, date, time_start, time_end, instance_id: instance_id ?? null, attendee_name, attendee_phone, notes, status: 'available', }).returning('*') res.status(201).json(slot) @@ -224,9 +226,11 @@ export function createSecretariaRoutes(db: Knex, config: PluginConfigStore): Rou router.put('/calendar/:id', async (req: Request, res: Response) => { try { - const { title, date, time_start, time_end, attendee_name, attendee_phone, status, notes } = req.body + const { title, date, time_start, time_end, attendee_name, attendee_phone, status, notes, instance_id } = req.body + const patch: any = { title, date, time_start, time_end, attendee_name, attendee_phone, status, notes, updated_at: new Date() } + if ('instance_id' in req.body) patch.instance_id = instance_id ?? null const [slot] = await db('sec_calendar').where({ id: req.params.id }) - .update({ title, date, time_start, time_end, attendee_name, attendee_phone, status, notes, updated_at: new Date() }) + .update(patch) .returning('*') res.json(slot) } catch (err: any) { @@ -256,18 +260,18 @@ export function createSecretariaRoutes(db: Knex, config: PluginConfigStore): Rou router.post('/numbers', async (req: Request, res: Response) => { try { - const { instance_id, label, role, area, priority, notes } = req.body + const { instance_id, label, role, area, priority, notes, agent_id } = req.body if (!instance_id) return res.status(400).json({ error: 'instance_id é obrigatório' }) // Upsert: se já existe um registro para esse instance_id, atualiza o role const existing = await db('sec_numbers').where({ instance_id }).first() if (existing) { - const [num] = await db('sec_numbers').where({ instance_id }) - .update({ label, role: role ?? 'clinic', area: area ?? null, priority: priority ?? 10, notes: notes ?? null, updated_at: new Date() }) - .returning('*') + const patch: any = { label, role: role ?? 'clinic', area: area ?? null, priority: priority ?? 10, notes: notes ?? null, updated_at: new Date() } + if ('agent_id' in req.body) patch.agent_id = agent_id ?? null + const [num] = await db('sec_numbers').where({ instance_id }).update(patch).returning('*') return res.json(num) } const [num] = await db('sec_numbers').insert({ - id: uuid(), instance_id, label, role: role ?? 'clinic', + id: uuid(), instance_id, label, role: role ?? 'clinic', agent_id: agent_id ?? null, area: area ?? null, priority: priority ?? 10, active: true, notes: notes ?? null, }).returning('*') res.status(201).json(num) @@ -278,9 +282,11 @@ export function createSecretariaRoutes(db: Knex, config: PluginConfigStore): Rou router.put('/numbers/:id', async (req: Request, res: Response) => { try { - const { label, role, area, instance_id, priority, active, notes } = req.body + const { label, role, area, instance_id, priority, active, notes, agent_id } = req.body + const patch: any = { label, role, area, instance_id, priority, active, notes, updated_at: new Date() } + if ('agent_id' in req.body) patch.agent_id = agent_id ?? null const [num] = await db('sec_numbers').where({ id: req.params.id }) - .update({ label, role, area, instance_id, priority, active, notes, updated_at: new Date() }) + .update(patch) .returning('*') res.json(num) } catch (err: any) { diff --git a/newwhats.clube67.com/newwhats.local/plugins/secretaria/tools.js b/newwhats.clube67.com/newwhats.local/plugins/secretaria/tools.js index b48c3dd..98be84f 100644 --- a/newwhats.clube67.com/newwhats.local/plugins/secretaria/tools.js +++ b/newwhats.clube67.com/newwhats.local/plugins/secretaria/tools.js @@ -55,12 +55,18 @@ exports.BUILTIN_TOOLS = [ return { disponivel: false, mensagem: `Agenda indisponível: ${e.message}` }; } } - // Fallback: calendário interno do motor. + // Fallback: calendário interno do motor, escopado por sessão (instance_id). + // Slots com instance_id NULL são legado/global (visíveis a todas as sessões). const from = args['data'] ?? fmtDate(new Date()); const to = args['data'] ?? fmtDate(new Date(Date.now() + 7 * 86400000)); const slots = await ctx.db('sec_calendar') .where('status', 'available') .whereBetween('date', [from, to]) + .where((qb) => { + qb.whereNull('instance_id'); + if (ctx.instanceId) + qb.orWhere('instance_id', ctx.instanceId); + }) .orderBy('date').orderBy('time_start') .limit(20); if (!slots.length) { @@ -102,7 +108,9 @@ exports.BUILTIN_TOOLS = [ // telefone: do argumento OU derivado do JID do contato (extChatId = tenant:jid) let telefone = String(args['telefone_cliente'] ?? '').replace(/\D/g, ''); if (!telefone && ctx.extChatId) { - const jid = ctx.extChatId.split(':').slice(1).join(':'); + // ext_chat_id = "tenant:jid" (legado) ou "tenant:instanceId:jid"; o jid + // não tem ':', então é sempre o último segmento. + const jid = ctx.extChatId.split(':').pop() ?? ''; telefone = (jid.split('@')[0] ?? '').replace(/\D/g, ''); } try { @@ -160,6 +168,101 @@ exports.BUILTIN_TOOLS = [ }; }, }, + // ── identificar_numero ─────────────────────────────────────────────────────── + { + name: 'identificar_numero', + description: 'SEMPRE use PRIMEIRO ao iniciar cadastro ou agendamento. Retorna quais pacientes já ' + + 'estão cadastrados NESTE número de WhatsApp (a "família" do número). Lista vazia = número novo. ' + + 'Use para: (1) saber se quem fala já é paciente; (2) ver se há dependentes no mesmo número ' + + '(ex.: mãe + filhos); (3) decidir a quem se refere o atendimento antes de agendar.', + parameters: { type: 'object', properties: {} }, + async execute(_args, ctx) { + if (!ctx.agenda?.url) + return { erro: 'Ponte de agenda indisponível.' }; + const phone = (((ctx.extChatId ?? '').split(':').pop() ?? '').split('@')[0] ?? '').replace(/\D/g, ''); + if (!phone) + return { erro: 'Não foi possível identificar o número desta conversa.' }; + try { + const u = new URL(`${ctx.agenda.url.replace(/\/$/, '')}/pacientes/lookup`); + u.searchParams.set('clinica_id', ctx.agenda.clinicaId ?? ''); + u.searchParams.set('phone', phone); + const r = await fetch(u, { headers: { 'x-nw-agenda-secret': ctx.agenda.secret ?? '' }, signal: AbortSignal.timeout(10000) }); + const j = await r.json().catch(() => ({})); + if (!r.ok) + return { erro: j?.error ?? 'Falha ao consultar a base.' }; + return { + numero: phone, + cadastrado: (j?.encontrados ?? 0) > 0, + pacientes: j?.pacientes ?? [], + dica: (j?.encontrados ?? 0) > 1 + ? 'Há mais de um paciente neste número (grupo familiar) — confirme para quem é.' + : (j?.encontrados === 1 ? 'Confirme se quem fala é este paciente.' : 'Número novo — colete os dados para cadastrar.'), + }; + } + catch (e) { + return { erro: `Base indisponível: ${e.message}` }; + } + }, + }, + // ── cadastrar_paciente ─────────────────────────────────────────────────────── + { + name: 'cadastrar_paciente', + description: 'Cadastra (ou atualiza) um paciente. REGRAS: ' + + '(1) Se quem fala é o próprio paciente adulto → eh_titular=true. ' + + '(2) Se está cadastrando um DEPENDENTE (ex.: filho menor de 18) → NÃO marque eh_titular; ' + + 'o sistema vincula ao responsável (o dono deste número) e usa o telefone da família. ' + + '(3) Menor de 18 é dependente POR PADRÃO — mas se o menor tiver WhatsApp próprio e estiver ' + + 'falando do número dele, pergunte e trate como titular. ' + + '(4) SEMPRE pergunte a data de nascimento (a idade decide se é dependente). ' + + '(5) CPF é o identificador forte (evita duplicar) — colete para adultos. ' + + 'Use identificar_numero antes para não duplicar quem já existe.', + parameters: { + type: 'object', + properties: { + nome: { type: 'string', description: 'Nome completo do paciente.' }, + data_nascimento: { type: 'string', description: 'Data de nascimento YYYY-MM-DD (define a idade).' }, + cpf: { type: 'string', description: 'CPF do paciente (recomendado para adultos).' }, + telefone: { type: 'string', description: 'Telefone próprio do paciente. Omita se for dependente sem número próprio.' }, + convenio: { type: 'string', description: 'Convênio/plano, se houver.' }, + eh_titular: { type: 'string', description: '"true" se quem fala é o próprio paciente (dono deste número).' }, + relacao: { type: 'string', description: 'Relação no grupo (ex.: filho(a), cônjuge, dependente). Opcional.' }, + responsavel_cpf: { type: 'string', description: 'CPF do responsável, se cadastrando um dependente.' }, + }, + required: ['nome'], + }, + async execute(args, ctx) { + if (!ctx.agenda?.url) + return { ok: false, erro: 'Ponte de agenda indisponível.' }; + const convPhone = (((ctx.extChatId ?? '').split(':').pop() ?? '').split('@')[0] ?? '').replace(/\D/g, ''); + const ehTitular = String(args['eh_titular'] ?? '').toLowerCase() === 'true'; + const body = { + clinica_id: ctx.agenda.clinicaId, + nome: args['nome'], cpf: args['cpf'] || null, + data_nascimento: args['data_nascimento'] || null, + telefone: args['telefone'] || (ehTitular ? convPhone : null), + convenio: args['convenio'] || null, + eh_titular: ehTitular, relacao: args['relacao'] || null, + responsavel_cpf: args['responsavel_cpf'] || null, + // Dependente sem responsável explícito → o dono DESTE número é o responsável. + responsavel_telefone: (!ehTitular && !args['responsavel_cpf']) ? convPhone : null, + }; + try { + const r = await fetch(`${ctx.agenda.url.replace(/\/$/, '')}/pacientes`, { + method: 'POST', + headers: { 'Content-Type': 'application/json', 'x-nw-agenda-secret': ctx.agenda.secret ?? '' }, + signal: AbortSignal.timeout(12000), + body: JSON.stringify(body), + }); + const j = await r.json().catch(() => ({})); + if (!r.ok) + return { ok: false, erro: j?.error ?? 'Falha ao cadastrar.' }; + return { ok: true, ...j }; + } + catch (e) { + return { ok: false, erro: `Base indisponível: ${e.message}` }; + } + }, + }, // ── escalar_humano ─────────────────────────────────────────────────────────── { name: 'escalar_humano', @@ -183,9 +286,8 @@ exports.BUILTIN_TOOLS = [ }); const conv = await ctx.db('sec_conversations').where({ id: ctx.conversationId }).first(); if (ctx.hooks && ctx.tenantId && ctx.extChatId) { - const chatId = ctx.extChatId.includes(':') - ? ctx.extChatId.split(':').slice(1).join(':') - : ctx.extChatId; + // jid = último segmento (formato "tenant:jid" ou "tenant:instanceId:jid"). + const chatId = ctx.extChatId.split(':').pop() ?? ctx.extChatId; const payload = { tenantId: ctx.tenantId, conversationId: ctx.conversationId, diff --git a/newwhats.clube67.com/newwhats.local/plugins/secretaria/tools.js.map b/newwhats.clube67.com/newwhats.local/plugins/secretaria/tools.js.map index 5422c35..069bdaa 100644 --- a/newwhats.clube67.com/newwhats.local/plugins/secretaria/tools.js.map +++ b/newwhats.clube67.com/newwhats.local/plugins/secretaria/tools.js.map @@ -1 +1 @@ -{"version":3,"file":"tools.js","sourceRoot":"","sources":["tools.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tools.js","sourceRoot":"","sources":["tools.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/newwhats.clube67.com/newwhats.local/plugins/secretaria/tools.ts b/newwhats.clube67.com/newwhats.local/plugins/secretaria/tools.ts index dd4fc37..794e95c 100644 --- a/newwhats.clube67.com/newwhats.local/plugins/secretaria/tools.ts +++ b/newwhats.clube67.com/newwhats.local/plugins/secretaria/tools.ts @@ -37,6 +37,8 @@ export interface ToolContext { conversationId: string extChatId?: string tenantId?: string + /** Número/sessão que recebeu a mensagem — escopa o calendário interno por sessão. */ + instanceId?: string hooks?: HookBus /** Ponte de agenda do satélite (scoreodonto). Quando presente, as tools de * agenda operam na agenda REAL da clínica em vez do calendário interno. */ @@ -105,12 +107,17 @@ export const BUILTIN_TOOLS: ToolDef[] = [ return { disponivel: false, mensagem: `Agenda indisponível: ${e.message}` } } } - // Fallback: calendário interno do motor. + // Fallback: calendário interno do motor, escopado por sessão (instance_id). + // Slots com instance_id NULL são legado/global (visíveis a todas as sessões). const from = args['data'] ?? fmtDate(new Date()) const to = args['data'] ?? fmtDate(new Date(Date.now() + 7 * 86_400_000)) const slots = await ctx.db('sec_calendar') .where('status', 'available') .whereBetween('date', [from, to]) + .where((qb: any) => { + qb.whereNull('instance_id') + if (ctx.instanceId) qb.orWhere('instance_id', ctx.instanceId) + }) .orderBy('date').orderBy('time_start') .limit(20) if (!slots.length) { @@ -153,7 +160,9 @@ export const BUILTIN_TOOLS: ToolDef[] = [ // telefone: do argumento OU derivado do JID do contato (extChatId = tenant:jid) let telefone = String(args['telefone_cliente'] ?? '').replace(/\D/g, '') if (!telefone && ctx.extChatId) { - const jid = ctx.extChatId.split(':').slice(1).join(':') + // ext_chat_id = "tenant:jid" (legado) ou "tenant:instanceId:jid"; o jid + // não tem ':', então é sempre o último segmento. + const jid = ctx.extChatId.split(':').pop() ?? '' telefone = (jid.split('@')[0] ?? '').replace(/\D/g, '') } try { @@ -209,6 +218,94 @@ export const BUILTIN_TOOLS: ToolDef[] = [ }, }, + // ── identificar_numero ─────────────────────────────────────────────────────── + { + name: 'identificar_numero', + description: + 'SEMPRE use PRIMEIRO ao iniciar cadastro ou agendamento. Retorna quais pacientes já ' + + 'estão cadastrados NESTE número de WhatsApp (a "família" do número). Lista vazia = número novo. ' + + 'Use para: (1) saber se quem fala já é paciente; (2) ver se há dependentes no mesmo número ' + + '(ex.: mãe + filhos); (3) decidir a quem se refere o atendimento antes de agendar.', + parameters: { type: 'object', properties: {} }, + async execute(_args: Record, ctx: ToolContext) { + if (!ctx.agenda?.url) return { erro: 'Ponte de agenda indisponível.' } + const phone = (((ctx.extChatId ?? '').split(':').pop() ?? '').split('@')[0] ?? '').replace(/\D/g, '') + if (!phone) return { erro: 'Não foi possível identificar o número desta conversa.' } + try { + const u = new URL(`${ctx.agenda.url.replace(/\/$/, '')}/pacientes/lookup`) + u.searchParams.set('clinica_id', ctx.agenda.clinicaId ?? '') + u.searchParams.set('phone', phone) + const r = await fetch(u, { headers: { 'x-nw-agenda-secret': ctx.agenda.secret ?? '' }, signal: AbortSignal.timeout(10_000) }) + const j: any = await r.json().catch(() => ({})) + if (!r.ok) return { erro: j?.error ?? 'Falha ao consultar a base.' } + return { + numero: phone, + cadastrado: (j?.encontrados ?? 0) > 0, + pacientes: j?.pacientes ?? [], + dica: (j?.encontrados ?? 0) > 1 + ? 'Há mais de um paciente neste número (grupo familiar) — confirme para quem é.' + : (j?.encontrados === 1 ? 'Confirme se quem fala é este paciente.' : 'Número novo — colete os dados para cadastrar.'), + } + } catch (e: any) { return { erro: `Base indisponível: ${e.message}` } } + }, + }, + + // ── cadastrar_paciente ─────────────────────────────────────────────────────── + { + name: 'cadastrar_paciente', + description: + 'Cadastra (ou atualiza) um paciente. REGRAS: ' + + '(1) Se quem fala é o próprio paciente adulto → eh_titular=true. ' + + '(2) Se está cadastrando um DEPENDENTE (ex.: filho menor de 18) → NÃO marque eh_titular; ' + + 'o sistema vincula ao responsável (o dono deste número) e usa o telefone da família. ' + + '(3) Menor de 18 é dependente POR PADRÃO — mas se o menor tiver WhatsApp próprio e estiver ' + + 'falando do número dele, pergunte e trate como titular. ' + + '(4) SEMPRE pergunte a data de nascimento (a idade decide se é dependente). ' + + '(5) CPF é o identificador forte (evita duplicar) — colete para adultos. ' + + 'Use identificar_numero antes para não duplicar quem já existe.', + parameters: { + type: 'object', + properties: { + nome: { type: 'string', description: 'Nome completo do paciente.' }, + data_nascimento: { type: 'string', description: 'Data de nascimento YYYY-MM-DD (define a idade).' }, + cpf: { type: 'string', description: 'CPF do paciente (recomendado para adultos).' }, + telefone: { type: 'string', description: 'Telefone próprio do paciente. Omita se for dependente sem número próprio.' }, + convenio: { type: 'string', description: 'Convênio/plano, se houver.' }, + eh_titular: { type: 'string', description: '"true" se quem fala é o próprio paciente (dono deste número).' }, + relacao: { type: 'string', description: 'Relação no grupo (ex.: filho(a), cônjuge, dependente). Opcional.' }, + responsavel_cpf: { type: 'string', description: 'CPF do responsável, se cadastrando um dependente.' }, + }, + required: ['nome'], + }, + async execute(args: Record, ctx: ToolContext) { + if (!ctx.agenda?.url) return { ok: false, erro: 'Ponte de agenda indisponível.' } + const convPhone = (((ctx.extChatId ?? '').split(':').pop() ?? '').split('@')[0] ?? '').replace(/\D/g, '') + const ehTitular = String(args['eh_titular'] ?? '').toLowerCase() === 'true' + const body: any = { + clinica_id: ctx.agenda.clinicaId, + nome: args['nome'], cpf: args['cpf'] || null, + data_nascimento: args['data_nascimento'] || null, + telefone: args['telefone'] || (ehTitular ? convPhone : null), + convenio: args['convenio'] || null, + eh_titular: ehTitular, relacao: args['relacao'] || null, + responsavel_cpf: args['responsavel_cpf'] || null, + // Dependente sem responsável explícito → o dono DESTE número é o responsável. + responsavel_telefone: (!ehTitular && !args['responsavel_cpf']) ? convPhone : null, + } + try { + const r = await fetch(`${ctx.agenda.url.replace(/\/$/, '')}/pacientes`, { + method: 'POST', + headers: { 'Content-Type': 'application/json', 'x-nw-agenda-secret': ctx.agenda.secret ?? '' }, + signal: AbortSignal.timeout(12_000), + body: JSON.stringify(body), + }) + const j: any = await r.json().catch(() => ({})) + if (!r.ok) return { ok: false, erro: j?.error ?? 'Falha ao cadastrar.' } + return { ok: true, ...j } + } catch (e: any) { return { ok: false, erro: `Base indisponível: ${e.message}` } } + }, + }, + // ── escalar_humano ─────────────────────────────────────────────────────────── { name: 'escalar_humano', @@ -233,9 +330,8 @@ export const BUILTIN_TOOLS: ToolDef[] = [ }) const conv = await ctx.db('sec_conversations').where({ id: ctx.conversationId }).first() if (ctx.hooks && ctx.tenantId && ctx.extChatId) { - const chatId = ctx.extChatId.includes(':') - ? ctx.extChatId.split(':').slice(1).join(':') - : ctx.extChatId + // jid = último segmento (formato "tenant:jid" ou "tenant:instanceId:jid"). + const chatId = ctx.extChatId.split(':').pop() ?? ctx.extChatId const payload = { tenantId: ctx.tenantId, conversationId: ctx.conversationId,