From ba19d9ee79c4443a4b8a653def1c992367b095d6 Mon Sep 17 00:00:00 2001 From: krisztianfekete Date: Wed, 1 Apr 2026 11:21:08 +0200 Subject: [PATCH] fix dropping invocation scores and details and make the UI show per-invocation details for single-invocation traces too --- src/agentevals/api/streaming_routes.py | 2 ++ .../inspector/MetricsComparisonSection.tsx | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/agentevals/api/streaming_routes.py b/src/agentevals/api/streaming_routes.py index 6c43993..6fff215 100644 --- a/src/agentevals/api/streaming_routes.py +++ b/src/agentevals/api/streaming_routes.py @@ -226,6 +226,8 @@ async def eval_one_session(session_id: str, session) -> SessionEvalResult: "score": mr.score, "evalStatus": mr.eval_status, "error": mr.error, + "perInvocationScores": mr.per_invocation_scores, + "details": mr.details, } for mr in trace_result.metric_results ], diff --git a/ui/src/components/inspector/MetricsComparisonSection.tsx b/ui/src/components/inspector/MetricsComparisonSection.tsx index e7f47a4..2d52319 100644 --- a/ui/src/components/inspector/MetricsComparisonSection.tsx +++ b/ui/src/components/inspector/MetricsComparisonSection.tsx @@ -293,6 +293,13 @@ export const MetricsComparisonSection: React.FC = )} + {result.perInvocationScores.length === 1 && (() => { + const detail = getPerInvocationDetail(result, 0); + return detail ? ( +
{detail}
+ ) : null; + })()} + {result.perInvocationScores.length > 1 && (
Per-invocation scores:
@@ -530,6 +537,13 @@ const errorMessageStyles = css` } `; +const singleInvocationDetailStyles = css` + margin: 0 16px 12px; + padding: 8px; + background: var(--bg-primary); + border-radius: 4px; +`; + const perInvocationScoresStyles = css` margin: 12px 16px; padding-top: 12px;