@coreplane/switchboard 1.235.0 → 1.236.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/Dockerfile +11 -0
- package/dist/assets/config/config.example.yaml +9 -4
- package/dist/assets/deploy/cloudflare-memory/worker.ts +12 -0
- package/dist/assets/deploy/cloudflare-resident/Dockerfile +18 -0
- package/dist/assets/deploy/cloudflare-resident/worker.ts +115 -56
- package/dist/assets/deploy/cloudflare-sandbox/Dockerfile +11 -0
- package/dist/assets/deploy/cloudflare-sandbox/worker.ts +68 -7
- package/dist/assets/package-lock.json +212 -3
- package/dist/assets/package.json +4 -1
- package/dist/assets/source.json +3 -3
- package/dist/assets/src/core/coordinator/contract.ts +24 -4
- package/dist/assets/src/core/coordinator/driver.ts +31 -3
- package/dist/assets/src/core/runEvents.ts +36 -1
- package/dist/assets/src/core/runFriction.ts +1 -0
- package/dist/assets/src/core/ship/contract.ts +3 -1
- package/dist/assets/src/core/ship/coordinator.ts +213 -29
- package/dist/assets/src/core/trace/types.ts +5 -0
- package/dist/assets/src/execution/residentDisk.ts +21 -10
- package/dist/assets/src/execution/sandboxErrors.ts +72 -0
- package/dist/assets/src/execution/sandboxStart.ts +90 -0
- package/dist/assets/web/dist/.vite/manifest.json +437 -423
- package/dist/assets/web/dist/assets/{AppShell-lYVcj-k7.js → AppShell-DZdz_sl7.js} +1 -1
- package/dist/assets/web/dist/assets/{CostsPage-D-v8am88.js → CostsPage-BfJsol9y.js} +1 -1
- package/dist/assets/web/dist/assets/{DeliveryPage-CvlWP7Eq.js → DeliveryPage-CvInfu7y.js} +1 -1
- package/dist/assets/web/dist/assets/{NotFoundPage-BzWS4Ca1.js → NotFoundPage-d37EP8hS.js} +1 -1
- package/dist/assets/web/dist/assets/ResidentDetailPage-DQSD0SZD.js +1 -0
- package/dist/assets/web/dist/assets/ResidentsIndexPage-CZUGLen6.js +1 -0
- package/dist/assets/web/dist/assets/RunFoldRow-Bngn4GjF.js +9 -0
- package/dist/assets/web/dist/assets/{RunRoutePage-oN9GkVEA.js → RunRoutePage-a-tMrirB.js} +3 -3
- package/dist/assets/web/dist/assets/RunsIndexPage-s0VKmRda.js +1 -0
- package/dist/assets/web/dist/assets/{RunsTabs-DEICQ4FY.js → RunsTabs-CyCdOhJ2.js} +1 -1
- package/dist/assets/web/dist/assets/ScheduledPage-ByCmyrDs.js +1 -0
- package/dist/assets/web/dist/assets/SettingsPage-DhKEokGK.js +1 -0
- package/dist/assets/web/dist/assets/{StatusDot-D14iJMy7.js → StatusDot-D-BPSPpw.js} +1 -1
- package/dist/assets/web/dist/assets/{Tooltip-B0Ob5MQ4.js → Tooltip-DPDx5tXT.js} +1 -1
- package/dist/assets/web/dist/assets/UnitRoutePage-0eiekTHQ.js +1 -0
- package/dist/assets/web/dist/assets/{angular-html-Cw130Zyi.js → angular-html-Ni1Xil2G.js} +1 -1
- package/dist/assets/web/dist/assets/{angular-ts-DY1m4C2s.js → angular-ts-oCgo6p05.js} +1 -1
- package/dist/assets/web/dist/assets/{apl-W6Ty7v05.js → apl-CiWYl0gh.js} +1 -1
- package/dist/assets/web/dist/assets/{astro-DlLVHwVk.js → astro-B-VeKZ_J.js} +1 -1
- package/dist/assets/web/dist/assets/{blade-Bco3tDh4.js → blade-BIWEISKd.js} +1 -1
- package/dist/assets/web/dist/assets/{c-1LaFY_cj.js → c-DHxA5Byp.js} +1 -1
- package/dist/assets/web/dist/assets/{chapel-B-OvrOL5.js → chapel-D4qGLw-Q.js} +1 -1
- package/dist/assets/web/dist/assets/{cobol-Ch3EPlHu.js → cobol-BznX5Q-u.js} +1 -1
- package/dist/assets/web/dist/assets/{coffee-hZuITnto.js → coffee-CVr8Idlj.js} +1 -1
- package/dist/assets/web/dist/assets/{cpp-B8iRVo8m.js → cpp-wrk6NfW4.js} +1 -1
- package/dist/assets/web/dist/assets/{crystal-DKveI7lr.js → crystal-CGYWMeH1.js} +1 -1
- package/dist/assets/web/dist/assets/{css-_2_CD-rr.js → css-BgGytMsy.js} +1 -1
- package/dist/assets/web/dist/assets/{dist-pOdUzj6D.js → dist-DSkVB16z.js} +2 -2
- package/dist/assets/web/dist/assets/durationTone-DYogEPEk.js +1 -0
- package/dist/assets/web/dist/assets/{edge-BenMDPct.js → edge-CdR6AU9v.js} +1 -1
- package/dist/assets/web/dist/assets/{elixir-CBbdEqG6.js → elixir-CQRb3PZx.js} +1 -1
- package/dist/assets/web/dist/assets/{elm-DMub_2lY.js → elm-CpuA6W8B.js} +1 -1
- package/dist/assets/web/dist/assets/{erb-CI9He_Up.js → erb-CvlrblqH.js} +1 -1
- package/dist/assets/web/dist/assets/{favicon-BQsePYv5.js → favicon-CSt-qDvc.js} +1 -1
- package/dist/assets/web/dist/assets/{git-rebase-BBfhnyF8.js → git-rebase-COnovCVc.js} +1 -1
- package/dist/assets/web/dist/assets/{glimmer-js-CR9Fxrau.js → glimmer-js-C-DS4g_J.js} +1 -1
- package/dist/assets/web/dist/assets/{glimmer-ts-CwFwX_XS.js → glimmer-ts-DTkorWRI.js} +1 -1
- package/dist/assets/web/dist/assets/{glsl-Daiodp1r.js → glsl-CH51-JW7.js} +1 -1
- package/dist/assets/web/dist/assets/{graphql-DZvrsEkB.js → graphql-BO-XymNv.js} +1 -1
- package/dist/assets/web/dist/assets/{hack-BaXOzdg7.js → hack-C-N0oicf.js} +1 -1
- package/dist/assets/web/dist/assets/{haml-CMskq_VA.js → haml-BfmdtWoP.js} +1 -1
- package/dist/assets/web/dist/assets/{handlebars-Dhw_f7jD.js → handlebars-BqhO_te-.js} +1 -1
- package/dist/assets/web/dist/assets/{html-C9k99z0z.js → html-DUEZlTKV.js} +1 -1
- package/dist/assets/web/dist/assets/{html-derivative-VckPItXN.js → html-derivative-DOUJTS8A.js} +1 -1
- package/dist/assets/web/dist/assets/{http-DXU_3h9v.js → http-j7UH0Cqv.js} +1 -1
- package/dist/assets/web/dist/assets/{hurl-KU24JNdp.js → hurl-D6ZaBLJk.js} +1 -1
- package/dist/assets/web/dist/assets/indexRow-BjXBzI5Z.js +1 -0
- package/dist/assets/web/dist/assets/{java-BbZjTNgf.js → java-dugWx3wi.js} +1 -1
- package/dist/assets/web/dist/assets/{javascript-DXCdqcZZ.js → javascript-CK4GC4JO.js} +1 -1
- package/dist/assets/web/dist/assets/{jinja-pDlsjTVp.js → jinja-DrLKIyKG.js} +1 -1
- package/dist/assets/web/dist/assets/{jison-DsXDk66e.js → jison-CS1Th-TO.js} +1 -1
- package/dist/assets/web/dist/assets/{json-tCxXfRgG.js → json-CkBqdVys.js} +1 -1
- package/dist/assets/web/dist/assets/{jsx-B0ZYkCmi.js → jsx-CCxdg7n3.js} +1 -1
- package/dist/assets/web/dist/assets/{julia-BLzzeI6x.js → julia-BalKW2hA.js} +1 -1
- package/dist/assets/web/dist/assets/{just-DvD2_60c.js → just-BKw1G40D.js} +1 -1
- package/dist/assets/web/dist/assets/{latex-511zn3h7.js → latex-Dfad6ZN-.js} +1 -1
- package/dist/assets/web/dist/assets/{liquid-BD0BkMox.js → liquid-f_CMGBvd.js} +1 -1
- package/dist/assets/web/dist/assets/{indexFormat-B-pd4r7Y.js → localIso-CNA-bhS-.js} +1 -1
- package/dist/assets/web/dist/assets/{lua-NFicKm6N.js → lua-BcMK_uKM.js} +1 -1
- package/dist/assets/web/dist/assets/main-B77vAZVg.css +1 -0
- package/dist/assets/web/dist/assets/main-DR8iKpNt.js +28 -0
- package/dist/assets/web/dist/assets/{marko-1-G_nEXK.js → marko-B0oNLx2i.js} +1 -1
- package/dist/assets/web/dist/assets/{mdc-DUe3AQLp.js → mdc-Bc_MmIyq.js} +1 -1
- package/dist/assets/web/dist/assets/{nginx-Dg379_bA.js → nginx-Cmxv8RIt.js} +1 -1
- package/dist/assets/web/dist/assets/{nim-BnFq97ZO.js → nim-BtgRfaY0.js} +1 -1
- package/dist/assets/web/dist/assets/{org-F0uiwGvq.js → org-Dl9EzlHh.js} +1 -1
- package/dist/assets/web/dist/assets/{perl-B0euczkl.js → perl-BmF7x7BB.js} +1 -1
- package/dist/assets/web/dist/assets/{php-DkL3k_n7.js → php-rH6CVptQ.js} +1 -1
- package/dist/assets/web/dist/assets/{pug-L_OjjZP4.js → pug-CIN5Ccck.js} +1 -1
- package/dist/assets/web/dist/assets/{qml-BMjB00Zz.js → qml-BpLS3RFr.js} +1 -1
- package/dist/assets/web/dist/assets/{r-DoeLdnqR.js → r-BUMF3B-H.js} +1 -1
- package/dist/assets/web/dist/assets/{razor-BzYNkAWy.js → razor-B7sTBPdT.js} +1 -1
- package/dist/assets/web/dist/assets/{regexp-CPmElMk3.js → regexp-h2SvwrsJ.js} +1 -1
- package/dist/assets/web/dist/assets/residentsModel-VSJEepL1.js +1 -0
- package/dist/assets/web/dist/assets/{rst-DrsjgfI7.js → rst-DLOWEsD2.js} +1 -1
- package/dist/assets/web/dist/assets/{ruby-cB42ppvx.js → ruby-Cl_-I4k3.js} +1 -1
- package/dist/assets/web/dist/assets/{sas-R5Y3NM_I.js → sas-Cm4M-BvV.js} +1 -1
- package/dist/assets/web/dist/assets/{scss-C-zWxV9s.js → scss-CEFCEQUF.js} +1 -1
- package/dist/assets/web/dist/assets/{shellscript-oJF96aAU.js → shellscript-CE6zb5eS.js} +1 -1
- package/dist/assets/web/dist/assets/{shellsession-CznECKyi.js → shellsession-B4fDVzrM.js} +1 -1
- package/dist/assets/web/dist/assets/{soy-wjHLSRag.js → soy-DwXCMpjE.js} +1 -1
- package/dist/assets/web/dist/assets/{sql-C_BM8IOW.js → sql-DrnAKnyD.js} +1 -1
- package/dist/assets/web/dist/assets/{stata-D31HO8aQ.js → stata-BzlwPWD6.js} +1 -1
- package/dist/assets/web/dist/assets/{surrealql-CKCLyplA.js → surrealql-CeUieZXd.js} +1 -1
- package/dist/assets/web/dist/assets/{svelte-3geWk2iu.js → svelte-BERIpIKR.js} +1 -1
- package/dist/assets/web/dist/assets/{templ-DiJr_hTD.js → templ-6FSuUDwg.js} +1 -1
- package/dist/assets/web/dist/assets/{tex-BEJGWyeF.js → tex-SWCyMwNX.js} +1 -1
- package/dist/assets/web/dist/assets/{ts-tags-C8Mzdpxx.js → ts-tags-VWj7gWgY.js} +1 -1
- package/dist/assets/web/dist/assets/{tsx-UQiSm_p3.js → tsx-B6dzfL8L.js} +1 -1
- package/dist/assets/web/dist/assets/{twig-_Pvzkeo9.js → twig-BDXsr482.js} +1 -1
- package/dist/assets/web/dist/assets/{typescript-BWMkINKK.js → typescript-s100Dt8y.js} +1 -1
- package/dist/assets/web/dist/assets/{typst-Bdg9m-e7.js → typst-WfyEAUdt.js} +1 -1
- package/dist/assets/web/dist/assets/{vue-CDZrrAZ8.js → vue-CkXOOJ-6.js} +1 -1
- package/dist/assets/web/dist/assets/{vue-html-tAlpNhfN.js → vue-html-CEpzdcau.js} +1 -1
- package/dist/assets/web/dist/assets/{vue-vine-C27UF_rh.js → vue-vine-D9dsfiFA.js} +1 -1
- package/dist/assets/web/dist/assets/{xml-CxeDr9Zh.js → xml-iBDofbJq.js} +1 -1
- package/dist/assets/web/dist/assets/{xsl-Bpi0uUnM.js → xsl-CqbJF4hD.js} +1 -1
- package/dist/assets/web/dist/assets/{yaml-BtUgZ1GN.js → yaml-D9i6OxYe.js} +1 -1
- package/dist/cli.js +2255 -1170
- package/package.json +1 -1
- package/dist/assets/web/dist/assets/ResidentDetailPage-DSpsye5e.js +0 -1
- package/dist/assets/web/dist/assets/ResidentsIndexPage-CT8fI1M3.js +0 -1
- package/dist/assets/web/dist/assets/RunFoldRow-Cqh8pTXC.js +0 -9
- package/dist/assets/web/dist/assets/RunsIndexPage-sjXr8iCV.js +0 -1
- package/dist/assets/web/dist/assets/ScheduledPage-Tz__zLzi.js +0 -1
- package/dist/assets/web/dist/assets/UnitRoutePage-CbKCL58v.js +0 -1
- package/dist/assets/web/dist/assets/indexRow-Bnj883ii.js +0 -1
- package/dist/assets/web/dist/assets/localIso-L06jV29p.js +0 -1
- package/dist/assets/web/dist/assets/main-D3lG-yQ9.js +0 -28
- package/dist/assets/web/dist/assets/main-Dm11o0hc.css +0 -1
- package/dist/assets/web/dist/assets/residentDiskBudget-BMBKlYRH.js +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-
|
|
2
|
-
import{C as e,S as t,_ as n,b as r,c as i,g as a,h as o,m as s,n as c,p as l,r as u,s as d,t as f,v as p,y as m}from"./AppShell-lYVcj-k7.js";import{A as h,B as g,Ci as ee,Dr as _,Gn as te,H as v,Ht as y,J as b,Jn as ne,Lr as x,Mr as S,N as C,Or as w,P as re,Pr as ie,Q as ae,Qn as T,Rn as oe,Si as se,U as E,Ut as ce,Wn as D,Wt as le,Xt as O,_ as k,_n as A,a as ue,at as de,b as fe,ci as j,cn as M,d as pe,di as me,dr as N,et as he,f as ge,ft as _e,g as P,gn as F,h as ve,hi as ye,ir as I,it as be,j as L,kn as xe,ln as R,m as z,mi as Se,nr as Ce,nt as we,oi as Te,on as B,or as Ee,p as V,r as De,sn as H,t as Oe,u as ke,un as U,ur as W,vi as G,wi as K,x as q,xi as J,xr as Ae,y as Y,yn as X,z as je,zr as Me}from"./seed-DeKSHrt2.js";import{t as Ne}from"./Tooltip-B0Ob5MQ4.js";import{r as Pe,t as Fe}from"./main-D3lG-yQ9.js";import{t as Ie}from"./wallClock-61NpVkY6.js";import{t as Le}from"./NotFoundPage-BzWS4Ca1.js";import{t as Re}from"./indexFormat-B-pd4r7Y.js";import{A as ze,D as Be,E as Ve,k as He,y as Ue}from"./indexRow-Bnj883ii.js";import{t as We}from"./localIso-L06jV29p.js";import{A as Ge,C as Ke,D as qe,E as Je,O as Ye,S as Xe,T as Ze,_ as Qe,a as $e,b as et,c as tt,d as nt,f as rt,g as it,h as at,i as ot,k as Z,l as st,m as ct,n as lt,o as ut,p as dt,r as ft,s as pt,t as mt,u as ht,v as gt,w as _t,x as vt,y as yt}from"./RunFoldRow-Cqh8pTXC.js";import{n as bt,r as xt,t as St}from"./favicon-BQsePYv5.js";var[Q,Ct]=g(`DialogRoot`),wt=X({inheritAttrs:!1,__name:`DialogRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=de(n,`open`,t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),i=j(),a=j(),{modal:o,unmountOnHide:s}=ye(n);return Ct({open:r,modal:o,unmountOnHide:s,openModal:()=>{r.value=!0},onOpenChange:e=>{r.value=e},onOpenToggle:()=>{r.value=!r.value},contentId:``,titleId:``,descriptionId:``,triggerElement:i,contentElement:a}),(e,t)=>N(e.$slots,`default`,{open:G(r),close:()=>r.value=!1})}}),Tt=X({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;C();let n=Q();return(e,r)=>(I(),M(G(h),D(t,{type:e.as===`button`?`button`:void 0,onClick:r[0]||=e=>G(n).onOpenChange(!1)}),{default:x(()=>[N(e.$slots,`default`)]),_:3},16,[`type`]))}}),Et=X({__name:`DialogContentImpl`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let r=e,i=t,o=Q(),{forwardRef:s,currentElement:c}=C();return o.titleId||=m(void 0,`reka-dialog-title`),o.descriptionId||=m(void 0,`reka-dialog-description`),T(()=>{o.contentElement=c,je()!==document.body&&(o.triggerElement.value=je())}),(e,t)=>(I(),M(G(n),{"as-child":``,loop:``,trapped:r.trapFocus,present:r.present,onMountAutoFocus:t[5]||=e=>i(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>i(`closeAutoFocus`,e)},{default:x(()=>[A(G(p),D({id:G(o).contentId,ref:G(s),as:e.as,"as-child":e.asChild,present:r.present,"disable-outside-pointer-events":e.disableOutsidePointerEvents,role:`dialog`,"aria-describedby":G(o).descriptionId,"aria-labelledby":G(o).titleId,"data-state":G(a)(G(o).open.value)},e.$attrs,{onDismiss:t[0]||=e=>G(o).onOpenChange(!1),onEscapeKeyDown:t[1]||=e=>i(`escapeKeyDown`,e),onFocusOutside:t[2]||=e=>i(`focusOutside`,e),onInteractOutside:t[3]||=e=>i(`interactOutside`,e),onPointerDownOutside:t[4]||=e=>i(`pointerDownOutside`,e)}),{default:x(()=>[N(e.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`present`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`,`present`]))}}),Dt=X({__name:`DialogContentModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=t,a=Q(),o=re(i),{forwardRef:s,currentElement:c}=C(),l=B(()=>n.present?c.value:void 0);r(l);let u=B(()=>{let{present:e,...t}=n;return t});return S(()=>n.present,(e,t)=>{!e&&t&&a.triggerElement.value?.focus()}),(e,t)=>(I(),M(Et,D({...u.value,...G(o)},{ref:G(s),present:e.present,"trap-focus":G(a).open.value,"disable-outside-pointer-events":n.disableOutsidePointerEvents,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(e.preventDefault(),G(a).triggerElement.value?.focus())},onPointerDownOutside:t[1]||=e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()},onFocusOutside:t[2]||=e=>{e.preventDefault()}}),{default:x(()=>[N(e.$slots,`default`)]),_:3},16,[`present`,`trap-focus`,`disable-outside-pointer-events`]))}}),Ot=X({__name:`DialogContentNonModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=re(t);C();let i=Q(),a=j(!1),o=j(!1),s=B(()=>{let{present:e,...t}=n;return t});return S(()=>n.present,(e,t)=>{!e&&t&&(a.value||i.triggerElement.value?.focus(),a.value=!1,o.value=!1)}),(e,t)=>(I(),M(Et,D({...s.value,...G(r)},{present:e.present,"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(a.value||G(i).triggerElement.value?.focus(),e.preventDefault()),a.value=!1,o.value=!1},onInteractOutside:t[1]||=e=>{e.defaultPrevented||(a.value=!0,e.detail.originalEvent.type===`pointerdown`&&(o.value=!0));let t=e.target;G(i).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&o.value&&e.preventDefault()}}),{default:x(()=>[N(e.$slots,`default`)]),_:3},16,[`present`]))}}),kt=X({__name:`DialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Q(),a=re(r),{forwardRef:o}=C();return(e,t)=>(I(),M(G(L),{present:e.forceMount||G(i).open.value,"force-mount":e.forceMount||!G(i).unmountOnHide.value},{default:x(({present:t})=>[G(i).modal.value?Me((I(),M(Dt,D({key:0,ref:G(o),present:G(i).unmountOnHide.value||t},{...n,...G(a),...e.$attrs}),{default:x(()=>[N(e.$slots,`default`)]),_:2},1040,[`present`])),[[y,G(i).unmountOnHide.value||t]]):Me((I(),M(Ot,D({key:1,ref:G(o),present:G(i).unmountOnHide.value||t},{...n,...G(a),...e.$attrs}),{default:x(()=>[N(e.$slots,`default`)]),_:2},1040,[`present`])),[[y,G(i).unmountOnHide.value||t]])]),_:3},8,[`present`,`force-mount`]))}}),At=X({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;C();let n=Q();return(e,r)=>(I(),M(G(h),D(t,{id:G(n).descriptionId}),{default:x(()=>[N(e.$slots,`default`)]),_:3},16,[`id`]))}}),jt=X({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},setup(t){let n=t,r=Q(),i=e(n.present);return S(()=>n.present,e=>i.value=e),C(),(e,t)=>(I(),M(G(h),{as:e.as,"as-child":e.asChild,"data-state":G(r).open.value?`open`:`closed`,style:{"pointer-events":`auto`},onPointerdown:t[0]||=le(()=>{},[`left`,`self`,`prevent`])},{default:x(()=>[N(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),Mt=X({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Q(),{forwardRef:n}=C();return(e,r)=>G(t)?.modal.value?(I(),M(G(L),{key:0,present:e.forceMount||G(t).open.value,"force-mount":e.forceMount||!G(t).unmountOnHide.value},{default:x(({present:r})=>[Me(A(jt,D(e.$attrs,{ref:G(n),as:e.as,"as-child":e.asChild,present:G(t).unmountOnHide.value||r}),{default:x(()=>[N(e.$slots,`default`)]),_:2},1040,[`as`,`as-child`,`present`]),[[y,G(t).unmountOnHide.value||r]])]),_:3},8,[`present`,`force-mount`])):R(`v-if`,!0)}}),Nt=X({__name:`DialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(I(),M(G(q),se(xe(t)),{default:x(()=>[N(e.$slots,`default`)]),_:3},16))}}),Pt=X({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e,n=Q();return C(),(e,r)=>(I(),M(G(h),D(t,{id:G(n).titleId}),{default:x(()=>[N(e.$slots,`default`)]),_:3},16,[`id`]))}}),Ft=X({__name:`DialogTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Q(),{forwardRef:r,currentElement:i}=C();return n.contentId||=m(void 0,`reka-dialog-content`),T(()=>{n.triggerElement.value=i.value}),(e,i)=>(I(),M(G(h),D(t,{ref:G(r),type:e.as===`button`?`button`:void 0,"aria-haspopup":`dialog`,"aria-expanded":G(n).open.value||!1,"aria-controls":G(n).open.value?G(n).contentId:void 0,"data-state":G(n).open.value?`open`:`closed`,onClick:G(n).onOpenToggle}),{default:x(()=>[N(e.$slots,`default`)]),_:3},16,[`type`,`aria-expanded`,`aria-controls`,`data-state`,`onClick`]))}}),It=X({__name:`RovingFocusItem`,props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=i(),r=m(),a=B(()=>t.tabStopId||r),c=B(()=>n.currentTabStopId.value===a.value),{getItems:u,CollectionItem:d}=fe();T(()=>{t.focusable&&n.onFocusableItemAdd()}),Ce(()=>{t.focusable&&n.onFocusableItemRemove()}),S(()=>t.focusable,(e,t)=>{e!==t&&(e?n.onFocusableItemAdd():n.onFocusableItemRemove())});function f(e){if(e.key===`Tab`&&e.shiftKey){n.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let r=s(e,n.orientation.value,n.dir.value);if(r!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||!t.allowShiftKey&&e.shiftKey)return;e.preventDefault();let i=[...u().map(e=>e.ref).filter(e=>e.dataset.disabled!==``)];if(r===`last`)i.reverse();else if(r===`prev`||r===`next`){r===`prev`&&i.reverse();let t=i.indexOf(e.currentTarget);i=n.loop.value?o(i,t+1):i.slice(t+1)}te(()=>l(i))}}return(e,t)=>(I(),M(G(d),null,{default:x(()=>[A(G(h),{tabindex:c.value?0:-1,"data-orientation":G(n).orientation.value,"data-active":e.active?``:void 0,"data-disabled":e.focusable?void 0:``,as:e.as,"as-child":e.asChild,onMousedown:t[0]||=t=>{e.focusable?G(n).onItemFocus(a.value):t.preventDefault()},onFocus:t[1]||=e=>G(n).onItemFocus(a.value),onKeydown:f},{default:x(()=>[N(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`data-active`,`data-disabled`,`as`,`as-child`])]),_:3}))}}),[Lt,Rt]=g(`TabsRoot`),zt=X({__name:`TabsRoot`,props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:`horizontal`},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:`automatic`},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,i=n,{orientation:a,unmountOnHide:o,dir:s}=ye(r),c=t(s);C();let l=de(r,`modelValue`,i,{defaultValue:r.defaultValue,passive:r.modelValue===void 0}),u=j(),d=me(new Set);return Rt({modelValue:l,changeModelValue:e=>{l.value=e},orientation:a,dir:c,unmountOnHide:o,activationMode:r.activationMode,baseId:m(void 0,`reka-tabs`),tabsList:u,contentIds:d,registerContent:e=>{d.value=new Set([...d.value,e])},unregisterContent:e=>{let t=new Set(d.value);t.delete(e),d.value=t}}),(e,t)=>(I(),M(G(h),{dir:G(c),"data-orientation":G(a),"as-child":e.asChild,as:e.as},{default:x(()=>[N(e.$slots,`default`,{modelValue:G(l)})]),_:3},8,[`dir`,`data-orientation`,`as-child`,`as`]))}});function Bt(e,t){return`${e}-trigger-${t}`}function Vt(e,t){return`${e}-content-${t}`}var Ht=X({__name:`TabsContent`,props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n}=C(),r=Lt(),i=B(()=>Bt(r.baseId,t.value)),a=B(()=>Vt(r.baseId,t.value)),o=B(()=>t.value===r.modelValue.value),s=j(o.value);return T(()=>{r.registerContent(t.value),requestAnimationFrame(()=>{s.value=!1})}),ne(()=>{r.unregisterContent(t.value)}),(e,t)=>(I(),M(G(L),{present:e.forceMount||o.value,"force-mount":``},{default:x(({present:t})=>[A(G(h),{id:a.value,ref:G(n),"as-child":e.asChild,as:e.as,role:`tabpanel`,"data-state":o.value?`active`:`inactive`,"data-orientation":G(r).orientation.value,"aria-labelledby":i.value,hidden:!t,tabindex:`0`,style:ee({animationDuration:s.value?`0s`:void 0})},{default:x(()=>[!G(r).unmountOnHide.value||t?N(e.$slots,`default`,{key:0}):R(`v-if`,!0)]),_:2},1032,[`id`,`as-child`,`as`,`data-state`,`data-orientation`,`aria-labelledby`,`hidden`,`style`])]),_:3},8,[`present`]))}}),Ut=X({__name:`TabsIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e,{expose:t}){let n=e,r=Lt();t({updateIndicatorStyle:s}),C();let i=we(),a=j({size:null,thickness:null,position:null}),o=j([]);S(()=>[r.modelValue.value,r?.dir.value],()=>{s()},{immediate:!0,flush:`post`}),ie(()=>{o.value=Array.from(r.tabsList.value?.querySelectorAll(`[role="tab"]`)||[])}),be(B(()=>[r.tabsList.value,...o.value]),s);function s(){let e=r.tabsList.value?.querySelector(`[role="tab"][data-state="active"]`);e&&(r.orientation.value===`horizontal`?a.value={size:e.offsetWidth,thickness:e.offsetHeight,position:e.offsetLeft}:a.value={size:e.offsetHeight,thickness:e.offsetWidth,position:e.offsetTop})}return(e,t)=>G(i)&&typeof a.value.size==`number`?(I(),M(G(h),D({key:0},n,{style:{"--reka-tabs-indicator-size":`${a.value.size}px`,"--reka-tabs-indicator-thickness":`${a.value.thickness}px`,"--reka-tabs-indicator-position":`${a.value.position}px`}}),{default:x(()=>[N(e.$slots,`default`)]),_:3},16,[`style`])):R(`v-if`,!0)}}),Wt=X({__name:`TabsList`,props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let{loop:t}=ye(e),{forwardRef:n,currentElement:r}=C(),i=Lt();return i.tabsList=r,(e,r)=>(I(),M(G(d),{"as-child":``,orientation:G(i).orientation.value,dir:G(i).dir.value,loop:G(t)},{default:x(()=>[A(G(h),{ref:G(n),role:`tablist`,"as-child":e.asChild,as:e.as,"aria-orientation":G(i).orientation.value},{default:x(()=>[N(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`aria-orientation`])]),_:3},8,[`orientation`,`dir`,`loop`]))}}),Gt=X({__name:`TabsTrigger`,props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,{forwardRef:n}=C(),r=Lt(),i=B(()=>Bt(r.baseId,t.value)),a=B(()=>r.contentIds.value.has(t.value)?Vt(r.baseId,t.value):void 0),o=B(()=>t.value===r.modelValue.value);return(e,t)=>(I(),M(G(It),{"as-child":``,focusable:!e.disabled,active:o.value},{default:x(()=>[A(G(h),{id:i.value,ref:G(n),role:`tab`,type:e.as===`button`?`button`:void 0,as:e.as,"as-child":e.asChild,"aria-selected":o.value?`true`:`false`,"aria-controls":a.value,"data-state":o.value?`active`:`inactive`,disabled:e.disabled,"data-disabled":e.disabled?``:void 0,"data-orientation":G(r).orientation.value,onMousedown:t[0]||=le(t=>{!e.disabled&&t.ctrlKey===!1?G(r).changeModelValue(e.value):t.preventDefault()},[`left`]),onKeydown:t[1]||=ce(t=>G(r).changeModelValue(e.value),[`enter`,`space`]),onFocus:t[2]||=()=>{let t=G(r).activationMode!==`manual`;!o.value&&!e.disabled&&t&&G(r).changeModelValue(e.value)}},{default:x(()=>[N(e.$slots,`default`)]),_:3},8,[`id`,`type`,`as`,`as-child`,`aria-selected`,`aria-controls`,`data-state`,`disabled`,`data-disabled`,`data-orientation`])]),_:3},8,[`focusable`,`active`]))}});function Kt(e,t={}){let n=e.detail.originalEvent,r=n.target;if(!r?.isConnected){e.preventDefault();return}t.scrollable&&(n.offsetX>r.clientWidth||n.offsetY>r.clientHeight)&&e.preventDefault()}var qt={slots:{overlay:`fixed inset-0 bg-elevated/75`,content:`fixed bg-default divide-y divide-default sm:ring ring-default sm:shadow-lg flex flex-col focus:outline-none`,header:`flex items-center gap-1.5 p-4 sm:px-6 min-h-(--ui-header-height)`,wrapper:``,body:`flex-1 overflow-y-auto p-4 sm:p-6`,footer:`flex items-center gap-1.5 p-4 sm:px-6`,title:`text-highlighted font-semibold`,description:`mt-1 text-muted text-sm`,close:`absolute top-4 end-4`},variants:{side:{top:{content:``},right:{content:`max-w-md`},bottom:{content:``},left:{content:`max-w-md`}},inset:{true:{content:`rounded-lg`}},transition:{true:{overlay:`data-[state=open]:animate-[fade-in_200ms_var(--ease-out)] data-[state=closed]:animate-[fade-out_200ms_var(--ease-out)]`}}},compoundVariants:[{side:`top`,inset:!0,class:{content:`max-h-[calc(100%-2rem)] inset-x-4 top-4`}},{side:`top`,inset:!1,class:{content:`max-h-full inset-x-0 top-0`}},{side:`right`,inset:!0,class:{content:`w-[calc(100%-2rem)] inset-y-4 right-4`}},{side:`right`,inset:!1,class:{content:`w-full inset-y-0 right-0`}},{side:`bottom`,inset:!0,class:{content:`max-h-[calc(100%-2rem)] inset-x-4 bottom-4`}},{side:`bottom`,inset:!1,class:{content:`max-h-full inset-x-0 bottom-0`}},{side:`left`,inset:!0,class:{content:`w-[calc(100%-2rem)] inset-y-4 left-4`}},{side:`left`,inset:!1,class:{content:`w-full inset-y-0 left-0`}},{transition:!0,side:`top`,class:{content:`data-[state=open]:animate-[slide-in-from-top_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-top_200ms_var(--ease-out)]`}},{transition:!0,side:`right`,class:{content:`data-[state=open]:animate-[slide-in-from-right_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-right_200ms_var(--ease-out)]`}},{transition:!0,side:`bottom`,class:{content:`data-[state=open]:animate-[slide-in-from-bottom_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-bottom_200ms_var(--ease-out)]`}},{transition:!0,side:`left`,class:{content:`data-[state=open]:animate-[slide-in-from-left_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-left_200ms_var(--ease-out)]`}}]},Jt={__name:`Slideover`,props:{title:{type:String,required:!1},description:{type:String,required:!1},content:{type:Object,required:!1},overlay:{type:Boolean,required:!1,default:!0},transition:{type:Boolean,required:!1,default:!0},side:{type:null,required:!1,default:`right`},inset:{type:Boolean,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},close:{type:[Boolean,Object],required:!1,default:!0},closeIcon:{type:null,required:!1},dismissible:{type:Boolean,required:!1,default:!0},class:{type:null,required:!1},ui:{type:Object,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},modal:{type:Boolean,required:!1,default:!0},unmountOnHide:{type:Boolean,required:!1}},emits:[`leave`,`after:leave`,`enter`,`after:enter`,`close:prevent`,`update:open`],setup(e,{emit:t}){let n=e,r=t,i=_(),a=k(`slideover`,n),{t:o}=v(),s=b(),c=P(_e(a,`open`,`defaultOpen`,`modal`,`unmountOnHide`),r),l=Y(Se(()=>a.portal)),u=Se(()=>a.content),d=B(()=>a.dismissible?{pointerDownOutside:Kt}:[`interactOutside`,`escapeKeyDown`].reduce((e,t)=>(e[t]=e=>{e.preventDefault(),r(`close:prevent`)},e),{})),f=B(()=>ve({extend:qt,...s.ui?.slideover||{}})({transition:a.transition,side:a.side,inset:a.inset}));return(e,t)=>(I(),M(G(wt),se(xe(G(c))),{default:x(({open:n,close:c})=>[i.default?(I(),M(G(Ft),{key:0,"as-child":``,class:J(G(a).class)},{default:x(()=>[N(e.$slots,`default`,{open:n})]),_:2},1032,[`class`])):R(``,!0),A(G(Nt),D(G(l),{"force-mount":G(l).disabled&&G(a).unmountOnHide===!1||void 0}),{default:x(()=>[A(G(ke),null,{default:x(()=>[G(a).overlay?(I(),M(G(Mt),{key:0,"data-slot":`overlay`,class:J(f.value.overlay({class:G(a).ui?.overlay}))},null,8,[`class`])):R(``,!0),A(G(kt),D({"data-side":G(a).side,"data-slot":`content`,class:f.value.content({class:[!i.default&&G(a).class,G(a).ui?.content]})},u.value,{onEnter:t[0]||=e=>r(`enter`),onAfterEnter:t[1]||=e=>r(`after:enter`),onLeave:t[2]||=e=>r(`leave`),onAfterLeave:t[3]||=e=>r(`after:leave`)},Ae(d.value)),{default:x(()=>[!G(a).title&&!i.title||!G(a).description&&!i.description||i.content?(I(),M(G(Pe),{key:0},{default:x(()=>[!G(a).title&&!i.title?(I(),M(G(Pt),{key:0})):i.content?(I(),M(G(Pt),{key:1},{default:x(()=>[N(e.$slots,`title`,{},()=>[F(K(G(a).title),1)])]),_:3})):R(``,!0),!G(a).description&&!i.description?(I(),M(G(At),{key:2})):i.content?(I(),M(G(At),{key:3},{default:x(()=>[N(e.$slots,`description`,{},()=>[F(K(G(a).description),1)])]),_:3})):R(``,!0)]),_:3})):R(``,!0),N(e.$slots,`content`,{close:c},()=>[i.header||G(a).title||i.title||G(a).description||i.description||G(a).close||i.close?(I(),U(`div`,{key:0,"data-slot":`header`,class:J(f.value.header({class:G(a).ui?.header}))},[N(e.$slots,`header`,{close:c},()=>[G(a).title||i.title||G(a).description||i.description?(I(),U(`div`,{key:0,"data-slot":`wrapper`,class:J(f.value.wrapper({class:G(a).ui?.wrapper}))},[G(a).title||i.title?(I(),M(G(Pt),{key:0,"data-slot":`title`,class:J(f.value.title({class:G(a).ui?.title}))},{default:x(()=>[N(e.$slots,`title`,{},()=>[F(K(G(a).title),1)])]),_:3},8,[`class`])):R(``,!0),G(a).description||i.description?(I(),M(G(At),{key:1,"data-slot":`description`,class:J(f.value.description({class:G(a).ui?.description}))},{default:x(()=>[N(e.$slots,`description`,{},()=>[F(K(G(a).description),1)])]),_:3},8,[`class`])):R(``,!0)],2)):R(``,!0),N(e.$slots,`actions`),G(a).close||i.close?(I(),M(G(Tt),{key:1,"as-child":``},{default:x(()=>[N(e.$slots,`close`,{ui:f.value},()=>[G(a).close?(I(),M(ue,D({key:0,icon:G(a).closeIcon||G(s).ui.icons.close,color:`neutral`,variant:`ghost`,"aria-label":G(o)(`slideover.close`)},typeof G(a).close==`object`?G(a).close:{},{"data-slot":`close`,class:f.value.close({class:G(a).ui?.close})}),null,16,[`icon`,`aria-label`,`class`])):R(``,!0)])]),_:2},1024)):R(``,!0)])],2)):R(``,!0),H(`div`,{"data-slot":`body`,class:J(f.value.body({class:G(a).ui?.body}))},[N(e.$slots,`body`,{close:c})],2),i.footer?(I(),U(`div`,{key:1,"data-slot":`footer`,class:J(f.value.footer({class:G(a).ui?.footer}))},[N(e.$slots,`footer`,{close:c})],2)):R(``,!0)])]),_:2},1040,[`data-side`,`class`])]),_:2},1024)]),_:2},1040,[`force-mount`])]),_:3},16))}},Yt=[`data-expanded`,`data-overflowing`],Xt={key:0,class:`fade pointer-events-none absolute inset-x-0 bottom-6 h-10`},Zt={key:1,class:`mt-1 flex justify-start`},Qt=[`aria-expanded`],$t=u(X({__name:`ExpandableText`,props:{lines:{default:5}},setup(e){let t=e,n=j(!1),r=j(!1),i=j(null),a=`expandable-${Math.random().toString(36).slice(2,8)}`;function o(){let e=i.value;e&&!n.value&&(r.value=e.scrollHeight>e.clientHeight+1)}let s=null;T(()=>{o(),typeof ResizeObserver<`u`&&i.value&&(s=new ResizeObserver(()=>o()),s.observe(i.value))}),ne(()=>s?.disconnect()),S(n,e=>{e||Promise.resolve().then(o)});function c(){n.value=!n.value}function l(e){!n.value&&r.value&&(e.target?.closest?.(`a`)||(n.value=!0))}return(e,o)=>(I(),U(`div`,{class:J([`expandable group relative`,!n.value&&r.value?`cursor-pointer`:``]),"data-expanded":n.value?`1`:`0`,"data-overflowing":r.value?`1`:`0`,onClick:l},[H(`div`,{id:a,ref_key:`body`,ref:i,class:J([`body`,n.value?``:`clamped`]),style:ee(n.value?void 0:{"--expandable-lines":String(t.lines)})},[N(e.$slots,`default`,{},void 0,!0)],6),!n.value&&r.value?(I(),U(`div`,Xt)):R(``,!0),r.value||n.value?(I(),U(`div`,Zt,[H(`button`,{type:`button`,class:`more cursor-pointer text-xs text-dimmed group-hover:text-primary hover:underline focus-visible:outline-2 focus-visible:outline-primary`,"aria-expanded":n.value?`true`:`false`,"aria-controls":a,onClick:le(c,[`stop`])},K(n.value?`Show less`:`Show more`),9,Qt)])):R(``,!0)],10,Yt))}}),[[`__scopeId`,`data-v-ce3bfa89`]]),en=[`id`],tn={class:`what`},nn={key:0,class:`text-dimmed`},rn={key:1,class:`dur tabular-nums text-dimmed`},an=[`title`],on=X({__name:`SpanRow`,props:{item:{}},setup(e){return(t,n)=>(I(),U(`li`,{id:`span-${e.item.spanId}`,class:`span flex items-baseline gap-2 py-0.5 pr-(--sb-gutter) font-mono text-xs text-muted`},[H(`span`,{class:J([`glyph select-none`,e.item.status===`error`?`text-bad`:`text-dimmed`])},K(e.item.open?`◌`:e.item.status===`error`?`✗`:`◷`),3),H(`span`,tn,K(e.item.text),1),e.item.open?(I(),U(`span`,nn,`…`)):e.item.durationMs===void 0?R(``,!0):(I(),U(`span`,rn,K(G(ze)(e.item.durationMs,`precise`)),1)),e.item.at===void 0?R(``,!0):(I(),U(`span`,{key:2,class:`ts ml-auto select-none text-dimmed`,title:G(We)(e.item.at)},K(G(Ge)(e.item.at)),9,an))],8,en))}}),sn=[`data-position`],cn={class:`mb-2 flex items-baseline gap-2.5 font-mono text-xs font-medium uppercase tracking-wider text-ok`},ln=[`href`],un={key:1,class:`caption font-normal normal-case tracking-normal text-dimmed`},dn=[`title`],fn=X({__name:`ReplyBlock`,props:{text:{},caption:{},when:{},whenTitle:{},position:{},files:{}},setup(e){return(t,n)=>(I(),U(`section`,{id:`reply`,class:J([`block rounded-lg border border-ok/40 bg-(--ui-bg-muted) px-(--sb-gutter) py-3`,e.position===`first`?`mb-4`:`mt-6`]),"data-position":e.position},[H(`h2`,cn,[n[0]||=H(`span`,null,`Reply`,-1),e.caption.href?(I(),U(`a`,{key:0,class:`caption font-normal normal-case tracking-normal text-dimmed no-underline hover:text-primary hover:underline`,href:e.caption.href,target:`_blank`,rel:`noopener noreferrer`},K(e.caption.text),9,ln)):(I(),U(`span`,un,K(e.caption.text),1)),H(`span`,{class:`ts ml-auto select-none text-xs font-normal normal-case tracking-normal text-dimmed`,title:e.whenTitle},K(e.when),9,dn)]),A(Z,{text:e.text},null,8,[`text`]),e.files.length>0?(I(),M(pt,{key:0,files:e.files},null,8,[`files`])):R(``,!0)],10,sn))}}),pn={id:`units`,class:`block mb-4 rounded-lg border border-default bg-(--ui-bg-muted) px-(--sb-gutter) py-3`},mn={class:`mb-2 flex items-baseline gap-2.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},hn={class:`count font-normal normal-case tracking-normal text-dimmed`},gn={class:`m-0 list-none p-0`},_n=[`data-unit`],vn=[`href`],yn=[`href`],bn=[`href`],xn=X({__name:`RunUnitsBlock`,props:{units:{}},setup(e){let t={merged:`border-ok/30 text-ok`,merge_ready:`border-ok/30 text-ok`,done:`border-ok/30 text-ok`};function n(e){return e.ending?e.ending.kind:e.threads.coding===void 0?`not started`:`round ${e.rounds.at(-1)?.index??0} · ${e.rounds.at(-1)?.agent??`in flight`}`}return(r,i)=>(I(),U(`section`,pn,[H(`h2`,mn,[i[0]||=H(`span`,null,`Units`,-1),H(`span`,hn,`· `+K(e.units.length)+` unit`+K(e.units.length===1?``:`s`)+` — each opens to its runs in round order`,1)]),H(`ol`,gn,[(I(!0),U(O,null,W(e.units,e=>(I(),U(`li`,{key:e.unit,class:`unit flex flex-wrap items-baseline gap-x-2.5 gap-y-0.5 border-t border-default py-1.5 first:border-t-0`,"data-unit":e.unit},[H(`a`,{class:`key shrink-0 rounded border border-accented px-1.5 font-mono text-[0.72rem] font-medium text-toned no-underline hover:border-primary hover:text-primary`,href:`/runs/unit/${encodeURIComponent(e.unit)}`},K(e.id),9,vn),H(`a`,{class:`title min-w-0 flex-1 truncate text-sm text-highlighted no-underline hover:underline`,href:`/runs/unit/${encodeURIComponent(e.unit)}`},K(e.title??e.branch),9,yn),H(`span`,{class:J([`standing shrink-0 rounded border px-1.5 font-mono text-[0.7rem]`,t[e.ending?.kind??``]??`border-accented text-muted`])},K(n(e)),3),e.pr?(I(),U(`a`,{key:0,class:`prlink shrink-0 whitespace-nowrap font-mono text-xs text-primary no-underline hover:underline`,href:e.pr.url,target:`_blank`,rel:`noopener noreferrer`},[A(Ye,{class:`mr-1 align-[-0.125em]`}),F(`#`+K(e.pr.number),1)],8,bn)):R(``,!0)],8,_n))),128))])]))}}),Sn={id:`children`,class:`block mb-4 px-(--sb-gutter)`},Cn={class:`mb-1 flex items-baseline gap-2.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},wn={class:`count font-normal normal-case tracking-normal text-dimmed`},Tn={class:`m-0 list-none border-t border-muted p-0`},En=X({__name:`RunChildrenBlock`,props:{children:{},now:{}},setup(e){return(t,n)=>(I(),U(`section`,Sn,[H(`h2`,Cn,[n[0]||=H(`span`,null,`Spawned runs`,-1),H(`span`,wn,`· `+K(e.children.length)+` run`+K(e.children.length===1?``:`s`)+`, in the order they started`,1)]),H(`ol`,Tn,[(I(!0),U(O,null,W(e.children,t=>(I(),M(mt,{key:t.id,run:t,now:e.now},null,8,[`run`,`now`]))),128))])]))}});function Dn(e){return e.description?.title?e.description.title:e.pr.repo&&e.pr.number!==void 0?`${e.pr.repo}#${e.pr.number}`:e.pr.repo??`PR review`}var On=/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/,kn=/^[0-9a-f]{7,40}$/;function An(e){if(!e.repo||!On.test(e.repo))return{};let t=`https://github.com/${e.repo}`,n={};return e.number!==void 0&&Number.isInteger(e.number)&&e.number>0&&(n.pr=`${t}/pull/${e.number}`,n.files=`${t}/pull/${e.number}/files`),e.headSha&&kn.test(e.headSha)&&(n.commit=e.number!==void 0&&n.pr?`${t}/pull/${e.number}/commits/${e.headSha}`:`${t}/commit/${e.headSha}`),n}function jn(e){return e.find(e=>e.poweredBy===`meat`)??e.find(e=>e.poweredBy===`git`)??null}function Mn(e){return e===`meat`?`An abridged reading of the change: a model dropped what a reviewer need not read (style, imports, boilerplate) and kept the concepts`:`The complete change, base…head, as git reports it`}function Nn(e){return`The recorded diff was cut at ${e.toLocaleString(`en-US`)} characters; open the full diff on GitHub for the rest`}function Pn(e){return e===`meat`?`reading diff · meat`:`full diff · git`}function Fn(e){let t=[];return e.origin===`parsed`&&!e.complete&&t.push(`read back from the PR body`),e.truncated&&t.push(`the body was cut before it was read`),t.length>0?t.join(`; `):void 0}var In=e=>typeof e==`object`&&!!e,$=e=>typeof e==`string`&&e!==``,Ln=e=>typeof e==`number`&&Number.isInteger(e)&&e>0;function Rn(e){for(let t of e.split(/\n\s*\n/)){let e=t.split(`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-DSkVB16z.js","assets/AppShell-DZdz_sl7.js","assets/seed-DeKSHrt2.js","assets/main-DR8iKpNt.js","assets/main-B77vAZVg.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{C as e,S as t,_ as n,b as r,c as i,g as a,h as o,m as s,n as c,p as l,r as u,s as d,t as f,v as p,y as m}from"./AppShell-DZdz_sl7.js";import{A as h,B as g,Ci as ee,Dr as _,Gn as te,H as v,Ht as y,J as b,Jn as ne,Lr as x,Mr as S,N as C,Or as w,P as re,Pr as ie,Q as ae,Qn as T,Rn as oe,Si as se,U as E,Ut as ce,Wn as D,Wt as le,Xt as O,_ as k,_n as A,a as ue,at as de,b as fe,ci as j,cn as M,d as pe,di as me,dr as N,et as he,f as ge,ft as _e,g as P,gn as F,h as ve,hi as ye,ir as I,it as be,j as L,kn as xe,ln as R,m as z,mi as Se,nr as Ce,nt as we,oi as Te,on as B,or as Ee,p as V,r as De,sn as H,t as Oe,u as ke,un as U,ur as W,vi as G,wi as K,x as q,xi as J,xr as Ae,y as Y,yn as X,z as je,zr as Me}from"./seed-DeKSHrt2.js";import{t as Ne}from"./Tooltip-DPDx5tXT.js";import{r as Pe,t as Fe}from"./main-DR8iKpNt.js";import{t as Ie}from"./wallClock-61NpVkY6.js";import{t as Le}from"./NotFoundPage-d37EP8hS.js";import{n as Re,t as ze}from"./localIso-CNA-bhS-.js";import{E as Be,y as Ve}from"./indexRow-BjXBzI5Z.js";import{A as He,C as Ue,D as We,E as Ge,O as Ke,S as qe,T as Je,_ as Ye,a as Xe,b as Ze,c as Qe,d as $e,f as et,g as tt,h as nt,i as rt,k as Z,l as it,m as at,n as ot,o as st,p as ct,r as lt,s as ut,t as dt,u as ft,v as pt,w as mt,x as ht,y as gt}from"./RunFoldRow-Bngn4GjF.js";import{i as _t,n as vt,r as yt}from"./favicon-CSt-qDvc.js";import{i as bt,n as xt,t as St}from"./durationTone-DYogEPEk.js";var[Q,Ct]=g(`DialogRoot`),wt=X({inheritAttrs:!1,__name:`DialogRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=de(n,`open`,t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),i=j(),a=j(),{modal:o,unmountOnHide:s}=ye(n);return Ct({open:r,modal:o,unmountOnHide:s,openModal:()=>{r.value=!0},onOpenChange:e=>{r.value=e},onOpenToggle:()=>{r.value=!r.value},contentId:``,titleId:``,descriptionId:``,triggerElement:i,contentElement:a}),(e,t)=>N(e.$slots,`default`,{open:G(r),close:()=>r.value=!1})}}),Tt=X({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;C();let n=Q();return(e,r)=>(I(),M(G(h),D(t,{type:e.as===`button`?`button`:void 0,onClick:r[0]||=e=>G(n).onOpenChange(!1)}),{default:x(()=>[N(e.$slots,`default`)]),_:3},16,[`type`]))}}),Et=X({__name:`DialogContentImpl`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let r=e,i=t,o=Q(),{forwardRef:s,currentElement:c}=C();return o.titleId||=m(void 0,`reka-dialog-title`),o.descriptionId||=m(void 0,`reka-dialog-description`),T(()=>{o.contentElement=c,je()!==document.body&&(o.triggerElement.value=je())}),(e,t)=>(I(),M(G(n),{"as-child":``,loop:``,trapped:r.trapFocus,present:r.present,onMountAutoFocus:t[5]||=e=>i(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>i(`closeAutoFocus`,e)},{default:x(()=>[A(G(p),D({id:G(o).contentId,ref:G(s),as:e.as,"as-child":e.asChild,present:r.present,"disable-outside-pointer-events":e.disableOutsidePointerEvents,role:`dialog`,"aria-describedby":G(o).descriptionId,"aria-labelledby":G(o).titleId,"data-state":G(a)(G(o).open.value)},e.$attrs,{onDismiss:t[0]||=e=>G(o).onOpenChange(!1),onEscapeKeyDown:t[1]||=e=>i(`escapeKeyDown`,e),onFocusOutside:t[2]||=e=>i(`focusOutside`,e),onInteractOutside:t[3]||=e=>i(`interactOutside`,e),onPointerDownOutside:t[4]||=e=>i(`pointerDownOutside`,e)}),{default:x(()=>[N(e.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`present`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`,`present`]))}}),Dt=X({__name:`DialogContentModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,i=t,a=Q(),o=re(i),{forwardRef:s,currentElement:c}=C(),l=B(()=>n.present?c.value:void 0);r(l);let u=B(()=>{let{present:e,...t}=n;return t});return S(()=>n.present,(e,t)=>{!e&&t&&a.triggerElement.value?.focus()}),(e,t)=>(I(),M(Et,D({...u.value,...G(o)},{ref:G(s),present:e.present,"trap-focus":G(a).open.value,"disable-outside-pointer-events":n.disableOutsidePointerEvents,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(e.preventDefault(),G(a).triggerElement.value?.focus())},onPointerDownOutside:t[1]||=e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()},onFocusOutside:t[2]||=e=>{e.preventDefault()}}),{default:x(()=>[N(e.$slots,`default`)]),_:3},16,[`present`,`trap-focus`,`disable-outside-pointer-events`]))}}),Ot=X({__name:`DialogContentNonModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=re(t);C();let i=Q(),a=j(!1),o=j(!1),s=B(()=>{let{present:e,...t}=n;return t});return S(()=>n.present,(e,t)=>{!e&&t&&(a.value||i.triggerElement.value?.focus(),a.value=!1,o.value=!1)}),(e,t)=>(I(),M(Et,D({...s.value,...G(r)},{present:e.present,"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(a.value||G(i).triggerElement.value?.focus(),e.preventDefault()),a.value=!1,o.value=!1},onInteractOutside:t[1]||=e=>{e.defaultPrevented||(a.value=!0,e.detail.originalEvent.type===`pointerdown`&&(o.value=!0));let t=e.target;G(i).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&o.value&&e.preventDefault()}}),{default:x(()=>[N(e.$slots,`default`)]),_:3},16,[`present`]))}}),kt=X({__name:`DialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Q(),a=re(r),{forwardRef:o}=C();return(e,t)=>(I(),M(G(L),{present:e.forceMount||G(i).open.value,"force-mount":e.forceMount||!G(i).unmountOnHide.value},{default:x(({present:t})=>[G(i).modal.value?Me((I(),M(Dt,D({key:0,ref:G(o),present:G(i).unmountOnHide.value||t},{...n,...G(a),...e.$attrs}),{default:x(()=>[N(e.$slots,`default`)]),_:2},1040,[`present`])),[[y,G(i).unmountOnHide.value||t]]):Me((I(),M(Ot,D({key:1,ref:G(o),present:G(i).unmountOnHide.value||t},{...n,...G(a),...e.$attrs}),{default:x(()=>[N(e.$slots,`default`)]),_:2},1040,[`present`])),[[y,G(i).unmountOnHide.value||t]])]),_:3},8,[`present`,`force-mount`]))}}),At=X({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;C();let n=Q();return(e,r)=>(I(),M(G(h),D(t,{id:G(n).descriptionId}),{default:x(()=>[N(e.$slots,`default`)]),_:3},16,[`id`]))}}),jt=X({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},setup(t){let n=t,r=Q(),i=e(n.present);return S(()=>n.present,e=>i.value=e),C(),(e,t)=>(I(),M(G(h),{as:e.as,"as-child":e.asChild,"data-state":G(r).open.value?`open`:`closed`,style:{"pointer-events":`auto`},onPointerdown:t[0]||=le(()=>{},[`left`,`self`,`prevent`])},{default:x(()=>[N(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),Mt=X({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=Q(),{forwardRef:n}=C();return(e,r)=>G(t)?.modal.value?(I(),M(G(L),{key:0,present:e.forceMount||G(t).open.value,"force-mount":e.forceMount||!G(t).unmountOnHide.value},{default:x(({present:r})=>[Me(A(jt,D(e.$attrs,{ref:G(n),as:e.as,"as-child":e.asChild,present:G(t).unmountOnHide.value||r}),{default:x(()=>[N(e.$slots,`default`)]),_:2},1040,[`as`,`as-child`,`present`]),[[y,G(t).unmountOnHide.value||r]])]),_:3},8,[`present`,`force-mount`])):R(`v-if`,!0)}}),Nt=X({__name:`DialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(I(),M(G(q),se(xe(t)),{default:x(()=>[N(e.$slots,`default`)]),_:3},16))}}),Pt=X({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e,n=Q();return C(),(e,r)=>(I(),M(G(h),D(t,{id:G(n).titleId}),{default:x(()=>[N(e.$slots,`default`)]),_:3},16,[`id`]))}}),Ft=X({__name:`DialogTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Q(),{forwardRef:r,currentElement:i}=C();return n.contentId||=m(void 0,`reka-dialog-content`),T(()=>{n.triggerElement.value=i.value}),(e,i)=>(I(),M(G(h),D(t,{ref:G(r),type:e.as===`button`?`button`:void 0,"aria-haspopup":`dialog`,"aria-expanded":G(n).open.value||!1,"aria-controls":G(n).open.value?G(n).contentId:void 0,"data-state":G(n).open.value?`open`:`closed`,onClick:G(n).onOpenToggle}),{default:x(()=>[N(e.$slots,`default`)]),_:3},16,[`type`,`aria-expanded`,`aria-controls`,`data-state`,`onClick`]))}}),It=X({__name:`RovingFocusItem`,props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,n=i(),r=m(),a=B(()=>t.tabStopId||r),c=B(()=>n.currentTabStopId.value===a.value),{getItems:u,CollectionItem:d}=fe();T(()=>{t.focusable&&n.onFocusableItemAdd()}),Ce(()=>{t.focusable&&n.onFocusableItemRemove()}),S(()=>t.focusable,(e,t)=>{e!==t&&(e?n.onFocusableItemAdd():n.onFocusableItemRemove())});function f(e){if(e.key===`Tab`&&e.shiftKey){n.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let r=s(e,n.orientation.value,n.dir.value);if(r!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||!t.allowShiftKey&&e.shiftKey)return;e.preventDefault();let i=[...u().map(e=>e.ref).filter(e=>e.dataset.disabled!==``)];if(r===`last`)i.reverse();else if(r===`prev`||r===`next`){r===`prev`&&i.reverse();let t=i.indexOf(e.currentTarget);i=n.loop.value?o(i,t+1):i.slice(t+1)}te(()=>l(i))}}return(e,t)=>(I(),M(G(d),null,{default:x(()=>[A(G(h),{tabindex:c.value?0:-1,"data-orientation":G(n).orientation.value,"data-active":e.active?``:void 0,"data-disabled":e.focusable?void 0:``,as:e.as,"as-child":e.asChild,onMousedown:t[0]||=t=>{e.focusable?G(n).onItemFocus(a.value):t.preventDefault()},onFocus:t[1]||=e=>G(n).onItemFocus(a.value),onKeydown:f},{default:x(()=>[N(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`data-active`,`data-disabled`,`as`,`as-child`])]),_:3}))}}),[Lt,Rt]=g(`TabsRoot`),zt=X({__name:`TabsRoot`,props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:`horizontal`},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:`automatic`},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,i=n,{orientation:a,unmountOnHide:o,dir:s}=ye(r),c=t(s);C();let l=de(r,`modelValue`,i,{defaultValue:r.defaultValue,passive:r.modelValue===void 0}),u=j(),d=me(new Set);return Rt({modelValue:l,changeModelValue:e=>{l.value=e},orientation:a,dir:c,unmountOnHide:o,activationMode:r.activationMode,baseId:m(void 0,`reka-tabs`),tabsList:u,contentIds:d,registerContent:e=>{d.value=new Set([...d.value,e])},unregisterContent:e=>{let t=new Set(d.value);t.delete(e),d.value=t}}),(e,t)=>(I(),M(G(h),{dir:G(c),"data-orientation":G(a),"as-child":e.asChild,as:e.as},{default:x(()=>[N(e.$slots,`default`,{modelValue:G(l)})]),_:3},8,[`dir`,`data-orientation`,`as-child`,`as`]))}});function Bt(e,t){return`${e}-trigger-${t}`}function Vt(e,t){return`${e}-content-${t}`}var Ht=X({__name:`TabsContent`,props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n}=C(),r=Lt(),i=B(()=>Bt(r.baseId,t.value)),a=B(()=>Vt(r.baseId,t.value)),o=B(()=>t.value===r.modelValue.value),s=j(o.value);return T(()=>{r.registerContent(t.value),requestAnimationFrame(()=>{s.value=!1})}),ne(()=>{r.unregisterContent(t.value)}),(e,t)=>(I(),M(G(L),{present:e.forceMount||o.value,"force-mount":``},{default:x(({present:t})=>[A(G(h),{id:a.value,ref:G(n),"as-child":e.asChild,as:e.as,role:`tabpanel`,"data-state":o.value?`active`:`inactive`,"data-orientation":G(r).orientation.value,"aria-labelledby":i.value,hidden:!t,tabindex:`0`,style:ee({animationDuration:s.value?`0s`:void 0})},{default:x(()=>[!G(r).unmountOnHide.value||t?N(e.$slots,`default`,{key:0}):R(`v-if`,!0)]),_:2},1032,[`id`,`as-child`,`as`,`data-state`,`data-orientation`,`aria-labelledby`,`hidden`,`style`])]),_:3},8,[`present`]))}}),Ut=X({__name:`TabsIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e,{expose:t}){let n=e,r=Lt();t({updateIndicatorStyle:s}),C();let i=we(),a=j({size:null,thickness:null,position:null}),o=j([]);S(()=>[r.modelValue.value,r?.dir.value],()=>{s()},{immediate:!0,flush:`post`}),ie(()=>{o.value=Array.from(r.tabsList.value?.querySelectorAll(`[role="tab"]`)||[])}),be(B(()=>[r.tabsList.value,...o.value]),s);function s(){let e=r.tabsList.value?.querySelector(`[role="tab"][data-state="active"]`);e&&(r.orientation.value===`horizontal`?a.value={size:e.offsetWidth,thickness:e.offsetHeight,position:e.offsetLeft}:a.value={size:e.offsetHeight,thickness:e.offsetWidth,position:e.offsetTop})}return(e,t)=>G(i)&&typeof a.value.size==`number`?(I(),M(G(h),D({key:0},n,{style:{"--reka-tabs-indicator-size":`${a.value.size}px`,"--reka-tabs-indicator-thickness":`${a.value.thickness}px`,"--reka-tabs-indicator-position":`${a.value.position}px`}}),{default:x(()=>[N(e.$slots,`default`)]),_:3},16,[`style`])):R(`v-if`,!0)}}),Wt=X({__name:`TabsList`,props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let{loop:t}=ye(e),{forwardRef:n,currentElement:r}=C(),i=Lt();return i.tabsList=r,(e,r)=>(I(),M(G(d),{"as-child":``,orientation:G(i).orientation.value,dir:G(i).dir.value,loop:G(t)},{default:x(()=>[A(G(h),{ref:G(n),role:`tablist`,"as-child":e.asChild,as:e.as,"aria-orientation":G(i).orientation.value},{default:x(()=>[N(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`aria-orientation`])]),_:3},8,[`orientation`,`dir`,`loop`]))}}),Gt=X({__name:`TabsTrigger`,props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,{forwardRef:n}=C(),r=Lt(),i=B(()=>Bt(r.baseId,t.value)),a=B(()=>r.contentIds.value.has(t.value)?Vt(r.baseId,t.value):void 0),o=B(()=>t.value===r.modelValue.value);return(e,t)=>(I(),M(G(It),{"as-child":``,focusable:!e.disabled,active:o.value},{default:x(()=>[A(G(h),{id:i.value,ref:G(n),role:`tab`,type:e.as===`button`?`button`:void 0,as:e.as,"as-child":e.asChild,"aria-selected":o.value?`true`:`false`,"aria-controls":a.value,"data-state":o.value?`active`:`inactive`,disabled:e.disabled,"data-disabled":e.disabled?``:void 0,"data-orientation":G(r).orientation.value,onMousedown:t[0]||=le(t=>{!e.disabled&&t.ctrlKey===!1?G(r).changeModelValue(e.value):t.preventDefault()},[`left`]),onKeydown:t[1]||=ce(t=>G(r).changeModelValue(e.value),[`enter`,`space`]),onFocus:t[2]||=()=>{let t=G(r).activationMode!==`manual`;!o.value&&!e.disabled&&t&&G(r).changeModelValue(e.value)}},{default:x(()=>[N(e.$slots,`default`)]),_:3},8,[`id`,`type`,`as`,`as-child`,`aria-selected`,`aria-controls`,`data-state`,`disabled`,`data-disabled`,`data-orientation`])]),_:3},8,[`focusable`,`active`]))}});function Kt(e,t={}){let n=e.detail.originalEvent,r=n.target;if(!r?.isConnected){e.preventDefault();return}t.scrollable&&(n.offsetX>r.clientWidth||n.offsetY>r.clientHeight)&&e.preventDefault()}var qt={slots:{overlay:`fixed inset-0 bg-elevated/75`,content:`fixed bg-default divide-y divide-default sm:ring ring-default sm:shadow-lg flex flex-col focus:outline-none`,header:`flex items-center gap-1.5 p-4 sm:px-6 min-h-(--ui-header-height)`,wrapper:``,body:`flex-1 overflow-y-auto p-4 sm:p-6`,footer:`flex items-center gap-1.5 p-4 sm:px-6`,title:`text-highlighted font-semibold`,description:`mt-1 text-muted text-sm`,close:`absolute top-4 end-4`},variants:{side:{top:{content:``},right:{content:`max-w-md`},bottom:{content:``},left:{content:`max-w-md`}},inset:{true:{content:`rounded-lg`}},transition:{true:{overlay:`data-[state=open]:animate-[fade-in_200ms_var(--ease-out)] data-[state=closed]:animate-[fade-out_200ms_var(--ease-out)]`}}},compoundVariants:[{side:`top`,inset:!0,class:{content:`max-h-[calc(100%-2rem)] inset-x-4 top-4`}},{side:`top`,inset:!1,class:{content:`max-h-full inset-x-0 top-0`}},{side:`right`,inset:!0,class:{content:`w-[calc(100%-2rem)] inset-y-4 right-4`}},{side:`right`,inset:!1,class:{content:`w-full inset-y-0 right-0`}},{side:`bottom`,inset:!0,class:{content:`max-h-[calc(100%-2rem)] inset-x-4 bottom-4`}},{side:`bottom`,inset:!1,class:{content:`max-h-full inset-x-0 bottom-0`}},{side:`left`,inset:!0,class:{content:`w-[calc(100%-2rem)] inset-y-4 left-4`}},{side:`left`,inset:!1,class:{content:`w-full inset-y-0 left-0`}},{transition:!0,side:`top`,class:{content:`data-[state=open]:animate-[slide-in-from-top_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-top_200ms_var(--ease-out)]`}},{transition:!0,side:`right`,class:{content:`data-[state=open]:animate-[slide-in-from-right_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-right_200ms_var(--ease-out)]`}},{transition:!0,side:`bottom`,class:{content:`data-[state=open]:animate-[slide-in-from-bottom_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-bottom_200ms_var(--ease-out)]`}},{transition:!0,side:`left`,class:{content:`data-[state=open]:animate-[slide-in-from-left_200ms_var(--ease-out)] data-[state=closed]:animate-[slide-out-to-left_200ms_var(--ease-out)]`}}]},Jt={__name:`Slideover`,props:{title:{type:String,required:!1},description:{type:String,required:!1},content:{type:Object,required:!1},overlay:{type:Boolean,required:!1,default:!0},transition:{type:Boolean,required:!1,default:!0},side:{type:null,required:!1,default:`right`},inset:{type:Boolean,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},close:{type:[Boolean,Object],required:!1,default:!0},closeIcon:{type:null,required:!1},dismissible:{type:Boolean,required:!1,default:!0},class:{type:null,required:!1},ui:{type:Object,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},modal:{type:Boolean,required:!1,default:!0},unmountOnHide:{type:Boolean,required:!1}},emits:[`leave`,`after:leave`,`enter`,`after:enter`,`close:prevent`,`update:open`],setup(e,{emit:t}){let n=e,r=t,i=_(),a=k(`slideover`,n),{t:o}=v(),s=b(),c=P(_e(a,`open`,`defaultOpen`,`modal`,`unmountOnHide`),r),l=Y(Se(()=>a.portal)),u=Se(()=>a.content),d=B(()=>a.dismissible?{pointerDownOutside:Kt}:[`interactOutside`,`escapeKeyDown`].reduce((e,t)=>(e[t]=e=>{e.preventDefault(),r(`close:prevent`)},e),{})),f=B(()=>ve({extend:qt,...s.ui?.slideover||{}})({transition:a.transition,side:a.side,inset:a.inset}));return(e,t)=>(I(),M(G(wt),se(xe(G(c))),{default:x(({open:n,close:c})=>[i.default?(I(),M(G(Ft),{key:0,"as-child":``,class:J(G(a).class)},{default:x(()=>[N(e.$slots,`default`,{open:n})]),_:2},1032,[`class`])):R(``,!0),A(G(Nt),D(G(l),{"force-mount":G(l).disabled&&G(a).unmountOnHide===!1||void 0}),{default:x(()=>[A(G(ke),null,{default:x(()=>[G(a).overlay?(I(),M(G(Mt),{key:0,"data-slot":`overlay`,class:J(f.value.overlay({class:G(a).ui?.overlay}))},null,8,[`class`])):R(``,!0),A(G(kt),D({"data-side":G(a).side,"data-slot":`content`,class:f.value.content({class:[!i.default&&G(a).class,G(a).ui?.content]})},u.value,{onEnter:t[0]||=e=>r(`enter`),onAfterEnter:t[1]||=e=>r(`after:enter`),onLeave:t[2]||=e=>r(`leave`),onAfterLeave:t[3]||=e=>r(`after:leave`)},Ae(d.value)),{default:x(()=>[!G(a).title&&!i.title||!G(a).description&&!i.description||i.content?(I(),M(G(Pe),{key:0},{default:x(()=>[!G(a).title&&!i.title?(I(),M(G(Pt),{key:0})):i.content?(I(),M(G(Pt),{key:1},{default:x(()=>[N(e.$slots,`title`,{},()=>[F(K(G(a).title),1)])]),_:3})):R(``,!0),!G(a).description&&!i.description?(I(),M(G(At),{key:2})):i.content?(I(),M(G(At),{key:3},{default:x(()=>[N(e.$slots,`description`,{},()=>[F(K(G(a).description),1)])]),_:3})):R(``,!0)]),_:3})):R(``,!0),N(e.$slots,`content`,{close:c},()=>[i.header||G(a).title||i.title||G(a).description||i.description||G(a).close||i.close?(I(),U(`div`,{key:0,"data-slot":`header`,class:J(f.value.header({class:G(a).ui?.header}))},[N(e.$slots,`header`,{close:c},()=>[G(a).title||i.title||G(a).description||i.description?(I(),U(`div`,{key:0,"data-slot":`wrapper`,class:J(f.value.wrapper({class:G(a).ui?.wrapper}))},[G(a).title||i.title?(I(),M(G(Pt),{key:0,"data-slot":`title`,class:J(f.value.title({class:G(a).ui?.title}))},{default:x(()=>[N(e.$slots,`title`,{},()=>[F(K(G(a).title),1)])]),_:3},8,[`class`])):R(``,!0),G(a).description||i.description?(I(),M(G(At),{key:1,"data-slot":`description`,class:J(f.value.description({class:G(a).ui?.description}))},{default:x(()=>[N(e.$slots,`description`,{},()=>[F(K(G(a).description),1)])]),_:3},8,[`class`])):R(``,!0)],2)):R(``,!0),N(e.$slots,`actions`),G(a).close||i.close?(I(),M(G(Tt),{key:1,"as-child":``},{default:x(()=>[N(e.$slots,`close`,{ui:f.value},()=>[G(a).close?(I(),M(ue,D({key:0,icon:G(a).closeIcon||G(s).ui.icons.close,color:`neutral`,variant:`ghost`,"aria-label":G(o)(`slideover.close`)},typeof G(a).close==`object`?G(a).close:{},{"data-slot":`close`,class:f.value.close({class:G(a).ui?.close})}),null,16,[`icon`,`aria-label`,`class`])):R(``,!0)])]),_:2},1024)):R(``,!0)])],2)):R(``,!0),H(`div`,{"data-slot":`body`,class:J(f.value.body({class:G(a).ui?.body}))},[N(e.$slots,`body`,{close:c})],2),i.footer?(I(),U(`div`,{key:1,"data-slot":`footer`,class:J(f.value.footer({class:G(a).ui?.footer}))},[N(e.$slots,`footer`,{close:c})],2)):R(``,!0)])]),_:2},1040,[`data-side`,`class`])]),_:2},1024)]),_:2},1040,[`force-mount`])]),_:3},16))}},Yt=[`data-expanded`,`data-overflowing`],Xt={key:0,class:`fade pointer-events-none absolute inset-x-0 bottom-6 h-10`},Zt={key:1,class:`mt-1 flex justify-start`},Qt=[`aria-expanded`],$t=u(X({__name:`ExpandableText`,props:{lines:{default:5}},setup(e){let t=e,n=j(!1),r=j(!1),i=j(null),a=`expandable-${Math.random().toString(36).slice(2,8)}`;function o(){let e=i.value;e&&!n.value&&(r.value=e.scrollHeight>e.clientHeight+1)}let s=null;T(()=>{o(),typeof ResizeObserver<`u`&&i.value&&(s=new ResizeObserver(()=>o()),s.observe(i.value))}),ne(()=>s?.disconnect()),S(n,e=>{e||Promise.resolve().then(o)});function c(){n.value=!n.value}function l(e){!n.value&&r.value&&(e.target?.closest?.(`a`)||(n.value=!0))}return(e,o)=>(I(),U(`div`,{class:J([`expandable group relative`,!n.value&&r.value?`cursor-pointer`:``]),"data-expanded":n.value?`1`:`0`,"data-overflowing":r.value?`1`:`0`,onClick:l},[H(`div`,{id:a,ref_key:`body`,ref:i,class:J([`body`,n.value?``:`clamped`]),style:ee(n.value?void 0:{"--expandable-lines":String(t.lines)})},[N(e.$slots,`default`,{},void 0,!0)],6),!n.value&&r.value?(I(),U(`div`,Xt)):R(``,!0),r.value||n.value?(I(),U(`div`,Zt,[H(`button`,{type:`button`,class:`more cursor-pointer text-xs text-dimmed group-hover:text-primary hover:underline focus-visible:outline-2 focus-visible:outline-primary`,"aria-expanded":n.value?`true`:`false`,"aria-controls":a,onClick:le(c,[`stop`])},K(n.value?`Show less`:`Show more`),9,Qt)])):R(``,!0)],10,Yt))}}),[[`__scopeId`,`data-v-ce3bfa89`]]),en=[`id`],tn={class:`what`},nn={key:0,class:`text-dimmed`},rn={key:1,class:`dur tabular-nums text-dimmed`},an=[`title`],on=X({__name:`SpanRow`,props:{item:{}},setup(e){return(t,n)=>(I(),U(`li`,{id:`span-${e.item.spanId}`,class:`span flex items-baseline gap-2 py-0.5 pr-(--sb-gutter) font-mono text-xs text-muted`},[H(`span`,{class:J([`glyph select-none`,e.item.status===`error`?`text-bad`:`text-dimmed`])},K(e.item.open?`◌`:e.item.status===`error`?`✗`:`◷`),3),H(`span`,tn,K(e.item.text),1),e.item.open?(I(),U(`span`,nn,`…`)):e.item.durationMs===void 0?R(``,!0):(I(),U(`span`,rn,K(G(Be)(e.item.durationMs,`precise`)),1)),e.item.at===void 0?R(``,!0):(I(),U(`span`,{key:2,class:`ts ml-auto select-none text-dimmed`,title:G(ze)(e.item.at)},K(G(He)(e.item.at)),9,an))],8,en))}}),sn=[`data-position`],cn={class:`mb-2 flex items-baseline gap-2.5 font-mono text-xs font-medium uppercase tracking-wider text-ok`},ln=[`href`],un={key:1,class:`caption font-normal normal-case tracking-normal text-dimmed`},dn=[`title`],fn=X({__name:`ReplyBlock`,props:{text:{},caption:{},when:{},whenTitle:{},position:{},files:{}},setup(e){return(t,n)=>(I(),U(`section`,{id:`reply`,class:J([`block rounded-lg border border-ok/40 bg-(--ui-bg-muted) px-(--sb-gutter) py-3`,e.position===`first`?`mb-4`:`mt-6`]),"data-position":e.position},[H(`h2`,cn,[n[0]||=H(`span`,null,`Reply`,-1),e.caption.href?(I(),U(`a`,{key:0,class:`caption font-normal normal-case tracking-normal text-dimmed no-underline hover:text-primary hover:underline`,href:e.caption.href,target:`_blank`,rel:`noopener noreferrer`},K(e.caption.text),9,ln)):(I(),U(`span`,un,K(e.caption.text),1)),H(`span`,{class:`ts ml-auto select-none text-xs font-normal normal-case tracking-normal text-dimmed`,title:e.whenTitle},K(e.when),9,dn)]),A(Z,{text:e.text},null,8,[`text`]),e.files.length>0?(I(),M(ut,{key:0,files:e.files},null,8,[`files`])):R(``,!0)],10,sn))}}),pn={id:`units`,class:`block mb-4 rounded-lg border border-default bg-(--ui-bg-muted) px-(--sb-gutter) py-3`},mn={class:`mb-2 flex items-baseline gap-2.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},hn={class:`count font-normal normal-case tracking-normal text-dimmed`},gn={class:`m-0 list-none p-0`},_n=[`data-unit`],vn=[`href`],yn=[`href`],bn=[`href`],xn=X({__name:`RunUnitsBlock`,props:{units:{}},setup(e){let t={merged:`border-ok/30 text-ok`,merge_ready:`border-ok/30 text-ok`,done:`border-ok/30 text-ok`};function n(e){return e.ending?e.ending.kind:e.threads.coding===void 0?`not started`:`round ${e.rounds.at(-1)?.index??0} · ${e.rounds.at(-1)?.agent??`in flight`}`}return(r,i)=>(I(),U(`section`,pn,[H(`h2`,mn,[i[0]||=H(`span`,null,`Units`,-1),H(`span`,hn,`· `+K(e.units.length)+` unit`+K(e.units.length===1?``:`s`)+` — each opens to its runs in round order`,1)]),H(`ol`,gn,[(I(!0),U(O,null,W(e.units,e=>(I(),U(`li`,{key:e.unit,class:`unit flex flex-wrap items-baseline gap-x-2.5 gap-y-0.5 border-t border-default py-1.5 first:border-t-0`,"data-unit":e.unit},[H(`a`,{class:`key shrink-0 rounded border border-accented px-1.5 font-mono text-[0.72rem] font-medium text-toned no-underline hover:border-primary hover:text-primary`,href:`/runs/unit/${encodeURIComponent(e.unit)}`},K(e.id),9,vn),H(`a`,{class:`title min-w-0 flex-1 truncate text-sm text-highlighted no-underline hover:underline`,href:`/runs/unit/${encodeURIComponent(e.unit)}`},K(e.title??e.branch),9,yn),H(`span`,{class:J([`standing shrink-0 rounded border px-1.5 font-mono text-[0.7rem]`,t[e.ending?.kind??``]??`border-accented text-muted`])},K(n(e)),3),e.pr?(I(),U(`a`,{key:0,class:`prlink shrink-0 whitespace-nowrap font-mono text-xs text-primary no-underline hover:underline`,href:e.pr.url,target:`_blank`,rel:`noopener noreferrer`},[A(Ke,{class:`mr-1 align-[-0.125em]`}),F(`#`+K(e.pr.number),1)],8,bn)):R(``,!0)],8,_n))),128))])]))}}),Sn={id:`children`,class:`block mb-4 px-(--sb-gutter)`},Cn={class:`mb-1 flex items-baseline gap-2.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},wn={class:`count font-normal normal-case tracking-normal text-dimmed`},Tn={class:`m-0 list-none border-t border-muted p-0`},En=X({__name:`RunChildrenBlock`,props:{children:{},now:{}},setup(e){return(t,n)=>(I(),U(`section`,Sn,[H(`h2`,Cn,[n[0]||=H(`span`,null,`Spawned runs`,-1),H(`span`,wn,`· `+K(e.children.length)+` run`+K(e.children.length===1?``:`s`)+`, in the order they started`,1)]),H(`ol`,Tn,[(I(!0),U(O,null,W(e.children,t=>(I(),M(dt,{key:t.id,run:t,now:e.now},null,8,[`run`,`now`]))),128))])]))}});function Dn(e){return e.description?.title?e.description.title:e.pr.repo&&e.pr.number!==void 0?`${e.pr.repo}#${e.pr.number}`:e.pr.repo??`PR review`}var On=/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/,kn=/^[0-9a-f]{7,40}$/;function An(e){if(!e.repo||!On.test(e.repo))return{};let t=`https://github.com/${e.repo}`,n={};return e.number!==void 0&&Number.isInteger(e.number)&&e.number>0&&(n.pr=`${t}/pull/${e.number}`,n.files=`${t}/pull/${e.number}/files`),e.headSha&&kn.test(e.headSha)&&(n.commit=e.number!==void 0&&n.pr?`${t}/pull/${e.number}/commits/${e.headSha}`:`${t}/commit/${e.headSha}`),n}function jn(e){return e.find(e=>e.poweredBy===`meat`)??e.find(e=>e.poweredBy===`git`)??null}function Mn(e){return e===`meat`?`An abridged reading of the change: a model dropped what a reviewer need not read (style, imports, boilerplate) and kept the concepts`:`The complete change, base…head, as git reports it`}function Nn(e){return`The recorded diff was cut at ${e.toLocaleString(`en-US`)} characters; open the full diff on GitHub for the rest`}function Pn(e){return e===`meat`?`reading diff · meat`:`full diff · git`}function Fn(e){let t=[];return e.origin===`parsed`&&!e.complete&&t.push(`read back from the PR body`),e.truncated&&t.push(`the body was cut before it was read`),t.length>0?t.join(`; `):void 0}var In=e=>typeof e==`object`&&!!e,$=e=>typeof e==`string`&&e!==``,Ln=e=>typeof e==`number`&&Number.isInteger(e)&&e>0;function Rn(e){for(let t of e.split(/\n\s*\n/)){let e=t.split(`
|
|
3
3
|
`).map(e=>e.trim()).filter(e=>e!==``);if(!(e.length===0||e.every(e=>e.startsWith(`#`))))return e.join(`
|
|
4
4
|
`)}}function zn(e,t){let n=t.trim().toLowerCase(),r=[],i=!1,a=!1;for(let t of e.split(`
|
|
5
5
|
`)){/^\s*```/.test(t)&&(i=!i);let e=i?null:/^##\s+(.+?)\s*$/.exec(t);if(e){if(a)break;a=e[1].toLowerCase()===n;continue}a&&r.push(t)}let o=r.join(`
|
|
6
|
-
`).trim();return o===``?void 0:o}function Bn(e){if(!$(e.title)||e.origin!==`submitted`&&e.origin!==`parsed`)return;let t=typeof e.body==`string`?e.body:``,n=$(e.tldr)?e.tldr:Rn(t),r=zn(t,`What & why`);return{title:e.title,...n===void 0?{}:{tldr:n},...r===void 0?{}:{whatWhy:r},origin:e.origin,complete:e.complete===!0,truncated:e.truncated===!0}}function Vn(){let e=Te({pr:{},readingDiffs:[],ready:!1});return{state:e,handle(t){if(!In(t))return;let n=t;if(n.type===`run_meta`)$(n.repo)&&(e.pr.repo=n.repo),Ln(n.pr)&&(e.pr.number=n.pr),typeof n.headSha==`string`&&kn.test(n.headSha)&&(e.pr.headSha=n.headSha);else if(n.type===`review_artifact`&&n.artifact===`reading_diff`){if(!$(n.diff)||n.poweredBy!==`git`&&n.poweredBy!==`meat`)return;let t={poweredBy:n.poweredBy,baseRef:$(n.baseRef)?n.baseRef:`HEAD`,diff:n.diff,truncated:n.truncated===!0,...$(n.summary)?{summary:n.summary}:{}},r=e.readingDiffs.findIndex(e=>e.poweredBy===t.poweredBy);r>=0?e.readingDiffs.splice(r,1,t):e.readingDiffs.push(t),e.ready=!0}else if(n.type===`review_artifact`&&n.artifact===`pr_description`){let t=Bn(n);t&&(e.description=t)}}}}var Hn=3e3,Un={fetch:(...e)=>globalThis.fetch(...e),delay:e=>new Promise(t=>setTimeout(t,e))};function Wn(e,t,n={}){let{fetch:r,delay:i}={...Un,...n},a=Te({state:{state:`absent`}}),o=!1,s=!1;async function c(t){let n=await r(`/api/review.abridge`,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({id:e,...t?{force:!0}:{}})}),i=await n.json().catch(()=>null);if(!n.ok)throw Error(typeof i?.error==`string`?i.error:`HTTP ${n.status}`);return i??{}}async function l(){let n=!1,i;for(let a=0;a<50;a++){let a=`id=${encodeURIComponent(e)}${i===void 0?``:`&after-seq=${i}`}`,s=await r(`/api/runs.events?${a}`,{credentials:`same-origin`});if(o)return`disposed`;if(!s.ok)throw Error(`HTTP ${s.status}`);let c=await s.json();if(o)return`disposed`;for(let e of c.events??[]){t(e);let r=e;r.type===`review_artifact`&&r.artifact===`reading_diff`&&r.poweredBy===`meat`&&(n=!0)}if(typeof c.nextAfterSeq!=`number`)return n?`found`:`missing`;if(i!==void 0&&c.nextAfterSeq<=i)return`stuck`;i=c.nextAfterSeq}return`stuck`}async function u(e){try{let t=await c(e);for(let e=0;t.state===`running`;e++){if(e>=200){s=!1,a.state={state:`failed`,reason:`still running after the page stopped waiting; ask again later`};return}if(await i(Hn),o)return;t=await c(!1)}if(o)return;if(t.state===`failed`)s=!0,a.state={state:`failed`,reason:typeof t.reason==`string`?t.reason:`unknown reason`};else if(t.state===`done`){let e=await l();if(e===`disposed`)return;s=!1,a.state=e===`found`?{state:`done`}:{state:`failed`,reason:e===`stuck`?`the run's record did not page to its end`:`the abridged diff did not appear on the run's record`}}else s=!1,a.state={state:`failed`,reason:`unexpected answer: ${String(t.state)}`}}catch(e){if(o)return;s=!1,a.state={state:`failed`,reason:e instanceof Error?e.message:String(e)}}}return{get state(){return a.state},start(){if(a.state.state===`running`||o)return;let e=a.state.state===`failed`&&s;a.state={state:`running`},u(e)},dispose(){o=!0}}}var Gn={slots:{base:`font-medium inline-flex items-center`,label:`truncate`,leadingIcon:`shrink-0`,leadingAvatar:`shrink-0`,leadingAvatarSize:``,trailingIcon:`shrink-0`},variants:{fieldGroup:{horizontal:`not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1]`,vertical:`not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none focus-visible:z-[1]`},color:{primary:``,secondary:``,success:``,info:``,warning:``,error:``,neutral:``},variant:{solid:``,outline:``,soft:``,subtle:``},size:{xs:{base:`text-[8px]/3 px-1 py-0.5 gap-1 rounded-sm`,leadingIcon:`size-3`,leadingAvatarSize:`3xs`,trailingIcon:`size-3`},sm:{base:`text-[10px]/3 px-1.5 py-1 gap-1 rounded-sm`,leadingIcon:`size-3`,leadingAvatarSize:`3xs`,trailingIcon:`size-3`},md:{base:`text-xs px-2 py-1 gap-1 rounded-md`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`,trailingIcon:`size-4`},lg:{base:`text-sm px-2 py-1 gap-1.5 rounded-md`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`,trailingIcon:`size-5`},xl:{base:`text-base px-2.5 py-1 gap-1.5 rounded-md`,leadingIcon:`size-6`,leadingAvatarSize:`2xs`,trailingIcon:`size-6`}},square:{true:``}},compoundVariants:[{color:`primary`,variant:`solid`,class:`bg-primary text-inverted`},{color:`secondary`,variant:`solid`,class:`bg-secondary text-inverted`},{color:`success`,variant:`solid`,class:`bg-success text-inverted`},{color:`info`,variant:`solid`,class:`bg-info text-inverted`},{color:`warning`,variant:`solid`,class:`bg-warning text-inverted`},{color:`error`,variant:`solid`,class:`bg-error text-inverted`},{color:`primary`,variant:`outline`,class:`text-primary ring ring-inset ring-primary/50`},{color:`secondary`,variant:`outline`,class:`text-secondary ring ring-inset ring-secondary/50`},{color:`success`,variant:`outline`,class:`text-success ring ring-inset ring-success/50`},{color:`info`,variant:`outline`,class:`text-info ring ring-inset ring-info/50`},{color:`warning`,variant:`outline`,class:`text-warning ring ring-inset ring-warning/50`},{color:`error`,variant:`outline`,class:`text-error ring ring-inset ring-error/50`},{color:`primary`,variant:`soft`,class:`bg-primary/10 text-primary`},{color:`secondary`,variant:`soft`,class:`bg-secondary/10 text-secondary`},{color:`success`,variant:`soft`,class:`bg-success/10 text-success`},{color:`info`,variant:`soft`,class:`bg-info/10 text-info`},{color:`warning`,variant:`soft`,class:`bg-warning/10 text-warning`},{color:`error`,variant:`soft`,class:`bg-error/10 text-error`},{color:`primary`,variant:`subtle`,class:`bg-primary/10 text-primary ring ring-inset ring-primary/25`},{color:`secondary`,variant:`subtle`,class:`bg-secondary/10 text-secondary ring ring-inset ring-secondary/25`},{color:`success`,variant:`subtle`,class:`bg-success/10 text-success ring ring-inset ring-success/25`},{color:`info`,variant:`subtle`,class:`bg-info/10 text-info ring ring-inset ring-info/25`},{color:`warning`,variant:`subtle`,class:`bg-warning/10 text-warning ring ring-inset ring-warning/25`},{color:`error`,variant:`subtle`,class:`bg-error/10 text-error ring ring-inset ring-error/25`},{color:`neutral`,variant:`solid`,class:`text-inverted bg-inverted`},{color:`neutral`,variant:`outline`,class:`ring ring-inset ring-accented text-default bg-default`},{color:`neutral`,variant:`soft`,class:`text-default bg-elevated`},{color:`neutral`,variant:`subtle`,class:`ring ring-inset ring-accented text-default bg-elevated`},{size:`xs`,square:!0,class:`p-0.5`},{size:`sm`,square:!0,class:`p-1`},{size:`md`,square:!0,class:`p-1`},{size:`lg`,square:!0,class:`p-1`},{size:`xl`,square:!0,class:`p-1`}],defaultVariants:{color:`primary`,variant:`solid`,size:`md`}},Kn={__name:`Badge`,props:{as:{type:null,required:!1,default:`span`},label:{type:[String,Number],required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},square:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1}},setup(e){let t=e,n=_(),r=k(`badge`,t),i=b(),{orientation:a,size:o}=pe(t),{isLeading:s,isTrailing:c,leadingIconName:l,trailingIconName:u}=ge(r),d=B(()=>ve({extend:Gn,...i.ui?.badge||{}})({color:r.color,variant:r.variant,size:o.value??r.size,square:r.square||!n.default&&!r.label,fieldGroup:a.value}));return(e,t)=>(I(),M(G(h),{as:G(r).as,"data-slot":`base`,class:J(d.value.base({class:[G(r).ui?.base,G(r).class]}))},{default:x(()=>[N(e.$slots,`leading`,{ui:d.value},()=>[G(s)&&G(l)?(I(),M(z,{key:0,name:G(l),"data-slot":`leadingIcon`,class:J(d.value.leadingIcon({class:G(r).ui?.leadingIcon}))},null,8,[`name`,`class`])):G(r).avatar?(I(),M(V,D({key:1,size:G(r).ui?.leadingAvatarSize||d.value.leadingAvatarSize()},G(r).avatar,{"data-slot":`leadingAvatar`,class:d.value.leadingAvatar({class:G(r).ui?.leadingAvatar})}),null,16,[`size`,`class`])):R(``,!0)]),N(e.$slots,`default`,{ui:d.value},()=>[G(r).label!==void 0&&G(r).label!==null?(I(),U(`span`,{key:0,"data-slot":`label`,class:J(d.value.label({class:G(r).ui?.label}))},K(G(r).label),3)):R(``,!0)]),N(e.$slots,`trailing`,{ui:d.value},()=>[G(c)&&G(u)?(I(),M(z,{key:0,name:G(u),"data-slot":`trailingIcon`,class:J(d.value.trailingIcon({class:G(r).ui?.trailingIcon}))},null,8,[`name`,`class`])):R(``,!0)])]),_:3},8,[`as`,`class`]))}},qn={slots:{root:`flex items-center gap-2`,list:`relative flex p-1 group`,indicator:`absolute transition-[translate,width] duration-200 ease-out motion-reduce:transition-none`,trigger:[`group relative inline-flex items-center min-w-0 data-[state=inactive]:text-muted hover:data-[state=inactive]:not-disabled:text-default font-medium rounded-md disabled:cursor-not-allowed disabled:opacity-75`,`transition-colors`],leadingIcon:`shrink-0`,leadingAvatar:`shrink-0`,leadingAvatarSize:``,label:`truncate`,trailingBadge:`shrink-0`,trailingBadgeSize:`sm`,content:`w-full rounded-md focus-visible:outline-3`},variants:{color:{primary:{content:`outline-primary/25`},secondary:{content:`outline-secondary/25`},success:{content:`outline-success/25`},info:{content:`outline-info/25`},warning:{content:`outline-warning/25`},error:{content:`outline-error/25`},neutral:{content:`outline-inverted/25`}},variant:{pill:{list:`bg-elevated rounded-lg`,trigger:[`grow`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:content-[''] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:absolute in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:inset-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:rounded-md in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:shadow-xs in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:-z-10 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:isolate`],indicator:`rounded-md shadow-xs`},link:{list:`border-default`,indicator:`rounded-full`,trigger:`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:content-[''] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:absolute in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:rounded-full`}},orientation:{horizontal:{root:`flex-col`,list:`w-full`,indicator:`left-0 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position)`,trigger:`justify-center`},vertical:{list:`flex-col`,indicator:`top-0 h-(--reka-tabs-indicator-size) translate-y-(--reka-tabs-indicator-position)`}},size:{xs:{trigger:`px-2 py-1 text-xs gap-1`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`},sm:{trigger:`px-2.5 py-1.5 text-xs gap-1.5`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`},md:{trigger:`px-3 py-1.5 text-sm gap-1.5`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`},lg:{trigger:`px-3 py-2 text-sm gap-2`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`},xl:{trigger:`px-3 py-2 text-base gap-2`,leadingIcon:`size-6`,leadingAvatarSize:`xs`}}},compoundVariants:[{orientation:`horizontal`,variant:`pill`,class:{indicator:`inset-y-1`}},{orientation:`horizontal`,variant:`link`,class:{list:`border-b -mb-px`,indicator:`-bottom-px h-px`,trigger:`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:inset-x-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:-bottom-[calc(var(--spacing)+1px)] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:h-px`}},{orientation:`vertical`,variant:`pill`,class:{indicator:`inset-x-1`,list:`items-center`,trigger:`w-full justify-center`}},{orientation:`vertical`,variant:`link`,class:{list:`border-s -ms-px`,indicator:`-start-px w-px`,trigger:`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:inset-y-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:-start-[calc(var(--spacing)+1px)] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:w-px`}},{color:`primary`,variant:`pill`,class:{indicator:`bg-primary`,trigger:[`data-[state=active]:text-inverted outline-primary/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-primary`]}},{color:`secondary`,variant:`pill`,class:{indicator:`bg-secondary`,trigger:[`data-[state=active]:text-inverted outline-secondary/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-secondary`]}},{color:`success`,variant:`pill`,class:{indicator:`bg-success`,trigger:[`data-[state=active]:text-inverted outline-success/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-success`]}},{color:`info`,variant:`pill`,class:{indicator:`bg-info`,trigger:[`data-[state=active]:text-inverted outline-info/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-info`]}},{color:`warning`,variant:`pill`,class:{indicator:`bg-warning`,trigger:[`data-[state=active]:text-inverted outline-warning/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-warning`]}},{color:`error`,variant:`pill`,class:{indicator:`bg-error`,trigger:[`data-[state=active]:text-inverted outline-error/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-error`]}},{color:`neutral`,variant:`pill`,class:{indicator:`bg-inverted`,trigger:[`data-[state=active]:text-inverted outline-inverted/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-inverted`]}},{color:`primary`,variant:`link`,class:{indicator:`bg-primary`,trigger:[`data-[state=active]:text-primary outline-primary/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-primary`]}},{color:`secondary`,variant:`link`,class:{indicator:`bg-secondary`,trigger:[`data-[state=active]:text-secondary outline-secondary/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-secondary`]}},{color:`success`,variant:`link`,class:{indicator:`bg-success`,trigger:[`data-[state=active]:text-success outline-success/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-success`]}},{color:`info`,variant:`link`,class:{indicator:`bg-info`,trigger:[`data-[state=active]:text-info outline-info/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-info`]}},{color:`warning`,variant:`link`,class:{indicator:`bg-warning`,trigger:[`data-[state=active]:text-warning outline-warning/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-warning`]}},{color:`error`,variant:`link`,class:{indicator:`bg-error`,trigger:[`data-[state=active]:text-error outline-error/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-error`]}},{color:`neutral`,variant:`link`,class:{indicator:`bg-inverted`,trigger:[`data-[state=active]:text-highlighted outline-inverted/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-inverted`]}}],defaultVariants:{color:`primary`,variant:`pill`,size:`md`}},Jn={__name:`Tabs`,props:{as:{type:null,required:!1},items:{type:Array,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},orientation:{type:null,required:!1,default:`horizontal`},content:{type:Boolean,required:!1,default:!0},valueKey:{type:null,required:!1,default:`value`},labelKey:{type:null,required:!1,default:`label`},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultValue:{type:[String,Number],required:!1,default:`0`},modelValue:{type:[String,Number],required:!1},activationMode:{type:String,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:modelValue`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=_(),o=k(`tabs`,r),s=b(),c=P(_e(o,`as`,`unmountOnHide`),i),l=B(()=>ve({extend:qn,...s.ui?.tabs||{}})({color:o.color,variant:o.variant,size:o.size,orientation:o.orientation})),u=j([]);function d(e,t){u.value[e]=t}return t({triggersRef:u}),(e,t)=>(I(),M(G(zt),D(G(c),{"model-value":G(o).modelValue,"default-value":G(o).defaultValue,orientation:G(o).orientation,"activation-mode":G(o).activationMode,"data-slot":`root`,class:l.value.root({class:[G(o).ui?.root,G(o).class]})}),{default:x(()=>[A(G(Wt),{"data-slot":`list`,class:J(l.value.list({class:G(o).ui?.list}))},{default:x(()=>[A(G(Ut),{"data-slot":`indicator`,class:J(l.value.indicator({class:G(o).ui?.indicator}))},null,8,[`class`]),N(e.$slots,`list-leading`),(I(!0),U(O,null,W(G(o).items,(t,n)=>(I(),M(G(Gt),{key:G(E)(t,G(o).valueKey)??n,ref_for:!0,ref:e=>d(n,e),value:G(E)(t,G(o).valueKey)??String(n),disabled:t.disabled,"data-slot":`trigger`,class:J(l.value.trigger({class:[G(o).ui?.trigger,t.ui?.trigger]}))},{default:x(()=>[N(e.$slots,`leading`,{item:t,index:n,ui:l.value},()=>[t.icon?(I(),M(z,{key:0,name:t.icon,"data-slot":`leadingIcon`,class:J(l.value.leadingIcon({class:[G(o).ui?.leadingIcon,t.ui?.leadingIcon]}))},null,8,[`name`,`class`])):t.avatar?(I(),M(V,D({key:1,size:t.ui?.leadingAvatarSize||G(o).ui?.leadingAvatarSize||l.value.leadingAvatarSize()},{ref_for:!0},t.avatar,{"data-slot":`leadingAvatar`,class:l.value.leadingAvatar({class:[G(o).ui?.leadingAvatar,t.ui?.leadingAvatar]})}),null,16,[`size`,`class`])):R(``,!0)]),G(E)(t,G(o).labelKey)||a.default?(I(),U(`span`,{key:0,"data-slot":`label`,class:J(l.value.label({class:[G(o).ui?.label,t.ui?.label]}))},[N(e.$slots,`default`,{item:t,index:n},()=>[F(K(G(E)(t,G(o).labelKey)),1)])],2)):R(``,!0),N(e.$slots,`trailing`,{item:t,index:n,ui:l.value},()=>[t.badge||t.badge===0?(I(),M(Kn,D({key:0,color:`neutral`,variant:`outline`,size:t.ui?.trailingBadgeSize||G(o).ui?.trailingBadgeSize||l.value.trailingBadgeSize()},{ref_for:!0},typeof t.badge==`string`||typeof t.badge==`number`?{label:t.badge}:t.badge,{"data-slot":`trailingBadge`,class:l.value.trailingBadge({class:[G(o).ui?.trailingBadge,t.ui?.trailingBadge]})}),null,16,[`size`,`class`])):R(``,!0)])]),_:2},1032,[`value`,`disabled`,`class`]))),128)),N(e.$slots,`list-trailing`)]),_:3},8,[`class`]),G(o).content?(I(!0),U(O,{key:0},W(G(o).items,(t,n)=>(I(),M(G(Ht),{key:G(E)(t,G(o).valueKey)??n,value:G(E)(t,G(o).valueKey)??String(n),"data-slot":`content`,class:J(l.value.content({class:[G(o).ui?.content,t.ui?.content,t.class]}))},{default:x(()=>[N(e.$slots,t.slot||`content`,{item:t,index:n,ui:l.value},()=>[F(K(t.content),1)])]),_:2},1032,[`value`,`class`]))),128)):R(``,!0)]),_:3},16,[`model-value`,`default-value`,`orientation`,`activation-mode`,`class`]))}},Yn;function Xn(){return Yn??=Fe(()=>import(`./dist-pOdUzj6D.js`),__vite__mapDeps([0,1,2,3,4])),Yn}var Zn={key:0,class:`overflow-x-auto rounded-lg border border-(--ui-border) p-3 font-mono text-xs whitespace-pre text-(--ui-text)`,"data-testid":`diff-raw`},Qn=X({__name:`FileDiffs`,props:{diff:{},theme:{},diffStyle:{}},setup(e){let t=e,n=j(null),r=j(!1),i=[],a=0;function o(){for(let e of i)try{e.cleanUp()}catch{}i=[],n.value&&(n.value.innerHTML=``)}async function s(){let e=++a;r.value=!1;try{let{FileDiff:r,parsePatchFiles:s}=await Xn();if(e!==a||!n.value)return;o();let c=s(t.diff).flatMap(e=>e.files);for(let e of c){let a=document.createElement(`diffs-container`);a.dataset.file=e.name,n.value.appendChild(a);let o=new r({themeType:t.theme,diffStyle:t.diffStyle??`unified`});o.render({fileDiff:e,fileContainer:a}),i.push(o)}}catch{e===a&&(r.value=!0)}}return T(s),S(()=>t.diff,s),S(()=>t.theme,s),S(()=>t.diffStyle,s),Ce(()=>{a++,o()}),(t,i)=>r.value?(I(),U(`pre`,Zn,K(e.diff),1)):(I(),U(`div`,{key:1,ref_key:`container`,ref:n,class:`space-y-4`,"data-testid":`file-diffs`},null,512))}});async function $n(e){let{parsePatchFiles:t}=await Xn(),n=t(e).flatMap(e=>e.files).map(e=>({path:e.name,additions:e.hunks.reduce((e,t)=>e+t.additionLines,0),deletions:e.hunks.reduce((e,t)=>e+t.deletionLines,0)}));return{files:n,additions:n.reduce((e,t)=>e+t.additions,0),deletions:n.reduce((e,t)=>e+t.deletions,0)}}function er(e,t){if(e.length<=t)return e;let n=Math.max(1,t-1),r=Math.ceil(n/2),i=Math.floor(n/2);return`${e.slice(0,r)}…${e.slice(e.length-i)}`}var tr={dockerfile:`docker`,makefile:`makefile`,"go.mod":`go`,"go.sum":`go`,".gitignore":`gitignore`,".dockerignore":`dockerignore`},nr={ts:`typescript`,tsx:`tsx`,js:`javascript`,jsx:`jsx`,mjs:`javascript`,cjs:`javascript`,vue:`vue`,svelte:`svelte`,py:`python`,rb:`ruby`,go:`go`,rs:`rust`,java:`java`,kt:`kotlin`,swift:`swift`,c:`c`,h:`c`,cpp:`cpp`,cc:`cpp`,hpp:`cpp`,cs:`csharp`,php:`php`,scala:`scala`,ex:`elixir`,exs:`elixir`,json:`json`,jsonc:`json`,yaml:`yaml`,yml:`yaml`,toml:`toml`,xml:`xml`,html:`html`,css:`css`,scss:`scss`,sass:`sass`,less:`less`,md:`markdown`,mdx:`mdx`,sh:`bash`,bash:`bash`,zsh:`zsh`,sql:`sql`,tf:`terraform`,hcl:`hcl`,dockerfile:`docker`};function rr(e){let t=(e.split(`/`).pop()||e).toLowerCase(),n=tr[t];if(n)return n;let r=t.lastIndexOf(`.`);return r===-1?`text`:nr[t.slice(r+1)]??`text`}var ir={javascript:`i-simple-icons-javascript`,typescript:`i-simple-icons-typescript`,vue:`i-simple-icons-vuedotjs`,jsx:`i-simple-icons-react`,tsx:`i-simple-icons-react`,svelte:`i-simple-icons-svelte`,html:`i-simple-icons-html5`,css:`i-simple-icons-css`,scss:`i-simple-icons-sass`,sass:`i-simple-icons-sass`,less:`i-simple-icons-less`,python:`i-simple-icons-python`,go:`i-simple-icons-go`,rust:`i-simple-icons-rust`,java:`i-simple-icons-openjdk`,c:`i-simple-icons-c`,cpp:`i-simple-icons-cplusplus`,csharp:`i-simple-icons-csharp`,php:`i-simple-icons-php`,ruby:`i-simple-icons-ruby`,elixir:`i-simple-icons-elixir`,scala:`i-simple-icons-scala`,swift:`i-simple-icons-swift`,kotlin:`i-simple-icons-kotlin`,json:`i-simple-icons-json`,yaml:`i-simple-icons-yaml`,toml:`i-simple-icons-toml`,xml:`i-simple-icons-xml`,sql:`i-lucide-database`,markdown:`i-simple-icons-markdown`,mdx:`i-simple-icons-mdx`,bash:`i-simple-icons-gnubash`,zsh:`i-simple-icons-gnubash`,docker:`i-simple-icons-docker`,dockerignore:`i-simple-icons-docker`,terraform:`i-simple-icons-terraform`,hcl:`i-simple-icons-terraform`,makefile:`i-lucide-hammer`,gitignore:`i-simple-icons-git`,text:`i-lucide-file-text`};function ar(e){return ir[e]??ir.text}function or(e){return ar(rr(e))}var sr={key:0,class:`flex items-center gap-2 p-4 text-sm text-(--ui-text-muted) sm:p-5`,"data-testid":`files-loading`},cr={key:1,class:`p-4 text-sm text-(--ui-text-muted) sm:p-5`,"data-testid":`no-files`},lr={class:`shrink-0 border-b border-(--ui-border) @2xl:w-72 @2xl:border-b-0 @2xl:border-r`,"data-testid":`file-list`},ur={class:`@2xl:sticky @2xl:top-0 @2xl:max-h-[calc(100dvh-11rem)] @2xl:overflow-y-auto @2xl:py-3`},dr=[`aria-expanded`],fr={class:`ml-auto tabular-nums`,"data-testid":`pr-totals`},pr={class:`text-(--ui-success)`},mr={class:`text-(--ui-error)`},hr={key:1,class:`flex items-center justify-between gap-2 px-3 pb-2 text-xs text-(--ui-text-dimmed)`},gr={"data-testid":`file-count`},_r={class:`tabular-nums`,"data-testid":`pr-totals`},vr={class:`text-(--ui-success)`},yr={class:`text-(--ui-error)`},br=[`title`,`aria-current`,`onClick`],xr={class:`min-w-0 flex-1 whitespace-nowrap`},Sr={class:`shrink-0 text-[11px] tabular-nums`},Cr={class:`text-(--ui-success)`},wr={class:`text-(--ui-error)`},Tr=34,Er=X({__name:`FilesChanged`,props:{diff:{},notes:{},diffStyle:{}},setup(e){let t=e,n=ae(),r=B(()=>n.value===`dark`?`dark`:`light`),i=j([]),a=j(!0),o=j(null),s=w(`panel`),c=w(`root`),{width:l}=he(c);S(c,e=>{e&&(l.value=e.getBoundingClientRect().width)});let u=B(()=>l.value>0&&l.value<672),d=j(!1),f=B(()=>u.value?`unified`:t.diffStyle??`unified`),p=0;async function m(){let e=++p;a.value=!0;let n=await $n(t.diff);e===p&&(i.value=n.files,o.value=null,a.value=!1)}S(()=>t.diff,m,{immediate:!0});let h=B(()=>i.value.reduce((e,t)=>({additions:e.additions+t.additions,deletions:e.deletions+t.deletions}),{additions:0,deletions:0}));function g(e){o.value=e,u.value&&(d.value=!1);let t=s.value?.querySelectorAll(`[data-file]`)??[];Array.from(t).find(t=>t.dataset.file===e)?.scrollIntoView({block:`start`,behavior:`smooth`})}return(t,n)=>{let l=z;return a.value?(I(),U(`div`,sr,[A(l,{name:`i-lucide-loader-circle`,class:`size-4 animate-spin`}),n[1]||=H(`span`,null,`Loading diff…`,-1)])):i.value.length===0?(I(),U(`p`,cr,` Nothing in this diff parsed as a file. `)):(I(),U(`div`,{key:2,ref_key:`root`,ref:c,class:`@container flex min-h-full flex-col @2xl:flex-row`,"data-testid":`files-changed`},[H(`aside`,lr,[H(`div`,ur,[u.value?(I(),U(`button`,{key:0,type:`button`,class:`flex w-full items-center gap-2 px-3 py-2.5 text-xs text-(--ui-text-muted)`,"aria-expanded":d.value,"data-testid":`files-fold`,onClick:n[0]||=e=>d.value=!d.value},[A(l,{name:d.value?`i-lucide-chevron-down`:`i-lucide-chevron-right`,class:`size-3.5 shrink-0 text-(--ui-text-dimmed)`},null,8,[`name`]),H(`span`,null,K(i.value.length)+` `+K(i.value.length===1?`file`:`files`)+` changed`,1),H(`span`,fr,[H(`span`,pr,`+`+K(h.value.additions),1),H(`span`,mr,`−`+K(h.value.deletions),1)])],8,dr)):(I(),U(`div`,hr,[H(`span`,gr,K(i.value.length)+` `+K(i.value.length===1?`file`:`files`),1),H(`span`,_r,[H(`span`,vr,`+`+K(h.value.additions),1),H(`span`,yr,`−`+K(h.value.deletions),1)])])),!u.value||d.value?(I(),U(`ul`,{key:2,class:J([`flex flex-col`,u.value?`pb-2`:``])},[(I(!0),U(O,null,W(i.value,e=>(I(),U(`li`,{key:e.path},[H(`button`,{type:`button`,class:J([`flex w-full min-w-0 items-center gap-2 px-3 py-1.5 text-left text-xs transition-colors hover:bg-accented/50 dark:hover:bg-(--ui-bg)`,o.value===e.path?`bg-accented/50 text-(--ui-text) dark:bg-(--ui-bg)`:`text-(--ui-text-muted)`]),title:e.path,"aria-current":o.value===e.path?`true`:void 0,"data-testid":`file-entry`,onClick:t=>g(e.path)},[A(l,{name:G(or)(e.path),class:`size-3.5 shrink-0`},null,8,[`name`]),H(`span`,xr,K(G(er)(e.path,Tr)),1),H(`span`,Sr,[H(`span`,Cr,`+`+K(e.additions),1),H(`span`,wr,`−`+K(e.deletions),1)])],10,br)]))),128))],2)):R(``,!0)])]),H(`div`,{ref_key:`panel`,ref:s,class:`min-w-0 flex-1 overflow-x-auto`,"data-testid":`diff-column`},[(I(!0),U(O,null,W(e.notes,e=>(I(),U(`p`,{key:e,class:`px-3 pt-3 text-xs text-(--ui-text-muted)`,"data-testid":`diff-note`},K(e),1))),128)),A(Qn,{diff:e.diff,theme:r.value,"diff-style":f.value},null,8,[`diff`,`theme`,`diff-style`])],512)],512))}}}),Dr=X({__name:`LabelTip`,props:{text:{},disabled:{type:Boolean,default:!1}},setup(e){return(t,n)=>{let r=Ne;return I(),M(r,{text:e.text,disabled:e.disabled,"delay-duration":250,content:{side:`bottom`,align:`end`,sideOffset:6,collisionPadding:8},ui:{content:`h-auto max-w-[28rem] px-2.5 py-1.5`,text:`text-clip whitespace-normal leading-snug`}},{default:x(()=>[N(t.$slots,`default`)]),_:3},8,[`text`,`disabled`])}}}),Or={class:`pr-review-panel @container flex h-full min-h-0 min-w-0 flex-col`,"data-testid":`pr-review-panel`},kr={class:`shrink-0 border-b border-(--ui-border) px-4 pt-5 pb-4 sm:px-6`},Ar={class:`flex flex-col gap-3 @2xl:flex-row @2xl:items-start @2xl:justify-between @2xl:gap-4`},jr={class:`min-w-0`},Mr={class:`line-clamp-2 text-lg leading-snug font-semibold text-(--ui-text) @2xl:line-clamp-none @2xl:truncate`,"data-testid":`pr-title`},Nr={class:`mt-1.5 flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-(--ui-text-muted)`,"data-testid":`pr-facts`},Pr=[`href`],Fr={key:1,class:`inline-flex items-center gap-1.5`},Ir=[`href`],Lr={title:`the base the diff is against`},Rr={"data-testid":`producer-label`},zr={class:`inline-flex items-center gap-1 text-(--ui-warning)`,"data-testid":`truncated-label`},Br={class:`flex shrink-0 flex-wrap items-center gap-2`},Vr={key:1,class:`inline-flex shrink-0 items-center gap-1.5 text-xs text-(--ui-text-muted)`,"data-testid":`abridge-running`},Hr={key:2,class:`inline-flex min-w-0 shrink items-center gap-1.5 text-xs text-(--ui-error)`,"data-testid":`abridge-failed`},Ur=[`title`],Wr={key:0,class:`flex shrink-0 items-center justify-between gap-3 border-b border-(--ui-border) px-4 py-2 sm:px-6`},Gr={class:`tabs-scroll min-w-0 overflow-x-auto`},Kr={class:`min-h-0 flex-1 overflow-y-auto`},qr={key:1,class:`mx-auto max-w-3xl p-4 sm:p-6`,"data-testid":`pr-description`},Jr={key:2,class:`mt-4 text-xs text-(--ui-text-dimmed) italic`,"data-testid":`description-origin`},Yr={key:2,class:`px-4 py-3 text-sm text-(--ui-text-muted) sm:px-6`,"data-testid":`no-diff`},Xr=`switchboard:diffStyle`,Zr=`Abridge the full diff with meat.dev: a model keeps the concepts and drops what a reviewer need not read. One model call; usually a minute or three.`,Qr=X({__name:`PrReviewPanel`,props:{data:{},closable:{type:Boolean,default:!1},abridge:{default:void 0}},emits:[`close`],setup(e,{emit:t}){let n=e,r=t,i=B(()=>An(n.data.pr)),a=B(()=>Dn(n.data)),o=B(()=>n.data.readingDiffs),s=B(()=>n.data.description),c=B(()=>o.value.find(e=>e.poweredBy===`git`)),l=B(()=>o.value.find(e=>e.poweredBy===`meat`)),u=B(()=>n.data.pr.headSha?.slice(0,7)),d=B(()=>{let e=[];return c.value&&e.push({label:`Files changed`,value:`files`}),l.value&&e.push({label:`Reading diff`,value:`reading`}),(s.value?.tldr||s.value?.whatWhy)&&e.push({label:`Description`,value:`description`}),e}),f=()=>jn(o.value)?.poweredBy===`meat`?`reading`:`files`,p=j(f());S(()=>jn(o.value),()=>p.value=f()),S(d,e=>{e.some(e=>e.value===p.value)||(p.value=e[0]?.value??`files`)},{immediate:!0});let m=B(()=>p.value===`files`?c.value:p.value===`reading`?l.value:void 0),h=B(()=>{let e=m.value;if(!e)return[];let t=[];return e.summary&&t.push(e.summary),e.truncated&&t.push(`${Nn(e.diff.length)}.`),t}),g=B(()=>s.value?Fn(s.value):void 0),ee=[{label:`Inline`,value:`unified`,icon:`i-lucide-rows-3`},{label:`Side by side`,value:`split`,icon:`i-lucide-columns-2`}],_=j(`unified`);T(()=>{try{localStorage.getItem(Xr)===`split`&&(_.value=`split`)}catch{}});function te(e){_.value=e===`split`?`split`:`unified`;try{localStorage.setItem(Xr,_.value)}catch{}}let v=B(()=>n.abridge!==void 0&&n.abridge.state.state!==`done`&&c.value!==void 0&&!l.value);return(t,n)=>{let o=z,c=ue,l=Jn;return I(),U(`div`,Or,[H(`header`,kr,[H(`div`,Ar,[H(`div`,jr,[H(`h1`,Mr,K(a.value),1),H(`div`,Nr,[i.value.pr?(I(),U(`a`,{key:0,href:i.value.pr,target:`_blank`,rel:`noopener noreferrer`,class:`inline-flex items-center gap-1.5 hover:text-(--ui-text)`,"data-testid":`pr-link`},[A(o,{name:`i-simple-icons-github`,class:`size-3.5 shrink-0`}),H(`span`,null,K(e.data.pr.repo)+`#`+K(e.data.pr.number),1)],8,Pr)):e.data.pr.repo?(I(),U(`span`,Fr,[A(o,{name:`i-simple-icons-github`,class:`size-3.5 shrink-0`}),H(`span`,null,K(e.data.pr.repo),1)])):R(``,!0),i.value.commit?(I(),U(`a`,{key:2,href:i.value.commit,target:`_blank`,rel:`noopener noreferrer`,class:`font-mono hover:text-(--ui-text)`,"data-testid":`commit-link`},K(u.value),9,Ir)):R(``,!0),m.value?(I(),U(O,{key:3},[H(`span`,Lr,`against origin/`+K(m.value.baseRef),1),A(Dr,{text:G(Mn)(m.value.poweredBy)},{default:x(()=>[H(`span`,Rr,K(G(Pn)(m.value.poweredBy)),1)]),_:1},8,[`text`]),m.value.truncated?(I(),M(Dr,{key:0,text:G(Nn)(m.value.diff.length)},{default:x(()=>[H(`span`,zr,[A(o,{name:`i-lucide-scissors`,class:`size-3.5`}),n[4]||=F(`truncated `,-1)])]),_:1},8,[`text`])):R(``,!0)],64)):R(``,!0)])]),H(`div`,Br,[i.value.pr?(I(),M(c,{key:0,label:`View on GitHub`,icon:`i-simple-icons-github`,color:`neutral`,variant:`ghost`,size:`sm`,to:i.value.pr,target:`_blank`,"data-testid":`github-button`},null,8,[`to`])):R(``,!0),v.value&&e.abridge?(I(),U(O,{key:1},[e.abridge.state.state===`absent`?(I(),M(Dr,{key:0,text:Zr},{default:x(()=>[A(c,{label:`Abridge with meat`,icon:`i-lucide-scissors`,size:`sm`,"data-testid":`abridge-button`,onClick:n[0]||=t=>e.abridge.start()})]),_:1})):e.abridge.state.state===`running`?(I(),U(`span`,Vr,[A(o,{name:`i-lucide-loader-circle`,class:`size-3.5 animate-spin`}),n[5]||=F(` Abridging… usually 1–3 minutes `,-1)])):e.abridge.state.state===`failed`?(I(),U(`span`,Hr,[A(o,{name:`i-lucide-circle-alert`,class:`size-3.5 shrink-0`}),H(`span`,{class:`truncate`,title:e.abridge.state.reason},`Abridging failed: `+K(e.abridge.state.reason),9,Ur),A(c,{size:`xs`,color:`neutral`,variant:`outline`,label:`Retry`,"data-testid":`abridge-retry`,onClick:n[1]||=t=>e.abridge.start()})])):R(``,!0)],64)):R(``,!0),e.closable?(I(),M(c,{key:2,icon:`i-lucide-x`,color:`neutral`,variant:`ghost`,size:`sm`,"aria-label":`Close`,"data-testid":`panel-close`,onClick:n[2]||=e=>r(`close`)})):R(``,!0)])])]),d.value.length>0?(I(),U(`div`,Wr,[H(`div`,Gr,[A(l,{modelValue:p.value,"onUpdate:modelValue":n[3]||=e=>p.value=e,items:d.value,size:`sm`,class:`w-fit gap-0`,content:!1,"data-testid":`panel-tabs`},null,8,[`modelValue`,`items`])]),m.value?(I(),M(l,{key:0,"model-value":_.value,items:ee,color:`neutral`,size:`xs`,content:!1,class:`hidden w-fit @2xl:flex`,"data-testid":`diff-style`,"onUpdate:modelValue":te},null,8,[`model-value`])):R(``,!0)])):R(``,!0),H(`div`,Kr,[m.value?(I(),M(Er,{key:m.value.poweredBy,diff:m.value.diff,notes:h.value,"diff-style":_.value},null,8,[`diff`,`notes`,`diff-style`])):p.value===`description`&&s.value?(I(),U(`div`,qr,[n[7]||=H(`div`,{class:`mb-2 text-xs font-medium text-(--ui-text-dimmed)`},`What the pull request says about itself`,-1),s.value.tldr?(I(),M(Z,{key:0,text:s.value.tldr,class:`text-sm`,"data-testid":`description-tldr`},null,8,[`text`])):R(``,!0),s.value.whatWhy?(I(),U(O,{key:1},[n[6]||=H(`div`,{class:`mt-4 mb-2 text-xs font-medium text-(--ui-text-dimmed)`},`What & why`,-1),A(Z,{text:s.value.whatWhy,class:`text-sm`,"data-testid":`description-what-why`},null,8,[`text`])],64)):R(``,!0),g.value?(I(),U(`p`,Jr,K(g.value),1)):R(``,!0)])):(I(),U(`p`,Yr,` No reading diff was produced for this review. `))])])}}}),$r={class:`conn flex items-center gap-2 font-mono`},ei={key:0,class:`ok text-ok`,role:`img`,"aria-label":`succeeded`},ti=[`data-heat`],ni={key:2,id:`delivery`,class:`text-xs text-muted`},ri=[`title`],ii={key:0,id:`actions`,class:`actions flex gap-1.5`},ai={class:`mx-auto max-w-6xl`},oi={key:0,id:`runmeta`,class:`runmeta facts mb-3 flex flex-wrap items-baseline gap-x-3 gap-y-1.5 px-(--sb-gutter) font-mono text-xs text-dimmed`},si={class:`agent text-[0.68rem] font-medium uppercase tracking-wider text-toned`},ci={class:`model`},li={key:0,class:`effort`},ui=[`href`],di={key:2,class:`repo`},fi=[`href`],pi={key:4,class:`reftag rounded border border-accented px-1.5 text-[0.75rem] text-toned`},mi=[`href`,`title`],hi=[`href`],gi={key:1,id:`request`,class:`block mb-4 rounded-lg border border-default bg-(--ui-bg-muted) px-(--sb-gutter) py-3`},_i={class:`mb-2 flex items-baseline gap-2.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},vi={key:0,class:`source flex items-center gap-2 font-normal normal-case tracking-normal text-dimmed`},yi=[`href`],bi={key:1},xi={key:1},Si=[`title`],Ci={key:5,id:`references`,class:`group mb-4 px-(--sb-gutter)`},wi={class:`flex min-h-6 cursor-pointer list-none items-baseline gap-2.5 font-mono text-xs font-medium uppercase tracking-wider text-muted hover:text-toned [&::-webkit-details-marker]:hidden`},Ti={class:`count font-normal normal-case tracking-normal text-dimmed`},Ei={id:`referencedthreads`,class:`pb-1 pl-5`},Di={class:`flex items-baseline gap-2 font-mono text-xs text-dimmed`},Oi=[`href`],ki=[`title`],Ai={class:`quoted mt-1 whitespace-pre-wrap break-words font-mono text-xs opacity-85`},ji={key:6,id:`context`,class:`group mb-4 px-(--sb-gutter)`},Mi={class:`flex min-h-6 cursor-pointer list-none items-baseline gap-2.5 font-mono text-xs font-medium uppercase tracking-wider text-muted hover:text-toned [&::-webkit-details-marker]:hidden`},Ni={class:`count font-normal normal-case tracking-normal text-dimmed`},Pi={id:`contextturns`,class:`pb-1 pl-5`},Fi=[`title`],Ii={id:`thisrun`,class:`mb-2 flex items-baseline gap-2.5 px-(--sb-gutter) font-mono text-xs font-medium uppercase tracking-wider text-muted`},Li={key:0,class:`count font-normal normal-case tracking-normal text-dimmed`},Ri=[`aria-pressed`,`data-open`,`title`],zi={id:`log`,class:`m-0 list-none p-0`},Bi={key:0,id:`placeholder`,class:`empty text-muted`},Vi=[`id`],Hi={class:`meta flex flex-wrap items-baseline gap-x-2.5 gap-y-0.5 pr-(--sb-gutter) font-mono text-xs tabular-nums text-dimmed`},Ui=[`title`],Wi=[`title`],Gi=[`title`],Ki=[`href`],qi={key:3,class:`nonar font-sans italic`},Ji=[`title`],Yi=[`data-phase`],Xi=[`aria-expanded`,`onClick`],Zi={class:`glyph select-none text-dimmed`},Qi={class:`what`},$i={key:0,class:`m-0 list-none p-0 pl-4`},ea={key:4,class:`followup block mt-5 rounded-lg border border-default bg-(--ui-bg-muted) px-(--sb-gutter) py-3`},ta={class:`mb-2 flex items-baseline gap-2.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},na={key:0,class:`source flex items-center gap-2 font-normal normal-case tracking-normal text-dimmed`},ra=[`href`],ia={key:1},aa=[`title`],oa={key:5,class:`mt-5`},sa=[`open`],ca={class:`flex min-h-6 cursor-pointer list-none items-baseline gap-2.5 font-mono text-xs font-medium uppercase tracking-wider text-muted hover:text-toned [&::-webkit-details-marker]:hidden`},la={key:0,class:`font-normal normal-case tracking-normal text-dimmed`},ua=[`title`],da=[`title`],fa={key:1,id:`thinking`,class:`pending ml-3.5 mt-5 flex items-center gap-3 rounded-md border border-dashed border-accented pl-3 pr-[calc(var(--sb-gutter)-1px)] py-2 text-sm first:mt-0`,"aria-live":`off`,title:`the model is working on its next turn — nothing back yet (since the last event, runner clock)`},pa=[`title`],ma={class:`verb min-w-0 truncate text-toned`},ha=X({__name:`RunPage`,setup(e){let t=De(`run`),n=t?.mode===`history`,r=n?`Run`:`Live run`,i=n,a=t?.artifacts??null,o=t?.children??[],s=(t?.mode===`history`?t.units:void 0)??[],l=typeof window<`u`?new URLSearchParams(window.location.search).get(`open`):null,u=rt({openTags:l?l.split(`,`).map(e=>e.trim()).filter(Boolean):void 0}),d=u.state,p=j(n?`ended`:`connecting`),m=j(``),h=Ie(),g=t?.mode===`live`?nt(t,h.value):null,_=j(void 0),v=j({}),y=B(()=>{if(n&&t?.mode===`history`)return t.status===`completed`?{ok:!0,cls:``,word:`succeeded`}:{ok:!1,cls:t.status===`failed`||t.status===`stopped_hard`||t.status===`interrupted`?`red`:t.status===`stopped_soft`?`amber`:`grey`,word:t.status?Ue(t.status):`ended`};let e=d.stopMode;return{ok:!1,cls:e===`hard`?`red`:e===`soft`?`amber`:`grey`,word:e===`hard`?`killed`:e===`soft`?`stopped early`:`ended`}}),b=B(()=>n&&t?.mode===`history`?t.durationMs:_.value),ne=B(()=>dt(n&&t?.mode===`history`?{finishedAt:t.finishedAt,sealedAt:t.sealedAt,replyOk:t.replyOk}:v.value)),C=B(()=>b.value===void 0?``:ze(b.value,`clock`)),w=B(()=>Ve(b.value,`run`)),re=B(()=>Be(w.value)),ie={red:`border-bad/30 text-bad`,amber:`border-warn/30 text-warn`,grey:`border-accented text-muted`},ae=B(()=>m.value?m.value:p.value===`connecting`?`connecting…`:p.value===`disconnected`?`disconnected`:p.value===`stopping`?`stopping (${d.stopMode??`soft`})`:p.value===`finished`?_.value===void 0?`delivering…`:`delivering… · ${ze(_.value,`clock`)}`:g?`running · ${ze(g.elapsedMs(h.value),`clock`)}`:`running`),oe=B(()=>m.value||p.value===`disconnected`?`text-bad`:p.value===`running`?`text-ok motion-safe:animate-pulse`:p.value===`finished`?`text-ok`:`text-warn motion-safe:animate-pulse`),se=B(()=>{if(!t||t.mode!==`live`&&t.mode!==`history`)return null;d.traceVersion;let e=t.receivedAt??t.startedAt,n=lt(d.meta?.agent);if(t.mode===`history`){let r=t.durationMs??(t.finishedAt===void 0?0:Math.max(0,t.finishedAt-e));return ft({spans:u.spanSet(),losses:u.losses(e),window:{start:e,end:e+r},owner:n,totalMs:r,phase:`ended`,delivery:{finishedAt:t.finishedAt,sealedAt:t.sealedAt,replyOk:t.replyOk},...t.truncated===void 0?{}:{truncated:t.truncated},...t.untimed?{untimed:!0}:{},callTitle:u.callHeadline})}if(!g)return null;let r=p.value===`ended`?`ended`:p.value===`finished`?`delivering`:`live`,i=r===`live`?g.elapsedMs(h.value):_.value??g.elapsedMs(h.value);return ft({spans:u.spanSet(),losses:u.losses(e),window:{start:e,end:e+i},owner:n,totalMs:i,phase:r,delivery:v.value,callTitle:u.callHeadline})}),E=n&&t?.mode===`history`?`/runs/${encodeURIComponent(t.id)}/events`:void 0;function ce(e){u.reveal(e)&&te().then(()=>{let t=document.getElementById(e);t&&(t.scrollIntoView?.({block:`center`}),t.classList.add(`revealed`),setTimeout(()=>t.classList.remove(`revealed`),1500))})}let D=j(n),k=j(!1);function de(e){t?.mode===`live`&&(e!==`hard`||c.confirm(`Hard stop: abort the run now with no summary and free its sandbox?`))&&(k.value=!0,fetch(`${t.stopUrl}&mode=${encodeURIComponent(e)}`,{method:`POST`,credentials:`same-origin`}).then(t=>{if(!t.ok)throw Error(`HTTP ${t.status}`);fe(e)}).catch(e=>{k.value=!1,m.value=`stop failed: ${e instanceof Error?e.message:`error`}`}))}function fe(e){u.markStopping(e),D.value=!0,(p.value===`connecting`||p.value===`running`)&&(p.value=`stopping`)}S(()=>d.stopMode,e=>{e&&p.value!==`ended`&&p.value!==`disconnected`&&p.value!==`finished`&&fe(e)}),n||S(p,e=>c.setFavicon(e===`ended`||e===`disconnected`||e===`finished`?St:bt),{immediate:!0});let pe=B(()=>!n&&p.value!==`ended`&&p.value!==`disconnected`&&p.value!==`finished`),me=B(()=>pe.value?Xe(d,h.value):null);Ee(ht,me),Ee(tt,a),Ee(st,B(()=>d.reply!==null));let N=B(()=>pe.value?ct(d,u.pendingCall(),h.value):null),he=[`Thinking`,`Pondering`,`Mulling it over`,`Reasoning`,`Cogitating`,`Weighing options`,`Puzzling`,`Deliberating`,`Noodling`,`Chewing on it`,`Ruminating`,`Reticulating splines`],ge=B(()=>N.value?.kind===`thinking`?se.value?.openStep||he[Math.floor(N.value.elapsedMs/6e3)%he.length]:``);function _e(){u.setAllOpen(!d.allOpen)}let P=B(()=>d.log.filter(e=>e.kind===`step`).length),ve=B(()=>{for(let e=d.log.length-1;e>=0;e--){let t=d.log[e];if(t.kind===`note`&&t.noteKind===`notes`)return t.key}}),ye=j(null);function be(){return window.innerHeight+window.scrollY>=document.body.scrollHeight-60}let L=Vn(),xe=j(!1),Se=t?.mode===`history`&&t.capabilities.readingDiffAbridge?Wn(t.id,e=>L.handle(e)):void 0;Ce(()=>Se?.dispose());function we(e){let t=be();u.handle(e),L.handle(e),t&&requestAnimationFrame(()=>ye.value?.scrollIntoView?.({block:`nearest`}))}let Te=xt(),V=null;if(t?.mode===`history`){for(let e of t.events)u.handle(e),L.handle(e);u.closePhases()}T(()=>{if(t?.mode!==`live`)return;V=Te(t.eventsUrl),V.onopen=()=>{d.stopMode||(p.value=`running`)};let e=0;V.onmessage=t=>{let n;try{n=JSON.parse(t.data)}catch{return}if(n.type!==`replay_note`){let n=Number(t.lastEventId);if(n>0){if(n<=e)return;e=n}}we(n)},V.addEventListener(`replay_elided`,e=>{let t=gt(e);t&&u.noteElided(t)}),V.addEventListener(`finished`,e=>{let t=Qe(e);t&&g&&(_.value=g.elapsedAt(t.finishedAt)),t&&(v.value={...v.value,finishedAt:t.finishedAt}),D.value=!0,(p.value===`connecting`||p.value===`running`)&&(p.value=`finished`)}),V.addEventListener(`end`,e=>{u.flushPendingTurn(`the run ended here`),u.closePhases(),D.value=!0,_.value??=g?.elapsedMs(h.value),v.value={...v.value,...it(e)},p.value=`ended`,V?.close()}),V.onerror=()=>{V&&V.readyState===2&&(p.value=`disconnected`)}}),Ce(()=>{V?.close()});function Oe(e){return e&&/^https?:\/\//.test(e)?e:``}let ke=B(()=>Oe(d.request?.source?.url)),q=B(()=>{let e=d.meta;return{repo:Ze(e?.repo),tree:Je(e?.repo,e?.ref),commit:Ke(e?.repo,e?.headSha),pr:_t(e?.repo,e?.pr)}}),Ae=B(()=>vt({meta:d.meta,requestText:d.request?.text??``,prOpened:d.prOpened}));function Y(e){return typeof e==`number`?Re(e,h.value):``}function X(e){return typeof e==`number`?We(e):void 0}return(e,t)=>{let n=ue,a=Ne,c=z,l=Jt;return I(),M(f,{title:G(r),nav:`runs`},{leading:x(()=>[...t[4]||=[H(`a`,{class:`back text-sm text-primary no-underline hover:underline`,href:`/runs`},`← All runs`,-1)]]),status:x(()=>[H(`span`,$r,[p.value===`ended`?(I(),U(O,{key:0},[y.value.ok?(I(),U(`span`,ei,`✓`)):(I(),U(`span`,{key:1,class:J([`chip rounded border px-1.5 text-[0.7rem]`,ie[y.value.cls]])},K(y.value.word),3)),H(`span`,{id:`state`,class:J([`dur text-xs tabular-nums`,[re.value?`heat`:`text-muted`,w.value.level>=2?`font-medium`:``]]),style:ee(re.value),"data-heat":w.value.level},K(C.value),15,ti),ne.value?(I(),U(`span`,ni,`· `+K(ne.value),1)):R(``,!0)],64)):(I(),U(O,{key:1},[H(`span`,{id:`statedot`,class:J([`pulse text-[1.1em] leading-none`,oe.value])},`∿`,2),H(`span`,{id:`state`,class:J([`text-xs tabular-nums`,m.value?`text-bad`:`text-muted`]),title:p.value===`running`&&!m.value?`the whole run, since we received the message`:p.value===`finished`?`the agent stopped; the reply is being posted`:void 0},K(ae.value),11,ri)],64))])]),actions:x(()=>[D.value?R(``,!0):(I(),U(`span`,ii,[A(a,{text:`Soft stop: no new steps, the agent writes up what it has`},{default:x(()=>[A(n,{size:`xs`,color:`neutral`,variant:`outline`,label:`Stop`,disabled:k.value,onClick:t[0]||=e=>de(`soft`)},null,8,[`disabled`])]),_:1}),A(a,{text:`Hard stop: abort now, no summary, free the sandbox`},{default:x(()=>[A(n,{size:`xs`,color:`error`,variant:`outline`,label:`Kill`,disabled:k.value,onClick:t[1]||=e=>de(`hard`)},null,8,[`disabled`])]),_:1})]))]),default:x(()=>[H(`div`,ai,[G(d).meta?(I(),U(`div`,oi,[H(`span`,si,K(G(d).meta.agent),1),H(`span`,ci,K(G(d).meta.model),1),G(d).meta.effort?(I(),U(`span`,li,K(G(d).meta.effort)+` effort`,1)):R(``,!0),q.value.repo?(I(),U(`a`,{key:1,class:`text-primary no-underline hover:underline`,href:q.value.repo,target:`_blank`,rel:`noopener noreferrer`},K(G(d).meta.repo),9,ui)):G(d).meta.repo?(I(),U(`span`,di,K(G(d).meta.repo),1)):R(``,!0),q.value.tree?(I(),U(`a`,{key:3,class:`reftag rounded border border-accented px-1.5 text-[0.75rem] text-toned no-underline hover:border-primary hover:text-primary`,href:q.value.tree,target:`_blank`,rel:`noopener noreferrer`,title:`the branch on GitHub`},K(G(d).meta.ref),9,fi)):G(d).meta.ref?(I(),U(`span`,pi,K(G(d).meta.ref),1)):R(``,!0),q.value.commit&&G(d).meta.headSha?(I(),U(`a`,{key:5,class:`sha tabular-nums text-toned no-underline hover:text-primary hover:underline`,href:q.value.commit,target:`_blank`,rel:`noopener noreferrer`,title:`the head commit ${G(d).meta.headSha}`},K(G(qe)(G(d).meta.headSha)),9,mi)):R(``,!0),q.value.pr?(I(),U(`a`,{key:6,class:`prlink whitespace-nowrap text-primary no-underline hover:underline`,href:q.value.pr,target:`_blank`,rel:`noopener noreferrer`},[A(Ye,{class:`mr-1 align-[-0.125em]`}),F(`#`+K(G(d).meta.pr),1)],8,hi)):R(``,!0),G(L).state.ready?(I(),U(`button`,{key:7,type:`button`,class:`reading-diff ml-auto inline-flex cursor-pointer items-center gap-1 whitespace-nowrap text-primary hover:underline focus-visible:outline-2 focus-visible:outline-primary`,"data-testid":`reading-diff-button`,onClick:t[2]||=e=>xe.value=!0},[A(c,{name:`i-lucide-git-compare`,class:`size-3.5 shrink-0`,"aria-hidden":`true`}),t[5]||=F(` Reading diff `,-1)])):R(``,!0)])):R(``,!0),G(d).request?(I(),U(`section`,gi,[H(`h2`,_i,[t[6]||=H(`span`,null,`Request`,-1),G(d).request.source?(I(),U(`span`,vi,[G(d).request.source.channel?(I(),U(O,{key:0},[A(He),ke.value?(I(),U(`a`,{key:0,class:`text-muted no-underline hover:text-primary hover:underline`,href:ke.value,target:`_blank`,rel:`noopener noreferrer`,title:`open the thread`},`#`+K(G(d).request.source.channel),9,yi)):(I(),U(`span`,bi,`#`+K(G(d).request.source.channel),1))],64)):R(``,!0),G(d).request.source.user?(I(),U(`span`,xi,K(G(d).request.source.user),1)):R(``,!0)])):R(``,!0),H(`span`,{class:`ts ml-auto select-none text-xs font-normal normal-case tracking-normal text-dimmed`,title:X(G(d).request.at)},K(Y(G(d).request.at)),9,Si)]),A($t,{lines:3},{default:x(()=>[A(Z,{text:G(d).request.text},null,8,[`text`])]),_:1}),G(d).request.files.length>0?(I(),M(pt,{key:0,files:G(d).request.files},null,8,[`files`])):R(``,!0)])):R(``,!0),G(d).reply&&G(i)?(I(),M(fn,{key:2,position:`first`,text:G(d).reply.text,caption:Ae.value,when:Y(G(d).reply.at),"when-title":X(G(d).reply.at),files:G(d).reply.files},null,8,[`text`,`caption`,`when`,`when-title`,`files`])):R(``,!0),G(s).length>0?(I(),M(xn,{key:3,units:G(s)},null,8,[`units`])):R(``,!0),G(o).length>0?(I(),M(En,{key:4,children:G(o),now:G(h)},null,8,[`children`,`now`])):R(``,!0),G(d).references.length>0?(I(),U(`details`,Ci,[H(`summary`,wi,[t[7]||=H(`span`,{class:`chev select-none text-xs text-dimmed transition-transform group-open:rotate-90 motion-reduce:transition-none`},`❯`,-1),H(`span`,null,`Referenced thread`+K(G(d).references.length===1?``:`s`),1),H(`span`,Ti,`· `+K(G(d).references.length)+` thread`+K(G(d).references.length===1?``:`s`),1)]),H(`div`,Ei,[(I(!0),U(O,null,W(G(d).references,e=>(I(),U(`div`,{key:e.key,class:`reference border-t border-default py-1.5 first-of-type:border-t-0`},[H(`div`,Di,[H(`a`,{class:`text-muted no-underline hover:text-primary hover:underline`,href:e.url,target:`_blank`,rel:`noopener noreferrer`},`#`+K(e.channelName),9,Oi),H(`span`,null,`· `+K(e.messages)+` message`+K(e.messages===1?``:`s`),1),H(`span`,{class:`ts ml-auto shrink-0 select-none`,title:X(e.at)},K(Y(e.at)),9,ki)]),H(`div`,Ai,[(I(!0),U(O,null,W(G(et)(e.text),(e,t)=>(I(),U(`div`,{key:t},K(e),1))),128))])]))),128))])])):R(``,!0),G(d).context.length>0?(I(),U(`details`,ji,[H(`summary`,Mi,[t[8]||=H(`span`,{class:`chev select-none text-xs text-dimmed transition-transform group-open:rotate-90 motion-reduce:transition-none`},`❯`,-1),t[9]||=H(`span`,null,`Earlier in this thread`,-1),H(`span`,Ni,`· `+K(G(d).context.length)+` turn`+K(G(d).context.length===1?``:`s`),1)]),H(`div`,Pi,[(I(!0),U(O,null,W(G(d).context,e=>(I(),U(`div`,{key:e.key,class:`turn flex items-baseline gap-3 border-t border-default py-1.5 opacity-85 first-of-type:border-t-0`},[A(Z,{text:e.text},null,8,[`text`]),H(`span`,{class:`ts ml-auto shrink-0 select-none font-mono text-xs text-dimmed`,title:X(e.at)},K(Y(e.at)),9,Fi)]))),128))])])):R(``,!0),H(`h2`,Ii,[t[10]||=H(`span`,null,`This run`,-1),P.value>0?(I(),U(`span`,Li,`· `+K(P.value)+` step`+K(P.value===1?``:`s`),1)):R(``,!0),H(`button`,{id:`fold`,type:`button`,class:`ml-auto cursor-pointer font-normal normal-case tracking-normal text-dimmed hover:text-toned focus-visible:outline-2 focus-visible:outline-primary`,"aria-pressed":G(d).allOpen?`true`:`false`,"data-open":G(d).allOpen?`1`:`0`,title:G(d).allOpen?`Close every call card`:`Open every call card`,onClick:_e},K(G(d).allOpen?`Collapse all`:`Expand all`),9,Ri)]),se.value?(I(),M(ot,{key:7,vm:se.value,"events-href":G(E),onReveal:ce},null,8,[`vm`,`events-href`])):R(``,!0),H(`ol`,zi,[G(d).placeholder?(I(),U(`li`,Bi,`Waiting for activity…`)):R(``,!0),(I(!0),U(O,null,W(G(d).log,e=>(I(),U(O,{key:e.key},[e.kind===`step`?(I(),M(ut,{key:0,step:e,class:`mt-5 first:mt-0`,onToggleGroup:t=>G(u).toggleGroup(e)},null,8,[`step`,`onToggleGroup`])):e.kind===`turn`?(I(),U(`li`,{key:1,id:`span-${e.turn.spanId}`,class:`turn mt-5 border-l-2 border-(--ui-border-accented)/50 pb-3 pl-3 pt-2`},[H(`div`,Hi,[H(`span`,{class:J([`thought`,e.turn.quick?``:`text-warn`]),title:e.turn.label},`thought `+K(e.turn.chip),11,Ui),e.turn.switched?(I(),U(`span`,{key:0,class:`model-switch order-first rounded border border-warn/40 bg-warn/10 px-1.5 font-medium text-warn`,title:`model changed: this turn ran on ${e.turn.model}`},`⇄ `+K(G(at)(e.turn.model)),9,Wi)):e.turn.showModel?(I(),U(`span`,{key:1,class:`model-badge order-first rounded bg-accented px-1.5 text-[0.68rem] font-medium leading-normal tracking-wider text-muted`,title:e.turn.model},K(G(at)(e.turn.model)),9,Gi)):R(``,!0),(I(!0),U(O,null,W(e.turn.facts,(e,t)=>(I(),U(`span`,{key:t,class:`fact`},K(e),1))),128)),e.note&&e.noteHref?(I(),U(`a`,{key:2,class:`nonar font-sans italic text-dimmed no-underline hover:text-primary hover:underline`,href:e.noteHref},K(e.note),9,Ki)):e.note?(I(),U(`span`,qi,K(e.note),1)):R(``,!0),e.turn.at===void 0?R(``,!0):(I(),U(`span`,{key:4,class:`ts ml-auto select-none`,title:G(We)(e.turn.at)},K(G(Ge)(e.turn.at)),9,Ji))])],8,Vi)):e.kind===`span`?(I(),M(on,{key:2,item:e},null,8,[`item`])):e.kind===`phase`?(I(),U(`li`,{key:3,class:`phase py-0.5 font-mono text-xs`,"data-phase":e.phase},[H(`button`,{type:`button`,class:`phase-head flex w-full cursor-pointer items-baseline gap-2 text-left text-muted hover:text-toned`,"aria-expanded":e.open,onClick:le(t=>G(u).togglePhase(e),[`prevent`])},[H(`span`,Zi,K(e.open?`▾`:`▸`),1),H(`span`,{class:J([`swatch inline-block size-2 shrink-0 self-center rounded-[2px]`,G($e)(e.phase)]),"aria-hidden":`true`},null,2),H(`span`,Qi,K(G(yt)(e)),1)],8,Xi),e.open?(I(),U(`ul`,$i,[(I(!0),U(O,null,W(e.rows,e=>(I(),M(on,{key:e.key,item:e},null,8,[`item`]))),128))])):R(``,!0)],8,Yi)):e.kind===`followup`?(I(),U(`li`,ea,[H(`h2`,ta,[t[11]||=H(`span`,null,`↪ Follow-up`,-1),e.input.source?.user?(I(),U(`span`,na,[Oe(e.input.source.url)?(I(),U(`a`,{key:0,class:`text-muted no-underline hover:text-primary hover:underline`,href:e.input.source.url,target:`_blank`,rel:`noopener noreferrer`,title:`open the message`},K(e.input.source.user),9,ra)):(I(),U(`span`,ia,K(e.input.source.user),1))])):R(``,!0),H(`span`,{class:`ts ml-auto select-none text-xs font-normal normal-case tracking-normal text-dimmed`,title:X(e.input.at)},K(Y(e.input.at)),9,aa)]),A(Z,{text:e.input.text},null,8,[`text`]),e.input.files.length>0?(I(),M(pt,{key:0,files:e.input.files},null,8,[`files`])):R(``,!0)])):e.noteKind===`notes`?(I(),U(`li`,oa,[H(`details`,{class:`notepad group rounded-lg border border-default bg-(--ui-bg-muted) px-(--sb-gutter) py-2`,open:e.key===ve.value},[H(`summary`,ca,[t[12]||=H(`span`,{class:`chev select-none text-xs text-dimmed transition-transform group-open:rotate-90 motion-reduce:transition-none`},`❯`,-1),t[13]||=H(`span`,null,`📝 Notes for this thread`,-1),e.key===ve.value?R(``,!0):(I(),U(`span`,la,`· superseded`)),e.at===void 0?R(``,!0):(I(),U(`span`,{key:1,class:`ts ml-auto select-none font-normal normal-case tracking-normal text-dimmed`,title:G(We)(e.at)},K(G(Ge)(e.at)),9,ua))]),A(Z,{text:e.text,class:`mt-1 [&_h1]:mb-1.5 [&_h1]:mt-4 [&_h1]:font-mono [&_h1]:text-xs [&_h1]:font-medium [&_h1]:uppercase [&_h1]:tracking-wider [&_h1]:text-muted [&_h2]:mb-1.5 [&_h2]:mt-4 [&_h2]:font-mono [&_h2]:text-xs [&_h2]:font-medium [&_h2]:uppercase [&_h2]:tracking-wider [&_h2]:text-muted [&_h3]:mb-1.5 [&_h3]:mt-4 [&_h3]:font-mono [&_h3]:text-xs [&_h3]:font-medium [&_h3]:uppercase [&_h3]:tracking-wider [&_h3]:text-muted [&>:first-child]:mt-1`},null,8,[`text`])],8,sa)])):(I(),U(`li`,{key:6,class:J([`note mt-4 flex items-baseline gap-3 rounded-md pl-3 pr-(--sb-gutter) py-1.5`,e.replay?`text-dimmed`:`bg-warn/10 text-warn`])},[H(`span`,null,K((e.replay?`… `:`⏱ `)+e.text),1),e.at===void 0?R(``,!0):(I(),U(`span`,{key:0,class:`ts ml-auto select-none font-mono text-xs text-dimmed`,title:G(We)(e.at)},K(G(Ge)(e.at)),9,da))],2))],64))),128)),N.value?.kind===`thinking`?(I(),U(`li`,fa,[t[14]||=H(`span`,{class:`pulse text-[1.1em] leading-none text-info motion-safe:animate-pulse`},`∿`,-1),H(`span`,{class:`badge shrink-0 rounded bg-accented px-1.5 font-mono text-[0.68rem] font-medium leading-normal tracking-wider text-muted`,title:G(d).model??void 0},K(G(at)(G(d).model)),9,pa),H(`span`,ma,K(ge.value)+`…`,1),H(`span`,{class:J([`since ml-auto shrink-0 font-mono text-xs tabular-nums`,N.value.slow?`text-warn`:`text-dimmed`])},K(G(ze)(N.value.elapsedMs,`clock`)),3)])):R(``,!0),H(`li`,{ref_key:`logEnd`,ref:ye,"aria-hidden":`true`},null,512)]),G(d).reply&&!G(i)?(I(),M(fn,{key:8,position:`last`,text:G(d).reply.text,caption:Ae.value,when:Y(G(d).reply.at),"when-title":X(G(d).reply.at),files:G(d).reply.files},null,8,[`text`,`caption`,`when`,`when-title`,`files`])):R(``,!0)]),A(l,{open:xe.value,"onUpdate:open":t[3]||=e=>xe.value=e,title:G(Dn)(G(L).state),ui:{overlay:`z-30`,content:`z-30 w-[min(96vw,90rem)] max-w-none`}},{content:x(({close:e})=>[A(Qr,{data:G(L).state,abridge:G(Se),closable:``,onClose:t=>e()},null,8,[`data`,`abridge`,`onClose`])]),_:1},8,[`open`,`title`])]),_:1},8,[`title`])}}}),ga=X({__name:`RunRoutePage`,setup(e){let t=oe(Oe,null);return(e,n)=>!G(t)||G(t).page===`runNotFound`?(I(),M(Le,{key:0})):(I(),M(ha,{key:1}))}});export{ga as default};
|
|
6
|
+
`).trim();return o===``?void 0:o}function Bn(e){if(!$(e.title)||e.origin!==`submitted`&&e.origin!==`parsed`)return;let t=typeof e.body==`string`?e.body:``,n=$(e.tldr)?e.tldr:Rn(t),r=zn(t,`What & why`);return{title:e.title,...n===void 0?{}:{tldr:n},...r===void 0?{}:{whatWhy:r},origin:e.origin,complete:e.complete===!0,truncated:e.truncated===!0}}function Vn(){let e=Te({pr:{},readingDiffs:[],ready:!1});return{state:e,handle(t){if(!In(t))return;let n=t;if(n.type===`run_meta`)$(n.repo)&&(e.pr.repo=n.repo),Ln(n.pr)&&(e.pr.number=n.pr),typeof n.headSha==`string`&&kn.test(n.headSha)&&(e.pr.headSha=n.headSha);else if(n.type===`review_artifact`&&n.artifact===`reading_diff`){if(!$(n.diff)||n.poweredBy!==`git`&&n.poweredBy!==`meat`)return;let t={poweredBy:n.poweredBy,baseRef:$(n.baseRef)?n.baseRef:`HEAD`,diff:n.diff,truncated:n.truncated===!0,...$(n.summary)?{summary:n.summary}:{}},r=e.readingDiffs.findIndex(e=>e.poweredBy===t.poweredBy);r>=0?e.readingDiffs.splice(r,1,t):e.readingDiffs.push(t),e.ready=!0}else if(n.type===`review_artifact`&&n.artifact===`pr_description`){let t=Bn(n);t&&(e.description=t)}}}}var Hn=3e3,Un={fetch:(...e)=>globalThis.fetch(...e),delay:e=>new Promise(t=>setTimeout(t,e))};function Wn(e,t,n={}){let{fetch:r,delay:i}={...Un,...n},a=Te({state:{state:`absent`}}),o=!1,s=!1;async function c(t){let n=await r(`/api/review.abridge`,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({id:e,...t?{force:!0}:{}})}),i=await n.json().catch(()=>null);if(!n.ok)throw Error(typeof i?.error==`string`?i.error:`HTTP ${n.status}`);return i??{}}async function l(){let n=!1,i;for(let a=0;a<50;a++){let a=`id=${encodeURIComponent(e)}${i===void 0?``:`&after-seq=${i}`}`,s=await r(`/api/runs.events?${a}`,{credentials:`same-origin`});if(o)return`disposed`;if(!s.ok)throw Error(`HTTP ${s.status}`);let c=await s.json();if(o)return`disposed`;for(let e of c.events??[]){t(e);let r=e;r.type===`review_artifact`&&r.artifact===`reading_diff`&&r.poweredBy===`meat`&&(n=!0)}if(typeof c.nextAfterSeq!=`number`)return n?`found`:`missing`;if(i!==void 0&&c.nextAfterSeq<=i)return`stuck`;i=c.nextAfterSeq}return`stuck`}async function u(e){try{let t=await c(e);for(let e=0;t.state===`running`;e++){if(e>=200){s=!1,a.state={state:`failed`,reason:`still running after the page stopped waiting; ask again later`};return}if(await i(Hn),o)return;t=await c(!1)}if(o)return;if(t.state===`failed`)s=!0,a.state={state:`failed`,reason:typeof t.reason==`string`?t.reason:`unknown reason`};else if(t.state===`done`){let e=await l();if(e===`disposed`)return;s=!1,a.state=e===`found`?{state:`done`}:{state:`failed`,reason:e===`stuck`?`the run's record did not page to its end`:`the abridged diff did not appear on the run's record`}}else s=!1,a.state={state:`failed`,reason:`unexpected answer: ${String(t.state)}`}}catch(e){if(o)return;s=!1,a.state={state:`failed`,reason:e instanceof Error?e.message:String(e)}}}return{get state(){return a.state},start(){if(a.state.state===`running`||o)return;let e=a.state.state===`failed`&&s;a.state={state:`running`},u(e)},dispose(){o=!0}}}var Gn={slots:{base:`font-medium inline-flex items-center`,label:`truncate`,leadingIcon:`shrink-0`,leadingAvatar:`shrink-0`,leadingAvatarSize:``,trailingIcon:`shrink-0`},variants:{fieldGroup:{horizontal:`not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1]`,vertical:`not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none focus-visible:z-[1]`},color:{primary:``,secondary:``,success:``,info:``,warning:``,error:``,neutral:``},variant:{solid:``,outline:``,soft:``,subtle:``},size:{xs:{base:`text-[8px]/3 px-1 py-0.5 gap-1 rounded-sm`,leadingIcon:`size-3`,leadingAvatarSize:`3xs`,trailingIcon:`size-3`},sm:{base:`text-[10px]/3 px-1.5 py-1 gap-1 rounded-sm`,leadingIcon:`size-3`,leadingAvatarSize:`3xs`,trailingIcon:`size-3`},md:{base:`text-xs px-2 py-1 gap-1 rounded-md`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`,trailingIcon:`size-4`},lg:{base:`text-sm px-2 py-1 gap-1.5 rounded-md`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`,trailingIcon:`size-5`},xl:{base:`text-base px-2.5 py-1 gap-1.5 rounded-md`,leadingIcon:`size-6`,leadingAvatarSize:`2xs`,trailingIcon:`size-6`}},square:{true:``}},compoundVariants:[{color:`primary`,variant:`solid`,class:`bg-primary text-inverted`},{color:`secondary`,variant:`solid`,class:`bg-secondary text-inverted`},{color:`success`,variant:`solid`,class:`bg-success text-inverted`},{color:`info`,variant:`solid`,class:`bg-info text-inverted`},{color:`warning`,variant:`solid`,class:`bg-warning text-inverted`},{color:`error`,variant:`solid`,class:`bg-error text-inverted`},{color:`primary`,variant:`outline`,class:`text-primary ring ring-inset ring-primary/50`},{color:`secondary`,variant:`outline`,class:`text-secondary ring ring-inset ring-secondary/50`},{color:`success`,variant:`outline`,class:`text-success ring ring-inset ring-success/50`},{color:`info`,variant:`outline`,class:`text-info ring ring-inset ring-info/50`},{color:`warning`,variant:`outline`,class:`text-warning ring ring-inset ring-warning/50`},{color:`error`,variant:`outline`,class:`text-error ring ring-inset ring-error/50`},{color:`primary`,variant:`soft`,class:`bg-primary/10 text-primary`},{color:`secondary`,variant:`soft`,class:`bg-secondary/10 text-secondary`},{color:`success`,variant:`soft`,class:`bg-success/10 text-success`},{color:`info`,variant:`soft`,class:`bg-info/10 text-info`},{color:`warning`,variant:`soft`,class:`bg-warning/10 text-warning`},{color:`error`,variant:`soft`,class:`bg-error/10 text-error`},{color:`primary`,variant:`subtle`,class:`bg-primary/10 text-primary ring ring-inset ring-primary/25`},{color:`secondary`,variant:`subtle`,class:`bg-secondary/10 text-secondary ring ring-inset ring-secondary/25`},{color:`success`,variant:`subtle`,class:`bg-success/10 text-success ring ring-inset ring-success/25`},{color:`info`,variant:`subtle`,class:`bg-info/10 text-info ring ring-inset ring-info/25`},{color:`warning`,variant:`subtle`,class:`bg-warning/10 text-warning ring ring-inset ring-warning/25`},{color:`error`,variant:`subtle`,class:`bg-error/10 text-error ring ring-inset ring-error/25`},{color:`neutral`,variant:`solid`,class:`text-inverted bg-inverted`},{color:`neutral`,variant:`outline`,class:`ring ring-inset ring-accented text-default bg-default`},{color:`neutral`,variant:`soft`,class:`text-default bg-elevated`},{color:`neutral`,variant:`subtle`,class:`ring ring-inset ring-accented text-default bg-elevated`},{size:`xs`,square:!0,class:`p-0.5`},{size:`sm`,square:!0,class:`p-1`},{size:`md`,square:!0,class:`p-1`},{size:`lg`,square:!0,class:`p-1`},{size:`xl`,square:!0,class:`p-1`}],defaultVariants:{color:`primary`,variant:`solid`,size:`md`}},Kn={__name:`Badge`,props:{as:{type:null,required:!1,default:`span`},label:{type:[String,Number],required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},square:{type:Boolean,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1}},setup(e){let t=e,n=_(),r=k(`badge`,t),i=b(),{orientation:a,size:o}=pe(t),{isLeading:s,isTrailing:c,leadingIconName:l,trailingIconName:u}=ge(r),d=B(()=>ve({extend:Gn,...i.ui?.badge||{}})({color:r.color,variant:r.variant,size:o.value??r.size,square:r.square||!n.default&&!r.label,fieldGroup:a.value}));return(e,t)=>(I(),M(G(h),{as:G(r).as,"data-slot":`base`,class:J(d.value.base({class:[G(r).ui?.base,G(r).class]}))},{default:x(()=>[N(e.$slots,`leading`,{ui:d.value},()=>[G(s)&&G(l)?(I(),M(z,{key:0,name:G(l),"data-slot":`leadingIcon`,class:J(d.value.leadingIcon({class:G(r).ui?.leadingIcon}))},null,8,[`name`,`class`])):G(r).avatar?(I(),M(V,D({key:1,size:G(r).ui?.leadingAvatarSize||d.value.leadingAvatarSize()},G(r).avatar,{"data-slot":`leadingAvatar`,class:d.value.leadingAvatar({class:G(r).ui?.leadingAvatar})}),null,16,[`size`,`class`])):R(``,!0)]),N(e.$slots,`default`,{ui:d.value},()=>[G(r).label!==void 0&&G(r).label!==null?(I(),U(`span`,{key:0,"data-slot":`label`,class:J(d.value.label({class:G(r).ui?.label}))},K(G(r).label),3)):R(``,!0)]),N(e.$slots,`trailing`,{ui:d.value},()=>[G(c)&&G(u)?(I(),M(z,{key:0,name:G(u),"data-slot":`trailingIcon`,class:J(d.value.trailingIcon({class:G(r).ui?.trailingIcon}))},null,8,[`name`,`class`])):R(``,!0)])]),_:3},8,[`as`,`class`]))}},qn={slots:{root:`flex items-center gap-2`,list:`relative flex p-1 group`,indicator:`absolute transition-[translate,width] duration-200 ease-out motion-reduce:transition-none`,trigger:[`group relative inline-flex items-center min-w-0 data-[state=inactive]:text-muted hover:data-[state=inactive]:not-disabled:text-default font-medium rounded-md disabled:cursor-not-allowed disabled:opacity-75`,`transition-colors`],leadingIcon:`shrink-0`,leadingAvatar:`shrink-0`,leadingAvatarSize:``,label:`truncate`,trailingBadge:`shrink-0`,trailingBadgeSize:`sm`,content:`w-full rounded-md focus-visible:outline-3`},variants:{color:{primary:{content:`outline-primary/25`},secondary:{content:`outline-secondary/25`},success:{content:`outline-success/25`},info:{content:`outline-info/25`},warning:{content:`outline-warning/25`},error:{content:`outline-error/25`},neutral:{content:`outline-inverted/25`}},variant:{pill:{list:`bg-elevated rounded-lg`,trigger:[`grow`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:content-[''] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:absolute in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:inset-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:rounded-md in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:shadow-xs in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:-z-10 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:isolate`],indicator:`rounded-md shadow-xs`},link:{list:`border-default`,indicator:`rounded-full`,trigger:`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:content-[''] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:absolute in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:rounded-full`}},orientation:{horizontal:{root:`flex-col`,list:`w-full`,indicator:`left-0 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position)`,trigger:`justify-center`},vertical:{list:`flex-col`,indicator:`top-0 h-(--reka-tabs-indicator-size) translate-y-(--reka-tabs-indicator-position)`}},size:{xs:{trigger:`px-2 py-1 text-xs gap-1`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`},sm:{trigger:`px-2.5 py-1.5 text-xs gap-1.5`,leadingIcon:`size-4`,leadingAvatarSize:`3xs`},md:{trigger:`px-3 py-1.5 text-sm gap-1.5`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`},lg:{trigger:`px-3 py-2 text-sm gap-2`,leadingIcon:`size-5`,leadingAvatarSize:`2xs`},xl:{trigger:`px-3 py-2 text-base gap-2`,leadingIcon:`size-6`,leadingAvatarSize:`xs`}}},compoundVariants:[{orientation:`horizontal`,variant:`pill`,class:{indicator:`inset-y-1`}},{orientation:`horizontal`,variant:`link`,class:{list:`border-b -mb-px`,indicator:`-bottom-px h-px`,trigger:`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:inset-x-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:-bottom-[calc(var(--spacing)+1px)] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:h-px`}},{orientation:`vertical`,variant:`pill`,class:{indicator:`inset-x-1`,list:`items-center`,trigger:`w-full justify-center`}},{orientation:`vertical`,variant:`link`,class:{list:`border-s -ms-px`,indicator:`-start-px w-px`,trigger:`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:inset-y-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:-start-[calc(var(--spacing)+1px)] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:w-px`}},{color:`primary`,variant:`pill`,class:{indicator:`bg-primary`,trigger:[`data-[state=active]:text-inverted outline-primary/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-primary`]}},{color:`secondary`,variant:`pill`,class:{indicator:`bg-secondary`,trigger:[`data-[state=active]:text-inverted outline-secondary/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-secondary`]}},{color:`success`,variant:`pill`,class:{indicator:`bg-success`,trigger:[`data-[state=active]:text-inverted outline-success/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-success`]}},{color:`info`,variant:`pill`,class:{indicator:`bg-info`,trigger:[`data-[state=active]:text-inverted outline-info/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-info`]}},{color:`warning`,variant:`pill`,class:{indicator:`bg-warning`,trigger:[`data-[state=active]:text-inverted outline-warning/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-warning`]}},{color:`error`,variant:`pill`,class:{indicator:`bg-error`,trigger:[`data-[state=active]:text-inverted outline-error/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-error`]}},{color:`neutral`,variant:`pill`,class:{indicator:`bg-inverted`,trigger:[`data-[state=active]:text-inverted outline-inverted/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-inverted`]}},{color:`primary`,variant:`link`,class:{indicator:`bg-primary`,trigger:[`data-[state=active]:text-primary outline-primary/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-primary`]}},{color:`secondary`,variant:`link`,class:{indicator:`bg-secondary`,trigger:[`data-[state=active]:text-secondary outline-secondary/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-secondary`]}},{color:`success`,variant:`link`,class:{indicator:`bg-success`,trigger:[`data-[state=active]:text-success outline-success/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-success`]}},{color:`info`,variant:`link`,class:{indicator:`bg-info`,trigger:[`data-[state=active]:text-info outline-info/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-info`]}},{color:`warning`,variant:`link`,class:{indicator:`bg-warning`,trigger:[`data-[state=active]:text-warning outline-warning/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-warning`]}},{color:`error`,variant:`link`,class:{indicator:`bg-error`,trigger:[`data-[state=active]:text-error outline-error/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-error`]}},{color:`neutral`,variant:`link`,class:{indicator:`bg-inverted`,trigger:[`data-[state=active]:text-highlighted outline-inverted/25 focus-visible:outline-3`,`in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-inverted`]}}],defaultVariants:{color:`primary`,variant:`pill`,size:`md`}},Jn={__name:`Tabs`,props:{as:{type:null,required:!1},items:{type:Array,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},orientation:{type:null,required:!1,default:`horizontal`},content:{type:Boolean,required:!1,default:!0},valueKey:{type:null,required:!1,default:`value`},labelKey:{type:null,required:!1,default:`label`},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultValue:{type:[String,Number],required:!1,default:`0`},modelValue:{type:[String,Number],required:!1},activationMode:{type:String,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:modelValue`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=_(),o=k(`tabs`,r),s=b(),c=P(_e(o,`as`,`unmountOnHide`),i),l=B(()=>ve({extend:qn,...s.ui?.tabs||{}})({color:o.color,variant:o.variant,size:o.size,orientation:o.orientation})),u=j([]);function d(e,t){u.value[e]=t}return t({triggersRef:u}),(e,t)=>(I(),M(G(zt),D(G(c),{"model-value":G(o).modelValue,"default-value":G(o).defaultValue,orientation:G(o).orientation,"activation-mode":G(o).activationMode,"data-slot":`root`,class:l.value.root({class:[G(o).ui?.root,G(o).class]})}),{default:x(()=>[A(G(Wt),{"data-slot":`list`,class:J(l.value.list({class:G(o).ui?.list}))},{default:x(()=>[A(G(Ut),{"data-slot":`indicator`,class:J(l.value.indicator({class:G(o).ui?.indicator}))},null,8,[`class`]),N(e.$slots,`list-leading`),(I(!0),U(O,null,W(G(o).items,(t,n)=>(I(),M(G(Gt),{key:G(E)(t,G(o).valueKey)??n,ref_for:!0,ref:e=>d(n,e),value:G(E)(t,G(o).valueKey)??String(n),disabled:t.disabled,"data-slot":`trigger`,class:J(l.value.trigger({class:[G(o).ui?.trigger,t.ui?.trigger]}))},{default:x(()=>[N(e.$slots,`leading`,{item:t,index:n,ui:l.value},()=>[t.icon?(I(),M(z,{key:0,name:t.icon,"data-slot":`leadingIcon`,class:J(l.value.leadingIcon({class:[G(o).ui?.leadingIcon,t.ui?.leadingIcon]}))},null,8,[`name`,`class`])):t.avatar?(I(),M(V,D({key:1,size:t.ui?.leadingAvatarSize||G(o).ui?.leadingAvatarSize||l.value.leadingAvatarSize()},{ref_for:!0},t.avatar,{"data-slot":`leadingAvatar`,class:l.value.leadingAvatar({class:[G(o).ui?.leadingAvatar,t.ui?.leadingAvatar]})}),null,16,[`size`,`class`])):R(``,!0)]),G(E)(t,G(o).labelKey)||a.default?(I(),U(`span`,{key:0,"data-slot":`label`,class:J(l.value.label({class:[G(o).ui?.label,t.ui?.label]}))},[N(e.$slots,`default`,{item:t,index:n},()=>[F(K(G(E)(t,G(o).labelKey)),1)])],2)):R(``,!0),N(e.$slots,`trailing`,{item:t,index:n,ui:l.value},()=>[t.badge||t.badge===0?(I(),M(Kn,D({key:0,color:`neutral`,variant:`outline`,size:t.ui?.trailingBadgeSize||G(o).ui?.trailingBadgeSize||l.value.trailingBadgeSize()},{ref_for:!0},typeof t.badge==`string`||typeof t.badge==`number`?{label:t.badge}:t.badge,{"data-slot":`trailingBadge`,class:l.value.trailingBadge({class:[G(o).ui?.trailingBadge,t.ui?.trailingBadge]})}),null,16,[`size`,`class`])):R(``,!0)])]),_:2},1032,[`value`,`disabled`,`class`]))),128)),N(e.$slots,`list-trailing`)]),_:3},8,[`class`]),G(o).content?(I(!0),U(O,{key:0},W(G(o).items,(t,n)=>(I(),M(G(Ht),{key:G(E)(t,G(o).valueKey)??n,value:G(E)(t,G(o).valueKey)??String(n),"data-slot":`content`,class:J(l.value.content({class:[G(o).ui?.content,t.ui?.content,t.class]}))},{default:x(()=>[N(e.$slots,t.slot||`content`,{item:t,index:n,ui:l.value},()=>[F(K(t.content),1)])]),_:2},1032,[`value`,`class`]))),128)):R(``,!0)]),_:3},16,[`model-value`,`default-value`,`orientation`,`activation-mode`,`class`]))}},Yn;function Xn(){return Yn??=Fe(()=>import(`./dist-DSkVB16z.js`),__vite__mapDeps([0,1,2,3,4])),Yn}var Zn={key:0,class:`overflow-x-auto rounded-lg border border-(--ui-border) p-3 font-mono text-xs whitespace-pre text-(--ui-text)`,"data-testid":`diff-raw`},Qn=X({__name:`FileDiffs`,props:{diff:{},theme:{},diffStyle:{}},setup(e){let t=e,n=j(null),r=j(!1),i=[],a=0;function o(){for(let e of i)try{e.cleanUp()}catch{}i=[],n.value&&(n.value.innerHTML=``)}async function s(){let e=++a;r.value=!1;try{let{FileDiff:r,parsePatchFiles:s}=await Xn();if(e!==a||!n.value)return;o();let c=s(t.diff).flatMap(e=>e.files);for(let e of c){let a=document.createElement(`diffs-container`);a.dataset.file=e.name,n.value.appendChild(a);let o=new r({themeType:t.theme,diffStyle:t.diffStyle??`unified`});o.render({fileDiff:e,fileContainer:a}),i.push(o)}}catch{e===a&&(r.value=!0)}}return T(s),S(()=>t.diff,s),S(()=>t.theme,s),S(()=>t.diffStyle,s),Ce(()=>{a++,o()}),(t,i)=>r.value?(I(),U(`pre`,Zn,K(e.diff),1)):(I(),U(`div`,{key:1,ref_key:`container`,ref:n,class:`space-y-4`,"data-testid":`file-diffs`},null,512))}});async function $n(e){let{parsePatchFiles:t}=await Xn(),n=t(e).flatMap(e=>e.files).map(e=>({path:e.name,additions:e.hunks.reduce((e,t)=>e+t.additionLines,0),deletions:e.hunks.reduce((e,t)=>e+t.deletionLines,0)}));return{files:n,additions:n.reduce((e,t)=>e+t.additions,0),deletions:n.reduce((e,t)=>e+t.deletions,0)}}function er(e,t){if(e.length<=t)return e;let n=Math.max(1,t-1),r=Math.ceil(n/2),i=Math.floor(n/2);return`${e.slice(0,r)}…${e.slice(e.length-i)}`}var tr={dockerfile:`docker`,makefile:`makefile`,"go.mod":`go`,"go.sum":`go`,".gitignore":`gitignore`,".dockerignore":`dockerignore`},nr={ts:`typescript`,tsx:`tsx`,js:`javascript`,jsx:`jsx`,mjs:`javascript`,cjs:`javascript`,vue:`vue`,svelte:`svelte`,py:`python`,rb:`ruby`,go:`go`,rs:`rust`,java:`java`,kt:`kotlin`,swift:`swift`,c:`c`,h:`c`,cpp:`cpp`,cc:`cpp`,hpp:`cpp`,cs:`csharp`,php:`php`,scala:`scala`,ex:`elixir`,exs:`elixir`,json:`json`,jsonc:`json`,yaml:`yaml`,yml:`yaml`,toml:`toml`,xml:`xml`,html:`html`,css:`css`,scss:`scss`,sass:`sass`,less:`less`,md:`markdown`,mdx:`mdx`,sh:`bash`,bash:`bash`,zsh:`zsh`,sql:`sql`,tf:`terraform`,hcl:`hcl`,dockerfile:`docker`};function rr(e){let t=(e.split(`/`).pop()||e).toLowerCase(),n=tr[t];if(n)return n;let r=t.lastIndexOf(`.`);return r===-1?`text`:nr[t.slice(r+1)]??`text`}var ir={javascript:`i-simple-icons-javascript`,typescript:`i-simple-icons-typescript`,vue:`i-simple-icons-vuedotjs`,jsx:`i-simple-icons-react`,tsx:`i-simple-icons-react`,svelte:`i-simple-icons-svelte`,html:`i-simple-icons-html5`,css:`i-simple-icons-css`,scss:`i-simple-icons-sass`,sass:`i-simple-icons-sass`,less:`i-simple-icons-less`,python:`i-simple-icons-python`,go:`i-simple-icons-go`,rust:`i-simple-icons-rust`,java:`i-simple-icons-openjdk`,c:`i-simple-icons-c`,cpp:`i-simple-icons-cplusplus`,csharp:`i-simple-icons-csharp`,php:`i-simple-icons-php`,ruby:`i-simple-icons-ruby`,elixir:`i-simple-icons-elixir`,scala:`i-simple-icons-scala`,swift:`i-simple-icons-swift`,kotlin:`i-simple-icons-kotlin`,json:`i-simple-icons-json`,yaml:`i-simple-icons-yaml`,toml:`i-simple-icons-toml`,xml:`i-simple-icons-xml`,sql:`i-lucide-database`,markdown:`i-simple-icons-markdown`,mdx:`i-simple-icons-mdx`,bash:`i-simple-icons-gnubash`,zsh:`i-simple-icons-gnubash`,docker:`i-simple-icons-docker`,dockerignore:`i-simple-icons-docker`,terraform:`i-simple-icons-terraform`,hcl:`i-simple-icons-terraform`,makefile:`i-lucide-hammer`,gitignore:`i-simple-icons-git`,text:`i-lucide-file-text`};function ar(e){return ir[e]??ir.text}function or(e){return ar(rr(e))}var sr={key:0,class:`flex items-center gap-2 p-4 text-sm text-(--ui-text-muted) sm:p-5`,"data-testid":`files-loading`},cr={key:1,class:`p-4 text-sm text-(--ui-text-muted) sm:p-5`,"data-testid":`no-files`},lr={class:`shrink-0 border-b border-(--ui-border) @2xl:w-72 @2xl:border-b-0 @2xl:border-r`,"data-testid":`file-list`},ur={class:`@2xl:sticky @2xl:top-0 @2xl:max-h-[calc(100dvh-11rem)] @2xl:overflow-y-auto @2xl:py-3`},dr=[`aria-expanded`],fr={class:`ml-auto tabular-nums`,"data-testid":`pr-totals`},pr={class:`text-(--ui-success)`},mr={class:`text-(--ui-error)`},hr={key:1,class:`flex items-center justify-between gap-2 px-3 pb-2 text-xs text-(--ui-text-dimmed)`},gr={"data-testid":`file-count`},_r={class:`tabular-nums`,"data-testid":`pr-totals`},vr={class:`text-(--ui-success)`},yr={class:`text-(--ui-error)`},br=[`title`,`aria-current`,`onClick`],xr={class:`min-w-0 flex-1 whitespace-nowrap`},Sr={class:`shrink-0 text-[11px] tabular-nums`},Cr={class:`text-(--ui-success)`},wr={class:`text-(--ui-error)`},Tr=34,Er=X({__name:`FilesChanged`,props:{diff:{},notes:{},diffStyle:{}},setup(e){let t=e,n=ae(),r=B(()=>n.value===`dark`?`dark`:`light`),i=j([]),a=j(!0),o=j(null),s=w(`panel`),c=w(`root`),{width:l}=he(c);S(c,e=>{e&&(l.value=e.getBoundingClientRect().width)});let u=B(()=>l.value>0&&l.value<672),d=j(!1),f=B(()=>u.value?`unified`:t.diffStyle??`unified`),p=0;async function m(){let e=++p;a.value=!0;let n=await $n(t.diff);e===p&&(i.value=n.files,o.value=null,a.value=!1)}S(()=>t.diff,m,{immediate:!0});let h=B(()=>i.value.reduce((e,t)=>({additions:e.additions+t.additions,deletions:e.deletions+t.deletions}),{additions:0,deletions:0}));function g(e){o.value=e,u.value&&(d.value=!1);let t=s.value?.querySelectorAll(`[data-file]`)??[];Array.from(t).find(t=>t.dataset.file===e)?.scrollIntoView({block:`start`,behavior:`smooth`})}return(t,n)=>{let l=z;return a.value?(I(),U(`div`,sr,[A(l,{name:`i-lucide-loader-circle`,class:`size-4 animate-spin`}),n[1]||=H(`span`,null,`Loading diff…`,-1)])):i.value.length===0?(I(),U(`p`,cr,` Nothing in this diff parsed as a file. `)):(I(),U(`div`,{key:2,ref_key:`root`,ref:c,class:`@container flex min-h-full flex-col @2xl:flex-row`,"data-testid":`files-changed`},[H(`aside`,lr,[H(`div`,ur,[u.value?(I(),U(`button`,{key:0,type:`button`,class:`flex w-full items-center gap-2 px-3 py-2.5 text-xs text-(--ui-text-muted)`,"aria-expanded":d.value,"data-testid":`files-fold`,onClick:n[0]||=e=>d.value=!d.value},[A(l,{name:d.value?`i-lucide-chevron-down`:`i-lucide-chevron-right`,class:`size-3.5 shrink-0 text-(--ui-text-dimmed)`},null,8,[`name`]),H(`span`,null,K(i.value.length)+` `+K(i.value.length===1?`file`:`files`)+` changed`,1),H(`span`,fr,[H(`span`,pr,`+`+K(h.value.additions),1),H(`span`,mr,`−`+K(h.value.deletions),1)])],8,dr)):(I(),U(`div`,hr,[H(`span`,gr,K(i.value.length)+` `+K(i.value.length===1?`file`:`files`),1),H(`span`,_r,[H(`span`,vr,`+`+K(h.value.additions),1),H(`span`,yr,`−`+K(h.value.deletions),1)])])),!u.value||d.value?(I(),U(`ul`,{key:2,class:J([`flex flex-col`,u.value?`pb-2`:``])},[(I(!0),U(O,null,W(i.value,e=>(I(),U(`li`,{key:e.path},[H(`button`,{type:`button`,class:J([`flex w-full min-w-0 items-center gap-2 px-3 py-1.5 text-left text-xs transition-colors hover:bg-accented/50 dark:hover:bg-(--ui-bg)`,o.value===e.path?`bg-accented/50 text-(--ui-text) dark:bg-(--ui-bg)`:`text-(--ui-text-muted)`]),title:e.path,"aria-current":o.value===e.path?`true`:void 0,"data-testid":`file-entry`,onClick:t=>g(e.path)},[A(l,{name:G(or)(e.path),class:`size-3.5 shrink-0`},null,8,[`name`]),H(`span`,xr,K(G(er)(e.path,Tr)),1),H(`span`,Sr,[H(`span`,Cr,`+`+K(e.additions),1),H(`span`,wr,`−`+K(e.deletions),1)])],10,br)]))),128))],2)):R(``,!0)])]),H(`div`,{ref_key:`panel`,ref:s,class:`min-w-0 flex-1 overflow-x-auto`,"data-testid":`diff-column`},[(I(!0),U(O,null,W(e.notes,e=>(I(),U(`p`,{key:e,class:`px-3 pt-3 text-xs text-(--ui-text-muted)`,"data-testid":`diff-note`},K(e),1))),128)),A(Qn,{diff:e.diff,theme:r.value,"diff-style":f.value},null,8,[`diff`,`theme`,`diff-style`])],512)],512))}}}),Dr=X({__name:`LabelTip`,props:{text:{},disabled:{type:Boolean,default:!1}},setup(e){return(t,n)=>{let r=Ne;return I(),M(r,{text:e.text,disabled:e.disabled,"delay-duration":250,content:{side:`bottom`,align:`end`,sideOffset:6,collisionPadding:8},ui:{content:`h-auto max-w-[28rem] px-2.5 py-1.5`,text:`text-clip whitespace-normal leading-snug`}},{default:x(()=>[N(t.$slots,`default`)]),_:3},8,[`text`,`disabled`])}}}),Or={class:`pr-review-panel @container flex h-full min-h-0 min-w-0 flex-col`,"data-testid":`pr-review-panel`},kr={class:`shrink-0 border-b border-(--ui-border) px-4 pt-5 pb-4 sm:px-6`},Ar={class:`flex flex-col gap-3 @2xl:flex-row @2xl:items-start @2xl:justify-between @2xl:gap-4`},jr={class:`min-w-0`},Mr={class:`line-clamp-2 text-lg leading-snug font-semibold text-(--ui-text) @2xl:line-clamp-none @2xl:truncate`,"data-testid":`pr-title`},Nr={class:`mt-1.5 flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-(--ui-text-muted)`,"data-testid":`pr-facts`},Pr=[`href`],Fr={key:1,class:`inline-flex items-center gap-1.5`},Ir=[`href`],Lr={title:`the base the diff is against`},Rr={"data-testid":`producer-label`},zr={class:`inline-flex items-center gap-1 text-(--ui-warning)`,"data-testid":`truncated-label`},Br={class:`flex shrink-0 flex-wrap items-center gap-2`},Vr={key:1,class:`inline-flex shrink-0 items-center gap-1.5 text-xs text-(--ui-text-muted)`,"data-testid":`abridge-running`},Hr={key:2,class:`inline-flex min-w-0 shrink items-center gap-1.5 text-xs text-(--ui-error)`,"data-testid":`abridge-failed`},Ur=[`title`],Wr={key:0,class:`flex shrink-0 items-center justify-between gap-3 border-b border-(--ui-border) px-4 py-2 sm:px-6`},Gr={class:`tabs-scroll min-w-0 overflow-x-auto`},Kr={class:`min-h-0 flex-1 overflow-y-auto`},qr={key:1,class:`mx-auto max-w-3xl p-4 sm:p-6`,"data-testid":`pr-description`},Jr={key:2,class:`mt-4 text-xs text-(--ui-text-dimmed) italic`,"data-testid":`description-origin`},Yr={key:2,class:`px-4 py-3 text-sm text-(--ui-text-muted) sm:px-6`,"data-testid":`no-diff`},Xr=`switchboard:diffStyle`,Zr=`Abridge the full diff with meat.dev: a model keeps the concepts and drops what a reviewer need not read. One model call; usually a minute or three.`,Qr=X({__name:`PrReviewPanel`,props:{data:{},closable:{type:Boolean,default:!1},abridge:{default:void 0}},emits:[`close`],setup(e,{emit:t}){let n=e,r=t,i=B(()=>An(n.data.pr)),a=B(()=>Dn(n.data)),o=B(()=>n.data.readingDiffs),s=B(()=>n.data.description),c=B(()=>o.value.find(e=>e.poweredBy===`git`)),l=B(()=>o.value.find(e=>e.poweredBy===`meat`)),u=B(()=>n.data.pr.headSha?.slice(0,7)),d=B(()=>{let e=[];return c.value&&e.push({label:`Files changed`,value:`files`}),l.value&&e.push({label:`Reading diff`,value:`reading`}),(s.value?.tldr||s.value?.whatWhy)&&e.push({label:`Description`,value:`description`}),e}),f=()=>jn(o.value)?.poweredBy===`meat`?`reading`:`files`,p=j(f());S(()=>jn(o.value),()=>p.value=f()),S(d,e=>{e.some(e=>e.value===p.value)||(p.value=e[0]?.value??`files`)},{immediate:!0});let m=B(()=>p.value===`files`?c.value:p.value===`reading`?l.value:void 0),h=B(()=>{let e=m.value;if(!e)return[];let t=[];return e.summary&&t.push(e.summary),e.truncated&&t.push(`${Nn(e.diff.length)}.`),t}),g=B(()=>s.value?Fn(s.value):void 0),ee=[{label:`Inline`,value:`unified`,icon:`i-lucide-rows-3`},{label:`Side by side`,value:`split`,icon:`i-lucide-columns-2`}],_=j(`unified`);T(()=>{try{localStorage.getItem(Xr)===`split`&&(_.value=`split`)}catch{}});function te(e){_.value=e===`split`?`split`:`unified`;try{localStorage.setItem(Xr,_.value)}catch{}}let v=B(()=>n.abridge!==void 0&&n.abridge.state.state!==`done`&&c.value!==void 0&&!l.value);return(t,n)=>{let o=z,c=ue,l=Jn;return I(),U(`div`,Or,[H(`header`,kr,[H(`div`,Ar,[H(`div`,jr,[H(`h1`,Mr,K(a.value),1),H(`div`,Nr,[i.value.pr?(I(),U(`a`,{key:0,href:i.value.pr,target:`_blank`,rel:`noopener noreferrer`,class:`inline-flex items-center gap-1.5 hover:text-(--ui-text)`,"data-testid":`pr-link`},[A(o,{name:`i-simple-icons-github`,class:`size-3.5 shrink-0`}),H(`span`,null,K(e.data.pr.repo)+`#`+K(e.data.pr.number),1)],8,Pr)):e.data.pr.repo?(I(),U(`span`,Fr,[A(o,{name:`i-simple-icons-github`,class:`size-3.5 shrink-0`}),H(`span`,null,K(e.data.pr.repo),1)])):R(``,!0),i.value.commit?(I(),U(`a`,{key:2,href:i.value.commit,target:`_blank`,rel:`noopener noreferrer`,class:`font-mono hover:text-(--ui-text)`,"data-testid":`commit-link`},K(u.value),9,Ir)):R(``,!0),m.value?(I(),U(O,{key:3},[H(`span`,Lr,`against origin/`+K(m.value.baseRef),1),A(Dr,{text:G(Mn)(m.value.poweredBy)},{default:x(()=>[H(`span`,Rr,K(G(Pn)(m.value.poweredBy)),1)]),_:1},8,[`text`]),m.value.truncated?(I(),M(Dr,{key:0,text:G(Nn)(m.value.diff.length)},{default:x(()=>[H(`span`,zr,[A(o,{name:`i-lucide-scissors`,class:`size-3.5`}),n[4]||=F(`truncated `,-1)])]),_:1},8,[`text`])):R(``,!0)],64)):R(``,!0)])]),H(`div`,Br,[i.value.pr?(I(),M(c,{key:0,label:`View on GitHub`,icon:`i-simple-icons-github`,color:`neutral`,variant:`ghost`,size:`sm`,to:i.value.pr,target:`_blank`,"data-testid":`github-button`},null,8,[`to`])):R(``,!0),v.value&&e.abridge?(I(),U(O,{key:1},[e.abridge.state.state===`absent`?(I(),M(Dr,{key:0,text:Zr},{default:x(()=>[A(c,{label:`Abridge with meat`,icon:`i-lucide-scissors`,size:`sm`,"data-testid":`abridge-button`,onClick:n[0]||=t=>e.abridge.start()})]),_:1})):e.abridge.state.state===`running`?(I(),U(`span`,Vr,[A(o,{name:`i-lucide-loader-circle`,class:`size-3.5 animate-spin`}),n[5]||=F(` Abridging… usually 1–3 minutes `,-1)])):e.abridge.state.state===`failed`?(I(),U(`span`,Hr,[A(o,{name:`i-lucide-circle-alert`,class:`size-3.5 shrink-0`}),H(`span`,{class:`truncate`,title:e.abridge.state.reason},`Abridging failed: `+K(e.abridge.state.reason),9,Ur),A(c,{size:`xs`,color:`neutral`,variant:`outline`,label:`Retry`,"data-testid":`abridge-retry`,onClick:n[1]||=t=>e.abridge.start()})])):R(``,!0)],64)):R(``,!0),e.closable?(I(),M(c,{key:2,icon:`i-lucide-x`,color:`neutral`,variant:`ghost`,size:`sm`,"aria-label":`Close`,"data-testid":`panel-close`,onClick:n[2]||=e=>r(`close`)})):R(``,!0)])])]),d.value.length>0?(I(),U(`div`,Wr,[H(`div`,Gr,[A(l,{modelValue:p.value,"onUpdate:modelValue":n[3]||=e=>p.value=e,items:d.value,size:`sm`,class:`w-fit gap-0`,content:!1,"data-testid":`panel-tabs`},null,8,[`modelValue`,`items`])]),m.value?(I(),M(l,{key:0,"model-value":_.value,items:ee,color:`neutral`,size:`xs`,content:!1,class:`hidden w-fit @2xl:flex`,"data-testid":`diff-style`,"onUpdate:modelValue":te},null,8,[`model-value`])):R(``,!0)])):R(``,!0),H(`div`,Kr,[m.value?(I(),M(Er,{key:m.value.poweredBy,diff:m.value.diff,notes:h.value,"diff-style":_.value},null,8,[`diff`,`notes`,`diff-style`])):p.value===`description`&&s.value?(I(),U(`div`,qr,[n[7]||=H(`div`,{class:`mb-2 text-xs font-medium text-(--ui-text-dimmed)`},`What the pull request says about itself`,-1),s.value.tldr?(I(),M(Z,{key:0,text:s.value.tldr,class:`text-sm`,"data-testid":`description-tldr`},null,8,[`text`])):R(``,!0),s.value.whatWhy?(I(),U(O,{key:1},[n[6]||=H(`div`,{class:`mt-4 mb-2 text-xs font-medium text-(--ui-text-dimmed)`},`What & why`,-1),A(Z,{text:s.value.whatWhy,class:`text-sm`,"data-testid":`description-what-why`},null,8,[`text`])],64)):R(``,!0),g.value?(I(),U(`p`,Jr,K(g.value),1)):R(``,!0)])):(I(),U(`p`,Yr,` No reading diff was produced for this review. `))])])}}}),$r={class:`conn flex items-center gap-2 font-mono`},ei={key:0,class:`ok text-ok`,role:`img`,"aria-label":`succeeded`},ti=[`data-heat`],ni={key:2,id:`delivery`,class:`text-xs text-muted`},ri=[`title`],ii={key:0,id:`actions`,class:`actions flex gap-1.5`},ai={class:`mx-auto max-w-6xl`},oi={key:0,id:`runmeta`,class:`runmeta facts mb-3 flex flex-wrap items-baseline gap-x-3 gap-y-1.5 px-(--sb-gutter) font-mono text-xs text-dimmed`},si={class:`agent text-[0.68rem] font-medium uppercase tracking-wider text-toned`},ci={class:`model`},li={key:0,class:`effort`},ui=[`href`],di={key:2,class:`repo`},fi=[`href`],pi={key:4,class:`reftag rounded border border-accented px-1.5 text-[0.75rem] text-toned`},mi=[`href`,`title`],hi=[`href`],gi={key:1,id:`request`,class:`block mb-4 rounded-lg border border-default bg-(--ui-bg-muted) px-(--sb-gutter) py-3`},_i={class:`mb-2 flex items-baseline gap-2.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},vi={key:0,class:`source flex items-center gap-2 font-normal normal-case tracking-normal text-dimmed`},yi=[`href`],bi={key:1},xi={key:1},Si=[`title`],Ci={key:5,id:`references`,class:`group mb-4 px-(--sb-gutter)`},wi={class:`flex min-h-6 cursor-pointer list-none items-baseline gap-2.5 font-mono text-xs font-medium uppercase tracking-wider text-muted hover:text-toned [&::-webkit-details-marker]:hidden`},Ti={class:`count font-normal normal-case tracking-normal text-dimmed`},Ei={id:`referencedthreads`,class:`pb-1 pl-5`},Di={class:`flex items-baseline gap-2 font-mono text-xs text-dimmed`},Oi=[`href`],ki=[`title`],Ai={class:`quoted mt-1 whitespace-pre-wrap break-words font-mono text-xs opacity-85`},ji={key:6,id:`context`,class:`group mb-4 px-(--sb-gutter)`},Mi={class:`flex min-h-6 cursor-pointer list-none items-baseline gap-2.5 font-mono text-xs font-medium uppercase tracking-wider text-muted hover:text-toned [&::-webkit-details-marker]:hidden`},Ni={class:`count font-normal normal-case tracking-normal text-dimmed`},Pi={id:`contextturns`,class:`pb-1 pl-5`},Fi=[`title`],Ii={id:`thisrun`,class:`mb-2 flex items-baseline gap-2.5 px-(--sb-gutter) font-mono text-xs font-medium uppercase tracking-wider text-muted`},Li={key:0,class:`count font-normal normal-case tracking-normal text-dimmed`},Ri=[`aria-pressed`,`data-open`,`title`],zi={id:`log`,class:`m-0 list-none p-0`},Bi={key:0,id:`placeholder`,class:`empty text-muted`},Vi=[`id`],Hi={class:`meta flex flex-wrap items-baseline gap-x-2.5 gap-y-0.5 pr-(--sb-gutter) font-mono text-xs tabular-nums text-dimmed`},Ui=[`title`],Wi=[`title`],Gi=[`title`],Ki=[`href`],qi={key:3,class:`nonar font-sans italic`},Ji=[`title`],Yi=[`data-phase`],Xi=[`aria-expanded`,`onClick`],Zi={class:`glyph select-none text-dimmed`},Qi={class:`what`},$i={key:0,class:`m-0 list-none p-0 pl-4`},ea={key:4,class:`followup block mt-5 rounded-lg border border-default bg-(--ui-bg-muted) px-(--sb-gutter) py-3`},ta={class:`mb-2 flex items-baseline gap-2.5 font-mono text-xs font-medium uppercase tracking-wider text-muted`},na={key:0,class:`source flex items-center gap-2 font-normal normal-case tracking-normal text-dimmed`},ra=[`href`],ia={key:1},aa=[`title`],oa={key:5,class:`mt-5`},sa=[`open`],ca={class:`flex min-h-6 cursor-pointer list-none items-baseline gap-2.5 font-mono text-xs font-medium uppercase tracking-wider text-muted hover:text-toned [&::-webkit-details-marker]:hidden`},la={key:0,class:`font-normal normal-case tracking-normal text-dimmed`},ua=[`title`],da=[`title`],fa={key:1,id:`thinking`,class:`pending ml-3.5 mt-5 flex items-center gap-3 rounded-md border border-dashed border-accented pl-3 pr-[calc(var(--sb-gutter)-1px)] py-2 text-sm first:mt-0`,"aria-live":`off`,title:`the model is working on its next turn — nothing back yet (since the last event, runner clock)`},pa=[`title`],ma={class:`verb min-w-0 truncate text-toned`},ha=X({__name:`RunPage`,setup(e){let t=De(`run`),n=t?.mode===`history`,r=n?`Run`:`Live run`,i=n,a=t?.artifacts??null,o=t?.children??[],s=(t?.mode===`history`?t.units:void 0)??[],l=typeof window<`u`?new URLSearchParams(window.location.search).get(`open`):null,u=et({openTags:l?l.split(`,`).map(e=>e.trim()).filter(Boolean):void 0}),d=u.state,p=j(n?`ended`:`connecting`),m=j(``),h=Ie(),g=t?.mode===`live`?$e(t,h.value):null,_=j(void 0),v=j({}),y=B(()=>{if(n&&t?.mode===`history`)return t.status===`completed`?{ok:!0,cls:``,word:`succeeded`}:{ok:!1,cls:t.status===`failed`||t.status===`stopped_hard`||t.status===`interrupted`?`red`:t.status===`stopped_soft`?`amber`:`grey`,word:t.status?Ve(t.status):`ended`};let e=d.stopMode;return{ok:!1,cls:e===`hard`?`red`:e===`soft`?`amber`:`grey`,word:e===`hard`?`killed`:e===`soft`?`stopped early`:`ended`}}),b=B(()=>n&&t?.mode===`history`?t.durationMs:_.value),ne=B(()=>ct(n&&t?.mode===`history`?{finishedAt:t.finishedAt,sealedAt:t.sealedAt,replyOk:t.replyOk}:v.value)),C=B(()=>b.value===void 0?``:Be(b.value,`clock`)),w=B(()=>St(b.value,`run`)),re=B(()=>xt(w.value)),ie={red:`border-bad/30 text-bad`,amber:`border-warn/30 text-warn`,grey:`border-accented text-muted`},ae=B(()=>m.value?m.value:p.value===`connecting`?`connecting…`:p.value===`disconnected`?`disconnected`:p.value===`stopping`?`stopping (${d.stopMode??`soft`})`:p.value===`finished`?_.value===void 0?`delivering…`:`delivering… · ${Be(_.value,`clock`)}`:g?`running · ${Be(g.elapsedMs(h.value),`clock`)}`:`running`),oe=B(()=>m.value||p.value===`disconnected`?`text-bad`:p.value===`running`?`text-ok motion-safe:animate-pulse`:p.value===`finished`?`text-ok`:`text-warn motion-safe:animate-pulse`),se=B(()=>{if(!t||t.mode!==`live`&&t.mode!==`history`)return null;d.traceVersion;let e=t.receivedAt??t.startedAt,n=ot(d.meta?.agent);if(t.mode===`history`){let r=t.durationMs??(t.finishedAt===void 0?0:Math.max(0,t.finishedAt-e));return lt({spans:u.spanSet(),losses:u.losses(e),window:{start:e,end:e+r},owner:n,totalMs:r,phase:`ended`,delivery:{finishedAt:t.finishedAt,sealedAt:t.sealedAt,replyOk:t.replyOk},...t.truncated===void 0?{}:{truncated:t.truncated},...t.untimed?{untimed:!0}:{},callTitle:u.callHeadline})}if(!g)return null;let r=p.value===`ended`?`ended`:p.value===`finished`?`delivering`:`live`,i=r===`live`?g.elapsedMs(h.value):_.value??g.elapsedMs(h.value);return lt({spans:u.spanSet(),losses:u.losses(e),window:{start:e,end:e+i},owner:n,totalMs:i,phase:r,delivery:v.value,callTitle:u.callHeadline})}),E=n&&t?.mode===`history`?`/runs/${encodeURIComponent(t.id)}/events`:void 0;function ce(e){u.reveal(e)&&te().then(()=>{let t=document.getElementById(e);t&&(t.scrollIntoView?.({block:`center`}),t.classList.add(`revealed`),setTimeout(()=>t.classList.remove(`revealed`),1500))})}let D=j(n),k=j(!1);function de(e){t?.mode===`live`&&(e!==`hard`||c.confirm(`Hard stop: abort the run now with no summary and free its sandbox?`))&&(k.value=!0,fetch(`${t.stopUrl}&mode=${encodeURIComponent(e)}`,{method:`POST`,credentials:`same-origin`}).then(t=>{if(!t.ok)throw Error(`HTTP ${t.status}`);fe(e)}).catch(e=>{k.value=!1,m.value=`stop failed: ${e instanceof Error?e.message:`error`}`}))}function fe(e){u.markStopping(e),D.value=!0,(p.value===`connecting`||p.value===`running`)&&(p.value=`stopping`)}S(()=>d.stopMode,e=>{e&&p.value!==`ended`&&p.value!==`disconnected`&&p.value!==`finished`&&fe(e)}),n||S(p,e=>c.setFavicon(e===`ended`||e===`disconnected`||e===`finished`?vt:yt),{immediate:!0});let pe=B(()=>!n&&p.value!==`ended`&&p.value!==`disconnected`&&p.value!==`finished`),me=B(()=>pe.value?qe(d,h.value):null);Ee(ft,me),Ee(Qe,a),Ee(it,B(()=>d.reply!==null));let N=B(()=>pe.value?at(d,u.pendingCall(),h.value):null),he=[`Thinking`,`Pondering`,`Mulling it over`,`Reasoning`,`Cogitating`,`Weighing options`,`Puzzling`,`Deliberating`,`Noodling`,`Chewing on it`,`Ruminating`,`Reticulating splines`],ge=B(()=>N.value?.kind===`thinking`?se.value?.openStep||he[Math.floor(N.value.elapsedMs/6e3)%he.length]:``);function _e(){u.setAllOpen(!d.allOpen)}let P=B(()=>d.log.filter(e=>e.kind===`step`).length),ve=B(()=>{for(let e=d.log.length-1;e>=0;e--){let t=d.log[e];if(t.kind===`note`&&t.noteKind===`notes`)return t.key}}),ye=j(null);function be(){return window.innerHeight+window.scrollY>=document.body.scrollHeight-60}let L=Vn(),xe=j(!1),Se=t?.mode===`history`&&t.capabilities.readingDiffAbridge?Wn(t.id,e=>L.handle(e)):void 0;Ce(()=>Se?.dispose());function we(e){let t=be();u.handle(e),L.handle(e),t&&requestAnimationFrame(()=>ye.value?.scrollIntoView?.({block:`nearest`}))}let Te=_t(),V=null;if(t?.mode===`history`){for(let e of t.events)u.handle(e),L.handle(e);u.closePhases()}T(()=>{if(t?.mode!==`live`)return;V=Te(t.eventsUrl),V.onopen=()=>{d.stopMode||(p.value=`running`)};let e=0;V.onmessage=t=>{let n;try{n=JSON.parse(t.data)}catch{return}if(n.type!==`replay_note`){let n=Number(t.lastEventId);if(n>0){if(n<=e)return;e=n}}we(n)},V.addEventListener(`replay_elided`,e=>{let t=pt(e);t&&u.noteElided(t)}),V.addEventListener(`finished`,e=>{let t=Ye(e);t&&g&&(_.value=g.elapsedAt(t.finishedAt)),t&&(v.value={...v.value,finishedAt:t.finishedAt}),D.value=!0,(p.value===`connecting`||p.value===`running`)&&(p.value=`finished`)}),V.addEventListener(`end`,e=>{u.flushPendingTurn(`the run ended here`),u.closePhases(),D.value=!0,_.value??=g?.elapsedMs(h.value),v.value={...v.value,...tt(e)},p.value=`ended`,V?.close()}),V.onerror=()=>{V&&V.readyState===2&&(p.value=`disconnected`)}}),Ce(()=>{V?.close()});function Oe(e){return e&&/^https?:\/\//.test(e)?e:``}let ke=B(()=>Oe(d.request?.source?.url)),q=B(()=>{let e=d.meta;return{repo:Je(e?.repo),tree:Ge(e?.repo,e?.ref),commit:Ue(e?.repo,e?.headSha),pr:mt(e?.repo,e?.pr)}}),Ae=B(()=>ht({meta:d.meta,requestText:d.request?.text??``,prOpened:d.prOpened}));function Y(e){return typeof e==`number`?Re(e,h.value):``}function X(e){return typeof e==`number`?ze(e):void 0}return(e,t)=>{let n=ue,a=Ne,c=z,l=Jt;return I(),M(f,{title:G(r),nav:`runs`},{leading:x(()=>[...t[4]||=[H(`a`,{class:`back text-sm text-primary no-underline hover:underline`,href:`/runs`},`← All runs`,-1)]]),status:x(()=>[H(`span`,$r,[p.value===`ended`?(I(),U(O,{key:0},[y.value.ok?(I(),U(`span`,ei,`✓`)):(I(),U(`span`,{key:1,class:J([`chip rounded border px-1.5 text-[0.7rem]`,ie[y.value.cls]])},K(y.value.word),3)),H(`span`,{id:`state`,class:J([`dur text-xs tabular-nums`,[re.value?`heat`:`text-muted`,w.value.level>=2?`font-medium`:``]]),style:ee(re.value),"data-heat":w.value.level},K(C.value),15,ti),ne.value?(I(),U(`span`,ni,`· `+K(ne.value),1)):R(``,!0)],64)):(I(),U(O,{key:1},[H(`span`,{id:`statedot`,class:J([`pulse text-[1.1em] leading-none`,oe.value])},`∿`,2),H(`span`,{id:`state`,class:J([`text-xs tabular-nums`,m.value?`text-bad`:`text-muted`]),title:p.value===`running`&&!m.value?`the whole run, since we received the message`:p.value===`finished`?`the agent stopped; the reply is being posted`:void 0},K(ae.value),11,ri)],64))])]),actions:x(()=>[D.value?R(``,!0):(I(),U(`span`,ii,[A(a,{text:`Soft stop: no new steps, the agent writes up what it has`},{default:x(()=>[A(n,{size:`xs`,color:`neutral`,variant:`outline`,label:`Stop`,disabled:k.value,onClick:t[0]||=e=>de(`soft`)},null,8,[`disabled`])]),_:1}),A(a,{text:`Hard stop: abort now, no summary, free the sandbox`},{default:x(()=>[A(n,{size:`xs`,color:`error`,variant:`outline`,label:`Kill`,disabled:k.value,onClick:t[1]||=e=>de(`hard`)},null,8,[`disabled`])]),_:1})]))]),default:x(()=>[H(`div`,ai,[G(d).meta?(I(),U(`div`,oi,[H(`span`,si,K(G(d).meta.agent),1),H(`span`,ci,K(G(d).meta.model),1),G(d).meta.effort?(I(),U(`span`,li,K(G(d).meta.effort)+` effort`,1)):R(``,!0),q.value.repo?(I(),U(`a`,{key:1,class:`text-primary no-underline hover:underline`,href:q.value.repo,target:`_blank`,rel:`noopener noreferrer`},K(G(d).meta.repo),9,ui)):G(d).meta.repo?(I(),U(`span`,di,K(G(d).meta.repo),1)):R(``,!0),q.value.tree?(I(),U(`a`,{key:3,class:`reftag rounded border border-accented px-1.5 text-[0.75rem] text-toned no-underline hover:border-primary hover:text-primary`,href:q.value.tree,target:`_blank`,rel:`noopener noreferrer`,title:`the branch on GitHub`},K(G(d).meta.ref),9,fi)):G(d).meta.ref?(I(),U(`span`,pi,K(G(d).meta.ref),1)):R(``,!0),q.value.commit&&G(d).meta.headSha?(I(),U(`a`,{key:5,class:`sha tabular-nums text-toned no-underline hover:text-primary hover:underline`,href:q.value.commit,target:`_blank`,rel:`noopener noreferrer`,title:`the head commit ${G(d).meta.headSha}`},K(G(We)(G(d).meta.headSha)),9,mi)):R(``,!0),q.value.pr?(I(),U(`a`,{key:6,class:`prlink whitespace-nowrap text-primary no-underline hover:underline`,href:q.value.pr,target:`_blank`,rel:`noopener noreferrer`},[A(Ke,{class:`mr-1 align-[-0.125em]`}),F(`#`+K(G(d).meta.pr),1)],8,hi)):R(``,!0),G(L).state.ready?(I(),U(`button`,{key:7,type:`button`,class:`reading-diff ml-auto inline-flex cursor-pointer items-center gap-1 whitespace-nowrap text-primary hover:underline focus-visible:outline-2 focus-visible:outline-primary`,"data-testid":`reading-diff-button`,onClick:t[2]||=e=>xe.value=!0},[A(c,{name:`i-lucide-git-compare`,class:`size-3.5 shrink-0`,"aria-hidden":`true`}),t[5]||=F(` Reading diff `,-1)])):R(``,!0)])):R(``,!0),G(d).request?(I(),U(`section`,gi,[H(`h2`,_i,[t[6]||=H(`span`,null,`Request`,-1),G(d).request.source?(I(),U(`span`,vi,[G(d).request.source.channel?(I(),U(O,{key:0},[A(bt),ke.value?(I(),U(`a`,{key:0,class:`text-muted no-underline hover:text-primary hover:underline`,href:ke.value,target:`_blank`,rel:`noopener noreferrer`,title:`open the thread`},`#`+K(G(d).request.source.channel),9,yi)):(I(),U(`span`,bi,`#`+K(G(d).request.source.channel),1))],64)):R(``,!0),G(d).request.source.user?(I(),U(`span`,xi,K(G(d).request.source.user),1)):R(``,!0)])):R(``,!0),H(`span`,{class:`ts ml-auto select-none text-xs font-normal normal-case tracking-normal text-dimmed`,title:X(G(d).request.at)},K(Y(G(d).request.at)),9,Si)]),A($t,{lines:3},{default:x(()=>[A(Z,{text:G(d).request.text},null,8,[`text`])]),_:1}),G(d).request.files.length>0?(I(),M(ut,{key:0,files:G(d).request.files},null,8,[`files`])):R(``,!0)])):R(``,!0),G(d).reply&&G(i)?(I(),M(fn,{key:2,position:`first`,text:G(d).reply.text,caption:Ae.value,when:Y(G(d).reply.at),"when-title":X(G(d).reply.at),files:G(d).reply.files},null,8,[`text`,`caption`,`when`,`when-title`,`files`])):R(``,!0),G(s).length>0?(I(),M(xn,{key:3,units:G(s)},null,8,[`units`])):R(``,!0),G(o).length>0?(I(),M(En,{key:4,children:G(o),now:G(h)},null,8,[`children`,`now`])):R(``,!0),G(d).references.length>0?(I(),U(`details`,Ci,[H(`summary`,wi,[t[7]||=H(`span`,{class:`chev select-none text-xs text-dimmed transition-transform group-open:rotate-90 motion-reduce:transition-none`},`❯`,-1),H(`span`,null,`Referenced thread`+K(G(d).references.length===1?``:`s`),1),H(`span`,Ti,`· `+K(G(d).references.length)+` thread`+K(G(d).references.length===1?``:`s`),1)]),H(`div`,Ei,[(I(!0),U(O,null,W(G(d).references,e=>(I(),U(`div`,{key:e.key,class:`reference border-t border-default py-1.5 first-of-type:border-t-0`},[H(`div`,Di,[H(`a`,{class:`text-muted no-underline hover:text-primary hover:underline`,href:e.url,target:`_blank`,rel:`noopener noreferrer`},`#`+K(e.channelName),9,Oi),H(`span`,null,`· `+K(e.messages)+` message`+K(e.messages===1?``:`s`),1),H(`span`,{class:`ts ml-auto shrink-0 select-none`,title:X(e.at)},K(Y(e.at)),9,ki)]),H(`div`,Ai,[(I(!0),U(O,null,W(G(Ze)(e.text),(e,t)=>(I(),U(`div`,{key:t},K(e),1))),128))])]))),128))])])):R(``,!0),G(d).context.length>0?(I(),U(`details`,ji,[H(`summary`,Mi,[t[8]||=H(`span`,{class:`chev select-none text-xs text-dimmed transition-transform group-open:rotate-90 motion-reduce:transition-none`},`❯`,-1),t[9]||=H(`span`,null,`Earlier in this thread`,-1),H(`span`,Ni,`· `+K(G(d).context.length)+` turn`+K(G(d).context.length===1?``:`s`),1)]),H(`div`,Pi,[(I(!0),U(O,null,W(G(d).context,e=>(I(),U(`div`,{key:e.key,class:`turn flex items-baseline gap-3 border-t border-default py-1.5 opacity-85 first-of-type:border-t-0`},[A(Z,{text:e.text},null,8,[`text`]),H(`span`,{class:`ts ml-auto shrink-0 select-none font-mono text-xs text-dimmed`,title:X(e.at)},K(Y(e.at)),9,Fi)]))),128))])])):R(``,!0),H(`h2`,Ii,[t[10]||=H(`span`,null,`This run`,-1),P.value>0?(I(),U(`span`,Li,`· `+K(P.value)+` step`+K(P.value===1?``:`s`),1)):R(``,!0),H(`button`,{id:`fold`,type:`button`,class:`ml-auto cursor-pointer font-normal normal-case tracking-normal text-dimmed hover:text-toned focus-visible:outline-2 focus-visible:outline-primary`,"aria-pressed":G(d).allOpen?`true`:`false`,"data-open":G(d).allOpen?`1`:`0`,title:G(d).allOpen?`Close every call card`:`Open every call card`,onClick:_e},K(G(d).allOpen?`Collapse all`:`Expand all`),9,Ri)]),se.value?(I(),M(rt,{key:7,vm:se.value,"events-href":G(E),onReveal:ce},null,8,[`vm`,`events-href`])):R(``,!0),H(`ol`,zi,[G(d).placeholder?(I(),U(`li`,Bi,`Waiting for activity…`)):R(``,!0),(I(!0),U(O,null,W(G(d).log,e=>(I(),U(O,{key:e.key},[e.kind===`step`?(I(),M(st,{key:0,step:e,class:`mt-5 first:mt-0`,onToggleGroup:t=>G(u).toggleGroup(e)},null,8,[`step`,`onToggleGroup`])):e.kind===`turn`?(I(),U(`li`,{key:1,id:`span-${e.turn.spanId}`,class:`turn mt-5 border-l-2 border-(--ui-border-accented)/50 pb-3 pl-3 pt-2`},[H(`div`,Hi,[H(`span`,{class:J([`thought`,e.turn.quick?``:`text-warn`]),title:e.turn.label},`thought `+K(e.turn.chip),11,Ui),e.turn.switched?(I(),U(`span`,{key:0,class:`model-switch order-first rounded border border-warn/40 bg-warn/10 px-1.5 font-medium text-warn`,title:`model changed: this turn ran on ${e.turn.model}`},`⇄ `+K(G(nt)(e.turn.model)),9,Wi)):e.turn.showModel?(I(),U(`span`,{key:1,class:`model-badge order-first rounded bg-accented px-1.5 text-[0.68rem] font-medium leading-normal tracking-wider text-muted`,title:e.turn.model},K(G(nt)(e.turn.model)),9,Gi)):R(``,!0),(I(!0),U(O,null,W(e.turn.facts,(e,t)=>(I(),U(`span`,{key:t,class:`fact`},K(e),1))),128)),e.note&&e.noteHref?(I(),U(`a`,{key:2,class:`nonar font-sans italic text-dimmed no-underline hover:text-primary hover:underline`,href:e.noteHref},K(e.note),9,Ki)):e.note?(I(),U(`span`,qi,K(e.note),1)):R(``,!0),e.turn.at===void 0?R(``,!0):(I(),U(`span`,{key:4,class:`ts ml-auto select-none`,title:G(ze)(e.turn.at)},K(G(He)(e.turn.at)),9,Ji))])],8,Vi)):e.kind===`span`?(I(),M(on,{key:2,item:e},null,8,[`item`])):e.kind===`phase`?(I(),U(`li`,{key:3,class:`phase py-0.5 font-mono text-xs`,"data-phase":e.phase},[H(`button`,{type:`button`,class:`phase-head flex w-full cursor-pointer items-baseline gap-2 text-left text-muted hover:text-toned`,"aria-expanded":e.open,onClick:le(t=>G(u).togglePhase(e),[`prevent`])},[H(`span`,Zi,K(e.open?`▾`:`▸`),1),H(`span`,{class:J([`swatch inline-block size-2 shrink-0 self-center rounded-[2px]`,G(Xe)(e.phase)]),"aria-hidden":`true`},null,2),H(`span`,Qi,K(G(gt)(e)),1)],8,Xi),e.open?(I(),U(`ul`,$i,[(I(!0),U(O,null,W(e.rows,e=>(I(),M(on,{key:e.key,item:e},null,8,[`item`]))),128))])):R(``,!0)],8,Yi)):e.kind===`followup`?(I(),U(`li`,ea,[H(`h2`,ta,[t[11]||=H(`span`,null,`↪ Follow-up`,-1),e.input.source?.user?(I(),U(`span`,na,[Oe(e.input.source.url)?(I(),U(`a`,{key:0,class:`text-muted no-underline hover:text-primary hover:underline`,href:e.input.source.url,target:`_blank`,rel:`noopener noreferrer`,title:`open the message`},K(e.input.source.user),9,ra)):(I(),U(`span`,ia,K(e.input.source.user),1))])):R(``,!0),H(`span`,{class:`ts ml-auto select-none text-xs font-normal normal-case tracking-normal text-dimmed`,title:X(e.input.at)},K(Y(e.input.at)),9,aa)]),A(Z,{text:e.input.text},null,8,[`text`]),e.input.files.length>0?(I(),M(ut,{key:0,files:e.input.files},null,8,[`files`])):R(``,!0)])):e.noteKind===`notes`?(I(),U(`li`,oa,[H(`details`,{class:`notepad group rounded-lg border border-default bg-(--ui-bg-muted) px-(--sb-gutter) py-2`,open:e.key===ve.value},[H(`summary`,ca,[t[12]||=H(`span`,{class:`chev select-none text-xs text-dimmed transition-transform group-open:rotate-90 motion-reduce:transition-none`},`❯`,-1),t[13]||=H(`span`,null,`📝 Notes for this thread`,-1),e.key===ve.value?R(``,!0):(I(),U(`span`,la,`· superseded`)),e.at===void 0?R(``,!0):(I(),U(`span`,{key:1,class:`ts ml-auto select-none font-normal normal-case tracking-normal text-dimmed`,title:G(ze)(e.at)},K(G(He)(e.at)),9,ua))]),A(Z,{text:e.text,class:`mt-1 [&_h1]:mb-1.5 [&_h1]:mt-4 [&_h1]:font-mono [&_h1]:text-xs [&_h1]:font-medium [&_h1]:uppercase [&_h1]:tracking-wider [&_h1]:text-muted [&_h2]:mb-1.5 [&_h2]:mt-4 [&_h2]:font-mono [&_h2]:text-xs [&_h2]:font-medium [&_h2]:uppercase [&_h2]:tracking-wider [&_h2]:text-muted [&_h3]:mb-1.5 [&_h3]:mt-4 [&_h3]:font-mono [&_h3]:text-xs [&_h3]:font-medium [&_h3]:uppercase [&_h3]:tracking-wider [&_h3]:text-muted [&>:first-child]:mt-1`},null,8,[`text`])],8,sa)])):(I(),U(`li`,{key:6,class:J([`note mt-4 flex items-baseline gap-3 rounded-md pl-3 pr-(--sb-gutter) py-1.5`,e.replay?`text-dimmed`:`bg-warn/10 text-warn`])},[H(`span`,null,K((e.replay?`… `:`⏱ `)+e.text),1),e.at===void 0?R(``,!0):(I(),U(`span`,{key:0,class:`ts ml-auto select-none font-mono text-xs text-dimmed`,title:G(ze)(e.at)},K(G(He)(e.at)),9,da))],2))],64))),128)),N.value?.kind===`thinking`?(I(),U(`li`,fa,[t[14]||=H(`span`,{class:`pulse text-[1.1em] leading-none text-info motion-safe:animate-pulse`},`∿`,-1),H(`span`,{class:`badge shrink-0 rounded bg-accented px-1.5 font-mono text-[0.68rem] font-medium leading-normal tracking-wider text-muted`,title:G(d).model??void 0},K(G(nt)(G(d).model)),9,pa),H(`span`,ma,K(ge.value)+`…`,1),H(`span`,{class:J([`since ml-auto shrink-0 font-mono text-xs tabular-nums`,N.value.slow?`text-warn`:`text-dimmed`])},K(G(Be)(N.value.elapsedMs,`clock`)),3)])):R(``,!0),H(`li`,{ref_key:`logEnd`,ref:ye,"aria-hidden":`true`},null,512)]),G(d).reply&&!G(i)?(I(),M(fn,{key:8,position:`last`,text:G(d).reply.text,caption:Ae.value,when:Y(G(d).reply.at),"when-title":X(G(d).reply.at),files:G(d).reply.files},null,8,[`text`,`caption`,`when`,`when-title`,`files`])):R(``,!0)]),A(l,{open:xe.value,"onUpdate:open":t[3]||=e=>xe.value=e,title:G(Dn)(G(L).state),ui:{overlay:`z-30`,content:`z-30 w-[min(96vw,90rem)] max-w-none`}},{content:x(({close:e})=>[A(Qr,{data:G(L).state,abridge:G(Se),closable:``,onClose:t=>e()},null,8,[`data`,`abridge`,`onClose`])]),_:1},8,[`open`,`title`])]),_:1},8,[`title`])}}}),ga=X({__name:`RunRoutePage`,setup(e){let t=oe(Oe,null);return(e,n)=>!G(t)||G(t).page===`runNotFound`?(I(),M(Le,{key:0})):(I(),M(ha,{key:1}))}});export{ga as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,n as t,t as n}from"./AppShell-DZdz_sl7.js";import{Ci as r,Lr as i,Mr as a,Qn as o,Xt as s,_n as c,a as l,ci as u,cn as d,gn as f,i as p,ir as m,ln as h,nr as g,oi as _,on as v,r as y,sn as b,un as x,ur as S,vi as C,wi as w,xi as T,yn as E}from"./seed-DeKSHrt2.js";import{t as D}from"./Tooltip-DPDx5tXT.js";import{t as O}from"./wallClock-61NpVkY6.js";import{t as k}from"./RunsTabs-CyCdOhJ2.js";import{t as A}from"./StatusDot-D-BPSPpw.js";import{i as j,n as ee,r as M,t as N}from"./localIso-CNA-bhS-.js";import{C as P,S as F,_ as I,a as L,b as R,c as z,d as B,f as V,g as H,h as U,i as W,l as G,m as K,o as q,p as te,r as J,s as ne,t as re,u as Y,v as ie,w as ae,x as oe,y as se}from"./indexRow-BjXBzI5Z.js";import{i as X,n as Z,r as Q}from"./favicon-CSt-qDvc.js";import{i as $,n as ce,t as le}from"./durationTone-DYogEPEk.js";var ue={class:`flex items-baseline gap-1.5 whitespace-pre-line px-2 py-1 text-xs`},de={key:1,class:`text-dimmed`},fe=[`data-kind`,`aria-label`,`href`],pe=[`data-kind`,`aria-label`],me=E({__name:`SourceMark`,props:{kind:{},tip:{},url:{}},setup(e){let t=e,n=()=>J[t.kind]??`○`,r=()=>W[t.kind]??t.kind;return(t,a)=>{let o=D;return m(),d(o,null,{content:i(()=>[b(`span`,ue,[e.kind===`slack`?(m(),d($,{key:0})):C(J)[e.kind]?(m(),x(`span`,de,w(n()),1)):h(``,!0),b(`span`,null,w(e.tip),1)])]),default:i(()=>[e.url?(m(),x(`a`,{key:0,class:`source linked pointer-events-auto w-[1.6em] shrink-0 rounded border border-transparent text-center text-[0.8rem] text-toned opacity-0 transition-opacity hover:border-primary/30 hover:bg-primary/10 hover:text-primary focus-visible:opacity-100 group-hover:opacity-100 group-focus-within:opacity-100 motion-reduce:transition-none`,"data-kind":e.kind,"aria-label":`open the ${r()} thread (new tab)`,href:e.url,target:`_blank`,rel:`noopener noreferrer`},`↗`,8,fe)):(m(),x(`span`,{key:1,class:T([`source pointer-events-auto w-[1.6em] shrink-0 text-center text-[0.8rem] text-dimmed opacity-0 transition-opacity focus-visible:opacity-100 group-hover:opacity-100 group-focus-within:opacity-100 motion-reduce:transition-none`,e.kind===`cli`?`text-[0.7rem]`:``]),"data-kind":e.kind,"aria-label":`source: ${r()}`},w(n()),11,pe))]),_:1})}}}),he=[`data-run-id`,`data-started-at`,`data-persisted`,`data-expires-at`],ge=[`href`,`aria-label`],_e={class:`pointer-events-auto flex items-center max-sm:order-1`},ve=[`data-agent-hue`],ye=[`href`],be={key:3,class:`snippet min-w-0 truncate text-muted max-sm:order-6 max-sm:basis-full max-sm:whitespace-normal max-sm:pl-5 max-sm:text-[0.8rem] max-sm:leading-snug max-sm:line-clamp-2 sm:flex-1`},xe={class:`hidden sm:contents`},Se={class:`expires pointer-events-auto shrink-0 font-mono text-xs tabular-nums text-warn max-sm:order-11`},Ce=[`data-heat`],we={class:`count shrink-0 text-right font-mono text-xs tabular-nums max-sm:order-9 max-sm:text-dimmed sm:min-w-[6em] sm:text-muted`},Te={class:`actions hidden min-w-[7.6em] shrink-0 justify-end gap-1.5 whitespace-nowrap sm:flex`},Ee=E({__name:`RunRow`,props:{run:{},now:{},retentionMs:{}},setup(n){let a=n,o=v(()=>j(a.run.label||H(a.run.id))),u=v(()=>te(a.run,o.value.scope)),f=v(()=>ie(a.run)),p=v(()=>K(a.run)),g=v(()=>P(a.run)),y=v(()=>U(a.run)),S=v(()=>Y(a.run,a.retentionMs)),E=v(()=>S.value!==void 0&&S.value-a.now<=864e5),O=v(()=>!a.run.finished&&!a.run.stop),k=v(()=>le(a.run.finished&&typeof a.run.finishedAt==`number`?a.run.finishedAt-a.run.startedAt:void 0,`run`)),B=v(()=>ce(k.value)),V=v(()=>a.run.finished&&a.run.status&&a.run.status!==`completed`?se(a.run.status):``),J=v(()=>a.run.stop&&!(a.run.finished&&a.run.status)?F(a.run.stop):``),X=_({soft:!1,hard:!1}),Z=v(()=>[...y.value?[{label:`Open ${W[g.value.kind]??g.value.kind} thread`,icon:`i-lucide-external-link`,to:y.value,target:`_blank`}]:[],...O.value?[{label:`Stop (soft)`,icon:`i-lucide-octagon-pause`,onSelect:()=>Q(`soft`)},{label:`Kill (hard)`,icon:`i-lucide-octagon-x`,color:`error`,onSelect:()=>Q(`hard`)}]:[]]);function Q(e){(e!==`hard`||t.confirm(`Hard stop: abort this run now with no summary and free its sandbox?`))&&(X[e]=!0,fetch(oe(a.run,e),{method:`POST`,credentials:`same-origin`}).then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`)}).catch(()=>{X[e]=!1}))}function $(e){e.target?.closest(`a, button`)||t.navigate(p.value)}return(t,a)=>{let _=D,v=l,j=e;return m(),x(`li`,{class:T([`run group relative rounded-md border-b border-muted hover:bg-(--ui-bg-muted) focus-within:bg-(--ui-bg-muted)`,[n.run.finished?`finished`:`live`,E.value?`leaving`:``]]),"data-run-id":n.run.id,"data-started-at":String(n.run.startedAt),"data-persisted":n.run.persisted?`1`:void 0,"data-expires-at":S.value===void 0?void 0:String(S.value),onClick:$},[b(`a`,{class:`row absolute inset-0 rounded-md focus-visible:outline-2 focus-visible:outline-primary`,href:p.value,"aria-label":`open run ${n.run.label||C(H)(n.run.id)}`},null,8,ge),b(`div`,{class:T([`body pointer-events-none relative z-[1] flex min-w-0 flex-wrap items-center gap-x-2.5 px-2 max-sm:gap-y-1.5 max-sm:py-3 sm:flex-nowrap sm:py-2`,[n.run.finished?`text-muted`:``,E.value?`opacity-85`:``]])},[b(`span`,_e,[c(A,{tone:f.value,label:C(R)(n.run),tip:C(z)(n.run),pulse:!n.run.finished},null,8,[`tone`,`label`,`tip`,`pulse`])]),c(_,{text:C(ae)(n.run),ui:{text:`whitespace-pre-line`}},{default:i(()=>[b(`span`,{class:T([`when pointer-events-auto shrink-0 font-mono tabular-nums max-sm:order-7 max-sm:pl-5 max-sm:text-xs max-sm:text-dimmed sm:min-w-[8.5em] sm:text-[0.8rem]`,n.run.finished?`text-dimmed`:`text-muted`])},w(C(M)(n.run.startedAt,n.now)),3)]),_:1},8,[`text`]),o.value.agent?(m(),x(`span`,{key:0,class:T([`agent shrink-0 rounded border px-1.5 font-mono text-[0.68rem] font-medium uppercase tracking-wider max-sm:order-2`,[C(re)[C(L)(o.value.agent)],n.run.finished?`opacity-55`:``]]),"data-agent-hue":C(L)(o.value.agent)},w(o.value.agent),11,ve)):h(``,!0),u.value?(m(),d(_,{key:1,text:u.value},{default:i(()=>[b(`a`,{class:`repo pointer-events-auto min-w-0 shrink-0 rounded border border-accented bg-accented/50 px-1.5 font-mono text-[0.72rem] font-medium leading-normal text-toned no-underline hover:border-(--ui-text-dimmed) hover:text-highlighted max-sm:order-3`,href:`https://github.com/${u.value}`,target:`_blank`,rel:`noopener noreferrer`},w(u.value.slice(u.value.indexOf(`/`)+1)),9,ye)]),_:1},8,[`text`])):(m(),x(`span`,{key:2,class:T([`scope min-w-0 shrink-0 truncate font-medium max-sm:order-3`,n.run.finished?`text-toned`:`text-highlighted`])},w(o.value.scope),3)),o.value.snippet===void 0?h(``,!0):(m(),x(`span`,be,w(o.value.snippet),1)),V.value?(m(),x(`span`,{key:4,class:T([`outcome shrink-0 rounded border px-1.5 font-mono text-[0.7rem] max-sm:order-10`,f.value===`red`?`border-bad/30 text-bad`:`border-warn/30 text-warn`])},w(V.value),3)):h(``,!0),J.value?(m(),x(`span`,{key:5,class:T([`stopbadge shrink-0 rounded border px-1.5 font-mono text-[0.7rem] max-sm:order-10`,n.run.stop?.state===`stopped`?`border-accented text-muted`:`border-warn/30 text-warn`])},w(J.value),3)):h(``,!0),b(`span`,xe,[c(me,{kind:g.value.kind,tip:C(I)(n.run),url:y.value||void 0},null,8,[`kind`,`tip`,`url`])]),E.value&&S.value!==void 0?(m(),d(_,{key:6,text:`removed at ${C(N)(S.value)}`},{default:i(()=>[b(`span`,Se,`gone `+w(C(ee)(S.value,n.now)),1)]),_:1},8,[`text`])):h(``,!0),c(_,{text:n.run.finished?`start to finish`:`running for`},{default:i(()=>[b(`span`,{class:T([`elapsed pointer-events-auto ml-auto shrink-0 text-right font-mono text-xs tabular-nums max-sm:order-4 sm:min-w-[4.5em]`,n.run.finished?[B.value?`heat`:`text-muted`,k.value.level>=2?`font-medium`:``]:`text-ok`]),style:r(n.run.finished?B.value:void 0),"data-heat":n.run.finished?k.value.level:void 0},w(C(G)(n.run,n.now)),15,Ce)]),_:1},8,[`text`]),a[2]||=b(`span`,{class:`hidden text-xs text-dimmed max-sm:order-8 max-sm:inline`,"aria-hidden":`true`},`·`,-1),c(_,{text:C(ne)(n.run)},{default:i(()=>[b(`span`,we,w(C(q)(n.run)),1)]),_:1},8,[`text`]),b(`span`,Te,[O.value?(m(),x(s,{key:0},[c(_,{text:`Soft stop: no new steps, the agent writes up what it has`},{default:i(()=>[c(v,{class:`pointer-events-auto`,size:`xs`,color:`neutral`,variant:`outline`,label:`Stop`,disabled:X.soft,onClick:a[0]||=e=>Q(`soft`)},null,8,[`disabled`])]),_:1}),c(_,{text:`Hard stop: abort now, no summary, free the sandbox`},{default:i(()=>[c(v,{class:`pointer-events-auto`,size:`xs`,color:`error`,variant:`outline`,label:`Kill`,disabled:X.hard,onClick:a[1]||=e=>Q(`hard`)},null,8,[`disabled`])]),_:1})],64)):h(``,!0)]),Z.value.length>0?(m(),d(j,{key:7,items:Z.value,content:{align:`end`}},{default:i(()=>[c(v,{class:`pointer-events-auto -my-1.5 -mr-1 max-sm:order-5 sm:hidden`,size:`md`,color:`neutral`,variant:`ghost`,icon:`i-lucide-ellipsis-vertical`,"aria-label":`Run actions`})]),_:1},8,[`items`])):h(``,!0)],2)],10,he)}}}),De={class:`conn flex items-center gap-1.5`},Oe={id:`state`,class:`text-xs text-muted`},ke={class:`toolbar mb-1.5 flex items-center gap-4 px-2 text-xs text-muted`},Ae={id:`livecount`,class:`count font-mono tabular-nums`},je={class:`filter ml-auto inline-flex items-center gap-1.5`},Me={class:`toggle inline-flex cursor-pointer select-none items-center gap-1.5 text-toned hover:text-highlighted`},Ne=[`checked`],Pe={id:`retention`,class:`sr-only`},Fe={key:0,class:`banner mb-3 rounded-md border border-warn px-2.5 py-1.5 text-[0.8rem] text-warn`,role:`status`},Ie={id:`runs`,class:`m-0 list-none border-t border-muted p-0`},Le={key:0,id:`leaving`,class:`divider flex items-baseline gap-2 border-b border-dashed border-warn/40 px-2 pb-1.5 pt-3 font-mono text-[0.72rem] uppercase tracking-wider text-warn`,role:`separator`},Re={key:1,id:`empty`,class:`empty px-2 py-2 text-muted`},ze={key:1,class:`pager mt-3 flex items-baseline gap-2 px-2 text-[0.8rem] text-muted`,"aria-label":`Completed runs pages`},Be={class:`range font-mono tabular-nums text-dimmed`},Ve=[`href`],He=E({__name:`RunsIndexPage`,setup(e){let r=y(`runs`),l=r?.all??!1,T=r?.olderThan!==void 0,E=r?.retentionDays??null,j=E===null?void 0:E*864e5,M=p(E),N=_(new Map);for(let e of r?.rows??[])N.set(e.id,e);let P=O(r?.now),F=u({tone:`amber`,text:`connecting…`}),I=v(()=>[...N.values()].sort((e,t)=>t.startedAt-e.startedAt)),L=v(()=>I.value.filter(e=>!e.finished).length),R=v(()=>j===void 0?-1:I.value.findIndex(e=>{let t=Y(e,j);return t!==void 0&&t-P.value<=864e5})),z=v(()=>R.value===-1?I.value:I.value.slice(0,R.value)),H=v(()=>R.value===-1?[]:I.value.slice(R.value)),U=l?`All runs`:`Live runs`;a(L,e=>{t.setTitle((e>0?`(${e}) `:``)+U),t.setFavicon(e>0?Q:Z)},{immediate:!0});function W(e){t.navigate(e.target.checked?`/runs?all=1`:`/runs`)}let G=v(()=>r?.olderThan===void 0?``:ee(r.olderThan,P.value)),K=X(),q=null;return o(()=>{q=K(l?`/runs?stream=1&all=1`:`/runs?stream=1`);let e=!1;q.onopen=()=>{if(e){t.reload();return}e=!0,F.value={tone:`green`,text:`connected`}},q.onmessage=e=>{let t;try{t=JSON.parse(e.data)}catch{return}let n=t.type===`removed`?t.id:t.run?.id,r=n?N.get(n):void 0;if(T&&!r)return;let i=B(t,l,r?.persisted===!0);i.op===`upsert`?N.set(i.run.id,V(N.get(i.run.id),i.run)):i.op===`remove`&&N.delete(i.id)},q.onerror=()=>{q&&q.readyState===2?F.value={tone:`red`,text:`disconnected`}:F.value={tone:`amber`,text:`connecting…`}}}),g(()=>{q?.close()}),(e,t)=>{let a=D;return m(),d(n,{title:C(U),nav:`runs`},{status:i(()=>[b(`span`,De,[c(A,{tone:F.value.tone,label:F.value.text},null,8,[`tone`,`label`]),b(`span`,Oe,w(F.value.text),1)])]),default:i(()=>[c(k,{current:`runs`}),b(`div`,ke,[b(`span`,Ae,w(L.value)+` running`,1),b(`span`,je,[b(`label`,Me,[b(`input`,{id:`showdone`,type:`checkbox`,class:`accent-(--ui-bg-inverted)`,checked:C(l),"aria-describedby":`retention`,onChange:W},null,40,Ne),t[0]||=f(` Show completed `,-1)]),c(a,{text:C(M)},{default:i(()=>[...t[1]||=[b(`span`,{class:`help inline-flex size-[1.1em] cursor-help items-center justify-center rounded-full border border-accented text-[0.7rem] leading-none text-dimmed hover:border-(--ui-text-dimmed) hover:text-toned`,tabindex:`0`},`?`,-1)]]),_:1},8,[`text`]),b(`span`,Pe,w(C(M)),1)])]),C(r)?.storeUnavailable?(m(),x(`p`,Fe,w(C(r).storeUnavailable),1)):h(``,!0),b(`ul`,Ie,[(m(!0),x(s,null,S(z.value,e=>(m(),d(Ee,{key:e.id,run:e,now:C(P),"retention-ms":C(j)},null,8,[`run`,`now`,`retention-ms`]))),128)),H.value.length>0?(m(),x(`li`,Le,[...t[2]||=[b(`span`,{"aria-hidden":`true`,class:`text-sm tracking-normal`},`⏳`,-1),b(`span`,{class:`whitespace-nowrap`},`Leaving within a day`,-1),b(`span`,{class:`normal-case tracking-normal text-dimmed max-sm:hidden`},`— each row says when it is removed`,-1)]])):h(``,!0),(m(!0),x(s,null,S(H.value,e=>(m(),d(Ee,{key:e.id,run:e,now:C(P),"retention-ms":C(j)},null,8,[`run`,`now`,`retention-ms`]))),128)),I.value.length===0?(m(),x(`li`,Re,w(C(l)?`No runs.`:`No active runs.`),1)):h(``,!0)]),C(l)&&(C(r)?.olderHref||C(r)?.olderThan!==void 0)?(m(),x(`nav`,ze,[C(r)?.olderThan===void 0?h(``,!0):(m(),x(s,{key:0},[t[3]||=b(`a`,{class:`text-primary hover:underline`,href:`/runs?all=1`},`← Newest runs`,-1),b(`span`,Be,`· runs finished before `+w(G.value),1)],64)),C(r)?.olderHref?(m(),x(`a`,{key:1,class:`older ml-auto text-primary hover:underline`,href:C(r).olderHref},`Older runs →`,8,Ve)):h(``,!0)])):h(``,!0)]),_:1},8,[`title`])}}});export{He as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./AppShell-
|
|
1
|
+
import{i as e}from"./AppShell-DZdz_sl7.js";import{Xt as t,ir as n,ln as r,on as i,un as a,ur as o,wi as s,yn as c}from"./seed-DeKSHrt2.js";var l={key:0,class:`tabs mb-3.5 flex gap-5 border-b border-muted px-2 text-[0.8rem]`,"aria-label":`Runs views`},u=[`href`,`aria-current`],d=[{id:`runs`,href:`/runs`,label:`Runs`},{id:`scheduled`,href:`/runs/scheduled`,label:`Scheduled`,on:e=>e.schedules}];function f(e,t){return d.filter(n=>n.id===t||n.on===void 0||e!==null&&n.on(e))}var p=c({__name:`RunsTabs`,props:{current:{}},setup(c){let d=c,p=e(),m=i(()=>f(p,d.current));return(e,i)=>m.value.length>1?(n(),a(`nav`,l,[(n(!0),a(t,null,o(m.value,e=>(n(),a(`a`,{key:e.id,href:e.href,"aria-current":e.id===c.current?`page`:void 0,class:`-mb-px border-b border-transparent pb-2 pt-1.5 text-muted no-underline hover:text-highlighted aria-[current=page]:border-(--ui-text-highlighted) aria-[current=page]:font-medium aria-[current=page]:text-highlighted`},s(e.label),9,u))),128))])):r(``,!0)}});export{p as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./AppShell-DZdz_sl7.js";import{Lr as t,Xt as n,_n as r,cn as i,gn as a,ir as o,ln as s,on as c,r as l,sn as u,un as d,ur as f,vi as p,wi as m,xi as h,yn as g}from"./seed-DeKSHrt2.js";import{t as ee}from"./Tooltip-DPDx5tXT.js";import{n as te}from"./wallClock-61NpVkY6.js";import{t as _}from"./RunsTabs-CyCdOhJ2.js";import{n as v,t as y}from"./localIso-CNA-bhS-.js";function b(e,t){return{kind:`schedule`,id:`schedule:${e}`,grants:t}}b(`self-improvement`,Object.freeze({actions:new Set([`friction:read`,`friction:write`]),channels:`all`,repos:new Set}));function x(e,t){let n=e-t,r=Math.floor(Math.abs(n)/6e4),i=Math.floor(r/60),a=Math.floor(i/24),o=a>0?`${a}d ${i%24}h`:i>0?`${i}h ${r%60}m`:r>0?`${r}m`:`<1m`;return n>=0?`in ${o}`:`${o} ago`}var S={healthz:`container health check`,watchdog:`resident watchdog`},C={completed:`succeeded`,failed:`failed`,stopped_soft:`stopped early`,stopped_hard:`killed`,"no-run":`no run created`,"ingress-error":`ingress error`,misconfigured:`misconfigured — nothing ran`},w={completed:`ok`,failed:`bad`,stopped_soft:`warn`,stopped_hard:`warn`,"no-run":`warn`,"ingress-error":`bad`,misconfigured:`bad`},T=120;function E(e){let t=e.replace(/\s+/g,` `).trim();return t=t.replace(/^[^\p{L}\p{N}*_`<[(]+/u,``),t=t.replace(/^\*[^*]{1,60}\*\s+[—–-]\s+/,``),t=t.replace(/^[^\p{L}\p{N}]+/u,``).trim(),t.length>T?`${t.slice(0,T)}…`:t}var D={key:0,class:`px-2 py-1.5 text-muted`},O={key:1,id:`scheduled`,"aria-label":`Scheduled jobs`},k={class:`m-0 list-none p-0`},A=[`data-schedule`],j={class:`def flex flex-wrap items-baseline gap-x-2 gap-y-1.5 text-[0.8rem] text-toned`},M={class:`name font-medium text-highlighted max-sm:text-[0.9rem]`},N={class:`max-sm:ml-auto`},P={class:`rounded-xs bg-accented px-1.5 py-0.5 text-toned`},F={class:`max-sm:flex max-sm:basis-full max-sm:flex-wrap max-sm:items-baseline max-sm:gap-2 sm:contents`},I={class:`rounded-xs bg-accented px-1.5 py-0.5 text-toned`},L={class:`rounded-xs bg-accented px-1.5 py-0.5 text-toned`},R={key:1,class:`text-dimmed`},z={class:`max-sm:flex max-sm:basis-full max-sm:flex-wrap max-sm:items-baseline max-sm:gap-2 sm:contents`},B={class:`rounded-xs bg-accented px-1.5 py-0.5 text-toned`},V=[`title`],H={class:`max-sm:hidden`},U={class:`font-medium text-highlighted`},W={class:`text-dimmed`},G={class:`text-toned sm:hidden`},K={key:1,class:`text-dimmed`},q={class:`fire mt-1.5 font-mono text-xs text-muted max-sm:flex max-sm:flex-wrap max-sm:items-baseline max-sm:gap-x-1.5 max-sm:gap-y-1 sm:overflow-hidden sm:text-ellipsis sm:whitespace-nowrap`},J=[`title`],Y=[`href`],X=[`title`],Z=[`title`],Q={key:1,class:`text-dimmed`},ne={key:0,class:`mt-2.5 px-2 text-xs text-muted`},$=g({__name:`ScheduledPage`,setup(g){let b=l(`scheduled`),T=c(()=>b?.now??te()),$=c(()=>b?.rows??null),re={ok:`text-ok`,bad:`text-bad`,warn:`text-warn`};return(c,l)=>{let g=ee;return o(),i(e,{title:`Scheduled runs`,nav:`runs`},{default:t(()=>[r(_,{current:`scheduled`}),$.value===null?(o(),d(`p`,D,`No schedule registry configured.`)):(o(),d(`section`,O,[u(`ul`,k,[(o(!0),d(n,null,f($.value,e=>(o(),d(`li`,{key:e.name,class:`border-b border-muted px-2 pb-3 pt-2.5`,"data-schedule":e.name},[u(`div`,j,[r(g,{text:e.description},{default:t(()=>[u(`span`,M,m(e.name),1)]),_:2},1032,[`text`]),l[5]||=u(`span`,{class:`hidden text-accented sm:inline`,"aria-hidden":`true`},`·`,-1),u(`span`,N,[l[0]||=u(`span`,{class:`mr-1 font-mono text-[0.62rem] uppercase tracking-wider text-dimmed`},`on`,-1),u(`code`,P,m(e.worker),1)]),l[6]||=u(`span`,{class:`hidden text-accented sm:inline`,"aria-hidden":`true`},`·`,-1),u(`span`,F,[e.action.type===`run`?(o(),d(n,{key:0},[u(`code`,I,m(e.action.command),1),l[1]||=u(`span`,{class:`text-dimmed`},`as`,-1),u(`code`,L,m(e.action.identity),1)],64)):(o(),d(`span`,R,m(p(S)[e.action.type])+` — not a run`,1))]),l[7]||=u(`span`,{class:`hidden text-accented sm:inline`,"aria-hidden":`true`},`·`,-1),u(`span`,z,[u(`code`,B,m(e.cron),1),l[3]||=u(`span`,{class:`text-dimmed`},`UTC`,-1),l[4]||=u(`span`,{class:`hidden text-accented sm:inline`,"aria-hidden":`true`},`·`,-1),u(`span`,{class:`next font-mono tabular-nums max-sm:ml-auto`,title:e.nextFireAt===void 0?void 0:p(y)(e.nextFireAt)},[l[2]||=u(`span`,{class:`mr-1 font-mono text-[0.62rem] uppercase tracking-wider text-dimmed`},`next`,-1),e.nextFireAt===void 0?(o(),d(`span`,K,`never`)):(o(),d(n,{key:0},[u(`span`,H,[u(`b`,U,m(p(v)(e.nextFireAt,T.value)),1),u(`span`,W,` (`+m(p(x)(e.nextFireAt,T.value))+`)`,1)]),u(`span`,G,m(p(x)(e.nextFireAt,T.value)),1)],64))],8,V)])]),u(`div`,q,[l[12]||=u(`span`,{class:`mr-1 font-mono text-[0.62rem] uppercase tracking-wider text-dimmed`},`last`,-1),e.last?(o(),d(n,{key:0},[u(`span`,{class:h([`outcome`,re[p(w)[e.last.outcome]]])},m(p(C)[e.last.outcome]),3),l[11]||=u(`span`,{class:`mx-1.5 text-accented max-sm:mx-0`,"aria-hidden":`true`},`·`,-1),u(`span`,{class:`when text-toned`,title:p(y)(e.last.firedAt)},m(p(x)(e.last.firedAt,T.value)),9,J),e.last.runId?(o(),d(n,{key:0},[l[8]||=u(`span`,{class:`mx-1.5 text-accented max-sm:mx-0`,"aria-hidden":`true`},`·`,-1),e.last.runHref?(o(),d(`a`,{key:0,class:`text-primary hover:underline`,href:e.last.runHref},`run `+m(e.last.runId.slice(0,8)),9,Y)):(o(),d(n,{key:1},[a(`run `+m(e.last.runId.slice(0,8)),1)],64))],64)):s(``,!0),e.last.traceId?(o(),d(n,{key:1},[l[9]||=u(`span`,{class:`mx-1.5 text-accented max-sm:mx-0`,"aria-hidden":`true`},`·`,-1),u(`span`,{class:`trace text-dimmed`,title:`trace ${e.last.traceId}`},`trace `+m(e.last.traceId.slice(0,8)),9,X)],64)):s(``,!0),e.last.detail&&p(E)(e.last.detail)?(o(),d(n,{key:2},[l[10]||=u(`span`,{class:`mx-1.5 text-accented max-sm:hidden`,"aria-hidden":`true`},`·`,-1),u(`span`,{class:`detail font-sans max-sm:line-clamp-2 max-sm:basis-full max-sm:whitespace-normal`,title:e.last.detail},m(p(E)(e.last.detail)),9,Z)],64)):s(``,!0)],64)):(o(),d(`span`,Q,m(p(b)?.firingsUnavailable?`unknown`:`never fired`),1))])],8,A))),128))]),p(b)?.firingsUnavailable?(o(),d(`p`,ne,` Firing history unavailable: `+m(p(b).firingsUnavailable),1)):s(``,!0)]))]),_:1})}}});export{$ as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,n as t,t as n}from"./AppShell-DZdz_sl7.js";import{Bt as r,Lr as i,Vt as a,Wt as o,Xt as s,_n as c,a as l,ci as u,cn as d,gn as f,ir as p,ln as m,oi as h,on as g,r as _,sn as v,un as y,ur as b,vi as x,wi as S,xi as C,yn as w,zr as T}from"./seed-DeKSHrt2.js";async function E(e,t,n){try{let r=await e(`/api/${t}`,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}),i=await r.json().catch(()=>null);return r.ok?{ok:!0,value:i}:{ok:!1,failure:{error:typeof i?.error==`string`?i.error:`HTTP ${r.status}`,message:typeof i?.message==`string`?i.message:`HTTP ${r.status}`}}}catch(e){return{ok:!1,failure:{error:`network`,message:e instanceof Error?e.message:String(e)}}}}async function D(e,t,n){let r=new URLSearchParams;for(let[e,t]of Object.entries(n))t!==void 0&&t!==``&&r.set(e,t);let i=r.size>0?`?${r.toString()}`:``;try{let n=await e(`/api/${t}${i}`,{credentials:`same-origin`}),r=await n.json().catch(()=>null);return n.ok?{ok:!0,value:r}:{ok:!1,failure:{error:typeof r?.error==`string`?r.error:`HTTP ${n.status}`,message:typeof r?.message==`string`?r.message:`HTTP ${n.status}`}}}catch(e){return{ok:!1,failure:{error:`network`,message:e instanceof Error?e.message:String(e)}}}}var O=`min-w-0 rounded border border-accented bg-default px-2 py-1 text-sm text-highlighted placeholder:text-dimmed disabled:opacity-60`,k=`rounded border border-accented bg-default px-2 py-1 font-mono text-xs text-toned disabled:opacity-60`,A={class:`grid gap-4`},j={class:`grid gap-3 lg:grid-cols-[minmax(16rem,22rem)_1fr]`},M={class:`grid content-start gap-3`},N={class:`overflow-hidden rounded-lg border border-default bg-elevated`},P={key:0,class:`unavailable px-4 py-3 text-sm text-warn`},F={key:1,class:`empty px-4 py-3 text-sm text-muted`},I={key:2,class:`index text-sm`},L=[`data-channel`],R=[`href`,`aria-current`],z={class:`font-mono text-xs font-medium text-highlighted`},B={class:`text-xs text-muted`},V={key:0,class:`placeholder rounded-lg border border-dashed border-default px-5 py-8 text-center text-sm text-muted`},H={key:1,class:`refused rounded-lg border border-warn/30 bg-warn/10 px-5 py-4 text-sm`},U={class:`font-mono text-xs`},W={key:2,class:`scope grid gap-4`},ee={class:`flex flex-wrap items-baseline justify-between gap-2`},te={class:`font-mono text-sm font-medium text-highlighted`},ne={class:`effective text-xs text-muted`},re={key:0,class:`restricted text-xs text-muted`},ie={class:`grid gap-3 sm:grid-cols-[9rem_1fr]`},ae=[`disabled`],oe={value:``},se=[`value`,`disabled`],ce=[`disabled`],le={class:`grid gap-1.5`},ue={class:`text-muted`},de=[`onUpdate:modelValue`,`name`,`placeholder`,`disabled`],fe=[`disabled`],pe=[`value`],me={class:`grid gap-1.5`},he={class:`text-muted`},ge=[`onUpdate:modelValue`,`name`,`disabled`],_e=[`value`],ve={class:`grid gap-3 sm:grid-cols-[9rem_1fr]`},ye=[`disabled`],be=[`disabled`],xe=[`value`],Se={class:`flex flex-wrap gap-x-4 gap-y-1`},Ce=[`name`,`checked`,`disabled`,`onChange`],we={class:`flex flex-wrap items-center gap-3`},Te=[`disabled`],Ee={class:`flex flex-wrap items-center gap-3`},De={class:`text-xs text-dimmed tabular-nums`},G=w({__name:`ChannelsPanel`,props:{channels:{},vocabulary:{},fetch:{type:Function}},setup(e){let n=e,d=(e,t)=>(n.fetch??((e,t)=>globalThis.fetch(e,t)))(e,t),_=g(()=>n.channels.selected??null),w=g(()=>_.value?.scope?.channel??null),D=u(``);function G(){let e=D.value.trim();e&&t.navigate(`/settings/channels/${encodeURIComponent(e)}`)}let K=h({agent:w.value?.agent??``,model:w.value?.model??``,models:Object.fromEntries(n.vocabulary.agents.map(e=>[e,w.value?.models?.[e]??``])),effort:w.value?.effort??``,efforts:Object.fromEntries(n.vocabulary.agents.map(e=>[e,w.value?.efforts?.[e]??``])),maxMinutes:w.value?.boundary?.maxMinutes?.toString()??``,maxIdentity:w.value?.boundary?.maxIdentity??``,machines:new Set(w.value?.boundary?.machines??[]),instructions:w.value?.instructions??``}),q=u(!1),J=u(null),Y=g(()=>_.value?.canWrite===!0);function X(e,t){t?K.machines.add(e):K.machines.delete(e)}function Z(){let e={};K.agent&&(e.agent=K.agent),K.model.trim()&&(e.model=K.model.trim());let t=Object.fromEntries(Object.entries(K.models).filter(([,e])=>e.trim()));Object.keys(t).length&&(e.models=t),K.effort&&(e.effort=K.effort);let n=Object.fromEntries(Object.entries(K.efforts).filter(([,e])=>e));Object.keys(n).length&&(e.efforts=n);let r={};return K.maxMinutes.trim()&&(r.maxMinutes=Number(K.maxMinutes)),K.maxIdentity&&(r.maxIdentity=K.maxIdentity),K.machines.size&&(r.machines=[...K.machines].join(`,`)),Object.keys(r).length&&(e.boundary=r),e}async function Q(e,n,r){if(!_.value)return;q.value=!0,J.value=null;let i=await E(d,e,{scope:`channel`,channel:_.value.channelId,...n});if(q.value=!1,!i.ok){J.value={kind:`error`,text:i.failure.message};return}J.value={kind:`ok`,text:r},t.reload()}let $=()=>Q(`config.set`,Z(),`Saved.`),Oe=()=>Q(`config.instructions`,{text:K.instructions.trim()},`Instructions saved.`),ke=()=>Q(`config.instructions`,{text:``},`Instructions cleared.`);async function Ae(){_.value&&t.confirm(`Drop every runtime override of ${_.value.channelId}? Static config.yaml values show through again.`)&&await Q(`config.clear`,{},`Cleared.`)}let je={config:`config.yaml`,runtime:`runtime`,both:`config.yaml + runtime`};return(t,n)=>{let u=l;return p(),y(`section`,A,[n[31]||=v(`p`,{class:`text-sm text-muted`},[f(` A channel's scope sets which agent, model and effort its runs get, caps every run there, and adds advisory instructions. It layers over the installation defaults; a person's own settings (`),v(`code`,null,`config set me`),f(` in chat) layer over it. `)],-1),v(`div`,j,[v(`aside`,M,[v(`div`,N,[n[7]||=v(`h2`,{class:`border-b border-muted px-4 py-2 font-mono text-[0.6875rem] font-medium uppercase tracking-widest text-dimmed`},` Configured channels `,-1),e.channels.unavailable?(p(),y(`p`,P,S(e.channels.unavailable),1)):e.channels.index.length===0?(p(),y(`p`,F,` No channel carries a scope yet. `)):(p(),y(`ul`,I,[(p(!0),y(s,null,b(e.channels.index,e=>(p(),y(`li`,{key:e.channelId,class:`border-b border-muted last:border-0`,"data-channel":e.channelId},[v(`a`,{class:`grid gap-0.5 px-4 py-2 no-underline hover:bg-(--ui-bg-muted)`,href:`/settings/channels/${encodeURIComponent(e.channelId)}`,"aria-current":_.value?.channelId===e.channelId?`page`:void 0},[v(`span`,z,S(e.channelId),1),v(`span`,B,S(e.settings.join(`, `))+` · `+S(je[e.source]),1)],8,R)],8,L))),128))]))]),v(`form`,{class:`flex items-center gap-2`,onSubmit:o(G,[`prevent`])},[T(v(`input`,{id:`channel-open`,"onUpdate:modelValue":n[0]||=e=>D.value=e,class:C([x(O),`flex-1 font-mono text-xs`]),placeholder:`slack:C0123… — a channel with no scope yet`,"aria-label":`channel id to open`},null,2),[[a,D.value]]),c(u,{type:`submit`,size:`xs`,color:`neutral`,variant:`outline`},{default:i(()=>[...n[8]||=[f(`Open`,-1)]]),_:1})],32)]),_.value?_.value.refused?(p(),y(`div`,H,[v(`span`,U,S(_.value.channelId),1),f(` · `+S(_.value.refused),1)])):w.value&&_.value.scope?(p(),y(`div`,W,[v(`div`,ee,[v(`h2`,te,S(_.value.channelId),1),v(`p`,ne,[n[10]||=f(` Runs here get agent `,-1),v(`code`,null,S(_.value.scope.effective.agent),1),n[11]||=f(`, model `,-1),v(`code`,null,S(_.value.scope.effective.model),1),_.value.scope.effective.effort?(p(),y(s,{key:0},[n[9]||=f(`, effort `,-1),v(`code`,null,S(_.value.scope.effective.effort),1)],64)):m(``,!0)])]),Y.value?m(``,!0):(p(),y(`p`,re,` Read-only: channel config changes need the channel-config right. `+S(_.value.scope.adminsHint),1)),v(`form`,{class:`agent-form grid gap-3 rounded-lg border border-default bg-elevated px-5 py-4`,onSubmit:o($,[`prevent`])},[n[26]||=v(`h3`,{class:`font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Agent, model, effort`,-1),v(`div`,ie,[n[14]||=v(`label`,{class:`text-sm text-muted`,for:`ch-agent`},`Agent`,-1),T(v(`select`,{id:`ch-agent`,"onUpdate:modelValue":n[1]||=e=>K.agent=e,class:C(x(k)),disabled:!Y.value},[v(`option`,oe,`— the default (`+S(_.value.scope.defaults.agent)+`), or the router —`,1),(p(!0),y(s,null,b(e.vocabulary.agents,e=>(p(),y(`option`,{key:e,value:e,disabled:_.value.scope.restrictedAgents.includes(e)},S(e)+S(_.value.scope.restrictedAgents.includes(e)?` (restricted)`:``),9,se))),128))],10,ae),[[r,K.agent]]),n[15]||=v(`label`,{class:`text-sm text-muted`,for:`ch-model`},`Model, any agent`,-1),T(v(`input`,{id:`ch-model`,"onUpdate:modelValue":n[2]||=e=>K.model=e,class:C([x(O),`font-mono text-xs`]),placeholder:`provider/model — forces every run's model`,disabled:!Y.value},null,10,ce),[[a,K.model]]),n[16]||=v(`span`,{class:`text-sm text-muted`},`Model per agent`,-1),v(`div`,le,[(p(!0),y(s,null,b(e.vocabulary.agents,e=>(p(),y(`label`,{key:e,class:`grid grid-cols-[6rem_1fr] items-center gap-2 font-mono text-xs`},[v(`span`,ue,S(e),1),T(v(`input`,{"onUpdate:modelValue":t=>K.models[e]=t,name:`models.${e}`,class:C([x(O),`font-mono text-xs`]),placeholder:_.value.scope.defaults.models[e]??`default`,disabled:!Y.value},null,10,de),[[a,K.models[e]]])]))),128))]),n[17]||=v(`label`,{class:`text-sm text-muted`,for:`ch-effort`},`Effort, any agent`,-1),T(v(`select`,{id:`ch-effort`,"onUpdate:modelValue":n[3]||=e=>K.effort=e,class:C(x(k)),disabled:!Y.value},[n[12]||=v(`option`,{value:``},`— unset —`,-1),(p(!0),y(s,null,b(e.vocabulary.efforts,e=>(p(),y(`option`,{key:e,value:e},S(e),9,pe))),128))],10,fe),[[r,K.effort]]),n[18]||=v(`span`,{class:`text-sm text-muted`},`Effort per agent`,-1),v(`div`,me,[(p(!0),y(s,null,b(e.vocabulary.agents,t=>(p(),y(`label`,{key:t,class:`grid grid-cols-[6rem_1fr] items-center gap-2 font-mono text-xs`},[v(`span`,he,S(t),1),T(v(`select`,{"onUpdate:modelValue":e=>K.efforts[t]=e,name:`efforts.${t}`,class:C(x(k)),disabled:!Y.value},[n[13]||=v(`option`,{value:``},`— unset —`,-1),(p(!0),y(s,null,b(e.vocabulary.efforts,e=>(p(),y(`option`,{key:e,value:e},S(e),9,_e))),128))],10,ge),[[r,K.efforts[t]]])]))),128))])]),n[27]||=v(`h3`,{class:`mt-2 font-mono text-xs font-medium uppercase tracking-wider text-muted`},` Boundary · caps every run here, never grants `,-1),v(`div`,ve,[n[20]||=v(`label`,{class:`text-sm text-muted`,for:`ch-minutes`},`Max minutes`,-1),T(v(`input`,{id:`ch-minutes`,"onUpdate:modelValue":n[4]||=e=>K.maxMinutes=e,class:C([x(O),`w-28 font-mono text-xs tabular-nums`]),type:`number`,min:`2`,placeholder:`uncapped`,disabled:!Y.value},null,10,ye),[[a,K.maxMinutes]]),n[21]||=v(`label`,{class:`text-sm text-muted`,for:`ch-identity`},`Max identity`,-1),T(v(`select`,{id:`ch-identity`,"onUpdate:modelValue":n[5]||=e=>K.maxIdentity=e,class:C(x(k)),disabled:!Y.value},[n[19]||=v(`option`,{value:``},`— uncapped —`,-1),(p(!0),y(s,null,b(e.vocabulary.identities,e=>(p(),y(`option`,{key:e,value:e},S(e),9,xe))),128))],10,be),[[r,K.maxIdentity]]),n[22]||=v(`span`,{class:`text-sm text-muted`},`Machines`,-1),v(`div`,Se,[(p(!0),y(s,null,b(e.vocabulary.machines,e=>(p(),y(`label`,{key:e,class:`inline-flex items-center gap-1.5 font-mono text-xs`},[v(`input`,{type:`checkbox`,name:`machine-${e}`,checked:K.machines.has(e),disabled:!Y.value,onChange:t=>X(e,t.target.checked)},null,40,Ce),f(` `+S(e),1)]))),128))])]),v(`div`,we,[c(u,{type:`submit`,size:`sm`,color:`neutral`,disabled:!Y.value||q.value},{default:i(()=>[...n[23]||=[f(`Save`,-1)]]),_:1},8,[`disabled`]),c(u,{size:`sm`,color:`error`,variant:`ghost`,disabled:!Y.value||q.value,onClick:Ae},{default:i(()=>[...n[24]||=[f(`Clear every override`,-1)]]),_:1},8,[`disabled`]),n[25]||=v(`span`,{class:`text-xs text-dimmed`},`Save sets the filled fields and leaves the rest as they are.`,-1)])],32),v(`form`,{class:`instructions-form grid gap-3 rounded-lg border border-default bg-elevated px-5 py-4`,onSubmit:o(Oe,[`prevent`])},[n[30]||=v(`h3`,{class:`font-mono text-xs font-medium uppercase tracking-wider text-muted`},` Custom instructions · advisory, on every run here `,-1),T(v(`textarea`,{id:`ch-instructions`,"onUpdate:modelValue":n[6]||=e=>K.instructions=e,class:C([x(O),`min-h-28 w-full`]),maxlength:`2000`,placeholder:`Always reply in bullet points.`,disabled:!Y.value},null,10,Te),[[a,K.instructions]]),v(`div`,Ee,[c(u,{type:`submit`,size:`sm`,color:`neutral`,disabled:!Y.value||q.value},{default:i(()=>[...n[28]||=[f(`Save instructions`,-1)]]),_:1},8,[`disabled`]),c(u,{size:`sm`,color:`neutral`,variant:`ghost`,disabled:!Y.value||q.value,onClick:ke},{default:i(()=>[...n[29]||=[f(`Clear instructions`,-1)]]),_:1},8,[`disabled`]),v(`span`,De,S(K.instructions.length)+` / 2000`,1)])],32),J.value?(p(),y(`p`,{key:1,class:C([`notice rounded-md px-3 py-2 text-sm`,J.value.kind===`error`?`border border-err/30 bg-err/10`:`border border-ok/30 bg-ok/10`])},S(J.value.text),3)):m(``,!0)])):m(``,!0):(p(),y(`div`,V,` Pick a channel to see and change its scope. `))])])}}}),K={class:`grid gap-4`},q={class:`overflow-x-auto rounded-lg border border-default bg-elevated`},J={class:`settings w-full min-w-[42rem] border-collapse text-[0.8125rem]`},Y={class:`border-t border-muted bg-muted/40`},X={colspan:`4`,class:`px-4 py-1.5 text-left font-mono text-xs font-medium text-toned`},Z=[`data-key`],Q={class:`px-4 py-2 font-mono text-xs text-highlighted`},$={class:`px-4 py-2 font-mono text-xs tabular-nums`},Oe={class:`value`},ke={key:0,class:`ml-1.5 rounded bg-accented px-1.5 py-0.5 text-[0.625rem] text-muted`},Ae={class:`px-4 py-2 text-muted`},je={class:`px-4 py-2 text-xs text-dimmed`},Me={class:`capabilities grid gap-1.5 rounded-lg border border-default bg-elevated px-4 py-3 text-sm`},Ne=[`data-capability`,`data-on`],Pe={class:`w-40 font-mono text-xs text-highlighted`},Fe={class:`text-xs text-muted`},Ie=w({__name:`InstallationPanel`,props:{installation:{}},setup(e){let t=e,n=g(()=>{let e=[];for(let n of t.installation.settings){let t=n.key.split(`.`)[0],r=e[e.length-1];r&&r.block===t?r.rows.push(n):e.push({block:t,rows:[n]})}return e}),r={runtime:"config.yaml default · a channel overrides it at run time (Channels tab, `config set channel`)",config:"config.yaml · `deploy config`, then a restart"},i=e=>typeof e==`string`?e:e?`on`:`off`;return(t,a)=>(p(),y(`section`,K,[a[1]||=v(`p`,{class:`text-sm text-muted`},[f(` The behaviour knobs of this installation's `),v(`code`,null,`config.yaml`),f(`, with the value in force. A running process keeps the config it started with: a change here is `),v(`code`,null,`deploy config`),f(` and a restart. The `),v(`code`,null,`defaults.*`),f(` rows are what a channel overrides on the Channels tab. `)],-1),v(`div`,q,[v(`table`,J,[a[0]||=v(`thead`,null,[v(`tr`,{class:`text-left font-mono text-[0.6875rem] uppercase tracking-widest text-dimmed`},[v(`th`,{class:`px-4 py-2.5 font-medium`},`Key`),v(`th`,{class:`px-4 py-2.5 font-medium`},`Value`),v(`th`,{class:`px-4 py-2.5 font-medium`},`What it does`),v(`th`,{class:`px-4 py-2.5 font-medium`},`Changes in`)])],-1),(p(!0),y(s,null,b(n.value,e=>(p(),y(`tbody`,{key:e.block},[v(`tr`,Y,[v(`th`,X,S(e.block),1)]),(p(!0),y(s,null,b(e.rows,e=>(p(),y(`tr`,{key:e.key,class:`setting border-t border-muted align-top`,"data-key":e.key},[v(`td`,Q,S(e.key),1),v(`td`,$,[v(`span`,Oe,S(e.value),1),e.isDefault?(p(),y(`span`,ke,`default`)):m(``,!0)]),v(`td`,Ae,S(e.note),1),v(`td`,je,S(r[e.how]),1)],8,Z))),128))]))),128))])]),a[2]||=v(`h2`,{class:`mt-2 font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Capabilities`,-1),a[3]||=v(`p`,{class:`-mt-3 text-sm text-muted`},[f(` What is on in this process. Each one is a `),v(`code`,null,`config.yaml`),f(` block plus what its environment needs; the commands, dashboard section and Worker of a capability appear together when it is on. `)],-1),v(`ul`,Me,[(p(!0),y(s,null,b(e.installation.capabilities,e=>(p(),y(`li`,{key:e.key,class:`capability flex flex-wrap items-baseline gap-x-3 gap-y-0.5 border-b border-muted py-1.5 last:border-0`,"data-capability":e.key,"data-on":String(e.on)},[v(`span`,Pe,S(e.key),1),v(`span`,{class:C([`state rounded px-1.5 py-0.5 font-mono text-[0.6875rem]`,e.on===!1?`bg-accented text-dimmed`:`bg-ok/15 text-ok`])},S(i(e.on)),3),v(`span`,Fe,S(e.how),1)],8,Ne))),128))])]))}}),Le={class:`grid gap-4`},Re={key:0,class:`unavailable rounded-md border border-warn/30 bg-warn/10 px-3 py-2 text-sm`},ze={key:1,class:`overflow-x-auto rounded-lg border border-default bg-elevated`},Be={class:`servers w-full min-w-[46rem] border-collapse text-[0.8125rem]`},Ve={key:0},He=[`data-name`,`data-scope`],Ue={class:`px-4 py-2 font-mono text-xs font-medium text-highlighted`},We={key:0,class:`ml-1 text-[0.625rem] font-normal text-dimmed`},Ge={class:`px-4 py-2 font-mono text-xs`},Ke=[`title`],qe={class:`px-4 py-2 font-mono text-xs`},Je={class:`px-4 py-2 font-mono text-xs`},Ye={class:`px-4 py-2 text-xs`},Xe={key:0,class:`probe mt-1 text-dimmed`},Ze={class:`px-4 py-1.5 text-right whitespace-nowrap`},Qe={class:`grid gap-3 sm:grid-cols-[8rem_1fr]`},$e=[`disabled`],et=[`disabled`],tt=[`disabled`],nt=[`disabled`],rt={class:`flex flex-wrap gap-x-4 gap-y-1 text-sm`},it=[`name`,`checked`,`disabled`,`onChange`],at=[`disabled`],ot={class:`flex flex-wrap items-center gap-3`},st={key:0,class:`restricted text-xs text-muted`},ct=[`href`],lt=w({__name:`McpServersPanel`,props:{mcps:{},vocabulary:{},viewer:{},fetch:{type:Function}},setup(e){let n=e,_=(e,t)=>(n.fetch??((e,t)=>globalThis.fetch(e,t)))(e,t),w=[`general`,`research`],A=h({name:``,url:``,scope:n.mcps.channel?`channel`:`org`,agents:new Set(w),auth:``}),j=u(n.mcps.channel??``),M=u(!1),N=u(null),P=h({}),F=g(()=>A.scope===`org`?n.mcps.canWrite.org:n.mcps.canWrite.channel),I=e=>e.scope===`org`?n.mcps.canWrite.org:e.scope===`channel`&&n.mcps.canWrite.channel,L={connected:`connected`,awaiting_credential:`awaiting credential`,static:`pinned in config.yaml`};function R(){let e=j.value.trim();t.navigate(e?`/settings/mcps?channel=${encodeURIComponent(e)}`:`/settings/mcps`)}function z(e,t){t?A.agents.add(e):A.agents.delete(e)}function B(e){return e===`channel`?{scope:`channel`,channel:n.mcps.channel}:{scope:`org`}}async function V(){M.value=!0,N.value=null;let e=await E(_,`mcp.add`,{name:A.name.trim(),url:A.url.trim(),...B(A.scope),agents:[...A.agents].join(`,`),...A.auth?{auth:A.auth}:{}});if(M.value=!1,!e.ok){N.value={kind:`error`,text:e.failure.message};return}let n=e.value;N.value=n.connectUrl?{kind:`ok`,text:`Added ${n.server?.name??A.name}. Open the one-time link to connect it (it expires in 10 minutes; only you can complete it).`,connectUrl:n.connectUrl}:{kind:`ok`,text:`Added ${n.server?.name??A.name}.`},n.connectUrl||t.reload()}async function H(e){M.value=!0,N.value=null;let t=await E(_,`mcp.connect`,{name:e.name,...B(e.scope)});if(M.value=!1,!t.ok){N.value={kind:`error`,text:t.failure.message};return}let n=t.value;N.value={kind:`ok`,text:`A fresh one-time link for ${e.name} (10 minutes; only you can complete it).`,...n.connectUrl?{connectUrl:n.connectUrl}:{}}}async function U(e){if(!t.confirm(`Remove ${e.name} from the ${e.scope} tier and forget its stored credential?`))return;M.value=!0,N.value=null;let n=await E(_,`mcp.remove`,{name:e.name,...B(e.scope)});if(M.value=!1,!n.ok){N.value={kind:`error`,text:n.failure.message};return}t.reload()}async function W(e){P[e.name]=`probing…`;let t=await D(_,`mcp.show`,{name:e.name,scope:e.scope===`user`?`me`:e.scope,channel:e.scope===`channel`?n.mcps.channel:void 0});if(!t.ok){P[e.name]=t.failure.message;return}let{probe:r}=t.value;P[e.name]=r?.tools?`${r.tools.length} tool${r.tools.length===1?``:`s`}: ${r.tools.map(e=>e.name).join(`, `)}`:r?.error??`no tools listed`}return(t,n)=>{let u=l;return p(),y(`section`,Le,[n[21]||=v(`p`,{class:`text-sm text-muted`},[f(` External MCP servers a run's tools may call, by tier: `),v(`strong`,null,`org`),f(` reaches every run and is the only tier that may name the coding, review or ship agents; `),v(`strong`,null,`channel`),f(` reaches that channel's runs. Personal servers are added in chat (`),v(`code`,null,`mcp add`),f(`), where your runs are requested as you. `)],-1),v(`form`,{class:`flex flex-wrap items-center gap-2 text-sm`,onSubmit:o(R,[`prevent`])},[n[6]||=v(`label`,{class:`text-muted`,for:`mcp-channel`},`Channel tier`,-1),T(v(`input`,{id:`mcp-channel`,"onUpdate:modelValue":n[0]||=e=>j.value=e,class:C([x(O),`font-mono text-xs`]),placeholder:`slack:C0123… (blank: org and your own)`,"aria-label":`channel whose MCP servers to list`},null,2),[[a,j.value]]),c(u,{type:`submit`,size:`xs`,color:`neutral`,variant:`outline`},{default:i(()=>[...n[5]||=[f(`Open`,-1)]]),_:1})],32),e.mcps.unavailable?(p(),y(`p`,Re,S(e.mcps.unavailable),1)):(p(),y(`div`,ze,[v(`table`,Be,[n[11]||=v(`thead`,null,[v(`tr`,{class:`text-left font-mono text-[0.6875rem] uppercase tracking-widest text-dimmed`},[v(`th`,{class:`px-4 py-2.5 font-medium`},`Name`),v(`th`,{class:`px-4 py-2.5 font-medium`},`Tier`),v(`th`,{class:`px-4 py-2.5 font-medium`},`URL`),v(`th`,{class:`px-4 py-2.5 font-medium`},`Agents`),v(`th`,{class:`px-4 py-2.5 font-medium`},`Auth`),v(`th`,{class:`px-4 py-2.5 font-medium`},`State`),v(`th`,{class:`px-4 py-2.5 font-medium`},[v(`span`,{class:`sr-only`},`Actions`)])])],-1),v(`tbody`,null,[e.mcps.servers.length===0?(p(),y(`tr`,Ve,[...n[7]||=[v(`td`,{colspan:`7`,class:`empty px-4 py-6 text-center text-muted`},` No MCP server reaches runs here yet. Add one below. `,-1)]])):m(``,!0),(p(!0),y(s,null,b(e.mcps.servers,t=>(p(),y(`tr`,{key:`${t.scopeKey}/${t.name}`,class:`server border-t border-muted align-top`,"data-name":t.name,"data-scope":t.scope},[v(`td`,Ue,[f(S(t.name)+` `,1),t.addedBy===e.viewer?(p(),y(`span`,We,`· added by you`)):m(``,!0)]),v(`td`,Ge,S(t.scope),1),v(`td`,{class:`max-w-[18rem] truncate px-4 py-2 font-mono text-xs text-muted`,title:t.url},S(t.url),9,Ke),v(`td`,qe,S(t.agents.join(`, `)),1),v(`td`,Je,S(t.auth),1),v(`td`,Ye,[v(`span`,{class:C([`state rounded px-1.5 py-0.5 font-mono text-[0.6875rem]`,t.state===`connected`?`bg-ok/15 text-ok`:t.state===`awaiting_credential`?`bg-warn/15 text-warn`:`bg-accented text-muted`])},S(L[t.state]),3),P[t.name]?(p(),y(`div`,Xe,S(P[t.name]),1)):m(``,!0)]),v(`td`,Ze,[c(u,{size:`xs`,color:`neutral`,variant:`ghost`,disabled:M.value,onClick:e=>W(t)},{default:i(()=>[...n[8]||=[f(`Probe`,-1)]]),_:1},8,[`disabled`,`onClick`]),t.source===`runtime`&&t.auth!==`none`?(p(),d(u,{key:0,size:`xs`,color:`neutral`,variant:`ghost`,disabled:M.value||!I(t),onClick:e=>H(t)},{default:i(()=>[...n[9]||=[f(`Connect`,-1)]]),_:1},8,[`disabled`,`onClick`])):m(``,!0),t.source===`runtime`?(p(),d(u,{key:1,size:`xs`,color:`error`,variant:`ghost`,disabled:M.value||!I(t),onClick:e=>U(t)},{default:i(()=>[...n[10]||=[f(`Remove`,-1)]]),_:1},8,[`disabled`,`onClick`])):m(``,!0)])],8,He))),128))])])])),e.mcps.unavailable?m(``,!0):(p(),y(`form`,{key:2,class:`add grid gap-3 rounded-lg border border-default bg-elevated px-5 py-4`,onSubmit:o(V,[`prevent`])},[n[20]||=v(`h2`,{class:`font-mono text-xs font-medium uppercase tracking-wider text-muted`},`Add a server`,-1),v(`div`,Qe,[n[14]||=v(`label`,{class:`text-sm text-muted`,for:`mcp-name`},`Name`,-1),T(v(`input`,{id:`mcp-name`,"onUpdate:modelValue":n[1]||=e=>A.name=e,class:C([x(O),`font-mono text-xs`]),required:``,pattern:`[a-z0-9][a-z0-9-]{0,31}`,placeholder:`notion — becomes the tool prefix mcp__notion__`,disabled:!F.value},null,10,$e),[[a,A.name]]),n[15]||=v(`label`,{class:`text-sm text-muted`,for:`mcp-url`},`URL`,-1),T(v(`input`,{id:`mcp-url`,"onUpdate:modelValue":n[2]||=e=>A.url=e,class:C([x(O),`font-mono text-xs`]),type:`url`,required:``,placeholder:`https://mcp.example.com/mcp — Streamable HTTP`,disabled:!F.value},null,10,et),[[a,A.url]]),n[16]||=v(`label`,{class:`text-sm text-muted`,for:`mcp-scope`},`Tier`,-1),T(v(`select`,{id:`mcp-scope`,"onUpdate:modelValue":n[3]||=e=>A.scope=e,class:C(x(k)),disabled:!F.value&&!e.mcps.canWrite.org&&!e.mcps.canWrite.channel},[n[12]||=v(`option`,{value:`org`},`org — every run; may name coding, review, ship`,-1),v(`option`,{value:`channel`,disabled:!e.mcps.channel},` channel — `+S(e.mcps.channel??`open a channel above first`),9,nt)],10,tt),[[r,A.scope]]),n[17]||=v(`span`,{class:`text-sm text-muted`},`Agents`,-1),v(`div`,rt,[(p(!0),y(s,null,b(e.vocabulary.agents,e=>(p(),y(`label`,{key:e,class:`inline-flex items-center gap-1.5 font-mono text-xs`},[v(`input`,{type:`checkbox`,name:`agent-${e}`,checked:A.agents.has(e),disabled:!F.value||A.scope===`channel`&&!w.includes(e),onChange:t=>z(e,t.target.checked)},null,40,it),f(` `+S(e),1)]))),128))]),n[18]||=v(`label`,{class:`text-sm text-muted`,for:`mcp-auth`},`Auth`,-1),T(v(`select`,{id:`mcp-auth`,"onUpdate:modelValue":n[4]||=e=>A.auth=e,class:C(x(k)),disabled:!F.value},[...n[13]||=[v(`option`,{value:``},`detect from the server`,-1),v(`option`,{value:`oauth`},`oauth — sign in on a one-time link`,-1),v(`option`,{value:`bearer`},`bearer — paste a token on a one-time link`,-1),v(`option`,{value:`none`},`none`,-1)]],10,at),[[r,A.auth]])]),v(`div`,ot,[c(u,{type:`submit`,size:`sm`,color:`neutral`,disabled:!F.value||M.value},{default:i(()=>[...n[19]||=[f(`Add`,-1)]]),_:1},8,[`disabled`]),F.value?m(``,!0):(p(),y(`span`,st,S(A.scope===`org`?`Org-wide servers are managed by admins (repo-management rights).`:`This channel's servers need channel-config rights.`),1))]),N.value?(p(),y(`p`,{key:0,class:C([`notice rounded-md px-3 py-2 text-sm`,N.value.kind===`error`?`border border-err/30 bg-err/10`:`border border-ok/30 bg-ok/10`])},[f(S(N.value.text)+` `,1),N.value.connectUrl?(p(),y(`a`,{key:0,class:`connect ml-1 font-mono text-xs underline`,href:N.value.connectUrl},S(N.value.connectUrl),9,ct)):m(``,!0)],2)):m(``,!0)],32))])}}}),ut=[{id:`mcps`,href:`/settings/mcps`,label:`MCPs`,on:e=>e.mcp},{id:`channels`,href:`/settings/channels`,label:`Channels`},{id:`installation`,href:`/settings/installation`,label:`Installation`}];function dt(e,t){return ut.filter(n=>n.id===t||n.on===void 0||e!==null&&n.on(e))}var ft={class:`tabs mb-3.5 flex gap-5 border-b border-muted px-2 text-[0.8rem]`,"aria-label":`Settings sections`},pt=[`href`,`aria-current`],mt=w({__name:`SettingsTabs`,props:{current:{}},setup(t){let n=t,r=e(),i=g(()=>dt(r,n.current));return(e,n)=>(p(),y(`nav`,ft,[(p(!0),y(s,null,b(i.value,e=>(p(),y(`a`,{key:e.id,href:e.href,"aria-current":e.id===t.current?`page`:void 0,class:`-mb-px border-b border-transparent pb-2 pt-1.5 text-muted no-underline hover:text-highlighted aria-[current=page]:border-(--ui-text-highlighted) aria-[current=page]:font-medium aria-[current=page]:text-highlighted`},S(e.label),9,pt))),128))]))}}),ht=w({__name:`SettingsPage`,setup(e){let t=_(`settings`),r=g(()=>t?.tab??`channels`);return(e,a)=>x(t)?(p(),d(n,{key:0,title:`Settings`,nav:`settings`},{default:i(()=>[c(mt,{current:r.value},null,8,[`current`]),r.value===`mcps`&&x(t).mcps?(p(),d(lt,{key:0,mcps:x(t).mcps,vocabulary:x(t).vocabulary,viewer:x(t).viewer},null,8,[`mcps`,`vocabulary`,`viewer`])):r.value===`channels`&&x(t).channels?(p(),d(G,{key:1,channels:x(t).channels,vocabulary:x(t).vocabulary},null,8,[`channels`,`vocabulary`])):r.value===`installation`&&x(t).installation?(p(),d(Ie,{key:2,installation:x(t).installation},null,8,[`installation`])):m(``,!0)]),_:1})):(p(),d(n,{key:1,title:`Settings`,nav:`settings`},{default:i(()=>[...a[0]||=[v(`p`,{class:`empty py-8 text-center text-sm text-muted`},` Settings are unavailable: the page was served without its data. `,-1)]]),_:1}))}});export{ht as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Lr as e,cn as t,ir as n,sn as r,un as i,xi as a,yn as o}from"./seed-DeKSHrt2.js";import{t as s}from"./Tooltip-
|
|
1
|
+
import{Lr as e,cn as t,ir as n,sn as r,un as i,xi as a,yn as o}from"./seed-DeKSHrt2.js";import{t as s}from"./Tooltip-DPDx5tXT.js";var c=[`aria-label`,`data-tone`],l=[`aria-label`,`data-tone`],u=o({__name:`StatusDot`,props:{tone:{},label:{},tip:{},pulse:{type:Boolean}},setup(o){let u={green:`bg-ok`,amber:`bg-warn`,red:`bg-bad`,grey:`bg-(--ui-text-dimmed)`};return(d,f)=>{let p=s;return o.tip?(n(),t(p,{key:0,text:o.tip},{default:e(()=>[r(`span`,{class:a([`inline-block size-[0.6em] shrink-0 rounded-full`,[u[o.tone],o.pulse?`motion-safe:animate-pulse`:``]]),role:`img`,"aria-label":o.label,"data-tone":o.tone},null,10,c)]),_:1},8,[`text`])):(n(),i(`span`,{key:1,class:a([`inline-block size-[0.6em] shrink-0 rounded-full`,[u[o.tone],o.pulse?`motion-safe:animate-pulse`:``]]),role:`img`,"aria-label":o.label,"data-tone":o.tone},null,10,l))}}});export{u as t};
|