diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 1ba0ef3..0000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.gitignore b/.gitignore index 166905e..95b624c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ # Local state created by docker-compose services. /data/ /logs/ + +# Local editor and UX review artifacts. +.DS_Store +/artifacts/ diff --git a/frontend/src/app/test/cases/[id]/page.tsx b/frontend/src/app/test/cases/[id]/page.tsx index 3aa359a..6bc7e31 100644 --- a/frontend/src/app/test/cases/[id]/page.tsx +++ b/frontend/src/app/test/cases/[id]/page.tsx @@ -2,9 +2,18 @@ import { TestCasesPage } from "@/components/pages/TestCasesPage"; export default async function Page({ params, + searchParams, }: { params: Promise<{ id: string }>; + searchParams: Promise<{ case?: string }>; }) { const { id } = await params; - return ; + const { case: initialCaseId } = await searchParams; + return ( + + ); } diff --git a/frontend/src/components/batch-test/batch-case-detail-drawer.tsx b/frontend/src/components/batch-test/batch-case-detail-drawer.tsx index 91a1fee..3b9578c 100644 --- a/frontend/src/components/batch-test/batch-case-detail-drawer.tsx +++ b/frontend/src/components/batch-test/batch-case-detail-drawer.tsx @@ -11,40 +11,71 @@ import { Circle, Loader2, MessageSquareText, + Pencil, + RotateCcw, Target, TriangleAlert, + Wrench, X, } from "lucide-react"; +import { useEffect, useRef } from "react"; import { BatchCaseStatusBadge } from "@/components/batch-test/batch-case-status"; -import type { BatchRunCase } from "@/data/batch-run"; +import { Button } from "@/components/ui/button"; +import { + firstEvaluationFailureReason, + type BatchEvaluationResult, + type BatchRunCase, + type BatchToolCallRecord, + type BatchTurnResult, +} from "@/data/batch-run"; import { cn } from "@/lib/utils"; type BatchCaseDetailDrawerProps = { item: BatchRunCase; assistantName: string; onClose: () => void; + onEdit?: () => void; + onRerun?: () => void; }; export function BatchCaseDetailDrawer({ item, assistantName, onClose, + onEdit, + onRerun, }: BatchCaseDetailDrawerProps) { + const closeButtonRef = useRef(null); + const failureReason = firstEvaluationFailureReason(item); + + useEffect(() => { + closeButtonRef.current?.focus(); + }, [item.id]); + return ( -