reeval 0.6.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +265 -0
- package/THIRD_PARTY_NOTICES.md +5 -5
- package/assets/package.json +1 -1
- package/assets/pnpm-lock.yaml +35 -311
- package/dist/{agent-BrqDHAx6.js → agent-Dhd5FJCZ.js} +4 -4
- package/dist/{agent-BrqDHAx6.js.map → agent-Dhd5FJCZ.js.map} +1 -1
- package/dist/{agent-bHgHIPVD.js → agent-gjBiZis8.js} +4 -4
- package/dist/{agent-bHgHIPVD.js.map → agent-gjBiZis8.js.map} +1 -1
- package/dist/assemble-D8sZ4Jiv.js +2 -0
- package/dist/{assemble-BB_dcnfh.js → assemble-Dd_mZYnu.js} +109 -7
- package/dist/assemble-Dd_mZYnu.js.map +1 -0
- package/dist/bridge/index.mjs +84 -9
- package/dist/bridge/package.json +3 -3
- package/dist/bridge/pnpm-lock.yaml +84 -89
- package/dist/bridge/pnpm-workspace.yaml +1 -1
- package/dist/{capture-tcMRp6ks.js → capture-CisAmy-G.js} +3 -3
- package/dist/{capture-tcMRp6ks.js.map → capture-CisAmy-G.js.map} +1 -1
- package/dist/capture-DquyqAHC.js +2 -0
- package/dist/{cli-BM-qbqO_.js → cli-r9CDqoFL.js} +139 -172
- package/dist/cli-r9CDqoFL.js.map +1 -0
- package/dist/{cli-spec-DUeyuSIQ.js → cli-spec-DOyxAMc2.js} +22 -9
- package/dist/cli-spec-DOyxAMc2.js.map +1 -0
- package/dist/cli.js +2 -2
- package/dist/{matchers-Bp-OH1vj.js → client-LsfDiD-X.js} +152 -76
- package/dist/client-LsfDiD-X.js.map +1 -0
- package/dist/{command-BT9i1I5S.js → command-Cej2t3y-.js} +9 -9
- package/dist/{command-BT9i1I5S.js.map → command-Cej2t3y-.js.map} +1 -1
- package/dist/command-Cxfgghqo.js +2 -0
- package/dist/{command-DITkSzxp.js → command-D6r2pwO5.js} +10 -10
- package/dist/{command-DITkSzxp.js.map → command-D6r2pwO5.js.map} +1 -1
- package/dist/{command-BpoZJVeI.js → command-DMR69l5G.js} +12 -12
- package/dist/{command-BpoZJVeI.js.map → command-DMR69l5G.js.map} +1 -1
- package/dist/{command-DATlIXj1.js → command-l4ZFCeMh.js} +6 -6
- package/dist/{command-DATlIXj1.js.map → command-l4ZFCeMh.js.map} +1 -1
- package/dist/{commands-C0SFWd1T.js → commands-BA_NCh2h.js} +6 -6
- package/dist/{commands-C0SFWd1T.js.map → commands-BA_NCh2h.js.map} +1 -1
- package/dist/{commands-CDty3r_G.js → commands-DgOUkcSO.js} +1 -1
- package/dist/{config-Cy_vLUbw.js → config-DuQDCx0B.js} +3 -3
- package/dist/{config-Cy_vLUbw.js.map → config-DuQDCx0B.js.map} +1 -1
- package/dist/{context-loi9OCZv.js → context-CvUv7DUb.js} +3 -4
- package/dist/{context-loi9OCZv.js.map → context-CvUv7DUb.js.map} +1 -1
- package/dist/{db-iskAs8Ox.js → db-CjX7JF4o.js} +13 -25
- package/dist/{db-iskAs8Ox.js.map → db-CjX7JF4o.js.map} +1 -1
- package/dist/db-o_osRkqr.js +3 -0
- package/dist/{dist-Dmm3bnKA.js → dist-CTzThfu_.js} +3 -3
- package/dist/{dist-Dmm3bnKA.js.map → dist-CTzThfu_.js.map} +1 -1
- package/dist/{docker-B9wx9-KX.js → docker-DaUaG4XZ.js} +4 -4
- package/dist/{docker-B9wx9-KX.js.map → docker-DaUaG4XZ.js.map} +1 -1
- package/dist/{docker-Di4o89kZ.js → docker-Dnya8eo9.js} +1 -1
- package/dist/{docker-Ctnty6xd.js → docker-ZaYeKE2w.js} +2 -2
- package/dist/{docker-Ctnty6xd.js.map → docker-ZaYeKE2w.js.map} +1 -1
- package/dist/{doctor-BMUVi-gC.js → doctor-Bk6aJeec.js} +10 -10
- package/dist/{doctor-BMUVi-gC.js.map → doctor-Bk6aJeec.js.map} +1 -1
- package/dist/{egress-3bdvDu1s.js → egress-BKbyriEa.js} +13 -13
- package/dist/{egress-3bdvDu1s.js.map → egress-BKbyriEa.js.map} +1 -1
- package/dist/{files-CITwkC4O.js → files-BSMSnQMa.js} +2 -2
- package/dist/{files-CITwkC4O.js.map → files-BSMSnQMa.js.map} +1 -1
- package/dist/files-DmZGPsWK.js +2 -0
- package/dist/{files-DGhQZaXT.js → files-TNrZJQ3Y.js} +15 -4
- package/dist/{files-DGhQZaXT.js.map → files-TNrZJQ3Y.js.map} +1 -1
- package/dist/files-Tb8wY0Ze.js +2 -0
- package/dist/{git-BzyBakoB.js → git-DNGtrOg9.js} +2 -2
- package/dist/{git-BzyBakoB.js.map → git-DNGtrOg9.js.map} +1 -1
- package/dist/{harness-8-dnGNgT.js → harness-CDRaaGvR.js} +2 -2
- package/dist/{harness-8-dnGNgT.js.map → harness-CDRaaGvR.js.map} +1 -1
- package/dist/harness.d.ts +1 -1
- package/dist/harness.js +1 -1
- package/dist/{header-IE-uIvX0.js → header-BZF8Xss1.js} +2 -2
- package/dist/{header-IE-uIvX0.js.map → header-BZF8Xss1.js.map} +1 -1
- package/dist/{images-QBtOj-_q.js → images-BpwFDT1E.js} +6 -6
- package/dist/{images-QBtOj-_q.js.map → images-BpwFDT1E.js.map} +1 -1
- package/dist/index.d.ts +12 -7
- package/dist/index.js +31 -24
- package/dist/index.js.map +1 -1
- package/dist/init-1THeGfut.js +2 -0
- package/dist/{init-B47uIoHu.js → init-CBWt1rZT.js} +4 -4
- package/dist/{init-B47uIoHu.js.map → init-CBWt1rZT.js.map} +1 -1
- package/dist/{invocations-DHC946b-.js → invocations-DArYWyXN.js} +2 -2
- package/dist/{invocations-DHC946b-.js.map → invocations-DArYWyXN.js.map} +1 -1
- package/dist/judge.d.ts +1 -1
- package/dist/model-D_pF3Vcl.js +2 -0
- package/dist/{model-CtrJdFi6.js → model-DyQbu7KF.js} +113 -3
- package/dist/model-DyQbu7KF.js.map +1 -0
- package/dist/{opencode-providers-DJVocFOU.js → opencode-providers-ByD85Q0l.js} +33 -19
- package/dist/opencode-providers-ByD85Q0l.js.map +1 -0
- package/dist/{options-DVB78W8X.js → options-Ge_x32XE.js} +3 -3
- package/dist/{options-DVB78W8X.js.map → options-Ge_x32XE.js.map} +1 -1
- package/dist/{plan-Bsge1_cc.js → plan-BqBadHYj.js} +14 -7
- package/dist/plan-BqBadHYj.js.map +1 -0
- package/dist/{preflight-B5ue4TlX.js → preflight-CFtZNTLt.js} +1 -1
- package/dist/{preflight-BOstyJDX.js → preflight-CyaAZE9r.js} +3 -3
- package/dist/{preflight-BOstyJDX.js.map → preflight-CyaAZE9r.js.map} +1 -1
- package/dist/{prepare-ChIEi8hP.js → prepare-Dl7-t3fO.js} +2 -2
- package/dist/{prepare-jpXfdH-9.js → prepare-Zr1xOMUX.js} +4 -4
- package/dist/{prepare-jpXfdH-9.js.map → prepare-Zr1xOMUX.js.map} +1 -1
- package/dist/{provenance-BTJCjEPg.js → provenance-Byl2T6LJ.js} +2 -2
- package/dist/{provenance-BTJCjEPg.js.map → provenance-Byl2T6LJ.js.map} +1 -1
- package/dist/{providers-BJCxWIm4.js → providers-Cflw7Ks-.js} +3 -3
- package/dist/{providers-BJCxWIm4.js.map → providers-Cflw7Ks-.js.map} +1 -1
- package/dist/{providers-DxVIaae1.js → providers-SBMExI53.js} +1 -1
- package/dist/query-CvutWHaL.js +2 -0
- package/dist/{query-Cpe659ni.js → query-DUSLlic0.js} +2 -2
- package/dist/{query-Cpe659ni.js.map → query-DUSLlic0.js.map} +1 -1
- package/dist/results-owJR-NFm.js +52 -0
- package/dist/results-owJR-NFm.js.map +1 -0
- package/dist/resume-BL4Yw7Ld.js +406 -0
- package/dist/resume-BL4Yw7Ld.js.map +1 -0
- package/dist/sandbox.d.ts +1 -1
- package/dist/server-CNPsB0cT.js +2 -0
- package/dist/{server-CSSXF89R.js → server-yFVUxAm0.js} +6 -6
- package/dist/{server-CSSXF89R.js.map → server-yFVUxAm0.js.map} +1 -1
- package/dist/source-Cmc5SKFn.js +2 -0
- package/dist/{source-BcHShRWU.js → source-M3gS517R.js} +2 -2
- package/dist/{source-BcHShRWU.js.map → source-M3gS517R.js.map} +1 -1
- package/dist/src--L8B4WGa.js +3 -0
- package/dist/{src-BRdoxjJS.js → src-79JhW-zG.js} +15 -15
- package/dist/{src-BRdoxjJS.js.map → src-79JhW-zG.js.map} +1 -1
- package/dist/src-BLN459er.js +3 -0
- package/dist/src-Bz66jDtE.js +3 -0
- package/dist/src-CfUwg9UY.js +3 -0
- package/dist/{src-B3J1D0nL.js → src-CokPbYCb.js} +76 -60
- package/dist/src-CokPbYCb.js.map +1 -0
- package/dist/{src-a6y9cGkR.js → src-DH0jhpoi.js} +1 -1
- package/dist/{src-DyQJdvp2.js → src-DSE0FWaU.js} +5 -5
- package/dist/{src-DyQJdvp2.js.map → src-DSE0FWaU.js.map} +1 -1
- package/dist/{src-Czhg5ONv.js → src-DTcalvuF.js} +3 -3
- package/dist/{src-Czhg5ONv.js.map → src-DTcalvuF.js.map} +1 -1
- package/dist/src-DV_3QDHA.js +4 -0
- package/dist/{src-BjVw2K4H.js → src-DxFJrMUA.js} +4 -4
- package/dist/{src-BjVw2K4H.js.map → src-DxFJrMUA.js.map} +1 -1
- package/dist/{src-Dk96a9w7.js → src-IOr1rhEg.js} +6 -6
- package/dist/{src-Dk96a9w7.js.map → src-IOr1rhEg.js.map} +1 -1
- package/dist/src-Ljh2vKXm.js +3 -0
- package/dist/{src-CdwJuMBO.js → src-s-VffoYK.js} +2 -2
- package/dist/{src-CdwJuMBO.js.map → src-s-VffoYK.js.map} +1 -1
- package/dist/{state-evRYxV_q.js → state-DEj_utaE.js} +15 -15
- package/dist/{state-evRYxV_q.js.map → state-DEj_utaE.js.map} +1 -1
- package/dist/state-DkqbCVVp.js +2 -0
- package/dist/studio-app/assets/{index-WQPq5K3E.js → index-Bbl0oTxu.js} +1 -1
- package/dist/studio-app/index.html +1 -1
- package/dist/{summary-DTUCNA-v.js → summary--FBuB_sr.js} +3 -3
- package/dist/{summary-DTUCNA-v.js.map → summary--FBuB_sr.js.map} +1 -1
- package/dist/{summary-CIw18kb-.js → summary-D012KlUM.js} +5 -5
- package/dist/{summary-CIw18kb-.js.map → summary-D012KlUM.js.map} +1 -1
- package/dist/tool-target-BU1JnSE9.js +34 -0
- package/dist/tool-target-BU1JnSE9.js.map +1 -0
- package/dist/{tools-By2WuNxm.js → tools-CJHw-zCo.js} +3 -3
- package/dist/{tools-By2WuNxm.js.map → tools-CJHw-zCo.js.map} +1 -1
- package/dist/{types-C2Gl05_c.d.ts → types-BsRSknLe.d.ts} +6 -5
- package/dist/view/index.d.ts +1 -1
- package/dist/view/index.js +2 -2
- package/dist/{views-BJ0i1Iuw.js → views-jhL9Jb8A.js} +4 -4
- package/dist/{views-BJ0i1Iuw.js.map → views-jhL9Jb8A.js.map} +1 -1
- package/dist/views-yPmmoo8f.js +3 -0
- package/dist/{worker-entry-mCctDzig.js → worker-entry-OwnsrUdr.js} +72 -2
- package/dist/worker-entry-OwnsrUdr.js.map +1 -0
- package/dist/{workspace-Bl1SiRQa.js → workspace-C4_J0pqb.js} +3 -3
- package/dist/{workspace-Bl1SiRQa.js.map → workspace-C4_J0pqb.js.map} +1 -1
- package/dist/{workspace-CvAPfa8b.js → workspace-wudSz_W-.js} +1 -1
- package/package.json +11 -10
- package/dist/assemble-BB_dcnfh.js.map +0 -1
- package/dist/assemble-DcLLkwnB.js +0 -2
- package/dist/capture-EvOaSXj_.js +0 -2
- package/dist/cli-BM-qbqO_.js.map +0 -1
- package/dist/cli-spec-DUeyuSIQ.js.map +0 -1
- package/dist/command-Bn_kbh3B.js +0 -2
- package/dist/db-4nMvBFNX.js +0 -2
- package/dist/files-C_CsTMtM.js +0 -2
- package/dist/files-vgLA9tcj.js +0 -2
- package/dist/init-DIAJuCs2.js +0 -2
- package/dist/matchers-Bp-OH1vj.js.map +0 -1
- package/dist/model-C_B5JrhL.js +0 -2
- package/dist/model-CtrJdFi6.js.map +0 -1
- package/dist/opencode-providers-DJVocFOU.js.map +0 -1
- package/dist/plan-Bsge1_cc.js.map +0 -1
- package/dist/query-BtLxk32J.js +0 -2
- package/dist/results-CiJzkjNI.js +0 -37
- package/dist/results-CiJzkjNI.js.map +0 -1
- package/dist/server-CN3lGbK-.js +0 -2
- package/dist/source-CxLRUqU2.js +0 -2
- package/dist/src-B3J1D0nL.js.map +0 -1
- package/dist/src-Ba3zMSdv.js +0 -3
- package/dist/src-BpVFmHqj.js +0 -3
- package/dist/src-CJONyPRm.js +0 -3
- package/dist/src-CLO4dUg7.js +0 -3
- package/dist/src-DQCjANtm.js +0 -3
- package/dist/src-yCDQ7kpQ.js +0 -4
- package/dist/state-CeYoWFWx.js +0 -2
- package/dist/stats-BNAHlNMD.js +0 -114
- package/dist/stats-BNAHlNMD.js.map +0 -1
- package/dist/views-BEurSpHC.js +0 -3
- package/dist/worker-entry-mCctDzig.js.map +0 -1
|
@@ -54,5 +54,5 @@ Error generating stack: `+e.message+`
|
|
|
54
54
|
`).filter(e=>e&&(!i||e.includes(i)));return(0,m.jsxs)(`div`,{className:`space-y-2`,children:[(0,m.jsx)(nw,{placeholder:`Filter lines, e.g. docker or gateway`,value:i,onChange:e=>a(e.target.value),className:`max-w-sm`}),(0,m.jsx)(`pre`,{className:`max-h-[60vh] overflow-auto rounded-lg border bg-muted/30 p-3 font-mono text-xs leading-relaxed whitespace-pre-wrap break-all`,children:s.join(`
|
|
55
55
|
`)})]})}function sw({runId:e,attemptKey:t,view:n}){return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Local debug data from `,(0,m.jsx)(`code`,{className:`font-mono`,children:`.reeval/debug`}),`. It stays on this machine: it isn't recorded, and static builds leave it out.`]}),(0,m.jsxs)(`section`,{className:`space-y-2`,children:[(0,m.jsx)(`h3`,{className:`text-sm font-semibold`,children:`Phase timeline`}),(0,m.jsx)(iw,{lines:n.lines})]}),(0,m.jsxs)(`section`,{className:`space-y-2`,children:[(0,m.jsx)(`h3`,{className:`text-sm font-semibold`,children:`Network requests`}),(0,m.jsx)(aw,{requests:n.requests})]}),(0,m.jsxs)(`section`,{className:`space-y-2`,children:[(0,m.jsx)(`h3`,{className:`text-sm font-semibold`,children:`Raw trace`}),n.trace?(0,m.jsx)(ow,{runId:e,attemptKey:t}):(0,m.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`No trace.ndjson: it's kept when an attempt fails, or with`,` `,(0,m.jsx)(`code`,{className:`font-mono`,children:`reeval run --trace`}),`.`]})]})]})}var cw=5e3;function lw(e){return e.startsWith(`+++ `)||e.startsWith(`--- `)?`text-muted-foreground`:e.startsWith(`+`)?`bg-pass/10 text-pass`:e.startsWith(`-`)?`bg-fail/10 text-fail`:e.startsWith(`@@`)?`bg-brand/8 text-brand`:/^(diff --git|index |new file|deleted file|similarity|rename )/.test(e)?`text-muted-foreground`:``}function uw({text:e,className:t}){let n=e.split(`
|
|
56
56
|
`),r=n.slice(0,cw);return(0,m.jsxs)(`div`,{className:Z(`overflow-auto rounded-lg border bg-card`,t),children:[(0,m.jsx)(`pre`,{className:`min-w-fit py-2 font-mono text-xs leading-5`,children:r.map((e,t)=>(0,m.jsx)(`div`,{className:Z(`px-4 whitespace-pre`,lw(e)),children:e||` `},t))}),n.length>cw?(0,m.jsxs)(`p`,{className:`border-t px-4 py-2 text-xs text-muted-foreground`,children:[`Showing the first `,cw,` of `,n.length,` lines.`]}):null]})}var dw={added:`text-pass`,deleted:`text-fail`,modified:`text-infra`,renamed:`text-drift`,binary:`text-muted-foreground`};function fw({text:e}){let t=(0,p.useMemo)(()=>yb(e),[e]),[n,r]=(0,p.useState)(0);if(t.length===0)return(0,m.jsx)(AC,{icon:Zx,title:`No changes`,children:`The agent didn't change any files in the workspace.`});let i=t[Math.min(n,t.length-1)],a=t.reduce((e,t)=>e+t.added,0),o=t.reduce((e,t)=>e+t.removed,0);return(0,m.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-[260px_1fr]`,children:[(0,m.jsxs)(`div`,{className:`space-y-2`,children:[(0,m.jsxs)(`div`,{className:`flex items-center justify-between px-1 text-xs text-muted-foreground`,children:[(0,m.jsxs)(`span`,{children:[t.length,` files`]}),(0,m.jsxs)(`span`,{className:`font-mono`,children:[(0,m.jsxs)(`span`,{className:`text-pass`,children:[`+`,a]}),` `,(0,m.jsxs)(`span`,{className:`text-fail`,children:[`−`,o]})]})]}),(0,m.jsx)(`div`,{className:`overflow-hidden rounded-lg border bg-card`,children:t.map((e,t)=>(0,m.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:Z(`flex w-full items-center gap-2 border-b px-3 py-2 text-left last:border-b-0 hover:bg-accent/50`,t===n&&`bg-accent`),children:[(0,m.jsx)(`span`,{className:Z(`text-[10px] font-semibold uppercase`,dw[e.status]),children:e.status[0]}),(0,m.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-xs`,children:e.path}),(0,m.jsxs)(`span`,{className:`shrink-0 font-mono text-[11px]`,children:[(0,m.jsxs)(`span`,{className:`text-pass`,children:[`+`,e.added]}),` `,(0,m.jsxs)(`span`,{className:`text-fail`,children:[`−`,e.removed]})]})]},e.path))})]}),(0,m.jsxs)(`div`,{className:`min-w-0 space-y-2`,children:[(0,m.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,m.jsx)(`span`,{className:`truncate font-mono text-sm`,children:i.path}),(0,m.jsx)(RC,{variant:`outline`,className:dw[i.status],children:i.status})]}),(0,m.jsx)(uw,{text:i.text,className:`max-h-[70vh]`})]})]})}function pw({score:e,threshold:t,pass:n}){return(0,m.jsxs)(`div`,{className:`relative h-2 rounded-full bg-muted`,children:[(0,m.jsx)(`div`,{className:Z(`absolute inset-y-0 left-0 rounded-full`,n?`bg-pass`:`bg-fail`),style:{width:`${Math.max(2,e*100)}%`}}),(0,m.jsx)(`div`,{className:`absolute -top-1 -bottom-1 w-0.5 rounded bg-foreground`,style:{left:`${t*100}%`},title:`threshold ${t}`})]})}function mw({j:e}){let t=e.verdict===`pass`;return(0,m.jsxs)(`div`,{className:`rounded-lg border bg-card p-4`,children:[(0,m.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,m.jsx)(`p`,{className:`text-sm font-medium leading-relaxed`,children:e.question}),(0,m.jsx)(RC,{variant:`outline`,className:t?`border-pass/30 text-pass`:`border-fail/30 text-fail`,children:e.verdict})]}),(0,m.jsxs)(`div`,{className:`mt-4 grid gap-4 sm:grid-cols-[1fr_auto] sm:items-center`,children:[(0,m.jsx)(pw,{score:e.score,threshold:e.threshold,pass:t}),(0,m.jsxs)(`div`,{className:`tabular text-sm`,children:[(0,m.jsx)(`span`,{className:`font-semibold`,children:e.score.toFixed(2)}),(0,m.jsxs)(`span`,{className:`text-muted-foreground`,children:[` / threshold `,e.threshold]})]})]}),(0,m.jsxs)(`dl`,{className:`mt-4 grid grid-cols-[auto_1fr] gap-x-4 gap-y-1 text-xs`,children:[(0,m.jsx)(`dt`,{className:`text-muted-foreground`,children:`Model`}),(0,m.jsx)(`dd`,{className:`font-mono`,children:e.model}),e.resolvedModel&&e.resolvedModel!==e.model?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`dt`,{className:`text-muted-foreground`,children:`Served by`}),(0,m.jsx)(`dd`,{className:`font-mono`,children:e.resolvedModel})]}):null]})]})}function hw({name:e,value:t}){let n=t&&typeof t==`object`&&`$ref`in t?String(t.$ref):null;return(0,m.jsxs)(`div`,{className:`border-b px-4 py-3 last:border-b-0`,children:[(0,m.jsx)(`div`,{className:`mb-1 text-[11px] font-medium tracking-wide text-muted-foreground uppercase`,children:e}),n?(0,m.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`The judge saw `,(0,m.jsx)(`code`,{className:`font-mono text-foreground`,children:n}),` (see the Diff tab).`]}):Array.isArray(t)?(0,m.jsx)(`ul`,{className:`space-y-0.5 font-mono text-xs`,children:t.map(e=>(0,m.jsx)(`li`,{children:typeof e==`string`?e:JSON.stringify(e)},String(e)))}):(0,m.jsx)(`pre`,{className:`max-h-72 overflow-auto font-mono text-xs leading-relaxed whitespace-pre-wrap`,children:typeof t==`string`?t:JSON.stringify(t,null,2)})]})}function gw({record:e,attempt:t}){return t.judgements.length===0&&!t.files.judgeInput?(0,m.jsxs)(AC,{icon:pS,title:`No judge`,children:[`This eval made no `,(0,m.jsx)(`code`,{className:`font-mono`,children:`c.judge()`}),` calls.`]}):(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsx)(`section`,{className:`space-y-3`,children:t.judgements.map(e=>(0,m.jsx)(mw,{j:e},e.question))}),(0,m.jsxs)(`section`,{className:`space-y-2`,children:[(0,m.jsx)(`h3`,{className:`text-sm font-medium`,children:`What the judge saw`}),(0,m.jsx)(IC,{record:e,file:t.files.judgeInput,what:`judge input`,children:e=>{let t=[];try{t=JSON.parse(e)}catch{return(0,m.jsx)(`pre`,{className:`font-mono text-xs whitespace-pre-wrap`,children:e})}return(0,m.jsx)(`div`,{className:`space-y-3`,children:t.map(e=>(0,m.jsxs)(`div`,{className:`overflow-hidden rounded-lg border bg-card`,children:[(0,m.jsxs)(`div`,{className:`border-b bg-muted/40 px-4 py-2 text-xs`,children:[(0,m.jsx)(`span`,{className:`font-medium`,children:e.question}),(0,m.jsx)(`span`,{className:`ml-2 font-mono text-muted-foreground`,children:e.model})]}),Object.entries(e.state).map(([e,t])=>(0,m.jsx)(hw,{name:e,value:t},e))]},e.question))})}})]})]})}function _w({value:e,label:t,className:n}){let[r,i]=(0,p.useState)(!1);return(0,m.jsxs)(fC,{variant:`outline`,size:`sm`,className:Z(`h-7 gap-1.5 font-mono text-xs`,n),onClick:()=>{navigator.clipboard?.writeText(e).then(()=>{i(!0),setTimeout(()=>i(!1),1200)})},children:[r?(0,m.jsx)(px,{className:`size-3.5 text-pass`}):(0,m.jsx)(qx,{className:`size-3.5`}),t??e]})}function vw({title:e,children:t,action:n}){return(0,m.jsxs)(`section`,{className:`overflow-hidden rounded-lg border bg-card`,children:[(0,m.jsxs)(`div`,{className:`flex items-center justify-between border-b bg-muted/40 px-4 py-2`,children:[(0,m.jsx)(`h3`,{className:`text-sm font-medium`,children:e}),n]}),(0,m.jsx)(`dl`,{className:`grid grid-cols-[minmax(7rem,auto)_1fr] gap-x-6 gap-y-2 px-4 py-3 text-sm`,children:t})]})}function yw({k:e,children:t,mono:n=!0}){return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`dt`,{className:`text-muted-foreground`,children:e}),(0,m.jsx)(`dd`,{className:n?`min-w-0 font-mono text-xs leading-5 break-all`:`min-w-0`,children:t})]})}var bw=(0,m.jsx)(`span`,{className:`font-sans text-muted-foreground`,children:`none`}),xw=e=>e<1024?`${e} B`:e<1024**2?`${(e/1024).toFixed(1)} KB`:`${(e/1024**2).toFixed(1)} MB`;function Sw({egress:e}){let t=typeof e.policy==`string`?e.policy:`allow ${e.policy.allow.join(`, `)||`none`}`;return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(`div`,{children:[t,e.allowed?(0,m.jsxs)(`span`,{className:`text-muted-foreground`,children:[` `,`· allows `,e.allowed.join(`, `)||`nothing`]}):null]}),e.recorded?null:(0,m.jsx)(`div`,{className:`font-sans text-muted-foreground`,children:`not recorded by this sandbox`}),e.contacted.map(e=>(0,m.jsxs)(`div`,{children:[e.host,`:`,e.port,` `,(0,m.jsxs)(`span`,{className:`text-muted-foreground`,children:[`×`,e.connections,` · ↑`,xw(e.sent),` ↓`,xw(e.received)]})]},`${e.host}:${e.port}`)),e.blocked.map(e=>(0,m.jsxs)(`div`,{className:`text-fail`,children:[`blocked `,e.host,`:`,e.port,` `,(0,m.jsxs)(`span`,{className:`text-muted-foreground`,children:[`×`,e.connections,` · `,e.reason]})]},`blocked ${e.host}:${e.port}`)),e.expectedBlocked.map(e=>(0,m.jsxs)(`div`,{className:`text-muted-foreground`,children:[`blocked `,e.host,`:`,e.port,` ×`,e.connections,` · expected: the harness always tries it`]},`expected ${e.host}:${e.port}`))]})}function Cw({record:e,attempt:t}){let{git:n,stack:r}=e,i=r.images.find(e=>e.id===t.imageId);return(0,m.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,m.jsxs)(vw,{title:`Source`,action:n?(0,m.jsx)(_w,{value:`reeval checkout ${e.runId}`,label:`reeval checkout`}):null,children:[n?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(yw,{k:`Commit`,children:n.sha}),(0,m.jsx)(yw,{k:`Branch`,children:n.branch??bw}),(0,m.jsx)(yw,{k:`Committed`,children:n.commitTime}),(0,m.jsx)(yw,{k:`Worktree`,mono:!1,children:n.dirty?(0,m.jsxs)(`span`,{className:`text-infra`,children:[`dirty`,n.worktreePatch?` · worktree.patch, ${n.worktreePatch.bytes} bytes`:``,n.worktreePatchNote?` · ${n.worktreePatchNote}`:``]}):`clean`}),n.remote?(0,m.jsx)(yw,{k:`Remote`,children:n.remote}):null,n.shallow?(0,m.jsx)(yw,{k:`Clone`,mono:!1,children:`shallow`}):null]}):(0,m.jsx)(yw,{k:`Git`,mono:!1,children:`Not run in a git repository`}),(0,m.jsx)(yw,{k:`Lockfiles`,children:e.dependencies.lockfiles.length?e.dependencies.lockfiles.map(e=>(0,m.jsxs)(`div`,{children:[e.path,` `,(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:e.sha256.slice(0,12)})]},e.path)):bw})]}),(0,m.jsxs)(vw,{title:`This attempt`,children:[(0,m.jsx)(yw,{k:`Cell`,children:t.cell}),(0,m.jsx)(yw,{k:`Image`,children:i?(0,m.jsxs)(m.Fragment,{children:[i.ref,` `,(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:i.id.slice(0,19)}),i.agentCli?(0,m.jsxs)(`div`,{children:[`agent CLI `,i.agentCli]}):null,i.dockerfile?(0,m.jsxs)(`div`,{children:[`dockerfile `,i.dockerfile.path,` `,(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:i.dockerfile.sha256.slice(0,12)})]}):null,i.install?.length?(0,m.jsxs)(`div`,{children:[`install on `,i.base,i.install.map(e=>(0,m.jsxs)(`div`,{className:`text-muted-foreground`,children:[`$ `,e]},e))]}):null]}):(0,m.jsx)(`span`,{className:`font-sans text-muted-foreground`,children:`none (fake sandbox)`})}),(0,m.jsx)(yw,{k:`Env vars`,children:t.env.vars.length?t.env.vars.join(`, `):bw}),(0,m.jsx)(yw,{k:`Secrets`,children:t.env.secrets.length?t.env.secrets.join(`, `):bw}),(0,m.jsx)(yw,{k:`Egress`,children:t.egress?(0,m.jsx)(Sw,{egress:t.egress}):bw}),(0,m.jsx)(yw,{k:`Context`,children:t.context.length?t.context.map(e=>(0,m.jsxs)(`div`,{children:[e.path,` `,(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:e.sha256.slice(0,12)})]},e.path)):bw})]}),(0,m.jsxs)(vw,{title:`Stack`,children:[(0,m.jsx)(yw,{k:`reeval`,children:[r.es,Gy(r),Ky(r),`${r.os}/${r.arch}`].filter(Boolean).join(` · `)}),(0,m.jsx)(yw,{k:`Harnesses`,children:r.harnesses.map(Wy).join(`, `)}),(0,m.jsxs)(yw,{k:`Judge`,children:[r.judge.model??`none`,` · threshold `,r.judge.threshold,` · version`,` `,r.judge.version,r.judge.resolvedModels.length?` · served ${r.judge.resolvedModels.join(`, `)}`:``]}),(0,m.jsx)(yw,{k:`Environments`,children:e.environments.map(e=>(0,m.jsxs)(`div`,{children:[e.name,` `,(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:e.digest.replace(/^sha256:/,``).slice(0,12)}),e.parent?` · extends ${e.parent}`:``,e.skills.length?` · skills ${e.skills.map(e=>e.name).join(`, `)}`:``,e.overrides.length?` · overrides ${e.overrides.join(`, `)}`:``]},e.name))}),(0,m.jsx)(yw,{k:`Images`,children:r.images.length?r.images.map(e=>(0,m.jsx)(`div`,{children:e.ref},e.id)):bw})]}),(0,m.jsx)(vw,{title:`Package versions`,children:Object.entries(r.packages).map(([e,t])=>(0,m.jsx)(yw,{k:e,children:t},e))}),n?.dirty?(0,m.jsxs)(`div`,{className:`space-y-2 xl:col-span-2`,children:[(0,m.jsx)(`h3`,{className:`text-sm font-medium`,children:`Uncommitted changes when the run started`}),(0,m.jsx)(IC,{record:e,file:n.worktreePatch??void 0,what:`worktree patch`,children:e=>(0,m.jsx)(uw,{text:e,className:`max-h-[50vh]`})})]}):null]})}function ww(e){return typeof e==`object`?e.key:e}function Tw(e,t){let n=e.length;return new Proxy(e,{get(e,r,i){if(typeof r==`string`){let i=r.charCodeAt(0);if(i>=48&&i<=57){let i=+r;if(Number.isInteger(i)&&i>=0&&i<n){let n=e[i];if(typeof n!=`object`){let r=t[i*2];n=e[i]={index:i,key:n,start:r,size:t[i*2+1],end:r+t[i*2+1],lane:0}}return n}}if(r===`length`)return n}return Reflect.get(e,r,i)}})}function Ew(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function Dw(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var Ow=(e,t)=>Math.abs(e-t)<1.01,kw=(e,t,n)=>{let r;return Object.assign(function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)},{cancel:()=>{e.clearTimeout(r)}})},Aw,jw=()=>{if(Aw!==void 0)return Aw;if(typeof navigator>`u`)return Aw=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return Aw=!0;let e=navigator.maxTouchPoints;return Aw=navigator.platform===`MacIntel`&&e!==void 0&&e>0},Mw=e=>e,Nw=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},Pw={passive:!0},Fw=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=()=>{t({width:n.innerWidth,height:n.innerHeight})};return r(),n.addEventListener(`resize`,r,Pw),()=>{n.removeEventListener(`resize`,r)}},Iw=typeof window>`u`||`onscrollend`in window,Lw=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&Iw,o=0,s=a?null:kw(i,()=>t(n(r),!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,Pw),a&&r.addEventListener(`scrollend`,u,Pw),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u),s?.cancel()}},Rw=(e,t)=>Lw(e,t,t=>e.options.horizontal?t.scrollX:t.scrollY),zw=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},Bw=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})};function Vw(e,t,n,r){if(t===0)return!1;let i=r(0),a=new Set,o=0;for(;o<e;){let e=n(o);if(e===i)break;a.add(e),o++}let s=e-o;if(s===0||s>=t)return!1;for(let e=0;e<s;e++)if(r(e)!==n(o+e))return!1;for(let e=s;e<t;e++)if(a.has(r(e)))return!1;return!0}var Hw=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this._clampedAdjustment=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.isIndexInRange(n)&&this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Mw,rangeExtractor:Nw,onChange:()=>{},measureElement:zw,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=this._singleLaneMeasurements?.items??s,l=e=>ww(c[e]),u=e>0?l(0):null,d=e>0?l(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==u||t.getItemKey(o-1)!==d)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>0&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==d)&&(o>e||Vw(e,o,l,t.getItemKey))&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:a,getItemKey:c}=this.options,l=0;for(;l<a&&c(l)!==e;)l++;if(l<a){let e=n[l];if(e){let n=Math.max(0,e.start+t);!i&&n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=Ew(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.isScrolling=!1,this.scrollDirection=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._clampedAdjustment=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.targetWindow=this.scrollElement&&`ownerDocument`in this.scrollElement?this.scrollElement.ownerDocument.defaultView:this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&this._intendedScrollOffset===null&&e===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this._clampedAdjustment!==null&&Math.abs(e-this._clampedAdjustment.maxAtWrite)>=1.5&&(this._clampedAdjustment=null),this.scrollAdjustments=0;let n=this.getScrollOffset();this.scrollDirection=t?n===e?this.scrollDirection:n<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,jw()&&this.targetWindow!=null&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,Pw),e.addEventListener(`touchend`,n,Pw),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(jw()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this.scrollState?.behavior===`smooth`&&!Ow(this.getScrollOffset()-i,this.scrollState.lastTargetOffset)||this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}this._retryClampedAdjustment()},this._retryClampedAdjustment=()=>{if(this._clampedAdjustment===null||!this.scrollElement||!this.options.enabled)return;let{target:e,maxAtWrite:t}=this._clampedAdjustment,n=this.getMaxScrollOffset();n>t+.5&&(this._clampedAdjustment=e>n+.5?{target:e,maxAtWrite:n}:null,this._scrollToOffset(e,{adjustments:void 0,behavior:void 0}))},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;if(this._iosDeferredAdjustment<0&&e>=t-1){this._iosDeferredAdjustment=0;return}let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=Ew(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.isIndexInRange=e=>e>=0&&e<this.options.count,this.getMeasurements=Ew(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s},c)=>{let l=this.itemSizeCache;if(!i)return this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=e*2,a=this._singleLaneMeasurements?.flat;if(!a||a.length<i){let e=new Float64Array(i);a&&u>0&&e.set(a.subarray(0,u*2)),a=e}let o=u===0?Array(e):this._singleLaneMeasurements.items.slice(),c;if(u===0)c=t+n;else{let e=u-1;c=a[e*2]+a[e*2+1]+s}for(let t=u;t<e;t++){let e=r(t);o[t]=e;let n=l.get(e),i=typeof n==`number`?n:this.options.estimateSize(t);a[t*2]=c,a[t*2+1]=i,c+=i+s}this._singleLaneMeasurements={flat:a,items:o};let d=Tw(o,a);return this.measurementsCache=d,d}let d=this.measurementsCache.slice(0,u),f=Array(a).fill(void 0),p=new Float64Array(a),m=0;for(let e=0;e<u;e++){let t=d[e];t&&(f[t.lane]===void 0&&m++,f[t.lane]=e,p[t.lane]=t.end)}for(let i=u;i<e;i++){let e=r(i),c=this.laneAssignments.get(i),u,h,g=o===`estimate`||l.has(e);if(c!==void 0&&this.options.lanes>1){u=c;let e=f[u],r=e===void 0?void 0:d[e];h=r?r.end+s:t+n}else if(m===a){let e=0,t=p[0],n=f[0];for(let r=1;r<a;r++){let i=p[r];(i<t||i===t&&f[r]<n)&&(e=r,t=i,n=f[r])}u=e,h=t+s,g&&this.laneAssignments.set(i,u)}else u=i%this.options.lanes,h=t+n,g&&this.laneAssignments.set(i,u);let _=l.get(e),v=typeof _==`number`?_:this.options.estimateSize(i),y=h+v;d[i]={index:i,start:h,size:v,end:y,key:e,lane:u},f[u]===void 0&&m++,f[u]=i,p[u]=y}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=Ew(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=Gw(e,t,n,r,r===1&&this._singleLaneMeasurements!==null?this._singleLaneMeasurements.flat:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Ew(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e);if(!this.isIndexInRange(t))return;let n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(!this.isIndexInRange(e))return;let n,r,i,a=this._singleLaneMeasurements?.flat;if(this.options.lanes===1&&a!=null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=this.itemSizeCache.get(i)??n,s=t-o;if(s!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,c=a?this.getTotalSize():0,l=this.getScrollOffset()+this.scrollAdjustments,u=this.itemSizeCache.has(i)?r+o<=l&&this.scrollDirection!==`backward`:r<l,d=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?u:this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},s,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++;let f=!1;a?f=this.applyScrollAdjustment(this.getTotalSize()-c):d&&(f=this.applyScrollAdjustment(s)),this.notify(f),this._retryClampedAdjustment()}},this.getVirtualItems=Ew(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._singleLaneMeasurements?.flat,r=this.options.lanes===1&&n!=null;return Dw(t[Uw(0,t.length-1,r?e=>n[e*2]:e=>Dw(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`){if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t]}if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0;let r=this.getOffsetForAlignment(e,t),i=this.now();this.scrollState={index:null,align:t,behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0,e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:`start`,behavior:t,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._singleLaneMeasurements?.flat;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){if(e===0)return!1;if(jw()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded))return this._iosDeferredAdjustment+=e,!1;{let n=this.getScrollOffset()+this.scrollAdjustments+e,r=this.scrollElement,i=r!==null&&(`scrollHeight`in r||`document`in r)?this.getMaxScrollOffset():null;return this._clampedAdjustment=i!==null&&n>i+.5?{target:n,maxAtWrite:i}:null,this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0}}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&Ow(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},Uw=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function Ww(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function Gw(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=Ww(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=Uw(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var Kw=typeof document<`u`?p.useLayoutEffect:p.useEffect;function qw({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=p.useReducer(e=>e+1,0)[1],a=p.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=p.useRef(!1),s=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}},c=e=>{let t=a.current;if(!t.enabled||!t.container)return;s(e);let n=!!e.options.horizontal,r=t.mode===`transform`,i=n?`left`:`top`,o=e.options.scrollMargin,c=e.getVirtualItems();for(let a of c){let s=a.start-o,c=e.elementsCache.get(a.key);c&&t.lastPositions.get(c)!==s&&(t.lastPositions.set(c,s),r?c.style.transform=n?`translate3d(${s}px, 0, 0)`:`translate3d(0, ${s}px, 0)`:c.style[i]=`${s}px`)}},l={...r,onChange:(t,n)=>{var s;let l=a.current,u=!0;if(l.enabled){c(t);let e=t.range,n=l.prevRange;u=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,u&&(l.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}u&&(e&&n&&!o.current?(0,lo.flushSync)(i):i()),(s=r.onChange)==null||s.call(r,t,n)}},[u]=p.useState(()=>{let e=new Hw(l),t=e.measureElement;return e.measureElement=e=>{o.current=!0;try{t(e)}finally{o.current=!1}},Object.assign(e,{containerRef:t=>{let n=a.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return u.setOptions(l),Kw(()=>u._didMount(),[]),Kw(()=>(s(u),u._willUpdate())),Kw(()=>{c(u)}),u}function Jw(e){return qw({getScrollElement:()=>typeof document<`u`?window:null,observeElementRect:Fw,observeElementOffset:Rw,scrollToFn:Bw,initialOffset:()=>typeof document<`u`?window.scrollY:0,...e})}var Yw=e=>e<1e3?`+${e}ms`:`+${(e/1e3).toFixed(1)}s`,Xw=e=>typeof e==`string`?e:e===void 0?``:JSON.stringify(e,null,2);function Zw(e){if(typeof e==`string`)return e;if(!e||typeof e!=`object`)return``;let t=e;for(let e of[`command`,`cmd`,`path`,`file`,`filePath`,`pattern`,`query`,`url`])if(typeof t[e]==`string`)return t[e];let n=Object.values(t).find(e=>typeof e==`string`);return typeof n==`string`?n:``}function Qw({open:e,onToggle:t,icon:n,tone:r,title:i,meta:a,children:o}){return(0,m.jsxs)(`div`,{className:`overflow-hidden rounded-lg border bg-card`,children:[(0,m.jsxs)(`button`,{type:`button`,onClick:t,className:`flex w-full items-center gap-2 px-3 py-2 text-left text-sm hover:bg-accent/50`,children:[(0,m.jsx)(yx,{className:Z(`size-3.5 shrink-0 text-muted-foreground transition-transform`,e&&`rotate-90`)}),(0,m.jsx)(n,{className:Z(`size-4 shrink-0 text-muted-foreground`,r)}),(0,m.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:i}),a?(0,m.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:a}):null]}),e?(0,m.jsx)(`div`,{className:`border-t bg-muted/30`,children:o}):null]})}function $w({label:e,text:t}){return t?(0,m.jsxs)(`div`,{className:`px-3 py-2`,children:[(0,m.jsx)(`div`,{className:`mb-1 text-[11px] font-medium tracking-wide text-muted-foreground uppercase`,children:e}),(0,m.jsx)(`pre`,{className:`max-h-96 overflow-auto font-mono text-xs leading-relaxed break-words whitespace-pre-wrap`,children:t})]}):null}function eT({e,open:t,toggle:n}){let r=`durationMs`in e&&e.durationMs?Hy(e.durationMs):null;switch(e.type){case`text`:return(0,m.jsxs)(`div`,{className:`flex gap-3`,children:[(0,m.jsx)(`div`,{className:`mt-0.5 flex size-6 shrink-0 items-center justify-center rounded-full bg-brand/15 text-brand`,children:(0,m.jsx)(jS,{className:`size-3.5`})}),(0,m.jsx)(`p`,{className:`min-w-0 flex-1 pt-0.5 text-sm leading-relaxed break-words whitespace-pre-wrap`,children:e.text})]});case`reasoning`:return(0,m.jsx)(Qw,{open:t,onToggle:n,icon:dx,tone:`text-drift`,title:(0,m.jsx)(`span`,{className:`text-muted-foreground italic`,children:t?`Reasoning`:e.text.split(`
|
|
57
|
-
`)[0]}),meta:r?`thought for ${r}`:`reasoning`,children:(0,m.jsx)(`p`,{className:`px-3 py-2 text-sm leading-relaxed whitespace-pre-wrap text-muted-foreground italic`,children:e.text})});case`tool`:return(0,m.jsxs)(Qw,{open:t,onToggle:n,icon:e.tool.toLowerCase().includes(`shell`)||e.tool===`bash`?ZS:sC,tone:e.ok?void 0:`text-fail`,title:(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`span`,{className:`font-medium`,children:e.tool}),(0,m.jsx)(`span`,{className:`ml-2 font-mono text-xs text-muted-foreground`,children:Zw(e.input)})]}),meta:(0,m.jsxs)(`span`,{className:`flex items-center gap-2`,children:[e.ok?null:(0,m.jsx)(`span`,{className:`text-fail`,children:`failed`}),r]}),children:[(0,m.jsx)($w,{label:`Input`,text:Xw(e.input)}),(0,m.jsx)($w,{label:`Output`,text:Xw(e.output)})]});case`file-edit`:{let t=e.kind===`create`?rS:e.kind===`delete`?$x:tS;return(0,m.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-dashed px-3 py-2 text-sm`,children:[(0,m.jsx)(t,{className:`size-4 text-muted-foreground`}),(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:e.kind===`create`?`Created`:e.kind===`delete`?`Deleted`:`Edited`}),(0,m.jsx)(`span`,{className:`min-w-0 truncate font-mono text-xs`,children:e.path}),(0,m.jsxs)(`span`,{className:`ml-auto flex shrink-0 gap-2 font-mono text-xs`,children:[e.added===null?null:(0,m.jsxs)(`span`,{className:`text-pass`,children:[`+`,e.added]}),e.removed===null?null:(0,m.jsxs)(`span`,{className:`text-fail`,children:[`−`,e.removed]}),r?(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:r}):null]})]})}case`web-search`:return(0,m.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-dashed px-3 py-2 text-sm`,children:[(0,m.jsx)(GS,{className:`size-4 text-muted-foreground`}),(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:`Searched`}),(0,m.jsxs)(`span`,{className:`min-w-0 truncate`,children:[`“`,e.query,`”`]}),(0,m.jsxs)(`span`,{className:`ml-auto shrink-0 text-xs text-muted-foreground`,children:[e.references===null?``:`${e.references} sources · `,r]})]});case`web-fetch`:return(0,m.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-dashed px-3 py-2 text-sm`,children:[(0,m.jsx)(xS,{className:Z(`size-4 text-muted-foreground`,!e.ok&&`text-fail`)}),(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:`Fetched`}),(0,m.jsx)(`span`,{className:`min-w-0 truncate font-mono text-xs`,children:e.url}),(0,m.jsx)(`span`,{className:`ml-auto shrink-0 text-xs text-muted-foreground`,children:r})]});case`retry`:return(0,m.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-dashed px-3 py-2 text-sm text-muted-foreground`,children:[(0,m.jsx)(zS,{className:`mt-0.5 size-4 shrink-0`}),(0,m.jsx)(`span`,{className:`font-mono text-xs break-words whitespace-pre-wrap`,children:e.message})]});case`error`:return(0,m.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-fail/30 bg-fail/5 px-3 py-2 text-sm text-fail`,children:[(0,m.jsx)(Cx,{className:`mt-0.5 size-4 shrink-0`}),(0,m.jsx)(`span`,{className:`font-mono text-xs break-words whitespace-pre-wrap`,children:e.message})]})}}function tT({item:e,open:t,toggle:n}){if(e.kind===`turn`)return(0,m.jsxs)(`div`,{className:`pt-2`,children:[(0,m.jsxs)(`div`,{className:`mb-2 text-xs font-medium tracking-wide text-muted-foreground uppercase`,children:[`Turn `,e.turn+1]}),(0,m.jsxs)(`div`,{className:`flex gap-3`,children:[(0,m.jsx)(`div`,{className:`mt-0.5 flex size-6 shrink-0 items-center justify-center rounded-full bg-muted`,children:(0,m.jsx)(rC,{className:`size-3.5`})}),(0,m.jsx)(`div`,{className:`min-w-0 flex-1 rounded-lg bg-muted/60 px-3.5 py-2.5 text-sm leading-relaxed break-words whitespace-pre-wrap`,children:e.prompt})]})]});if(e.kind===`turn-end`)return(0,m.jsxs)(`div`,{className:`flex items-center gap-3 py-1 text-xs text-muted-foreground`,children:[(0,m.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,m.jsxs)(`span`,{children:[`Turn `,e.turn+1,` `,e.status,` in `,Hy(e.durationMs)]}),(0,m.jsx)(`div`,{className:`h-px flex-1 bg-border`})]});let r=e.event;return(0,m.jsxs)(`div`,{className:`flex gap-2`,children:[(0,m.jsx)(`span`,{className:`tabular w-14 shrink-0 pt-2 text-right font-mono text-[10px] text-muted-foreground/70`,children:Yw(r.atMs)}),(0,m.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,m.jsx)(eT,{e:r,open:t,toggle:n})})]})}var nT=e=>e.kind===`event`&&(e.event.type===`tool`||e.event.type===`reasoning`);function rT({text:e}){let t=(0,p.useMemo)(()=>_b(gb(e)),[e]),[n,r]=(0,p.useState)(()=>new Set),i=(0,p.useRef)(null),[a,o]=(0,p.useState)(0);(0,p.useLayoutEffect)(()=>{o((i.current?.getBoundingClientRect().top??0)+window.scrollY)},[]);let s=Jw({count:t.length,estimateSize:()=>56,overscan:8,scrollMargin:a}),c=(0,p.useCallback)(e=>r(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),[]),l=(0,p.useMemo)(()=>{let e=0,n=0,r=0;for(let i of t)i.kind===`event`&&(i.event.type===`tool`&&e++,i.event.type===`reasoning`&&n++,i.event.type===`file-edit`&&r++);return{tools:e,reasoning:n,edits:r}},[t]),u=t.flatMap((e,t)=>nT(e)?[t]:[]),d=u.length>0&&u.every(e=>n.has(e));return t.length===0?(0,m.jsx)(`p`,{className:`py-10 text-center text-sm text-muted-foreground`,children:`The transcript is empty.`}):(0,m.jsxs)(`div`,{children:[(0,m.jsxs)(`div`,{className:`mb-4 flex flex-wrap items-center gap-2`,children:[(0,m.jsxs)(RC,{variant:`secondary`,children:[l.tools,` tool calls`]}),(0,m.jsxs)(RC,{variant:`secondary`,children:[l.edits,` file edits`]}),(0,m.jsxs)(RC,{variant:`secondary`,children:[l.reasoning,` reasoning blocks`]}),u.length?(0,m.jsx)(fC,{variant:`ghost`,size:`sm`,className:`ml-auto`,onClick:()=>r(d?new Set:new Set(u)),children:d?`Collapse all`:`Expand all`}):null]}),(0,m.jsx)(`div`,{ref:i,className:`relative w-full`,style:{height:s.getTotalSize()},children:s.getVirtualItems().map(e=>{let r=t[e.index];return(0,m.jsx)(`div`,{"data-index":e.index,ref:s.measureElement,className:`absolute top-0 left-0 w-full pb-2.5`,style:{transform:`translateY(${e.start-s.options.scrollMargin}px)`},children:(0,m.jsx)(tT,{item:r,open:n.has(e.index),toggle:()=>c(e.index)})},e.key)})})]})}var iT=[`transcript`,`diff`,`checks`,`judge`,`state`,`debug`],aT=la(`/runs/$runId/evals/$slug/attempts/$attempt`),oT=[[`setupMs`,`Setup`,`bg-skip/60`],[`agentMs`,`Agent`,`bg-brand`],[`diffMs`,`Diff`,`bg-drift/70`],[`checksMs`,`Checks`,`bg-infra`],[`judgeMs`,`Judge`,`bg-pass`]];function sT({attempt:e}){let t=oT.reduce((t,[n])=>t+e.timings[n],0)||1;return(0,m.jsxs)(`div`,{className:`space-y-2`,children:[(0,m.jsx)(`div`,{className:`flex h-2 overflow-hidden rounded-full bg-muted`,children:oT.map(([n,r,i])=>e.timings[n]>0?(0,m.jsxs)(fv,{children:[(0,m.jsx)(pv,{asChild:!0,children:(0,m.jsx)(`div`,{className:i,style:{width:`${e.timings[n]/t*100}%`}})}),(0,m.jsxs)(mv,{children:[r,` `,Hy(e.timings[n])]})]},n):null)}),(0,m.jsx)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-1 text-xs text-muted-foreground`,children:oT.map(([t,n,r])=>(0,m.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,m.jsx)(`span`,{className:Z(`size-2 rounded-full`,r)}),n,` `,(0,m.jsx)(`span`,{className:`tabular text-foreground`,children:Hy(e.timings[t])})]},t))})]})}function cT(){let{runId:e,slug:t,attempt:n}=aT.useParams(),{tab:r=`transcript`}=aT.useSearch(),i=Ki({from:`/runs/$runId/evals/$slug/attempts/$attempt`}),{data:a,error:o,isPending:s}=et(Ob(e)),{data:c}=Nb(),l=a&&bb(a,t),u=(l&&xb(l,n)?.key)??``,{data:d}=et(jb(e,u,!!c?.features.debug&&!!u));if(o)return(0,m.jsx)(jC,{error:o});if(s)return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsx)(PC,{}),(0,m.jsx)(NC,{rows:6})]});let f=bb(a,t),p=f&&xb(f,n);if(!f||!p)return(0,m.jsxs)(AC,{icon:US,title:`Attempt not found`,children:[`This run has no attempt `,(0,m.jsx)(`code`,{className:`font-mono`,children:n}),` of that eval.`,` `,(0,m.jsx)(R,{to:`/runs/$runId`,params:{runId:e},className:`underline`,children:`Back to the run`})]});let h=f.attempts.indexOf(p),g=f.attempts[h-1],_=f.attempts[h+1],v=p.judgements[0],y=p.checks.filter(e=>e.exitCode!==0).length,b=[...new Set(p.turns.flatMap(e=>e.model?[e.model]:[]))];return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsxs)(`nav`,{className:`flex min-w-0 flex-wrap items-center gap-1.5 text-sm text-muted-foreground`,children:[(0,m.jsx)(R,{to:`/`,className:`hover:text-foreground`,children:`Runs`}),(0,m.jsx)(yx,{className:`size-3.5`}),(0,m.jsx)(R,{to:`/runs/$runId`,params:{runId:e},className:`font-mono text-xs hover:text-foreground`,children:wC(e)}),(0,m.jsx)(yx,{className:`size-3.5`}),(0,m.jsx)(R,{to:`/runs/$runId`,params:{runId:e},search:{eval:t},className:`max-w-64 truncate hover:text-foreground`,children:f.name}),(0,m.jsx)(yx,{className:`size-3.5`}),(0,m.jsx)(`span`,{className:`font-mono text-xs text-foreground`,children:p.id})]}),(0,m.jsxs)(`div`,{className:`flex flex-col gap-4 md:flex-row md:items-start md:justify-between`,children:[(0,m.jsxs)(`div`,{className:`min-w-0`,children:[(0,m.jsx)(`div`,{className:`font-mono text-xs text-muted-foreground`,children:[f.file,...f.group].join(` › `)}),(0,m.jsxs)(`div`,{className:`mt-1.5 flex flex-wrap items-center gap-2.5`,children:[(0,m.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:f.name}),(0,m.jsx)(HC,{outcome:p.outcome})]}),(0,m.jsxs)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:[(0,m.jsx)(`span`,{className:`font-mono text-xs`,children:p.id}),` ·`,` `,Hy(p.durationMs),` · `,CC(p.turns.length,`turn`),` ·`,` `,Yy(p.activity),p.activity.reasoningMs?` · ${Hy(p.activity.reasoningMs)} reasoning`:``,p.usage?` · ${qy(p.usage)} tokens`:``,b.length?` · served by ${b.join(`, `)}`:``]})]}),f.attempts.length>1?(0,m.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,m.jsx)(fC,{variant:`outline`,size:`icon`,className:`size-8`,disabled:!g,asChild:!!g,children:g?(0,m.jsx)(R,{to:`.`,params:{runId:e,slug:t,attempt:g.id},search:{tab:r},"aria-label":`Previous attempt`,children:(0,m.jsx)(_x,{})}):(0,m.jsx)(_x,{})}),(0,m.jsx)(`div`,{className:`flex items-center gap-0.5 px-1`,children:f.attempts.map(n=>(0,m.jsx)(R,{to:`.`,params:{runId:e,slug:t,attempt:n.id},search:{tab:r},title:n.id,className:Z(`rounded p-0.5`,n.id===p.id?`bg-accent ring-1 ring-border`:`hover:bg-accent/60`),children:(0,m.jsx)(VC,{outcome:n.outcome,className:`size-3.5`})},n.id))}),(0,m.jsx)(fC,{variant:`outline`,size:`icon`,className:`size-8`,disabled:!_,asChild:!!_,children:_?(0,m.jsx)(R,{to:`.`,params:{runId:e,slug:t,attempt:_.id},search:{tab:r},"aria-label":`Next attempt`,children:(0,m.jsx)(yx,{})}):(0,m.jsx)(yx,{})})]}):null]}),p.error?(0,m.jsxs)(`div`,{className:`rounded-lg border border-fail/30 bg-fail/5 px-4 py-3`,children:[(0,m.jsx)(`div`,{className:`text-xs font-medium tracking-wide text-fail uppercase`,children:p.error.kind}),(0,m.jsx)(`pre`,{className:`mt-1 max-h-60 overflow-auto font-mono text-xs leading-relaxed whitespace-pre-wrap text-fail`,children:p.error.message})]}):null,(0,m.jsx)(`div`,{className:`rounded-xl border bg-card p-4`,children:(0,m.jsx)(sT,{attempt:p})}),p.files.artifacts?.length?(0,m.jsxs)(`section`,{className:`space-y-3`,children:[(0,m.jsx)(`h2`,{className:`text-sm font-medium`,children:`Artefacts`}),(0,m.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:p.files.artifacts.map(e=>e.mediaType===`image/png`?(0,m.jsxs)(`figure`,{className:`space-y-2`,children:[(0,m.jsx)(`img`,{src:By(a.runId,e.path),alt:e.name,className:`w-full rounded-lg border bg-muted`}),(0,m.jsx)(`figcaption`,{className:`text-xs text-muted-foreground`,children:e.name})]},e.path):null)})]}):null,(0,m.jsxs)(YC,{value:r,onValueChange:e=>i({search:{tab:e},replace:!0}),children:[(0,m.jsxs)(ZC,{className:`w-full justify-start overflow-x-auto sm:w-auto`,children:[(0,m.jsx)(QC,{value:`transcript`,children:`Transcript`}),(0,m.jsxs)(QC,{value:`diff`,children:[`Diff`,p.changedFiles.length?(0,m.jsx)(`span`,{className:`tabular text-xs text-muted-foreground`,children:p.changedFiles.length}):null]}),(0,m.jsxs)(QC,{value:`checks`,children:[`Checks`,p.checks.length?(0,m.jsx)(`span`,{className:Z(`tabular text-xs`,y?`text-fail`:`text-muted-foreground`),children:y?`${y}/${p.checks.length}`:p.checks.length}):null]}),(0,m.jsxs)(QC,{value:`judge`,children:[`Judge`,v?(0,m.jsx)(`span`,{className:Z(`tabular text-xs`,v.verdict===`pass`?`text-pass`:`text-fail`),children:v.score.toFixed(2)}):null]}),(0,m.jsx)(QC,{value:`state`,children:`State`}),d?(0,m.jsx)(QC,{value:`debug`,children:`Debug`}):null]}),(0,m.jsxs)(`div`,{className:`mt-4`,children:[(0,m.jsx)($C,{value:`transcript`,children:(0,m.jsx)(IC,{record:a,file:p.files.transcript,what:`transcript`,children:e=>(0,m.jsx)(rT,{text:e},p.id)})}),(0,m.jsx)($C,{value:`diff`,children:(0,m.jsx)(IC,{record:a,file:p.files.diff,what:`diff`,children:e=>(0,m.jsx)(fw,{text:e},p.id)})}),(0,m.jsx)($C,{value:`checks`,children:(0,m.jsx)(tw,{record:a,attempt:p})}),(0,m.jsx)($C,{value:`judge`,children:(0,m.jsx)(gw,{record:a,attempt:p})}),(0,m.jsx)($C,{value:`state`,children:(0,m.jsx)(Cw,{record:a,attempt:p})}),d?(0,m.jsx)($C,{value:`debug`,children:(0,m.jsx)(sw,{runId:e,attemptKey:p.key,view:d})}):null]})]})]})}function lT({...e}){return(0,m.jsx)(Bm,{"data-slot":`select`,...e})}function uT({...e}){return(0,m.jsx)(Wm,{"data-slot":`select-value`,...e})}function dT({className:e,size:t=`default`,children:n,...r}){return(0,m.jsxs)(Hm,{"data-slot":`select-trigger`,"data-size":t,className:Z(`flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...r,children:[n,(0,m.jsx)(Gm,{asChild:!0,children:(0,m.jsx)(hx,{className:`size-4 opacity-50`})})]})}function fT({className:e,children:t,position:n=`item-aligned`,align:r=`center`,...i}){return(0,m.jsx)(Jm,{children:(0,m.jsxs)(Xm,{"data-slot":`select-content`,className:Z(`relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,align:r,...i,children:[(0,m.jsx)(mT,{}),(0,m.jsx)(ch,{className:Z(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1`),children:t}),(0,m.jsx)(hT,{})]})})}function pT({className:e,children:t,...n}){return(0,m.jsxs)(mh,{"data-slot":`select-item`,className:Z(`relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,e),...n,children:[(0,m.jsx)(`span`,{"data-slot":`select-item-indicator`,className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,m.jsx)(vh,{children:(0,m.jsx)(px,{className:`size-4`})})}),(0,m.jsx)(gh,{children:t})]})}function mT({className:e,...t}){return(0,m.jsx)(bh,{"data-slot":`select-scroll-up-button`,className:Z(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,m.jsx)(xx,{className:`size-4`})})}function hT({className:e,...t}){return(0,m.jsx)(Sh,{"data-slot":`select-scroll-down-button`,className:Z(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,m.jsx)(hx,{className:`size-4`})})}function gT({className:e,...t}){return(0,m.jsx)(`div`,{"data-slot":`table-container`,className:`relative w-full overflow-x-auto`,children:(0,m.jsx)(`table`,{"data-slot":`table`,className:Z(`w-full caption-bottom text-sm`,e),...t})})}function _T({className:e,...t}){return(0,m.jsx)(`thead`,{"data-slot":`table-header`,className:Z(`[&_tr]:border-b`,e),...t})}function vT({className:e,...t}){return(0,m.jsx)(`tbody`,{"data-slot":`table-body`,className:Z(`[&_tr:last-child]:border-0`,e),...t})}function yT({className:e,...t}){return(0,m.jsx)(`tr`,{"data-slot":`table-row`,className:Z(`border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted`,e),...t})}function $({className:e,...t}){return(0,m.jsx)(`th`,{"data-slot":`table-head`,className:Z(`h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...t})}function bT({className:e,...t}){return(0,m.jsx)(`td`,{"data-slot":`table-cell`,className:Z(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...t})}var xT=la(`/compare`),ST={regressed:{label:`Regressed`,className:`border-fail/30 bg-fail/10 text-fail`},fixed:{label:`Fixed`,className:`border-pass/30 bg-pass/10 text-pass`},drift:{label:`Not comparable`,className:`border-drift/30 bg-drift/10 text-drift`},infra:{label:`Infra error`,className:`border-infra/30 bg-infra/10 text-infra`},added:{label:`New`,className:`text-brand border-brand/30`},removed:{label:`Removed`,className:`text-muted-foreground`},same:{label:`Same`,className:`text-muted-foreground`}};function CT({label:e,value:t,runs:n,onChange:r}){return(0,m.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,m.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:e}),(0,m.jsxs)(lT,{value:t,onValueChange:r,children:[(0,m.jsx)(dT,{className:`w-full`,children:(0,m.jsx)(uT,{placeholder:`Choose a run`})}),(0,m.jsx)(fT,{children:n.map(e=>(0,m.jsxs)(pT,{value:e.runId,children:[(0,m.jsx)(`span`,{className:`font-mono text-xs`,children:Jy(e.git?.sha)}),(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:bC(e.startedAt)}),(0,m.jsxs)(`span`,{className:`tabular text-xs text-muted-foreground`,children:[e.summary.pass,`/`,e.summary.pass+e.summary.fail+e.summary.infraError]}),e.recorded?null:(0,m.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`scratch`})]},e.runId))})]})]})}function wT({base:e,head:t,kind:n}){let r=n===`score`?DT:OT;if(e===null&&t===null)return(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:`–`});if(e===null||t===null)return(0,m.jsx)(`span`,{className:`tabular`,children:r(t===null?e:t)});let i=t-e;return(0,m.jsxs)(`span`,{className:`tabular`,children:[(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:r(e)}),(0,m.jsx)(sx,{className:`mx-1 inline size-3 text-muted-foreground`}),r(t),Math.abs(i)>1e-9?(0,m.jsxs)(`span`,{className:Z(`ml-1.5 text-xs`,i>0?`text-pass`:`text-fail`),children:[i>0?`+`:``,n===`score`?i.toFixed(2):`${Math.round(i*100)} pts`]}):null]})}var TT=e=>`${e>=0?`+`:`−`}${Math.round(Math.abs(e)*100)}`,ET=e=>e?`${TT(e.points)} (${TT(e.lo)}…${TT(e.hi)})${e.withinNoise?` noise`:``}`:`–`,DT=e=>e.toFixed(2),OT=e=>Uy(e);function kT({row:e,head:t}){let n=ST[e.status],r=e.id.split(` › `).slice(1).join(` › `)||e.id;return(0,m.jsxs)(yT,{className:e.status===`same`?`opacity-70`:void 0,children:[(0,m.jsx)(bT,{className:`pl-4`,children:(0,m.jsx)(RC,{variant:`outline`,className:n.className,children:n.label})}),(0,m.jsxs)(bT,{className:`max-w-md`,children:[e.slug?(0,m.jsx)(R,{to:`/evals/$slug`,params:{slug:e.slug},className:`font-medium hover:underline`,children:r}):r,(0,m.jsx)(`div`,{className:`truncate font-mono text-[11px] text-muted-foreground`,children:e.id.split(` › `)[0]}),e.cells?(0,m.jsxs)(`div`,{className:`text-[11px] text-muted-foreground`,children:[`compared on the cells both runs have`,e.cells.added.length?` · added ${e.cells.added.join(`, `)}`:``,e.cells.removed.length?` · removed ${e.cells.removed.join(`, `)}`:``]}):null,e.perCell.length?(0,m.jsx)(`ul`,{className:`mt-1.5 space-y-0.5 text-[11px] text-muted-foreground`,children:e.perCell.map(e=>(0,m.jsxs)(`li`,{className:`tabular`,children:[(0,m.jsx)(`span`,{className:`font-mono`,children:e.key}),e.base.lift||e.head.lift?(0,m.jsxs)(m.Fragment,{children:[` · lift `,ET(e.base.lift),` → `,ET(e.head.lift)]}):null,e.base.effort&&e.head.effort?(0,m.jsxs)(m.Fragment,{children:[` · `,cy(e.base.effort,e.head.effort)]}):null]},e.key))}):null]}),(0,m.jsx)(bT,{children:(0,m.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,m.jsx)(VC,{outcome:e.base}),(0,m.jsx)(sx,{className:`size-3 text-muted-foreground`}),e.slug&&e.head?(0,m.jsx)(R,{to:`/runs/$runId`,params:{runId:t},search:{eval:e.slug},children:(0,m.jsx)(VC,{outcome:e.head})}):(0,m.jsx)(VC,{outcome:e.head})]})}),(0,m.jsx)(bT,{className:`hidden md:table-cell`,children:(0,m.jsx)(wT,{base:e.basePassRate,head:e.headPassRate,kind:`rate`})}),(0,m.jsx)(bT,{className:`hidden pr-4 md:table-cell`,children:(0,m.jsx)(wT,{base:e.baseScore,head:e.headScore,kind:`score`})})]})}function AT(){let e=xT.useSearch(),t=Ki({from:`/compare`}),{data:n,error:r,isPending:i}=et(Db),a=n?.headers??[],o=a.find(t=>t.runId===e.head)??(e.head?void 0:a[0]),s=a.find(t=>t.runId===e.base)??(e.base?void 0:a.find(e=>o&&e.runId<o.runId&&e.status===`complete`)),c=et({...Ob(s?.runId??``),enabled:!!s}),l=et({...Ob(o?.runId??``),enabled:!!o}),u=(0,p.useMemo)(()=>s&&o?hb(s,o,{base:c.data,head:l.data}):null,[s,o,c.data,l.data]);return r?(0,m.jsx)(jC,{error:r}):i?(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsx)(PC,{}),(0,m.jsx)(NC,{rows:6})]}):(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsxs)(`div`,{children:[(0,m.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Compare runs`}),(0,m.jsxs)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:[`What flipped between two runs, with pass-rate and judge-score deltas, and each cell's lift and effort (tool calls, agent time). Uses the same rules as`,` `,(0,m.jsx)(`code`,{className:`font-mono text-xs`,children:`reeval compare`}),`.`]})]}),a.length<2?(0,m.jsx)(AC,{icon:yS,title:`Two runs needed`,children:`Record at least two runs to compare them.`}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-xl border bg-card p-4 sm:flex-row sm:items-end`,children:[(0,m.jsx)(CT,{label:`Base`,value:s?.runId,runs:a,onChange:e=>t({search:t=>({...t,base:e}),replace:!0})}),(0,m.jsx)(sx,{className:`mx-auto hidden size-4 shrink-0 text-muted-foreground sm:mb-2.5 sm:block`}),(0,m.jsx)(CT,{label:`Head`,value:o?.runId,runs:a,onChange:e=>t({search:t=>({...t,head:e}),replace:!0})})]}),!s||!o||!u?(0,m.jsx)(AC,{icon:yS,title:`Pick two runs`,children:`Choose a base and a head run to see what changed.`}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`div`,{className:`grid grid-cols-2 gap-3 sm:grid-cols-4`,children:[`regressed`,`fixed`,`drift`,`same`].map(e=>(0,m.jsxs)(`div`,{className:`rounded-xl border bg-card px-4 py-3`,children:[(0,m.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:ST[e].label}),(0,m.jsx)(`div`,{className:Z(`mt-1 text-2xl font-semibold tracking-tight`,u.counts[e]&&e===`regressed`&&`text-fail`,u.counts[e]&&e===`fixed`&&`text-pass`,u.counts[e]&&e===`drift`&&`text-drift`),children:u.counts[e]})]},e))}),u.changes.length?(0,m.jsxs)(`div`,{className:`rounded-xl border border-drift/30 bg-drift/5 p-4`,children:[(0,m.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-medium text-drift`,children:[(0,m.jsx)(tC,{className:`size-4`}),` The stack changed between these runs`]}),(0,m.jsx)(`ul`,{className:`mt-2 space-y-1 text-sm`,children:u.changes.map(e=>(0,m.jsxs)(`li`,{className:`flex flex-wrap items-center gap-x-2`,children:[(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:e.label}),(0,m.jsx)(`code`,{className:`font-mono text-xs`,children:e.base}),(0,m.jsx)(sx,{className:`size-3 text-muted-foreground`}),(0,m.jsx)(`code`,{className:`font-mono text-xs`,children:e.head}),e.outsideFingerprint?(0,m.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`(not in fingerprints: flips count as not comparable)`}):null]},e.field))})]}):null,(0,m.jsx)(`div`,{className:`overflow-hidden rounded-xl border bg-card`,children:(0,m.jsxs)(gT,{children:[(0,m.jsx)(_T,{children:(0,m.jsxs)(yT,{className:`hover:bg-transparent`,children:[(0,m.jsx)($,{className:`w-36 pl-4`,children:`Change`}),(0,m.jsx)($,{children:`Eval`}),(0,m.jsx)($,{className:`w-24`,children:`Outcome`}),(0,m.jsx)($,{className:`hidden md:table-cell`,children:`Pass rate`}),(0,m.jsx)($,{className:`hidden pr-4 md:table-cell`,children:`Judge score`})]})}),(0,m.jsx)(vT,{children:u.rows.map(e=>(0,m.jsx)(kT,{row:e,head:o.runId},e.id))})]})})]})]})]})}var jT=la(`/evals/$slug`);function MT(){let{slug:e}=jT.useParams(),{data:t,error:n,isPending:r}=et(Db),i=(0,p.useMemo)(()=>t?lb(t.headers,e):[],[t,e]);if(n)return(0,m.jsx)(jC,{error:n});if(r)return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsx)(PC,{}),(0,m.jsx)(NC,{rows:8})]});let a=t.manifest.evals.find(t=>t.slug===e);if(!a||i.length===0)return(0,m.jsx)(AC,{icon:US,title:`No history for this eval`,children:`No recorded run includes it. It may have been renamed: evals are keyed by file, group and name.`});let{file:o,path:s}=Vy(a.id),c=i.filter(e=>e.outcome===`pass`||e.outcome===`fail`),l=c.filter(e=>e.outcome===`pass`).length,u=[...i].reverse(),d=i.filter(e=>e.changed).length;return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsxs)(`nav`,{className:`flex items-center gap-1.5 text-sm text-muted-foreground`,children:[(0,m.jsx)(R,{to:`/evals`,className:`hover:text-foreground`,children:`Evals`}),(0,m.jsx)(yx,{className:`size-3.5`}),(0,m.jsx)(`span`,{className:`truncate text-foreground`,children:s.at(-1)})]}),(0,m.jsxs)(`div`,{children:[(0,m.jsx)(`div`,{className:`font-mono text-xs text-muted-foreground`,children:[o,...s.slice(0,-1)].join(` › `)}),(0,m.jsx)(`h1`,{className:`mt-1.5 text-2xl font-semibold tracking-tight`,children:s.at(-1)}),(0,m.jsxs)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:[`Passed in `,l,` of `,CC(c.length,`run`),` with a verdict`,d?` · the eval or its stack changed ${CC(d,`time`)}`:``,`.`]})]}),(0,m.jsxs)(`div`,{className:`rounded-xl border bg-card p-5`,children:[(0,m.jsxs)(`div`,{className:`mb-3 flex items-center justify-between text-xs text-muted-foreground`,children:[(0,m.jsx)(`span`,{children:`Oldest`}),(0,m.jsxs)(`span`,{children:[(0,m.jsx)(`span`,{className:`mr-1 inline-block h-3 w-px bg-drift align-middle`}),` changed`]}),(0,m.jsx)(`span`,{children:`Newest`})]}),(0,m.jsx)(JC,{items:i.map(e=>({key:e.run.runId,outcome:e.outcome,changed:e.changed,title:`${Jy(e.run.git?.sha)} · ${bC(e.run.startedAt)} · ${e.outcome}`}))})]}),(0,m.jsx)(`div`,{className:`overflow-hidden rounded-xl border bg-card`,children:(0,m.jsxs)(gT,{children:[(0,m.jsx)(_T,{children:(0,m.jsxs)(yT,{className:`hover:bg-transparent`,children:[(0,m.jsx)($,{className:`w-10`}),(0,m.jsx)($,{children:`Run`}),(0,m.jsx)($,{children:`Commit`}),(0,m.jsx)($,{className:`w-48`,children:`Attempts`}),(0,m.jsx)($,{className:`text-right`,children:`Pass rate`}),(0,m.jsx)($,{className:`hidden text-right sm:table-cell`,children:`Run time`})]})}),(0,m.jsx)(vT,{children:u.map(t=>{let n=t.cells.reduce((e,t)=>e+t.pass,0),r=t.cells.reduce((e,t)=>e+t.fail,0),i=t.cells.reduce((e,t)=>e+t.infraError,0);return(0,m.jsxs)(yT,{children:[(0,m.jsx)(bT,{className:`pl-4`,children:(0,m.jsx)(VC,{outcome:t.outcome})}),(0,m.jsxs)(bT,{children:[(0,m.jsx)(R,{to:`/runs/$runId`,params:{runId:t.run.runId},search:{eval:e},className:`font-medium hover:underline`,children:(0,m.jsx)(`span`,{title:SC(t.run.startedAt),children:bC(t.run.startedAt)})}),(0,m.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-1.5`,children:[(0,m.jsx)(`span`,{className:`font-mono text-[11px] text-muted-foreground`,children:t.run.runId}),t.changed?(0,m.jsx)(RC,{variant:`outline`,className:`h-4 border-drift/30 px-1.5 text-[10px] text-drift`,children:`changed`}):null]})]}),(0,m.jsxs)(bT,{children:[(0,m.jsx)(`span`,{className:`font-mono text-xs`,children:Jy(t.run.git?.sha)}),t.run.git?.branch?(0,m.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-1 text-xs text-muted-foreground`,children:[(0,m.jsx)(hS,{className:`size-3`}),t.run.git.branch]}):null]}),(0,m.jsxs)(bT,{children:[(0,m.jsxs)(`span`,{className:`tabular text-xs`,children:[n,`/`,n+r+i,t.cells.length>1?(0,m.jsxs)(`span`,{className:`text-muted-foreground`,children:[` `,`· `,CC(t.cells.length,`cell`)]}):null]}),(0,m.jsx)(UC,{className:`mt-1.5`,pass:n,fail:r,infra:i})]}),(0,m.jsxs)(bT,{className:`text-right`,children:[(0,m.jsx)(WC,{rate:t.passRate}),fb(t.cells)?(0,m.jsx)(`span`,{className:`ml-1 text-xs text-muted-foreground`,children:`gated`}):null]}),(0,m.jsx)(bT,{className:`tabular hidden text-right text-muted-foreground sm:table-cell`,children:Hy(t.run.durationMs)})]},t.run.runId)})})]})})]})}var NT=la(`/evals`);function PT(){let{q:e}=NT.useSearch(),t=Ki({from:`/evals`}),{data:n,error:r,isPending:i}=et(Db),a=(0,p.useMemo)(()=>{let t=new Map,r=e?.toLowerCase();for(let e of n?.manifest.evals??[]){if(r&&!e.id.toLowerCase().includes(r))continue;let n=t.get(e.file)??[];n.push(e),t.set(e.file,n)}return[...t]},[n,e]);if(r)return(0,m.jsx)(jC,{error:r});if(i)return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsx)(PC,{}),(0,m.jsx)(NC,{rows:8})]});let o=n.headers.slice(0,20);return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsxs)(`div`,{className:`flex flex-col gap-4 sm:flex-row sm:items-end sm:justify-between`,children:[(0,m.jsxs)(`div`,{children:[(0,m.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Evals`}),(0,m.jsxs)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:[CC(n.manifest.evals.length,`eval`),` across `,CC(n.headers.length,`run`),`. The strip shows the last 20 runs, oldest to newest.`]})]}),(0,m.jsxs)(`div`,{className:`relative sm:w-72`,children:[(0,m.jsx)(GS,{className:`pointer-events-none absolute top-1/2 left-2.5 size-4 -translate-y-1/2 text-muted-foreground`}),(0,m.jsx)(nw,{value:e??``,onChange:e=>t({search:{q:e.target.value||void 0},replace:!0}),placeholder:`Filter evals`,className:`h-9 pl-8`})]})]}),n.manifest.evals.length===0?(0,m.jsx)(AC,{icon:lS,title:`No evals yet`,children:`Evals appear here once a run that includes them is recorded.`}):a.length===0?(0,m.jsxs)(AC,{icon:GS,title:`No evals match`,children:[`Nothing matches “`,e,`”.`]}):a.map(([e,t])=>(0,m.jsxs)(`section`,{className:`overflow-hidden rounded-xl border bg-card`,children:[(0,m.jsx)(`div`,{className:`border-b bg-muted/40 px-4 py-2 font-mono text-xs text-muted-foreground`,children:e}),(0,m.jsx)(`div`,{className:`divide-y`,children:t.map(e=>{let t=lb(o,e.slug).filter(e=>e.outcome===`pass`||e.outcome===`fail`),n=t.length?t.filter(e=>e.outcome===`pass`).length/t.length:null;return(0,m.jsxs)(R,{to:`/evals/$slug`,params:{slug:e.slug},className:`flex flex-col gap-2 px-4 py-3 transition-colors hover:bg-accent/50 sm:flex-row sm:items-center sm:gap-4`,children:[(0,m.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2.5`,children:[(0,m.jsx)(VC,{outcome:e.latest.outcome}),(0,m.jsxs)(`div`,{className:`min-w-0`,children:[(0,m.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.path.at(-1)}),e.path.length>1?(0,m.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.path.slice(0,-1).join(` › `)}):null]})]}),(0,m.jsxs)(`div`,{className:`flex items-center gap-4 pl-6 sm:pl-0`,children:[(0,m.jsx)(JC,{size:`sm`,items:o.slice().reverse().map(t=>({key:t.runId,outcome:t.evals.find(t=>t.slug===e.slug)?.outcome??null}))}),(0,m.jsx)(WC,{rate:n,className:`w-10 text-right text-sm`})]})]},e.slug)})})]},e))]})}var FT={running:{label:`Running`,tone:`border-brand/30 bg-brand/10 text-brand`},cancelling:{label:`Cancelling`,tone:`border-infra/30 bg-infra/10 text-infra`},finishing:{label:`Finishing`,tone:`border-brand/30 bg-brand/10 text-brand`},stopped:{label:`Stopped`,tone:`border-border bg-muted text-muted-foreground`}};function IT(e=1e3){let[t,n]=(0,p.useState)(()=>Date.now());return(0,p.useEffect)(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}function LT({run:e,className:t}){let{label:n,tone:r}=FT[e.state];return(0,m.jsxs)(RC,{variant:`outline`,className:Z(`gap-1.5 tabular`,r,t),children:[e.state===`stopped`?(0,m.jsx)(`span`,{className:`size-1.5 rounded-full bg-muted-foreground/60`}):(0,m.jsxs)(`span`,{className:`relative flex size-1.5`,children:[(0,m.jsx)(`span`,{className:`absolute inline-flex size-full animate-ping rounded-full bg-current opacity-60`}),(0,m.jsx)(`span`,{className:`relative inline-flex size-1.5 rounded-full bg-current`})]}),n,` `,e.counts.done,`/`,e.planned]})}function RT({run:e,className:t}){let{passed:n,failed:r,errored:i,skipped:a,running:o,done:s}=e.counts,c=Math.max(e.planned,1),l=(e,t)=>e>0?(0,m.jsx)(`div`,{className:Z(`transition-[width] duration-500`,t),style:{width:`${e/c*100}%`}}):null;return(0,m.jsxs)(`div`,{className:Z(`flex h-2 overflow-hidden rounded-full bg-muted`,t),role:`progressbar`,"aria-label":`Attempts finished`,"aria-valuemin":0,"aria-valuemax":e.planned,"aria-valuenow":s,children:[l(n,`bg-pass`),l(r,`bg-fail`),l(i,`bg-infra`),l(a,`bg-skip/50`),e.state===`stopped`?null:l(o,`animate-pulse bg-brand/40`)]})}function zT({status:e,stopped:t=!1,className:n}){return e===`running`&&!t?(0,m.jsx)(kS,{className:Z(`size-4 shrink-0 animate-spin text-brand`,n),"aria-label":`Running`}):e===`queued`||e===`running`?(0,m.jsx)(VC,{outcome:null,className:n}):(0,m.jsx)(VC,{outcome:e,className:n})}var BT={queued:`Queued`,running:`Running`,pass:`Passed`,fail:`Failed`,infra_error:`Infra error`,skipped:`Skipped`},VT=(e,t)=>Hy(Math.max(0,t-Date.parse(e.startedAt)));function HT({runs:e}){let t=IT();return e.length?(0,m.jsx)(`section`,{"aria-label":`Runs in progress`,className:`space-y-2`,children:e.map(e=>(0,m.jsxs)(R,{to:`/live/$runId`,params:{runId:e.runId},"data-live-run":e.runId,className:`block rounded-xl border bg-card px-4 py-3 transition-colors hover:bg-accent/50`,children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1`,children:[(0,m.jsx)(LT,{run:e}),(0,m.jsxs)(`span`,{className:`text-sm font-medium`,title:SC(e.startedAt),children:[`Started `,bC(e.startedAt,t)]}),(0,m.jsx)(`span`,{className:`hidden font-mono text-[11px] text-muted-foreground sm:inline`,children:e.runId}),(0,m.jsxs)(`span`,{className:`tabular ml-auto text-xs text-muted-foreground`,children:[e.counts.passed,` passed · `,e.counts.failed+e.counts.errored,` failed`,e.state!==`stopped`&&e.counts.running?` · ${e.counts.running} running`:``,` `,`· `,VT(e,t)]})]}),(0,m.jsx)(RT,{run:e,className:`mt-2.5`})]},e.runId))}):null}var UT=la(`/live/$runId`),WT=la(`/live/$runId/attempt`);function GT(e){let t=Fb(),n=et(Db),r=t.runs.find(t=>t.runId===e);return{run:r,landed:!r&&!!n.data?.headers.some(t=>t.runId===e),isPending:t.isPending||n.isPending,error:t.error??n.error}}function KT({label:e,children:t}){return(0,m.jsxs)(`div`,{className:`rounded-xl border bg-card px-4 py-3`,children:[(0,m.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e}),(0,m.jsx)(`div`,{className:`tabular mt-1 text-lg font-semibold tracking-tight`,children:t})]})}function qT({runId:e}){return(0,m.jsxs)(AC,{icon:FS,title:`This run isn't in progress`,children:[`No running `,(0,m.jsx)(`span`,{className:`font-mono`,children:`reeval run`}),` has the id`,` `,(0,m.jsx)(`span`,{className:`font-mono`,children:e}),`, and no record of it has landed.`,` `,(0,m.jsx)(R,{to:`/`,className:`underline`,children:`Back to runs`})]})}function JT({attempt:e,run:t,now:n}){return e.durationMs===null?e.status===`running`&&e.startedAt&&t.state!==`stopped`?(0,m.jsx)(m.Fragment,{children:Hy(Math.max(0,n-Date.parse(e.startedAt)))}):(0,m.jsx)(m.Fragment,{children:`–`}):(0,m.jsx)(m.Fragment,{children:Hy(e.durationMs)})}function YT(){let{runId:e}=UT.useParams(),t=Ki(),n=IT(),{run:r,landed:i,isPending:a,error:o}=GT(e);(0,p.useEffect)(()=>{i&&t({to:`/runs/$runId`,params:{runId:e},replace:!0})},[i,t,e]);let s=(0,p.useMemo)(()=>{let e=new Map;for(let t of r?.attempts??[])e.set(t.evalId,[...e.get(t.evalId)??[],t]);return[...e.values()]},[r]);if(o)return(0,m.jsx)(jC,{error:o});if(a||i)return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsx)(PC,{}),(0,m.jsx)(NC,{rows:6})]});if(!r)return(0,m.jsx)(qT,{runId:e});let c=r.state===`stopped`;return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsxs)(`div`,{children:[(0,m.jsx)(fC,{asChild:!0,variant:`ghost`,size:`sm`,className:`-ml-2 text-muted-foreground`,children:(0,m.jsxs)(R,{to:`/`,children:[(0,m.jsx)(ax,{}),` Runs`]})}),(0,m.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-3`,children:[(0,m.jsx)(`h2`,{className:`text-2xl font-semibold tracking-tight`,children:c?`Run stopped`:`Run in progress`}),(0,m.jsx)(LT,{run:r})]}),(0,m.jsxs)(`p`,{className:`mt-1 flex flex-wrap gap-x-2 text-sm text-muted-foreground`,children:[(0,m.jsxs)(`span`,{title:SC(r.startedAt),children:[`Started `,bC(r.startedAt,n)]}),(0,m.jsx)(`span`,{children:`·`}),(0,m.jsx)(`span`,{className:`font-mono text-xs leading-5`,children:r.runId})]})]}),c?(0,m.jsxs)(`div`,{className:`flex gap-3 rounded-xl border border-infra/30 bg-infra/5 px-4 py-3 text-sm`,children:[(0,m.jsx)(Nx,{className:`mt-0.5 size-4 shrink-0 text-infra`}),(0,m.jsxs)(`p`,{children:[`This run stopped without writing a record: its`,` `,(0,m.jsx)(`span`,{className:`font-mono`,children:`reeval run`}),` exited or stopped responding. The attempts below are what finished before it did.`]})]}):null,(0,m.jsxs)(`div`,{className:`space-y-3`,children:[(0,m.jsx)(RT,{run:r,className:`h-2.5`}),(0,m.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 md:grid-cols-4`,children:[(0,m.jsxs)(KT,{label:`Finished`,children:[r.counts.done,(0,m.jsxs)(`span`,{className:`ml-1 text-sm font-normal text-muted-foreground`,children:[`of `,CC(r.planned,`attempt`)]})]}),(0,m.jsx)(KT,{label:`Passed`,children:(0,m.jsx)(`span`,{className:`text-pass`,children:r.counts.passed})}),(0,m.jsx)(KT,{label:`Failed`,children:(0,m.jsx)(`span`,{className:r.counts.failed+r.counts.errored?`text-fail`:``,children:r.counts.failed+r.counts.errored})}),(0,m.jsx)(KT,{label:`Elapsed`,children:c?`Stopped`:VT(r,n)})]}),r.state===`finishing`?(0,m.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Every attempt has finished; writing the run's record.`}):null]}),(0,m.jsx)(`div`,{className:`overflow-hidden rounded-xl border bg-card`,children:(0,m.jsxs)(gT,{children:[(0,m.jsx)(_T,{children:(0,m.jsxs)(yT,{className:`hover:bg-transparent`,children:[(0,m.jsx)($,{className:`w-10`}),(0,m.jsx)($,{children:`Attempt`}),(0,m.jsx)($,{className:`hidden md:table-cell`,children:`Cell`}),(0,m.jsx)($,{className:`hidden sm:table-cell`,children:`Status`}),(0,m.jsx)($,{className:`text-right`,children:`Duration`})]})}),(0,m.jsx)(vT,{children:s.flat().map(t=>{let i=Fy(t.status)&&t.status!==`skipped`,a=`${t.name} · #${t.n}`;return(0,m.jsxs)(yT,{"data-live-attempt":t.status,children:[(0,m.jsx)(bT,{className:`pl-4`,children:(0,m.jsx)(zT,{status:t.status,stopped:c})}),(0,m.jsxs)(bT,{children:[i?(0,m.jsx)(R,{to:`/live/$runId/attempt`,params:{runId:e},search:{key:t.key},className:`font-medium hover:underline`,children:a}):(0,m.jsx)(`span`,{className:`font-medium`,children:a}),(0,m.jsxs)(`div`,{className:`mt-0.5 font-mono text-[11px] text-muted-foreground`,children:[t.file,(0,m.jsxs)(`span`,{className:`md:hidden`,children:[` · `,t.cell]})]})]}),(0,m.jsx)(bT,{className:`hidden font-mono text-xs md:table-cell`,children:t.cell}),(0,m.jsx)(bT,{className:`hidden text-sm text-muted-foreground sm:table-cell`,children:c&&t.status===`running`?`Stopped`:c&&t.status===`queued`?`Never started`:BT[t.status]}),(0,m.jsx)(bT,{className:`tabular pr-4 text-right text-muted-foreground`,children:(0,m.jsx)(JT,{attempt:t,run:r,now:n})})]},t.key)})})]})})]})}function XT(){let{runId:e}=WT.useParams(),{key:t=``}=WT.useSearch(),n=Ki(),{run:r,landed:i,isPending:a,error:o}=GT(e),s=r?.attempts.find(e=>e.key===t),c=et({...Ib(e,t),enabled:!!s&&Fy(s.status)}),l=et({...Ob(e),enabled:i});return(0,p.useEffect)(()=>{if(l.data){for(let r of l.data.evals){let i=r.attempts.find(e=>e.key===t);if(i){n({to:`/runs/$runId/evals/$slug/attempts/$attempt`,params:{runId:e,slug:r.slug,attempt:i.id},replace:!0});return}}n({to:`/runs/$runId`,params:{runId:e},replace:!0})}},[l.data,t,n,e]),o?(0,m.jsx)(jC,{error:o}):a||i?(0,m.jsx)(NC,{rows:6}):r?s?(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsxs)(`div`,{children:[(0,m.jsx)(fC,{asChild:!0,variant:`ghost`,size:`sm`,className:`-ml-2 text-muted-foreground`,children:(0,m.jsxs)(R,{to:`/live/$runId`,params:{runId:e},children:[(0,m.jsx)(ax,{}),` Run in progress`]})}),(0,m.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-3`,children:[(0,m.jsx)(zT,{status:s.status,className:`size-5`}),(0,m.jsx)(`h2`,{className:`text-2xl font-semibold tracking-tight`,children:s.name}),(0,m.jsxs)(`span`,{className:`font-mono text-sm text-muted-foreground`,children:[s.cell,`#`,s.n]})]}),(0,m.jsxs)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:[BT[s.status],s.durationMs===null?``:` in ${Hy(s.durationMs)}`,` · The diff, checks and judge tabs arrive with the run's record.`]})]}),Fy(s.status)?c.error?(0,m.jsx)(AC,{icon:sS,title:`No transcript`,children:`This attempt didn't write one.`}):c.isPending?(0,m.jsx)(NC,{rows:5}):(0,m.jsx)(rT,{text:c.data}):(0,m.jsx)(AC,{icon:sS,title:`Not finished yet`,children:`The transcript is here once this attempt finishes.`})]}):(0,m.jsxs)(AC,{icon:sS,title:`No such attempt`,children:[`This run has no attempt `,(0,m.jsx)(`span`,{className:`font-mono`,children:t}),`.`]}):(0,m.jsx)(qT,{runId:e})}function ZT(){return(0,m.jsxs)(AC,{icon:Gx,title:`Page not found`,children:[`That link doesn't point anywhere in the studio.`,` `,(0,m.jsx)(R,{to:`/`,className:`underline`,children:`Go to runs`})]})}function QT({doc:e,id:t}){let n=e.attempts[t.replace(/:check\d+$/,``)],r=`inline-flex rounded border bg-muted/60 px-1 font-mono text-[10px] text-muted-foreground`;return n?(0,m.jsx)(R,{to:`/runs/$runId/evals/$slug/attempts/$attempt`,params:{runId:n.runId,slug:n.evalSlug,attempt:n.attempt},className:`${r} hover:text-foreground`,children:t}):(0,m.jsx)(`span`,{className:r,title:e.cited[t]??t,children:t})}function $T({doc:e,ids:t}){return(0,m.jsx)(`span`,{className:`ml-1 inline-flex flex-wrap gap-1 align-middle`,children:t.map(t=>(0,m.jsx)(QT,{doc:e,id:t},t))})}function eE({doc:e,title:t,items:n}){return n.length?(0,m.jsxs)(`section`,{className:`space-y-2`,children:[(0,m.jsx)(`h3`,{className:`text-sm font-medium`,children:t}),(0,m.jsx)(`ul`,{className:`list-disc space-y-1.5 pl-5 text-sm`,children:n.map(t=>(0,m.jsxs)(`li`,{children:[t.text,(0,m.jsx)($T,{doc:e,ids:t.cites}),t.confidence===`high`?null:(0,m.jsxs)(`span`,{className:`ml-1 text-xs text-muted-foreground`,children:[`(`,t.confidence,` confidence)`]}),t.unverifiedNumbers?.length?(0,m.jsxs)(`span`,{className:`ml-1 text-xs text-infra`,children:[`(not in the cited facts: `,t.unverifiedNumbers.join(`, `),`)`]}):null]},t.text))})]}):null}function tE({what:e,error:t,children:n}){return(0,m.jsxs)(`div`,{className:`rounded-lg border border-fail/40 bg-fail/5 p-3 text-sm`,children:[(0,m.jsxs)(`p`,{children:[(0,m.jsxs)(`span`,{className:`font-medium text-fail`,children:[e,` failed: `]}),(0,m.jsx)(`span`,{className:`break-words`,children:t})]}),(0,m.jsxs)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:[`The run's outcomes don't change.`,n?` `:``,n]})]})}function nE({entry:e}){let{doc:t}=e,n=t.analysis,r=t.validation,i=(0,m.jsx)(RC,{variant:e.source===`saved`?`secondary`:`outline`,children:e.source===`saved`?`saved`:`local cache`});return t.error===void 0?(0,m.jsxs)(`div`,{className:`space-y-5`,children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-xs text-muted-foreground`,children:[i,vv(t)?(0,m.jsx)(RC,{variant:`outline`,className:`text-infra`,children:`superseded: re-run reeval analyze`}):null,(0,m.jsxs)(`span`,{children:[t.scope.base?`vs ${t.scope.base}`:`no base run`,t.scope.evals?` · evals matching "${t.scope.evals}"`:``,` · by `,t.author,` ·`,` `,SC(t.createdAt)]})]}),(0,m.jsxs)(`p`,{className:`rounded-lg border bg-muted/40 p-3 text-sm leading-relaxed`,children:[(0,m.jsxs)(`span`,{className:`font-semibold`,children:[`TL;DR (`,n.confidence.overall,`). `]}),n.tldr]}),(0,m.jsx)(eE,{doc:t,title:`What happened`,items:n.whatHappened}),(0,m.jsx)(eE,{doc:t,title:`Results`,items:n.results}),(0,m.jsx)(eE,{doc:t,title:`Why`,items:n.why}),n.anomalies.length?(0,m.jsxs)(`section`,{className:`space-y-2`,children:[(0,m.jsx)(`h3`,{className:`text-sm font-medium`,children:`Anomalies`}),(0,m.jsx)(`ul`,{className:`space-y-1.5 text-sm`,children:n.anomalies.map(e=>(0,m.jsxs)(`li`,{children:[(0,m.jsx)(RC,{variant:`outline`,className:`mr-1.5 text-[10px]`,children:e.kind}),e.text,(0,m.jsx)($T,{doc:t,ids:e.cites})]},e.text))})]}):null,(0,m.jsxs)(`section`,{className:`space-y-2`,children:[(0,m.jsx)(`h3`,{className:`text-sm font-medium`,children:`Suggested actions`}),n.actions.length===0?(0,m.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`None: nothing here is worth acting on.`}):(0,m.jsx)(`ol`,{className:`space-y-3`,children:n.actions.map((e,n)=>(0,m.jsxs)(`li`,{className:`rounded-lg border p-3 text-sm`,children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,m.jsxs)(`span`,{className:`font-medium`,children:[n+1,`. `,e.title]}),(0,m.jsx)(RC,{variant:`secondary`,className:`text-[10px]`,children:e.kind}),(0,m.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`impact `,e.impact,` · effort `,e.effort]})]}),(0,m.jsxs)(`p`,{className:`mt-1.5`,children:[(0,m.jsx)(`code`,{className:`font-mono text-xs`,children:e.target}),`: `,e.change]}),(0,m.jsxs)(`p`,{className:`mt-1 text-muted-foreground`,children:[`Expect: `,e.expectedEffect]}),(0,m.jsxs)(`div`,{className:`mt-1.5 flex flex-wrap items-center gap-2 text-xs`,children:[e.verify?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`code`,{className:`rounded bg-muted px-1.5 py-0.5 font-mono`,children:e.verify}),(0,m.jsx)(_w,{value:e.verify,label:`copy`})]}):(0,m.jsxs)(`span`,{className:`text-infra`,children:[`Verify command rejected: `,e.verifyProblem??`not reeval’s CLI`]}),(0,m.jsx)($T,{doc:t,ids:e.cites})]})]},e.title))})]}),(0,m.jsxs)(`p`,{className:`text-sm`,children:[(0,m.jsxs)(`span`,{className:`font-medium`,children:[`Confidence: `,n.confidence.overall,`.`]}),` `,n.confidence.why]}),(0,m.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[t.resolvedModel??t.model,` · `,t.promptVersion,` · digest v`,t.inputs.digestVersion,t.usage.inputTokens===null?``:` · ${t.usage.inputTokens} in / ${t.usage.outputTokens??`?`} out tokens`,` `,`· `,r.citations,` citations checked, `,r.invalid.length,` invalid, `,r.dropped,` dropped ·`,` `,r.commands,` commands checked, `,r.invalidCommands.length,` rejected · `,e.file]})]}):(0,m.jsxs)(`div`,{className:`space-y-3`,children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-xs text-muted-foreground`,children:[i,(0,m.jsxs)(`span`,{children:[t.model,` · `,SC(t.createdAt)]})]}),(0,m.jsxs)(tE,{what:`The run's summary`,error:t.error,children:[(0,m.jsxs)(`code`,{className:`font-mono`,children:[`reeval analyze `,t.anchor]}),` calls the model again.`]})]})}function rE({notes:e}){let t=[...new Set(e.map(e=>e.evalId))];return(0,m.jsxs)(`section`,{className:`space-y-3`,"aria-label":`Notes by harness`,children:[(0,m.jsx)(`h3`,{className:`text-sm font-medium`,children:`Notes by harness`}),t.map(t=>(0,m.jsxs)(`div`,{className:`space-y-2`,children:[(0,m.jsx)(`p`,{className:`font-mono text-xs text-muted-foreground`,children:t}),(0,m.jsx)(`ul`,{className:`space-y-2`,children:e.filter(e=>e.evalId===t).map(e=>(0,m.jsxs)(`li`,{className:`rounded-lg border p-3 text-sm`,children:[(0,m.jsxs)(`div`,{className:`mb-1.5 flex flex-wrap items-center gap-2 text-xs text-muted-foreground`,children:[(0,m.jsx)(RC,{variant:`secondary`,children:e.harness}),(0,m.jsxs)(`span`,{children:[e.attempts.length,` attempt`,e.attempts.length===1?``:`s`,` ·`,` `,e.resolvedModel??e.model]})]}),e.error===void 0?(0,m.jsx)(`p`,{className:`whitespace-pre-wrap leading-relaxed`,children:e.text}):(0,m.jsx)(tE,{what:`This note`,error:e.error})]},e.harness))})]},t))]})}function iE({runId:e}){let{data:t,error:n,isPending:r}=et(Ab(e)),[i,a]=(0,p.useState)();if(n)return(0,m.jsx)(jC,{error:n});if(r)return(0,m.jsx)(NC,{rows:5});let o=t?.entries??[],s=t?.notes??[];if(o.length===0&&s.length===0)return(0,m.jsxs)(AC,{icon:YS,title:`No analysis for this run yet`,children:[`Run `,(0,m.jsxs)(`code`,{className:`font-mono text-xs`,children:[`reeval analyze `,e,` --save`]}),` to write one into the run's history folder, or`,` `,(0,m.jsx)(`code`,{className:`font-mono text-xs`,children:`reeval analyze --context`}),` to hand the digest to your own coding agent.`]});let c=o.find(e=>e.file===i)??o[0];return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[c&&o.length>1?(0,m.jsxs)(lT,{value:c.file,onValueChange:a,children:[(0,m.jsx)(dT,{className:`w-full sm:w-auto`,children:(0,m.jsx)(uT,{})}),(0,m.jsx)(fT,{children:o.map(e=>(0,m.jsxs)(pT,{value:e.file,children:[SC(e.doc.createdAt),` · `,e.source,` · `,e.doc.model,e.doc.error===void 0?``:` · failed`]},e.file))})]}):null,c?(0,m.jsx)(nE,{entry:c}):(0,m.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`No summary of the run: run`,` `,(0,m.jsxs)(`code`,{className:`font-mono text-xs`,children:[`reeval analyze `,e,` --save`]}),` to write one.`]}),s.length?(0,m.jsx)(rE,{notes:s}):null]})}var aE=la(`/runs/$runId`);function oE({icon:e,children:t}){return(0,m.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,m.jsx)(e,{className:`size-3.5`}),t]})}function sE({record:e,children:t}){return(0,m.jsxs)(`div`,{className:`flex flex-col gap-4 md:flex-row md:items-start md:justify-between`,children:[(0,m.jsxs)(`div`,{className:`min-w-0`,children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2.5`,children:[(0,m.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:SC(e.startedAt)}),(0,m.jsx)(HC,{outcome:Xy(e)}),e.status===`interrupted`?(0,m.jsx)(RC,{variant:`outline`,className:`text-infra`,children:`interrupted`}):null]}),(0,m.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-x-4 gap-y-1.5 text-sm text-muted-foreground`,children:[(0,m.jsxs)(oE,{icon:_S,children:[(0,m.jsx)(`span`,{className:`font-mono text-xs`,children:Jy(e.git?.sha)}),e.git?.dirty?(0,m.jsx)(`span`,{className:`text-infra`,children:`· dirty`}):null]}),e.git?.branch?(0,m.jsx)(oE,{icon:hS,children:e.git.branch}):null,(0,m.jsx)(oE,{icon:aC,children:e.runner.kind===`ci`?`CI · ${e.runner.provider}`:e.author}),(0,m.jsx)(oE,{icon:zx,children:Hy(e.durationMs)}),e.cost.usage?(0,m.jsxs)(oE,{icon:Ux,children:[qy(e.cost.usage),` tokens`]}):null]})]}),t]})}function cE({warnings:e}){if(e.length===0)return null;let t=e.some(e=>e.kind===`root`);return(0,m.jsxs)(`div`,{role:`alert`,className:Z(`flex gap-3 rounded-xl border p-4 text-sm`,t?`border-fail/40 bg-fail/5`:`border-infra/40 bg-infra/5`),children:[(0,m.jsx)(qS,{className:Z(`mt-0.5 size-4 shrink-0`,t?`text-fail`:`text-infra`)}),(0,m.jsx)(`ul`,{className:`min-w-0 space-y-1`,children:e.map(e=>(0,m.jsxs)(`li`,{className:`break-words`,children:[(0,m.jsx)(`span`,{className:Z(`font-semibold`,e.kind===`root`?`text-fail`:`text-infra`),children:e.kind===`root`?`Root`:`Capabilities`}),` `,(0,m.jsx)(`span`,{className:`font-mono text-xs`,children:e.message}),e.file?(0,m.jsxs)(`span`,{className:`text-muted-foreground`,children:[` · `,e.file]}):null]},`${e.file}\0${e.message}`))})]})}function lE({node:e,depth:t,selected:n,onSelect:r}){let[i,a]=(0,p.useState)(!0),o={paddingLeft:`${t*14+8}px`};if(e.kind===`eval`){let t=n===e.eval.slug;return(0,m.jsxs)(`button`,{type:`button`,onClick:()=>r(e.eval.slug),style:o,className:Z(`flex w-full items-center gap-2 rounded-md py-1.5 pr-2 text-left text-sm transition-colors`,t?`bg-accent text-foreground`:`text-foreground/85 hover:bg-accent/60`),children:[(0,m.jsx)(VC,{outcome:e.eval.outcome}),(0,m.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),e.eval.todo?(0,m.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:`todo`}):cb(e.eval)?(0,m.jsxs)(`span`,{className:`tabular shrink-0 text-xs text-muted-foreground`,children:[e.tally.pass,`/`,e.tally.pass+e.tally.fail+e.tally.missed+e.tally.infra]}):null]})}let s=t===0,c=s?Yx:dS;return(0,m.jsxs)(`div`,{children:[(0,m.jsxs)(`button`,{type:`button`,onClick:()=>a(!i),style:o,className:`flex w-full items-center gap-1.5 rounded-md py-1.5 pr-2 text-left text-xs font-medium text-muted-foreground hover:bg-accent/60`,children:[(0,m.jsx)(yx,{className:Z(`size-3.5 transition-transform`,i&&`rotate-90`)}),(0,m.jsx)(c,{className:`size-3.5`}),(0,m.jsx)(`span`,{className:Z(`min-w-0 flex-1 truncate`,s&&`font-mono`),children:e.name}),e.tally.fail?(0,m.jsxs)(`span`,{className:`tabular text-fail`,children:[e.tally.fail,` failed`]}):e.tally.missed?(0,m.jsxs)(`span`,{className:`tabular`,children:[e.tally.missed,` missed, not gated`]}):null]}),i?e.children.map(e=>(0,m.jsx)(lE,{node:e,depth:t+1,selected:n,onSelect:r},e.key)):null]})}function uE(e){return e.flatMap(e=>{if(e.kind===`eval`)return e.eval.outcome===`pass`||e.eval.outcome===`skipped`?[]:[e];let t=uE(e.children);return t.length?[{...e,children:t}]:[]})}function dE({rows:e,runId:t,slug:n}){let r=e.some(e=>e.lift!==null),i=e.some(e=>e.effort!==null),a=e.some(e=>e.usage),o=e.some(e=>e.role===`variant`);return(0,m.jsx)(`div`,{className:`overflow-hidden rounded-lg border`,children:(0,m.jsxs)(gT,{children:[(0,m.jsx)(_T,{children:(0,m.jsxs)(yT,{className:`hover:bg-transparent`,children:[(0,m.jsx)($,{children:`Harness`}),(0,m.jsx)($,{children:`Environment`}),o?(0,m.jsx)($,{children:`Role`}):null,(0,m.jsx)($,{className:`hidden 2xl:table-cell`,children:`Sandbox`}),(0,m.jsx)($,{children:`Attempts`}),(0,m.jsx)($,{className:`text-right`,children:`Pass rate`}),a?(0,m.jsx)($,{className:`text-right`,children:`Tokens`}):null,r||i?(0,m.jsx)($,{className:`text-right`,children:r&&i?`Lift and effort`:r?`Lift`:`Effort`}):null]})}),(0,m.jsx)(vT,{children:e.map(e=>(0,m.jsxs)(yT,{className:`hover:bg-transparent`,children:[(0,m.jsx)(bT,{className:`font-mono text-xs`,children:e.harness}),(0,m.jsxs)(bT,{className:`font-mono text-xs`,children:[e.environment===`-`?(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:`none`}):e.environment,e.overrides.length?(0,m.jsxs)(`div`,{className:`mt-0.5 font-sans text-[11px] text-muted-foreground`,children:[`overrides `,e.overrides.join(`, `)]}):null]}),o?(0,m.jsx)(bT,{children:(0,m.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs`,children:[e.role,e.gated?null:(0,m.jsx)(RC,{variant:`outline`,className:`text-[10px] text-muted-foreground`,children:`not gated`})]})}):null,(0,m.jsx)(bT,{className:`hidden font-mono text-xs 2xl:table-cell`,children:e.sandbox}),(0,m.jsx)(bT,{children:(0,m.jsx)(`div`,{className:`flex items-center gap-1`,children:e.attempts.map(r=>(0,m.jsx)(R,{to:`/runs/$runId/evals/$slug/attempts/$attempt`,params:{runId:t,slug:n,attempt:r.id},title:`${r.id} · ${Hy(r.durationMs)}`,className:`rounded-sm p-0.5 hover:bg-accent`,children:(0,m.jsx)(VC,{outcome:r.outcome,missed:!e.gated})},r.id))})}),(0,m.jsxs)(bT,{className:`text-right`,children:[(0,m.jsx)(WC,{rate:e.passRate}),(0,m.jsxs)(`span`,{className:`tabular ml-1.5 text-xs text-muted-foreground`,children:[e.pass,`/`,e.pass+e.fail]}),e.judgeRates.length?(0,m.jsx)(`div`,{className:`mt-1 text-left text-[11px] text-muted-foreground`,children:(0,m.jsx)(pE,{rates:e.judgeRates})}):null]}),a?(0,m.jsx)(bT,{className:`text-right text-xs text-muted-foreground`,children:qy(e.usage)??`–`}):null,r||i?(0,m.jsxs)(bT,{className:`min-w-44 whitespace-normal text-right`,children:[r?(0,m.jsx)(KC,{points:e.lift,interval:e.liftInterval}):null,e.belowMinLift?(0,m.jsx)(`div`,{className:`text-[11px] text-fail`,children:`lower bound below minLift`}):null,i?(0,m.jsx)(`div`,{className:r?`mt-1`:void 0,children:(0,m.jsx)(fE,{row:e})}):null]}):null]},e.key))})]})})}function fE({row:e}){if(!e.effort)return(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:`–`});let t=e.effortVsControl,n=t&&(t.verdict===`fewer`||t.verdict===`more`);return(0,m.jsxs)(`div`,{className:`tabular text-xs`,children:[(0,m.jsx)(`div`,{children:sy(e.effort)}),t?(0,m.jsxs)(`div`,{className:Z(`text-[11px]`,n?t.verdict===`fewer`?`text-pass`:`text-fail`:`text-muted-foreground`),title:t.toolsP===null?void 0:`exact rank test p = ${t.toolsP.toFixed(3)}`,children:[`tools `,iy(t.toolsRatio),` vs control · `,oy[t.verdict](`tool calls`)]}):null]})}function pE({rates:e}){return e.length===0?null:(0,m.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.map((e,t)=>(0,m.jsxs)(`span`,{className:`tabular`,title:e.question,children:[t>0?` · `:``,e.label,` `,e.pass,`/`,e.counted,e.lift?` (${e.lift.points>=0?`+`:`−`}${Math.round(Math.abs(e.lift.points)*100)} pts)`:``]},e.key))})}function mE({label:e,rates:t}){return t.length===0?null:(0,m.jsxs)(`div`,{className:`space-y-1`,children:[(0,m.jsx)(`div`,{className:`text-[11px] text-muted-foreground`,children:e}),t.map(e=>(0,m.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,12rem)_minmax(0,1fr)_auto] items-center gap-3 text-xs`,children:[(0,m.jsx)(`span`,{className:`truncate font-mono`,title:e.name,children:e.name}),(0,m.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-muted`,children:e.rate===null?null:(0,m.jsx)(`div`,{className:`h-full bg-pass`,style:{width:`${e.rate*100}%`}})}),(0,m.jsxs)(`span`,{className:`tabular text-right`,children:[(0,m.jsx)(`span`,{className:`font-medium`,children:Uy(e.rate)}),(0,m.jsxs)(`span`,{className:`ml-1.5 text-muted-foreground`,children:[e.wins,`/`,e.n]})]})]},e.name))]})}function hE({rows:e}){return(0,m.jsxs)(`section`,{className:`space-y-2`,"data-questions":!0,children:[(0,m.jsx)(`h3`,{className:`text-sm font-medium`,children:`Questions`}),(0,m.jsx)(`div`,{className:`divide-y overflow-hidden rounded-lg border`,children:e.map(e=>(0,m.jsxs)(`div`,{className:`space-y-2.5 px-3.5 py-3`,children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-x-3 gap-y-1`,children:[(0,m.jsx)(`p`,{className:`min-w-0 text-sm`,children:e.question}),(0,m.jsx)(`span`,{className:`font-mono text-[11px] text-muted-foreground`,children:e.model})]}),(0,m.jsx)(mE,{label:`Within a harness`,rates:e.within}),(0,m.jsx)(mE,{label:`Across harnesses`,rates:e.across}),e.error===null?null:(0,m.jsxs)(`p`,{className:`font-mono text-xs break-words text-infra`,children:[`failed: `,e.error]}),e.noPairs||e.votes?(0,m.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:e.noPairs?`No pairs to judge: attempts that failed their checks are left out`:`${CC(e.votes,`vote`)}, ${CC(e.ties,`tie`)}`}):null]},e.question))})]})}function gE({record:e,entry:t}){let n=ob(t),r=cb(t),i=sb(t),a=!r&&n[0]?.judgeRates.length?n[0].judgeRates:[];return(0,m.jsxs)(`div`,{className:`space-y-5`,children:[(0,m.jsxs)(`div`,{children:[(0,m.jsx)(`div`,{className:`flex items-center gap-1.5 font-mono text-xs text-muted-foreground`,children:[t.file,...t.group].join(` › `)}),(0,m.jsxs)(`div`,{className:`mt-1.5 flex flex-wrap items-center gap-2.5`,children:[(0,m.jsx)(`h2`,{className:`text-lg font-semibold tracking-tight`,children:t.name}),(0,m.jsx)(HC,{outcome:t.outcome,label:t.todo?`Todo`:void 0})]}),(0,m.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[(0,m.jsx)(fC,{asChild:!0,variant:`outline`,size:`sm`,children:(0,m.jsxs)(R,{to:`/evals/$slug`,params:{slug:t.slug},children:[(0,m.jsx)(LS,{}),` History`]})}),t.tags.map(e=>(0,m.jsxs)(RC,{variant:`secondary`,children:[`#`,e]},e)),t.compare?(0,m.jsxs)(RC,{variant:`outline`,className:`font-mono text-[11px]`,title:t.compare.from===`environment`?`No compare.baseline: the eval's environment is the control`:t.compare.from===`empty`?`No compare.baseline or environment: the control is an empty environment`:void 0,children:[`baseline `,t.compare.baseline]}):null]})]}),r?(0,m.jsxs)(`section`,{className:`space-y-2`,children:[(0,m.jsx)(`h3`,{className:`text-sm font-medium`,children:`Cells`}),(0,m.jsx)(dE,{rows:n,runId:e.runId,slug:t.slug})]}):a.length?(0,m.jsx)(pE,{rates:a}):null,i.length?(0,m.jsx)(hE,{rows:i}):null,(0,m.jsxs)(`section`,{className:`space-y-2`,children:[(0,m.jsx)(`h3`,{className:`text-sm font-medium`,children:CC(t.attempts.length,`attempt`)}),(0,m.jsx)(`div`,{className:`divide-y overflow-hidden rounded-lg border`,children:t.attempts.map(n=>{let r=by(n.judgements),i=qy(n.usage),a=pb(t,n);return(0,m.jsxs)(R,{to:`/runs/$runId/evals/$slug/attempts/$attempt`,params:{runId:e.runId,slug:t.slug,attempt:n.id},className:`group flex items-start gap-3 px-3.5 py-3 transition-colors hover:bg-accent/50`,children:[(0,m.jsx)(VC,{outcome:n.outcome,missed:a,className:`mt-0.5`}),(0,m.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1 text-sm`,children:[(0,m.jsx)(`span`,{className:`font-mono text-xs`,children:n.id}),(0,m.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[Hy(n.durationMs),` · `,CC(n.turns.length,`turn`),` ·`,` `,Yy(n.activity),i?` · ${i}`:``]}),r.shown.map(e=>(0,m.jsxs)(`span`,{className:Z(`tabular text-xs`,e.verdict===`pass`?`text-pass`:`text-fail`),children:[e.verdict,` `,e.score.toFixed(2),`/`,e.threshold.toFixed(2)]},e.key)),r.extra?(0,m.jsxs)(`span`,{className:`tabular text-xs text-muted-foreground`,children:[r.extra,` judges`]}):null,a?(0,m.jsx)(RC,{variant:`outline`,className:`text-[10px] text-muted-foreground`,children:`missed, not gated`}):null]}),n.error?(0,m.jsxs)(`p`,{className:Z(`mt-1 line-clamp-2 font-mono text-xs`,a?`text-muted-foreground`:`text-fail`),children:[n.error.kind,`: `,n.error.message.split(`
|
|
57
|
+
`)[0]}),meta:r?`thought for ${r}`:`reasoning`,children:(0,m.jsx)(`p`,{className:`px-3 py-2 text-sm leading-relaxed whitespace-pre-wrap text-muted-foreground italic`,children:e.text})});case`tool`:return(0,m.jsxs)(Qw,{open:t,onToggle:n,icon:e.tool.toLowerCase().includes(`shell`)||e.tool===`bash`?ZS:sC,tone:e.ok?void 0:`text-fail`,title:(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`span`,{className:`font-medium`,children:e.tool}),(0,m.jsx)(`span`,{className:`ml-2 font-mono text-xs text-muted-foreground`,children:Zw(e.input)})]}),meta:(0,m.jsxs)(`span`,{className:`flex items-center gap-2`,children:[e.ok?null:(0,m.jsx)(`span`,{className:`text-fail`,children:`failed`}),r]}),children:[(0,m.jsx)($w,{label:`Input`,text:Xw(e.input)}),(0,m.jsx)($w,{label:`Output`,text:Xw(e.output)})]});case`file-edit`:{let t=e.kind===`create`?rS:e.kind===`delete`?$x:tS;return(0,m.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-dashed px-3 py-2 text-sm`,children:[(0,m.jsx)(t,{className:`size-4 text-muted-foreground`}),(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:e.kind===`create`?`Created`:e.kind===`delete`?`Deleted`:`Edited`}),(0,m.jsx)(`span`,{className:`min-w-0 truncate font-mono text-xs`,children:e.path}),(0,m.jsxs)(`span`,{className:`ml-auto flex shrink-0 gap-2 font-mono text-xs`,children:[e.added===null?null:(0,m.jsxs)(`span`,{className:`text-pass`,children:[`+`,e.added]}),e.removed===null?null:(0,m.jsxs)(`span`,{className:`text-fail`,children:[`−`,e.removed]}),r?(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:r}):null]})]})}case`web-search`:return(0,m.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-dashed px-3 py-2 text-sm`,children:[(0,m.jsx)(GS,{className:`size-4 text-muted-foreground`}),(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:`Searched`}),(0,m.jsxs)(`span`,{className:`min-w-0 truncate`,children:[`“`,e.query,`”`]}),(0,m.jsxs)(`span`,{className:`ml-auto shrink-0 text-xs text-muted-foreground`,children:[e.references===null?``:`${e.references} sources · `,r]})]});case`web-fetch`:return(0,m.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-dashed px-3 py-2 text-sm`,children:[(0,m.jsx)(xS,{className:Z(`size-4 text-muted-foreground`,!e.ok&&`text-fail`)}),(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:`Fetched`}),(0,m.jsx)(`span`,{className:`min-w-0 truncate font-mono text-xs`,children:e.url}),(0,m.jsx)(`span`,{className:`ml-auto shrink-0 text-xs text-muted-foreground`,children:r})]});case`retry`:return(0,m.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-dashed px-3 py-2 text-sm text-muted-foreground`,children:[(0,m.jsx)(zS,{className:`mt-0.5 size-4 shrink-0`}),(0,m.jsx)(`span`,{className:`font-mono text-xs break-words whitespace-pre-wrap`,children:e.message})]});case`error`:return(0,m.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-fail/30 bg-fail/5 px-3 py-2 text-sm text-fail`,children:[(0,m.jsx)(Cx,{className:`mt-0.5 size-4 shrink-0`}),(0,m.jsx)(`span`,{className:`font-mono text-xs break-words whitespace-pre-wrap`,children:e.message})]})}}function tT({item:e,open:t,toggle:n}){if(e.kind===`turn`)return(0,m.jsxs)(`div`,{className:`pt-2`,children:[(0,m.jsxs)(`div`,{className:`mb-2 text-xs font-medium tracking-wide text-muted-foreground uppercase`,children:[`Turn `,e.turn+1]}),(0,m.jsxs)(`div`,{className:`flex gap-3`,children:[(0,m.jsx)(`div`,{className:`mt-0.5 flex size-6 shrink-0 items-center justify-center rounded-full bg-muted`,children:(0,m.jsx)(rC,{className:`size-3.5`})}),(0,m.jsx)(`div`,{className:`min-w-0 flex-1 rounded-lg bg-muted/60 px-3.5 py-2.5 text-sm leading-relaxed break-words whitespace-pre-wrap`,children:e.prompt})]})]});if(e.kind===`turn-end`)return(0,m.jsxs)(`div`,{className:`flex items-center gap-3 py-1 text-xs text-muted-foreground`,children:[(0,m.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,m.jsxs)(`span`,{children:[`Turn `,e.turn+1,` `,e.status,` in `,Hy(e.durationMs)]}),(0,m.jsx)(`div`,{className:`h-px flex-1 bg-border`})]});let r=e.event;return(0,m.jsxs)(`div`,{className:`flex gap-2`,children:[(0,m.jsx)(`span`,{className:`tabular w-14 shrink-0 pt-2 text-right font-mono text-[10px] text-muted-foreground/70`,children:Yw(r.atMs)}),(0,m.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,m.jsx)(eT,{e:r,open:t,toggle:n})})]})}var nT=e=>e.kind===`event`&&(e.event.type===`tool`||e.event.type===`reasoning`);function rT({text:e}){let t=(0,p.useMemo)(()=>_b(gb(e)),[e]),[n,r]=(0,p.useState)(()=>new Set),i=(0,p.useRef)(null),[a,o]=(0,p.useState)(0);(0,p.useLayoutEffect)(()=>{o((i.current?.getBoundingClientRect().top??0)+window.scrollY)},[]);let s=Jw({count:t.length,estimateSize:()=>56,overscan:8,scrollMargin:a}),c=(0,p.useCallback)(e=>r(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),[]),l=(0,p.useMemo)(()=>{let e=0,n=0,r=0;for(let i of t)i.kind===`event`&&(i.event.type===`tool`&&e++,i.event.type===`reasoning`&&n++,i.event.type===`file-edit`&&r++);return{tools:e,reasoning:n,edits:r}},[t]),u=t.flatMap((e,t)=>nT(e)?[t]:[]),d=u.length>0&&u.every(e=>n.has(e));return t.length===0?(0,m.jsx)(`p`,{className:`py-10 text-center text-sm text-muted-foreground`,children:`The transcript is empty.`}):(0,m.jsxs)(`div`,{children:[(0,m.jsxs)(`div`,{className:`mb-4 flex flex-wrap items-center gap-2`,children:[(0,m.jsxs)(RC,{variant:`secondary`,children:[l.tools,` tool calls`]}),(0,m.jsxs)(RC,{variant:`secondary`,children:[l.edits,` file edits`]}),(0,m.jsxs)(RC,{variant:`secondary`,children:[l.reasoning,` reasoning blocks`]}),u.length?(0,m.jsx)(fC,{variant:`ghost`,size:`sm`,className:`ml-auto`,onClick:()=>r(d?new Set:new Set(u)),children:d?`Collapse all`:`Expand all`}):null]}),(0,m.jsx)(`div`,{ref:i,className:`relative w-full`,style:{height:s.getTotalSize()},children:s.getVirtualItems().map(e=>{let r=t[e.index];return(0,m.jsx)(`div`,{"data-index":e.index,ref:s.measureElement,className:`absolute top-0 left-0 w-full pb-2.5`,style:{transform:`translateY(${e.start-s.options.scrollMargin}px)`},children:(0,m.jsx)(tT,{item:r,open:n.has(e.index),toggle:()=>c(e.index)})},e.key)})})]})}var iT=[`transcript`,`diff`,`checks`,`judge`,`state`,`debug`],aT=la(`/runs/$runId/evals/$slug/attempts/$attempt`),oT=[[`setupMs`,`Setup`,`bg-skip/60`],[`agentMs`,`Agent`,`bg-brand`],[`diffMs`,`Diff`,`bg-drift/70`],[`checksMs`,`Checks`,`bg-infra`],[`judgeMs`,`Judge`,`bg-pass`]];function sT({attempt:e}){let t=oT.reduce((t,[n])=>t+e.timings[n],0)||1;return(0,m.jsxs)(`div`,{className:`space-y-2`,children:[(0,m.jsx)(`div`,{className:`flex h-2 overflow-hidden rounded-full bg-muted`,children:oT.map(([n,r,i])=>e.timings[n]>0?(0,m.jsxs)(fv,{children:[(0,m.jsx)(pv,{asChild:!0,children:(0,m.jsx)(`div`,{className:i,style:{width:`${e.timings[n]/t*100}%`}})}),(0,m.jsxs)(mv,{children:[r,` `,Hy(e.timings[n])]})]},n):null)}),(0,m.jsx)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-1 text-xs text-muted-foreground`,children:oT.map(([t,n,r])=>(0,m.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,m.jsx)(`span`,{className:Z(`size-2 rounded-full`,r)}),n,` `,(0,m.jsx)(`span`,{className:`tabular text-foreground`,children:Hy(e.timings[t])})]},t))})]})}function cT(){let{runId:e,slug:t,attempt:n}=aT.useParams(),{tab:r=`transcript`}=aT.useSearch(),i=Ki({from:`/runs/$runId/evals/$slug/attempts/$attempt`}),{data:a,error:o,isPending:s}=et(Ob(e)),{data:c}=Nb(),l=a&&bb(a,t),u=(l&&xb(l,n)?.key)??``,{data:d}=et(jb(e,u,!!c?.features.debug&&!!u));if(o)return(0,m.jsx)(jC,{error:o});if(s)return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsx)(PC,{}),(0,m.jsx)(NC,{rows:6})]});let f=bb(a,t),p=f&&xb(f,n);if(!f||!p)return(0,m.jsxs)(AC,{icon:US,title:`Attempt not found`,children:[`This run has no attempt `,(0,m.jsx)(`code`,{className:`font-mono`,children:n}),` of that eval.`,` `,(0,m.jsx)(R,{to:`/runs/$runId`,params:{runId:e},className:`underline`,children:`Back to the run`})]});let h=f.attempts.indexOf(p),g=f.attempts[h-1],_=f.attempts[h+1],v=p.judgements[0],y=p.checks.filter(e=>e.exitCode!==0).length,b=[...new Set(p.turns.flatMap(e=>e.model?[e.model]:[]))];return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsxs)(`nav`,{className:`flex min-w-0 flex-wrap items-center gap-1.5 text-sm text-muted-foreground`,children:[(0,m.jsx)(R,{to:`/`,className:`hover:text-foreground`,children:`Runs`}),(0,m.jsx)(yx,{className:`size-3.5`}),(0,m.jsx)(R,{to:`/runs/$runId`,params:{runId:e},className:`font-mono text-xs hover:text-foreground`,children:wC(e)}),(0,m.jsx)(yx,{className:`size-3.5`}),(0,m.jsx)(R,{to:`/runs/$runId`,params:{runId:e},search:{eval:t},className:`max-w-64 truncate hover:text-foreground`,children:f.name}),(0,m.jsx)(yx,{className:`size-3.5`}),(0,m.jsx)(`span`,{className:`font-mono text-xs text-foreground`,children:p.id})]}),(0,m.jsxs)(`div`,{className:`flex flex-col gap-4 md:flex-row md:items-start md:justify-between`,children:[(0,m.jsxs)(`div`,{className:`min-w-0`,children:[(0,m.jsx)(`div`,{className:`font-mono text-xs text-muted-foreground`,children:[f.file,...f.group].join(` › `)}),(0,m.jsxs)(`div`,{className:`mt-1.5 flex flex-wrap items-center gap-2.5`,children:[(0,m.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:f.name}),(0,m.jsx)(HC,{outcome:p.outcome})]}),(0,m.jsxs)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:[(0,m.jsx)(`span`,{className:`font-mono text-xs`,children:p.id}),` ·`,` `,Hy(p.durationMs),` · `,CC(p.turns.length,`turn`),` ·`,` `,Yy(p.activity),p.activity.reasoningMs?` · ${Hy(p.activity.reasoningMs)} reasoning`:``,p.usage?` · ${qy(p.usage)} tokens`:``,b.length?` · served by ${b.join(`, `)}`:``]})]}),f.attempts.length>1?(0,m.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,m.jsx)(fC,{variant:`outline`,size:`icon`,className:`size-8`,disabled:!g,asChild:!!g,children:g?(0,m.jsx)(R,{to:`.`,params:{runId:e,slug:t,attempt:g.id},search:{tab:r},"aria-label":`Previous attempt`,children:(0,m.jsx)(_x,{})}):(0,m.jsx)(_x,{})}),(0,m.jsx)(`div`,{className:`flex items-center gap-0.5 px-1`,children:f.attempts.map(n=>(0,m.jsx)(R,{to:`.`,params:{runId:e,slug:t,attempt:n.id},search:{tab:r},title:n.id,className:Z(`rounded p-0.5`,n.id===p.id?`bg-accent ring-1 ring-border`:`hover:bg-accent/60`),children:(0,m.jsx)(VC,{outcome:n.outcome,className:`size-3.5`})},n.id))}),(0,m.jsx)(fC,{variant:`outline`,size:`icon`,className:`size-8`,disabled:!_,asChild:!!_,children:_?(0,m.jsx)(R,{to:`.`,params:{runId:e,slug:t,attempt:_.id},search:{tab:r},"aria-label":`Next attempt`,children:(0,m.jsx)(yx,{})}):(0,m.jsx)(yx,{})})]}):null]}),p.error?(0,m.jsxs)(`div`,{className:`rounded-lg border border-fail/30 bg-fail/5 px-4 py-3`,children:[(0,m.jsx)(`div`,{className:`text-xs font-medium tracking-wide text-fail uppercase`,children:p.error.kind}),(0,m.jsx)(`pre`,{className:`mt-1 max-h-60 overflow-auto font-mono text-xs leading-relaxed whitespace-pre-wrap text-fail`,children:p.error.message})]}):null,(0,m.jsx)(`div`,{className:`rounded-xl border bg-card p-4`,children:(0,m.jsx)(sT,{attempt:p})}),p.files.artifacts?.length?(0,m.jsxs)(`section`,{className:`space-y-3`,children:[(0,m.jsx)(`h2`,{className:`text-sm font-medium`,children:`Artefacts`}),(0,m.jsx)(`div`,{className:`grid gap-4 sm:grid-cols-2`,children:p.files.artifacts.map(e=>e.mediaType===`image/png`?(0,m.jsxs)(`figure`,{className:`space-y-2`,children:[(0,m.jsx)(`img`,{src:By(a.runId,e.path),alt:e.name,className:`w-full rounded-lg border bg-muted`}),(0,m.jsx)(`figcaption`,{className:`text-xs text-muted-foreground`,children:e.name})]},e.path):null)})]}):null,(0,m.jsxs)(YC,{value:r,onValueChange:e=>i({search:{tab:e},replace:!0}),children:[(0,m.jsxs)(ZC,{className:`w-full justify-start overflow-x-auto sm:w-auto`,children:[(0,m.jsx)(QC,{value:`transcript`,children:`Transcript`}),(0,m.jsxs)(QC,{value:`diff`,children:[`Diff`,p.changedFiles.length?(0,m.jsx)(`span`,{className:`tabular text-xs text-muted-foreground`,children:p.changedFiles.length}):null]}),(0,m.jsxs)(QC,{value:`checks`,children:[`Checks`,p.checks.length?(0,m.jsx)(`span`,{className:Z(`tabular text-xs`,y?`text-fail`:`text-muted-foreground`),children:y?`${y}/${p.checks.length}`:p.checks.length}):null]}),(0,m.jsxs)(QC,{value:`judge`,children:[`Judge`,v?(0,m.jsx)(`span`,{className:Z(`tabular text-xs`,v.verdict===`pass`?`text-pass`:`text-fail`),children:v.score.toFixed(2)}):null]}),(0,m.jsx)(QC,{value:`state`,children:`State`}),d?(0,m.jsx)(QC,{value:`debug`,children:`Debug`}):null]}),(0,m.jsxs)(`div`,{className:`mt-4`,children:[(0,m.jsx)($C,{value:`transcript`,children:(0,m.jsx)(IC,{record:a,file:p.files.transcript,what:`transcript`,children:e=>(0,m.jsx)(rT,{text:e},p.id)})}),(0,m.jsx)($C,{value:`diff`,children:(0,m.jsx)(IC,{record:a,file:p.files.diff,what:`diff`,children:e=>(0,m.jsx)(fw,{text:e},p.id)})}),(0,m.jsx)($C,{value:`checks`,children:(0,m.jsx)(tw,{record:a,attempt:p})}),(0,m.jsx)($C,{value:`judge`,children:(0,m.jsx)(gw,{record:a,attempt:p})}),(0,m.jsx)($C,{value:`state`,children:(0,m.jsx)(Cw,{record:a,attempt:p})}),d?(0,m.jsx)($C,{value:`debug`,children:(0,m.jsx)(sw,{runId:e,attemptKey:p.key,view:d})}):null]})]})]})}function lT({...e}){return(0,m.jsx)(Bm,{"data-slot":`select`,...e})}function uT({...e}){return(0,m.jsx)(Wm,{"data-slot":`select-value`,...e})}function dT({className:e,size:t=`default`,children:n,...r}){return(0,m.jsxs)(Hm,{"data-slot":`select-trigger`,"data-size":t,className:Z(`flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...r,children:[n,(0,m.jsx)(Gm,{asChild:!0,children:(0,m.jsx)(hx,{className:`size-4 opacity-50`})})]})}function fT({className:e,children:t,position:n=`item-aligned`,align:r=`center`,...i}){return(0,m.jsx)(Jm,{children:(0,m.jsxs)(Xm,{"data-slot":`select-content`,className:Z(`relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,align:r,...i,children:[(0,m.jsx)(mT,{}),(0,m.jsx)(ch,{className:Z(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1`),children:t}),(0,m.jsx)(hT,{})]})})}function pT({className:e,children:t,...n}){return(0,m.jsxs)(mh,{"data-slot":`select-item`,className:Z(`relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,e),...n,children:[(0,m.jsx)(`span`,{"data-slot":`select-item-indicator`,className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,m.jsx)(vh,{children:(0,m.jsx)(px,{className:`size-4`})})}),(0,m.jsx)(gh,{children:t})]})}function mT({className:e,...t}){return(0,m.jsx)(bh,{"data-slot":`select-scroll-up-button`,className:Z(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,m.jsx)(xx,{className:`size-4`})})}function hT({className:e,...t}){return(0,m.jsx)(Sh,{"data-slot":`select-scroll-down-button`,className:Z(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,m.jsx)(hx,{className:`size-4`})})}function gT({className:e,...t}){return(0,m.jsx)(`div`,{"data-slot":`table-container`,className:`relative w-full overflow-x-auto`,children:(0,m.jsx)(`table`,{"data-slot":`table`,className:Z(`w-full caption-bottom text-sm`,e),...t})})}function _T({className:e,...t}){return(0,m.jsx)(`thead`,{"data-slot":`table-header`,className:Z(`[&_tr]:border-b`,e),...t})}function vT({className:e,...t}){return(0,m.jsx)(`tbody`,{"data-slot":`table-body`,className:Z(`[&_tr:last-child]:border-0`,e),...t})}function yT({className:e,...t}){return(0,m.jsx)(`tr`,{"data-slot":`table-row`,className:Z(`border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted`,e),...t})}function $({className:e,...t}){return(0,m.jsx)(`th`,{"data-slot":`table-head`,className:Z(`h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...t})}function bT({className:e,...t}){return(0,m.jsx)(`td`,{"data-slot":`table-cell`,className:Z(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...t})}var xT=la(`/compare`),ST={regressed:{label:`Regressed`,className:`border-fail/30 bg-fail/10 text-fail`},fixed:{label:`Fixed`,className:`border-pass/30 bg-pass/10 text-pass`},drift:{label:`Not comparable`,className:`border-drift/30 bg-drift/10 text-drift`},infra:{label:`Infra error`,className:`border-infra/30 bg-infra/10 text-infra`},added:{label:`New`,className:`text-brand border-brand/30`},removed:{label:`Removed`,className:`text-muted-foreground`},same:{label:`Same`,className:`text-muted-foreground`}};function CT({label:e,value:t,runs:n,onChange:r}){return(0,m.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,m.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:e}),(0,m.jsxs)(lT,{value:t,onValueChange:r,children:[(0,m.jsx)(dT,{className:`w-full`,children:(0,m.jsx)(uT,{placeholder:`Choose a run`})}),(0,m.jsx)(fT,{children:n.map(e=>(0,m.jsxs)(pT,{value:e.runId,children:[(0,m.jsx)(`span`,{className:`font-mono text-xs`,children:Jy(e.git?.sha)}),(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:bC(e.startedAt)}),(0,m.jsxs)(`span`,{className:`tabular text-xs text-muted-foreground`,children:[e.summary.pass,`/`,e.summary.pass+e.summary.fail+e.summary.infraError]}),e.recorded?null:(0,m.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`scratch`})]},e.runId))})]})]})}function wT({base:e,head:t,kind:n}){let r=n===`score`?DT:OT;if(e===null&&t===null)return(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:`–`});if(e===null||t===null)return(0,m.jsx)(`span`,{className:`tabular`,children:r(t===null?e:t)});let i=t-e;return(0,m.jsxs)(`span`,{className:`tabular`,children:[(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:r(e)}),(0,m.jsx)(sx,{className:`mx-1 inline size-3 text-muted-foreground`}),r(t),Math.abs(i)>1e-9?(0,m.jsxs)(`span`,{className:Z(`ml-1.5 text-xs`,i>0?`text-pass`:`text-fail`),children:[i>0?`+`:``,n===`score`?i.toFixed(2):`${Math.round(i*100)} pts`]}):null]})}var TT=e=>`${e>=0?`+`:`−`}${Math.round(Math.abs(e)*100)}`,ET=e=>e?`${TT(e.points)} (${TT(e.lo)}…${TT(e.hi)})${e.withinNoise?` noise`:``}`:`–`,DT=e=>e.toFixed(2),OT=e=>Uy(e);function kT({row:e,head:t}){let n=ST[e.status],r=e.id.split(` › `).slice(1).join(` › `)||e.id;return(0,m.jsxs)(yT,{className:e.status===`same`?`opacity-70`:void 0,children:[(0,m.jsx)(bT,{className:`pl-4`,children:(0,m.jsx)(RC,{variant:`outline`,className:n.className,children:n.label})}),(0,m.jsxs)(bT,{className:`max-w-md`,children:[e.slug?(0,m.jsx)(R,{to:`/evals/$slug`,params:{slug:e.slug},className:`font-medium hover:underline`,children:r}):r,(0,m.jsx)(`div`,{className:`truncate font-mono text-[11px] text-muted-foreground`,children:e.id.split(` › `)[0]}),e.cells?(0,m.jsxs)(`div`,{className:`text-[11px] text-muted-foreground`,children:[`compared on the cells both runs have`,e.cells.added.length?` · added ${e.cells.added.join(`, `)}`:``,e.cells.removed.length?` · removed ${e.cells.removed.join(`, `)}`:``]}):null,e.perCell.length?(0,m.jsx)(`ul`,{className:`mt-1.5 space-y-0.5 text-[11px] text-muted-foreground`,children:e.perCell.map(e=>(0,m.jsxs)(`li`,{className:`tabular`,children:[(0,m.jsx)(`span`,{className:`font-mono`,children:e.key}),e.base.lift||e.head.lift?(0,m.jsxs)(m.Fragment,{children:[` · lift `,ET(e.base.lift),` → `,ET(e.head.lift)]}):null,e.base.effort&&e.head.effort?(0,m.jsxs)(m.Fragment,{children:[` · `,cy(e.base.effort,e.head.effort)]}):null]},e.key))}):null]}),(0,m.jsx)(bT,{children:(0,m.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,m.jsx)(VC,{outcome:e.base}),(0,m.jsx)(sx,{className:`size-3 text-muted-foreground`}),e.slug&&e.head?(0,m.jsx)(R,{to:`/runs/$runId`,params:{runId:t},search:{eval:e.slug},children:(0,m.jsx)(VC,{outcome:e.head})}):(0,m.jsx)(VC,{outcome:e.head})]})}),(0,m.jsx)(bT,{className:`hidden md:table-cell`,children:(0,m.jsx)(wT,{base:e.basePassRate,head:e.headPassRate,kind:`rate`})}),(0,m.jsx)(bT,{className:`hidden pr-4 md:table-cell`,children:(0,m.jsx)(wT,{base:e.baseScore,head:e.headScore,kind:`score`})})]})}function AT(){let e=xT.useSearch(),t=Ki({from:`/compare`}),{data:n,error:r,isPending:i}=et(Db),a=n?.headers??[],o=a.find(t=>t.runId===e.head)??(e.head?void 0:a[0]),s=a.find(t=>t.runId===e.base)??(e.base?void 0:a.find(e=>o&&e.runId<o.runId&&e.status===`complete`)),c=et({...Ob(s?.runId??``),enabled:!!s}),l=et({...Ob(o?.runId??``),enabled:!!o}),u=(0,p.useMemo)(()=>s&&o?hb(s,o,{base:c.data,head:l.data}):null,[s,o,c.data,l.data]);return r?(0,m.jsx)(jC,{error:r}):i?(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsx)(PC,{}),(0,m.jsx)(NC,{rows:6})]}):(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsxs)(`div`,{children:[(0,m.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Compare runs`}),(0,m.jsxs)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:[`What flipped between two runs, with pass-rate and judge-score deltas, and each cell's lift and effort (tool calls, agent time). Uses the same rules as`,` `,(0,m.jsx)(`code`,{className:`font-mono text-xs`,children:`reeval compare`}),`.`]})]}),a.length<2?(0,m.jsx)(AC,{icon:yS,title:`Two runs needed`,children:`Record at least two runs to compare them.`}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-xl border bg-card p-4 sm:flex-row sm:items-end`,children:[(0,m.jsx)(CT,{label:`Base`,value:s?.runId,runs:a,onChange:e=>t({search:t=>({...t,base:e}),replace:!0})}),(0,m.jsx)(sx,{className:`mx-auto hidden size-4 shrink-0 text-muted-foreground sm:mb-2.5 sm:block`}),(0,m.jsx)(CT,{label:`Head`,value:o?.runId,runs:a,onChange:e=>t({search:t=>({...t,head:e}),replace:!0})})]}),!s||!o||!u?(0,m.jsx)(AC,{icon:yS,title:`Pick two runs`,children:`Choose a base and a head run to see what changed.`}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`div`,{className:`grid grid-cols-2 gap-3 sm:grid-cols-4`,children:[`regressed`,`fixed`,`drift`,`same`].map(e=>(0,m.jsxs)(`div`,{className:`rounded-xl border bg-card px-4 py-3`,children:[(0,m.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:ST[e].label}),(0,m.jsx)(`div`,{className:Z(`mt-1 text-2xl font-semibold tracking-tight`,u.counts[e]&&e===`regressed`&&`text-fail`,u.counts[e]&&e===`fixed`&&`text-pass`,u.counts[e]&&e===`drift`&&`text-drift`),children:u.counts[e]})]},e))}),u.changes.length?(0,m.jsxs)(`div`,{className:`rounded-xl border border-drift/30 bg-drift/5 p-4`,children:[(0,m.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-medium text-drift`,children:[(0,m.jsx)(tC,{className:`size-4`}),` The stack changed between these runs`]}),(0,m.jsx)(`ul`,{className:`mt-2 space-y-1 text-sm`,children:u.changes.map(e=>(0,m.jsxs)(`li`,{className:`flex flex-wrap items-center gap-x-2`,children:[(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:e.label}),(0,m.jsx)(`code`,{className:`font-mono text-xs`,children:e.base}),(0,m.jsx)(sx,{className:`size-3 text-muted-foreground`}),(0,m.jsx)(`code`,{className:`font-mono text-xs`,children:e.head}),e.outsideFingerprint?(0,m.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`(not in fingerprints: flips count as not comparable)`}):null]},e.field))})]}):null,(0,m.jsx)(`div`,{className:`overflow-hidden rounded-xl border bg-card`,children:(0,m.jsxs)(gT,{children:[(0,m.jsx)(_T,{children:(0,m.jsxs)(yT,{className:`hover:bg-transparent`,children:[(0,m.jsx)($,{className:`w-36 pl-4`,children:`Change`}),(0,m.jsx)($,{children:`Eval`}),(0,m.jsx)($,{className:`w-24`,children:`Outcome`}),(0,m.jsx)($,{className:`hidden md:table-cell`,children:`Pass rate`}),(0,m.jsx)($,{className:`hidden pr-4 md:table-cell`,children:`Judge score`})]})}),(0,m.jsx)(vT,{children:u.rows.map(e=>(0,m.jsx)(kT,{row:e,head:o.runId},e.id))})]})})]})]})]})}var jT=la(`/evals/$slug`);function MT(){let{slug:e}=jT.useParams(),{data:t,error:n,isPending:r}=et(Db),i=(0,p.useMemo)(()=>t?lb(t.headers,e):[],[t,e]);if(n)return(0,m.jsx)(jC,{error:n});if(r)return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsx)(PC,{}),(0,m.jsx)(NC,{rows:8})]});let a=t.manifest.evals.find(t=>t.slug===e);if(!a||i.length===0)return(0,m.jsx)(AC,{icon:US,title:`No history for this eval`,children:`No recorded run includes it. It may have been renamed: evals are keyed by file, group and name.`});let{file:o,path:s}=Vy(a.id),c=i.filter(e=>e.outcome===`pass`||e.outcome===`fail`),l=c.filter(e=>e.outcome===`pass`).length,u=[...i].reverse(),d=i.filter(e=>e.changed).length;return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsxs)(`nav`,{className:`flex items-center gap-1.5 text-sm text-muted-foreground`,children:[(0,m.jsx)(R,{to:`/evals`,className:`hover:text-foreground`,children:`Evals`}),(0,m.jsx)(yx,{className:`size-3.5`}),(0,m.jsx)(`span`,{className:`truncate text-foreground`,children:s.at(-1)})]}),(0,m.jsxs)(`div`,{children:[(0,m.jsx)(`div`,{className:`font-mono text-xs text-muted-foreground`,children:[o,...s.slice(0,-1)].join(` › `)}),(0,m.jsx)(`h1`,{className:`mt-1.5 text-2xl font-semibold tracking-tight`,children:s.at(-1)}),(0,m.jsxs)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:[`Passed in `,l,` of `,CC(c.length,`run`),` with a verdict`,d?` · the eval or its stack changed ${CC(d,`time`)}`:``,`.`]})]}),(0,m.jsxs)(`div`,{className:`rounded-xl border bg-card p-5`,children:[(0,m.jsxs)(`div`,{className:`mb-3 flex items-center justify-between text-xs text-muted-foreground`,children:[(0,m.jsx)(`span`,{children:`Oldest`}),(0,m.jsxs)(`span`,{children:[(0,m.jsx)(`span`,{className:`mr-1 inline-block h-3 w-px bg-drift align-middle`}),` changed`]}),(0,m.jsx)(`span`,{children:`Newest`})]}),(0,m.jsx)(JC,{items:i.map(e=>({key:e.run.runId,outcome:e.outcome,changed:e.changed,title:`${Jy(e.run.git?.sha)} · ${bC(e.run.startedAt)} · ${e.outcome}`}))})]}),(0,m.jsx)(`div`,{className:`overflow-hidden rounded-xl border bg-card`,children:(0,m.jsxs)(gT,{children:[(0,m.jsx)(_T,{children:(0,m.jsxs)(yT,{className:`hover:bg-transparent`,children:[(0,m.jsx)($,{className:`w-10`}),(0,m.jsx)($,{children:`Run`}),(0,m.jsx)($,{children:`Commit`}),(0,m.jsx)($,{className:`w-48`,children:`Attempts`}),(0,m.jsx)($,{className:`text-right`,children:`Pass rate`}),(0,m.jsx)($,{className:`hidden text-right sm:table-cell`,children:`Run time`})]})}),(0,m.jsx)(vT,{children:u.map(t=>{let n=t.cells.reduce((e,t)=>e+t.pass,0),r=t.cells.reduce((e,t)=>e+t.fail,0),i=t.cells.reduce((e,t)=>e+t.infraError,0);return(0,m.jsxs)(yT,{children:[(0,m.jsx)(bT,{className:`pl-4`,children:(0,m.jsx)(VC,{outcome:t.outcome})}),(0,m.jsxs)(bT,{children:[(0,m.jsx)(R,{to:`/runs/$runId`,params:{runId:t.run.runId},search:{eval:e},className:`font-medium hover:underline`,children:(0,m.jsx)(`span`,{title:SC(t.run.startedAt),children:bC(t.run.startedAt)})}),(0,m.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-1.5`,children:[(0,m.jsx)(`span`,{className:`font-mono text-[11px] text-muted-foreground`,children:t.run.runId}),t.changed?(0,m.jsx)(RC,{variant:`outline`,className:`h-4 border-drift/30 px-1.5 text-[10px] text-drift`,children:`changed`}):null]})]}),(0,m.jsxs)(bT,{children:[(0,m.jsx)(`span`,{className:`font-mono text-xs`,children:Jy(t.run.git?.sha)}),t.run.git?.branch?(0,m.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-1 text-xs text-muted-foreground`,children:[(0,m.jsx)(hS,{className:`size-3`}),t.run.git.branch]}):null]}),(0,m.jsxs)(bT,{children:[(0,m.jsxs)(`span`,{className:`tabular text-xs`,children:[n,`/`,n+r+i,t.cells.length>1?(0,m.jsxs)(`span`,{className:`text-muted-foreground`,children:[` `,`· `,CC(t.cells.length,`cell`)]}):null]}),(0,m.jsx)(UC,{className:`mt-1.5`,pass:n,fail:r,infra:i})]}),(0,m.jsxs)(bT,{className:`text-right`,children:[(0,m.jsx)(WC,{rate:t.passRate}),fb(t.cells)?(0,m.jsx)(`span`,{className:`ml-1 text-xs text-muted-foreground`,children:`gated`}):null]}),(0,m.jsx)(bT,{className:`tabular hidden text-right text-muted-foreground sm:table-cell`,children:Hy(t.run.durationMs)})]},t.run.runId)})})]})})]})}var NT=la(`/evals`);function PT(){let{q:e}=NT.useSearch(),t=Ki({from:`/evals`}),{data:n,error:r,isPending:i}=et(Db),a=(0,p.useMemo)(()=>{let t=new Map,r=e?.toLowerCase();for(let e of n?.manifest.evals??[]){if(r&&!e.id.toLowerCase().includes(r))continue;let n=t.get(e.file)??[];n.push(e),t.set(e.file,n)}return[...t]},[n,e]);if(r)return(0,m.jsx)(jC,{error:r});if(i)return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsx)(PC,{}),(0,m.jsx)(NC,{rows:8})]});let o=n.headers.slice(0,20);return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsxs)(`div`,{className:`flex flex-col gap-4 sm:flex-row sm:items-end sm:justify-between`,children:[(0,m.jsxs)(`div`,{children:[(0,m.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Evals`}),(0,m.jsxs)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:[CC(n.manifest.evals.length,`eval`),` across `,CC(n.headers.length,`run`),`. The strip shows the last 20 runs, oldest to newest.`]})]}),(0,m.jsxs)(`div`,{className:`relative sm:w-72`,children:[(0,m.jsx)(GS,{className:`pointer-events-none absolute top-1/2 left-2.5 size-4 -translate-y-1/2 text-muted-foreground`}),(0,m.jsx)(nw,{value:e??``,onChange:e=>t({search:{q:e.target.value||void 0},replace:!0}),placeholder:`Filter evals`,className:`h-9 pl-8`})]})]}),n.manifest.evals.length===0?(0,m.jsx)(AC,{icon:lS,title:`No evals yet`,children:`Evals appear here once a run that includes them is recorded.`}):a.length===0?(0,m.jsxs)(AC,{icon:GS,title:`No evals match`,children:[`Nothing matches “`,e,`”.`]}):a.map(([e,t])=>(0,m.jsxs)(`section`,{className:`overflow-hidden rounded-xl border bg-card`,children:[(0,m.jsx)(`div`,{className:`border-b bg-muted/40 px-4 py-2 font-mono text-xs text-muted-foreground`,children:e}),(0,m.jsx)(`div`,{className:`divide-y`,children:t.map(e=>{let t=lb(o,e.slug).filter(e=>e.outcome===`pass`||e.outcome===`fail`),n=t.length?t.filter(e=>e.outcome===`pass`).length/t.length:null;return(0,m.jsxs)(R,{to:`/evals/$slug`,params:{slug:e.slug},className:`flex flex-col gap-2 px-4 py-3 transition-colors hover:bg-accent/50 sm:flex-row sm:items-center sm:gap-4`,children:[(0,m.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2.5`,children:[(0,m.jsx)(VC,{outcome:e.latest.outcome}),(0,m.jsxs)(`div`,{className:`min-w-0`,children:[(0,m.jsx)(`div`,{className:`truncate text-sm font-medium`,children:e.path.at(-1)}),e.path.length>1?(0,m.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,children:e.path.slice(0,-1).join(` › `)}):null]})]}),(0,m.jsxs)(`div`,{className:`flex items-center gap-4 pl-6 sm:pl-0`,children:[(0,m.jsx)(JC,{size:`sm`,items:o.slice().reverse().map(t=>({key:t.runId,outcome:t.evals.find(t=>t.slug===e.slug)?.outcome??null}))}),(0,m.jsx)(WC,{rate:n,className:`w-10 text-right text-sm`})]})]},e.slug)})})]},e))]})}var FT={running:{label:`Running`,tone:`border-brand/30 bg-brand/10 text-brand`},cancelling:{label:`Cancelling`,tone:`border-infra/30 bg-infra/10 text-infra`},finishing:{label:`Finishing`,tone:`border-brand/30 bg-brand/10 text-brand`},stopped:{label:`Stopped`,tone:`border-border bg-muted text-muted-foreground`}};function IT(e=1e3){let[t,n]=(0,p.useState)(()=>Date.now());return(0,p.useEffect)(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}function LT({run:e,className:t}){let{label:n,tone:r}=FT[e.state];return(0,m.jsxs)(RC,{variant:`outline`,className:Z(`gap-1.5 tabular`,r,t),children:[e.state===`stopped`?(0,m.jsx)(`span`,{className:`size-1.5 rounded-full bg-muted-foreground/60`}):(0,m.jsxs)(`span`,{className:`relative flex size-1.5`,children:[(0,m.jsx)(`span`,{className:`absolute inline-flex size-full animate-ping rounded-full bg-current opacity-60`}),(0,m.jsx)(`span`,{className:`relative inline-flex size-1.5 rounded-full bg-current`})]}),n,` `,e.counts.done,`/`,e.planned]})}function RT({run:e,className:t}){let{passed:n,failed:r,errored:i,skipped:a,running:o,done:s}=e.counts,c=Math.max(e.planned,1),l=(e,t)=>e>0?(0,m.jsx)(`div`,{className:Z(`transition-[width] duration-500`,t),style:{width:`${e/c*100}%`}}):null;return(0,m.jsxs)(`div`,{className:Z(`flex h-2 overflow-hidden rounded-full bg-muted`,t),role:`progressbar`,"aria-label":`Attempts finished`,"aria-valuemin":0,"aria-valuemax":e.planned,"aria-valuenow":s,children:[l(n,`bg-pass`),l(r,`bg-fail`),l(i,`bg-infra`),l(a,`bg-skip/50`),e.state===`stopped`?null:l(o,`animate-pulse bg-brand/40`)]})}function zT({status:e,stopped:t=!1,className:n}){return e===`running`&&!t?(0,m.jsx)(kS,{className:Z(`size-4 shrink-0 animate-spin text-brand`,n),"aria-label":`Running`}):e===`queued`||e===`running`?(0,m.jsx)(VC,{outcome:null,className:n}):(0,m.jsx)(VC,{outcome:e,className:n})}var BT={queued:`Queued`,running:`Running`,pass:`Passed`,fail:`Failed`,infra_error:`Infra error`,skipped:`Skipped`},VT=(e,t)=>Hy(Math.max(0,t-Date.parse(e.startedAt)));function HT({runs:e}){let t=IT();return e.length?(0,m.jsx)(`section`,{"aria-label":`Runs in progress`,className:`space-y-2`,children:e.map(e=>(0,m.jsxs)(R,{to:`/live/$runId`,params:{runId:e.runId},"data-live-run":e.runId,className:`block rounded-xl border bg-card px-4 py-3 transition-colors hover:bg-accent/50`,children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1`,children:[(0,m.jsx)(LT,{run:e}),(0,m.jsxs)(`span`,{className:`text-sm font-medium`,title:SC(e.startedAt),children:[`Started `,bC(e.startedAt,t)]}),(0,m.jsx)(`span`,{className:`hidden font-mono text-[11px] text-muted-foreground sm:inline`,children:e.runId}),(0,m.jsxs)(`span`,{className:`tabular ml-auto text-xs text-muted-foreground`,children:[e.counts.passed,` passed · `,e.counts.failed+e.counts.errored,` failed`,e.state!==`stopped`&&e.counts.running?` · ${e.counts.running} running`:``,` `,`· `,VT(e,t)]})]}),(0,m.jsx)(RT,{run:e,className:`mt-2.5`})]},e.runId))}):null}var UT=la(`/live/$runId`),WT=la(`/live/$runId/attempt`);function GT(e){let t=Fb(),n=et(Db),r=t.runs.find(t=>t.runId===e);return{run:r,landed:!r&&!!n.data?.headers.some(t=>t.runId===e),isPending:t.isPending||n.isPending,error:t.error??n.error}}function KT({label:e,children:t}){return(0,m.jsxs)(`div`,{className:`rounded-xl border bg-card px-4 py-3`,children:[(0,m.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e}),(0,m.jsx)(`div`,{className:`tabular mt-1 text-lg font-semibold tracking-tight`,children:t})]})}function qT({runId:e}){return(0,m.jsxs)(AC,{icon:FS,title:`This run isn't in progress`,children:[`No running `,(0,m.jsx)(`span`,{className:`font-mono`,children:`reeval run`}),` has the id`,` `,(0,m.jsx)(`span`,{className:`font-mono`,children:e}),`, and no record of it has landed.`,` `,(0,m.jsx)(R,{to:`/`,className:`underline`,children:`Back to runs`})]})}function JT({attempt:e,run:t,now:n}){return e.durationMs===null?e.status===`running`&&e.startedAt&&t.state!==`stopped`?(0,m.jsx)(m.Fragment,{children:Hy(Math.max(0,n-Date.parse(e.startedAt)))}):(0,m.jsx)(m.Fragment,{children:`–`}):(0,m.jsx)(m.Fragment,{children:Hy(e.durationMs)})}function YT(){let{runId:e}=UT.useParams(),t=Ki(),n=IT(),{run:r,landed:i,isPending:a,error:o}=GT(e);(0,p.useEffect)(()=>{i&&t({to:`/runs/$runId`,params:{runId:e},replace:!0})},[i,t,e]);let s=(0,p.useMemo)(()=>{let e=new Map;for(let t of r?.attempts??[])e.set(t.evalId,[...e.get(t.evalId)??[],t]);return[...e.values()]},[r]);if(o)return(0,m.jsx)(jC,{error:o});if(a||i)return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsx)(PC,{}),(0,m.jsx)(NC,{rows:6})]});if(!r)return(0,m.jsx)(qT,{runId:e});let c=r.state===`stopped`;return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsxs)(`div`,{children:[(0,m.jsx)(fC,{asChild:!0,variant:`ghost`,size:`sm`,className:`-ml-2 text-muted-foreground`,children:(0,m.jsxs)(R,{to:`/`,children:[(0,m.jsx)(ax,{}),` Runs`]})}),(0,m.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-3`,children:[(0,m.jsx)(`h2`,{className:`text-2xl font-semibold tracking-tight`,children:c?`Run stopped`:`Run in progress`}),(0,m.jsx)(LT,{run:r})]}),(0,m.jsxs)(`p`,{className:`mt-1 flex flex-wrap gap-x-2 text-sm text-muted-foreground`,children:[(0,m.jsxs)(`span`,{title:SC(r.startedAt),children:[`Started `,bC(r.startedAt,n)]}),(0,m.jsx)(`span`,{children:`·`}),(0,m.jsx)(`span`,{className:`font-mono text-xs leading-5`,children:r.runId})]})]}),c?(0,m.jsxs)(`div`,{className:`flex gap-3 rounded-xl border border-infra/30 bg-infra/5 px-4 py-3 text-sm`,children:[(0,m.jsx)(Nx,{className:`mt-0.5 size-4 shrink-0 text-infra`}),(0,m.jsxs)(`p`,{children:[`This run stopped without writing a record: its`,` `,(0,m.jsx)(`span`,{className:`font-mono`,children:`reeval run`}),` exited or stopped responding. Continue it with `,(0,m.jsxs)(`span`,{className:`font-mono`,children:[`reeval run --resume `,r.runId]}),`. The attempts below are what finished before it did.`]})]}):null,(0,m.jsxs)(`div`,{className:`space-y-3`,children:[(0,m.jsx)(RT,{run:r,className:`h-2.5`}),(0,m.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 md:grid-cols-4`,children:[(0,m.jsxs)(KT,{label:`Finished`,children:[r.counts.done,(0,m.jsxs)(`span`,{className:`ml-1 text-sm font-normal text-muted-foreground`,children:[`of `,CC(r.planned,`attempt`)]})]}),(0,m.jsx)(KT,{label:`Passed`,children:(0,m.jsx)(`span`,{className:`text-pass`,children:r.counts.passed})}),(0,m.jsx)(KT,{label:`Failed`,children:(0,m.jsx)(`span`,{className:r.counts.failed+r.counts.errored?`text-fail`:``,children:r.counts.failed+r.counts.errored})}),(0,m.jsx)(KT,{label:`Elapsed`,children:c?`Stopped`:VT(r,n)})]}),r.state===`finishing`?(0,m.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Every attempt has finished; writing the run's record.`}):null]}),(0,m.jsx)(`div`,{className:`overflow-hidden rounded-xl border bg-card`,children:(0,m.jsxs)(gT,{children:[(0,m.jsx)(_T,{children:(0,m.jsxs)(yT,{className:`hover:bg-transparent`,children:[(0,m.jsx)($,{className:`w-10`}),(0,m.jsx)($,{children:`Attempt`}),(0,m.jsx)($,{className:`hidden md:table-cell`,children:`Cell`}),(0,m.jsx)($,{className:`hidden sm:table-cell`,children:`Status`}),(0,m.jsx)($,{className:`text-right`,children:`Duration`})]})}),(0,m.jsx)(vT,{children:s.flat().map(t=>{let i=Fy(t.status)&&t.status!==`skipped`,a=`${t.name} · #${t.n}`;return(0,m.jsxs)(yT,{"data-live-attempt":t.status,children:[(0,m.jsx)(bT,{className:`pl-4`,children:(0,m.jsx)(zT,{status:t.status,stopped:c})}),(0,m.jsxs)(bT,{children:[i?(0,m.jsx)(R,{to:`/live/$runId/attempt`,params:{runId:e},search:{key:t.key},className:`font-medium hover:underline`,children:a}):(0,m.jsx)(`span`,{className:`font-medium`,children:a}),(0,m.jsxs)(`div`,{className:`mt-0.5 font-mono text-[11px] text-muted-foreground`,children:[t.file,(0,m.jsxs)(`span`,{className:`md:hidden`,children:[` · `,t.cell]})]})]}),(0,m.jsx)(bT,{className:`hidden font-mono text-xs md:table-cell`,children:t.cell}),(0,m.jsx)(bT,{className:`hidden text-sm text-muted-foreground sm:table-cell`,children:c&&t.status===`running`?`Stopped`:c&&t.status===`queued`?`Never started`:BT[t.status]}),(0,m.jsx)(bT,{className:`tabular pr-4 text-right text-muted-foreground`,children:(0,m.jsx)(JT,{attempt:t,run:r,now:n})})]},t.key)})})]})})]})}function XT(){let{runId:e}=WT.useParams(),{key:t=``}=WT.useSearch(),n=Ki(),{run:r,landed:i,isPending:a,error:o}=GT(e),s=r?.attempts.find(e=>e.key===t),c=et({...Ib(e,t),enabled:!!s&&Fy(s.status)}),l=et({...Ob(e),enabled:i});return(0,p.useEffect)(()=>{if(l.data){for(let r of l.data.evals){let i=r.attempts.find(e=>e.key===t);if(i){n({to:`/runs/$runId/evals/$slug/attempts/$attempt`,params:{runId:e,slug:r.slug,attempt:i.id},replace:!0});return}}n({to:`/runs/$runId`,params:{runId:e},replace:!0})}},[l.data,t,n,e]),o?(0,m.jsx)(jC,{error:o}):a||i?(0,m.jsx)(NC,{rows:6}):r?s?(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsxs)(`div`,{children:[(0,m.jsx)(fC,{asChild:!0,variant:`ghost`,size:`sm`,className:`-ml-2 text-muted-foreground`,children:(0,m.jsxs)(R,{to:`/live/$runId`,params:{runId:e},children:[(0,m.jsx)(ax,{}),` Run in progress`]})}),(0,m.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-3`,children:[(0,m.jsx)(zT,{status:s.status,className:`size-5`}),(0,m.jsx)(`h2`,{className:`text-2xl font-semibold tracking-tight`,children:s.name}),(0,m.jsxs)(`span`,{className:`font-mono text-sm text-muted-foreground`,children:[s.cell,`#`,s.n]})]}),(0,m.jsxs)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:[BT[s.status],s.durationMs===null?``:` in ${Hy(s.durationMs)}`,` · The diff, checks and judge tabs arrive with the run's record.`]})]}),Fy(s.status)?c.error?(0,m.jsx)(AC,{icon:sS,title:`No transcript`,children:`This attempt didn't write one.`}):c.isPending?(0,m.jsx)(NC,{rows:5}):(0,m.jsx)(rT,{text:c.data}):(0,m.jsx)(AC,{icon:sS,title:`Not finished yet`,children:`The transcript is here once this attempt finishes.`})]}):(0,m.jsxs)(AC,{icon:sS,title:`No such attempt`,children:[`This run has no attempt `,(0,m.jsx)(`span`,{className:`font-mono`,children:t}),`.`]}):(0,m.jsx)(qT,{runId:e})}function ZT(){return(0,m.jsxs)(AC,{icon:Gx,title:`Page not found`,children:[`That link doesn't point anywhere in the studio.`,` `,(0,m.jsx)(R,{to:`/`,className:`underline`,children:`Go to runs`})]})}function QT({doc:e,id:t}){let n=e.attempts[t.replace(/:check\d+$/,``)],r=`inline-flex rounded border bg-muted/60 px-1 font-mono text-[10px] text-muted-foreground`;return n?(0,m.jsx)(R,{to:`/runs/$runId/evals/$slug/attempts/$attempt`,params:{runId:n.runId,slug:n.evalSlug,attempt:n.attempt},className:`${r} hover:text-foreground`,children:t}):(0,m.jsx)(`span`,{className:r,title:e.cited[t]??t,children:t})}function $T({doc:e,ids:t}){return(0,m.jsx)(`span`,{className:`ml-1 inline-flex flex-wrap gap-1 align-middle`,children:t.map(t=>(0,m.jsx)(QT,{doc:e,id:t},t))})}function eE({doc:e,title:t,items:n}){return n.length?(0,m.jsxs)(`section`,{className:`space-y-2`,children:[(0,m.jsx)(`h3`,{className:`text-sm font-medium`,children:t}),(0,m.jsx)(`ul`,{className:`list-disc space-y-1.5 pl-5 text-sm`,children:n.map(t=>(0,m.jsxs)(`li`,{children:[t.text,(0,m.jsx)($T,{doc:e,ids:t.cites}),t.confidence===`high`?null:(0,m.jsxs)(`span`,{className:`ml-1 text-xs text-muted-foreground`,children:[`(`,t.confidence,` confidence)`]}),t.unverifiedNumbers?.length?(0,m.jsxs)(`span`,{className:`ml-1 text-xs text-infra`,children:[`(not in the cited facts: `,t.unverifiedNumbers.join(`, `),`)`]}):null]},t.text))})]}):null}function tE({what:e,error:t,children:n}){return(0,m.jsxs)(`div`,{className:`rounded-lg border border-fail/40 bg-fail/5 p-3 text-sm`,children:[(0,m.jsxs)(`p`,{children:[(0,m.jsxs)(`span`,{className:`font-medium text-fail`,children:[e,` failed: `]}),(0,m.jsx)(`span`,{className:`break-words`,children:t})]}),(0,m.jsxs)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:[`The run's outcomes don't change.`,n?` `:``,n]})]})}function nE({entry:e}){let{doc:t}=e,n=t.analysis,r=t.validation,i=(0,m.jsx)(RC,{variant:e.source===`saved`?`secondary`:`outline`,children:e.source===`saved`?`saved`:`local cache`});return t.error===void 0?(0,m.jsxs)(`div`,{className:`space-y-5`,children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-xs text-muted-foreground`,children:[i,vv(t)?(0,m.jsx)(RC,{variant:`outline`,className:`text-infra`,children:`superseded: re-run reeval analyze`}):null,(0,m.jsxs)(`span`,{children:[t.scope.base?`vs ${t.scope.base}`:`no base run`,t.scope.evals?` · evals matching "${t.scope.evals}"`:``,` · by `,t.author,` ·`,` `,SC(t.createdAt)]})]}),(0,m.jsxs)(`p`,{className:`rounded-lg border bg-muted/40 p-3 text-sm leading-relaxed`,children:[(0,m.jsxs)(`span`,{className:`font-semibold`,children:[`TL;DR (`,n.confidence.overall,`). `]}),n.tldr]}),(0,m.jsx)(eE,{doc:t,title:`What happened`,items:n.whatHappened}),(0,m.jsx)(eE,{doc:t,title:`Results`,items:n.results}),(0,m.jsx)(eE,{doc:t,title:`Why`,items:n.why}),n.anomalies.length?(0,m.jsxs)(`section`,{className:`space-y-2`,children:[(0,m.jsx)(`h3`,{className:`text-sm font-medium`,children:`Anomalies`}),(0,m.jsx)(`ul`,{className:`space-y-1.5 text-sm`,children:n.anomalies.map(e=>(0,m.jsxs)(`li`,{children:[(0,m.jsx)(RC,{variant:`outline`,className:`mr-1.5 text-[10px]`,children:e.kind}),e.text,(0,m.jsx)($T,{doc:t,ids:e.cites})]},e.text))})]}):null,(0,m.jsxs)(`section`,{className:`space-y-2`,children:[(0,m.jsx)(`h3`,{className:`text-sm font-medium`,children:`Suggested actions`}),n.actions.length===0?(0,m.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`None: nothing here is worth acting on.`}):(0,m.jsx)(`ol`,{className:`space-y-3`,children:n.actions.map((e,n)=>(0,m.jsxs)(`li`,{className:`rounded-lg border p-3 text-sm`,children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,m.jsxs)(`span`,{className:`font-medium`,children:[n+1,`. `,e.title]}),(0,m.jsx)(RC,{variant:`secondary`,className:`text-[10px]`,children:e.kind}),(0,m.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`impact `,e.impact,` · effort `,e.effort]})]}),(0,m.jsxs)(`p`,{className:`mt-1.5`,children:[(0,m.jsx)(`code`,{className:`font-mono text-xs`,children:e.target}),`: `,e.change]}),(0,m.jsxs)(`p`,{className:`mt-1 text-muted-foreground`,children:[`Expect: `,e.expectedEffect]}),(0,m.jsxs)(`div`,{className:`mt-1.5 flex flex-wrap items-center gap-2 text-xs`,children:[e.verify?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(`code`,{className:`rounded bg-muted px-1.5 py-0.5 font-mono`,children:e.verify}),(0,m.jsx)(_w,{value:e.verify,label:`copy`})]}):(0,m.jsxs)(`span`,{className:`text-infra`,children:[`Verify command rejected: `,e.verifyProblem??`not reeval’s CLI`]}),(0,m.jsx)($T,{doc:t,ids:e.cites})]})]},e.title))})]}),(0,m.jsxs)(`p`,{className:`text-sm`,children:[(0,m.jsxs)(`span`,{className:`font-medium`,children:[`Confidence: `,n.confidence.overall,`.`]}),` `,n.confidence.why]}),(0,m.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[t.resolvedModel??t.model,` · `,t.promptVersion,` · digest v`,t.inputs.digestVersion,t.usage.inputTokens===null?``:` · ${t.usage.inputTokens} in / ${t.usage.outputTokens??`?`} out tokens`,` `,`· `,r.citations,` citations checked, `,r.invalid.length,` invalid, `,r.dropped,` dropped ·`,` `,r.commands,` commands checked, `,r.invalidCommands.length,` rejected · `,e.file]})]}):(0,m.jsxs)(`div`,{className:`space-y-3`,children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-xs text-muted-foreground`,children:[i,(0,m.jsxs)(`span`,{children:[t.model,` · `,SC(t.createdAt)]})]}),(0,m.jsxs)(tE,{what:`The run's summary`,error:t.error,children:[(0,m.jsxs)(`code`,{className:`font-mono`,children:[`reeval analyze `,t.anchor]}),` calls the model again.`]})]})}function rE({notes:e}){let t=[...new Set(e.map(e=>e.evalId))];return(0,m.jsxs)(`section`,{className:`space-y-3`,"aria-label":`Notes by harness`,children:[(0,m.jsx)(`h3`,{className:`text-sm font-medium`,children:`Notes by harness`}),t.map(t=>(0,m.jsxs)(`div`,{className:`space-y-2`,children:[(0,m.jsx)(`p`,{className:`font-mono text-xs text-muted-foreground`,children:t}),(0,m.jsx)(`ul`,{className:`space-y-2`,children:e.filter(e=>e.evalId===t).map(e=>(0,m.jsxs)(`li`,{className:`rounded-lg border p-3 text-sm`,children:[(0,m.jsxs)(`div`,{className:`mb-1.5 flex flex-wrap items-center gap-2 text-xs text-muted-foreground`,children:[(0,m.jsx)(RC,{variant:`secondary`,children:e.harness}),(0,m.jsxs)(`span`,{children:[e.attempts.length,` attempt`,e.attempts.length===1?``:`s`,` ·`,` `,e.resolvedModel??e.model]})]}),e.error===void 0?(0,m.jsx)(`p`,{className:`whitespace-pre-wrap leading-relaxed`,children:e.text}):(0,m.jsx)(tE,{what:`This note`,error:e.error})]},e.harness))})]},t))]})}function iE({runId:e}){let{data:t,error:n,isPending:r}=et(Ab(e)),[i,a]=(0,p.useState)();if(n)return(0,m.jsx)(jC,{error:n});if(r)return(0,m.jsx)(NC,{rows:5});let o=t?.entries??[],s=t?.notes??[];if(o.length===0&&s.length===0)return(0,m.jsxs)(AC,{icon:YS,title:`No analysis for this run yet`,children:[`Run `,(0,m.jsxs)(`code`,{className:`font-mono text-xs`,children:[`reeval analyze `,e,` --save`]}),` to write one into the run's history folder, or`,` `,(0,m.jsx)(`code`,{className:`font-mono text-xs`,children:`reeval analyze --context`}),` to hand the digest to your own coding agent.`]});let c=o.find(e=>e.file===i)??o[0];return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[c&&o.length>1?(0,m.jsxs)(lT,{value:c.file,onValueChange:a,children:[(0,m.jsx)(dT,{className:`w-full sm:w-auto`,children:(0,m.jsx)(uT,{})}),(0,m.jsx)(fT,{children:o.map(e=>(0,m.jsxs)(pT,{value:e.file,children:[SC(e.doc.createdAt),` · `,e.source,` · `,e.doc.model,e.doc.error===void 0?``:` · failed`]},e.file))})]}):null,c?(0,m.jsx)(nE,{entry:c}):(0,m.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`No summary of the run: run`,` `,(0,m.jsxs)(`code`,{className:`font-mono text-xs`,children:[`reeval analyze `,e,` --save`]}),` to write one.`]}),s.length?(0,m.jsx)(rE,{notes:s}):null]})}var aE=la(`/runs/$runId`);function oE({icon:e,children:t}){return(0,m.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,m.jsx)(e,{className:`size-3.5`}),t]})}function sE({record:e,children:t}){return(0,m.jsxs)(`div`,{className:`flex flex-col gap-4 md:flex-row md:items-start md:justify-between`,children:[(0,m.jsxs)(`div`,{className:`min-w-0`,children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2.5`,children:[(0,m.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:SC(e.startedAt)}),(0,m.jsx)(HC,{outcome:Xy(e)}),e.status===`interrupted`?(0,m.jsx)(RC,{variant:`outline`,className:`text-infra`,children:`interrupted`}):null]}),(0,m.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-x-4 gap-y-1.5 text-sm text-muted-foreground`,children:[(0,m.jsxs)(oE,{icon:_S,children:[(0,m.jsx)(`span`,{className:`font-mono text-xs`,children:Jy(e.git?.sha)}),e.git?.dirty?(0,m.jsx)(`span`,{className:`text-infra`,children:`· dirty`}):null]}),e.git?.branch?(0,m.jsx)(oE,{icon:hS,children:e.git.branch}):null,(0,m.jsx)(oE,{icon:aC,children:e.runner.kind===`ci`?`CI · ${e.runner.provider}`:e.author}),(0,m.jsx)(oE,{icon:zx,children:Hy(e.durationMs)}),e.cost.usage?(0,m.jsxs)(oE,{icon:Ux,children:[qy(e.cost.usage),` tokens`]}):null]})]}),t]})}function cE({warnings:e}){if(e.length===0)return null;let t=e.some(e=>e.kind===`root`);return(0,m.jsxs)(`div`,{role:`alert`,className:Z(`flex gap-3 rounded-xl border p-4 text-sm`,t?`border-fail/40 bg-fail/5`:`border-infra/40 bg-infra/5`),children:[(0,m.jsx)(qS,{className:Z(`mt-0.5 size-4 shrink-0`,t?`text-fail`:`text-infra`)}),(0,m.jsx)(`ul`,{className:`min-w-0 space-y-1`,children:e.map(e=>(0,m.jsxs)(`li`,{className:`break-words`,children:[(0,m.jsx)(`span`,{className:Z(`font-semibold`,e.kind===`root`?`text-fail`:`text-infra`),children:e.kind===`root`?`Root`:`Capabilities`}),` `,(0,m.jsx)(`span`,{className:`font-mono text-xs`,children:e.message}),e.file?(0,m.jsxs)(`span`,{className:`text-muted-foreground`,children:[` · `,e.file]}):null]},`${e.file}\0${e.message}`))})]})}function lE({node:e,depth:t,selected:n,onSelect:r}){let[i,a]=(0,p.useState)(!0),o={paddingLeft:`${t*14+8}px`};if(e.kind===`eval`){let t=n===e.eval.slug;return(0,m.jsxs)(`button`,{type:`button`,onClick:()=>r(e.eval.slug),style:o,className:Z(`flex w-full items-center gap-2 rounded-md py-1.5 pr-2 text-left text-sm transition-colors`,t?`bg-accent text-foreground`:`text-foreground/85 hover:bg-accent/60`),children:[(0,m.jsx)(VC,{outcome:e.eval.outcome}),(0,m.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),e.eval.todo?(0,m.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:`todo`}):cb(e.eval)?(0,m.jsxs)(`span`,{className:`tabular shrink-0 text-xs text-muted-foreground`,children:[e.tally.pass,`/`,e.tally.pass+e.tally.fail+e.tally.missed+e.tally.infra]}):null]})}let s=t===0,c=s?Yx:dS;return(0,m.jsxs)(`div`,{children:[(0,m.jsxs)(`button`,{type:`button`,onClick:()=>a(!i),style:o,className:`flex w-full items-center gap-1.5 rounded-md py-1.5 pr-2 text-left text-xs font-medium text-muted-foreground hover:bg-accent/60`,children:[(0,m.jsx)(yx,{className:Z(`size-3.5 transition-transform`,i&&`rotate-90`)}),(0,m.jsx)(c,{className:`size-3.5`}),(0,m.jsx)(`span`,{className:Z(`min-w-0 flex-1 truncate`,s&&`font-mono`),children:e.name}),e.tally.fail?(0,m.jsxs)(`span`,{className:`tabular text-fail`,children:[e.tally.fail,` failed`]}):e.tally.missed?(0,m.jsxs)(`span`,{className:`tabular`,children:[e.tally.missed,` missed, not gated`]}):null]}),i?e.children.map(e=>(0,m.jsx)(lE,{node:e,depth:t+1,selected:n,onSelect:r},e.key)):null]})}function uE(e){return e.flatMap(e=>{if(e.kind===`eval`)return e.eval.outcome===`pass`||e.eval.outcome===`skipped`?[]:[e];let t=uE(e.children);return t.length?[{...e,children:t}]:[]})}function dE({rows:e,runId:t,slug:n}){let r=e.some(e=>e.lift!==null),i=e.some(e=>e.effort!==null),a=e.some(e=>e.usage),o=e.some(e=>e.role===`variant`);return(0,m.jsx)(`div`,{className:`overflow-hidden rounded-lg border`,children:(0,m.jsxs)(gT,{children:[(0,m.jsx)(_T,{children:(0,m.jsxs)(yT,{className:`hover:bg-transparent`,children:[(0,m.jsx)($,{children:`Harness`}),(0,m.jsx)($,{children:`Environment`}),o?(0,m.jsx)($,{children:`Role`}):null,(0,m.jsx)($,{className:`hidden 2xl:table-cell`,children:`Sandbox`}),(0,m.jsx)($,{children:`Attempts`}),(0,m.jsx)($,{className:`text-right`,children:`Pass rate`}),a?(0,m.jsx)($,{className:`text-right`,children:`Tokens`}):null,r||i?(0,m.jsx)($,{className:`text-right`,children:r&&i?`Lift and effort`:r?`Lift`:`Effort`}):null]})}),(0,m.jsx)(vT,{children:e.map(e=>(0,m.jsxs)(yT,{className:`hover:bg-transparent`,children:[(0,m.jsx)(bT,{className:`font-mono text-xs`,children:e.harness}),(0,m.jsxs)(bT,{className:`font-mono text-xs`,children:[e.environment===`-`?(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:`none`}):e.environment,e.overrides.length?(0,m.jsxs)(`div`,{className:`mt-0.5 font-sans text-[11px] text-muted-foreground`,children:[`overrides `,e.overrides.join(`, `)]}):null]}),o?(0,m.jsx)(bT,{children:(0,m.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs`,children:[e.role,e.gated?null:(0,m.jsx)(RC,{variant:`outline`,className:`text-[10px] text-muted-foreground`,children:`not gated`})]})}):null,(0,m.jsx)(bT,{className:`hidden font-mono text-xs 2xl:table-cell`,children:e.sandbox}),(0,m.jsx)(bT,{children:(0,m.jsx)(`div`,{className:`flex items-center gap-1`,children:e.attempts.map(r=>(0,m.jsx)(R,{to:`/runs/$runId/evals/$slug/attempts/$attempt`,params:{runId:t,slug:n,attempt:r.id},title:`${r.id} · ${Hy(r.durationMs)}`,className:`rounded-sm p-0.5 hover:bg-accent`,children:(0,m.jsx)(VC,{outcome:r.outcome,missed:!e.gated})},r.id))})}),(0,m.jsxs)(bT,{className:`text-right`,children:[(0,m.jsx)(WC,{rate:e.passRate}),(0,m.jsxs)(`span`,{className:`tabular ml-1.5 text-xs text-muted-foreground`,children:[e.pass,`/`,e.pass+e.fail]}),e.judgeRates.length?(0,m.jsx)(`div`,{className:`mt-1 text-left text-[11px] text-muted-foreground`,children:(0,m.jsx)(pE,{rates:e.judgeRates})}):null]}),a?(0,m.jsx)(bT,{className:`text-right text-xs text-muted-foreground`,children:qy(e.usage)??`–`}):null,r||i?(0,m.jsxs)(bT,{className:`min-w-44 whitespace-normal text-right`,children:[r?(0,m.jsx)(KC,{points:e.lift,interval:e.liftInterval}):null,e.belowMinLift?(0,m.jsx)(`div`,{className:`text-[11px] text-fail`,children:`lower bound below minLift`}):null,i?(0,m.jsx)(`div`,{className:r?`mt-1`:void 0,children:(0,m.jsx)(fE,{row:e})}):null]}):null]},e.key))})]})})}function fE({row:e}){if(!e.effort)return(0,m.jsx)(`span`,{className:`text-muted-foreground`,children:`–`});let t=e.effortVsControl,n=t&&(t.verdict===`fewer`||t.verdict===`more`);return(0,m.jsxs)(`div`,{className:`tabular text-xs`,children:[(0,m.jsx)(`div`,{children:sy(e.effort)}),t?(0,m.jsxs)(`div`,{className:Z(`text-[11px]`,n?t.verdict===`fewer`?`text-pass`:`text-fail`:`text-muted-foreground`),title:t.toolsP===null?void 0:`exact rank test p = ${t.toolsP.toFixed(3)}`,children:[`tools `,iy(t.toolsRatio),` vs control · `,oy[t.verdict](`tool calls`)]}):null]})}function pE({rates:e}){return e.length===0?null:(0,m.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.map((e,t)=>(0,m.jsxs)(`span`,{className:`tabular`,title:e.question,children:[t>0?` · `:``,e.label,` `,e.pass,`/`,e.counted,e.lift?` (${e.lift.points>=0?`+`:`−`}${Math.round(Math.abs(e.lift.points)*100)} pts)`:``]},e.key))})}function mE({label:e,rates:t}){return t.length===0?null:(0,m.jsxs)(`div`,{className:`space-y-1`,children:[(0,m.jsx)(`div`,{className:`text-[11px] text-muted-foreground`,children:e}),t.map(e=>(0,m.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,12rem)_minmax(0,1fr)_auto] items-center gap-3 text-xs`,children:[(0,m.jsx)(`span`,{className:`truncate font-mono`,title:e.name,children:e.name}),(0,m.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-muted`,children:e.rate===null?null:(0,m.jsx)(`div`,{className:`h-full bg-pass`,style:{width:`${e.rate*100}%`}})}),(0,m.jsxs)(`span`,{className:`tabular text-right`,children:[(0,m.jsx)(`span`,{className:`font-medium`,children:Uy(e.rate)}),(0,m.jsxs)(`span`,{className:`ml-1.5 text-muted-foreground`,children:[e.wins,`/`,e.n]})]})]},e.name))]})}function hE({rows:e}){return(0,m.jsxs)(`section`,{className:`space-y-2`,"data-questions":!0,children:[(0,m.jsx)(`h3`,{className:`text-sm font-medium`,children:`Questions`}),(0,m.jsx)(`div`,{className:`divide-y overflow-hidden rounded-lg border`,children:e.map(e=>(0,m.jsxs)(`div`,{className:`space-y-2.5 px-3.5 py-3`,children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-x-3 gap-y-1`,children:[(0,m.jsx)(`p`,{className:`min-w-0 text-sm`,children:e.question}),(0,m.jsx)(`span`,{className:`font-mono text-[11px] text-muted-foreground`,children:e.model})]}),(0,m.jsx)(mE,{label:`Within a harness`,rates:e.within}),(0,m.jsx)(mE,{label:`Across harnesses`,rates:e.across}),e.error===null?null:(0,m.jsxs)(`p`,{className:`font-mono text-xs break-words text-infra`,children:[`failed: `,e.error]}),e.noPairs||e.votes?(0,m.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:e.noPairs?`No pairs to judge: attempts that failed their checks are left out`:`${CC(e.votes,`vote`)}, ${CC(e.ties,`tie`)}`}):null]},e.question))})]})}function gE({record:e,entry:t}){let n=ob(t),r=cb(t),i=sb(t),a=!r&&n[0]?.judgeRates.length?n[0].judgeRates:[];return(0,m.jsxs)(`div`,{className:`space-y-5`,children:[(0,m.jsxs)(`div`,{children:[(0,m.jsx)(`div`,{className:`flex items-center gap-1.5 font-mono text-xs text-muted-foreground`,children:[t.file,...t.group].join(` › `)}),(0,m.jsxs)(`div`,{className:`mt-1.5 flex flex-wrap items-center gap-2.5`,children:[(0,m.jsx)(`h2`,{className:`text-lg font-semibold tracking-tight`,children:t.name}),(0,m.jsx)(HC,{outcome:t.outcome,label:t.todo?`Todo`:void 0})]}),(0,m.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[(0,m.jsx)(fC,{asChild:!0,variant:`outline`,size:`sm`,children:(0,m.jsxs)(R,{to:`/evals/$slug`,params:{slug:t.slug},children:[(0,m.jsx)(LS,{}),` History`]})}),t.tags.map(e=>(0,m.jsxs)(RC,{variant:`secondary`,children:[`#`,e]},e)),t.compare?(0,m.jsxs)(RC,{variant:`outline`,className:`font-mono text-[11px]`,title:t.compare.from===`environment`?`No compare.baseline: the eval's environment is the control`:t.compare.from===`empty`?`No compare.baseline or environment: the control is an empty environment`:void 0,children:[`baseline `,t.compare.baseline]}):null]})]}),r?(0,m.jsxs)(`section`,{className:`space-y-2`,children:[(0,m.jsx)(`h3`,{className:`text-sm font-medium`,children:`Cells`}),(0,m.jsx)(dE,{rows:n,runId:e.runId,slug:t.slug})]}):a.length?(0,m.jsx)(pE,{rates:a}):null,i.length?(0,m.jsx)(hE,{rows:i}):null,(0,m.jsxs)(`section`,{className:`space-y-2`,children:[(0,m.jsx)(`h3`,{className:`text-sm font-medium`,children:CC(t.attempts.length,`attempt`)}),(0,m.jsx)(`div`,{className:`divide-y overflow-hidden rounded-lg border`,children:t.attempts.map(n=>{let r=by(n.judgements),i=qy(n.usage),a=pb(t,n);return(0,m.jsxs)(R,{to:`/runs/$runId/evals/$slug/attempts/$attempt`,params:{runId:e.runId,slug:t.slug,attempt:n.id},className:`group flex items-start gap-3 px-3.5 py-3 transition-colors hover:bg-accent/50`,children:[(0,m.jsx)(VC,{outcome:n.outcome,missed:a,className:`mt-0.5`}),(0,m.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1 text-sm`,children:[(0,m.jsx)(`span`,{className:`font-mono text-xs`,children:n.id}),(0,m.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[Hy(n.durationMs),` · `,CC(n.turns.length,`turn`),` ·`,` `,Yy(n.activity),i?` · ${i}`:``]}),r.shown.map(e=>(0,m.jsxs)(`span`,{className:Z(`tabular text-xs`,e.verdict===`pass`?`text-pass`:`text-fail`),children:[e.verdict,` `,e.score.toFixed(2),`/`,e.threshold.toFixed(2)]},e.key)),r.extra?(0,m.jsxs)(`span`,{className:`tabular text-xs text-muted-foreground`,children:[r.extra,` judges`]}):null,a?(0,m.jsx)(RC,{variant:`outline`,className:`text-[10px] text-muted-foreground`,children:`missed, not gated`}):null]}),n.error?(0,m.jsxs)(`p`,{className:Z(`mt-1 line-clamp-2 font-mono text-xs`,a?`text-muted-foreground`:`text-fail`),children:[n.error.kind,`: `,n.error.message.split(`
|
|
58
58
|
`)[0]]}):n.turns.at(-1)?.text?(0,m.jsx)(`p`,{className:`mt-1 line-clamp-1 text-xs text-muted-foreground`,children:n.turns.at(-1)?.text}):null]}),(0,m.jsx)(yx,{className:`mt-0.5 size-4 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100`})]},n.id)})})]})]})}function _E(){let{runId:e}=aE.useParams(),t=aE.useSearch(),n=Ki({from:`/runs/$runId`}),{data:r,error:i,isPending:a}=et(Ob(e)),{data:o}=et(Db),{data:s}=et(Ab(e)),c=(0,p.useMemo)(()=>r?ib(r):[],[r]);if(i)return(0,m.jsx)(jC,{error:i});if(a)return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsx)(PC,{}),(0,m.jsxs)(`div`,{className:`grid gap-6 lg:grid-cols-[320px_1fr]`,children:[(0,m.jsx)(NC,{rows:8}),(0,m.jsx)(NC,{rows:4})]})]});let l=t.show===`failed`?uE(c):c,u=r.evals.find(e=>e.slug===t.eval)??r.evals.find(e=>e.outcome===`fail`||e.outcome===`infra_error`)??r.evals[0],d=(o?.headers??[]).find(t=>t.runId<e&&t.status===`complete`),{pass:f,fail:h,notGated:g,infraError:_,skipped:v}=r.summary,y=h-g,b=gv(s?.entries??[]);return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsxs)(`nav`,{className:`flex items-center gap-1.5 text-sm text-muted-foreground`,children:[(0,m.jsx)(R,{to:`/`,className:`hover:text-foreground`,children:`Runs`}),(0,m.jsx)(yx,{className:`size-3.5`}),(0,m.jsx)(`span`,{className:`truncate font-mono text-xs text-foreground`,children:e})]}),(0,m.jsx)(sE,{record:r,children:(0,m.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[d?(0,m.jsx)(fC,{asChild:!0,variant:`outline`,size:`sm`,children:(0,m.jsxs)(R,{to:`/compare`,search:{base:d.runId,head:e},children:[(0,m.jsx)(yS,{}),` Compare with previous`]})}):null,r.git?(0,m.jsx)(_w,{value:`reeval checkout ${e}`,label:`reeval checkout`}):null]})}),(0,m.jsx)(`p`,{className:`text-sm leading-relaxed`,children:$y(r)}),b?(0,m.jsxs)(`p`,{className:`rounded-lg border bg-muted/40 p-3 text-sm leading-relaxed`,children:[(0,m.jsxs)(`span`,{className:`font-semibold`,children:[`TL;DR (`,b.doc.analysis.confidence.overall,`). `]}),b.doc.analysis.tldr]}):null,(0,m.jsx)(cE,{warnings:r.plan.sandboxWarnings}),(0,m.jsxs)(`div`,{className:`rounded-xl border bg-card p-4`,children:[(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2 text-sm`,children:[(0,m.jsxs)(`span`,{children:[(0,m.jsx)(`span`,{className:`font-semibold`,children:f}),` passed`,y?(0,m.jsxs)(m.Fragment,{children:[` · `,(0,m.jsx)(`span`,{className:`font-semibold text-fail`,children:y}),` failed`]}):null,g?(0,m.jsxs)(m.Fragment,{children:[` · `,(0,m.jsx)(`span`,{className:`font-semibold`,children:g}),` missed, not gated`]}):null,_?(0,m.jsxs)(m.Fragment,{children:[` · `,(0,m.jsx)(`span`,{className:`font-semibold text-infra`,children:_}),` infra errors`]}):null,v?` · ${v} skipped`:``,(0,m.jsxs)(`span`,{className:`text-muted-foreground`,children:[` `,`across `,CC(r.summary.evals,`eval`),`,`,` `,CC(r.summary.attempts,`attempt`)]})]}),(0,m.jsxs)(`span`,{className:`font-mono text-xs text-muted-foreground`,children:[r.stack.harnesses.map(e=>e.id).join(`, `),` · judge`,` `,r.config.judgeModel??`none`,r.profile?` · profile ${r.profile.name}`:``]})]}),(0,m.jsx)(UC,{className:`mt-3 h-2`,pass:f,fail:y,missed:g,infra:_,skipped:v})]}),(0,m.jsxs)(YC,{value:t.tab??`evals`,onValueChange:e=>n({search:t=>({...t,tab:e===`analysis`?`analysis`:void 0}),replace:!0}),children:[(0,m.jsxs)(ZC,{children:[(0,m.jsx)(QC,{value:`evals`,children:`Evals`}),(0,m.jsx)(QC,{value:`analysis`,children:`Analysis`})]}),(0,m.jsx)($C,{value:`evals`,className:`mt-4`,children:r.evals.length===0?(0,m.jsx)(AC,{icon:DS,title:`No evals ran`,children:`This run matched no evals, so there's nothing to show.`}):(0,m.jsxs)(`div`,{className:`grid grid-cols-1 gap-6 lg:grid-cols-[340px_minmax(0,1fr)]`,children:[(0,m.jsx)(`aside`,{className:`min-w-0 lg:sticky lg:top-20 lg:self-start`,children:(0,m.jsxs)(`div`,{className:`rounded-xl border bg-card`,children:[(0,m.jsxs)(`div`,{className:`flex items-center justify-between border-b px-3 py-2`,children:[(0,m.jsx)(`span`,{className:`text-sm font-medium`,children:`Evals`}),(0,m.jsx)(`div`,{className:`inline-flex rounded-md bg-muted p-0.5 text-xs`,children:[[void 0,`All`],[`failed`,`Failing`]].map(([e,r])=>(0,m.jsx)(`button`,{type:`button`,onClick:()=>n({search:t=>({...t,show:e}),replace:!0}),className:Z(`rounded px-2 py-0.5`,t.show===e?`bg-background shadow-sm`:`text-muted-foreground`),children:r},r))})]}),(0,m.jsx)(`div`,{className:`max-h-[60vh] overflow-y-auto p-1.5 lg:max-h-[calc(100dvh-14rem)]`,children:l.length===0?(0,m.jsx)(`p`,{className:`px-3 py-6 text-center text-sm text-muted-foreground`,children:`Nothing failed in this run.`}):l.map(e=>(0,m.jsx)(lE,{node:e,depth:0,selected:u?.slug,onSelect:e=>n({search:t=>({...t,eval:e}),replace:!0})},e.key))})]})}),(0,m.jsx)(`section`,{className:`min-w-0 rounded-xl border bg-card p-5`,children:u?(0,m.jsx)(gE,{record:r,entry:u}):null})]})}),(0,m.jsx)($C,{value:`analysis`,className:`mt-4`,children:(0,m.jsx)(`section`,{className:`rounded-xl border bg-card p-5`,children:(0,m.jsx)(iE,{runId:e})})})]}),(0,m.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Started `,bC(r.startedAt),` · artifacts: `,r.artifacts,` · reeval`,` `,r.stack.es]})]})}var vE=la(`/`);function yE({entry:e}){if(e.ci){let t=(0,m.jsxs)(RC,{variant:`secondary`,className:`gap-1 font-normal`,children:[(0,m.jsx)(lx,{}),` `,e.ci.provider]});return e.ci.runUrl?(0,m.jsx)(`a`,{href:e.ci.runUrl,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),children:t}):t}return(0,m.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-muted-foreground`,children:[(0,m.jsx)(aC,{className:`size-3.5`}),e.author]})}function bE({hasScratch:e}){let t=vE.useSearch(),n=Ki({from:`/`}),r=e=>n({search:t=>({...t,...e}),replace:!0}),i=({value:e,label:n})=>(0,m.jsx)(`button`,{type:`button`,onClick:()=>r({status:e}),className:Z(`rounded-md px-3 py-1 text-sm transition-colors`,t.status===e?`bg-background text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`),children:n});return(0,m.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center`,children:[(0,m.jsxs)(`div`,{className:`relative sm:w-80`,children:[(0,m.jsx)(GS,{className:`pointer-events-none absolute top-1/2 left-2.5 size-4 -translate-y-1/2 text-muted-foreground`}),(0,m.jsx)(nw,{value:t.q??``,onChange:e=>r({q:e.target.value||void 0}),placeholder:`Filter by branch, commit, author or run id`,className:`h-9 pl-8`})]}),(0,m.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,m.jsxs)(`div`,{className:`inline-flex rounded-lg bg-muted p-0.5`,children:[(0,m.jsx)(i,{value:void 0,label:`All`}),(0,m.jsx)(i,{value:`failed`,label:`Failing`}),(0,m.jsx)(i,{value:`passed`,label:`Passing`})]}),e?(0,m.jsx)(`div`,{className:`inline-flex rounded-lg bg-muted p-0.5`,children:[[void 0,`Everything`],[`recorded`,`Recorded`],[`scratch`,`Scratch`]].map(([e,n])=>(0,m.jsx)(`button`,{type:`button`,onClick:()=>r({source:e}),className:Z(`rounded-md px-3 py-1 text-sm transition-colors`,t.source===e?`bg-background text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`),children:n},n))}):null]})]})}function xE({rows:e}){let t=e.slice(0,30).reverse();return(0,m.jsx)(`div`,{className:`flex h-10 items-end gap-[3px]`,children:t.map(e=>{let t=e.total?e.passed/e.total:0;return(0,m.jsxs)(fv,{children:[(0,m.jsx)(pv,{asChild:!0,children:(0,m.jsx)(R,{to:`/runs/$runId`,params:{runId:e.entry.runId},className:`group flex h-full w-2 flex-col justify-end sm:w-2.5`,children:(0,m.jsx)(`div`,{className:Z(`w-full rounded-sm transition-opacity group-hover:opacity-70`,t>=.999?`bg-pass`:t===0?`bg-fail`:`bg-infra`),style:{height:`${Math.max(12,t*100)}%`}})})}),(0,m.jsxs)(mv,{children:[Uy(e.total?t:null),` · `,Jy(e.entry.git?.sha),` ·`,` `,bC(e.entry.startedAt)]})]},e.entry.runId)})})}function SE({label:e,children:t}){return(0,m.jsxs)(`div`,{className:`rounded-xl border bg-card px-4 py-3`,children:[(0,m.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e}),(0,m.jsx)(`div`,{className:`mt-1 text-lg font-semibold tracking-tight`,children:t})]})}function CE(){let e=vE.useSearch(),t=Ki(),{data:n}=Nb(),{data:r,error:i,isPending:a}=et(Db),{runs:o}=Fb(),s=(0,p.useMemo)(()=>r?eb(r.headers):[],[r]),c=(0,p.useMemo)(()=>{let t=e.q?.toLowerCase();return s.filter(({entry:n})=>e.status===`failed`&&Xy(n)===`pass`||e.status===`passed`&&Xy(n)!==`pass`||e.source===`recorded`&&!n.recorded||e.source===`scratch`&&n.recorded?!1:!t||[n.runId,n.author,n.git?.branch??``,n.git?.sha??``,n.ci?.provider??``].join(` `).toLowerCase().includes(t))},[s,e]);if(i)return(0,m.jsx)(jC,{error:i});if(a)return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsx)(PC,{}),(0,m.jsx)(NC,{rows:8})]});let l=s[0],u=s.some(e=>!e.entry.recorded);return(0,m.jsxs)(`div`,{className:`space-y-6`,children:[(0,m.jsxs)(`div`,{className:`flex flex-col gap-4 lg:flex-row lg:items-end lg:justify-between`,children:[(0,m.jsxs)(`div`,{children:[(0,m.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight`,children:`Runs`}),(0,m.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:s.length?`${CC(s.length,`run`)} · ${CC(r.manifest.evals.length,`eval`)} tracked`:`Every recorded run of this project, newest first.`})]}),s.length>1?(0,m.jsx)(xE,{rows:s}):null]}),(0,m.jsx)(HT,{runs:o.filter(e=>!s.some(t=>t.entry.runId===e.runId))}),s.length===0&&o.length?null:s.length===0?(0,m.jsxs)(AC,{icon:LS,title:`No runs yet`,children:[`Record one with `,(0,m.jsx)(MC,{children:`reeval run --record`}),`, or promote your latest scratch run with`,` `,(0,m.jsx)(MC,{children:`reeval record latest`}),`.`,` `,n?.mode===`live`?`It shows up here as soon as it lands.`:``]}):(0,m.jsxs)(m.Fragment,{children:[l?(0,m.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 md:grid-cols-4`,children:[(0,m.jsx)(SE,{label:`Latest run`,children:(0,m.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,m.jsx)(VC,{outcome:Xy(l.entry),className:`size-5`}),bC(l.entry.startedAt)]})}),(0,m.jsxs)(SE,{label:`Latest pass rate`,children:[Uy(l.total?l.passed/l.total:null),(0,m.jsxs)(`span`,{className:`ml-1.5 text-sm font-normal text-muted-foreground`,children:[l.passed,`/`,l.total]})]}),(0,m.jsxs)(SE,{label:`Failing runs`,children:[s.filter(e=>Xy(e.entry)!==`pass`).length,(0,m.jsxs)(`span`,{className:`ml-1.5 text-sm font-normal text-muted-foreground`,children:[`of `,s.length]})]}),(0,m.jsx)(SE,{label:`Branches`,children:new Set(s.map(e=>e.entry.git?.branch??`–`)).size})]}):null,(0,m.jsx)(bE,{hasScratch:u}),c.length===0?(0,m.jsxs)(AC,{icon:GS,title:`No runs match`,children:[`Try a different filter, or clear it to see all `,s.length,` runs.`]}):(0,m.jsx)(`div`,{className:`overflow-hidden rounded-xl border bg-card`,children:(0,m.jsxs)(gT,{children:[(0,m.jsx)(_T,{children:(0,m.jsxs)(yT,{className:`hover:bg-transparent`,children:[(0,m.jsx)($,{className:`w-10`}),(0,m.jsx)($,{children:`Run`}),(0,m.jsx)($,{children:`Commit`}),(0,m.jsx)($,{className:`hidden md:table-cell`,children:`Who`}),(0,m.jsx)($,{className:`w-44`,children:`Result`}),(0,m.jsx)($,{className:`hidden text-right lg:table-cell`,children:`Tokens`}),(0,m.jsx)($,{className:`hidden text-right sm:table-cell`,children:`Duration`}),(0,m.jsx)($,{className:`w-24`})]})}),(0,m.jsx)(vT,{children:c.map(e=>{let{entry:n}=e;return(0,m.jsxs)(yT,{className:`cursor-pointer`,onClick:()=>t({to:`/runs/$runId`,params:{runId:n.runId}}),children:[(0,m.jsx)(bT,{className:`pl-4`,children:(0,m.jsx)(VC,{outcome:Xy(n)})}),(0,m.jsxs)(bT,{children:[(0,m.jsx)(R,{to:`/runs/$runId`,params:{runId:n.runId},className:`font-medium hover:underline`,onClick:e=>e.stopPropagation(),children:(0,m.jsx)(`span`,{title:SC(n.startedAt),children:bC(n.startedAt)})}),(0,m.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-1.5`,children:[(0,m.jsx)(`span`,{className:`font-mono text-[11px] text-muted-foreground`,children:n.runId}),n.recorded?null:(0,m.jsx)(RC,{variant:`outline`,className:`h-4 px-1.5 text-[10px] text-muted-foreground`,children:`scratch`}),n.status===`interrupted`?(0,m.jsx)(RC,{variant:`outline`,className:`h-4 px-1.5 text-[10px] text-infra`,children:`interrupted`}):null]})]}),(0,m.jsxs)(bT,{children:[(0,m.jsxs)(`div`,{className:`flex items-center gap-1.5 font-mono text-xs`,children:[Jy(n.git?.sha),n.git?.dirty?(0,m.jsx)(`span`,{className:`size-1.5 rounded-full bg-infra`,title:`Uncommitted changes`}):null]}),n.git?.branch?(0,m.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-1 text-xs text-muted-foreground`,children:[(0,m.jsx)(hS,{className:`size-3`}),(0,m.jsx)(`span`,{className:`max-w-40 truncate`,children:n.git.branch})]}):null]}),(0,m.jsx)(bT,{className:`hidden md:table-cell`,children:(0,m.jsx)(yE,{entry:n})}),(0,m.jsxs)(bT,{children:[(0,m.jsx)(`div`,{className:`flex items-center justify-between gap-2 text-xs`,children:(0,m.jsxs)(`span`,{className:`tabular font-medium`,children:[e.passed,`/`,e.total,(0,m.jsx)(`span`,{className:`ml-1 font-normal text-muted-foreground`,children:`passed`})]})}),(0,m.jsx)(UC,{className:`mt-1.5`,pass:n.summary.pass,fail:n.summary.fail-n.summary.notGated,missed:n.summary.notGated,infra:n.summary.infraError,skipped:n.summary.skipped})]}),(0,m.jsx)(bT,{className:`tabular hidden text-right text-muted-foreground lg:table-cell`,children:qy(n.usage)??`–`}),(0,m.jsx)(bT,{className:`tabular hidden text-right text-muted-foreground sm:table-cell`,children:Hy(n.durationMs)}),(0,m.jsx)(bT,{className:`pr-4 text-right`,children:(0,m.jsx)(qC,{changes:e.drift,evals:e.changedEvals})})]},n.runId)})})]})})]})]})}var wE=e=>typeof e==`string`&&e?e:void 0,TE=(e,t)=>e.includes(t)?t:void 0,EE=pa()({component:OC,notFoundComponent:ZT}),DE=fa({getParentRoute:()=>EE,path:`/`,validateSearch:e=>({q:wE(e.q),status:TE([`passed`,`failed`],e.status),source:TE([`recorded`,`scratch`],e.source)}),loader:({context:e})=>e.queryClient.prefetchQuery(Db),component:CE}),OE=fa({getParentRoute:()=>EE,path:`/runs/$runId`,validateSearch:e=>({eval:wE(e.eval),show:TE([`failed`],e.show),tab:TE([`analysis`],e.tab)}),loader:({context:e,params:t})=>e.queryClient.prefetchQuery(Ob(t.runId)),component:_E}),kE=fa({getParentRoute:()=>EE,path:`/runs/$runId/evals/$slug/attempts/$attempt`,validateSearch:e=>({tab:TE(iT,e.tab)}),loader:({context:e,params:t})=>e.queryClient.prefetchQuery(Ob(t.runId)),component:cT}),AE=fa({getParentRoute:()=>EE,path:`/live/$runId`,component:YT}),jE=fa({getParentRoute:()=>EE,path:`/live/$runId/attempt`,validateSearch:e=>({key:wE(e.key)}),component:XT}),ME=fa({getParentRoute:()=>EE,path:`/evals`,validateSearch:e=>({q:wE(e.q)}),component:PT}),NE=fa({getParentRoute:()=>EE,path:`/evals/$slug`,component:MT}),PE=fa({getParentRoute:()=>EE,path:`/compare`,validateSearch:e=>({base:wE(e.base),head:wE(e.head)}),component:AT}),FE=EE.addChildren([DE,OE,kE,AE,jE,ME,NE,PE]);function IE(e){return Ma({routeTree:FE,history:Vn(),context:{queryClient:e},defaultPreload:`intent`,defaultPreloadStaleTime:0,scrollRestoration:!0})}Ub();var LE=new Ve({defaultOptions:{queries:{staleTime:3e4,refetchOnWindowFocus:!0,retry:(e,t)=>!(t instanceof Sb)&&e<2}}}),RE=IE(LE);(0,Lg.createRoot)(document.getElementById(`root`)).render((0,m.jsx)(p.StrictMode,{children:(0,m.jsx)(_,{client:LE,children:(0,m.jsx)(dv,{delayDuration:200,children:(0,m.jsx)(Fa,{router:RE})})})}));
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<meta name="referrer" content="no-referrer" />
|
|
7
7
|
<link rel="icon" type="image/svg+xml" href="./favicon.svg" />
|
|
8
8
|
<title>reeval Studio</title>
|
|
9
|
-
<script type="module" crossorigin src="./assets/index-
|
|
9
|
+
<script type="module" crossorigin src="./assets/index-Bbl0oTxu.js"></script>
|
|
10
10
|
<link rel="stylesheet" crossorigin href="./assets/index-CUx6GoL5.css">
|
|
11
11
|
</head>
|
|
12
12
|
<body>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as clip, r as formatDuration } from "./text-gEcKjAyp.js";
|
|
2
|
-
import { B as cellContrast, E as runtimeLabel, G as effortLabel, L as judgeRatesLabel, M as cellJudgeRates, N as cellUsage, b as isUngatedMiss, g as harnessLabel, h as formatUsage, x as languageLabel } from "./model-
|
|
3
|
-
import { o as warnings } from "./state-
|
|
2
|
+
import { B as cellContrast, E as runtimeLabel, G as effortLabel, L as judgeRatesLabel, M as cellJudgeRates, N as cellUsage, b as isUngatedMiss, g as harnessLabel, h as formatUsage, x as languageLabel } from "./model-DyQbu7KF.js";
|
|
3
|
+
import { o as warnings } from "./state-DEj_utaE.js";
|
|
4
4
|
//#region src/history/summary.ts
|
|
5
5
|
const OUTCOME_MARK = {
|
|
6
6
|
pass: "✓",
|
|
@@ -193,4 +193,4 @@ function attemptDetail(lines, a) {
|
|
|
193
193
|
//#endregion
|
|
194
194
|
export { liftLabel as a, stateRows as c, gateLabel as i, summaryCounts as l, answersLabel as n, renderSummary as o, cellCounts as r, repeatsVerdict as s, OUTCOME_MARK as t };
|
|
195
195
|
|
|
196
|
-
//# sourceMappingURL=summary
|
|
196
|
+
//# sourceMappingURL=summary--FBuB_sr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary
|
|
1
|
+
{"version":3,"file":"summary--FBuB_sr.js","names":[],"sources":["../src/history/summary.ts"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { l as writeCached } from "./files-
|
|
1
|
+
import { l as writeCached } from "./files-BSMSnQMa.js";
|
|
2
2
|
import { a as providerModel } from "./model-Cp6NoAT3.js";
|
|
3
|
-
import { r as fromRecorded, t as attemptSummary } from "./tools-
|
|
4
|
-
import { n as allRuns } from "./commands-
|
|
5
|
-
import { a as failedAnalysis, i as defaultBase, o as prepareAnalysis, s as promptOf, t as analyseDigest } from "./command-
|
|
3
|
+
import { r as fromRecorded, t as attemptSummary } from "./tools-CJHw-zCo.js";
|
|
4
|
+
import { n as allRuns } from "./commands-BA_NCh2h.js";
|
|
5
|
+
import { a as failedAnalysis, i as defaultBase, o as prepareAnalysis, s as promptOf, t as analyseDigest } from "./command-D6r2pwO5.js";
|
|
6
6
|
import { join } from "node:path";
|
|
7
7
|
import { z } from "zod";
|
|
8
8
|
import { generateText, stepCountIs, tool } from "ai";
|
|
@@ -189,4 +189,4 @@ function fakeSummaryModel(p) {
|
|
|
189
189
|
//#endregion
|
|
190
190
|
export { writeRunSummary };
|
|
191
191
|
|
|
192
|
-
//# sourceMappingURL=summary-
|
|
192
|
+
//# sourceMappingURL=summary-D012KlUM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary-
|
|
1
|
+
{"version":3,"file":"summary-D012KlUM.js","names":[],"sources":["../src/analysis/agent/summary.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
//#region src/history/tool-target.ts
|
|
2
|
+
/** Tools that load a skill by name instead of opening `skills/<name>/`. */
|
|
3
|
+
const SKILL_LOAD_TOOLS = /* @__PURE__ */ new Set([
|
|
4
|
+
"skill",
|
|
5
|
+
"Skill",
|
|
6
|
+
"load_skill"
|
|
7
|
+
]);
|
|
8
|
+
/**
|
|
9
|
+
* A tool call's target: a dedicated skill load's id or name, else its path, pattern,
|
|
10
|
+
* command or URL, else its input, capped.
|
|
11
|
+
*/
|
|
12
|
+
function toolTarget(input, tool) {
|
|
13
|
+
if (typeof input !== "object" || input === null) return String(input ?? "").slice(0, 300);
|
|
14
|
+
const i = input;
|
|
15
|
+
if (tool && SKILL_LOAD_TOOLS.has(tool)) {
|
|
16
|
+
if (typeof i.id === "string") return i.id.slice(0, 300);
|
|
17
|
+
if (typeof i.name === "string") return i.name.slice(0, 300);
|
|
18
|
+
}
|
|
19
|
+
for (const key of [
|
|
20
|
+
"path",
|
|
21
|
+
"file_path",
|
|
22
|
+
"filePath",
|
|
23
|
+
"pattern",
|
|
24
|
+
"glob_pattern",
|
|
25
|
+
"command",
|
|
26
|
+
"url",
|
|
27
|
+
"query"
|
|
28
|
+
]) if (typeof i[key] === "string") return i[key].slice(0, 300);
|
|
29
|
+
return JSON.stringify(input).slice(0, 300);
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { toolTarget as n, SKILL_LOAD_TOOLS as t };
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=tool-target-BU1JnSE9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-target-BU1JnSE9.js","names":[],"sources":["../src/history/tool-target.ts"],"mappings":";;AACA,MAAa,mCAAmB,IAAI,IAAI;CAAC;CAAS;CAAS;AAAY,CAAC;;;;;AAMxE,SAAgB,WAAW,OAAgB,MAAuB;CAChE,IAAI,OAAO,UAAU,YAAY,UAAU,MAAM,OAAO,OAAO,SAAS,EAAE,CAAC,CAAC,MAAM,GAAG,GAAG;CACxF,MAAM,IAAI;CACV,IAAI,QAAQ,iBAAiB,IAAI,IAAI,GAAG;EACtC,IAAI,OAAO,EAAE,OAAO,UAAU,OAAO,EAAE,GAAG,MAAM,GAAG,GAAG;EACtD,IAAI,OAAO,EAAE,SAAS,UAAU,OAAO,EAAE,KAAK,MAAM,GAAG,GAAG;CAC5D;CACA,KAAK,MAAM,OAAO;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,GACE,IAAI,OAAO,EAAE,SAAS,UAAU,OAAQ,EAAE,IAAI,CAAY,MAAM,GAAG,GAAG;CAExE,OAAO,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,GAAG,GAAG;AAC3C"}
|