9bbd170626
- tarefas.md: checklist mestre de pendências (fases 3-5, wasabi, ativação) - wasabi-midias.md: estado + index/delete em lote (DB↔Wasabi, retenção) - ativacao-whatsapp.md: trajeto inteligente de provisionamento no motor - integracao-satelites.md: regra de registro bidirecional + plugin único por projeto Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
54 lines
3.0 KiB
Markdown
54 lines
3.0 KiB
Markdown
# 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](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)
|
||
- [x] **Fase 1** — Contrato documentado (`integracao-satelites.md`).
|
||
- [x] **Fase 2** — Compatibilidade de API: alias `GET /secretaria/numbers` no ext-api.
|
||
- [ ] **Fase 3** — Validar config/conexão (`newwhats_url`, `integration_key`,
|
||
`api_token`, `webhook_secret`) do satélite → motor (dev/prod) + HMAC do webhook.
|
||
_Bloqueado: requer credenciais reais._
|
||
- [ ] **Fase 4** — Rodar `sync-knowledge` end-to-end (satélite → motor) e validar RAG.
|
||
_Bloqueado: requer satélite rodando + Fase 3._
|
||
- [ ] **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
|
||
- [x] Upload fire-and-forget + proxy público de leitura (avatares e mídias).
|
||
- [x] `StorageProvider.deletePrefix(prefix)` (delete por prefixo).
|
||
- [ ] **Index de mídias** — listagem por tenant/instância/chat/período (auditoria + UI).
|
||
- [ ] **Delete em lote** — por instância, período ou chat, coordenado **DB ↔ Wasabi**
|
||
(sem órfãos). Endpoint admin seguro. Ver [wasabi-midias.md](wasabi-midias.md).
|
||
- [ ] Política de retenção (arquivar/descartar áudio após transcrição salva).
|
||
|
||
## Ativação do WhatsApp (trajeto inteligente)
|
||
- [ ] Transformar `POST /` + `POST /:id/connect` em um **trajeto guiado e idempotente**
|
||
que cria e configura a conta no motor automaticamente (instância, pair/tenant,
|
||
setor + secretária default, webhook, engine, detecção Business). Ver
|
||
[ativacao-whatsapp.md](ativacao-whatsapp.md). O satélite orquestra como braço do motor.
|
||
|
||
## Inbox / Secretária (já entregue nesta frente)
|
||
- [x] Transcrição/descrição no motor (Gemini) → `messages.transcription`.
|
||
- [x] Exibição da transcrição no inbox (🎤 áudio / 👁 imagem) + socket `message:transcription`.
|
||
- [x] Memória de longo prazo por contato (`sec_contact_memory`).
|
||
- [ ] Ritmo humano da Secretária (typing + delay + quebra em 2–3 msgs).
|
||
- [ ] Resposta em áudio (TTS) — opcional.
|
||
|
||
## Validações pendentes de ambiente
|
||
- [ ] Pareamento do WhatsApp dev (avatares/fixados) quando o aparelho voltar.
|
||
</content>
|
||
</invoke>
|