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.
- remove as rotas de chat, tools e mock que nao participam do fluxo atual via Telegram
- elimina dependencias auxiliares associadas a essas rotas
- simplifica o startup da aplicacao para operar sem registradores HTTP do orquestrador
- 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
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
- adiciona coleta incremental de dados (slot filling) por usuario para placa, data/hora, modelo, ano, km e historico de revisao, evitando perda de contexto entre mensagens
- implementa extracao auxiliar por regex para interpretar respostas curtas e completar o payload de revisao sem depender totalmente do modelo
- passa a bloquear conflito global de agenda no mesmo horario (independente de usuario/veiculo) e sugerir proximo horario disponivel
- adiciona confirmacao de sugestao pendente (ex.: "pode") e remarca??o quando o cliente recusa o horario sugerido (incluindo casos com apenas novo horario)
- amplia a tool de agendar revisao com novos campos obrigatorios e calculo de valor estimado da revisao com base em modelo, ano, km e fidelidade de revisoes anteriores
- atualiza schemas e rota mock para refletir o novo contrato de agendamento
- endurece o satelite do Telegram com prevencao de instancia duplicada e descarte de backlog no startup para reduzir respostas repetidas