first commit

This commit is contained in:
2026-06-13 08:23:21 -03:00
commit 89c23fb0ed
439 changed files with 32801 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
# Correção: extração de CPF/CNPJ/protocolo em texto livre
## Problema
Mensagem como:
```text
consultar dados do cliente cpf 169.323.728-86
```
não preenchia `BusinessContext.customer_key`, porque o `IdentityResolver` do framework resolve campos estruturados do payload/contexto, mas não extraía identificadores digitados livremente no texto.
## Ajuste
Adicionado:
```text
app/identity_extraction.py
```
com extração defensiva de:
- CPF
- CNPJ
- MSISDN com rótulo explícito
- protocolo/chamado/reclamação/ticket
## Integração
`app/main.py` agora enriquece o payload antes de chamar o `IdentityResolver`:
```python
payload = enrich_payload_with_text_identity(req.payload or {})
```
`app/agents/backoffice_agent.py` também usa a extração como fallback antes de chamar tools MCP, garantindo que `customer_key` e `protocol_id` sejam preenchidos quando vierem no texto.
## Exemplo
Entrada:
```json
{
"message": "consultar dados do cliente cpf 169.323.728-86"
}
```
Contexto extraído:
```json
{
"customer_key": "16932372886",
"cpf": "16932372886",
"document": "16932372886",
"document_type": "cpf"
}
```