const { prisma } = require('../src/models');
async function main() {
  const total = await prisma.aiCallLog.count();
  console.log('=== AiCallLog 总数: ' + total + ' ===\n');
  
  const byType = await prisma.aiCallLog.groupBy({
    by: ['callType', 'provider'],
    _count: { id: true },
  });
  byType.sort((a: any, b: any) => b._count.id - a._count.id);
  
  for (const t of byType) {
    console.log(`  ${t.callType.padEnd(30)} | ${(t.provider||'-').padEnd(15)} | ${t._count.id} 次`);
  }
  
  const success = await prisma.aiCallLog.count({ where: { success: true }});
  const failed = await prisma.aiCallLog.count({ where: { success: false }});
  console.log(`\n  成功: ${success}  |  失败: ${failed}`);
  
  // TTS-only count
  const ttsTotal = await prisma.aiCallLog.count({ where: { callType: { startsWith: 'tts' } } });
  const llmTotal = await prisma.aiCallLog.count({ where: { callType: { startsWith: 'llm' } } });
  console.log(`  TTS: ${ttsTotal}  |  LLM: ${llmTotal}`);
  
  // Show recent entries
  const recent = await prisma.aiCallLog.findMany({
    orderBy: { createdAt: 'desc' },
    take: 10,
    select: { callType: true, provider: true, success: true, duration: true, errorMsg: true }
  });
  console.log('\n=== 最近10条 ===');
  for (const r of recent) {
    const s = r.success ? '✅' : '❌';
    const e = r.errorMsg ? ` (${r.errorMsg.substring(0,50)})` : '';
    console.log(`  ${s} ${r.callType.padEnd(25)} ${(r.provider||'-').padEnd(12)} ${r.duration}ms${e}`);
  }
  
  await prisma.$disconnect();
}
main().catch(e => { console.error(e); process.exit(1); });
