Files
DeskcommCRM/docs/specs
Rafael MelgaçoandClaude Opus 5 7806c9f26e feat(voz): traz a base da chamada de voz WhatsApp (WaCalls) do PR #628
Importa, sem alteração, o trabalho de @eudanielhenrique no PR #628: as nove
rotas de `app/api/v1/voice/`, `lib/wacalls/` (cliente HTTP, ponte de eventos
SSE, resolvedores de sessão/chamada, PCM), `hooks/voice/`, `components/voice/`,
a tela de pareamento em Conexões, as migrations 0232/0233 com o apêndice do
baseline e a linha no MANIFEST.

Este commit é a BASE — deliberadamente fiel ao original, para que os consertos
que vêm em seguida apareçam como diff legível contra o que ele escreveu, e não
diluídos numa importação já reescrita. Os defeitos conhecidos (guarda de
suporte ausente, cron de saúde de canal derrubado pelo provider novo, LGPD,
isolamento, opt-out, auditoria, dono da ligação, aviso sem porta, evento sem
consumidor) são consertados nos commits seguintes, por cima.

Fora desta importação, por pertencerem à onda 2 (outro agente): compose de
produção, Dockerfile.wacalls, workflow de publicação de imagem, kit HostGator,
e os três testes de packaging que dependem deles. `WACALLS_API_BASE_URL` em
`lib/env.ts`/`lib/agent-engine/env.ts`/`.env.example` entra idêntico ao
original porque sem ele nenhuma das rotas compila.

DESKCOMM_GOV_MIGRATION_EDIT=1 neste commit e só nele: o guard de colisão
acusou 0232/0233 contra a própria `pr628-head`, que é a origem do arquivo
importado — ele não distingue "arquivo idêntico sendo trazido" de "número novo
colidindo". Medido antes de contornar: fora de `pr628-head`, nem os NNNN
0232/0233 nem os timestamps 20260907120000/130000 existem em branch nenhuma
(a última de `origin/main` é 0231). Correções de schema desta onda entram como
forward-fix numerada nova, nunca editando estas duas.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 09:48:06 -03:00
..