bugfix: aofertas

This commit is contained in:
2026-08-21 10:47:19 -03:00
parent 19c4024693
commit 05077a91bc
4 changed files with 278 additions and 5 deletions

View File

@@ -74,11 +74,21 @@ def _format_conversation_history(
msgs.pop()
lines: list[str] = []
for msg in msgs:
cls = type(msg).__name__
if cls in _SKIPPED_CLASSES:
continue
role = _ROLE_BY_CLASS.get(cls, cls.lower())
content = _message_content_to_str(getattr(msg, "content", ""))
if isinstance(msg, dict):
role = str(msg.get("role") or msg.get("type") or "").lower()
if role in {"system", "tool", "function"}:
continue
if role == "human":
role = "user"
elif role in {"ai", "bot"}:
role = "assistant"
content = _message_content_to_str(msg.get("content", ""))
else:
cls = type(msg).__name__
if cls in _SKIPPED_CLASSES:
continue
role = _ROLE_BY_CLASS.get(cls, cls.lower())
content = _message_content_to_str(getattr(msg, "content", ""))
if content.strip():
lines.append(f"[{role}] {_truncate(content, per_message_limit)}")
return "\n".join(lines)

View File

@@ -48,6 +48,10 @@ Decida na ordem, PARE no primeiro match:
casa aqui, siga para o passo 5.
Vale o pedido generico ("quero cancelar", "todos") sobre o que a conversa
trata, e vale confirmar ou pedir permissao para executar essa acao.
IMPORTANTE: se o cliente acabou de PEDIR cancelamento/contestacao/ajuste do
mesmo alvo, a fala do agente que apenas pede CONFIRMACAO da transacao e
allowed=true. A confirmacao NAO precisa repetir a justificativa do cliente
("nao reconheco", "esta caro" etc.); o pedido transacional anterior basta.
Vale tambem trocar uma variante transacional por outra DA MESMA FAMILIA sobre
o MESMO escopo, sempre limitada ao valor JA COBRADO no item (ressarcimento <->
devolucao <-> reembolso <-> cancelamento <-> credito em fatura): negar o dobro e