Files
Documentos-Unicos/projetos/newwhats.clube67.com/tarefas.md
T
2026-06-28 16:53:50 +02:00

3.7 KiB
Raw Blame History

newwhats.clube67.com — Tarefas / Pendências (checklist)

Lista mestra de pendências do motor ↔ satélites. Sincronizada com a task list da sessão. Atualizar marcando [x] ao concluir e mover detalhes para a doc de estado correspondente. Última revisão: 28/jun/2026.

Regra de ouro (registro bidirecional)

  • Cada plugin satélite é único do projeto onde está instalado (ex.: o newwhats do mercado.clube67.com ≠ o de outro projeto).
  • Toda mudança no plugin deve ser registrada no motor, e toda mudança no motor que afete o contrato deve ser registrada em cada plugin. Ver integracao-satelites.md (contrato central) e o INTEGRACAO-MOTOR.md dentro de cada plugin.
  • O plugin é um braço inteligente do motor — não duplica lógica; consome, alimenta e configura o motor.

Integração satélite ↔ motor (faseado)

  • Fase 1 — Contrato documentado (integracao-satelites.md).
  • Fase 2 — Compatibilidade de API: alias GET /secretaria/numbers no ext-api.
  • Fase 3 — Config/conexão auditada: ext-api x-nw-key casa (satélite nw_t…_001 = apiKey do motor, teste vivo 200); webhook HMAC casa (secret len 64, url 127.0.0.1:4001, eventos ok). Topologia co-locada; live ponta-a-ponta exige satélite rodando co-locado. ⚠️ /nw/* usa chave diferente (nwk_…1039) — reconciliar se esse sentido for usado.
  • Fase 4sync-knowledge rodado end-to-end (driver com buildKnowledgeText real do satélite mercado@VPS3 → motor dev). Nó knowledge atualizado; RAG indexou 4 chunks com embedding Gemini 768d. ⚠️ geração LLM em 429 quota (billing). Fix de brinde: /secretaria/ask remoteJidjid.
  • Fase 5 — Satélite consumir messages.transcription do motor e remover media-transcribe.js redundante. Unificar fonte da chave Gemini (cfg.gemini_key vs process.env.GEMINI_API_KEY).

Wasabi / mídias

  • Upload fire-and-forget + proxy público de leitura (avatares e mídias).
  • StorageProvider.deletePrefix(prefix) (delete por prefixo).
  • Index de mídiasGET /api/instances/:id/media-index (chat/tipo/período, byType, paginado). Ver wasabi-midias.md.
  • Delete em lotePOST /api/instances/:id/media-batch-delete, coordenado DB ↔ Wasabi, dryRun por padrão + deleteObjects em lote.
  • Index por tamanho (bytes) — falta coluna mediaSize.
  • Reconciliação DB ↔ bucket (achar órfãos).
  • Política de retenção (arquivar/descartar áudio após transcrição salva).

Ativação do WhatsApp (trajeto inteligente)

  • POST /api/instances/provision — trajeto guiado e idempotente (instância + engine baileys7 + setor default + webhook/connect opcionais), devolve o trajeto[] visível. Ver ativacao-whatsapp.md.
  • Detecção Business no connect (grava isBusiness).
  • Secretária default automática (plugin) + webhook a partir do pair.
  • Gatilho de sync-knowledge no fim do trajeto + UI de onboarding.

Inbox / Secretária (já entregue nesta frente)

  • Transcrição/descrição no motor (Gemini) → messages.transcription.
  • Exibição da transcrição no inbox (🎤 áudio / 👁 imagem) + socket message:transcription.
  • Memória de longo prazo por contato (sec_contact_memory).
  • Ritmo humano da Secretária (typing + delay + quebra em 23 msgs).
  • Resposta em áudio (TTS) — opcional.

Validações pendentes de ambiente

  • Pareamento do WhatsApp dev (avatares/fixados) quando o aparelho voltar.