diff --git a/packages/console/app/src/routes/bench/index.tsx b/packages/console/app/src/routes/bench/index.tsx index 17798eff4e1..9ead9caa1be 100644 --- a/packages/console/app/src/routes/bench/index.tsx +++ b/packages/console/app/src/routes/bench/index.tsx @@ -15,18 +15,25 @@ async function getBenchmarks() { const rows = await Database.use((tx) => tx.select().from(BenchmarkTable).orderBy(desc(BenchmarkTable.timeCreated)).limit(100), ) - return rows.map((row) => { - const parsed = JSON.parse(row.result) as BenchmarkResult - const taskScores: Record = {} - for (const t of parsed.tasks) { - taskScores[t.task.id] = t.averageScore - } - return { - id: row.id, - agent: row.agent, - model: row.model, - averageScore: parsed.averageScore, - taskScores, + return rows.flatMap((row) => { + try { + const parsed = JSON.parse(row.result) as BenchmarkResult + const taskScores: Record = {} + for (const t of parsed.tasks) { + taskScores[t.task.id] = t.averageScore + } + return [ + { + id: row.id, + agent: row.agent, + model: row.model, + averageScore: parsed.averageScore, + taskScores, + }, + ] + } catch (error) { + console.error(`Failed to parse benchmark result for row ${row.id}:`, error) + return [] } }) }