Commit Graph

4 Commits (0eb56f1f0a63a4bac924ace0e6d8cc9240cad2b8)

Author SHA1 Message Date
Vitor Hugo Belorio Simão 407727d80b 🧠 feat(orchestration): padronizar erros de tool e reduzir fallback deterministico
- normalizar HTTPException em um contrato estruturado com code, message, retryable e field
- preservar drafts de revisao em erros recuperaveis sem perder o restante do contexto
- delegar a resposta final de tools ao modelo com formatter deterministico apenas como fallback
- registrar request_id, conversation_id e tempos de llm/tool para rastrear cada turno
1 month ago
Vitor Hugo Belorio Simão 8cf79174ee 🧠 feat(orquestrador): deixar o modelo decidir o turno e limitar regex a formalizacao tecnica
Introduz o contrato TurnDecision e a extracao estruturada por turno no planner para que intent, domain, action, selecao e resposta venham do modelo, com validacao Pydantic e fallback previsivel quando o JSON vier invalido.

Tambem extrai a normalizacao tecnica para um modulo dedicado e passa a usar regex apenas para formalizar CPF, placa, protocolos, datas e outros formatos estruturados, reduzindo heuristicas semanticas dentro do normalizador, da policy e dos fluxos de revisao.
1 month ago
Vitor Hugo Belorio Simão 6537808963 🐛 fix(flows): endurecer validacao e preservar drafts
Impede que consultas de estoque caiam no fluxo de compra, evita reaproveitamento implícito de CPF para criar pedidos e mantém drafts quando a execução da tool falha.

Também preserva corretamente o estado de revisão, limpando o draft apenas quando a operação conclui com sucesso ou quando a confirmação pendente passa a ser o estado principal.
1 month ago
Vitor Hugo Belorio Simão a412f9c674 🧹 cleanup(services): reorganiza estrutura interna em subpastas por responsabilidade
Redistribui os arquivos de app/services em modulos mais claros, separando orchestration, flows, ai, tools e user sem alterar a logica de negocio ou o comportamento funcional do sistema.

Ajusta os imports afetados em rotas, startup da aplicacao e integracao com Telegram para refletir a nova organizacao interna e manter o fluxo atual intacto.

Objetivos da limpeza:

- reduzir a sensacao de pasta deposito em app/services

- tornar o papel de cada modulo mais explicito

- melhorar manutencao e navegacao do projeto

- preparar o codigo para crescimento futuro com menor acoplamento estrutural
1 month ago