Data: 04 de Janeiro de 2026
Status: ✅ CORRIGIDO - TABELAS PARA QUERIES TIPO LIST
Para queries tipo list (listar empresas), o sistema criava um gráfico de barras com xColumn: "null", que não fazia sentido visual.
{
"chartType": "bar",
"xColumn": "null", // ❌ Problema!
"yColumn": "company_name",
"title": "Consulta para listar todas as empresas..."
}Resultado: Gráfico vazio ou confuso na interface.
Arquivo: src/services/bmad/agents/DatabaseQueryAgent.js
// Antes:
const isGrouped = !!queryPlan.groupBy || queryPlan.sqlQuery.includes('group by')
// Depois:
const isGrouped = !!queryPlan.groupBy || queryPlan.sqlQuery.includes('group by')
const isList = queryPlan.queryType === 'list' && !isGrouped && !isAggregateArquivo: src/services/bmad/agents/DataVisualizationAgent.js
// Nova lógica: Para queries tipo LIST, criar TABELA
if (actionResult.isList && actionResult.results && actionResult.results.length > 0) {
const keys = Object.keys(actionResult.results[0])
const tableViz = {
type: 'table',
data: {
columns: keys,
rows: actionResult.results.map(item => keys.map(key => {
const value = item[key]
// Formatar valores especiais
if (value === null || value === undefined) return '-'
if (typeof value === 'object') return JSON.stringify(value)
if (typeof value === 'number' && key.includes('revenue')) {
return new Intl.NumberFormat('pt-BR', {
style: 'currency',
currency: 'BRL'
}).format(value)
}
return value
}))
},
config: {
title: actionResult.summary || 'Resultados da Consulta',
maxRows: 10
}
}
visualizations.push(tableViz)
}| Query Type | Visualização | Exemplo |
|---|---|---|
| list | 📋 Tabela | "mostre as empresas" → Tabela com 10 empresas |
| count | 🔢 Card | "quantas empresas" → Card com número |
| aggregate (com GROUP BY) | 📊 Gráfico (bar/pie) | "empresas por setor" → Gráfico de barras |
| timeSeries | 📈 Gráfico (line) | "vendas por mês" → Gráfico de linha |
Antes (com problema):
Visualização: Gráfico de barras vazio com xColumn: "null"
Depois (corrigido):
Visualização: Tabela interativa com 10 empresas
| company_name | cnpj | industry | annual_revenue |
|---------------------------------------|-----------------|----------------------|----------------|
| Santos Comércio ME | 23456789000123 | Comércio | R$ 120.000 |
| Ferreira Consultoria EIRELI | 56789012000145 | Consultoria | R$ 800.000 |
| Silva & Associados LTDA | 12345678000190 | Consultoria | R$ 500.000 |
| TechStart Soluções Tecnológicas MEI | 98765432000111 | Tecnologia | R$ 180.000 |
| ... | ... | ... | ... |
git add .
git commit -m "fix: Corrigir visualizações para queries tipo list - usar tabelas"
git push origin develop
vercel --prodQueries para testar:
- "mostre as empresas" → ✅ Tabela com 10 empresas
- "quantas empresas temos" → ✅ Card com número
- "empresas por setor" → ✅ Gráfico de barras
- "vendas por mês" → ✅ Gráfico de linha
-
✅
src/services/bmad/agents/DatabaseQueryAgent.js- Adicionado flag
isList - Melhor detecção de tipo de query
- Adicionado flag
-
✅
src/services/bmad/agents/DataVisualizationAgent.js- Nova lógica para queries tipo
list - Criação de tabelas ao invés de gráficos
- Formatação de valores (moeda, null, objetos)
- Nova lógica para queries tipo
-
✅
migrations/004_create_execute_dynamic_sql_rpc.sql- Função RPC com validação corrigida
✅ CORREÇÃO APLICADA
✅ PRONTO PARA DEPLOY
✅ TESTE APÓS DEPLOY PARA CONFIRMAR
Próximo passo: Deploy para Vercel e teste na interface web! 🚀