/** * llmindex.io — GET /api/v1/efficiency (Pareto frontier data, live) * Author: Simon-Pierre Boucher * Contact: contact@spboucher.ai * License: Proprietary — © Simon-Pierre Boucher, all rights reserved */ import { type NextRequest } from 'next/server'; import { getEfficiencyData } from '@/lib/data'; import { apiJson } from '@/lib/api'; import { rateLimit } from '@/lib/rate-limit'; export const dynamic = 'force-dynamic'; export async function GET(req: NextRequest) { const limited = await rateLimit(req); if (limited) return limited; const points = await getEfficiencyData(); return apiJson({ points: points.map((p) => ({ model: p.slug, name: p.name, provider: p.provider, score: p.score, score_low: p.scoreLow, score_high: p.scoreHigh, latency_p50: p.latencyP50, cost_per_1k_items: Number(p.costPer1kItems.toFixed(4)), on_frontier: p.onFrontier, })), }); }