# Release Notes — ClientFlow v4928.1.4.9 ## Tema Opportunity Reply Assistant: responder ao cliente a partir da tarefa/oportunidade, usando modelos comerciais e anexos já associados à oportunidade. ## Alterações principais - Adicionado catálogo de modelos comerciais em `app/message_templates.py`. - Adicionado serviço `app/reply_assistant_service.py` para gerar rascunhos, validar contexto e enviar resposta. - Adicionada tabela `message_drafts` no arranque do schema. - Adicionado bloco **Resposta ao cliente** na página de detalhe da tarefa. - Adicionados endpoints: - `POST /tasks/{task_id}/reply-draft` - `POST /tasks/{task_id}/send-reply` - Adicionadas funções públicas de envio Chatwoot: - `send_public_message()` - `send_public_message_with_attachments()` - Adicionado registo outbound em `communications`. - Adicionado evento `reply_sent` na timeline da oportunidade. - Adicionada opção de enviar e concluir tarefa no mesmo passo. - Adicionada variável futura `CLIENTFLOW_REPLY_LLM_ENABLED=false`. ## Segurança operacional - Só permite anexar documentos da mesma oportunidade da tarefa. - Bloqueia envio sem conversa Chatwoot. - Bloqueia envio fiscal se cliente fiscal estiver incompleto. - Bloqueia PDF automático para documentos sem `external_id`. - Mantém `CHATWOOT_WRITE_ENABLED=false` como travão de segurança por defeito. ## Testes - Adicionado `tests/test_v4928_1_4_9_reply_assistant_static.py`. - Validação executada: `225 passed`.