Commit Graph

10 Commits (6fe92a0ae1169f8b718847f046b0d20e7d34c80a)

Author SHA1 Message Date
Vitor Hugo Belorio Simão 6d6b7291ea 🧠 feat(orchestration): reforcar extracao estruturada para pedidos de compra
- remover o fallback semantico local de orcamento e perfil do fluxo de vendas
- enriquecer o turno sempre com uma extracao dedicada de entidades apos a decisao estruturada
- endurecer os prompts para obrigar o modelo a preencher orcamento_max e perfil_veiculo em pedidos de compra
- manter o fluxo alinhado ao contrato do modelo sem reintroduzir regex conversacional
1 month ago
Vitor Hugo Belorio Simão 0eb56f1f0a 🐛 fix(sales): extrair orcamento do pedido sem depender do llm
- adicionar fallback tecnico para capturar orcamento diretamente da mensagem de compra
- inferir perfil de veiculo no fluxo de vendas quando a memoria generica vier incompleta
- garantir a listagem automatica de estoque mesmo quando o modelo nao preencher orcamento_max
- cobrir o cenario com teste focado de pedido sem hints estruturados do llm
1 month ago
Vitor Hugo Belorio Simão 5f229bd745 🐛 fix(sales): atualizar estoque pelo contexto e padronizar escolha por lista
- invalidar resultados antigos quando orcamento ou perfil de veiculo mudarem durante a compra
- relistar o estoque automaticamente ao iniciar um novo pedido com contexto atualizado
- preservar drafts de pedido em erros recuperaveis e limpar apenas o campo invalido
- remover IDs da vitrine de estoque e orientar a escolha pelo numero da opcao exibida
1 month ago
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 82fc846e01 🚗 feat(sales): listar estoque pelo contexto e reservar veiculos no pedido
Passa a aproveitar orcamento e perfil guardados na conversa para sugerir estoque quando a compra ainda nao tem veiculo definido, preservando a selecao na memoria e guiando o usuario ate o fechamento do pedido.

Tambem impede que veiculos reservados continuem aparecendo como disponiveis, devolve o status do veiculo na resposta deterministica do pedido e amplia os testes de regressao dos fluxos de compra e cancelamento.
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 134a5fef41 🚗 feat(sales): vincular pedido ao veiculo selecionado e endurecer fluxos conversacionais
Passa a criar pedidos de compra a partir de um veiculo concreto do estoque selecionado na conversa, reaproveitando a ultima consulta e exibindo o modelo escolhido na resposta final.

Tambem endurece a orquestracao contra vazamento de contexto entre compra, cancelamento e revisao, preserva o estado necessario no fluxo e adiciona testes de regressao para os cenarios validados no Telegram.
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 57dc824242 🧠 feat(orquestrador): ampliar controle conversacional e hidratar cliente mock por CPF
- adiciona tools de orquestracao para limpar contexto, descartar fila, cancelar fluxo e continuar pedidos pendentes
- prioriza a decisao do LLM para comandos globais antes dos slot fillings ativos
- melhora selecao entre pedidos concorrentes e resposta deterministica das tools de orquestracao
- estrutura conflitos de horario de revisao para facilitar confirmacao posterior
- reaproveita CPF da memoria/perfil do usuario no fluxo de compra
- cria servico mock para hidratar customer e vincular users.cpf ao informar um CPF valido
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