import { useQuery } from '@tanstack/react-query'; import { useSearchParams } from 'react-router-dom'; import { api, type HarnessRunRecord } from '../lib/api'; import { Card, StatusBadge } from '../components/ui/Card'; import { TraceExplorer } from '../components/trace/TraceExplorer'; export function Runs() { const { data, isLoading } = useQuery({ queryKey: ['runs'], queryFn: () => api.runs(100) }); const [searchParams, setSearchParams] = useSearchParams(); const selectedTrace = searchParams.get('trace') ?? ''; if (isLoading || !data) return
Loading…
; return (
{selectedTrace && setSearchParams({})} />} Select a run to inspect H1–H7} >
{data.runs.map((run: HarnessRunRecord, index: number) => ( ))}
timestepstatuslatencytokenscosttrace
{run.timestamp?.replace('T', ' ').replace('Z', '')} {run.step ?? run.harness} {run.latency_ms ?? '—'} ms {run.total_tokens ?? '—'} {run.cost_estimate == null ? Unavailable : `$${Number(run.cost_estimate).toFixed(5)}`} {run.trace_id ? ( ) : —}
); }