reeval 0.6.3 → 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.
Files changed (174) hide show
  1. package/README.md +265 -0
  2. package/THIRD_PARTY_NOTICES.md +5 -5
  3. package/assets/package.json +1 -1
  4. package/assets/pnpm-lock.yaml +30 -307
  5. package/dist/{agent-DKuFnZPM.js → agent-Dhd5FJCZ.js} +4 -4
  6. package/dist/{agent-DKuFnZPM.js.map → agent-Dhd5FJCZ.js.map} +1 -1
  7. package/dist/{agent-oirN_8IS.js → agent-gjBiZis8.js} +4 -4
  8. package/dist/{agent-oirN_8IS.js.map → agent-gjBiZis8.js.map} +1 -1
  9. package/dist/assemble-D8sZ4Jiv.js +2 -0
  10. package/dist/{assemble-DYCDgbTq.js → assemble-Dd_mZYnu.js} +109 -7
  11. package/dist/assemble-Dd_mZYnu.js.map +1 -0
  12. package/dist/bridge/index.mjs +66 -7
  13. package/dist/bridge/package.json +3 -3
  14. package/dist/bridge/pnpm-lock.yaml +84 -89
  15. package/dist/{cli-BIhzl_v_.js → cli-r9CDqoFL.js} +139 -186
  16. package/dist/cli-r9CDqoFL.js.map +1 -0
  17. package/dist/{cli-spec-DUeyuSIQ.js → cli-spec-DOyxAMc2.js} +22 -9
  18. package/dist/cli-spec-DOyxAMc2.js.map +1 -0
  19. package/dist/cli.js +2 -2
  20. package/dist/{matchers-Bp-OH1vj.js → client-LsfDiD-X.js} +152 -76
  21. package/dist/client-LsfDiD-X.js.map +1 -0
  22. package/dist/{command-KoOJ0ntD.js → command-Cej2t3y-.js} +9 -9
  23. package/dist/{command-KoOJ0ntD.js.map → command-Cej2t3y-.js.map} +1 -1
  24. package/dist/command-Cxfgghqo.js +2 -0
  25. package/dist/{command-DuJBqcwu.js → command-D6r2pwO5.js} +10 -10
  26. package/dist/{command-DuJBqcwu.js.map → command-D6r2pwO5.js.map} +1 -1
  27. package/dist/{command-B8tcwUJk.js → command-DMR69l5G.js} +12 -12
  28. package/dist/{command-B8tcwUJk.js.map → command-DMR69l5G.js.map} +1 -1
  29. package/dist/{command-fJpZK205.js → command-l4ZFCeMh.js} +6 -6
  30. package/dist/{command-fJpZK205.js.map → command-l4ZFCeMh.js.map} +1 -1
  31. package/dist/{commands-CHdTfPB6.js → commands-BA_NCh2h.js} +6 -6
  32. package/dist/{commands-CHdTfPB6.js.map → commands-BA_NCh2h.js.map} +1 -1
  33. package/dist/{commands-DE604ldB.js → commands-DgOUkcSO.js} +1 -1
  34. package/dist/{config-7-gXOgQf.js → config-DuQDCx0B.js} +3 -3
  35. package/dist/{config-7-gXOgQf.js.map → config-DuQDCx0B.js.map} +1 -1
  36. package/dist/{db-DvkzBhM6.js → db-CjX7JF4o.js} +12 -24
  37. package/dist/{db-DvkzBhM6.js.map → db-CjX7JF4o.js.map} +1 -1
  38. package/dist/db-o_osRkqr.js +3 -0
  39. package/dist/{dist-DsZNsoD3.js → dist-CTzThfu_.js} +3 -3
  40. package/dist/{dist-DsZNsoD3.js.map → dist-CTzThfu_.js.map} +1 -1
  41. package/dist/{docker-BBOMThRi.js → docker-DaUaG4XZ.js} +4 -4
  42. package/dist/{docker-BBOMThRi.js.map → docker-DaUaG4XZ.js.map} +1 -1
  43. package/dist/{docker-CiNVc7di.js → docker-Dnya8eo9.js} +1 -1
  44. package/dist/{docker-CzFiN2AZ.js → docker-ZaYeKE2w.js} +2 -2
  45. package/dist/{docker-CzFiN2AZ.js.map → docker-ZaYeKE2w.js.map} +1 -1
  46. package/dist/{doctor-C06kYs2r.js → doctor-Bk6aJeec.js} +10 -10
  47. package/dist/{doctor-C06kYs2r.js.map → doctor-Bk6aJeec.js.map} +1 -1
  48. package/dist/{egress-De64jpeQ.js → egress-BKbyriEa.js} +10 -10
  49. package/dist/{egress-De64jpeQ.js.map → egress-BKbyriEa.js.map} +1 -1
  50. package/dist/{files-BqIF7iu4.js → files-BSMSnQMa.js} +2 -2
  51. package/dist/{files-BqIF7iu4.js.map → files-BSMSnQMa.js.map} +1 -1
  52. package/dist/files-DmZGPsWK.js +2 -0
  53. package/dist/{files-Cq99wif-.js → files-TNrZJQ3Y.js} +15 -4
  54. package/dist/{files-Cq99wif-.js.map → files-TNrZJQ3Y.js.map} +1 -1
  55. package/dist/files-Tb8wY0Ze.js +2 -0
  56. package/dist/{git-Dnl-kXgD.js → git-DNGtrOg9.js} +2 -2
  57. package/dist/{git-Dnl-kXgD.js.map → git-DNGtrOg9.js.map} +1 -1
  58. package/dist/{harness-3QUEWx8G.js → harness-CDRaaGvR.js} +2 -2
  59. package/dist/{harness-3QUEWx8G.js.map → harness-CDRaaGvR.js.map} +1 -1
  60. package/dist/harness.d.ts +1 -1
  61. package/dist/harness.js +1 -1
  62. package/dist/{header-IE-uIvX0.js → header-BZF8Xss1.js} +2 -2
  63. package/dist/{header-IE-uIvX0.js.map → header-BZF8Xss1.js.map} +1 -1
  64. package/dist/{images-B8Mp_VXZ.js → images-BpwFDT1E.js} +6 -6
  65. package/dist/{images-B8Mp_VXZ.js.map → images-BpwFDT1E.js.map} +1 -1
  66. package/dist/index.d.ts +12 -7
  67. package/dist/index.js +24 -17
  68. package/dist/index.js.map +1 -1
  69. package/dist/init-1THeGfut.js +2 -0
  70. package/dist/{init-B8mw86E6.js → init-CBWt1rZT.js} +4 -4
  71. package/dist/{init-B8mw86E6.js.map → init-CBWt1rZT.js.map} +1 -1
  72. package/dist/{invocations-DHC946b-.js → invocations-DArYWyXN.js} +2 -2
  73. package/dist/{invocations-DHC946b-.js.map → invocations-DArYWyXN.js.map} +1 -1
  74. package/dist/judge.d.ts +1 -1
  75. package/dist/model-D_pF3Vcl.js +2 -0
  76. package/dist/{model-CtrJdFi6.js → model-DyQbu7KF.js} +113 -3
  77. package/dist/model-DyQbu7KF.js.map +1 -0
  78. package/dist/{opencode-providers-DjlA5fuC.js → opencode-providers-ByD85Q0l.js} +21 -7
  79. package/dist/{opencode-providers-DjlA5fuC.js.map → opencode-providers-ByD85Q0l.js.map} +1 -1
  80. package/dist/{options-CWYB613o.js → options-Ge_x32XE.js} +3 -3
  81. package/dist/{options-CWYB613o.js.map → options-Ge_x32XE.js.map} +1 -1
  82. package/dist/{plan-CsPE24pp.js → plan-BqBadHYj.js} +14 -7
  83. package/dist/plan-BqBadHYj.js.map +1 -0
  84. package/dist/{preflight-DKZjb7ZH.js → preflight-CFtZNTLt.js} +1 -1
  85. package/dist/{preflight-r0DgibQV.js → preflight-CyaAZE9r.js} +3 -3
  86. package/dist/{preflight-r0DgibQV.js.map → preflight-CyaAZE9r.js.map} +1 -1
  87. package/dist/{prepare-DOkvAa9D.js → prepare-Dl7-t3fO.js} +2 -2
  88. package/dist/{prepare-CTLg3nuk.js → prepare-Zr1xOMUX.js} +4 -4
  89. package/dist/{prepare-CTLg3nuk.js.map → prepare-Zr1xOMUX.js.map} +1 -1
  90. package/dist/{provenance--cVNo80L.js → provenance-Byl2T6LJ.js} +2 -2
  91. package/dist/{provenance--cVNo80L.js.map → provenance-Byl2T6LJ.js.map} +1 -1
  92. package/dist/{providers-DNLQzVnc.js → providers-Cflw7Ks-.js} +3 -3
  93. package/dist/{providers-DNLQzVnc.js.map → providers-Cflw7Ks-.js.map} +1 -1
  94. package/dist/{providers-B2cSfewm.js → providers-SBMExI53.js} +1 -1
  95. package/dist/query-CvutWHaL.js +2 -0
  96. package/dist/{query-DTtIZaua.js → query-DUSLlic0.js} +2 -2
  97. package/dist/{query-DTtIZaua.js.map → query-DUSLlic0.js.map} +1 -1
  98. package/dist/results-owJR-NFm.js +52 -0
  99. package/dist/results-owJR-NFm.js.map +1 -0
  100. package/dist/resume-BL4Yw7Ld.js +406 -0
  101. package/dist/resume-BL4Yw7Ld.js.map +1 -0
  102. package/dist/sandbox.d.ts +1 -1
  103. package/dist/server-CNPsB0cT.js +2 -0
  104. package/dist/{server-BFlKK2j6.js → server-yFVUxAm0.js} +6 -6
  105. package/dist/{server-BFlKK2j6.js.map → server-yFVUxAm0.js.map} +1 -1
  106. package/dist/source-Cmc5SKFn.js +2 -0
  107. package/dist/{source-B2ASbTdc.js → source-M3gS517R.js} +2 -2
  108. package/dist/{source-B2ASbTdc.js.map → source-M3gS517R.js.map} +1 -1
  109. package/dist/{src-Bo8GFUXg.js → src--L8B4WGa.js} +1 -1
  110. package/dist/{src-zOeHvrzR.js → src-79JhW-zG.js} +13 -13
  111. package/dist/{src-zOeHvrzR.js.map → src-79JhW-zG.js.map} +1 -1
  112. package/dist/{src-BoziVhKa.js → src-BLN459er.js} +1 -1
  113. package/dist/src-Bz66jDtE.js +3 -0
  114. package/dist/{src-CPkDaNxp.js → src-CfUwg9UY.js} +1 -1
  115. package/dist/{src-BHFNhTTQ.js → src-CokPbYCb.js} +45 -45
  116. package/dist/{src-BHFNhTTQ.js.map → src-CokPbYCb.js.map} +1 -1
  117. package/dist/{src-CDiGyoDt.js → src-DH0jhpoi.js} +1 -1
  118. package/dist/{src-CVoCJjEe.js → src-DTcalvuF.js} +2 -2
  119. package/dist/{src-CVoCJjEe.js.map → src-DTcalvuF.js.map} +1 -1
  120. package/dist/src-DV_3QDHA.js +4 -0
  121. package/dist/{src-CqsERnCZ.js → src-IOr1rhEg.js} +4 -4
  122. package/dist/{src-CqsERnCZ.js.map → src-IOr1rhEg.js.map} +1 -1
  123. package/dist/src-Ljh2vKXm.js +3 -0
  124. package/dist/{state-DBKcUJ2u.js → state-DEj_utaE.js} +10 -10
  125. package/dist/{state-DBKcUJ2u.js.map → state-DEj_utaE.js.map} +1 -1
  126. package/dist/state-DkqbCVVp.js +2 -0
  127. package/dist/studio-app/assets/{index-WQPq5K3E.js → index-Bbl0oTxu.js} +1 -1
  128. package/dist/studio-app/index.html +1 -1
  129. package/dist/{summary-CahgSiVt.js → summary--FBuB_sr.js} +3 -3
  130. package/dist/{summary-CahgSiVt.js.map → summary--FBuB_sr.js.map} +1 -1
  131. package/dist/{summary-BBABbon9.js → summary-D012KlUM.js} +5 -5
  132. package/dist/{summary-BBABbon9.js.map → summary-D012KlUM.js.map} +1 -1
  133. package/dist/tool-target-BU1JnSE9.js +34 -0
  134. package/dist/tool-target-BU1JnSE9.js.map +1 -0
  135. package/dist/{tools-53YHomyk.js → tools-CJHw-zCo.js} +3 -3
  136. package/dist/{tools-53YHomyk.js.map → tools-CJHw-zCo.js.map} +1 -1
  137. package/dist/{types-CoAfC-_k.d.ts → types-BsRSknLe.d.ts} +5 -4
  138. package/dist/view/index.d.ts +1 -1
  139. package/dist/view/index.js +2 -2
  140. package/dist/{views-Drl2OXuj.js → views-jhL9Jb8A.js} +4 -4
  141. package/dist/{views-Drl2OXuj.js.map → views-jhL9Jb8A.js.map} +1 -1
  142. package/dist/views-yPmmoo8f.js +3 -0
  143. package/dist/{worker-entry-mCctDzig.js → worker-entry-OwnsrUdr.js} +72 -2
  144. package/dist/worker-entry-OwnsrUdr.js.map +1 -0
  145. package/dist/{workspace-BT4jd04k.js → workspace-C4_J0pqb.js} +3 -3
  146. package/dist/{workspace-BT4jd04k.js.map → workspace-C4_J0pqb.js.map} +1 -1
  147. package/dist/{workspace-U6M1gKzo.js → workspace-wudSz_W-.js} +1 -1
  148. package/package.json +9 -8
  149. package/dist/assemble-DYCDgbTq.js.map +0 -1
  150. package/dist/assemble-DykFydSU.js +0 -2
  151. package/dist/cli-BIhzl_v_.js.map +0 -1
  152. package/dist/cli-spec-DUeyuSIQ.js.map +0 -1
  153. package/dist/command-CwuwuKJD.js +0 -2
  154. package/dist/db-BVE1kZ2w.js +0 -2
  155. package/dist/files-Cs8tbYQY.js +0 -2
  156. package/dist/files-wUtoO5aA.js +0 -2
  157. package/dist/init-DDEpamaf.js +0 -2
  158. package/dist/matchers-Bp-OH1vj.js.map +0 -1
  159. package/dist/model-C_B5JrhL.js +0 -2
  160. package/dist/model-CtrJdFi6.js.map +0 -1
  161. package/dist/plan-CsPE24pp.js.map +0 -1
  162. package/dist/query-BWc_5Lhe.js +0 -2
  163. package/dist/results-CrFs7_In.js +0 -37
  164. package/dist/results-CrFs7_In.js.map +0 -1
  165. package/dist/server-HRUHVcHc.js +0 -2
  166. package/dist/source-Co7h89WK.js +0 -2
  167. package/dist/src-BE19tji4.js +0 -3
  168. package/dist/src-CFxHPwQA.js +0 -3
  169. package/dist/src-D-go5-qz.js +0 -4
  170. package/dist/state-BaHjYXr1.js +0 -2
  171. package/dist/stats-BNAHlNMD.js +0 -114
  172. package/dist/stats-BNAHlNMD.js.map +0 -1
  173. package/dist/views-BhGinAz_.js +0 -3
  174. 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-WQPq5K3E.js"></script>
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-CtrJdFi6.js";
3
- import { o as warnings } from "./state-DBKcUJ2u.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-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-CahgSiVt.js.map
196
+ //# sourceMappingURL=summary--FBuB_sr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"summary-CahgSiVt.js","names":[],"sources":["../src/history/summary.ts"],"mappings":"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"}
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-BqIF7iu4.js";
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-53YHomyk.js";
4
- import { n as allRuns } from "./commands-CHdTfPB6.js";
5
- import { a as failedAnalysis, i as defaultBase, o as prepareAnalysis, s as promptOf, t as analyseDigest } from "./command-DuJBqcwu.js";
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-BBABbon9.js.map
192
+ //# sourceMappingURL=summary-D012KlUM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"summary-BBABbon9.js","names":[],"sources":["../src/analysis/agent/summary.ts"],"mappings":";;;;;;;;;AA4BA,MAAM,aAAa;AAEnB,MAAa,uBAAuB;;;;;;AAOpC,SAAgB,aAAa,GAAqB,UAAkB;CAClE,IAAI,OAAO;CACX,MAAM,SAAY,UAAoC;EACpD,MAAM,OAAO,KAAK,UAAU,KAAK,CAAC,CAAC;EACnC,IAAI,OAAO,MACT,OAAO,EACL,OACE,8FACJ;EAEF,QAAQ;EACR,OAAO;CACT;CACA,MAAM,OAAO,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,MAAO,IAAI,CAAC,CAAC,IAAI,CAAC,CAAE;CACjE,OAAO;EACL,eAAe,KAAK;GAClB,aACE;GACF,aAAa,EAAE,OAAO,EACpB,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA+C,EACzE,CAAC;GACD,SAAS,OAAO,EAAE,SAAS;IACzB,MAAM,OAAO,EAAE,QAAQ,MAAM,MAAM,EAAE,OAAO,EAAE;IAC9C,IAAI,MAAM;KACR,MAAM,EAAE,UAAU,WAAW,GAAG,SAAS;KACzC,OAAO,MAAM,IAAI;IACnB;IACA,OAAO,EACL,OAAO,EAAE,OAAO,SAAS,MAAM,MAAM,EAAE,OAAO,EAAE,IAC5C,GAAG,GAAG,8BACN,uBAAuB,GAAG,aAAa,EAAE,OAAO,QAAQ,KAAK,IAAI,KAAK,OAAO,GACnF;GACF;EACF,CAAC;EACD,cAAc,KAAK;GACjB,aACE;GACF,aAAa,EAAE,OAAO,EACpB,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAqD,EAC/E,CAAC;GACD,SAAS,OAAO,EAAE,SAAS;IACzB,MAAM,IAAI,EAAE,OAAO,SAAS;IAC5B,MAAM,MAAM,KAAK,KAAK,MAAM,MAAM,EAAE,OAAO,UAAU,EAAE,KAAK;IAC5D,MAAM,SAAS,KAAK,OAAO,MAAM,SAAS,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,MAAM,EAAE,QAAQ,GAAG,GAAG;IACxF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QACjB,OAAO,EACL,OAAO,cAAc,GAAG,qBAAqB,OAAO,KAAK,EAAE,OAAO,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,GACzF;IAEF,MAAM,OAAO,MAAM,aAAa,KAAK,IAAI,KAAK,IAAI,OAAO,KAAK,GAAG,MAAM;IACvE,OAAO,MAAM;KAAE,GAAG,eAAe,IAAI;KAAG;IAAG,CAAC;GAC9C;EACF,CAAC;CACH;AACF;AAIA,MAAM,WAAW,MAAe,OAAO,MAAM,YAAY,MAAM,QAAQ,WAAW;;AAGlF,SAAgB,UAAU,OAA8B;CACtD,MAAM,KAAK,MAAM,QAAQ,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;CACjD,MAAM,WAAW,GACd,QAAQ,MAAM,EAAE,SAAS,eAAe,CAAC,CACzC,KAAK,OAAO;EAAE,GAAI,EAAE;EAA6C,UAAU;CAAE,EAAE;CAClF,IAAI,CAAC,GAAG,QAAQ,OAAO;EAAE;EAAU,MAAM;CAAG;CAC5C,OAAO;EACL;EACA,MAAM,uGAAuG,GAC1G,KAAK,MAAM,GAAG,EAAE,KAAK,GAAG,KAAK,UAAU,EAAE,KAAK,EAAE,IAAI,KAAK,UAAU,EAAE,MAAM,GAAG,CAAC,CAC/E,KAAK,IAAI;CACd;AACF;;AAGA,eAAsB,YACpB,GACA,OACA,QACsF;CACtF,MAAM,SAAS,MAAM,aAAa;EAChC,OAAO,MAAM,OAAO,iBAAiB,CAAC,IAAI,MAAM,cAAc,KAAK;EACnE,QAAQ;EACR,QAAQ,SAAS,EAAE,MAAM;EACzB,OAAO,aAAa,GAAG,OAAO,SAAS,iBAAiB,CAAC;EACzD,UAAU,YAAA,CAAyB;EACnC,cAAc,EAAE,iBACd,eAAe,IAAoB,EAAE,YAAY,OAAgB,IAAI,KAAA;EACvE,aAAa;EACb,iBAAiB,OAAO,SAAS;EACjC,YAAY;CACd,CAAC;CACD,OAAO;EACL,OAAO,OAAO,MAAM,SAAS,MAC3B,EAAE,YAAY,KAAK,OAAO;GAAE,MAAM,EAAE;GAAU,OAAO,EAAE;GAAO,QAAQ,EAAE;EAAO,EAAE,CACnF;EACA,OAAO;GACL,aAAa,OAAO,YAAY,eAAe;GAC/C,cAAc,OAAO,YAAY,gBAAgB;EACnD;CACF;AACF;;;;;AAQA,eAAsB,gBAAgB,SAId;CACtB,MAAM,EAAE,QAAQ,OAAO,UAAU;CACjC,MAAM,UAAU,MAAM,QAAQ,MAAM;CACpC,MAAM,OAAO,QAAQ,MAAM,MAAM,EAAE,UAAU,KAAK;CAClD,IAAI,CAAC,MAAM,MAAM,IAAI,MAAM,GAAG,MAAM,uBAAuB;CAC3D,MAAM,WAAW,MAAM,gBACrB,QACA,MACA,MAAM,YAAY,QAAQ,SAAS,IAAI,GACvC,IACF;CACA,MAAM,UAAU,KAAK,IAAI;CACzB,IAAI;CACJ,IAAI;EACF,MAAM,EAAE,OAAO,UAAU,MAAM,YAAY,UAAU,OAAO,MAAM;EAClE,MAAM,MAAM,cAAc,QAAQ,UAAU,OAAO,UAAU,KAAK,CAAC;EACnE,MAAM,QAAQ,GAAkB,MAAe,MAAM,OAAO,OAAO,IAAI;EACvE,IAAI,QAAQ;GACV,aAAa,KAAK,IAAI,MAAM,aAAa,MAAM,WAAW;GAC1D,cAAc,KAAK,IAAI,MAAM,cAAc,MAAM,YAAY;EAC/D;EACA,IAAI,YAAY,KAAK,IAAI,IAAI;CAC/B,SAAS,OAAO;EACd,MAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;EACrE,MAAM,MAAM,eAAe,QAAQ,UAAU,OAAO,SAAS,KAAK,IAAI,IAAI,OAAO;CACnF;CACA,MAAM,OAAO,MAAM,YAAY,OAAO,MAAM,SAAS,KAAK,GAAG;CAC7D,OAAO;EAAE;EAAK,KAAK,SAAS;EAAK;CAAK;AACxC;;;;;;AASA,SAAS,iBAAiB,GAAoC;CAC5D,MAAM,QAAQ;EACZ,aAAa;GAAE,OAAO;GAAG,SAAS;GAAG,WAAW;GAAG,YAAY;EAAE;EACjE,cAAc;GAAE,OAAO;GAAG,MAAM;GAAG,WAAW;EAAE;CAClD;CACA,MAAM,UAAU,SAAoB,YAAmC;EACrE;EACA,cAAc;GAAE,SAAS;GAAQ,KAAK,WAAW,SAAS,SAAS;EAAa;EAChF;EACA,UAAU,CAAC;EACX,UAAU,EAAE,SAAS,gBAAgB;CACvC;CACA,OAAO;EACL,sBAAsB;EACtB,UAAU;EACV,SAAS;EACT,eAAe,CAAC;EAChB,YAAY,OAAO,YAAmE;GACpF,MAAM,WAAW,QAAQ,OAAO,MAC7B,MACC,EAAE,SAAS,UACX,MAAM,QAAQ,EAAE,OAAO,KACtB,EAAE,QAAyB,MAAM,MAAM,EAAE,SAAS,aAAa,CACpE;GACA,MAAM,QAAQ,CACZ,GAAG,EAAE,OAAO,QACT,MAAM,GAAG,UAAU,CAAC,CACpB,KAAK,QAAQ;IAAE,MAAM;IAAiB,OAAO,EAAE,GAAG;GAAE,EAAE,GACzD,GAAG,OAAO,QAAQ,EAAE,OAAO,QAAQ,CAAC,CACjC,QAAQ,GAAG,OAAO,EAAE,YAAY,MAAM,CAAC,CACvC,MAAM,GAAG,UAAU,CAAC,CACpB,KAAK,CAAC,SAAS;IAAE,MAAM;IAAgB,OAAO,EAAE,GAAG;GAAE,EAAE,CAC5D;GACA,IAAI,YAAY,CAAC,MAAM,QACrB,OAAO,OACL,CAAC;IAAE,MAAM;IAAQ,MAAM,QAAQ,WAAW,kBAAkB,UAAU;GAAG,CAAC,GAC1E,MACF;GAEF,OAAO,OACL,MAAM,KAAK,GAAG,OAAO;IACnB,MAAM;IACN,YAAY,QAAQ,EAAE,KAAK,GAAG;IAC9B,UAAU,EAAE;IACZ,OAAO,KAAK,UAAU,EAAE,KAAK;GAC/B,EAAE,GACF,YACF;EACF;EACA,UAAU,YAAY;GACpB,MAAM,IAAI,MAAM,yCAAyC;EAC3D;CACF;AACF"}
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"}