@staff0rd/assist 0.932.2 → 0.932.4

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.
@@ -4013,7 +4013,7 @@ ${f.join(`
4013
4013
  `)})}var bF=E($(),1);function Evr({entry:e,state:t,actions:r}){return(0,bF.jsxs)(ie,{sx:{px:2,pb:2,pl:{xs:2,sm:7.5},display:"grid",gap:1.5},children:[(0,bF.jsx)(kvr,{entry:e,state:t,actions:r}),(0,bF.jsx)(Le,{variant:"caption",color:"text.secondary",children:"History \xB7 ~/.assist/watchers/"}),(0,bF.jsx)(_vr,{lines:e.status?.history??[]})]})}function xF(e){let t=e.status?.loop;return t!==void 0&&(t.phase!=="off"||t.paused===!0)}var SF=E($(),1),FZn={display:"flex",gap:.5,flexWrap:"wrap",justifyContent:{xs:"flex-start",sm:"flex-end"},gridColumn:{xs:"1 / -1",sm:"auto"}};function Rvr({entry:e,state:t,actions:r}){let n=r.notices.busy[e.name],i=e.status?.loop.paused===!0;return(0,SF.jsxs)(ie,{sx:FZn,children:[t.kind==="ready"&&(0,SF.jsx)(Lye,{entry:e,actions:r}),t.kind==="diverged"&&(0,SF.jsx)(Rye,{entry:e,actions:r}),xF(e)&&(0,SF.jsx)(Dt,{size:"small",disabled:n!==void 0,onClick:()=>{r.control(e,i?"resume":"pause")},children:i?"Resume":"Pause"})]})}var $Zn={ready:"warning",diverged:"error"},Avr=e=>t=>{let r=$Zn[e];return{display:"grid",gridTemplateColumns:{xs:"28px minmax(0,1fr)",sm:"28px minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.6fr) auto"},alignItems:"center",columnGap:1.5,rowGap:1,px:2,py:1.5,boxShadow:r?`inset 3px 0 0 ${t.palette[r].main}`:"none"}};var Pvr=E($(),1),Lvr=st((0,Pvr.jsx)("path",{d:"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8z"}),"ArrowUpward");var Mvr=E($(),1),Ivr=st((0,Mvr.jsx)("path",{d:"M19.35 10.04C18.67 6.59 15.64 4 12 4c-1.48 0-2.85.43-4.01 1.17l1.46 1.46C10.21 6.23 11.08 6 12 6c3.04 0 5.5 2.46 5.5 5.5v.5H19c1.66 0 3 1.34 3 3 0 1.13-.64 2.11-1.56 2.62l1.45 1.45C23.16 18.16 24 16.68 24 15c0-2.64-2.05-4.78-4.65-4.96M3 5.27l2.75 2.74C2.56 8.15 0 10.77 0 14c0 3.31 2.69 6 6 6h11.73l2 2L21 20.73 4.27 4zM7.73 10l8 8H6c-2.21 0-4-1.79-4-4s1.79-4 4-4z"}),"CloudOff");var Dvr=E($(),1),Nvr=st((0,Dvr.jsx)("path",{d:"M6 2v6h.01L6 8.01 10 12l-4 4 .01.01H6V22h12v-5.99h-.01L18 16l-4-4 4-3.99-.01-.01H18V2zm10 14.5V20H8v-3.5l4-4zm-4-5-4-4V4h8v3.5z"}),"HourglassEmpty");var Ovr=E($(),1),Bvr=st((0,Ovr.jsx)("path",{d:"M6 19h4V5H6zm8-14v14h4V5z"}),"Pause");var Fvr=E($(),1),$vr=st((0,Fvr.jsx)("path",{d:"M13 3h-2v10h2zm4.83 2.17-1.42 1.42C17.99 7.86 19 9.81 19 12c0 3.87-3.13 7-7 7s-7-3.13-7-7c0-2.19 1.01-4.14 2.58-5.42L6.17 5.17C4.23 6.82 3 9.26 3 12c0 4.97 4.03 9 9 9s9-4.03 9-9c0-2.74-1.23-5.18-3.17-6.83"}),"PowerSettingsNew");var zvr=E($(),1),Hvr=st((0,zvr.jsx)("path",{d:"M1 21h22L12 2zm12-3h-2v-2h2zm0-4h-2v-4h2z"}),"Warning");var k0=E($(),1),zZn={ok:{tone:"success",icon:(0,k0.jsx)(Sy,{})},ready:{tone:"warning",icon:(0,k0.jsx)(Lvr,{})},diverged:{tone:"error",icon:(0,k0.jsx)(Hvr,{})},retrying:{tone:"warning",icon:(0,k0.jsx)(mge,{})},paused:{tone:"neutral",icon:(0,k0.jsx)(Bvr,{})},off:{tone:"neutral",icon:(0,k0.jsx)($vr,{})},loading:{tone:"neutral",icon:(0,k0.jsx)(Nvr,{})},unavailable:{tone:"neutral",icon:(0,k0.jsx)(Ivr,{})}};function HZn(e,t){return t==="neutral"?e.palette.text.secondary:e.palette[t].main}function Uvr({state:e}){let{tone:t,icon:r}=zZn[e.kind];return(0,k0.jsxs)(ie,{component:"span",sx:n=>({alignSelf:"flex-start",display:"inline-flex",alignItems:"center",gap:.75,height:24,px:1.25,borderRadius:3,fontSize:12,fontWeight:500,whiteSpace:"nowrap",color:HZn(n,t),bgcolor:t==="neutral"?n.palette.action.hover:po(n.palette[t].main,.1),border:t==="neutral"?`1px solid ${n.palette.divider}`:0,"& svg":{fontSize:14}}),children:[r,e.label]})}var HK=E($(),1);function Wvr({state:e}){return(0,HK.jsxs)(ie,{sx:{...Eye,gridColumn:{xs:"2",sm:"auto"},gap:.25},children:[(0,HK.jsx)(Uvr,{state:e}),(0,HK.jsx)(Le,{variant:"caption",color:"text.secondary",noWrap:!0,children:e.line})]})}var gv=E($(),1),Gvr={gridColumn:{xs:"2",sm:"auto"}},UZn={fontFamily:"'Roboto Mono', ui-monospace, Menlo, monospace",fontSize:12,fontVariantNumeric:"tabular-nums"};function Vvr({entry:e}){let t=e.status;if(!t)return(0,gv.jsx)(Le,{variant:"caption",color:"text.secondary",sx:Gvr,children:"\u2014"});let r=t.running!==t.built;return(0,gv.jsxs)(ie,{sx:{...Gvr,display:"flex",flexDirection:"column"},children:[(0,gv.jsxs)(ie,{component:"span",sx:UZn,children:["v",t.running,r&&(0,gv.jsxs)(gv.Fragment,{children:[" ",(0,gv.jsx)(ie,{component:"span",sx:{color:"warning.main"},children:"\u2192"})," ","v",t.built]})]}),(0,gv.jsx)(Le,{variant:"caption",color:"text.secondary",children:r?"running \u2192 built":"running"})]})}function TF(e){return(e.status?.restart.length??0)>0}function qvr(e,t){return e.paused?{kind:"paused",label:"Paused",line:"won't pull until resumed"}:e.phase==="off"?{kind:"off",label:"Off",line:e.reason??"not running"}:e.phase==="retrying"?{kind:"retrying",label:"Retrying",line:`${e.reason??"lap failed"} \xB7 ${t}`}:{kind:"ok",label:"Up to date",line:`watching origin since ${t}`}}function e_(e){let{status:t}=e;if(e.loading)return{kind:"loading",label:"Checking",line:"waiting for node"};if(!t)return{kind:"unavailable",label:"Unavailable",line:e.error??"no update state"};let{loop:r}=t,n=_o(r.since);return r.phase==="diverged"?{kind:"diverged",label:"Diverged \xB7 fixing",line:`diverged ${n}${r.escalationId?` \xB7 session ${r.escalationId}`:""}`}:TF(e)?{kind:"ready",label:"Restart to update",line:`restart ${t.restart.map(yF).join(" + ")}${r.paused?" \xB7 paused":""}`}:qvr(r,n)}var yv=E($(),1);function Yvr({entry:e,actions:t}){let[r,n]=(0,jvr.useState)(!1),i=e_(e);return(0,yv.jsxs)(ie,{component:"article",sx:{"& + &":{borderTop:1,borderColor:"divider"}},children:[(0,yv.jsxs)(ie,{sx:Avr(i.kind),children:[(0,yv.jsx)(bvr,{open:r,label:`${r?"Hide":"Show"} history for ${e.name}`,onToggle:()=>n(o=>!o)}),(0,yv.jsx)(xvr,{entry:e}),(0,yv.jsx)(Vvr,{entry:e}),(0,yv.jsx)(Wvr,{state:i}),(0,yv.jsx)(Rvr,{entry:e,state:i,actions:t})]}),r&&(0,yv.jsx)(Evr,{entry:e,state:i,actions:t})]})}var Kvr=E($(),1),Iye=st((0,Kvr.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh");var zUe=E(de(),1);var CF=E($(),1);function Xvr({entries:e,actions:t}){let[r,n]=(0,zUe.useState)(!1),[i,o]=(0,zUe.useState)(!1),a=e.filter(l=>e_(l).kind==="ready").length,s=e.some(l=>xF(l)&&!l.status?.loop.paused);return(0,CF.jsxs)(ie,{sx:{display:"flex",gap:1,flexWrap:"wrap"},children:[(0,CF.jsx)(Dt,{variant:"outlined",size:"small",startIcon:(0,CF.jsx)(Iye,{}),disabled:!s||r,onClick:()=>{n(!0),t.checkAll(e).finally(()=>n(!1))},children:"Check now"}),(0,CF.jsx)(Dt,{variant:"contained",size:"small",disabled:a===0||i,onClick:()=>{o(!0),t.restartReady(e).finally(()=>o(!1))},children:a?`Restart ready nodes (${a})`:"Restart ready nodes"})]})}function Zvr(e){let t=e.map(o=>e_(o).kind),r=o=>t.filter(a=>a===o).length,n=r("ready"),i=[`${e.length} node${e.length===1?"":"s"}`];return i.push(n?`${n} ready to restart`:"all running their latest build"),r("diverged")&&i.push(`${r("diverged")} diverged`),r("loading")&&i.push(`${r("loading")} checking`),r("unavailable")&&i.push(`${r("unavailable")} unavailable`),i.join(" \xB7 ")}var fbr=E(de(),1);function Qvr(e,t){return`${e}:${t}`}var HUe=E(de(),1);async function wF(e){if(!e)return"web server unreachable";try{return(await e.json()).error??`HTTP ${e.status}`}catch{return`HTTP ${e.status}`}}async function Jvr(e,t){let r;try{r=await fetch(qr(`/api/updates/control?action=${t}`,e.local?void 0:e.name),{method:"POST"})}catch{}return r?.ok?void 0:wF(r)}var WZn=5e3,ebr={pause:"Pausing",resume:"Resuming",check:"Checking"};function tbr(e,t){let{mark:r,setError:n,setBack:i}=e,o=(0,HUe.useCallback)(async(s,l)=>{r(s.name,ebr[l]);let u=await Jvr(s,l);return u&&n(`${ebr[l]} ${s.name} failed: ${u}`),r(s.name),t(),!u&&l==="check"&&setTimeout(t,WZn),!u},[r,n,t]),a=(0,HUe.useCallback)(async s=>{let l=s.filter(d=>xF(d)&&!d.status?.loop.paused),f=(await Promise.all(l.map(d=>o(d,"check")))).filter(Boolean).length;f&&i(`Checking ${f} node${f===1?"":"s"} against origin`)},[o,i]);return{control:o,checkAll:a}}var UUe=E(de(),1);var vv=E(de(),1);var kF={target:"both",label:"Restart daemon",message:"This restarts the sessions daemon and the web server, then reloads the page once the server is back."};function t_(e,t){let r=t?`&node=${encodeURIComponent(t)}`:"";return fetch(`/api/restart?target=${e}${r}`,{method:"POST"})}var eS=E(de(),1);var GZn="/api/health";async function VZn(){try{return(await fetch(GZn,{cache:"no-store"})).ok}catch{return!1}}async function rbr(e){let t=0;for(;!e();){if(t=await VZn()?t+1:0,t>=2)return!e();await new Promise(r=>setTimeout(r,300))}return!1}function qZn(){return{sawDisconnect:!1,waiting:!1,abandoned:!0}}function nbr(e,t,r){let n=(0,eS.useRef)(qZn()),i=(0,eS.useRef)(r);i.current=r,(0,eS.useEffect)(()=>{let s=n.current;if(!(!e||s.abandoned)){if(t){s.sawDisconnect=!0;return}!s.sawDisconnect||s.waiting||(s.waiting=!0,rbr(()=>s.abandoned).then(l=>{l&&i.current()}))}},[e,t]);let o=(0,eS.useCallback)(()=>{n.current.abandoned=!0},[]),a=(0,eS.useCallback)(()=>{n.current.abandoned=!0,n.current={sawDisconnect:!1,waiting:!1,abandoned:!1}},[]);return(0,eS.useEffect)(()=>o,[o]),{arm:a,abandon:o}}var jZn=15e3;function r_(e,t,r){let[n,i]=(0,vv.useState)(!1),[o,a]=(0,vv.useState)(null),s=(0,vv.useRef)(void 0),{arm:l,abandon:u}=nbr(n,t,()=>{clearTimeout(s.current),r?.(),globalThis.location.reload()});(0,vv.useEffect)(()=>()=>clearTimeout(s.current),[]);let f=(0,vv.useCallback)(async h=>{i(!0),l(),s.current=setTimeout(()=>{u(),i(!1),a("Web server did not come back")},jZn);try{if(!(await t_(h)).ok)throw new Error("restart failed")}catch{u(),clearTimeout(s.current),i(!1),a("Failed to restart web server")}},[l,u]),d=(0,vv.useCallback)(()=>f(e),[f,e]);return{pending:n,error:o,clearError:()=>a(null),restart:d,restartTo:f}}function Dye(e){return e.local&&TF(e)}var ibr=15e3;async function Nye(e,t){try{let r=await fetch(qr("/api/updates",t?void 0:e),{signal:AbortSignal.timeout(ibr)}),n=await r.json();if(!r.ok)throw new Error(n?.error??`HTTP ${r.status}`);return{name:e,local:t,status:n}}catch(r){return{name:e,local:t,error:YZn(r)}}}function YZn(e){return e instanceof DOMException&&e.name==="TimeoutError"?`No response after ${ibr/1e3}s`:e instanceof Error?e.message:"Failed to load update state"}var KZn=2e3,XZn=9e4,ZZn=e=>new Promise(t=>setTimeout(t,e));async function obr(e,t){let r=Date.now()+XZn;for(;Date.now()<r;){await ZZn(KZn);let n=await Nye(e.name,e.local),i=n.status;if(i?.daemonReachable&&!t.some(o=>i.restart.includes(o)))return n}}async function abr(e,t,r){let n;try{n=await t_(t,e.local?void 0:e.name)}catch{}if(!n?.ok)throw new Error(await wF(n));let i=await obr(e,r);if(!i?.status)throw new Error(`${e.name} did not come back`);return i.status.running}async function sbr(e,t,r){try{let n=await abr(e,t,e.status?.restart??[]);r.setBack(`${e.name} is running v${n}`)}catch(n){r.setError(`Restart ${e.name} failed: ${n instanceof Error?n.message:String(n)}`)}}function lbr(e){return e.length>1?"both":e[0]}function cbr(e,t,r){let n=r_("webserver",e),i=(0,UUe.useCallback)(async a=>{let s=lbr(a.status?.restart??[]);if(s){if(t.mark(a.name,"Restarting"),Dye(a))return n.restartTo(s==="daemon"?"both":s);await sbr(a,s,t),t.mark(a.name),r()}},[n,t,r]),o=(0,UUe.useCallback)(async a=>{let s=a.filter(l=>e_(l).kind==="ready");await Promise.all(s.filter(l=>!Dye(l)).map(l=>i(l)));for(let l of s.filter(Dye))await i(l)},[i]);return{restart:i,restartReady:o,localError:n.error,clearLocalError:n.clearError}}var _F=E(de(),1);function ubr(){let[e,t]=(0,_F.useState)(null),[r,n]=(0,_F.useState)(null),[i,o]=(0,_F.useState)({}),a=(0,_F.useCallback)((s,l)=>{o(u=>{let f={...u};return l?f[s]=l:delete f[s],f})},[]);return{busy:i,mark:a,back:e,setBack:t,clearBack:()=>t(null),error:r,setError:n,clearError:()=>n(null)}}function dbr(e,t){let{refresh:r}=mF(),n=ubr(),i=cbr(e,n,r),o=tbr(n,r),a=vy(t),s=(0,fbr.useCallback)(l=>{let u=l.status?.loop.escalationId;u&&a(l.local?u:Qvr(l.name,u))},[a]);return{...i,...o,openFix:s,notices:n}}var _0=E($(),1);function hbr({reconnecting:e,selectSession:t}){let{entries:r,loading:n}=mF(),i=dbr(e,t),{notices:o}=i;return(0,_0.jsxs)(Yl,{loading:n,header:(0,_0.jsxs)(ie,{sx:{display:"flex",alignItems:"flex-end",gap:2,flexWrap:"wrap",mb:3},children:[(0,_0.jsxs)(ie,{sx:{flex:"1 1 auto"},children:[(0,_0.jsx)(Le,{variant:"h5",component:"h1",children:"Updates"}),(0,_0.jsx)(Le,{variant:"body2",color:"text.secondary",children:Zvr(r)})]}),(0,_0.jsx)(Xvr,{entries:r,actions:i})]}),children:[(0,_0.jsx)(tn,{variant:"outlined",component:"section","aria-label":"Nodes",children:r.map(a=>(0,_0.jsx)(Yvr,{entry:a,actions:i},a.name))}),(0,_0.jsx)($K,{notices:{...o,error:o.error??i.localError,clearError:()=>{o.clearError(),i.clearLocalError()}}})]})}var rxr=E(de(),1);var EF=E(de(),1);function Oye(e,t){let r=(0,EF.useRef)(null),[n,i]=(0,EF.useState)();return(0,EF.useLayoutEffect)(()=>{e===t&&r.current&&i(r.current.offsetHeight)},[e,t]),{ref:r,height:n}}var mbr=E(de(),1);function Bye(e){if(e.startsWith("local:")){let n=e.slice(6).replace(/\/+$/,"").split("/").filter(Boolean);return n[n.length-1]??e}let t=e.indexOf("/");return t===-1?e:e.slice(t+1)}function Fye(e){let t=o=>o.startsWith("local:"),r=o=>{let a=Bye(o),s=a.split("/");return s[s.length-1]??a},n=new Map;for(let o of new Set(e)){if(t(o))continue;let a=r(o);n.set(a,(n.get(a)??0)+1)}let i=new Map;for(let o of e){if(t(o)){i.set(o,Bye(o));continue}let a=r(o),s=(n.get(a)??0)>1;i.set(o,s?Bye(o):a)}return i}var UK={field:"lastPhase",direction:"desc"};var WK="all",GK="all";async function pbr(e,t,r){let n=new URLSearchParams({page:String(e),pageSize:String(t)});r.origin!==WK&&n.set("origin",r.origin),r.status!==GK&&n.set("status",r.status),r.sort.field!==UK.field&&n.set("sort",r.sort.field),r.sort.direction!==UK.direction&&n.set("direction",r.sort.direction);let i=await fetch(`/api/usage/items?${n}`);if(!i.ok)throw new Error(`Failed to load item usage (HTTP ${i.status}).`);return i.json()}var VK=E($(),1);function gbr({origins:e,origin:t,onChange:r}){let n=(0,mbr.useMemo)(()=>Fye(e.map(o=>o.origin)),[e]),i=e.reduce((o,a)=>o+a.count,0);return(0,VK.jsxs)(Qn,{select:!0,size:"small",label:"Repo",value:t,onChange:o=>r(o.target.value),sx:{minWidth:220},children:[(0,VK.jsx)(ln,{value:WK,children:`All repos (${i})`}),e.map(o=>(0,VK.jsx)(ln,{value:o.origin,children:`${n.get(o.origin)??o.origin} (${o.count})`},o.origin))]})}var WUe=E($(),1),QZn=[{value:GK,label:"All"},{value:"done",label:"Done"},{value:"running",label:"Running"}];function ybr({status:e,onChange:t}){return(0,WUe.jsx)(Ru,{size:"small",exclusive:!0,value:e,onChange:(r,n)=>n&&t(n),"aria-label":"Filter items by status",children:QZn.map(r=>(0,WUe.jsx)(bs,{value:r.value,children:r.label},r.value))})}var RF=E($(),1),JZn={display:"flex",alignItems:"center",gap:2,flexWrap:"wrap",mb:2},eQn="Repos show their bare name, or org/repo when two share one. Totals sum every phase's recorded usage.";function vbr({origins:e,origin:t,onOriginChange:r,status:n,onStatusChange:i}){return(0,RF.jsxs)(ie,{sx:JZn,children:[(0,RF.jsx)(ybr,{status:n,onChange:i}),(0,RF.jsx)(gbr,{origins:e,origin:t,onChange:r}),(0,RF.jsx)(Le,{variant:"caption",color:"text.disabled",children:eQn})]})}var Pbr=E(de(),1);function lh(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}M`}function E0(e){let t=Math.round(e/1e3);if(t<60)return`${t}s`;let r=Math.floor(t/60);if(r<60){let o=t%60;return o>0?`${r}m ${o}s`:`${r}m`}let n=Math.floor(r/60),i=r%60;return i>0?`${n}h ${i}m`:`${n}h`}var zye=E($(),1),tQn={whiteSpace:"nowrap",fontVariantNumeric:"tabular-nums"},bbr={display:"block",fontSize:"0.75rem",color:"text.disabled",whiteSpace:"nowrap"},rQn={...bbr,fontStyle:"italic"};function $ye({total:e,perPhase:t,partial:r}){return(0,zye.jsxs)(Rn,{align:"right",sx:tQn,children:[e,t?(0,zye.jsx)(Le,{component:"span",sx:r?rQn:bbr,children:t}):null]})}var qK=E($(),1),nQn={width:"100%",maxWidth:0},iQn={display:"block",fontWeight:500,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},oQn={display:"block",mt:"2px",fontSize:"0.75rem",color:"text.secondary",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};function xbr({id:e,name:t,type:r,repoLabel:n}){return(0,qK.jsxs)(Rn,{sx:nQn,children:[(0,qK.jsx)(Kr,{component:Cs,to:mT(e),underline:"hover",color:"text.primary",title:t,sx:iQn,children:t}),(0,qK.jsxs)(Le,{component:"span",sx:oQn,children:[oo(e)," \xB7 ",r," \xB7 ",n]})]})}function Sbr(e){let t=Math.max(1,e.recordedPhases);return{active:`${E0(e.activeMs/t)} / phase`,tokens:`${lh(Math.round((e.tokensUp+e.tokensDown)/t))} / phase`}}function Tbr(e){if(!(e.status==="done"||e.recordedPhases>e.phaseCount))return`${e.recordedPhases} of ${e.phaseCount} phases`}var Hye={story:"info",bug:"error"},Uye={todo:"default","in-progress":"warning",done:"success",wontdo:"error"};var aQn=new Set(["done","wontdo"]);function Cbr(e){return aQn.has(e)?{label:e,color:Uye[e]}:{label:"running",color:"warning"}}var GUe=E($(),1),sQn={height:20,fontSize:"0.6875rem"};function wbr({status:e}){let t=Cbr(e);return(0,GUe.jsx)(Rn,{children:(0,GUe.jsx)(rn,{label:t.label,size:"small",variant:"outlined",color:t.color,sx:sQn})})}var R0=E($(),1),kbr={whiteSpace:"nowrap",fontVariantNumeric:"tabular-nums"};function _br({row:e,repoLabel:t}){let r=Sbr(e);return(0,R0.jsxs)(df,{hover:!0,children:[(0,R0.jsx)(xbr,{id:e.id,name:e.name,type:e.type,repoLabel:t}),(0,R0.jsx)(wbr,{status:e.status}),(0,R0.jsx)($ye,{total:String(e.phaseCount||e.recordedPhases),perPhase:Tbr(e),partial:!0}),(0,R0.jsx)($ye,{total:E0(e.activeMs),perPhase:r.active}),(0,R0.jsx)($ye,{total:`\u2191 ${lh(e.tokensUp)} \u2193 ${lh(e.tokensDown)}`,perPhase:r.tokens}),(0,R0.jsx)(Rn,{align:"right",sx:kbr,children:(0,R0.jsxs)(ie,{component:"span",sx:{color:Ote(e.peakContextPct)},children:[Math.round(e.peakContextPct),"%"]})}),(0,R0.jsx)(Rn,{align:"right",sx:kbr,children:e.lastPhaseAt?_o(e.lastPhaseAt):"\u2014"})]})}var Ebr=[{label:"Item"},{label:"Status"},{label:"Phases",sort:"phases",numeric:!0},{label:"Active",sort:"active",numeric:!0,tooltip:"Accumulated active time across the item's phases \u2014 not wall clock."},{label:"Tokens",sort:"tokens",numeric:!0},{label:"Peak ctx",sort:"peakContext",numeric:!0,tooltip:"The highest context-window usage any one phase reached."},{label:"Last phase",sort:"lastPhase",numeric:!0,tooltip:"When the item's most recent phase session started."}];var og=E($(),1),lQn={"& th":{whiteSpace:"nowrap"}};function Rbr({column:e}){return e.tooltip?(0,og.jsx)(lr,{title:e.tooltip,describeChild:!0,children:(0,og.jsx)("span",{children:e.label})}):(0,og.jsx)(og.Fragment,{children:e.label})}function Abr({sort:e,onSort:t}){return(0,og.jsx)(b5,{sx:lQn,children:(0,og.jsx)(df,{children:Ebr.map(r=>{let n=r.sort,i=n!==void 0&&e.field===n;return(0,og.jsx)(Rn,{align:r.numeric?"right":"left",sortDirection:i?e.direction:!1,children:n===void 0?(0,og.jsx)(Rbr,{column:r}):(0,og.jsx)(Kxe,{active:i,direction:i?e.direction:"desc",onClick:()=>t(n),children:(0,og.jsx)(Rbr,{column:r})})},r.label)})})})}var yA=E($(),1),cQn={"& td, & th":{px:1.5}};function Lbr({rows:e,origins:t,sort:r,onSort:n}){let i=(0,Pbr.useMemo)(()=>Fye([...t,...e.map(o=>o.origin)]),[t,e]);return(0,yA.jsx)(v5,{component:tn,children:(0,yA.jsxs)(Jv,{size:"small",sx:cQn,children:[(0,yA.jsx)(Abr,{sort:r,onSort:n}),(0,yA.jsx)(eb,{children:e.map(o=>(0,yA.jsx)(_br,{row:o,repoLabel:i.get(o.origin)??o.origin},o.id))})]})})}function Mbr(e){let t=Math.max(1,e.medianPhases),r=e.repoCount===1?"repo":"repos";return{items:String(e.itemCount),itemsFoot:`across ${e.repoCount} ${r} \xB7 ${e.doneCount} done`,phases:String(Math.round(e.medianPhases*10)/10),active:E0(e.medianActiveMs),activeFoot:`${E0(e.medianActiveMs/t)} per phase`,tokens:lh(Math.round(e.medianTokens)),tokensFoot:`${lh(Math.round(e.medianTokens/t))} per phase`}}var AF=E($(),1),Ibr={display:"block"},uQn={fontWeight:400,fontVariantNumeric:"tabular-nums"};function jK({label:e,value:t,foot:r}){return(0,AF.jsxs)(ie,{children:[(0,AF.jsx)(Le,{variant:"caption",color:"text.secondary",sx:Ibr,children:e}),(0,AF.jsx)(Le,{variant:"h5",sx:uQn,children:t}),r?(0,AF.jsx)(Le,{variant:"caption",color:"text.disabled",sx:Ibr,children:r}):null]})}var vA=E($(),1),fQn={display:"flex",flexDirection:{xs:"column",sm:"row"},mb:3,"& > *":{flex:1,minWidth:0,p:2},"& > * + *":{borderColor:"divider",borderTop:{xs:1,sm:0},borderLeft:{xs:0,sm:1}}};function Dbr({summary:e}){let t=Mbr(e);return(0,vA.jsxs)(tn,{sx:fQn,children:[(0,vA.jsx)(jK,{label:"Items with recorded usage",value:t.items,foot:t.itemsFoot}),(0,vA.jsx)(jK,{label:"Median phases",value:t.phases}),(0,vA.jsx)(jK,{label:"Median active time",value:t.active,foot:t.activeFoot}),(0,vA.jsx)(jK,{label:"Median tokens",value:t.tokens,foot:t.tokensFoot})]})}var Cp=E($(),1);function Nbr({items:e,data:t}){let{rows:r,total:n,page:i,pageSize:o}=e,{ref:a,height:s}=Oye(r.length,o);return(0,Cp.jsxs)(Cp.Fragment,{children:[(0,Cp.jsx)(Dbr,{summary:t.summary}),(0,Cp.jsx)(vbr,{origins:t.origins,origin:e.origin,onOriginChange:e.selectOrigin,status:e.status,onStatusChange:e.selectStatus}),n===0?(0,Cp.jsx)(Le,{color:"text.secondary",align:"center",sx:{py:6},children:"No items match this filter."}):(0,Cp.jsxs)(Cp.Fragment,{children:[(0,Cp.jsx)(ie,{ref:a,sx:{minHeight:s},children:(0,Cp.jsx)(Lbr,{rows:r,origins:t.origins.map(l=>l.origin),sort:e.sort,onSort:e.sortBy})}),(0,Cp.jsx)(Oz,{component:"div",count:n,page:i,rowsPerPage:o,rowsPerPageOptions:[o],onPageChange:(l,u)=>e.setPage(u)})]})]})}var tS=E($(),1);function Obr({items:e}){let{data:t}=e;return(0,tS.jsxs)(tS.Fragment,{children:[(0,tS.jsx)(ie,{sx:{height:4,mb:1},children:e.fetching&&(0,tS.jsx)(y5,{})}),t?t.origins.length===0?(0,tS.jsx)(Le,{color:"text.secondary",align:"center",sx:{py:6},children:"No item usage recorded yet."}):(0,tS.jsx)(Nbr,{items:e,data:t}):null]})}function VUe(e,t,r){if(e==null)return;let n=Math.max(0,e-r),i=Math.max(0,t-n)/t;if(!(i<.05))return i}function Wye(e,t){let r=Math.max(0,e-t),n=Math.floor(r/86400),i=Math.floor(r%86400/3600),o=Math.floor(r%3600/60);return n>0?`${n}d ${i}h`:i>0?`${i}h ${o}m`:`${o}m`}function dQn(e,t,r,n){let i=VUe(t,r,n);if(i!=null)return e/i}function n_(e,t,r,n){let i=dQn(e,t,r,n);return i==null?"ok":i>100?"over":i>75?"warn":"ok"}var hQn=["five_hour","seven_day"],pQn=["claude","codex","pi"];function Bbr(e){let[t,r]=e.includes(":")?e.split(":",2):["claude",e],n=pQn.find(o=>o===t),i=hQn.find(o=>o===r);if(!(!n||!i)&&!(n==="claude"&&e.includes(":")))return{harness:n,window:i}}var Fbr={five_hour:{label:"5h",seconds:18e3},seven_day:{label:"7d",seconds:604800,tint:{light:"rgba(0, 0, 0, 0.1)",dark:"rgba(255, 255, 255, 0.1)"}}};function PF(e){let t=Bbr(e);if(!t)return Fbr.five_hour;let r=Fbr[t.window];return t.harness==="claude"?r:{...r,label:`${Mu(t.harness)} ${r.label}`}}var mQn={ok:"success.main",warn:"warning.main",over:"error.main"};function $br(e){return mQn[e]}var XK=E($(),1),gQn={ok:"success",warn:"warning",over:"error"};function zbr({percentage:e,level:t}){return(0,XK.jsxs)(ie,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,XK.jsx)(y5,{variant:"determinate",value:Math.min(100,e),color:gQn[t],sx:{flexGrow:1,height:8,borderRadius:1}}),(0,XK.jsxs)(ie,{sx:{minWidth:40,textAlign:"right",color:$br(t)},children:[Math.round(e),"%"]})]})}function Hbr(e){return e.avgContextPct==null?"\u2014":`${Math.round(e.avgContextPct)}%`}var yQn=new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"});function qUe(e){return yQn.format(e)}var Gye=E($(),1);function Ubr({peak:e}){return(0,Gye.jsx)(Rn,{align:"right",sx:{whiteSpace:"nowrap"},children:(0,Gye.jsx)(lr,{title:`Cycle started ${qUe(new Date(e.createdAt))}`,children:(0,Gye.jsx)("span",{children:qUe(new Date(e.resetsAt*1e3))})})})}var Gbr=E($(),1);function Wbr(){return(0,Gbr.jsx)(rn,{label:"reset",size:"small",color:"warning",variant:"outlined",title:"Quota reset mid-cycle \u2014 this is the peak reached before the reset.",sx:{ml:1}})}function Vbr(e){return!e.tokensUp&&!e.tokensDown?"\u2014":`\u2191 ${lh(e.tokensUp)} \u2193 ${lh(e.tokensDown)}`}var A0=E($(),1);function qbr({peak:e,now:t}){let{label:r,seconds:n,tint:i}=PF(e.window),o=n_(e.usedPercentage,e.resetsAt,n,t);return(0,A0.jsxs)(df,{sx:a=>({backgroundColor:i?a.palette.mode==="dark"?i.dark:i.light:void 0}),children:[(0,A0.jsxs)(Rn,{children:[r,e.resetDetected&&(0,A0.jsx)(Wbr,{})]}),(0,A0.jsx)(Rn,{sx:{minWidth:160},children:(0,A0.jsx)(zbr,{percentage:e.usedPercentage,level:o})}),(0,A0.jsx)(Rn,{align:"right",sx:{whiteSpace:"nowrap"},children:Hbr(e)}),(0,A0.jsx)(Rn,{align:"right",sx:{whiteSpace:"nowrap"},children:e.phaseCount??0}),(0,A0.jsx)(Rn,{align:"right",sx:{whiteSpace:"nowrap"},children:Vbr(e)}),(0,A0.jsx)(Ubr,{peak:e})]})}var Vye=E(de(),1);function i_(e){let[t,r]=(0,Vye.useState)(()=>Math.floor(Date.now()/1e3));return(0,Vye.useEffect)(()=>{let n=setInterval(()=>r(Math.floor(Date.now()/1e3)),e);return()=>clearInterval(n)},[e]),t}var kc=E($(),1);function jbr({peaks:e}){let t=i_(3e4);return(0,kc.jsx)(v5,{component:tn,children:(0,kc.jsxs)(Jv,{size:"small",children:[(0,kc.jsx)(b5,{sx:{"& th":{whiteSpace:"nowrap"}},children:(0,kc.jsxs)(df,{children:[(0,kc.jsx)(Rn,{children:"Window"}),(0,kc.jsx)(Rn,{children:"Peak usage"}),(0,kc.jsx)(Rn,{align:"right",children:(0,kc.jsx)(lr,{title:"Mean context-window usage across all readings in this rate-limit cycle \u2014 distinct from the Peak usage quota above.",children:(0,kc.jsx)("span",{children:"Avg context"})})}),(0,kc.jsx)(Rn,{align:"right",children:(0,kc.jsx)(lr,{title:"Number of phase readings behind the average.",children:(0,kc.jsx)("span",{children:"Phases"})})}),(0,kc.jsx)(Rn,{align:"right",children:"Tokens spent"}),(0,kc.jsx)(Rn,{align:"right",children:"Cycle reset"})]})}),(0,kc.jsx)(eb,{children:e.map(r=>(0,kc.jsx)(qbr,{peak:r,now:t},`${r.window}-${r.resetsAt}-${r.segment}`))})]})})}var o_=E($(),1);function Ybr({rows:e,total:t,page:r,pageSize:n,onPageChange:i}){let{ref:o,height:a}=Oye(e.length,n);return(0,o_.jsxs)(o_.Fragment,{children:[(0,o_.jsx)(ie,{ref:o,sx:{minHeight:a},children:(0,o_.jsx)(jbr,{peaks:e})}),(0,o_.jsx)(Oz,{component:"div",count:t,page:r,rowsPerPage:n,rowsPerPageOptions:[n],onPageChange:(s,l)=>i(l)})]})}var ZK=E(de(),1);function a_(){let[e,t]=(0,ZK.useState)(!1),[r,n]=(0,ZK.useState)(!1);return(0,ZK.useEffect)(()=>{let i=!1;return(async()=>{try{let a=await(await fetch("/api/harness")).json();i||(t(!!a?.exposeCodexActions),n(!!a?.exposePiActions))}catch{t(!1),n(!1)}})(),()=>{i=!0}},[]),{exposeCodexActions:e,exposePiActions:r}}var jUe=E($(),1),Kbr=["five_hour","seven_day"],vQn=["codex:five_hour","codex:seven_day"];function bQn(e){let t=e?[...Kbr,...vQn]:Kbr;return[{value:"all",label:"All"},...t.map(r=>({value:r,label:PF(r).label}))]}function Xbr({window:e,onChange:t}){let{exposeCodexActions:r}=a_();return(0,jUe.jsx)(Ru,{size:"small",exclusive:!0,value:e,onChange:(n,i)=>i&&t(i),"aria-label":"Filter peaks by rate-limit window",children:bQn(r).map(n=>(0,jUe.jsx)(bs,{value:n.value,children:n.label},n.value))})}var bv=E($(),1);function Zbr({history:e}){let{window:t,total:r}=e;return(0,bv.jsxs)(bv.Fragment,{children:[(0,bv.jsx)(Xbr,{window:t,onChange:e.selectWindow}),(0,bv.jsx)(ie,{sx:{height:4,my:1},children:e.fetching&&(0,bv.jsx)(y5,{})}),r===0?(0,bv.jsx)(Le,{color:"text.secondary",align:"center",sx:{py:6},children:t==="all"?"No usage peaks recorded yet.":`No ${PF(t).label} usage peaks recorded yet.`}):(0,bv.jsx)(Ybr,{rows:e.rows,total:r,page:e.page,pageSize:e.pageSize,onPageChange:e.setPage})]})}var jye=E(de(),1);async function Qbr(e,t,r){let n=new URLSearchParams({page:String(e),pageSize:String(t)});r!=="all"&&n.set("window",r);let i=await fetch(`/api/usage/history?${n}`);if(!i.ok)throw new Error(`Failed to load usage history (HTTP ${i.status}).`);return i.json()}var s_=E(de(),1);function qye(e,t,r=!0){let[n,i]=(0,s_.useState)(0),[o,a]=(0,s_.useState)(null),[s,l]=(0,s_.useState)(!1),[u,f]=(0,s_.useState)(null);(0,s_.useEffect)(()=>{if(!r)return;let p=!1;return l(!0),e(n,t).then(m=>{p||(a(m),l(!1))},m=>{p||(f(m instanceof Error?m:new Error(String(m))),l(!1))}),()=>{p=!0}},[e,n,t,r]);let d=o?.total??0;(0,s_.useEffect)(()=>{if(d===0)return;let p=Math.ceil(d/t)-1;n>p&&i(p)},[n,t,d]);let h=o?.rows??[];return{data:o,rows:h,total:d,loaded:o!==null,fetching:s,error:u,page:n,setPage:i,pageSize:t}}var xQn=30;function Jbr(){let[e,t]=(0,jye.useState)("all"),r=(0,jye.useCallback)((o,a)=>Qbr(o,a,e),[e]),n=qye(r,xQn);return{...n,window:e,selectWindow:o=>{t(o),n.setPage(0)}}}var LF=E(de(),1);function exr(e,t){return e.field!==t?{field:t,direction:"desc"}:{field:t,direction:e.direction==="desc"?"asc":"desc"}}var SQn=30;function txr(e){let[t,r]=(0,LF.useState)(WK),[n,i]=(0,LF.useState)(GK),[o,a]=(0,LF.useState)(UK),s=(0,LF.useCallback)((h,p)=>pbr(h,p,{origin:t,status:n,sort:o}),[t,n,o]),l=qye(s,SQn,e);return{...l,origin:t,selectOrigin:h=>{r(h),l.setPage(0)},status:n,selectStatus:h=>{i(h),l.setPage(0)},sort:o,sortBy:h=>{a(p=>exr(p,h)),l.setPage(0)}}}var l_=E($(),1),TQn={borderBottom:1,borderColor:"divider",mb:2};function nxr(){let[e,t]=(0,rxr.useState)("limits"),r=Jbr(),n=txr(e==="items");if(r.error)throw r.error;if(n.error)throw n.error;return(0,l_.jsxs)(Yl,{loading:!r.loaded,title:"Usage history",maxWidth:"lg",children:[(0,l_.jsxs)(S5,{value:e,onChange:(i,o)=>t(o),textColor:"inherit",indicatorColor:"secondary",sx:TQn,"aria-label":"Usage history views",children:[(0,l_.jsx)(Qv,{label:"Rate limits",value:"limits"}),(0,l_.jsx)(Qv,{label:"Items",value:"items"})]}),e==="limits"?(0,l_.jsx)(Zbr,{history:r}):(0,l_.jsx)(Obr,{items:n})]})}var Yye=E(de(),1),YUe=(0,Yye.createContext)([]);function Kye(){return(0,Yye.useContext)(YUe)}var g2r=E(de(),1);function Pa(){let{selectedCwd:e}=Fn();return e||void 0}var rS=E(de(),1);var oxr=E(de(),1);var CQn=new Set(["todo","done","all"]);function ixr(e){return e&&CQn.has(e)?e:"todo"}var axr="backlog-filter",KUe=new Set,sxr=wQn();function wQn(){try{return ixr(localStorage.getItem(axr))}catch{return"todo"}}function kQn(e){return KUe.add(e),()=>KUe.delete(e)}function _Qn(){return sxr}function EQn(e){sxr=e;try{localStorage.setItem(axr,e)}catch{}for(let t of KUe)t()}function MF(){return[(0,oxr.useSyncExternalStore)(kQn,_Qn),EQn]}function lxr(){let e=Pa(),t=yr(),[r]=MF(),[n,i]=(0,rS.useState)(""),[o,a]=(0,rS.useState)(null),[s,l]=(0,rS.useState)(!1),[u,f]=(0,rS.useState)(e),d=(0,rS.useRef)(void 0);return e!==u&&(f(e),a(null),l(n.trim().length>0)),(0,rS.useEffect)(()=>{if(d.current!==void 0&&clearTimeout(d.current),!n.trim()){a(null),l(!1);return}let h=new AbortController,{signal:p}=h;return l(!0),d.current=setTimeout(async()=>{try{let m=await gT({query:n,cwd:e,node:t,signal:p,filter:r});if(p.aborted)return;a(m),l(!1)}catch(m){if(!p.aborted)throw m}},250),()=>{d.current!==void 0&&clearTimeout(d.current),h.abort()}},[n,e,t,r]),{query:n,setQuery:i,results:o,loading:s}}var dxr={position:"relative",display:"grid",gridTemplateColumns:"auto minmax(0, 1fr) auto",alignItems:"center",columnGap:1.5,width:"100%",p:2,mb:1,borderRadius:2,border:1,borderColor:"divider",bgcolor:"background.paper",transition:"box-shadow 0.2s","&:hover":{boxShadow:3}},RQn={"&::after":{content:'""',position:"absolute",inset:0,borderRadius:2,zIndex:1},"&:focus-visible":{outline:"none"},"&:focus-visible::after":{outline:"2px solid",outlineColor:"primary.main",outlineOffset:"2px"}},cxr={position:"relative",zIndex:2},uxr=8,XUe=24,AQn=ho`
4014
4014
  from { background-position: 0 0; }
4015
4015
  to { background-position: 0 ${XUe}px; }
4016
- `,hxr={...dxr,borderColor:"warning.main",borderLeft:4,borderLeftColor:"warning.main",bgcolor:e=>po(e.palette.warning.main,.08)},PQn={...hxr,borderLeftColor:"transparent",backgroundImage:e=>`repeating-linear-gradient(to bottom, ${e.palette.warning.main} 0 ${uxr}px, transparent ${uxr}px ${XUe}px)`,backgroundOrigin:"border-box",backgroundRepeat:"repeat-y",backgroundSize:`4px ${XUe}px`,animation:`${AQn} 0.9s linear infinite`,"@media (prefers-reduced-motion: reduce)":{animation:"none"}},fxr={"& .MuiButtonBase-root:focus-visible":{outline:"2px solid",outlineColor:"primary.main",outlineOffset:"2px"}},xv={card:dxr,inProgressCard:hxr,inProgressRunningCard:PQn,main:{minWidth:0,textAlign:"left"},stretchedNameLink:{display:"block",fontWeight:500,color:"text.primary",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",...RQn},meta:{display:"flex",alignItems:"center",gap:1,...cxr,width:"fit-content",maxWidth:"100%",fontSize:"0.75rem",color:"text.secondary","& a, & p":{fontSize:"0.75rem"},...fxr},id:{color:"text.disabled"},actions:{display:"flex",alignItems:"center",gap:1,flexShrink:0,...cxr,...fxr}};function Xye(e){let t=e.peakContextPct>0?` \xB7 \u2593 ${Math.round(e.peakContextPct)}%`:"";return`\u2191 ${lh(e.tokensUp)} \u2193 ${lh(e.tokensDown)} \xB7 \u23F1 ${E0(e.activeMs)}${t}`}var mxr=E($(),1),LQn={width:6,height:6,borderRadius:"50%",bgcolor:"currentColor",flexShrink:0};function pxr(){return(0,mxr.jsx)(ie,{component:"span",sx:LQn})}var QK=E($(),1),gxr={display:"inline-flex",alignItems:"center",gap:.625,color:"warning.main",fontWeight:500,fontSize:"0.75rem",whiteSpace:"nowrap",borderRadius:1};function yxr({item:e,openSession:t,onSelectSession:r}){let n=Ni();if(e.status!=="in-progress"||e.currentPhase==null)return null;let i=`phase ${e.currentPhase} of ${e.totalPhases??e.currentPhase}`,o=(0,QK.jsx)(pxr,{});if(!t)return(0,QK.jsxs)(ie,{component:"span",sx:gxr,children:[o,i]});let a=()=>{r?.(t.id),n("/sessions")};return(0,QK.jsxs)(pn,{sx:gxr,title:`Open the ${t.status} session`,onClick:a,children:[o,i]})}var wp=E($(),1),MQn={display:"inline-flex",alignItems:"center",gap:.5},IQn={width:8,height:8,borderRadius:"50%",flexShrink:0},DQn={whiteSpace:"nowrap"};function NQn({type:e}){let t=Hye[e];return(0,wp.jsxs)(ie,{component:"span",sx:MQn,children:[(0,wp.jsx)(ie,{component:"span",sx:{...IQn,bgcolor:`${t}.main`}}),e]})}function OQn({item:e}){return e.usageTotal?(0,wp.jsx)(lr,{title:Xye(e.usageTotal),children:(0,wp.jsx)(ie,{component:"span",sx:DQn,children:`\u23F1 ${E0(e.usageTotal.activeMs)}`})}):null}function vxr({item:e,openSession:t,onSelectSession:r}){return(0,wp.jsxs)(ie,{sx:xv.meta,children:[(0,wp.jsx)(ie,{component:"span",sx:xv.id,children:oo(e.id)}),(0,wp.jsx)(NQn,{type:e.type}),(0,wp.jsx)(yxr,{item:e,openSession:t,onSelectSession:r}),(0,wp.jsx)(mL,{jiraKey:e.jiraKey}),(0,wp.jsx)(pT,{githubIssue:e.githubIssue,variant:"icon"}),(0,wp.jsx)(OQn,{item:e})]})}function bxr(e,t){return e.filter(r=>TB(r)?.itemId===t).reduce((r,n)=>r&&r.startedAt>=n.startedAt?r:n,void 0)}var Sxr=E($(),1),BQn={todo:"\u25CB","in-progress":"\u25D4",done:"\u25CF",wontdo:"\u2715"},FQn={todo:"text.disabled","in-progress":"warning.main",done:"success.main",wontdo:"error.main"};function $Qn(e){return{fontSize:"1.125rem",flexShrink:0,color:FQn[e]}}function xxr({status:e}){return(0,Sxr.jsx)(Le,{sx:$Qn(e),children:BQn[e]})}function Zye(e){return e.status==="todo"||e.status==="in-progress"}function zQn(e){if(e.status==="done")return e.totalPhases;if(e.status==="in-progress")return e.currentPhase}function HQn(e,t,r){return r?"complete":e<t?"done":e===t?"current":"remaining"}function Txr(e){let t=e.totalPhases,r=zQn(e);if(!t||r==null)return;let n=e.status==="done";return{reached:r,total:t,segments:Array.from({length:t},(i,o)=>({phase:o+1,kind:HQn(o+1,r,n)}))}}var IF=E($(),1),UQn={done:"text.secondary",current:"warning.main",remaining:"divider",complete:"success.main"},WQn={display:"inline-flex",alignItems:"center",gap:.5,flexShrink:0},GQn={fontSize:"0.6875rem",color:"text.secondary",fontVariantNumeric:"tabular-nums"},VQn={display:"inline-flex",alignItems:"center",gap:"2px"},qQn={width:6,height:12,borderRadius:"1px",flexShrink:0};function Cxr({item:e}){let t=Txr(e);return t?(0,IF.jsxs)(ie,{sx:WQn,title:`Phase ${t.reached} of ${t.total}`,children:[(0,IF.jsx)(ie,{component:"span",sx:GQn,children:`${t.reached}/${t.total}`}),(0,IF.jsx)(ie,{component:"span",sx:VQn,"aria-hidden":!0,children:t.segments.map(r=>(0,IF.jsx)(ie,{component:"span","data-segment":r.kind,sx:{...qQn,bgcolor:UQn[r.kind]}},r.phase))})]}):null}var Zxr=E(de(),1);var t1e=E(de(),1);var bA=E($(),1),jQn={minWidth:0,p:.5,borderRadius:"50%"};function Qye({tooltip:e,disabled:t,onClick:r,compact:n=!1}){return(0,bA.jsx)(lr,{title:e,children:(0,bA.jsx)(ie,{component:"span",sx:{display:"flex"},children:n?(0,bA.jsx)(Dt,{"aria-label":"Build",variant:"contained",color:"success",size:"small",disabled:t,sx:jQn,onClick:r,children:(0,bA.jsx)(Eg,{fontSize:"small"})}):(0,bA.jsx)(Dt,{startIcon:(0,bA.jsx)(Eg,{}),disabled:t,onClick:r,children:"Build"})})})}var ZUe=E($(),1);function Jye(e){let t=[];return e.exposeCodexActions&&t.push({kind:"codex",label:"with Codex"}),e.exposePiActions&&t.push({kind:"pi",label:"with pi"}),t}function e1e({anchorEl:e,open:t,onClose:r,options:n,onSelect:i,stop:o}){return(0,ZUe.jsx)(Os,{anchorEl:e,open:t,onClose:r,onClick:o,children:n.map(a=>(0,ZUe.jsx)(ln,{onClick:s=>{o(s),i(a.kind)},children:a.label},a.kind))})}var Sv=E($(),1);function wxr({tooltip:e,disabled:t,onBuild:r,onSelectHarness:n}){let i=Jye(a_()),o=(0,t1e.useRef)(null),[a,s]=(0,t1e.useState)(!1),l=u=>u.stopPropagation();return(0,Sv.jsxs)(Sv.Fragment,{children:[(0,Sv.jsxs)(RS,{ref:o,variant:"contained",color:"success",size:"small",disabled:t,children:[(0,Sv.jsx)(Qye,{tooltip:e,disabled:t,onClick:u=>{l(u),r()}}),i.length>0&&(0,Sv.jsx)(Dt,{"aria-label":"Build with a different harness",onClick:u=>{l(u),s(!0)},children:(0,Sv.jsx)(bd,{})})]}),(0,Sv.jsx)(e1e,{anchorEl:o.current,open:a,onClose:()=>s(!1),options:i,onSelect:u=>{s(!1),n(u)},stop:l})]})}var kxr=E($(),1),DF=st((0,kxr.jsx)("path",{d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M19 18H6c-2.21 0-4-1.79-4-4 0-2.05 1.53-3.76 3.56-3.97l1.07-.11.5-.95C8.08 7.14 9.94 6 12 6c2.62 0 4.88 1.86 5.39 4.43l.3 1.5 1.53.11c1.56.1 2.78 1.41 2.78 2.96 0 1.65-1.35 3-3 3m-5.55-8h-2.9v3H8l4 4 4-4h-2.55z"}),"CloudDownloadOutlined");var c_=E($(),1),YQn={vertical:"bottom",horizontal:"center"};function r1e({clone:e}){let{prompt:t,confirm:r,cancel:n,error:i,dismissError:o}=e;return(0,c_.jsxs)(c_.Fragment,{children:[t&&(0,c_.jsx)(yi,{title:"Clone repository",message:`Clone ${t.displayName} over SSH into ${t.cloneTarget}${t.node?` on ${t.node}`:""}?`,confirmLabel:"Clone",confirmColor:"primary",onConfirm:r,onCancel:n}),(0,c_.jsx)(pl,{open:!!i,autoHideDuration:8e3,onClose:o,anchorOrigin:YQn,children:(0,c_.jsx)(gi,{severity:"error",onClose:o,variant:"filled",children:i})})]})}var P0=E(de(),1);function QUe(e){return["backlog","clone",e]}function n1e(e,t){t(QUe(e.origin),void 0,{title:`Clone ${e.displayName}`,subtitle:e.origin,...e.node&&{node:e.node}})}function _xr(e,t){return!!e&&e.length===t.length&&e.every((r,n)=>r===t[n])}function Exr(e,t,r){let n=QUe(t.origin),i=new Set(e.filter(o=>_xr(o.assistArgs,n)).map(o=>o.id));return n1e(t,r),{args:n,target:t.cloneTarget,node:t.node,preexisting:i}}function Rxr(e,t){if(!t.id){let n=e.find(i=>_xr(i.assistArgs,t.args)&&!t.preexisting.has(i.id));return n?{type:"latch",id:n.id}:null}let r=e.find(n=>n.id===t.id);return r?r.status==="done"?{type:"done"}:r.status==="error"?{type:"error",message:r.error||"Clone failed."}:null:null}function i1e(e){let{setSelectedCwd:t}=Fn(),{launchAssist:r}=il(),[n,i]=(0,P0.useState)(null),[o,a]=(0,P0.useState)(null),[s,l]=(0,P0.useState)(null),u=(0,P0.useCallback)(p=>{l(null),i(p)},[]),f=(0,P0.useCallback)(()=>i(null),[]),d=(0,P0.useCallback)(()=>l(null),[]),h=(0,P0.useCallback)(()=>{n&&(a(Exr(e,n,r)),i(null))},[n,e,r]);return(0,P0.useEffect)(()=>{if(!o)return;let p=Rxr(e,o);p&&(p.type==="latch"?a(m=>m&&{...m,id:p.id}):p.type==="done"?(o.node?t(o.target,o.node):t(o.target),a(null)):(l(p.message),a(null)))},[e,o,t]),{prompt:n,requestClone:u,confirm:h,cancel:f,error:s,dismissError:d}}function NF(e,t){return`Not cloned ${e?`on ${e}`:"locally"} \u2014 click to clone into ${t}`}var nS=E($(),1),KQn={border:1,borderStyle:"dashed"};function Axr({target:e}){let t=i1e(Kye());return(0,nS.jsxs)(nS.Fragment,{children:[(0,nS.jsx)(lr,{title:NF(e.node,e.cloneTarget),children:(0,nS.jsx)(ir,{"aria-label":"Clone",size:"small",sx:KQn,onClick:r=>{r.stopPropagation(),t.requestClone(e)},children:(0,nS.jsx)(DF,{fontSize:"small"})})}),(0,nS.jsx)(r1e,{clone:t})]})}var rX=E(de(),1);var JK=E(de(),1);function Pxr(e,t,r,n){let i=Pa(),o=yr(),a=(0,JK.useRef)(!1),[s,l]=(0,JK.useState)(!1),[u,f]=(0,JK.useState)(null);return{busy:s,error:u,clearError:()=>f(null),confirm:async()=>{if(!a.current){a.current=!0,l(!0);try{await wL(e,t,i,o)}catch{f(r),a.current=!1,l(!1);return}await n()}}}}var eX=E($(),1),XQn={done:{verb:"done",action:"Mark done"},wontdo:{verb:"won't do",action:"Won't do"}};function Lxr({itemId:e,status:t,target:r,onClose:n}){let{verb:i,action:o}=XQn[t],a=oo(e),{busy:s,error:l,clearError:u,confirm:f}=Pxr(e,t,`Failed to mark item ${a} as ${i}`,async()=>{n(),await r.onClosed()});return(0,eX.jsxs)(ia,{children:[(0,eX.jsx)(yi,{title:`Mark ${a} ${i}`,message:`${r.currentPhase??0} of ${r.totalPhases??0} phases completed. Mark this backlog item as ${i}?`,confirmLabel:o,busy:s,onConfirm:f,onCancel:n}),(0,eX.jsx)(Xl,{error:l,onClose:u})]})}var OF=E($(),1),ZQn=[{status:"done",label:"Mark done"},{status:"wontdo",label:"Won't do"}];function Mxr({anchorEl:e,open:t,onClose:r,onRefine:n,onSelect:i,stop:o}){return(0,OF.jsxs)(Os,{anchorEl:e,open:t,onClose:r,onClick:o,children:[(0,OF.jsx)(ln,{onClick:a=>{o(a),n()},children:"Refine"}),(0,OF.jsx)(Ti,{}),ZQn.map(({status:a,label:s})=>(0,OF.jsx)(ln,{onClick:l=>{o(l),i(a)},children:s},a))]})}var Ixr=E($(),1),Dxr=st((0,Ixr.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert");var JUe=E($(),1);function Nxr({anchorRef:e,onClick:t}){return(0,JUe.jsx)(ir,{ref:e,"aria-label":"More actions",size:"small",onClick:t,children:(0,JUe.jsx)(Dxr,{fontSize:"small"})})}var tX=E($(),1);function Oxr({anchorRef:e,tooltip:t,disabled:r,onBuild:n,onMore:i}){return(0,tX.jsxs)(ie,{sx:{display:"flex",alignItems:"center",gap:.5},children:[(0,tX.jsx)(Qye,{compact:!0,tooltip:t,disabled:r,onClick:n}),(0,tX.jsx)(Nxr,{anchorRef:e,onClick:i})]})}var Bxr=E(de(),1);function o1e(e){let{launchAssist:t}=il(),r=Ni(),n=Pa(),i=yr(),[o,a]=(0,Bxr.useState)(!1);return{launched:o,launch:l=>{if(o)return;a(!0);let u=i?[{node:i}]:[];t(["refine","--once",...l,oo(e)],n,...u),r("/sessions")}}}var u_=E($(),1);function Fxr({itemId:e,tooltip:t,disabled:r,onBuild:n,closeTarget:i}){let o=(0,rX.useRef)(null),[a,s]=(0,rX.useState)(!1),[l,u]=(0,rX.useState)(null),f=o1e(e),d=h=>h.stopPropagation();return(0,u_.jsxs)(u_.Fragment,{children:[(0,u_.jsx)(Oxr,{anchorRef:o,tooltip:t,disabled:r,onBuild:h=>{d(h),n()},onMore:h=>{d(h),s(!0)}}),(0,u_.jsx)(Mxr,{anchorEl:o.current,open:a,onClose:()=>s(!1),onRefine:()=>{s(!1),f.launch([])},onSelect:h=>{s(!1),u(h)},stop:d}),l&&(0,u_.jsx)(Lxr,{itemId:e,status:l,target:i,onClose:()=>u(null)})]})}var a1e=E(de(),1),eWe=(0,a1e.createContext)(()=>{});function $xr(){return(0,a1e.useContext)(eWe)}var s1e=E($(),1);function zxr({session:e}){let t=vy($xr());return(0,s1e.jsxs)(Dt,{variant:"contained",size:"small",startIcon:(0,s1e.jsx)(Hme,{}),onClick:r=>{r.stopPropagation(),t(e.id)},children:["Session ",e.id]})}function Hxr(e,t,r,n){let i=r.node?[{node:r.node}]:[];e(["backlog","run",oo(t),...n],r.cwd,...i)}function QQn(e,t){let r=e.assistArgs;if(r?.[0]!=="backlog"||r[1]!=="run"||!r[2])return!1;try{return cte(r[2])===t}catch{return!1}}function Uxr(e,t){return e.find(r=>r.status!=="done"&&r.status!=="error"&&(QQn(r,t)||TB(r)?.itemId===t))}var l1e=E(de(),1),tWe=(0,l1e.createContext)({nodes:null,names:[],visible:!1,selected:void 0,select:()=>{}});function _c(){return(0,l1e.useContext)(tWe)}function c1e(){let{nodes:e,selected:t}=_c();return t&&t!==e?.local?t:void 0}var Vxr=E(de(),1);var u1e=E(de(),1);function Wxr(e,t){return Promise.all(t.map(async r=>{let n=await JQn(e,r).catch(()=>({}));return[r,n]}))}async function JQn(e,t){let r=await fetch(qr(`/api/repo-location?origin=${encodeURIComponent(e)}`,t||void 0));return r.ok?r.json():{}}var rWe="\0";function Gxr(e,t){let[r,n]=(0,u1e.useState)(null);return(0,u1e.useEffect)(()=>{if(!e||!t)return;let i=!1;return Wxr(e,t.split(rWe)).then(o=>{i||n({origin:e,byNode:Object.fromEntries(o)})}),()=>{i=!0}},[e,t]),r}function f1e(e,t){let{cloneOn:r,originOf:n}=Fn(),i=e?n(e):void 0,o=t.filter(s=>!e||!r(e,s)).map(s=>s??"").join(rWe),a=Gxr(i,o);return(0,Vxr.useCallback)(s=>{let l=e?r(e,s):void 0;if(l)return{kind:"cloned",cwd:l};let u=a&&a.origin===i?a.byNode[s??""]:void 0;return u?.cwd?{kind:"cloned",cwd:u.cwd}:i&&u?.cloneTarget?{kind:"clonable",origin:i,cloneTarget:u.cloneTarget}:{kind:"unavailable"}},[e,r,i,a])}var BF=E(de(),1);var d1e=E(de(),1);function h1e(e){let t=(0,d1e.useRef)(null);return(0,d1e.useEffect)(()=>{e&&t.current?.scrollIntoView({block:"nearest"})},[e]),t}var jxr=E($(),1);function qxr({cwd:e,selected:t,highlighted:r,onHover:n,onSelect:i}){let o=h1e(r);return(0,jxr.jsx)(ln,{ref:o,selected:t,title:e,onClick:i,onMouseEnter:n,sx:{fontSize:12,display:"flex",justifyContent:"space-between",gap:1,...r&&{bgcolor:"action.hover"}},children:Tv(e)})}var nWe=E($(),1);function p1e({repos:e,selected:t,highlight:r,onHighlight:n,onSelect:i}){return(0,nWe.jsx)(zp,{dense:!0,children:e.map((o,a)=>(0,nWe.jsx)(qxr,{cwd:o,selected:o===t,highlighted:a===r,onHover:()=>n(a),onSelect:()=>i(o)},o))})}var m1e=E(de(),1);function f_(e,t,r,n){let[i,o]=(0,m1e.useState)(0);return(0,m1e.useEffect)(()=>{o(0)},[t]),{highlight:i,setHighlight:o,onKeyDown:s=>{let l=e.length;if(s.key==="ArrowDown")s.preventDefault(),l>0&&o(u=>(u+1)%l);else if(s.key==="ArrowUp")s.preventDefault(),l>0&&o(u=>(u-1+l)%l);else if(s.key==="Enter"){s.preventDefault();let u=e[i];u!==void 0&&(r(u),n())}else s.key==="Escape"&&(s.preventDefault(),n())}}}var nX=E($(),1);function Tv(e){let t=e.includes("\\")?"\\":"/";return e.split(t).filter(Boolean).pop()??e}var eJn={...kB};function Yxr({repos:e,selected:t,onSelect:r,close:n,initialFilter:i=""}){let[o,a]=(0,BF.useState)(i),s=(0,BF.useRef)(null);(0,BF.useEffect)(()=>{s.current?.focus()},[]);let l=o.trim().toLowerCase(),u=l?e.filter(m=>m.toLowerCase().includes(l)):e,{highlight:f,setHighlight:d,onKeyDown:h}=f_(u,l,r,n);return(0,nX.jsxs)(tn,{elevation:4,sx:eJn,children:[(0,nX.jsx)(hT,{inputRef:s,value:o,onChange:a,onKeyDown:h,placeholder:"Filter repos..."}),(0,nX.jsx)(p1e,{repos:u,selected:t,highlight:f,onHighlight:d,onSelect:m=>{r(m),n()}})]})}function g1e(e,t){return{origin:e.origin,cloneTarget:e.cloneTarget,displayName:Tv(e.origin),node:t}}function Kxr(){let e=Pa(),t=c1e(),r=f1e(e??"",[t])(t);return e?r.kind==="cloned"?{kind:"ready",cwd:r.cwd,node:t}:r.kind==="clonable"?{kind:"clone",prompt:g1e(r,t)}:{kind:"unavailable",node:t??"this machine"}:{kind:"ready",node:t}}function Xxr(e){return e?`Not cloned on ${e}`:"Build"}var iX=E($(),1);function y1e({itemId:e,compact:t}){let{launchAssist:r}=il(),n=Kxr(),i=Uxr(Kye(),e),[o,a]=(0,Zxr.useState)(!1);if(n.kind==="clone")return(0,iX.jsx)(Axr,{target:n.prompt});if(i)return(0,iX.jsx)(zxr,{session:i});let s=n.kind==="unavailable"?n.node:void 0,l=o||!!s,u=d=>{l||n.kind!=="ready"||(a(!0),Hxr(r,e,n,d))},f=Xxr(s);return t?(0,iX.jsx)(Fxr,{itemId:e,tooltip:f,disabled:l,onBuild:()=>u([]),closeTarget:t}):(0,iX.jsx)(wxr,{tooltip:f,disabled:l,onBuild:()=>u([]),onSelectHarness:d=>u(["--harness",d])})}var Qxr=E(de(),1);var FF=E($(),1);function Jxr({itemId:e,starred:t,onToggled:r}){let n=Pa(),i=yr(),[o,a]=(0,Qxr.useState)(!1);return(0,FF.jsx)(lr,{title:t?"Unstar":"Star",children:(0,FF.jsx)("span",{children:(0,FF.jsx)(ir,{"aria-label":t?"Unstar":"Star","aria-pressed":t,color:t?"warning":"default",size:"small",disabled:o,onClick:async l=>{if(l.stopPropagation(),!o){a(!0);try{await Ete(e,!t,n,i),await r()}finally{a(!1)}}},children:t?(0,FF.jsx)(Tge,{}):(0,FF.jsx)(Cge,{})})})})}var d_=E($(),1);function e2r({item:e,onReload:t}){return(0,d_.jsxs)(d_.Fragment,{children:[(0,d_.jsx)(Cxr,{item:e}),(0,d_.jsx)(Jxr,{itemId:e.id,starred:e.starred,onToggled:t}),Zye(e)&&(0,d_.jsx)(y1e,{itemId:e.id,compact:{currentPhase:e.currentPhase,totalPhases:e.totalPhases,onClosed:t}})]})}var iS=E($(),1);function tJn(e,t){return e?t?xv.inProgressRunningCard:xv.inProgressCard:xv.card}function t2r({item:e,to:t,socket:r,onReload:n}){let i=bxr(r.sessions,e.id),o=e.status==="in-progress",a=o&&i?.status==="running";return(0,iS.jsxs)(ie,{sx:tJn(o,a),children:[(0,iS.jsx)(xxr,{status:e.status}),(0,iS.jsxs)(ie,{sx:xv.main,children:[(0,iS.jsx)(Kr,{component:Cs,to:t,underline:"none",title:e.name,sx:xv.stretchedNameLink,children:e.name}),(0,iS.jsx)(vxr,{item:e,openSession:i,onSelectSession:r.selectSession})]}),(0,iS.jsx)(ie,{sx:xv.actions,children:(0,iS.jsx)(e2r,{item:e,onReload:n})})]})}var n2r=E($(),1),rJn={all:"items",story:"stories",bug:"bugs"},nJn={textAlign:"center",color:"text.disabled",py:6,px:2};function r2r({query:e,typeFilter:t}){let r=rJn[t],n=e.trim()?`No ${r} match your search.`:`No ${r} in the backlog.`;return(0,n2r.jsx)(ie,{sx:nJn,children:n})}var Cv=E($(),1),iJn={display:"flex",justifyContent:"center",py:6};function i2r({loading:e,error:t,query:r,typeFilter:n,items:i,socket:o,itemPath:a,onReload:s}){if(e)return(0,Cv.jsx)(ie,{sx:iJn,children:(0,Cv.jsx)(io,{})});let l=t&&(0,Cv.jsx)(gi,{severity:"error",children:t});return i.length===0?l||(0,Cv.jsx)(r2r,{query:r,typeFilter:n}):(0,Cv.jsxs)(Cv.Fragment,{children:[l,i.map(u=>(0,Cv.jsx)(t2r,{item:u,to:a(u),socket:o,onReload:s},u.id))]})}var $F=E(de(),1);function oJn(e){let t=new URLSearchParams;for(let n of e)t.append("knownCwd",n);let r=t.toString();return r?`/api/backlog/summary?${r}`:"/api/backlog/summary"}async function o2r({cwd:e,node:t,knownCwds:r,signal:n}){return(await fetch(Wc(oJn(r),e,t),{signal:n})).json()}function a2r(){let{repos:e,selectedCwd:t,cloneOn:r}=Fn(),n=c1e(),[i,o]=(0,$F.useState)([]),a=(0,$F.useMemo)(()=>e.map(l=>r(l,n)).filter(l=>!!l),[e,r,n]),s=t?r(t,n):void 0;return(0,$F.useEffect)(()=>{let l=new AbortController;return o2r({cwd:s,node:n,knownCwds:a,signal:l.signal}).then(o).catch(()=>{}),()=>l.abort()},[a,s,n]),{summaries:i,node:n}}var v1e=E($(),1),aJn={borderStyle:"dashed"};function s2r({summary:e,node:t,onSelectCwd:r,onRequestClone:n}){let{origin:i,displayName:o,openCount:a,isCurrent:s,cwd:l,cloneTarget:u}=e,f=!l&&!!u,d=l?()=>r(l):f&&u?()=>n({origin:i,cloneTarget:u,displayName:o,node:t}):void 0,h=(0,v1e.jsx)(rn,{label:`${o} (${a})`,size:"small",color:s?"primary":"default",variant:s?"filled":"outlined",disabled:!l&&!f,onClick:d,icon:f?(0,v1e.jsx)(DF,{}):void 0,sx:f?aJn:void 0});return!f||!u?h:(0,v1e.jsx)(lr,{describeChild:!0,title:NF(t,u),children:h})}var oX=E($(),1),sJn={flexWrap:"wrap",gap:1,mb:2};function l2r({sessions:e}){let{summaries:t,node:r}=a2r(),{setSelectedCwd:n}=Fn(),i=i1e(e);return t.length===0?null:(0,oX.jsxs)(Rt,{direction:"row",sx:sJn,children:[t.map(o=>(0,oX.jsx)(s2r,{summary:o,node:r,onSelectCwd:a=>r?n(a,r):n(a),onRequestClone:i.requestClone},o.origin)),(0,oX.jsx)(r1e,{clone:i})]})}var u2r=E($(),1);function c2r({value:e,onChange:t}){return(0,u2r.jsx)(Qn,{"data-backlog-focus":"search",autoFocus:!0,fullWidth:!0,size:"small",placeholder:"Search backlog\u2026",value:e,onChange:r=>t(r.target.value),sx:{mb:2}})}var iWe=E($(),1),b1e=st([(0,iWe.jsx)("path",{d:"M12 5.99 19.53 19H4.47zM12 2 1 21h22z"},"0"),(0,iWe.jsx)("path",{d:"M13 16h-2v2h2zm0-6h-2v5h2z"},"1")],"WarningAmber");var x1e=E(de(),1);var xA=E($(),1);async function lJn(){let[e,t]=await Promise.all([fetch("/api/backups/list"),fetch("/api/backups/status")]),r=await e.json(),{staleAfterMs:n}=await t.json();return{row:r[0]??null,staleAfterMs:n}}function f2r({warn:e,tooltip:t,children:r}){return(0,xA.jsx)(lr,{title:t,children:(0,xA.jsxs)(Kr,{component:Cs,to:"/backups",underline:"hover",color:e?"warning.main":"text.secondary",variant:"body2",sx:e?{display:"inline-flex",alignItems:"center",gap:.5}:void 0,children:[e&&(0,xA.jsx)(b1e,{fontSize:"inherit"}),r]})})}function d2r(){let[e,t]=(0,x1e.useState)();if((0,x1e.useEffect)(()=>{lJn().then(t)},[]),e===void 0)return null;let{row:r,staleAfterMs:n}=e;if(r===null)return(0,xA.jsx)(f2r,{warn:!0,tooltip:"No backup has been recorded",children:"Never backed up"});let i=new Date(r.createdAt).toLocaleString(),o=Date.now()-new Date(r.createdAt).getTime()>n;return(0,xA.jsxs)(f2r,{warn:o,tooltip:o?`Backup overdue \u2014 last backed up ${i}`:i,children:["Last backed up ",_o(String(r.createdAt))]})}var zF=E($(),1);function h2r(){let[e,t]=MF();return(0,zF.jsxs)(Ru,{value:e,exclusive:!0,size:"small","aria-label":"Status filter",onChange:(r,n)=>{n!==null&&t(n)},children:[(0,zF.jsx)(bs,{value:"todo",children:"Todo"}),(0,zF.jsx)(bs,{value:"done",children:"Done"}),(0,zF.jsx)(bs,{value:"all",children:"All"})]})}var HF=E($(),1);function p2r({value:e,onChange:t}){return(0,HF.jsxs)(Ru,{value:e,exclusive:!0,size:"small","aria-label":"Type filter",onChange:(r,n)=>{n!==null&&t(n)},children:[(0,HF.jsx)(bs,{value:"all",children:"All"}),(0,HF.jsx)(bs,{value:"story",children:"Stories"}),(0,HF.jsx)(bs,{value:"bug",children:"Bugs"})]})}var h_=E($(),1),cJn={justifyContent:"space-between",alignItems:"center",mb:3},uJn={fontWeight:600},fJn={alignItems:"center"};function m2r({typeFilter:e,onTypeFilterChange:t}){return(0,h_.jsxs)(Rt,{direction:"row",sx:cJn,children:[(0,h_.jsx)(Le,{variant:"h5",sx:uJn,children:"Backlog"}),(0,h_.jsxs)(Rt,{direction:"row",spacing:2,sx:fJn,children:[(0,h_.jsx)(d2r,{}),(0,h_.jsx)(p2r,{value:e,onChange:t}),(0,h_.jsx)(h2r,{})]})]})}var oS=E($(),1);function y2r({items:e,loading:t,error:r,socket:n,onReload:i}){let o=Pa(),a=yr(),{query:s,setQuery:l,results:u,loading:f}=lxr(),[d,h]=(0,g2r.useState)("all"),p=u??e,m=d==="all"?p:p.filter(g=>g.type===d);return(0,oS.jsxs)(oS.Fragment,{children:[(0,oS.jsx)(m2r,{typeFilter:d,onTypeFilterChange:h}),(0,oS.jsx)(c2r,{value:s,onChange:l}),(0,oS.jsx)(l2r,{sessions:n.sessions}),(0,oS.jsx)(i2r,{loading:t||f,error:u?null:r,query:s,typeFilter:d,items:m,socket:n,itemPath:g=>mT(g.id,o,a),onReload:i})]})}var E1e=E(de(),1);var SA=E(de(),1);async function oWe(e,t,r){let n=await fetch(Wc(`/api/items/${oo(e)}`,t.cwd,t.node),{signal:r});return n.ok?n.json():null}function v2r(e){let t=Pa(),r=yr(),[n,i]=(0,SA.useState)(null),[o,a]=(0,SA.useState)(!0),s=(0,SA.useCallback)(async()=>{i(await oWe(e,{cwd:t,node:r}))},[e,t,r]);return(0,SA.useEffect)(()=>{let l=new AbortController,{signal:u}=l;return a(!0),(async()=>{try{let f=await oWe(e,{cwd:t,node:r},u);if(u.aborted)return;i(f),a(!1)}catch(f){if(!u.aborted)throw f}})(),()=>l.abort()},[e,t,r]),{item:n,loading:o,reload:s}}function b2r(e,t){let r=new Set,n=new Set,i=[];for(let o of t){if(o.cwdMissing)continue;let a=SL(o),s=nm(o);!a||!s||r.has(a)||n.has(s)||(r.add(a),n.add(s),i.push(s))}return e&&!r.has(TL(e,t))&&!n.has(e)&&i.unshift(e),i}var kp="";function dJn(e){let t=new Map([[kp,[]]]);for(let r of e){let n=r.node??kp;t.set(n,[...t.get(n)??[],r])}return t}function x2r(e,t){var n;let r=new Map;for(let[i,o]of dJn(t)){let a=i===kp?e:"";for(let s of b2r(a,o)){let l=TL(s,o),u=r.get(l)??{key:l,origin:l===s?void 0:l,clones:{}};(n=u.clones)[i]??(n[i]=s),r.set(l,u)}}return[...r.values()]}function S2r(e,t){return e.clones[t]??e.clones[kp]??Object.values(e.clones)[0]}function aX(e,t){return e.find(r=>Object.values(r.clones).includes(t))}function aS(e,t){return!e||e===t?kp:e}function T2r(e,t,r,n){if(!t)return e;let i=aS(r,n);return{...e,selectedCwd:t,selectedNode:r,cloneOn:(o,a)=>{let s=e.cloneOn(o,a);return o!==t||s!==o||aS(a,n)===i?s:void 0}}}var TA={description:"item-section-description",acceptanceCriteria:"item-section-acceptance-criteria",plan:"item-section-plan",activity:"item-section-activity",comments:"item-section-comments"},sX=140,aWe="--pinned-header-height",S1e=`var(${aWe}, ${sX}px)`,C2r=`calc(${S1e} + 8px)`;function wv(e){return{id:TA[e],sx:{mb:2,scrollMarginTop:C2r}}}function T1e(e){return{id:`item-phase-${e}`,sx:{scrollMarginTop:C2r}}}var p_=E($(),1);function w2r({criteria:e}){return e.length===0?null:(0,p_.jsxs)(ie,{...wv("acceptanceCriteria"),children:[(0,p_.jsx)(Le,{variant:"overline",sx:{color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"},children:"Acceptance Criteria"}),(0,p_.jsx)(ty,{disablePadding:!0,sx:{maxWidth:"72ch"},children:e.map((t,r)=>(0,p_.jsxs)(LS,{disableGutters:!0,disablePadding:!0,sx:{py:.5,display:"flex",alignItems:"baseline"},children:[(0,p_.jsxs)(Le,{component:"span",sx:{color:"text.secondary",mr:1},children:[r+1,"."]}),(0,p_.jsx)(Ou,{component:"span",className:"markdown",html:j9(t)})]},t))})]})}var lX=E($(),1),hJn={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function k2r({description:e}){return e?(0,lX.jsxs)(ie,{...wv("description"),children:[(0,lX.jsx)(Le,{variant:"overline",sx:hJn,children:"Description"}),(0,lX.jsx)(Y9,{content:e,renderMermaid:!0})]}):null}var D2r=E(de(),1);function _2r(e,t=10){let r=i=>e.filter(o=>o.kind===i).reverse(),n=r("commit");return{branches:r("branch"),commits:n.slice(0,t),overflowCommits:n.slice(t),prs:r("pr"),slacks:r("slack"),sessions:r("session")}}var R2r=E($(),1),pJn={color:"text.secondary",alignSelf:"flex-start",textAlign:"left"};function E2r({hiddenCount:e,expanded:t,onToggle:r}){return e===0?null:(0,R2r.jsx)(Kr,{component:"button",type:"button",variant:"body2",underline:"hover",sx:pJn,onClick:n=>{n.stopPropagation(),r()},children:t?"Show fewer commits":`\u2026 and ${e} more commits`})}var CA=E($(),1),mJn={display:"flex",alignItems:"center",gap:1},gJn={color:"text.secondary",fontFamily:"monospace"},yJn={flex:1,overflowWrap:"anywhere"},vJn={color:"text.disabled","&:hover":{color:"text.primary"}};function A2r({conversation:e}){let{resumeSession:t}=il(),r=n=>{n.stopPropagation(),t(e.sessionId,e.cwd??"",e.title,e.harness)};return(0,CA.jsxs)(ie,{sx:mJn,children:[(0,CA.jsx)(Le,{variant:"body2",component:"span",sx:gJn,children:"session"}),(0,CA.jsx)(Le,{variant:"body2",component:"span",sx:yJn,children:e.title??e.sessionId}),(0,CA.jsx)(ir,{size:"small",title:"Resume",sx:vJn,onClick:r,children:(0,CA.jsx)(Eg,{sx:{fontSize:14}})})]})}var L2r=E($(),1),bJn={color:"text.disabled",ml:1};function P2r({gitRef:e}){return e.kind!=="commit"||!e.createdAt?null:(0,L2r.jsx)(ie,{component:"span",sx:bJn,children:xJn(e.createdAt)})}function xJn(e){return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function M2r(e){if(e.kind==="commit"){let t=e.title?` ${e.title}`:"";return`${e.ref.slice(0,8)}${t}`}if(e.kind==="pr"){let t=e.title?` ${e.title}`:"",r=e.state?` (${e.state.toLowerCase()})`:"";return`#${e.ref}${t}${r}`}return e.kind==="slack"||e.kind==="session"?e.title??e.ref:e.ref}var kv=E($(),1),SJn={color:"text.secondary",mr:1,fontFamily:"monospace"};function TJn({gitRef:e}){let t=M2r(e);return!e.url||e.kind==="session"?(0,kv.jsx)(kv.Fragment,{children:t}):(0,kv.jsx)(Kr,{href:e.url,target:"_blank",rel:"noopener",onClick:r=>r.stopPropagation(),children:t})}function I2r({gitRef:e}){return(0,kv.jsxs)(Le,{variant:"body2",children:[(0,kv.jsx)(ie,{component:"span",sx:SJn,children:e.kind}),(0,kv.jsx)(TJn,{gitRef:e}),(0,kv.jsx)(P2r,{gitRef:e})]})}var m_=E($(),1),CJn={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function N2r({gitRefs:e,conversations:t=[]}){let[r,n]=(0,D2r.useState)(!1),{branches:i,commits:o,overflowCommits:a,prs:s,slacks:l}=_2r(e),u=[...i,...o,...r?a:[],...s,...l];return u.length===0&&t.length===0?null:(0,m_.jsxs)(ie,{...wv("activity"),children:[(0,m_.jsx)(Le,{variant:"overline",sx:CJn,children:"Activity"}),(0,m_.jsxs)(Rt,{spacing:1,children:[u.map(f=>(0,m_.jsx)(I2r,{gitRef:f},`${f.kind}:${f.ref}`)),t.map(f=>(0,m_.jsx)(A2r,{conversation:f},f.sessionId)),(0,m_.jsx)(E2r,{hiddenCount:a.length,expanded:r,onToggle:()=>n(f=>!f)})]})]})}var wA=E($(),1),wJn={alignItems:"center",fontSize:"0.75rem",color:"text.secondary",mb:.5},kJn={color:"text.disabled"},_Jn={fontWeight:500},EJn={summary:"Phase summary",comment:"Comment"};function O2r({comment:e}){return(0,wA.jsxs)(Rt,{direction:"row",spacing:.5,sx:wJn,children:[e.id!==void 0&&(0,wA.jsxs)(Le,{variant:"caption",sx:kJn,children:["#",e.id]}),(0,wA.jsx)(Le,{variant:"caption",sx:_Jn,children:EJn[e.type]}),e.phase!==void 0&&(0,wA.jsxs)(Le,{variant:"caption",children:["\xB7 Phase ",e.phase]}),(0,wA.jsxs)(Le,{variant:"caption",children:["\xB7 ",RJn(e.timestamp)]})]})}function RJn(e){return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}var B2r=E($(),1),F2r=st((0,B2r.jsx)("path",{d:"M16 9v10H8V9zm-1.5-6h-5l-1 1H5v2h14V4h-3.5zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2z"}),"DeleteOutlined");var sWe=E(de(),1);async function $2r(e,t,r,n){let i=await fetch(Wc(`/api/items/${oo(e)}/comments/${t}`,r,n),{method:"DELETE"});if(!i.ok){let o=await i.json().catch(()=>{});throw new Error(o?.error??`Failed to delete comment (${i.status})`)}}var _v=E($(),1),AJn={mt:-.5,mr:-.5,color:"text.secondary"};function z2r({itemId:e,commentId:t,onDeleted:r}){let n=Pa(),i=yr(),[o,a]=(0,sWe.useState)(!1),[s,l]=(0,sWe.useState)(),u=()=>l(void 0);return(0,_v.jsxs)(_v.Fragment,{children:[o&&(0,_v.jsx)(yi,{message:"Are you sure you want to delete this comment?",onConfirm:async()=>{a(!1);try{await $2r(e,t,n,i),await r()}catch(f){l(f instanceof Error?f.message:"Failed to delete comment")}},onCancel:()=>a(!1)}),(0,_v.jsx)(pl,{open:s!==void 0,autoHideDuration:6e3,onClose:u,children:(0,_v.jsx)(gi,{severity:"error",variant:"filled",onClose:u,children:s})}),(0,_v.jsx)(ir,{"aria-label":"Delete comment",size:"small",sx:AJn,onClick:()=>a(!0),children:(0,_v.jsx)(F2r,{fontSize:"inherit"})})]})}var kA=E($(),1),PJn={summary:{bgcolor:"warning.light",borderColor:"warning.dark"},comment:{bgcolor:"action.selected",borderColor:"divider"}},LJn={justifyContent:"space-between",alignItems:"flex-start"},MJn={color:"text.primary",whiteSpace:"pre-wrap"};function IJn(e){return{p:1.5,bgcolor:e.bgcolor,borderColor:e.borderColor}}function H2r({comment:e,itemId:t,onDeleted:r}){return(0,kA.jsxs)(tn,{variant:"outlined",sx:IJn(PJn[e.type]),children:[(0,kA.jsxs)(Rt,{direction:"row",sx:LJn,children:[(0,kA.jsx)(O2r,{comment:e}),e.id!==void 0&&t!==void 0&&r&&(0,kA.jsx)(z2r,{itemId:t,commentId:e.id,onDeleted:r})]}),(0,kA.jsx)(Le,{variant:"body2",sx:MJn,children:e.text})]})}var UF=E($(),1),DJn={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function U2r({comments:e,itemId:t,onCommentDeleted:r}){return e.length===0?null:(0,UF.jsxs)(ie,{...wv("comments"),children:[(0,UF.jsx)(Le,{variant:"overline",sx:DJn,children:"Comments"}),(0,UF.jsx)(Rt,{spacing:1,children:e.map((n,i)=>(0,UF.jsx)(H2r,{comment:n,itemId:t,onDeleted:r},`${n.timestamp}-${i}`))})]})}var W2r=E($(),1);function WF({total:e,sx:t}){return(0,W2r.jsx)(Le,{sx:t,children:Xye(e)})}var V2r=E($(),1),NJn={color:"text.secondary",fontSize:"0.75rem"};function G2r({usage:e}){let t={tokensUp:e.reduce((r,n)=>r+n.tokensUp,0),tokensDown:e.reduce((r,n)=>r+n.tokensDown,0),activeMs:e.reduce((r,n)=>r+n.activeMs,0),peakContextPct:e.reduce((r,n)=>Math.max(r,n.peakContextPct),0)};return(0,V2r.jsx)(WF,{total:t,sx:NJn})}var sS=E($(),1);function q2r({checks:e}){return(0,sS.jsxs)(ie,{sx:{mt:1,pt:1},children:[(0,sS.jsx)(Ti,{sx:{mb:1}}),(0,sS.jsx)(Le,{variant:"overline",sx:{color:"text.disabled",letterSpacing:"0.08em"},children:"Manual Checks"}),(0,sS.jsx)(ty,{disablePadding:!0,sx:{ml:.5,mt:.5},children:e.map(t=>(0,sS.jsxs)(LS,{disableGutters:!0,disablePadding:!0,sx:{py:.25,display:"flex",alignItems:"baseline"},children:[(0,sS.jsx)(Le,{component:"span",sx:{mr:1,fontSize:"0.875rem",color:"text.secondary"},children:"\u2610"}),(0,sS.jsx)(Ou,{component:"span",className:"markdown",sx:{fontSize:"0.875rem",color:"text.secondary"},html:j9(t)})]},t))})]})}var C1e={done:{borderColor:"success.light",bgcolor:"success.light"},current:{borderColor:"info.main",bgcolor:"info.light",ring:"info.light"},upcoming:{borderColor:"divider",bgcolor:"background.paper"}};function j2r(e){let t=C1e[e];return{p:2,borderColor:t.ring?"info.main":t.borderColor,bgcolor:t.bgcolor,...t.ring?{boxShadow:"0 0 0 2px"}:{}}}var Y2r={done:"\u2713",current:"\u2022",upcoming:"\u2022"};var Z2r=E(de(),1);var K2r=E(de(),1),Ev=E($(),1);function X2r({phaseName:e,onConfirm:t,onCancel:r}){let[n,i]=(0,K2r.useState)("");return(0,Ev.jsxs)(Wl,{open:!0,onClose:r,maxWidth:"xs",fullWidth:!0,children:[(0,Ev.jsxs)(ku,{children:["Rewind to ",e,"?"]}),(0,Ev.jsxs)(wu,{children:[(0,Ev.jsx)(Le,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"This will mark all later phases as incomplete."}),(0,Ev.jsx)(Qn,{fullWidth:!0,multiline:!0,rows:3,size:"small",placeholder:"Reason for rewinding...",value:n,onChange:o=>i(o.target.value)})]}),(0,Ev.jsxs)(cd,{children:[(0,Ev.jsx)(Dt,{onClick:r,children:"Cancel"}),(0,Ev.jsx)(Dt,{variant:"contained",color:"warning",disabled:n.trim().length===0,onClick:()=>t(n.trim()),children:"Rewind"})]})]})}var _A=E($(),1);function Q2r({itemId:e,phaseNumber:t,phaseName:r,onRewound:n}){let i=Pa(),o=yr(),[a,s]=(0,Z2r.useState)(!1);return(0,_A.jsxs)(_A.Fragment,{children:[(0,_A.jsx)(Dt,{size:"small",color:"warning",variant:"outlined",onClick:()=>s(!0),sx:{ml:"auto",textTransform:"none",fontSize:"0.75rem"},children:"Rewind"}),a&&(0,_A.jsx)(X2r,{phaseName:r,onConfirm:async l=>{await uit(e,t,l,i,o),await n()},onCancel:()=>s(!1)})]})}var GF=E($(),1),OJn={done:{label:"Done",color:"success"},current:{label:"In Progress",color:"info"},upcoming:{label:"Upcoming",color:"default"}},BJn={alignItems:"center",mb:1},FJn={fontWeight:500},$Jn={fontWeight:500,fontSize:"0.75rem"};function J2r({phase:e,index:t,status:r,itemId:n,onRewind:i}){let o=OJn[r],a=r==="done"&&n!==void 0&&i;return(0,GF.jsxs)(Rt,{direction:"row",spacing:1,sx:BJn,children:[(0,GF.jsxs)(Le,{sx:FJn,children:["Phase ",t+1,": ",e.name]}),(0,GF.jsx)(rn,{label:o.label,size:"small",color:o.color,sx:$Jn}),a&&(0,GF.jsx)(Q2r,{itemId:n,phaseNumber:t+1,phaseName:e.name,onRewound:i})]})}var cX=E($(),1),zJn={color:"text.secondary",fontSize:"0.75rem",letterSpacing:"0.08em",display:"block"},HJn={color:"text.secondary",fontSize:"0.75rem",fontFamily:"monospace",display:"block"};function eSr({sessions:e}){return(0,cX.jsxs)(ie,{sx:{mb:1},children:[(0,cX.jsx)(Le,{variant:"overline",sx:zJn,children:"Sessions"}),e.map(t=>(0,cX.jsx)(Le,{sx:HJn,children:`${t.hostname} / ${t.osUser} / ${t.claudeSessionId}`},t.claudeSessionId))]})}var rSr=E($(),1),UJn={color:"text.secondary",fontSize:"0.75rem",mb:1,display:"block"};function tSr({usage:e}){return(0,rSr.jsx)(WF,{total:e,sx:UJn})}var VF=E($(),1);function nSr({tasks:e,marker:t}){return(0,VF.jsx)(ty,{disablePadding:!0,sx:{ml:.5},children:e.map(r=>(0,VF.jsxs)(LS,{disableGutters:!0,disablePadding:!0,sx:{py:.25,display:"flex",alignItems:"baseline"},children:[(0,VF.jsx)(Le,{component:"span",sx:{color:"text.secondary",mr:1},children:t}),(0,VF.jsx)(Ou,{component:"span",className:"markdown",html:j9(r.task)})]},r.task))})}var g_=E($(),1);function iSr({phase:e,index:t,status:r,itemId:n,usage:i,sessions:o,onRewind:a}){let s=e.manualChecks??[],l=T1e(t);return(0,g_.jsxs)(tn,{variant:"outlined",id:l.id,sx:{...j2r(r),...l.sx},children:[(0,g_.jsx)(J2r,{phase:e,index:t,status:r,itemId:n,onRewind:a}),i&&(0,g_.jsx)(tSr,{usage:i}),(0,g_.jsx)(nSr,{tasks:e.tasks,marker:Y2r[r]}),s.length>0&&(0,g_.jsx)(q2r,{checks:s}),o&&o.length>0&&(0,g_.jsx)(eSr,{sessions:o})]})}var uX={name:"Review",tasks:[]};function w1e(e){return e.at(-1)?.name===uX.name?e.length-1:e.length}function k1e(e,t){if(t===void 0)return"upcoming";let r=e+1;return r<t?"done":r===t?"current":"upcoming"}function oSr(e=[]){return new Map(e.map(t=>[t.phaseIdx,t]))}function aSr(e=[]){let t=new Map;for(let r of e){let n=t.get(r.phaseIdx);n?n.push(r):t.set(r.phaseIdx,[r])}return t}var lWe=E($(),1);function sSr({phases:e,currentPhase:t,itemId:r,usage:n,sessions:i,onRewind:o}){let a=oSr(n),s=aSr(i),l=w1e(e),u=(i??[]).filter(d=>d.phaseIdx>=l),f=l===e.length&&u.length>0?[...e,uX]:e;return(0,lWe.jsx)(Rt,{spacing:1.5,children:f.map((d,h)=>(0,lWe.jsx)(iSr,{phase:d,index:h,status:k1e(h,t),itemId:r,usage:a.get(h),sessions:h===l?u:s.get(h),onRewind:h<e.length?o:void 0},d.name))})}var EA=E($(),1),WJn={alignItems:"baseline",justifyContent:"space-between",mb:1},GJn={color:"text.secondary",display:"block",letterSpacing:"0.08em"};function lSr({phases:e,currentPhase:t,itemId:r,usage:n,sessions:i,onRewind:o}){return e.length===0?null:(0,EA.jsxs)(ie,{...wv("plan"),children:[(0,EA.jsxs)(Rt,{direction:"row",sx:WJn,children:[(0,EA.jsx)(Le,{variant:"overline",sx:GJn,children:"Plan"}),n&&n.length>0&&(0,EA.jsx)(G2r,{usage:n})]}),(0,EA.jsx)(sSr,{phases:e,currentPhase:t,itemId:r,usage:n,sessions:i,onRewind:o})]})}var y_=E($(),1);function cSr({item:e,onRewind:t,onCommentDeleted:r}){return(0,y_.jsxs)(y_.Fragment,{children:[e.plan&&(0,y_.jsx)(lSr,{phases:e.plan,currentPhase:e.currentPhase,itemId:e.id,usage:e.phaseUsage,sessions:e.phaseSessions,onRewind:t}),(0,y_.jsx)(N2r,{gitRefs:e.gitRefs??[],conversations:e.conversations}),e.comments&&(0,y_.jsx)(U2r,{comments:e.comments,itemId:e.id,onCommentDeleted:r})]})}var qF=E($(),1);function uSr({item:e,onRewind:t,onCommentDeleted:r}){return(0,qF.jsxs)(ie,{sx:{pt:2,flex:1,minWidth:0},children:[(0,qF.jsx)(k2r,{description:e.description}),(0,qF.jsx)(w2r,{criteria:e.acceptanceCriteria}),(0,qF.jsx)(cSr,{item:e,onRewind:t,onCommentDeleted:r})]})}var fSr="item-detail";var fX={wideQuery:`@container ${fSr} (min-width: 760px)`,containerSx:{containerType:"inline-size",containerName:fSr},columnsSx:{display:"flex",columnGap:3}};function VJn(e){let t=e.plan??[];if(t.length===0)return[];let r=w1e(t),i=r===t.length&&(e.phaseSessions??[]).some(o=>o.phaseIdx>=r)?[...t,uX]:t;return[{id:TA.plan,label:"Phases"},...i.map((o,a)=>({id:T1e(a).id,label:`${a+1}`,title:o.name,status:k1e(a,e.currentPhase),nested:!0}))]}function dSr(e){let t=[];return e.description&&t.push({id:TA.description,label:"Description"}),e.acceptanceCriteria.length>0&&t.push({id:TA.acceptanceCriteria,label:"Acceptance Criteria"}),t.push(...VJn(e)),(e.gitRefs?.length??0)+(e.conversations?.length??0)>0&&t.push({id:TA.activity,label:"Activity"}),(e.comments?.length??0)>0&&t.push({id:TA.comments,label:"Comments"}),t}var hSr="1.3125rem",pSr={position:"relative",borderRadius:1,"&::after":{content:'""',position:"absolute",inset:0,borderRadius:"inherit",pointerEvents:"none"},"&:hover::after":{bgcolor:"action.hover"},"&:active::after":{bgcolor:"action.selected"}},qJn={...pSr,display:"block",flexShrink:0,maxWidth:"100%",px:1,py:.5,border:0,bgcolor:"transparent",fontSize:hSr,lineHeight:1.2,letterSpacing:"0.02em",textAlign:"left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",color:"text.secondary"},jJn={...pSr,display:"flex",alignItems:"center",justifyContent:"center",fontSize:hSr,width:"2em",height:"2em",flexShrink:0,lineHeight:1,borderRadius:"50%",border:1,color:"text.primary"},YJn={borderColor:"text.primary",borderWidth:3},KJn={color:"text.primary",fontWeight:700,"&::after":{bgcolor:"action.selected"}};function mSr(e,t){let r=e.status&&C1e[e.status];return r?{...jJn,ml:1.5,bgcolor:r.bgcolor,borderColor:r.borderColor,borderWidth:r.ring?3:1,...t&&YJn}:{...qJn,...t&&KJn}}var ySr=E($(),1);function gSr({section:e,active:t,onSelect:r}){return(0,ySr.jsx)(pn,{sx:mSr(e,t),onClick:()=>r(e.id),title:e.title??e.label,"aria-current":t?"true":void 0,children:e.label})}function vSr(e,t=sX){return Tme(e,t)}var cWe=E($(),1),XJn=48,ZJn=260,QJn={display:"none",[fX.wideQuery]:{display:"flex"},position:"sticky",top:S1e,alignSelf:"flex-start",width:ZJn,flexShrink:0,maxHeight:`calc(100vh - ${XJn}px - ${S1e})`,alignItems:"flex-start",overflowY:"auto",overflowX:"hidden",py:2};function JJn(e){document.getElementById(e)?.scrollIntoView({behavior:"smooth",block:"start"})}function bSr({item:e,headerHeight:t}){let r=dSr(e),n=vSr(r.map(i=>i.id),t);return r.length===0?null:(0,cWe.jsx)(Rt,{component:"nav",spacing:1,sx:QJn,children:r.map(i=>(0,cWe.jsx)(gSr,{section:i,active:i.id===n,onSelect:JJn},i.id))})}var SSr=E($(),1);function xSr({to:e}){let t=Ni();return(0,SSr.jsx)(Dt,{"data-backlog-focus":"back",variant:"text",size:"small",onClick:()=>t(e),sx:{mb:2,textTransform:"none"},children:"\u2190 Back"})}var TSr=E(de(),1);var RA=E($(),1);function CSr({itemId:e,onDeleted:t}){let r=Pa(),n=yr(),[i,o]=(0,TSr.useState)(!1);return(0,RA.jsxs)(RA.Fragment,{children:[i&&(0,RA.jsx)(yi,{onConfirm:async()=>{await cit(e,r,n),await t()},onCancel:()=>o(!1)}),(0,RA.jsx)(Dt,{variant:"contained",color:"error",size:"small",onClick:()=>o(!0),children:"Delete"})]})}var uWe=E($(),1),wSr=e=>{let{value:t,options:r,colors:n,onChange:i}=e;return(0,uWe.jsx)(DS,{value:t,onChange:o=>i(o.target.value),size:"small",sx:{fontSize:"0.75rem",fontWeight:500,borderRadius:4,bgcolor:n[t].bg,color:n[t].text,"& .MuiSelect-select":{py:.5,px:1.5},"& .MuiSelect-icon":{color:"inherit"}},children:r.map(o=>(0,uWe.jsx)(ln,{value:o,children:o},o))})};var fWe=E($(),1),eei={todo:{bg:"action.selected",text:"text.primary"},"in-progress":{bg:"warning.main",text:"warning.contrastText"},done:{bg:"success.main",text:"success.contrastText"},wontdo:{bg:"error.main",text:"error.contrastText"}},tei=["todo","in-progress","done","wontdo"];function kSr({current:e,onStatusChange:t}){return t?(0,fWe.jsx)(wSr,{value:e,options:tei,colors:eei,onChange:t}):(0,fWe.jsx)(rn,{label:e,size:"small",color:Uye[e],sx:{fontWeight:500,fontSize:"0.75rem"}})}var lS=E($(),1),rei={alignItems:"center",color:"text.disabled",fontSize:"0.875rem"},nei={fontWeight:500,fontSize:"0.75rem"},iei={color:"text.secondary",fontSize:"0.75rem"};function _Sr({item:e,onStatusChange:t}){let r=Hye[e.type];return(0,lS.jsxs)(Rt,{direction:"row",spacing:1,sx:rei,children:[(0,lS.jsx)(Le,{variant:"body2",color:"text.disabled",children:oo(e.id)}),r&&(0,lS.jsx)(rn,{label:e.type,size:"small",color:r,sx:nei}),(0,lS.jsx)(kSr,{current:e.status,onStatusChange:t}),(0,lS.jsx)(mL,{jiraKey:e.jiraKey}),(0,lS.jsx)(pT,{githubIssue:e.githubIssue,origin:e.origin}),e.usageTotal&&(0,lS.jsx)(WF,{total:e.usageTotal,sx:iei})]})}var ESr=E($(),1),RSr=st((0,ESr.jsx)("path",{d:"M3 17v2h6v-2zM3 5v2h10V5zm10 16v-2h8v-2h-8v-2h-2v6zM7 9v2H3v2h4v2h2V9zm14 4v-2H11v2zm-6-4h2V7h4V5h-4V3h-2z"}),"Tune");var _1e=E(de(),1);var L0=E($(),1);function ASr({itemId:e}){let{launched:t,launch:r}=o1e(e),n=a_(),i=(0,_1e.useRef)(null),[o,a]=(0,_1e.useState)(!1),s=u=>u.stopPropagation(),l=Jye(n);return(0,L0.jsxs)(L0.Fragment,{children:[(0,L0.jsxs)(RS,{ref:i,variant:"outlined",size:"small",disabled:t,children:[(0,L0.jsx)(Dt,{startIcon:(0,L0.jsx)(RSr,{}),onClick:u=>{s(u),r([])},children:"Refine"}),l.length>0&&(0,L0.jsx)(Dt,{size:"small","aria-label":"Refine with a different harness",onClick:u=>{s(u),a(!0)},children:(0,L0.jsx)(bd,{})})]}),(0,L0.jsx)(e1e,{anchorEl:i.current,open:o,onClose:()=>a(!1),options:l,onSelect:u=>{a(!1),r(["--harness",u])},stop:s})]})}var jF=E(de(),1);function PSr(){let e=(0,jF.useRef)(null),[t,r]=(0,jF.useState)(!1);return(0,jF.useEffect)(()=>{let n=e.current;if(!n)return;let i=new IntersectionObserver(([o])=>r(!o.isIntersecting),{threshold:0});return i.observe(n),()=>i.disconnect()},[]),{sentinelRef:e,stuck:t}}var id=E($(),1),oei={justifyContent:"space-between",alignItems:"center",mb:2};function aei(e){return e.palette.mode==="dark"?"0 8px 8px -9px rgba(0, 0, 0, 0.8)":"0 6px 6px -7px rgba(0, 0, 0, 0.2)"}function sei(e){return t=>({position:"sticky",top:0,zIndex:1,bgcolor:"background.default",mx:-2,px:2,pb:2,borderBottom:1,borderColor:"divider",boxShadow:e?aei(t):"none",transition:t.transitions.create("box-shadow")})}function LSr({item:e,onDeleted:t,onStatusChange:r,ref:n}){let{sentinelRef:i,stuck:o}=PSr();return(0,id.jsxs)(id.Fragment,{children:[(0,id.jsx)(ie,{ref:i,sx:{height:0}}),(0,id.jsxs)(ie,{ref:n,sx:sei(o),children:[(0,id.jsxs)(Rt,{direction:"row",sx:oei,children:[(0,id.jsx)(xSr,{to:"/backlog"}),(0,id.jsxs)(Rt,{direction:"row",spacing:1,children:[Zye(e)&&(0,id.jsx)(y1e,{itemId:e.id}),(0,id.jsx)(ASr,{itemId:e.id}),(0,id.jsx)(CSr,{itemId:e.id,onDeleted:t})]})]}),(0,id.jsx)(Le,{variant:"h5",component:"h2",children:e.name}),(0,id.jsx)(_Sr,{item:e,onStatusChange:r})]})]})}var MSr=E(de(),1);function ISr(){let e=(0,MSr.useRef)(null),t=r0e(e,sX),r={[aWe]:`${t}px`};return{headerRef:e,headerHeight:t,style:r}}var v_=E($(),1);function DSr({item:e,onReload:t}){let r=Ni(),n=Pa(),i=yr(),{headerRef:o,headerHeight:a,style:s}=ISr();return _y("ItemDetail"),(0,v_.jsxs)(ie,{style:s,children:[(0,v_.jsx)(LSr,{ref:o,item:e,onDeleted:async()=>{await t(),r("/backlog")},onStatusChange:async f=>{await wL(e.id,f,n,i),await t()}}),(0,v_.jsx)(ie,{sx:fX.containerSx,children:(0,v_.jsxs)(ie,{sx:fX.columnsSx,children:[(0,v_.jsx)(uSr,{item:e,onRewind:t,onCommentDeleted:t}),(0,v_.jsx)(bSr,{item:e,headerHeight:a})]})})]})}var AA=E($(),1),lei={display:"flex",justifyContent:"center",py:6};function NSr({onReload:e}){let[t]=Uc(),r=t.get("cwd")||void 0,n=t.get("node")||void 0,i=Fn(),o=_c().nodes?.local,a=(0,E1e.useMemo)(()=>T2r(i,r,n,o),[i,r,n,o]);return _y("ItemRoute"),(0,AA.jsx)(JH.Provider,{value:a,children:(0,AA.jsx)(mf.Provider,{value:a.selectedNode,children:(0,AA.jsx)(cei,{onReload:e})})})}function cei({onReload:e}){let{id:t}=KTe(),r=Number.NaN;try{r=cte(t??"")}catch{r=Number.NaN}let{item:n,loading:i,reload:o}=v2r(r),a=(0,E1e.useCallback)(async()=>{await Promise.all([o(),e()])},[o,e]);return i?(0,AA.jsx)(ie,{sx:lei,children:(0,AA.jsx)(io,{})}):n?(0,AA.jsx)(DSr,{item:n,onReload:a}):null}var PA=E($(),1);function OSr({items:e,loading:t,error:r,socket:n,onReload:i}){return(0,PA.jsxs)(Y5,{children:[(0,PA.jsx)(Ts,{index:!0,element:(0,PA.jsx)(y2r,{items:e,loading:t,error:r,socket:n,onReload:i})}),(0,PA.jsx)(Ts,{path:"items/:id",element:(0,PA.jsx)(NSr,{onReload:i})})]})}var M0=E(de(),1);var BSr=new Map;function FSr(e,t,r){return JSON.stringify([e??null,t,r??null])}var dX={get(e,t,r){return BSr.get(FSr(e,t,r))},set(e,t,r,n){BSr.set(FSr(e,t,n),r)}};function uei(e,t){return e===t?!0:!e||!t?!1:e.tokensUp===t.tokensUp&&e.tokensDown===t.tokensDown&&e.activeMs===t.activeMs&&e.peakContextPct===t.peakContextPct}function $Sr(e,t){return e===t?!0:e.length!==t.length?!1:e.every((r,n)=>{let i=t[n];return r.id===i.id&&r.type===i.type&&r.name===i.name&&r.status===i.status&&r.starred===i.starred&&uei(r.usageTotal,i.usageTotal)})}function zSr({setItems:e,setLoading:t,setError:r}){return{onLoaded:n=>{e(i=>$Sr(i,n)?i:n),t(!1),r(null)},onError:n=>{t(!1),r(n)}}}async function HSr(e,t,r,n){let i=await gT({cwd:e,node:n,signal:r,filter:t});return r.aborted||dX.set(e,t,i,n),i}function USr(e,t,r,{onLoaded:n,onError:i},o){return(async()=>{try{let a=await HSr(e,t,r,o);r.aborted||n(a)}catch(a){r.aborted||i(a instanceof Error?a.message:"Failed to load.")}})()}var fei=5e3;function WSr(e,t,r,n){let i=new AbortController,o=!1,a=()=>{o||(o=!0,USr(e,t,i.signal,r,n).finally(()=>{o=!1}))};a();let s=setInterval(a,fei);return()=>{i.abort(),clearInterval(s)}}function GSr(){let e=Pa(),t=yr(),[r]=MF(),n=dX.get(e,r,t),i=n??[],o=n===void 0,[a,s]=(0,M0.useState)(i),[l,u]=(0,M0.useState)(o),[f,d]=(0,M0.useState)(null),[h,p]=(0,M0.useState)(e),[m,g]=(0,M0.useState)(t),[y,v]=(0,M0.useState)(r);(e!==h||t!==m||r!==y)&&(p(e),g(t),v(r),s(i),u(o),d(null));let b=(0,M0.useCallback)(async()=>{let x=await gT({cwd:e,node:t,filter:r});s(x),dX.set(e,r,x,t),u(!1)},[e,t,r]);return(0,M0.useEffect)(()=>WSr(e,r,zSr({setItems:s,setLoading:u,setError:d}),t),[e,t,r]),{items:a,loading:l,error:f,reload:b}}var YF=E($(),1);function VSr({socket:e}){let{items:t,loading:r,error:n,reload:i}=GSr();return wre(!r),(0,YF.jsx)(YUe.Provider,{value:e.sessions,children:(0,YF.jsx)(eWe.Provider,{value:e.selectSession,children:(0,YF.jsx)(Y5,{children:(0,YF.jsx)(Ts,{path:"/*",element:(0,YF.jsx)(OSr,{items:t,loading:r,error:n,socket:e,onReload:i})})})})})}var dWe=E($(),1);function qSr({socket:e}){return(0,dWe.jsx)(fz,{maxWidth:"lg",sx:{py:3,px:2},children:(0,dWe.jsx)(VSr,{socket:e})})}var Mi=E($(),1);function jSr({socket:e}){return _y("AppRoutes"),(0,Mi.jsxs)(Mi.Fragment,{children:[(0,Mi.jsx)(ecr,{}),(0,Mi.jsx)(Y5,{children:(0,Mi.jsxs)(Ts,{element:(0,Mi.jsx)(ast,{socket:e}),children:[(0,Mi.jsx)(Ts,{path:"sessions",element:(0,Mi.jsx)(vvr,{socket:e})}),(0,Mi.jsx)(Ts,{path:"backlog/*",element:(0,Mi.jsx)(qSr,{socket:e})}),(0,Mi.jsx)(Ts,{path:"next",element:(0,Mi.jsx)(elr,{sessions:e.sessions,selectSession:e.selectSession})}),(0,Mi.jsx)(Ts,{path:"news",element:(0,Mi.jsx)(lsr,{})}),(0,Mi.jsx)(Ts,{path:"releases",element:(0,Mi.jsx)(Xlr,{})}),(0,Mi.jsx)(Ts,{path:"usage",element:(0,Mi.jsx)(nxr,{})}),(0,Mi.jsx)(Ts,{path:"backups",element:(0,Mi.jsx)(pst,{})}),(0,Mi.jsx)(Ts,{path:"config",element:(0,Mi.jsx)(mct,{})}),(0,Mi.jsx)(Ts,{path:"updates",element:(0,Mi.jsx)(hbr,{reconnecting:e.reconnecting,selectSession:e.selectSession})}),(0,Mi.jsx)(Ts,{path:"diff",element:(0,Mi.jsx)(Ear,{socket:e})}),(0,Mi.jsx)(Ts,{path:"file",element:(0,Mi.jsx)(nsr,{socket:e})}),(0,Mi.jsx)(Ts,{path:"*",element:(0,Mi.jsx)(tCe,{to:"/sessions",replace:!0})})]})})]})}var M1e=E(de(),1);var L1e=E(de(),1);function YSr(e,t,r){if(!e)return"Select a repo to search files.";if(r.error)return"Couldn't search files in this repo.";if(!(r.files.length>0||r.loading))return t?"No matching files.":"No files in this repo."}var b_=E($(),1),dei={display:"flex",gap:1,alignItems:"center",minWidth:0},hei={display:"flex",gap:1,alignItems:"baseline",minWidth:0,overflow:"hidden"},pei={fontFamily:"monospace",fontSize:13,whiteSpace:"nowrap"},mei={fontFamily:"monospace",fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};function gei(e){let t=e.lastIndexOf("/");return t===-1?{dir:"",basename:e}:{dir:e.slice(0,t),basename:e.slice(t+1)}}function KSr({files:e,highlight:t,onHighlight:r,onSelect:n}){return(0,b_.jsx)(zp,{dense:!0,sx:{py:0},children:e.map((i,o)=>{let{dir:a,basename:s}=gei(i);return(0,b_.jsxs)(ln,{selected:o===t,onMouseEnter:()=>r(o),onClick:()=>n(i),sx:dei,children:[(0,b_.jsx)(tB,{path:i}),(0,b_.jsxs)(ie,{sx:hei,children:[(0,b_.jsx)(Le,{component:"span",sx:pei,children:s}),(0,b_.jsx)(Le,{component:"span",color:"text.secondary",sx:mei,children:a})]})]},i)})})}var R1e=E($(),1),yei={maxHeight:420,overflowY:"auto"},vei={px:2,py:2,fontSize:13};function XSr({message:e,files:t,highlight:r,onHighlight:n,onSelect:i}){return(0,R1e.jsx)(ie,{sx:yei,children:e?(0,R1e.jsx)(Le,{color:"text.secondary",sx:vei,children:e}):(0,R1e.jsx)(KSr,{files:t,highlight:r,onHighlight:n,onSelect:i})})}var ZSr=E($(),1),bei={mt:6,alignSelf:"flex-start"};function A1e({onClose:e,onEntered:t,centered:r=!1,children:n}){return(0,ZSr.jsx)(Wl,{open:!0,onClose:e,maxWidth:"sm",fullWidth:!0,slotProps:{paper:{sx:r?void 0:bei},transition:{onEntered:t}},children:n})}var P1e=E(de(),1);var QSr={files:[],loading:!1,error:!1};function JSr(e,t){let[r,n]=(0,P1e.useState)(QSr),i=yr();return(0,P1e.useEffect)(()=>{if(!e){n(QSr);return}let o=!1;return n(s=>({...s,loading:!0})),(async()=>{try{let s=await fetch(qr(`/api/files?cwd=${encodeURIComponent(e)}&q=${encodeURIComponent(t)}`,i));if(!s.ok)throw new Error(`HTTP ${s.status}`);let l=await s.json();if(o)return;n({files:Array.isArray(l.files)?l.files:[],loading:!1,error:!1})}catch{o||n({files:[],loading:!1,error:!0})}})(),()=>{o=!0}},[e,t,i]),r}var LA=E($(),1);function xei(e,t,r){let n=new URLSearchParams({path:e});return t&&n.set("cwd",t),t&&r&&n.set("node",r),`/file?${n}`}function eTr({onClose:e}){let{worktreeNode:t}=Fn();return(0,LA.jsx)(mf.Provider,{value:t,children:(0,LA.jsx)(Sei,{onClose:e})})}function Sei({onClose:e}){let{worktreeCwd:t,worktreeNode:r}=Fn(),[n,i]=(0,L1e.useState)(""),o=JSr(t,n),a=Ni(),s=(0,L1e.useRef)(null),l=p=>a(xei(p,t,r)),{highlight:u,setHighlight:f,onKeyDown:d}=f_(o.files,n,l,e),h=p=>{l(p),e()};return(0,LA.jsxs)(A1e,{onClose:e,onEntered:()=>s.current?.focus(),children:[(0,LA.jsx)(hT,{autoFocus:!0,inputRef:s,value:n,onChange:i,onKeyDown:d,placeholder:"Search files by name..."}),(0,LA.jsx)(XSr,{message:YSr(t,n,o),files:o.files,highlight:u,onHighlight:f,onSelect:h})]})}function tTr(e){Eo(qn("quickOpen").matches,e)}var nTr=E($(),1);function rTr(){let[e,t]=(0,M1e.useState)(!1);return tTr((0,M1e.useCallback)(()=>t(!0),[])),e?(0,nTr.jsx)(eTr,{onClose:()=>t(!1)}):null}var I1e=E($(),1);function iTr({notice:e,onClose:t,onView:r}){let n=e?.sessionId??null;return(0,I1e.jsx)(pl,{open:e!==null,autoHideDuration:6e3,onClose:t,anchorOrigin:{vertical:"bottom",horizontal:"center"},children:(0,I1e.jsx)(gi,{severity:"success",variant:"filled",onClose:t,action:n!==null?(0,I1e.jsx)(Dt,{color:"inherit",size:"small",onClick:()=>r(n),children:"View"}):void 0,children:e?.message})})}var mX=E(de(),1);function oTr(e){let t=["claude"];return e.exposeCodexActions&&t.push("codex"),e.exposePiActions&&t.push("pi"),t}var vTr=E(de(),1);var aTr=E($(),1),sTr=st((0,aTr.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2"}),"Circle");var x_="0.932.2";var Tei={connected:"success.main",connecting:"warning.main",disconnected:"error.main","version-blocked":"error.main"};function lTr(e){return e?Tei[e]:"success.main"}function cTr(e){return e.split("-")[0].split(".").map(Number)}function uTr(e,t){if(!e||!t||e===t)return;let r=cTr(e),n=cTr(t);for(let i=0;i<Math.max(r.length,n.length);i++){let o=(r[i]??0)-(n[i]??0);if(Number.isNaN(o))return;if(o!==0)return o<0?"behind":"ahead"}}var D1e=E(de(),1),hWe=(0,D1e.createContext)(null);function N1e(){return(0,D1e.useContext)(hWe)}var MA=E($(),1),Cei={height:16,fontSize:10},wei={opacity:.6,fontSize:"0.85em"};function kei(e,t){if(t===e.local)return"this machine";let r=e.links.find(n=>n.name===t);return r?r.error?`${r.state}: ${r.error}`:r.state:""}function hX({nodes:e,name:t,showVersion:r=!1}){let n=N1e()??x_,i=e.links.find(a=>a.name===t),o=uTr(i?.peerVersion,n);return(0,MA.jsx)(lr,{title:kei(e,t),placement:"right",children:(0,MA.jsxs)(ie,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:.75},children:[(0,MA.jsx)(sTr,{sx:{fontSize:8,color:lTr(i?.state)}}),t,r&&i?.peerVersion&&(0,MA.jsxs)(ie,{component:"span",sx:wei,children:["v",i.peerVersion]}),o&&(0,MA.jsx)(rn,{label:o,size:"small",color:o==="behind"?"warning":"info",sx:Cei})]})})}var IA=E($(),1),_ei={opacity:.6},Eei={display:"inline-flex",alignItems:"center",gap:.5,px:.5,border:1,borderStyle:"dashed",borderRadius:1};function fTr({nodes:e,name:t,clone:r}){let n=(0,IA.jsx)(hX,{nodes:e,name:t});return r.kind==="cloned"?n:r.kind==="unavailable"?(0,IA.jsx)(ie,{component:"span",sx:_ei,children:n}):(0,IA.jsx)(lr,{title:NF(t,r.cloneTarget),children:(0,IA.jsxs)(ie,{component:"span",sx:Eei,children:[(0,IA.jsx)(DF,{sx:{fontSize:14}}),n]})})}var hTr=E($(),1),Rei={px:1.5,borderRadius:.75,fontSize:12,fontWeight:600,color:"text.secondary","&:hover":{color:"text.primary",bgcolor:"action.hover"},"&[aria-checked='true']":{color:"primary.main",bgcolor:"action.selected"},"&.Mui-focusVisible":{outline:2,outlineColor:"primary.main"}};function dTr({value:e,label:t,checked:r,autoFocus:n,onSelect:i}){return(0,hTr.jsx)(pn,{role:"radio","aria-checked":r,"data-value":e,tabIndex:r?0:-1,autoFocus:n&&r,onClick:i,sx:Rei,children:t})}var pTr={ArrowRight:1,ArrowLeft:-1};function Aei(e,t,r){if(e.key==="Tab"){let n=t+(e.shiftKey?-1:1);return n>=0&&n<r?n:void 0}return(t+pTr[e.key]+r)%r}function mTr(e,t,r,n){return i=>{if(i.key==="ArrowUp"||i.key==="ArrowDown"){if(!n)return;i.preventDefault(),n();return}if(i.key!=="Tab"&&!pTr[i.key]){E2(i);return}let o=Aei(i,e.indexOf(t),e.length);o!==void 0&&(i.preventDefault(),r(e[o]),i.currentTarget.querySelector(`[data-value="${e[o]}"]`)?.focus())}}var gTr=E(de(),1);function KF(e){return e?.querySelector('[aria-checked="true"]')}function yTr(e,t){(0,gTr.useEffect)(()=>{let r=e.current;if(!r?.contains(document.activeElement))return;let n=KF(r);n&&n!==document.activeElement&&n.focus()},[e,t])}var pWe=E($(),1),Pei={border:1,borderColor:"divider",borderRadius:1,height:40,p:"2px",flexShrink:0};function O1e({label:e,options:t,value:r,onChange:n,optionLabel:i=u=>u,groupRef:o,autoFocus:a,onTrack:s,onToggleRow:l}){return yTr(o,r),(0,pWe.jsx)(Rt,{ref:o,direction:"row",role:"radiogroup","aria-label":e,spacing:"2px",onFocus:s,onKeyDown:mTr(t,r,n,l),sx:Pei,children:t.map(u=>(0,pWe.jsx)(dTr,{value:u,label:i(u),checked:u===r,autoFocus:a,onSelect:()=>n(u)},u))})}var mWe=E($(),1);function bTr({value:e,onChange:t,cloneState:r}){let{nodes:n,names:i,visible:o}=_c(),a=(0,vTr.useRef)(null);return!o||!n||!e?null:(0,mWe.jsx)(O1e,{label:"Machine",options:i,value:e,onChange:t,optionLabel:s=>(0,mWe.jsx)(fTr,{nodes:n,name:s,clone:r(s)}),groupRef:a,autoFocus:!1,onTrack:()=>{}})}var STr=E($(),1);function xTr({value:e,onChange:t,placeholder:r,inputRef:n,autoFocus:i,onTrack:o}){return(0,STr.jsx)(Qn,{value:e,onChange:a=>t(a.target.value),onKeyDown:E2,onFocus:o,onSelect:o,inputRef:n,placeholder:r,autoFocus:i,fullWidth:!0,multiline:!0,minRows:3,maxRows:12,slotProps:{htmlInput:{"aria-label":"Prompt"},input:{sx:{fontSize:14}}}})}var kTr=E(de(),1);var cS={draft:{placeholder:"Describe the backlog item to draft...",submitLabel:"Start draft",sessionMode:"assist-draft"},bug:{placeholder:"Describe the bug: what happened, what you expected...",submitLabel:"File bug",sessionMode:"assist-bug"},prompt:{placeholder:kge,submitLabel:"Start session"},design:{placeholder:"Describe the design task...",submitLabel:"Start design"}},TTr=Object.keys(cS);var gWe=E($(),1);function CTr({anchor:e,harness:t,harnesses:r,onPick:n,onClose:i}){return(0,gWe.jsx)(Os,{open:e!==null,anchorEl:e,onClose:i,slotProps:{list:{dense:!0,"aria-label":"Harness"}},children:r.map(o=>(0,gWe.jsx)(ln,{role:"menuitemradio","aria-checked":o===t,selected:o===t,onClick:()=>{n(o),i()},sx:{fontSize:13},children:Mu(o)},o))})}var DA=E($(),1);function wTr(e){return t=>t==="prompt"&&e?(0,DA.jsxs)(DA.Fragment,{children:["prompt",(0,DA.jsx)(ie,{component:"span",sx:{fontWeight:400,whiteSpace:"pre"},children:` \xB7 ${Mu(e)}`}),(0,DA.jsx)(bd,{sx:{fontSize:18,mr:-.75}})]}):t}var NA=E($(),1);function _Tr({draft:e,harness:t,harnesses:r,focus:n}){let[i,o]=(0,kTr.useState)(null),a=e.mode==="prompt"&&r.length>1,s=()=>o(KF(n.modeRef.current)??null),l=u=>{a&&u==="prompt"?s():e.setMode(u)};return(0,NA.jsxs)(NA.Fragment,{children:[(0,NA.jsx)(O1e,{label:"Mode",options:TTr,value:e.mode,onChange:l,optionLabel:wTr(r.length>1?t:void 0),groupRef:n.modeRef,autoFocus:n.autoFocus==="mode",onTrack:n.trackMode,onToggleRow:a?s:void 0}),(0,NA.jsx)(CTr,{anchor:i,harness:t,harnesses:r,onPick:e.setHarness,onClose:()=>o(null)})]})}var BTr=E(de(),1);var yWe=E($(),1),Lei={zIndex:e=>e.zIndex.modal+1};function ETr({open:e,anchor:t,children:r}){return(0,yWe.jsx)(W6,{open:e,anchorEl:t,placement:"bottom-start",sx:Lei,children:(0,yWe.jsx)(tn,{sx:{maxHeight:240,overflowY:"auto",width:t?.clientWidth},onMouseDown:n=>n.preventDefault(),children:r})})}function RTr(e){return{htmlInput:{role:"combobox","aria-label":"Repo","aria-expanded":e},input:{sx:{fontSize:13,height:40}}}}var ATr=E(H$(),1);function PTr({open:e,highlighted:t,accept:r,close:n,navigate:i,openList:o}){return a=>{if(!e){if(a.key==="ArrowDown"){a.preventDefault(),o();return}E2(a);return}if(a.key!=="Escape"){if(a.key==="Enter"){if(a.preventDefault(),t===void 0)return;(0,ATr.flushSync)(()=>{r(t),n()}),E2(a);return}if(a.key!=="Tab"){i(a);return}t!==void 0&&r(t),n()}}}function LTr(e,t){let r=t.trim().toLowerCase();return r?e.filter(n=>Tv(n).toLowerCase().includes(r)):e}var vWe=E(de(),1);function MTr(){let[e,t]=(0,vWe.useState)(!1),[r,n]=(0,vWe.useState)("");return{open:e,query:r,show:()=>t(!0),filterBy:i=>{n(i),t(!0)},close:()=>{t(!1),n("")}}}var DTr=E(de(),1);var ITr=e=>e?Tv(e):"";function NTr(e){let[t,r]=(0,DTr.useState)(()=>ITr(e));return{text:t,setText:r,showRepo:n=>r(ITr(n))}}function OTr(e,t,r){let n=MTr(),i=NTr(t),o=LTr(e,n.query),a=f=>{r(f),i.showRepo(f)},s=f_(o,n.query,a,n.close),l=()=>s.setHighlight(Math.max(e.indexOf(t),0)),u=()=>{l(),n.show()};return{open:n.open,text:i.text,filtered:o,highlight:s.highlight,setHighlight:s.setHighlight,onKeyDown:PTr({open:n.open,highlighted:o[s.highlight],accept:a,close:n.close,navigate:s.onKeyDown,openList:u}),onClick:()=>{n.open||u()},onType:f=>{i.setText(f),n.filterBy(f)},onFocus:l,onBlur:()=>{n.close(),i.showRepo(t)},pick:f=>{a(f),n.close()}}}var XF=E($(),1);function FTr({repos:e,value:t,onChange:r,inputRef:n,autoFocus:i,onTrack:o}){let a=OTr(e,t,r),s=(0,BTr.useRef)(null);return(0,XF.jsxs)(ie,{ref:s,sx:{flex:1,minWidth:0},children:[(0,XF.jsx)(Qn,{value:a.text,onChange:l=>a.onType(l.target.value),onFocus:l=>{l.target.select(),a.onFocus(),o()},inputRef:n,autoFocus:i,onClick:a.onClick,onBlur:a.onBlur,onKeyDown:a.onKeyDown,placeholder:"Repo",size:"small",fullWidth:!0,slotProps:RTr(a.open)}),(0,XF.jsx)(ETr,{open:a.open,anchor:s.current,children:(0,XF.jsx)(p1e,{repos:a.filtered,selected:t,highlight:a.highlight,onHighlight:a.setHighlight,onSelect:a.pick})})]})}var S_=E($(),1);function $Tr({cloneState:e,...t}){let{draft:r,focus:n}=t,{repos:i}=Fn();return(0,S_.jsxs)(Rt,{spacing:1,sx:{p:1},children:[(0,S_.jsx)(xTr,{value:r.prompt,onChange:r.setPrompt,placeholder:cS[r.mode].placeholder,inputRef:n.promptRef,autoFocus:n.autoFocus==="prompt",onTrack:n.trackPrompt}),(0,S_.jsxs)(Rt,{direction:"row",spacing:1,sx:{alignItems:"flex-start"},children:[(0,S_.jsx)(FTr,{repos:i,value:r.cwd,onChange:r.setCwd,inputRef:n.repoRef,autoFocus:n.autoFocus==="repo",onTrack:n.trackRepo}),(0,S_.jsx)(_Tr,{...t})]}),(0,S_.jsx)(bTr,{value:r.node,onChange:r.setNode,cloneState:e})]})}var ZF=E($(),1),Mei=["Enter start","Shift+Enter newline","Esc close"],Iei={alignItems:"center",px:1.5,py:1,borderTop:1,borderColor:"divider",bgcolor:"action.hover"};function zTr({submitLabel:e,disabled:t=!1,loading:r=!1}){return(0,ZF.jsxs)(Rt,{direction:"row",spacing:1.5,sx:Iei,children:[(0,ZF.jsx)(Rt,{direction:"row",spacing:1.5,sx:{mr:"auto"},children:Mei.map(n=>(0,ZF.jsx)(Le,{variant:"caption",color:"text.secondary",children:n},n))}),(0,ZF.jsx)(Dt,{type:"submit",variant:"contained",size:"small",disabled:t,loading:r,children:e})]})}var OA=E(de(),1);function HTr(e,t){let r=(0,OA.useRef)(e),n=(0,OA.useRef)(null),i=(0,OA.useRef)(null),o=(0,OA.useRef)(null),a=(0,OA.useCallback)(u=>{n.current=u;let{field:f,selectionStart:d,selectionEnd:h}=r.current;u&&f==="prompt"&&u.setSelectionRange(d,h)},[]),s=u=>{let f=u.target;t({field:"prompt",selectionStart:f.selectionStart,selectionEnd:f.selectionEnd})},l=()=>{if(o.current?.closest("form")?.contains(document.activeElement))return;let{field:u}=r.current;({repo:i.current,mode:KF(o.current),prompt:n.current}[u]??n.current)?.focus()};return{autoFocus:e.field,promptRef:a,repoRef:i,modeRef:o,trackPrompt:s,trackRepo:()=>t({...e,field:"repo"}),trackMode:()=>t({...e,field:"mode"}),restore:l}}function Dei(e,t,r){return e?r.kind==="cloned"?{kind:"launch",cwd:r.cwd}:r.kind==="clonable"?{kind:"clone",prompt:g1e(r,t)}:{kind:"blocked"}:{kind:"launch",cwd:e}}function UTr(e,t){let{names:r,visible:n}=_c(),i=f1e(t,n?r:[void 0]);return{cloneState:i,target:Dei(t,e,i(e))}}function WTr({mode:e,harness:t,prompt:r,cwd:n,node:i},o){let a=n||void 0,s=i?[i]:[];if(e==="prompt"){t==="claude"?o.onCreate(r,a,...s):o.onCreateHarness(t,r,a,...s);return}if(e==="design"){o.onCreateDesign(r,a,...s);return}let l=i?[{node:i}]:[];Vcr(cS[e].sessionMode,n,(u,f)=>o.onCreateAssist(u,f,...l),()=>{},r)}function GTr(e,t,r,n){return r.kind==="blocked"||e.modePending?!1:r.kind==="clone"?(n1e(r.prompt,n.onCreateAssist),!0):(WTr({mode:e.mode,harness:t,prompt:e.prompt,cwd:r.cwd,node:e.node},n),e.clear(),!0)}var B1e=E(de(),1);function VTr(e,t){let[r,n]=(0,B1e.useState)(!1);return(0,B1e.useEffect)(()=>{!r||e.modePending||(n(!1),t())},[r,e.modePending,t]),()=>{e.modePending?n(!0):t()}}function qTr(e,t,r,n,i){let o=VTr(e,()=>{GTr(e,t,r,n)&&i()});return a=>{a.preventDefault(),o()}}var pX=E(de(),1);function jTr(e,t){let r=(0,pX.useRef)(e),n=(0,pX.useRef)(null);return(0,pX.useEffect)(()=>{if(r.current&&!e){let i=n.current;i?.isConnected?i.focus():t()}r.current=e},[e,t]),i=>{n.current=i.target}}var KTr=E($(),1),Nei={border:0,margin:0,padding:0,minWidth:0};function YTr({loading:e,restoreFocus:t,children:r}){let n=jTr(e,t);return(0,KTr.jsx)("fieldset",{disabled:e,style:Nei,onFocus:n,children:r})}var BA=E($(),1);function XTr({draft:e,launchers:t,onClose:r}){let n=HTr(e.focus,e.setFocus),i=oTr(a_()),o=i.includes(e.harness)?e.harness:"claude",{target:a,cloneState:s}=UTr(e.node,e.cwd),l=qTr(e,o,a,t,r);return(0,BA.jsx)(A1e,{onClose:r,onEntered:n.restore,centered:!0,children:(0,BA.jsx)("form",{onSubmit:l,children:(0,BA.jsxs)(YTr,{loading:e.modePending,restoreFocus:n.restore,children:[(0,BA.jsx)($Tr,{draft:e,harness:o,harnesses:i,focus:n,cloneState:s}),(0,BA.jsx)(zTr,{submitLabel:a.kind==="clone"?"Clone":cS[e.mode].submitLabel,disabled:a.kind==="blocked",loading:e.modePending})]})})})}var F1e=E(de(),1);var Oei=1e3;async function Bei(e){try{let t=e?`?cwd=${encodeURIComponent(e)}`:"",n=await(await fetch(`/api/new-session-defaults${t}`)).json();return Object.hasOwn(cS,n?.mode)?n.mode:null}catch{return null}}function ZTr(e,t=0){let[r,n]=(0,F1e.useState)(null);return(0,F1e.useEffect)(()=>{let i=!1,o,a=async()=>{let s=await Bei(e);i||(s?n({cwd:e,opens:t,mode:s}):o=setTimeout(a,Oei))};return a(),()=>{i=!0,clearTimeout(o)}},[e,t]),r?{mode:r.mode,pending:r.cwd!==e||r.opens!==t}:null}function QTr(e,{visible:t,names:r,selected:n}){if(t)return e&&r.includes(e)?e:n}var uS=E(de(),1),JTr={field:"prompt",selectionStart:0,selectionEnd:0};function eCr(){let[e,t]=(0,uS.useState)(""),[r,n]=(0,uS.useState)(),[i,o]=(0,uS.useState)(),[a,s]=(0,uS.useState)("claude"),[l,u]=(0,uS.useState)(),[f,d]=(0,uS.useState)(JTr),h=(0,uS.useCallback)(()=>{t(""),n(void 0),o(void 0),u(void 0),d(JTr)},[]);return{prompt:e,cwd:r,mode:i,harness:a,node:l,focus:f,setPrompt:t,setNode:u,setCwd:n,setMode:o,setHarness:s,setFocus:d,clear:h}}function tCr(e,t=ZTr){let{selectedCwd:r}=Fn(),n=_c(),i=eCr(),o=i.cwd??r,a=t(o,e);return a?{...i,cwd:o,mode:i.mode??a.mode,modePending:i.mode===void 0&&a.pending,node:QTr(i.node,n)}:null}function rCr(e){Eo(qn("newSession").matches,e)}var nCr=E(de(),1);function iCr(e,t){let{selectedCwd:r}=Fn(),[n,i]=Uc(),o=n.get("new"),a=n.get("newCwd")??r,{setPrompt:s,setCwd:l,setFocus:u}=e??{};(0,nCr.useEffect)(()=>{o===null||!s||!l||!u||(o&&(s(o),l(a),u({field:"prompt",selectionStart:o.length,selectionEnd:o.length})),t(),i(f=>(f.delete("new"),f.delete("newCwd"),f),{replace:!0}))},[o,a,s,l,u,t,i])}var aCr=E($(),1);function oCr({launchers:e}){let[t,r]=(0,mX.useState)(!1),[n,i]=(0,mX.useState)(0),o=tCr(n),a=(0,mX.useCallback)(()=>{r(!0),i(s=>s+1)},[]);return rCr(a),iCr(o,a),!t||!o?null:(0,aCr.jsx)(XTr,{draft:o,launchers:e,onClose:()=>r(!1)})}var $1e=E($(),1);function sCr({reconnecting:e}){return(0,$1e.jsx)(pl,{open:e,anchorOrigin:{vertical:"bottom",horizontal:"center"},children:(0,$1e.jsx)(gi,{severity:"info",variant:"filled",icon:(0,$1e.jsx)(io,{size:16,color:"inherit"}),children:"Reconnecting\u2026"})})}var Rv=E($(),1);function lCr({socket:e,onViewLaunchedSession:t}){return(0,Rv.jsxs)(Rv.Fragment,{children:[(0,Rv.jsx)(rTr,{}),(0,Rv.jsx)(oCr,{launchers:{onCreate:e.createSession,onCreateDesign:e.createDesignSession,onCreateHarness:e.createHarnessSession,onCreateAssist:e.createAssistSession}}),(0,Rv.jsx)(sCr,{reconnecting:e.reconnecting}),(0,Rv.jsx)(Xl,{error:e.error,onClose:e.clearError}),(0,Rv.jsx)(iTr,{notice:e.success,onClose:e.clearSuccess,onView:t})]})}var Av=E(de(),1);var Fei=6e4;function $ei(e,t,r){return t.map(n=>e.find(i=>i.name===n)??{name:n,local:n===r,loading:!0})}function cCr(e){let t=e.nodes?.local,r=e.names.join(`
4016
+ `,hxr={...dxr,borderColor:"warning.main",borderLeft:4,borderLeftColor:"warning.main",bgcolor:e=>po(e.palette.warning.main,.08)},PQn={...hxr,borderLeftColor:"transparent",backgroundImage:e=>`repeating-linear-gradient(to bottom, ${e.palette.warning.main} 0 ${uxr}px, transparent ${uxr}px ${XUe}px)`,backgroundOrigin:"border-box",backgroundRepeat:"repeat-y",backgroundSize:`4px ${XUe}px`,animation:`${AQn} 0.9s linear infinite`,"@media (prefers-reduced-motion: reduce)":{animation:"none"}},fxr={"& .MuiButtonBase-root:focus-visible":{outline:"2px solid",outlineColor:"primary.main",outlineOffset:"2px"}},xv={card:dxr,inProgressCard:hxr,inProgressRunningCard:PQn,main:{minWidth:0,textAlign:"left"},stretchedNameLink:{display:"block",fontWeight:500,color:"text.primary",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",...RQn},meta:{display:"flex",alignItems:"center",gap:1,...cxr,width:"fit-content",maxWidth:"100%",fontSize:"0.75rem",color:"text.secondary","& a, & p":{fontSize:"0.75rem"},...fxr},id:{color:"text.disabled"},actions:{display:"flex",alignItems:"center",gap:1,flexShrink:0,...cxr,...fxr}};function Xye(e){let t=e.peakContextPct>0?` \xB7 \u2593 ${Math.round(e.peakContextPct)}%`:"";return`\u2191 ${lh(e.tokensUp)} \u2193 ${lh(e.tokensDown)} \xB7 \u23F1 ${E0(e.activeMs)}${t}`}var mxr=E($(),1),LQn={width:6,height:6,borderRadius:"50%",bgcolor:"currentColor",flexShrink:0};function pxr(){return(0,mxr.jsx)(ie,{component:"span",sx:LQn})}var QK=E($(),1),gxr={display:"inline-flex",alignItems:"center",gap:.625,color:"warning.main",fontWeight:500,fontSize:"0.75rem",whiteSpace:"nowrap",borderRadius:1};function yxr({item:e,openSession:t,onSelectSession:r}){let n=Ni();if(e.status!=="in-progress"||e.currentPhase==null)return null;let i=`phase ${e.currentPhase} of ${e.totalPhases??e.currentPhase}`,o=(0,QK.jsx)(pxr,{});if(!t)return(0,QK.jsxs)(ie,{component:"span",sx:gxr,children:[o,i]});let a=()=>{r?.(t.id),n("/sessions")};return(0,QK.jsxs)(pn,{sx:gxr,title:`Open the ${t.status} session`,onClick:a,children:[o,i]})}var wp=E($(),1),MQn={display:"inline-flex",alignItems:"center",gap:.5},IQn={width:8,height:8,borderRadius:"50%",flexShrink:0},DQn={whiteSpace:"nowrap"};function NQn({type:e}){let t=Hye[e];return(0,wp.jsxs)(ie,{component:"span",sx:MQn,children:[(0,wp.jsx)(ie,{component:"span",sx:{...IQn,bgcolor:`${t}.main`}}),e]})}function OQn({item:e}){return e.usageTotal?(0,wp.jsx)(lr,{title:Xye(e.usageTotal),children:(0,wp.jsx)(ie,{component:"span",sx:DQn,children:`\u23F1 ${E0(e.usageTotal.activeMs)}`})}):null}function vxr({item:e,openSession:t,onSelectSession:r}){return(0,wp.jsxs)(ie,{sx:xv.meta,children:[(0,wp.jsx)(ie,{component:"span",sx:xv.id,children:oo(e.id)}),(0,wp.jsx)(NQn,{type:e.type}),(0,wp.jsx)(yxr,{item:e,openSession:t,onSelectSession:r}),(0,wp.jsx)(mL,{jiraKey:e.jiraKey}),(0,wp.jsx)(pT,{githubIssue:e.githubIssue,variant:"icon"}),(0,wp.jsx)(OQn,{item:e})]})}function bxr(e,t){return e.filter(r=>TB(r)?.itemId===t).reduce((r,n)=>r&&r.startedAt>=n.startedAt?r:n,void 0)}var Sxr=E($(),1),BQn={todo:"\u25CB","in-progress":"\u25D4",done:"\u25CF",wontdo:"\u2715"},FQn={todo:"text.disabled","in-progress":"warning.main",done:"success.main",wontdo:"error.main"};function $Qn(e){return{fontSize:"1.125rem",flexShrink:0,color:FQn[e]}}function xxr({status:e}){return(0,Sxr.jsx)(Le,{sx:$Qn(e),children:BQn[e]})}function Zye(e){return e.status==="todo"||e.status==="in-progress"}function zQn(e){if(e.status==="done")return e.totalPhases;if(e.status==="in-progress")return e.currentPhase}function HQn(e,t,r){return r?"complete":e<t?"done":e===t?"current":"remaining"}function Txr(e){let t=e.totalPhases,r=zQn(e);if(!t||r==null)return;let n=e.status==="done";return{reached:r,total:t,segments:Array.from({length:t},(i,o)=>({phase:o+1,kind:HQn(o+1,r,n)}))}}var IF=E($(),1),UQn={done:"text.secondary",current:"warning.main",remaining:"divider",complete:"success.main"},WQn={display:"inline-flex",alignItems:"center",gap:.5,flexShrink:0},GQn={fontSize:"0.6875rem",color:"text.secondary",fontVariantNumeric:"tabular-nums"},VQn={display:"inline-flex",alignItems:"center",gap:"2px"},qQn={width:6,height:12,borderRadius:"1px",flexShrink:0};function Cxr({item:e}){let t=Txr(e);return t?(0,IF.jsxs)(ie,{sx:WQn,title:`Phase ${t.reached} of ${t.total}`,children:[(0,IF.jsx)(ie,{component:"span",sx:GQn,children:`${t.reached}/${t.total}`}),(0,IF.jsx)(ie,{component:"span",sx:VQn,"aria-hidden":!0,children:t.segments.map(r=>(0,IF.jsx)(ie,{component:"span","data-segment":r.kind,sx:{...qQn,bgcolor:UQn[r.kind]}},r.phase))})]}):null}var Zxr=E(de(),1);var t1e=E(de(),1);var bA=E($(),1),jQn={minWidth:0,p:.5,borderRadius:"50%"};function Qye({tooltip:e,disabled:t,onClick:r,compact:n=!1}){return(0,bA.jsx)(lr,{title:e,children:(0,bA.jsx)(ie,{component:"span",sx:{display:"flex"},children:n?(0,bA.jsx)(Dt,{"aria-label":"Build",variant:"contained",color:"success",size:"small",disabled:t,sx:jQn,onClick:r,children:(0,bA.jsx)(Eg,{fontSize:"small"})}):(0,bA.jsx)(Dt,{startIcon:(0,bA.jsx)(Eg,{}),disabled:t,onClick:r,children:"Build"})})})}var ZUe=E($(),1);function Jye(e){let t=[];return e.exposeCodexActions&&t.push({kind:"codex",label:"with Codex"}),e.exposePiActions&&t.push({kind:"pi",label:"with pi"}),t}function e1e({anchorEl:e,open:t,onClose:r,options:n,onSelect:i,stop:o}){return(0,ZUe.jsx)(Os,{anchorEl:e,open:t,onClose:r,onClick:o,children:n.map(a=>(0,ZUe.jsx)(ln,{onClick:s=>{o(s),i(a.kind)},children:a.label},a.kind))})}var Sv=E($(),1);function wxr({tooltip:e,disabled:t,onBuild:r,onSelectHarness:n}){let i=Jye(a_()),o=(0,t1e.useRef)(null),[a,s]=(0,t1e.useState)(!1),l=u=>u.stopPropagation();return(0,Sv.jsxs)(Sv.Fragment,{children:[(0,Sv.jsxs)(RS,{ref:o,variant:"contained",color:"success",size:"small",disabled:t,children:[(0,Sv.jsx)(Qye,{tooltip:e,disabled:t,onClick:u=>{l(u),r()}}),i.length>0&&(0,Sv.jsx)(Dt,{"aria-label":"Build with a different harness",onClick:u=>{l(u),s(!0)},children:(0,Sv.jsx)(bd,{})})]}),(0,Sv.jsx)(e1e,{anchorEl:o.current,open:a,onClose:()=>s(!1),options:i,onSelect:u=>{s(!1),n(u)},stop:l})]})}var kxr=E($(),1),DF=st((0,kxr.jsx)("path",{d:"M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M19 18H6c-2.21 0-4-1.79-4-4 0-2.05 1.53-3.76 3.56-3.97l1.07-.11.5-.95C8.08 7.14 9.94 6 12 6c2.62 0 4.88 1.86 5.39 4.43l.3 1.5 1.53.11c1.56.1 2.78 1.41 2.78 2.96 0 1.65-1.35 3-3 3m-5.55-8h-2.9v3H8l4 4 4-4h-2.55z"}),"CloudDownloadOutlined");var c_=E($(),1),YQn={vertical:"bottom",horizontal:"center"};function r1e({clone:e}){let{prompt:t,confirm:r,cancel:n,error:i,dismissError:o}=e;return(0,c_.jsxs)(c_.Fragment,{children:[t&&(0,c_.jsx)(yi,{title:"Clone repository",message:`Clone ${t.displayName} over SSH into ${t.cloneTarget}${t.node?` on ${t.node}`:""}?`,confirmLabel:"Clone",confirmColor:"primary",onConfirm:r,onCancel:n}),(0,c_.jsx)(pl,{open:!!i,autoHideDuration:8e3,onClose:o,anchorOrigin:YQn,children:(0,c_.jsx)(gi,{severity:"error",onClose:o,variant:"filled",children:i})})]})}var P0=E(de(),1);function QUe(e){return["backlog","clone",e]}function n1e(e,t){t(QUe(e.origin),void 0,{title:`Clone ${e.displayName}`,subtitle:e.origin,...e.node&&{node:e.node}})}function _xr(e,t){return!!e&&e.length===t.length&&e.every((r,n)=>r===t[n])}function Exr(e,t,r){let n=QUe(t.origin),i=new Set(e.filter(o=>_xr(o.assistArgs,n)).map(o=>o.id));return n1e(t,r),{args:n,target:t.cloneTarget,node:t.node,preexisting:i}}function Rxr(e,t){if(!t.id){let n=e.find(i=>_xr(i.assistArgs,t.args)&&!t.preexisting.has(i.id));return n?{type:"latch",id:n.id}:null}let r=e.find(n=>n.id===t.id);return r?r.status==="done"?{type:"done"}:r.status==="error"?{type:"error",message:r.error||"Clone failed."}:null:null}function i1e(e){let{setSelectedCwd:t}=Fn(),{launchAssist:r}=il(),[n,i]=(0,P0.useState)(null),[o,a]=(0,P0.useState)(null),[s,l]=(0,P0.useState)(null),u=(0,P0.useCallback)(p=>{l(null),i(p)},[]),f=(0,P0.useCallback)(()=>i(null),[]),d=(0,P0.useCallback)(()=>l(null),[]),h=(0,P0.useCallback)(()=>{n&&(a(Exr(e,n,r)),i(null))},[n,e,r]);return(0,P0.useEffect)(()=>{if(!o)return;let p=Rxr(e,o);p&&(p.type==="latch"?a(m=>m&&{...m,id:p.id}):p.type==="done"?(o.node?t(o.target,o.node):t(o.target),a(null)):(l(p.message),a(null)))},[e,o,t]),{prompt:n,requestClone:u,confirm:h,cancel:f,error:s,dismissError:d}}function NF(e,t){return`Not cloned ${e?`on ${e}`:"locally"} \u2014 click to clone into ${t}`}var nS=E($(),1),KQn={border:1,borderStyle:"dashed"};function Axr({target:e}){let t=i1e(Kye());return(0,nS.jsxs)(nS.Fragment,{children:[(0,nS.jsx)(lr,{title:NF(e.node,e.cloneTarget),children:(0,nS.jsx)(ir,{"aria-label":"Clone",size:"small",sx:KQn,onClick:r=>{r.stopPropagation(),t.requestClone(e)},children:(0,nS.jsx)(DF,{fontSize:"small"})})}),(0,nS.jsx)(r1e,{clone:t})]})}var rX=E(de(),1);var JK=E(de(),1);function Pxr(e,t,r,n){let i=Pa(),o=yr(),a=(0,JK.useRef)(!1),[s,l]=(0,JK.useState)(!1),[u,f]=(0,JK.useState)(null);return{busy:s,error:u,clearError:()=>f(null),confirm:async()=>{if(!a.current){a.current=!0,l(!0);try{await wL(e,t,i,o)}catch{f(r),a.current=!1,l(!1);return}await n()}}}}var eX=E($(),1),XQn={done:{verb:"done",action:"Mark done"},wontdo:{verb:"won't do",action:"Won't do"}};function Lxr({itemId:e,status:t,target:r,onClose:n}){let{verb:i,action:o}=XQn[t],a=oo(e),{busy:s,error:l,clearError:u,confirm:f}=Pxr(e,t,`Failed to mark item ${a} as ${i}`,async()=>{n(),await r.onClosed()});return(0,eX.jsxs)(ia,{children:[(0,eX.jsx)(yi,{title:`Mark ${a} ${i}`,message:`${r.currentPhase??0} of ${r.totalPhases??0} phases completed. Mark this backlog item as ${i}?`,confirmLabel:o,busy:s,onConfirm:f,onCancel:n}),(0,eX.jsx)(Xl,{error:l,onClose:u})]})}var OF=E($(),1),ZQn=[{status:"done",label:"Mark done"},{status:"wontdo",label:"Won't do"}];function Mxr({anchorEl:e,open:t,onClose:r,onRefine:n,onSelect:i,stop:o}){return(0,OF.jsxs)(Os,{anchorEl:e,open:t,onClose:r,onClick:o,children:[(0,OF.jsx)(ln,{onClick:a=>{o(a),n()},children:"Refine"}),(0,OF.jsx)(Ti,{}),ZQn.map(({status:a,label:s})=>(0,OF.jsx)(ln,{onClick:l=>{o(l),i(a)},children:s},a))]})}var Ixr=E($(),1),Dxr=st((0,Ixr.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert");var JUe=E($(),1);function Nxr({anchorRef:e,onClick:t}){return(0,JUe.jsx)(ir,{ref:e,"aria-label":"More actions",size:"small",onClick:t,children:(0,JUe.jsx)(Dxr,{fontSize:"small"})})}var tX=E($(),1);function Oxr({anchorRef:e,tooltip:t,disabled:r,onBuild:n,onMore:i}){return(0,tX.jsxs)(ie,{sx:{display:"flex",alignItems:"center",gap:.5},children:[(0,tX.jsx)(Qye,{compact:!0,tooltip:t,disabled:r,onClick:n}),(0,tX.jsx)(Nxr,{anchorRef:e,onClick:i})]})}var Bxr=E(de(),1);function o1e(e){let{launchAssist:t}=il(),r=Ni(),n=Pa(),i=yr(),[o,a]=(0,Bxr.useState)(!1);return{launched:o,launch:l=>{if(o)return;a(!0);let u=i?[{node:i}]:[];t(["refine","--once",...l,oo(e)],n,...u),r("/sessions")}}}var u_=E($(),1);function Fxr({itemId:e,tooltip:t,disabled:r,onBuild:n,closeTarget:i}){let o=(0,rX.useRef)(null),[a,s]=(0,rX.useState)(!1),[l,u]=(0,rX.useState)(null),f=o1e(e),d=h=>h.stopPropagation();return(0,u_.jsxs)(u_.Fragment,{children:[(0,u_.jsx)(Oxr,{anchorRef:o,tooltip:t,disabled:r,onBuild:h=>{d(h),n()},onMore:h=>{d(h),s(!0)}}),(0,u_.jsx)(Mxr,{anchorEl:o.current,open:a,onClose:()=>s(!1),onRefine:()=>{s(!1),f.launch([])},onSelect:h=>{s(!1),u(h)},stop:d}),l&&(0,u_.jsx)(Lxr,{itemId:e,status:l,target:i,onClose:()=>u(null)})]})}var a1e=E(de(),1),eWe=(0,a1e.createContext)(()=>{});function $xr(){return(0,a1e.useContext)(eWe)}var s1e=E($(),1);function zxr({session:e}){let t=vy($xr());return(0,s1e.jsxs)(Dt,{variant:"contained",size:"small",startIcon:(0,s1e.jsx)(Hme,{}),onClick:r=>{r.stopPropagation(),t(e.id)},children:["Session ",e.id]})}function Hxr(e,t,r,n){let i=r.node?[{node:r.node}]:[];e(["backlog","run",oo(t),...n],r.cwd,...i)}function QQn(e,t){let r=e.assistArgs;if(r?.[0]!=="backlog"||r[1]!=="run"||!r[2])return!1;try{return cte(r[2])===t}catch{return!1}}function Uxr(e,t){return e.find(r=>r.status!=="done"&&r.status!=="error"&&(QQn(r,t)||TB(r)?.itemId===t))}var l1e=E(de(),1),tWe=(0,l1e.createContext)({nodes:null,names:[],visible:!1,selected:void 0,select:()=>{}});function _c(){return(0,l1e.useContext)(tWe)}function c1e(){let{nodes:e,selected:t}=_c();return t&&t!==e?.local?t:void 0}var Vxr=E(de(),1);var u1e=E(de(),1);function Wxr(e,t){return Promise.all(t.map(async r=>{let n=await JQn(e,r).catch(()=>({}));return[r,n]}))}async function JQn(e,t){let r=await fetch(qr(`/api/repo-location?origin=${encodeURIComponent(e)}`,t||void 0));return r.ok?r.json():{}}var rWe="\0";function Gxr(e,t){let[r,n]=(0,u1e.useState)(null);return(0,u1e.useEffect)(()=>{if(!e||!t)return;let i=!1;return Wxr(e,t.split(rWe)).then(o=>{i||n({origin:e,byNode:Object.fromEntries(o)})}),()=>{i=!0}},[e,t]),r}function f1e(e,t){let{cloneOn:r,originOf:n}=Fn(),i=e?n(e):void 0,o=t.filter(s=>!e||!r(e,s)).map(s=>s??"").join(rWe),a=Gxr(i,o);return(0,Vxr.useCallback)(s=>{let l=e?r(e,s):void 0;if(l)return{kind:"cloned",cwd:l};let u=a&&a.origin===i?a.byNode[s??""]:void 0;return u?.cwd?{kind:"cloned",cwd:u.cwd}:i&&u?.cloneTarget?{kind:"clonable",origin:i,cloneTarget:u.cloneTarget}:{kind:"unavailable"}},[e,r,i,a])}var BF=E(de(),1);var d1e=E(de(),1);function h1e(e){let t=(0,d1e.useRef)(null);return(0,d1e.useEffect)(()=>{e&&t.current?.scrollIntoView({block:"nearest"})},[e]),t}var jxr=E($(),1);function qxr({cwd:e,selected:t,highlighted:r,onHover:n,onSelect:i}){let o=h1e(r);return(0,jxr.jsx)(ln,{ref:o,selected:t,title:e,onClick:i,onMouseEnter:n,sx:{fontSize:12,display:"flex",justifyContent:"space-between",gap:1,...r&&{bgcolor:"action.hover"}},children:Tv(e)})}var nWe=E($(),1);function p1e({repos:e,selected:t,highlight:r,onHighlight:n,onSelect:i}){return(0,nWe.jsx)(zp,{dense:!0,children:e.map((o,a)=>(0,nWe.jsx)(qxr,{cwd:o,selected:o===t,highlighted:a===r,onHover:()=>n(a),onSelect:()=>i(o)},o))})}var m1e=E(de(),1);function f_(e,t,r,n){let[i,o]=(0,m1e.useState)(0);return(0,m1e.useEffect)(()=>{o(0)},[t]),{highlight:i,setHighlight:o,onKeyDown:s=>{let l=e.length;if(s.key==="ArrowDown")s.preventDefault(),l>0&&o(u=>(u+1)%l);else if(s.key==="ArrowUp")s.preventDefault(),l>0&&o(u=>(u-1+l)%l);else if(s.key==="Enter"){s.preventDefault();let u=e[i];u!==void 0&&(r(u),n())}else s.key==="Escape"&&(s.preventDefault(),n())}}}var nX=E($(),1);function Tv(e){let t=e.includes("\\")?"\\":"/";return e.split(t).filter(Boolean).pop()??e}var eJn={...kB};function Yxr({repos:e,selected:t,onSelect:r,close:n,initialFilter:i=""}){let[o,a]=(0,BF.useState)(i),s=(0,BF.useRef)(null);(0,BF.useEffect)(()=>{s.current?.focus()},[]);let l=o.trim().toLowerCase(),u=l?e.filter(m=>m.toLowerCase().includes(l)):e,{highlight:f,setHighlight:d,onKeyDown:h}=f_(u,l,r,n);return(0,nX.jsxs)(tn,{elevation:4,sx:eJn,children:[(0,nX.jsx)(hT,{inputRef:s,value:o,onChange:a,onKeyDown:h,placeholder:"Filter repos..."}),(0,nX.jsx)(p1e,{repos:u,selected:t,highlight:f,onHighlight:d,onSelect:m=>{r(m),n()}})]})}function g1e(e,t){return{origin:e.origin,cloneTarget:e.cloneTarget,displayName:Tv(e.origin),node:t}}function Kxr(){let e=Pa(),t=c1e(),r=f1e(e??"",[t])(t);return e?r.kind==="cloned"?{kind:"ready",cwd:r.cwd,node:t}:r.kind==="clonable"?{kind:"clone",prompt:g1e(r,t)}:{kind:"unavailable",node:t??"this machine"}:{kind:"ready",node:t}}function Xxr(e){return e?`Not cloned on ${e}`:"Build"}var iX=E($(),1);function y1e({itemId:e,compact:t}){let{launchAssist:r}=il(),n=Kxr(),i=Uxr(Kye(),e),[o,a]=(0,Zxr.useState)(!1);if(n.kind==="clone")return(0,iX.jsx)(Axr,{target:n.prompt});if(i)return(0,iX.jsx)(zxr,{session:i});let s=n.kind==="unavailable"?n.node:void 0,l=o||!!s,u=d=>{l||n.kind!=="ready"||(a(!0),Hxr(r,e,n,d))},f=Xxr(s);return t?(0,iX.jsx)(Fxr,{itemId:e,tooltip:f,disabled:l,onBuild:()=>u([]),closeTarget:t}):(0,iX.jsx)(wxr,{tooltip:f,disabled:l,onBuild:()=>u([]),onSelectHarness:d=>u(["--harness",d])})}var Qxr=E(de(),1);var FF=E($(),1);function Jxr({itemId:e,starred:t,onToggled:r}){let n=Pa(),i=yr(),[o,a]=(0,Qxr.useState)(!1);return(0,FF.jsx)(lr,{title:t?"Unstar":"Star",children:(0,FF.jsx)("span",{children:(0,FF.jsx)(ir,{"aria-label":t?"Unstar":"Star","aria-pressed":t,color:t?"warning":"default",size:"small",disabled:o,onClick:async l=>{if(l.stopPropagation(),!o){a(!0);try{await Ete(e,!t,n,i),await r()}finally{a(!1)}}},children:t?(0,FF.jsx)(Tge,{}):(0,FF.jsx)(Cge,{})})})})}var d_=E($(),1);function e2r({item:e,onReload:t}){return(0,d_.jsxs)(d_.Fragment,{children:[(0,d_.jsx)(Cxr,{item:e}),(0,d_.jsx)(Jxr,{itemId:e.id,starred:e.starred,onToggled:t}),Zye(e)&&(0,d_.jsx)(y1e,{itemId:e.id,compact:{currentPhase:e.currentPhase,totalPhases:e.totalPhases,onClosed:t}})]})}var iS=E($(),1);function tJn(e,t){return e?t?xv.inProgressRunningCard:xv.inProgressCard:xv.card}function t2r({item:e,to:t,socket:r,onReload:n}){let i=bxr(r.sessions,e.id),o=e.status==="in-progress",a=o&&i?.status==="running";return(0,iS.jsxs)(ie,{sx:tJn(o,a),children:[(0,iS.jsx)(xxr,{status:e.status}),(0,iS.jsxs)(ie,{sx:xv.main,children:[(0,iS.jsx)(Kr,{component:Cs,to:t,underline:"none",title:e.name,sx:xv.stretchedNameLink,children:e.name}),(0,iS.jsx)(vxr,{item:e,openSession:i,onSelectSession:r.selectSession})]}),(0,iS.jsx)(ie,{sx:xv.actions,children:(0,iS.jsx)(e2r,{item:e,onReload:n})})]})}var n2r=E($(),1),rJn={all:"items",story:"stories",bug:"bugs"},nJn={textAlign:"center",color:"text.disabled",py:6,px:2};function r2r({query:e,typeFilter:t}){let r=rJn[t],n=e.trim()?`No ${r} match your search.`:`No ${r} in the backlog.`;return(0,n2r.jsx)(ie,{sx:nJn,children:n})}var Cv=E($(),1),iJn={display:"flex",justifyContent:"center",py:6};function i2r({loading:e,error:t,query:r,typeFilter:n,items:i,socket:o,itemPath:a,onReload:s}){if(e)return(0,Cv.jsx)(ie,{sx:iJn,children:(0,Cv.jsx)(io,{})});let l=t&&(0,Cv.jsx)(gi,{severity:"error",children:t});return i.length===0?l||(0,Cv.jsx)(r2r,{query:r,typeFilter:n}):(0,Cv.jsxs)(Cv.Fragment,{children:[l,i.map(u=>(0,Cv.jsx)(t2r,{item:u,to:a(u),socket:o,onReload:s},u.id))]})}var $F=E(de(),1);function oJn(e){let t=new URLSearchParams;for(let n of e)t.append("knownCwd",n);let r=t.toString();return r?`/api/backlog/summary?${r}`:"/api/backlog/summary"}async function o2r({cwd:e,node:t,knownCwds:r,signal:n}){return(await fetch(Wc(oJn(r),e,t),{signal:n})).json()}function a2r(){let{repos:e,selectedCwd:t,cloneOn:r}=Fn(),n=c1e(),[i,o]=(0,$F.useState)([]),a=(0,$F.useMemo)(()=>e.map(l=>r(l,n)).filter(l=>!!l),[e,r,n]),s=t?r(t,n):void 0;return(0,$F.useEffect)(()=>{let l=new AbortController;return o2r({cwd:s,node:n,knownCwds:a,signal:l.signal}).then(o).catch(()=>{}),()=>l.abort()},[a,s,n]),{summaries:i,node:n}}var v1e=E($(),1),aJn={borderStyle:"dashed"};function s2r({summary:e,node:t,onSelectCwd:r,onRequestClone:n}){let{origin:i,displayName:o,openCount:a,isCurrent:s,cwd:l,cloneTarget:u}=e,f=!l&&!!u,d=l?()=>r(l):f&&u?()=>n({origin:i,cloneTarget:u,displayName:o,node:t}):void 0,h=(0,v1e.jsx)(rn,{label:`${o} (${a})`,size:"small",color:s?"primary":"default",variant:s?"filled":"outlined",disabled:!l&&!f,onClick:d,icon:f?(0,v1e.jsx)(DF,{}):void 0,sx:f?aJn:void 0});return!f||!u?h:(0,v1e.jsx)(lr,{describeChild:!0,title:NF(t,u),children:h})}var oX=E($(),1),sJn={flexWrap:"wrap",gap:1,mb:2};function l2r({sessions:e}){let{summaries:t,node:r}=a2r(),{setSelectedCwd:n}=Fn(),i=i1e(e);return t.length===0?null:(0,oX.jsxs)(Rt,{direction:"row",sx:sJn,children:[t.map(o=>(0,oX.jsx)(s2r,{summary:o,node:r,onSelectCwd:a=>r?n(a,r):n(a),onRequestClone:i.requestClone},o.origin)),(0,oX.jsx)(r1e,{clone:i})]})}var u2r=E($(),1);function c2r({value:e,onChange:t}){return(0,u2r.jsx)(Qn,{"data-backlog-focus":"search",autoFocus:!0,fullWidth:!0,size:"small",placeholder:"Search backlog\u2026",value:e,onChange:r=>t(r.target.value),sx:{mb:2}})}var iWe=E($(),1),b1e=st([(0,iWe.jsx)("path",{d:"M12 5.99 19.53 19H4.47zM12 2 1 21h22z"},"0"),(0,iWe.jsx)("path",{d:"M13 16h-2v2h2zm0-6h-2v5h2z"},"1")],"WarningAmber");var x1e=E(de(),1);var xA=E($(),1);async function lJn(){let[e,t]=await Promise.all([fetch("/api/backups/list"),fetch("/api/backups/status")]),r=await e.json(),{staleAfterMs:n}=await t.json();return{row:r[0]??null,staleAfterMs:n}}function f2r({warn:e,tooltip:t,children:r}){return(0,xA.jsx)(lr,{title:t,children:(0,xA.jsxs)(Kr,{component:Cs,to:"/backups",underline:"hover",color:e?"warning.main":"text.secondary",variant:"body2",sx:e?{display:"inline-flex",alignItems:"center",gap:.5}:void 0,children:[e&&(0,xA.jsx)(b1e,{fontSize:"inherit"}),r]})})}function d2r(){let[e,t]=(0,x1e.useState)();if((0,x1e.useEffect)(()=>{lJn().then(t)},[]),e===void 0)return null;let{row:r,staleAfterMs:n}=e;if(r===null)return(0,xA.jsx)(f2r,{warn:!0,tooltip:"No backup has been recorded",children:"Never backed up"});let i=new Date(r.createdAt).toLocaleString(),o=Date.now()-new Date(r.createdAt).getTime()>n;return(0,xA.jsxs)(f2r,{warn:o,tooltip:o?`Backup overdue \u2014 last backed up ${i}`:i,children:["Last backed up ",_o(String(r.createdAt))]})}var zF=E($(),1);function h2r(){let[e,t]=MF();return(0,zF.jsxs)(Ru,{value:e,exclusive:!0,size:"small","aria-label":"Status filter",onChange:(r,n)=>{n!==null&&t(n)},children:[(0,zF.jsx)(bs,{value:"todo",children:"Todo"}),(0,zF.jsx)(bs,{value:"done",children:"Done"}),(0,zF.jsx)(bs,{value:"all",children:"All"})]})}var HF=E($(),1);function p2r({value:e,onChange:t}){return(0,HF.jsxs)(Ru,{value:e,exclusive:!0,size:"small","aria-label":"Type filter",onChange:(r,n)=>{n!==null&&t(n)},children:[(0,HF.jsx)(bs,{value:"all",children:"All"}),(0,HF.jsx)(bs,{value:"story",children:"Stories"}),(0,HF.jsx)(bs,{value:"bug",children:"Bugs"})]})}var h_=E($(),1),cJn={justifyContent:"space-between",alignItems:"center",mb:3},uJn={fontWeight:600},fJn={alignItems:"center"};function m2r({typeFilter:e,onTypeFilterChange:t}){return(0,h_.jsxs)(Rt,{direction:"row",sx:cJn,children:[(0,h_.jsx)(Le,{variant:"h5",sx:uJn,children:"Backlog"}),(0,h_.jsxs)(Rt,{direction:"row",spacing:2,sx:fJn,children:[(0,h_.jsx)(d2r,{}),(0,h_.jsx)(p2r,{value:e,onChange:t}),(0,h_.jsx)(h2r,{})]})]})}var oS=E($(),1);function y2r({items:e,loading:t,error:r,socket:n,onReload:i}){let o=Pa(),a=yr(),{query:s,setQuery:l,results:u,loading:f}=lxr(),[d,h]=(0,g2r.useState)("all"),p=u??e,m=d==="all"?p:p.filter(g=>g.type===d);return(0,oS.jsxs)(oS.Fragment,{children:[(0,oS.jsx)(m2r,{typeFilter:d,onTypeFilterChange:h}),(0,oS.jsx)(c2r,{value:s,onChange:l}),(0,oS.jsx)(l2r,{sessions:n.sessions}),(0,oS.jsx)(i2r,{loading:t||f,error:u?null:r,query:s,typeFilter:d,items:m,socket:n,itemPath:g=>mT(g.id,o,a),onReload:i})]})}var E1e=E(de(),1);var SA=E(de(),1);async function oWe(e,t,r){let n=await fetch(Wc(`/api/items/${oo(e)}`,t.cwd,t.node),{signal:r});return n.ok?n.json():null}function v2r(e){let t=Pa(),r=yr(),[n,i]=(0,SA.useState)(null),[o,a]=(0,SA.useState)(!0),s=(0,SA.useCallback)(async()=>{i(await oWe(e,{cwd:t,node:r}))},[e,t,r]);return(0,SA.useEffect)(()=>{let l=new AbortController,{signal:u}=l;return a(!0),(async()=>{try{let f=await oWe(e,{cwd:t,node:r},u);if(u.aborted)return;i(f),a(!1)}catch(f){if(!u.aborted)throw f}})(),()=>l.abort()},[e,t,r]),{item:n,loading:o,reload:s}}function b2r(e,t){let r=new Set,n=new Set,i=[];for(let o of t){if(o.cwdMissing)continue;let a=SL(o),s=nm(o);!a||!s||r.has(a)||n.has(s)||(r.add(a),n.add(s),i.push(s))}return e&&!r.has(TL(e,t))&&!n.has(e)&&i.unshift(e),i}var kp="";function dJn(e){let t=new Map([[kp,[]]]);for(let r of e){let n=r.node??kp;t.set(n,[...t.get(n)??[],r])}return t}function x2r(e,t){var n;let r=new Map;for(let[i,o]of dJn(t)){let a=i===kp?e:"";for(let s of b2r(a,o)){let l=TL(s,o),u=r.get(l)??{key:l,origin:l===s?void 0:l,clones:{}};(n=u.clones)[i]??(n[i]=s),r.set(l,u)}}return[...r.values()]}function S2r(e,t){return e.clones[t]??e.clones[kp]??Object.values(e.clones)[0]}function aX(e,t){return e.find(r=>Object.values(r.clones).includes(t))}function aS(e,t){return!e||e===t?kp:e}function T2r(e,t,r,n){if(!t)return e;let i=aS(r,n);return{...e,selectedCwd:t,selectedNode:r,cloneOn:(o,a)=>{let s=e.cloneOn(o,a);return o!==t||s!==o||aS(a,n)===i?s:void 0}}}var TA={description:"item-section-description",acceptanceCriteria:"item-section-acceptance-criteria",plan:"item-section-plan",activity:"item-section-activity",comments:"item-section-comments"},sX=140,aWe="--pinned-header-height",S1e=`var(${aWe}, ${sX}px)`,C2r=`calc(${S1e} + 8px)`;function wv(e){return{id:TA[e],sx:{mb:2,scrollMarginTop:C2r}}}function T1e(e){return{id:`item-phase-${e}`,sx:{scrollMarginTop:C2r}}}var p_=E($(),1);function w2r({criteria:e}){return e.length===0?null:(0,p_.jsxs)(ie,{...wv("acceptanceCriteria"),children:[(0,p_.jsx)(Le,{variant:"overline",sx:{color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"},children:"Acceptance Criteria"}),(0,p_.jsx)(ty,{disablePadding:!0,sx:{maxWidth:"72ch"},children:e.map((t,r)=>(0,p_.jsxs)(LS,{disableGutters:!0,disablePadding:!0,sx:{py:.5,display:"flex",alignItems:"baseline"},children:[(0,p_.jsxs)(Le,{component:"span",sx:{color:"text.secondary",mr:1},children:[r+1,"."]}),(0,p_.jsx)(Ou,{component:"span",className:"markdown",html:j9(t)})]},t))})]})}var lX=E($(),1),hJn={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function k2r({description:e}){return e?(0,lX.jsxs)(ie,{...wv("description"),children:[(0,lX.jsx)(Le,{variant:"overline",sx:hJn,children:"Description"}),(0,lX.jsx)(Y9,{content:e,renderMermaid:!0})]}):null}var D2r=E(de(),1);function _2r(e,t=10){let r=i=>e.filter(o=>o.kind===i).reverse(),n=r("commit");return{branches:r("branch"),commits:n.slice(0,t),overflowCommits:n.slice(t),prs:r("pr"),slacks:r("slack"),sessions:r("session")}}var R2r=E($(),1),pJn={color:"text.secondary",alignSelf:"flex-start",textAlign:"left"};function E2r({hiddenCount:e,expanded:t,onToggle:r}){return e===0?null:(0,R2r.jsx)(Kr,{component:"button",type:"button",variant:"body2",underline:"hover",sx:pJn,onClick:n=>{n.stopPropagation(),r()},children:t?"Show fewer commits":`\u2026 and ${e} more commits`})}var CA=E($(),1),mJn={display:"flex",alignItems:"center",gap:1},gJn={color:"text.secondary",fontFamily:"monospace"},yJn={flex:1,overflowWrap:"anywhere"},vJn={color:"text.disabled","&:hover":{color:"text.primary"}};function A2r({conversation:e}){let{resumeSession:t}=il(),r=n=>{n.stopPropagation(),t(e.sessionId,e.cwd??"",e.title,e.harness)};return(0,CA.jsxs)(ie,{sx:mJn,children:[(0,CA.jsx)(Le,{variant:"body2",component:"span",sx:gJn,children:"session"}),(0,CA.jsx)(Le,{variant:"body2",component:"span",sx:yJn,children:e.title??e.sessionId}),(0,CA.jsx)(ir,{size:"small",title:"Resume",sx:vJn,onClick:r,children:(0,CA.jsx)(Eg,{sx:{fontSize:14}})})]})}var L2r=E($(),1),bJn={color:"text.disabled",ml:1};function P2r({gitRef:e}){return e.kind!=="commit"||!e.createdAt?null:(0,L2r.jsx)(ie,{component:"span",sx:bJn,children:xJn(e.createdAt)})}function xJn(e){return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function M2r(e){if(e.kind==="commit"){let t=e.title?` ${e.title}`:"";return`${e.ref.slice(0,8)}${t}`}if(e.kind==="pr"){let t=e.title?` ${e.title}`:"",r=e.state?` (${e.state.toLowerCase()})`:"";return`#${e.ref}${t}${r}`}return e.kind==="slack"||e.kind==="session"?e.title??e.ref:e.ref}var kv=E($(),1),SJn={color:"text.secondary",mr:1,fontFamily:"monospace"};function TJn({gitRef:e}){let t=M2r(e);return!e.url||e.kind==="session"?(0,kv.jsx)(kv.Fragment,{children:t}):(0,kv.jsx)(Kr,{href:e.url,target:"_blank",rel:"noopener",onClick:r=>r.stopPropagation(),children:t})}function I2r({gitRef:e}){return(0,kv.jsxs)(Le,{variant:"body2",children:[(0,kv.jsx)(ie,{component:"span",sx:SJn,children:e.kind}),(0,kv.jsx)(TJn,{gitRef:e}),(0,kv.jsx)(P2r,{gitRef:e})]})}var m_=E($(),1),CJn={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function N2r({gitRefs:e,conversations:t=[]}){let[r,n]=(0,D2r.useState)(!1),{branches:i,commits:o,overflowCommits:a,prs:s,slacks:l}=_2r(e),u=[...i,...o,...r?a:[],...s,...l];return u.length===0&&t.length===0?null:(0,m_.jsxs)(ie,{...wv("activity"),children:[(0,m_.jsx)(Le,{variant:"overline",sx:CJn,children:"Activity"}),(0,m_.jsxs)(Rt,{spacing:1,children:[u.map(f=>(0,m_.jsx)(I2r,{gitRef:f},`${f.kind}:${f.ref}`)),t.map(f=>(0,m_.jsx)(A2r,{conversation:f},f.sessionId)),(0,m_.jsx)(E2r,{hiddenCount:a.length,expanded:r,onToggle:()=>n(f=>!f)})]})]})}var wA=E($(),1),wJn={alignItems:"center",fontSize:"0.75rem",color:"text.secondary",mb:.5},kJn={color:"text.disabled"},_Jn={fontWeight:500},EJn={summary:"Phase summary",comment:"Comment"};function O2r({comment:e}){return(0,wA.jsxs)(Rt,{direction:"row",spacing:.5,sx:wJn,children:[e.id!==void 0&&(0,wA.jsxs)(Le,{variant:"caption",sx:kJn,children:["#",e.id]}),(0,wA.jsx)(Le,{variant:"caption",sx:_Jn,children:EJn[e.type]}),e.phase!==void 0&&(0,wA.jsxs)(Le,{variant:"caption",children:["\xB7 Phase ",e.phase]}),(0,wA.jsxs)(Le,{variant:"caption",children:["\xB7 ",RJn(e.timestamp)]})]})}function RJn(e){return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}var B2r=E($(),1),F2r=st((0,B2r.jsx)("path",{d:"M16 9v10H8V9zm-1.5-6h-5l-1 1H5v2h14V4h-3.5zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2z"}),"DeleteOutlined");var sWe=E(de(),1);async function $2r(e,t,r,n){let i=await fetch(Wc(`/api/items/${oo(e)}/comments/${t}`,r,n),{method:"DELETE"});if(!i.ok){let o=await i.json().catch(()=>{});throw new Error(o?.error??`Failed to delete comment (${i.status})`)}}var _v=E($(),1),AJn={mt:-.5,mr:-.5,color:"text.secondary"};function z2r({itemId:e,commentId:t,onDeleted:r}){let n=Pa(),i=yr(),[o,a]=(0,sWe.useState)(!1),[s,l]=(0,sWe.useState)(),u=()=>l(void 0);return(0,_v.jsxs)(_v.Fragment,{children:[o&&(0,_v.jsx)(yi,{message:"Are you sure you want to delete this comment?",onConfirm:async()=>{a(!1);try{await $2r(e,t,n,i),await r()}catch(f){l(f instanceof Error?f.message:"Failed to delete comment")}},onCancel:()=>a(!1)}),(0,_v.jsx)(pl,{open:s!==void 0,autoHideDuration:6e3,onClose:u,children:(0,_v.jsx)(gi,{severity:"error",variant:"filled",onClose:u,children:s})}),(0,_v.jsx)(ir,{"aria-label":"Delete comment",size:"small",sx:AJn,onClick:()=>a(!0),children:(0,_v.jsx)(F2r,{fontSize:"inherit"})})]})}var kA=E($(),1),PJn={summary:{bgcolor:"warning.light",borderColor:"warning.dark"},comment:{bgcolor:"action.selected",borderColor:"divider"}},LJn={justifyContent:"space-between",alignItems:"flex-start"},MJn={color:"text.primary",whiteSpace:"pre-wrap"};function IJn(e){return{p:1.5,bgcolor:e.bgcolor,borderColor:e.borderColor}}function H2r({comment:e,itemId:t,onDeleted:r}){return(0,kA.jsxs)(tn,{variant:"outlined",sx:IJn(PJn[e.type]),children:[(0,kA.jsxs)(Rt,{direction:"row",sx:LJn,children:[(0,kA.jsx)(O2r,{comment:e}),e.id!==void 0&&t!==void 0&&r&&(0,kA.jsx)(z2r,{itemId:t,commentId:e.id,onDeleted:r})]}),(0,kA.jsx)(Le,{variant:"body2",sx:MJn,children:e.text})]})}var UF=E($(),1),DJn={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function U2r({comments:e,itemId:t,onCommentDeleted:r}){return e.length===0?null:(0,UF.jsxs)(ie,{...wv("comments"),children:[(0,UF.jsx)(Le,{variant:"overline",sx:DJn,children:"Comments"}),(0,UF.jsx)(Rt,{spacing:1,children:e.map((n,i)=>(0,UF.jsx)(H2r,{comment:n,itemId:t,onDeleted:r},`${n.timestamp}-${i}`))})]})}var W2r=E($(),1);function WF({total:e,sx:t}){return(0,W2r.jsx)(Le,{sx:t,children:Xye(e)})}var V2r=E($(),1),NJn={color:"text.secondary",fontSize:"0.75rem"};function G2r({usage:e}){let t={tokensUp:e.reduce((r,n)=>r+n.tokensUp,0),tokensDown:e.reduce((r,n)=>r+n.tokensDown,0),activeMs:e.reduce((r,n)=>r+n.activeMs,0),peakContextPct:e.reduce((r,n)=>Math.max(r,n.peakContextPct),0)};return(0,V2r.jsx)(WF,{total:t,sx:NJn})}var sS=E($(),1);function q2r({checks:e}){return(0,sS.jsxs)(ie,{sx:{mt:1,pt:1},children:[(0,sS.jsx)(Ti,{sx:{mb:1}}),(0,sS.jsx)(Le,{variant:"overline",sx:{color:"text.disabled",letterSpacing:"0.08em"},children:"Manual Checks"}),(0,sS.jsx)(ty,{disablePadding:!0,sx:{ml:.5,mt:.5},children:e.map(t=>(0,sS.jsxs)(LS,{disableGutters:!0,disablePadding:!0,sx:{py:.25,display:"flex",alignItems:"baseline"},children:[(0,sS.jsx)(Le,{component:"span",sx:{mr:1,fontSize:"0.875rem",color:"text.secondary"},children:"\u2610"}),(0,sS.jsx)(Ou,{component:"span",className:"markdown",sx:{fontSize:"0.875rem",color:"text.secondary"},html:j9(t)})]},t))})]})}var C1e={done:{borderColor:"success.light",bgcolor:"success.light"},current:{borderColor:"info.main",bgcolor:"info.light",ring:"info.light"},upcoming:{borderColor:"divider",bgcolor:"background.paper"}};function j2r(e){let t=C1e[e];return{p:2,borderColor:t.ring?"info.main":t.borderColor,bgcolor:t.bgcolor,...t.ring?{boxShadow:"0 0 0 2px"}:{}}}var Y2r={done:"\u2713",current:"\u2022",upcoming:"\u2022"};var Z2r=E(de(),1);var K2r=E(de(),1),Ev=E($(),1);function X2r({phaseName:e,onConfirm:t,onCancel:r}){let[n,i]=(0,K2r.useState)("");return(0,Ev.jsxs)(Wl,{open:!0,onClose:r,maxWidth:"xs",fullWidth:!0,children:[(0,Ev.jsxs)(ku,{children:["Rewind to ",e,"?"]}),(0,Ev.jsxs)(wu,{children:[(0,Ev.jsx)(Le,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"This will mark all later phases as incomplete."}),(0,Ev.jsx)(Qn,{fullWidth:!0,multiline:!0,rows:3,size:"small",placeholder:"Reason for rewinding...",value:n,onChange:o=>i(o.target.value)})]}),(0,Ev.jsxs)(cd,{children:[(0,Ev.jsx)(Dt,{onClick:r,children:"Cancel"}),(0,Ev.jsx)(Dt,{variant:"contained",color:"warning",disabled:n.trim().length===0,onClick:()=>t(n.trim()),children:"Rewind"})]})]})}var _A=E($(),1);function Q2r({itemId:e,phaseNumber:t,phaseName:r,onRewound:n}){let i=Pa(),o=yr(),[a,s]=(0,Z2r.useState)(!1);return(0,_A.jsxs)(_A.Fragment,{children:[(0,_A.jsx)(Dt,{size:"small",color:"warning",variant:"outlined",onClick:()=>s(!0),sx:{ml:"auto",textTransform:"none",fontSize:"0.75rem"},children:"Rewind"}),a&&(0,_A.jsx)(X2r,{phaseName:r,onConfirm:async l=>{await uit(e,t,l,i,o),await n()},onCancel:()=>s(!1)})]})}var GF=E($(),1),OJn={done:{label:"Done",color:"success"},current:{label:"In Progress",color:"info"},upcoming:{label:"Upcoming",color:"default"}},BJn={alignItems:"center",mb:1},FJn={fontWeight:500},$Jn={fontWeight:500,fontSize:"0.75rem"};function J2r({phase:e,index:t,status:r,itemId:n,onRewind:i}){let o=OJn[r],a=r==="done"&&n!==void 0&&i;return(0,GF.jsxs)(Rt,{direction:"row",spacing:1,sx:BJn,children:[(0,GF.jsxs)(Le,{sx:FJn,children:["Phase ",t+1,": ",e.name]}),(0,GF.jsx)(rn,{label:o.label,size:"small",color:o.color,sx:$Jn}),a&&(0,GF.jsx)(Q2r,{itemId:n,phaseNumber:t+1,phaseName:e.name,onRewound:i})]})}var cX=E($(),1),zJn={color:"text.secondary",fontSize:"0.75rem",letterSpacing:"0.08em",display:"block"},HJn={color:"text.secondary",fontSize:"0.75rem",fontFamily:"monospace",display:"block"};function eSr({sessions:e}){return(0,cX.jsxs)(ie,{sx:{mb:1},children:[(0,cX.jsx)(Le,{variant:"overline",sx:zJn,children:"Sessions"}),e.map(t=>(0,cX.jsx)(Le,{sx:HJn,children:`${t.hostname} / ${t.osUser} / ${t.claudeSessionId}`},t.claudeSessionId))]})}var rSr=E($(),1),UJn={color:"text.secondary",fontSize:"0.75rem",mb:1,display:"block"};function tSr({usage:e}){return(0,rSr.jsx)(WF,{total:e,sx:UJn})}var VF=E($(),1);function nSr({tasks:e,marker:t}){return(0,VF.jsx)(ty,{disablePadding:!0,sx:{ml:.5},children:e.map(r=>(0,VF.jsxs)(LS,{disableGutters:!0,disablePadding:!0,sx:{py:.25,display:"flex",alignItems:"baseline"},children:[(0,VF.jsx)(Le,{component:"span",sx:{color:"text.secondary",mr:1},children:t}),(0,VF.jsx)(Ou,{component:"span",className:"markdown",html:j9(r.task)})]},r.task))})}var g_=E($(),1);function iSr({phase:e,index:t,status:r,itemId:n,usage:i,sessions:o,onRewind:a}){let s=e.manualChecks??[],l=T1e(t);return(0,g_.jsxs)(tn,{variant:"outlined",id:l.id,sx:{...j2r(r),...l.sx},children:[(0,g_.jsx)(J2r,{phase:e,index:t,status:r,itemId:n,onRewind:a}),i&&(0,g_.jsx)(tSr,{usage:i}),(0,g_.jsx)(nSr,{tasks:e.tasks,marker:Y2r[r]}),s.length>0&&(0,g_.jsx)(q2r,{checks:s}),o&&o.length>0&&(0,g_.jsx)(eSr,{sessions:o})]})}var uX={name:"Review",tasks:[]};function w1e(e){return e.at(-1)?.name===uX.name?e.length-1:e.length}function k1e(e,t){if(t===void 0)return"upcoming";let r=e+1;return r<t?"done":r===t?"current":"upcoming"}function oSr(e=[]){return new Map(e.map(t=>[t.phaseIdx,t]))}function aSr(e=[]){let t=new Map;for(let r of e){let n=t.get(r.phaseIdx);n?n.push(r):t.set(r.phaseIdx,[r])}return t}var lWe=E($(),1);function sSr({phases:e,currentPhase:t,itemId:r,usage:n,sessions:i,onRewind:o}){let a=oSr(n),s=aSr(i),l=w1e(e),u=(i??[]).filter(d=>d.phaseIdx>=l),f=l===e.length&&u.length>0?[...e,uX]:e;return(0,lWe.jsx)(Rt,{spacing:1.5,children:f.map((d,h)=>(0,lWe.jsx)(iSr,{phase:d,index:h,status:k1e(h,t),itemId:r,usage:a.get(h),sessions:h===l?u:s.get(h),onRewind:h<e.length?o:void 0},d.name))})}var EA=E($(),1),WJn={alignItems:"baseline",justifyContent:"space-between",mb:1},GJn={color:"text.secondary",display:"block",letterSpacing:"0.08em"};function lSr({phases:e,currentPhase:t,itemId:r,usage:n,sessions:i,onRewind:o}){return e.length===0?null:(0,EA.jsxs)(ie,{...wv("plan"),children:[(0,EA.jsxs)(Rt,{direction:"row",sx:WJn,children:[(0,EA.jsx)(Le,{variant:"overline",sx:GJn,children:"Plan"}),n&&n.length>0&&(0,EA.jsx)(G2r,{usage:n})]}),(0,EA.jsx)(sSr,{phases:e,currentPhase:t,itemId:r,usage:n,sessions:i,onRewind:o})]})}var y_=E($(),1);function cSr({item:e,onRewind:t,onCommentDeleted:r}){return(0,y_.jsxs)(y_.Fragment,{children:[e.plan&&(0,y_.jsx)(lSr,{phases:e.plan,currentPhase:e.currentPhase,itemId:e.id,usage:e.phaseUsage,sessions:e.phaseSessions,onRewind:t}),(0,y_.jsx)(N2r,{gitRefs:e.gitRefs??[],conversations:e.conversations}),e.comments&&(0,y_.jsx)(U2r,{comments:e.comments,itemId:e.id,onCommentDeleted:r})]})}var qF=E($(),1);function uSr({item:e,onRewind:t,onCommentDeleted:r}){return(0,qF.jsxs)(ie,{sx:{pt:2,flex:1,minWidth:0},children:[(0,qF.jsx)(k2r,{description:e.description}),(0,qF.jsx)(w2r,{criteria:e.acceptanceCriteria}),(0,qF.jsx)(cSr,{item:e,onRewind:t,onCommentDeleted:r})]})}var fSr="item-detail";var fX={wideQuery:`@container ${fSr} (min-width: 760px)`,containerSx:{containerType:"inline-size",containerName:fSr},columnsSx:{display:"flex",columnGap:3}};function VJn(e){let t=e.plan??[];if(t.length===0)return[];let r=w1e(t),i=r===t.length&&(e.phaseSessions??[]).some(o=>o.phaseIdx>=r)?[...t,uX]:t;return[{id:TA.plan,label:"Phases"},...i.map((o,a)=>({id:T1e(a).id,label:`${a+1}`,title:o.name,status:k1e(a,e.currentPhase),nested:!0}))]}function dSr(e){let t=[];return e.description&&t.push({id:TA.description,label:"Description"}),e.acceptanceCriteria.length>0&&t.push({id:TA.acceptanceCriteria,label:"Acceptance Criteria"}),t.push(...VJn(e)),(e.gitRefs?.length??0)+(e.conversations?.length??0)>0&&t.push({id:TA.activity,label:"Activity"}),(e.comments?.length??0)>0&&t.push({id:TA.comments,label:"Comments"}),t}var hSr="1.3125rem",pSr={position:"relative",borderRadius:1,"&::after":{content:'""',position:"absolute",inset:0,borderRadius:"inherit",pointerEvents:"none"},"&:hover::after":{bgcolor:"action.hover"},"&:active::after":{bgcolor:"action.selected"}},qJn={...pSr,display:"block",flexShrink:0,maxWidth:"100%",px:1,py:.5,border:0,bgcolor:"transparent",fontSize:hSr,lineHeight:1.2,letterSpacing:"0.02em",textAlign:"left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",color:"text.secondary"},jJn={...pSr,display:"flex",alignItems:"center",justifyContent:"center",fontSize:hSr,width:"2em",height:"2em",flexShrink:0,lineHeight:1,borderRadius:"50%",border:1,color:"text.primary"},YJn={borderColor:"text.primary",borderWidth:3},KJn={color:"text.primary",fontWeight:700,"&::after":{bgcolor:"action.selected"}};function mSr(e,t){let r=e.status&&C1e[e.status];return r?{...jJn,ml:1.5,bgcolor:r.bgcolor,borderColor:r.borderColor,borderWidth:r.ring?3:1,...t&&YJn}:{...qJn,...t&&KJn}}var ySr=E($(),1);function gSr({section:e,active:t,onSelect:r}){return(0,ySr.jsx)(pn,{sx:mSr(e,t),onClick:()=>r(e.id),title:e.title??e.label,"aria-current":t?"true":void 0,children:e.label})}function vSr(e,t=sX){return Tme(e,t)}var cWe=E($(),1),XJn=48,ZJn=260,QJn={display:"none",[fX.wideQuery]:{display:"flex"},position:"sticky",top:S1e,alignSelf:"flex-start",width:ZJn,flexShrink:0,maxHeight:`calc(100vh - ${XJn}px - ${S1e})`,alignItems:"flex-start",overflowY:"auto",overflowX:"hidden",py:2};function JJn(e){document.getElementById(e)?.scrollIntoView({behavior:"smooth",block:"start"})}function bSr({item:e,headerHeight:t}){let r=dSr(e),n=vSr(r.map(i=>i.id),t);return r.length===0?null:(0,cWe.jsx)(Rt,{component:"nav",spacing:1,sx:QJn,children:r.map(i=>(0,cWe.jsx)(gSr,{section:i,active:i.id===n,onSelect:JJn},i.id))})}var SSr=E($(),1);function xSr({to:e}){let t=Ni();return(0,SSr.jsx)(Dt,{"data-backlog-focus":"back",variant:"text",size:"small",onClick:()=>t(e),sx:{mb:2,textTransform:"none"},children:"\u2190 Back"})}var TSr=E(de(),1);var RA=E($(),1);function CSr({itemId:e,onDeleted:t}){let r=Pa(),n=yr(),[i,o]=(0,TSr.useState)(!1);return(0,RA.jsxs)(RA.Fragment,{children:[i&&(0,RA.jsx)(yi,{onConfirm:async()=>{await cit(e,r,n),await t()},onCancel:()=>o(!1)}),(0,RA.jsx)(Dt,{variant:"contained",color:"error",size:"small",onClick:()=>o(!0),children:"Delete"})]})}var uWe=E($(),1),wSr=e=>{let{value:t,options:r,colors:n,onChange:i}=e;return(0,uWe.jsx)(DS,{value:t,onChange:o=>i(o.target.value),size:"small",sx:{fontSize:"0.75rem",fontWeight:500,borderRadius:4,bgcolor:n[t].bg,color:n[t].text,"& .MuiSelect-select":{py:.5,px:1.5},"& .MuiSelect-icon":{color:"inherit"}},children:r.map(o=>(0,uWe.jsx)(ln,{value:o,children:o},o))})};var fWe=E($(),1),eei={todo:{bg:"action.selected",text:"text.primary"},"in-progress":{bg:"warning.main",text:"warning.contrastText"},done:{bg:"success.main",text:"success.contrastText"},wontdo:{bg:"error.main",text:"error.contrastText"}},tei=["todo","in-progress","done","wontdo"];function kSr({current:e,onStatusChange:t}){return t?(0,fWe.jsx)(wSr,{value:e,options:tei,colors:eei,onChange:t}):(0,fWe.jsx)(rn,{label:e,size:"small",color:Uye[e],sx:{fontWeight:500,fontSize:"0.75rem"}})}var lS=E($(),1),rei={alignItems:"center",color:"text.disabled",fontSize:"0.875rem"},nei={fontWeight:500,fontSize:"0.75rem"},iei={color:"text.secondary",fontSize:"0.75rem"};function _Sr({item:e,onStatusChange:t}){let r=Hye[e.type];return(0,lS.jsxs)(Rt,{direction:"row",spacing:1,sx:rei,children:[(0,lS.jsx)(Le,{variant:"body2",color:"text.disabled",children:oo(e.id)}),r&&(0,lS.jsx)(rn,{label:e.type,size:"small",color:r,sx:nei}),(0,lS.jsx)(kSr,{current:e.status,onStatusChange:t}),(0,lS.jsx)(mL,{jiraKey:e.jiraKey}),(0,lS.jsx)(pT,{githubIssue:e.githubIssue,origin:e.origin}),e.usageTotal&&(0,lS.jsx)(WF,{total:e.usageTotal,sx:iei})]})}var ESr=E($(),1),RSr=st((0,ESr.jsx)("path",{d:"M3 17v2h6v-2zM3 5v2h10V5zm10 16v-2h8v-2h-8v-2h-2v6zM7 9v2H3v2h4v2h2V9zm14 4v-2H11v2zm-6-4h2V7h4V5h-4V3h-2z"}),"Tune");var _1e=E(de(),1);var L0=E($(),1);function ASr({itemId:e}){let{launched:t,launch:r}=o1e(e),n=a_(),i=(0,_1e.useRef)(null),[o,a]=(0,_1e.useState)(!1),s=u=>u.stopPropagation(),l=Jye(n);return(0,L0.jsxs)(L0.Fragment,{children:[(0,L0.jsxs)(RS,{ref:i,variant:"outlined",size:"small",disabled:t,children:[(0,L0.jsx)(Dt,{startIcon:(0,L0.jsx)(RSr,{}),onClick:u=>{s(u),r([])},children:"Refine"}),l.length>0&&(0,L0.jsx)(Dt,{size:"small","aria-label":"Refine with a different harness",onClick:u=>{s(u),a(!0)},children:(0,L0.jsx)(bd,{})})]}),(0,L0.jsx)(e1e,{anchorEl:i.current,open:o,onClose:()=>a(!1),options:l,onSelect:u=>{a(!1),r(["--harness",u])},stop:s})]})}var jF=E(de(),1);function PSr(){let e=(0,jF.useRef)(null),[t,r]=(0,jF.useState)(!1);return(0,jF.useEffect)(()=>{let n=e.current;if(!n)return;let i=new IntersectionObserver(([o])=>r(!o.isIntersecting),{threshold:0});return i.observe(n),()=>i.disconnect()},[]),{sentinelRef:e,stuck:t}}var id=E($(),1),oei={justifyContent:"space-between",alignItems:"center",mb:2};function aei(e){return e.palette.mode==="dark"?"0 8px 8px -9px rgba(0, 0, 0, 0.8)":"0 6px 6px -7px rgba(0, 0, 0, 0.2)"}function sei(e){return t=>({position:"sticky",top:0,zIndex:1,bgcolor:"background.default",mx:-2,px:2,pb:2,borderBottom:1,borderColor:"divider",boxShadow:e?aei(t):"none",transition:t.transitions.create("box-shadow")})}function LSr({item:e,onDeleted:t,onStatusChange:r,ref:n}){let{sentinelRef:i,stuck:o}=PSr();return(0,id.jsxs)(id.Fragment,{children:[(0,id.jsx)(ie,{ref:i,sx:{height:0}}),(0,id.jsxs)(ie,{ref:n,sx:sei(o),children:[(0,id.jsxs)(Rt,{direction:"row",sx:oei,children:[(0,id.jsx)(xSr,{to:"/backlog"}),(0,id.jsxs)(Rt,{direction:"row",spacing:1,children:[Zye(e)&&(0,id.jsx)(y1e,{itemId:e.id}),(0,id.jsx)(ASr,{itemId:e.id}),(0,id.jsx)(CSr,{itemId:e.id,onDeleted:t})]})]}),(0,id.jsx)(Le,{variant:"h5",component:"h2",children:e.name}),(0,id.jsx)(_Sr,{item:e,onStatusChange:r})]})]})}var MSr=E(de(),1);function ISr(){let e=(0,MSr.useRef)(null),t=r0e(e,sX),r={[aWe]:`${t}px`};return{headerRef:e,headerHeight:t,style:r}}var v_=E($(),1);function DSr({item:e,onReload:t}){let r=Ni(),n=Pa(),i=yr(),{headerRef:o,headerHeight:a,style:s}=ISr();return _y("ItemDetail"),(0,v_.jsxs)(ie,{style:s,children:[(0,v_.jsx)(LSr,{ref:o,item:e,onDeleted:async()=>{await t(),r("/backlog")},onStatusChange:async f=>{await wL(e.id,f,n,i),await t()}}),(0,v_.jsx)(ie,{sx:fX.containerSx,children:(0,v_.jsxs)(ie,{sx:fX.columnsSx,children:[(0,v_.jsx)(uSr,{item:e,onRewind:t,onCommentDeleted:t}),(0,v_.jsx)(bSr,{item:e,headerHeight:a})]})})]})}var AA=E($(),1),lei={display:"flex",justifyContent:"center",py:6};function NSr({onReload:e}){let[t]=Uc(),r=t.get("cwd")||void 0,n=t.get("node")||void 0,i=Fn(),o=_c().nodes?.local,a=(0,E1e.useMemo)(()=>T2r(i,r,n,o),[i,r,n,o]);return _y("ItemRoute"),(0,AA.jsx)(JH.Provider,{value:a,children:(0,AA.jsx)(mf.Provider,{value:a.selectedNode,children:(0,AA.jsx)(cei,{onReload:e})})})}function cei({onReload:e}){let{id:t}=KTe(),r=Number.NaN;try{r=cte(t??"")}catch{r=Number.NaN}let{item:n,loading:i,reload:o}=v2r(r),a=(0,E1e.useCallback)(async()=>{await Promise.all([o(),e()])},[o,e]);return i?(0,AA.jsx)(ie,{sx:lei,children:(0,AA.jsx)(io,{})}):n?(0,AA.jsx)(DSr,{item:n,onReload:a}):null}var PA=E($(),1);function OSr({items:e,loading:t,error:r,socket:n,onReload:i}){return(0,PA.jsxs)(Y5,{children:[(0,PA.jsx)(Ts,{index:!0,element:(0,PA.jsx)(y2r,{items:e,loading:t,error:r,socket:n,onReload:i})}),(0,PA.jsx)(Ts,{path:"items/:id",element:(0,PA.jsx)(NSr,{onReload:i})})]})}var M0=E(de(),1);var BSr=new Map;function FSr(e,t,r){return JSON.stringify([e??null,t,r??null])}var dX={get(e,t,r){return BSr.get(FSr(e,t,r))},set(e,t,r,n){BSr.set(FSr(e,t,n),r)}};function uei(e,t){return e===t?!0:!e||!t?!1:e.tokensUp===t.tokensUp&&e.tokensDown===t.tokensDown&&e.activeMs===t.activeMs&&e.peakContextPct===t.peakContextPct}function $Sr(e,t){return e===t?!0:e.length!==t.length?!1:e.every((r,n)=>{let i=t[n];return r.id===i.id&&r.type===i.type&&r.name===i.name&&r.status===i.status&&r.starred===i.starred&&uei(r.usageTotal,i.usageTotal)})}function zSr({setItems:e,setLoading:t,setError:r}){return{onLoaded:n=>{e(i=>$Sr(i,n)?i:n),t(!1),r(null)},onError:n=>{t(!1),r(n)}}}async function HSr(e,t,r,n){let i=await gT({cwd:e,node:n,signal:r,filter:t});return r.aborted||dX.set(e,t,i,n),i}function USr(e,t,r,{onLoaded:n,onError:i},o){return(async()=>{try{let a=await HSr(e,t,r,o);r.aborted||n(a)}catch(a){r.aborted||i(a instanceof Error?a.message:"Failed to load.")}})()}var fei=5e3;function WSr(e,t,r,n){let i=new AbortController,o=!1,a=()=>{o||(o=!0,USr(e,t,i.signal,r,n).finally(()=>{o=!1}))};a();let s=setInterval(a,fei);return()=>{i.abort(),clearInterval(s)}}function GSr(){let e=Pa(),t=yr(),[r]=MF(),n=dX.get(e,r,t),i=n??[],o=n===void 0,[a,s]=(0,M0.useState)(i),[l,u]=(0,M0.useState)(o),[f,d]=(0,M0.useState)(null),[h,p]=(0,M0.useState)(e),[m,g]=(0,M0.useState)(t),[y,v]=(0,M0.useState)(r);(e!==h||t!==m||r!==y)&&(p(e),g(t),v(r),s(i),u(o),d(null));let b=(0,M0.useCallback)(async()=>{let x=await gT({cwd:e,node:t,filter:r});s(x),dX.set(e,r,x,t),u(!1)},[e,t,r]);return(0,M0.useEffect)(()=>WSr(e,r,zSr({setItems:s,setLoading:u,setError:d}),t),[e,t,r]),{items:a,loading:l,error:f,reload:b}}var YF=E($(),1);function VSr({socket:e}){let{items:t,loading:r,error:n,reload:i}=GSr();return wre(!r),(0,YF.jsx)(YUe.Provider,{value:e.sessions,children:(0,YF.jsx)(eWe.Provider,{value:e.selectSession,children:(0,YF.jsx)(Y5,{children:(0,YF.jsx)(Ts,{path:"/*",element:(0,YF.jsx)(OSr,{items:t,loading:r,error:n,socket:e,onReload:i})})})})})}var dWe=E($(),1);function qSr({socket:e}){return(0,dWe.jsx)(fz,{maxWidth:"lg",sx:{py:3,px:2},children:(0,dWe.jsx)(VSr,{socket:e})})}var Mi=E($(),1);function jSr({socket:e}){return _y("AppRoutes"),(0,Mi.jsxs)(Mi.Fragment,{children:[(0,Mi.jsx)(ecr,{}),(0,Mi.jsx)(Y5,{children:(0,Mi.jsxs)(Ts,{element:(0,Mi.jsx)(ast,{socket:e}),children:[(0,Mi.jsx)(Ts,{path:"sessions",element:(0,Mi.jsx)(vvr,{socket:e})}),(0,Mi.jsx)(Ts,{path:"backlog/*",element:(0,Mi.jsx)(qSr,{socket:e})}),(0,Mi.jsx)(Ts,{path:"next",element:(0,Mi.jsx)(elr,{sessions:e.sessions,selectSession:e.selectSession})}),(0,Mi.jsx)(Ts,{path:"news",element:(0,Mi.jsx)(lsr,{})}),(0,Mi.jsx)(Ts,{path:"releases",element:(0,Mi.jsx)(Xlr,{})}),(0,Mi.jsx)(Ts,{path:"usage",element:(0,Mi.jsx)(nxr,{})}),(0,Mi.jsx)(Ts,{path:"backups",element:(0,Mi.jsx)(pst,{})}),(0,Mi.jsx)(Ts,{path:"config",element:(0,Mi.jsx)(mct,{})}),(0,Mi.jsx)(Ts,{path:"updates",element:(0,Mi.jsx)(hbr,{reconnecting:e.reconnecting,selectSession:e.selectSession})}),(0,Mi.jsx)(Ts,{path:"diff",element:(0,Mi.jsx)(Ear,{socket:e})}),(0,Mi.jsx)(Ts,{path:"file",element:(0,Mi.jsx)(nsr,{socket:e})}),(0,Mi.jsx)(Ts,{path:"*",element:(0,Mi.jsx)(tCe,{to:"/sessions",replace:!0})})]})})]})}var M1e=E(de(),1);var L1e=E(de(),1);function YSr(e,t,r){if(!e)return"Select a repo to search files.";if(r.error)return"Couldn't search files in this repo.";if(!(r.files.length>0||r.loading))return t?"No matching files.":"No files in this repo."}var b_=E($(),1),dei={display:"flex",gap:1,alignItems:"center",minWidth:0},hei={display:"flex",gap:1,alignItems:"baseline",minWidth:0,overflow:"hidden"},pei={fontFamily:"monospace",fontSize:13,whiteSpace:"nowrap"},mei={fontFamily:"monospace",fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};function gei(e){let t=e.lastIndexOf("/");return t===-1?{dir:"",basename:e}:{dir:e.slice(0,t),basename:e.slice(t+1)}}function KSr({files:e,highlight:t,onHighlight:r,onSelect:n}){return(0,b_.jsx)(zp,{dense:!0,sx:{py:0},children:e.map((i,o)=>{let{dir:a,basename:s}=gei(i);return(0,b_.jsxs)(ln,{selected:o===t,onMouseEnter:()=>r(o),onClick:()=>n(i),sx:dei,children:[(0,b_.jsx)(tB,{path:i}),(0,b_.jsxs)(ie,{sx:hei,children:[(0,b_.jsx)(Le,{component:"span",sx:pei,children:s}),(0,b_.jsx)(Le,{component:"span",color:"text.secondary",sx:mei,children:a})]})]},i)})})}var R1e=E($(),1),yei={maxHeight:420,overflowY:"auto"},vei={px:2,py:2,fontSize:13};function XSr({message:e,files:t,highlight:r,onHighlight:n,onSelect:i}){return(0,R1e.jsx)(ie,{sx:yei,children:e?(0,R1e.jsx)(Le,{color:"text.secondary",sx:vei,children:e}):(0,R1e.jsx)(KSr,{files:t,highlight:r,onHighlight:n,onSelect:i})})}var ZSr=E($(),1),bei={mt:6,alignSelf:"flex-start"};function A1e({onClose:e,onEntered:t,centered:r=!1,children:n}){return(0,ZSr.jsx)(Wl,{open:!0,onClose:e,maxWidth:"sm",fullWidth:!0,slotProps:{paper:{sx:r?void 0:bei},transition:{onEntered:t}},children:n})}var P1e=E(de(),1);var QSr={files:[],loading:!1,error:!1};function JSr(e,t){let[r,n]=(0,P1e.useState)(QSr),i=yr();return(0,P1e.useEffect)(()=>{if(!e){n(QSr);return}let o=!1;return n(s=>({...s,loading:!0})),(async()=>{try{let s=await fetch(qr(`/api/files?cwd=${encodeURIComponent(e)}&q=${encodeURIComponent(t)}`,i));if(!s.ok)throw new Error(`HTTP ${s.status}`);let l=await s.json();if(o)return;n({files:Array.isArray(l.files)?l.files:[],loading:!1,error:!1})}catch{o||n({files:[],loading:!1,error:!0})}})(),()=>{o=!0}},[e,t,i]),r}var LA=E($(),1);function xei(e,t,r){let n=new URLSearchParams({path:e});return t&&n.set("cwd",t),t&&r&&n.set("node",r),`/file?${n}`}function eTr({onClose:e}){let{worktreeNode:t}=Fn();return(0,LA.jsx)(mf.Provider,{value:t,children:(0,LA.jsx)(Sei,{onClose:e})})}function Sei({onClose:e}){let{worktreeCwd:t,worktreeNode:r}=Fn(),[n,i]=(0,L1e.useState)(""),o=JSr(t,n),a=Ni(),s=(0,L1e.useRef)(null),l=p=>a(xei(p,t,r)),{highlight:u,setHighlight:f,onKeyDown:d}=f_(o.files,n,l,e),h=p=>{l(p),e()};return(0,LA.jsxs)(A1e,{onClose:e,onEntered:()=>s.current?.focus(),children:[(0,LA.jsx)(hT,{autoFocus:!0,inputRef:s,value:n,onChange:i,onKeyDown:d,placeholder:"Search files by name..."}),(0,LA.jsx)(XSr,{message:YSr(t,n,o),files:o.files,highlight:u,onHighlight:f,onSelect:h})]})}function tTr(e){Eo(qn("quickOpen").matches,e)}var nTr=E($(),1);function rTr(){let[e,t]=(0,M1e.useState)(!1);return tTr((0,M1e.useCallback)(()=>t(!0),[])),e?(0,nTr.jsx)(eTr,{onClose:()=>t(!1)}):null}var I1e=E($(),1);function iTr({notice:e,onClose:t,onView:r}){let n=e?.sessionId??null;return(0,I1e.jsx)(pl,{open:e!==null,autoHideDuration:6e3,onClose:t,anchorOrigin:{vertical:"bottom",horizontal:"center"},children:(0,I1e.jsx)(gi,{severity:"success",variant:"filled",onClose:t,action:n!==null?(0,I1e.jsx)(Dt,{color:"inherit",size:"small",onClick:()=>r(n),children:"View"}):void 0,children:e?.message})})}var mX=E(de(),1);function oTr(e){let t=["claude"];return e.exposeCodexActions&&t.push("codex"),e.exposePiActions&&t.push("pi"),t}var vTr=E(de(),1);var aTr=E($(),1),sTr=st((0,aTr.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2"}),"Circle");var x_="0.932.4";var Tei={connected:"success.main",connecting:"warning.main",disconnected:"error.main","version-blocked":"error.main"};function lTr(e){return e?Tei[e]:"success.main"}function cTr(e){return e.split("-")[0].split(".").map(Number)}function uTr(e,t){if(!e||!t||e===t)return;let r=cTr(e),n=cTr(t);for(let i=0;i<Math.max(r.length,n.length);i++){let o=(r[i]??0)-(n[i]??0);if(Number.isNaN(o))return;if(o!==0)return o<0?"behind":"ahead"}}var D1e=E(de(),1),hWe=(0,D1e.createContext)(null);function N1e(){return(0,D1e.useContext)(hWe)}var MA=E($(),1),Cei={height:16,fontSize:10},wei={opacity:.6,fontSize:"0.85em"};function kei(e,t){if(t===e.local)return"this machine";let r=e.links.find(n=>n.name===t);return r?r.error?`${r.state}: ${r.error}`:r.state:""}function hX({nodes:e,name:t,showVersion:r=!1}){let n=N1e()??x_,i=e.links.find(a=>a.name===t),o=uTr(i?.peerVersion,n);return(0,MA.jsx)(lr,{title:kei(e,t),placement:"right",children:(0,MA.jsxs)(ie,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:.75},children:[(0,MA.jsx)(sTr,{sx:{fontSize:8,color:lTr(i?.state)}}),t,r&&i?.peerVersion&&(0,MA.jsxs)(ie,{component:"span",sx:wei,children:["v",i.peerVersion]}),o&&(0,MA.jsx)(rn,{label:o,size:"small",color:o==="behind"?"warning":"info",sx:Cei})]})})}var IA=E($(),1),_ei={opacity:.6},Eei={display:"inline-flex",alignItems:"center",gap:.5,px:.5,border:1,borderStyle:"dashed",borderRadius:1};function fTr({nodes:e,name:t,clone:r}){let n=(0,IA.jsx)(hX,{nodes:e,name:t});return r.kind==="cloned"?n:r.kind==="unavailable"?(0,IA.jsx)(ie,{component:"span",sx:_ei,children:n}):(0,IA.jsx)(lr,{title:NF(t,r.cloneTarget),children:(0,IA.jsxs)(ie,{component:"span",sx:Eei,children:[(0,IA.jsx)(DF,{sx:{fontSize:14}}),n]})})}var hTr=E($(),1),Rei={px:1.5,borderRadius:.75,fontSize:12,fontWeight:600,color:"text.secondary","&:hover":{color:"text.primary",bgcolor:"action.hover"},"&[aria-checked='true']":{color:"primary.main",bgcolor:"action.selected"},"&.Mui-focusVisible":{outline:2,outlineColor:"primary.main"}};function dTr({value:e,label:t,checked:r,autoFocus:n,onSelect:i}){return(0,hTr.jsx)(pn,{role:"radio","aria-checked":r,"data-value":e,tabIndex:r?0:-1,autoFocus:n&&r,onClick:i,sx:Rei,children:t})}var pTr={ArrowRight:1,ArrowLeft:-1};function Aei(e,t,r){if(e.key==="Tab"){let n=t+(e.shiftKey?-1:1);return n>=0&&n<r?n:void 0}return(t+pTr[e.key]+r)%r}function mTr(e,t,r,n){return i=>{if(i.key==="ArrowUp"||i.key==="ArrowDown"){if(!n)return;i.preventDefault(),n();return}if(i.key!=="Tab"&&!pTr[i.key]){E2(i);return}let o=Aei(i,e.indexOf(t),e.length);o!==void 0&&(i.preventDefault(),r(e[o]),i.currentTarget.querySelector(`[data-value="${e[o]}"]`)?.focus())}}var gTr=E(de(),1);function KF(e){return e?.querySelector('[aria-checked="true"]')}function yTr(e,t){(0,gTr.useEffect)(()=>{let r=e.current;if(!r?.contains(document.activeElement))return;let n=KF(r);n&&n!==document.activeElement&&n.focus()},[e,t])}var pWe=E($(),1),Pei={border:1,borderColor:"divider",borderRadius:1,height:40,p:"2px",flexShrink:0};function O1e({label:e,options:t,value:r,onChange:n,optionLabel:i=u=>u,groupRef:o,autoFocus:a,onTrack:s,onToggleRow:l}){return yTr(o,r),(0,pWe.jsx)(Rt,{ref:o,direction:"row",role:"radiogroup","aria-label":e,spacing:"2px",onFocus:s,onKeyDown:mTr(t,r,n,l),sx:Pei,children:t.map(u=>(0,pWe.jsx)(dTr,{value:u,label:i(u),checked:u===r,autoFocus:a,onSelect:()=>n(u)},u))})}var mWe=E($(),1);function bTr({value:e,onChange:t,cloneState:r}){let{nodes:n,names:i,visible:o}=_c(),a=(0,vTr.useRef)(null);return!o||!n||!e?null:(0,mWe.jsx)(O1e,{label:"Machine",options:i,value:e,onChange:t,optionLabel:s=>(0,mWe.jsx)(fTr,{nodes:n,name:s,clone:r(s)}),groupRef:a,autoFocus:!1,onTrack:()=>{}})}var STr=E($(),1);function xTr({value:e,onChange:t,placeholder:r,inputRef:n,autoFocus:i,onTrack:o}){return(0,STr.jsx)(Qn,{value:e,onChange:a=>t(a.target.value),onKeyDown:E2,onFocus:o,onSelect:o,inputRef:n,placeholder:r,autoFocus:i,fullWidth:!0,multiline:!0,minRows:3,maxRows:12,slotProps:{htmlInput:{"aria-label":"Prompt"},input:{sx:{fontSize:14}}}})}var kTr=E(de(),1);var cS={draft:{placeholder:"Describe the backlog item to draft...",submitLabel:"Start draft",sessionMode:"assist-draft"},bug:{placeholder:"Describe the bug: what happened, what you expected...",submitLabel:"File bug",sessionMode:"assist-bug"},prompt:{placeholder:kge,submitLabel:"Start session"},design:{placeholder:"Describe the design task...",submitLabel:"Start design"}},TTr=Object.keys(cS);var gWe=E($(),1);function CTr({anchor:e,harness:t,harnesses:r,onPick:n,onClose:i}){return(0,gWe.jsx)(Os,{open:e!==null,anchorEl:e,onClose:i,slotProps:{list:{dense:!0,"aria-label":"Harness"}},children:r.map(o=>(0,gWe.jsx)(ln,{role:"menuitemradio","aria-checked":o===t,selected:o===t,onClick:()=>{n(o),i()},sx:{fontSize:13},children:Mu(o)},o))})}var DA=E($(),1);function wTr(e){return t=>t==="prompt"&&e?(0,DA.jsxs)(DA.Fragment,{children:["prompt",(0,DA.jsx)(ie,{component:"span",sx:{fontWeight:400,whiteSpace:"pre"},children:` \xB7 ${Mu(e)}`}),(0,DA.jsx)(bd,{sx:{fontSize:18,mr:-.75}})]}):t}var NA=E($(),1);function _Tr({draft:e,harness:t,harnesses:r,focus:n}){let[i,o]=(0,kTr.useState)(null),a=e.mode==="prompt"&&r.length>1,s=()=>o(KF(n.modeRef.current)??null),l=u=>{a&&u==="prompt"?s():e.setMode(u)};return(0,NA.jsxs)(NA.Fragment,{children:[(0,NA.jsx)(O1e,{label:"Mode",options:TTr,value:e.mode,onChange:l,optionLabel:wTr(r.length>1?t:void 0),groupRef:n.modeRef,autoFocus:n.autoFocus==="mode",onTrack:n.trackMode,onToggleRow:a?s:void 0}),(0,NA.jsx)(CTr,{anchor:i,harness:t,harnesses:r,onPick:e.setHarness,onClose:()=>o(null)})]})}var BTr=E(de(),1);var yWe=E($(),1),Lei={zIndex:e=>e.zIndex.modal+1};function ETr({open:e,anchor:t,children:r}){return(0,yWe.jsx)(W6,{open:e,anchorEl:t,placement:"bottom-start",sx:Lei,children:(0,yWe.jsx)(tn,{sx:{maxHeight:240,overflowY:"auto",width:t?.clientWidth},onMouseDown:n=>n.preventDefault(),children:r})})}function RTr(e){return{htmlInput:{role:"combobox","aria-label":"Repo","aria-expanded":e},input:{sx:{fontSize:13,height:40}}}}var ATr=E(H$(),1);function PTr({open:e,highlighted:t,accept:r,close:n,navigate:i,openList:o}){return a=>{if(!e){if(a.key==="ArrowDown"){a.preventDefault(),o();return}E2(a);return}if(a.key!=="Escape"){if(a.key==="Enter"){if(a.preventDefault(),t===void 0)return;(0,ATr.flushSync)(()=>{r(t),n()}),E2(a);return}if(a.key!=="Tab"){i(a);return}t!==void 0&&r(t),n()}}}function LTr(e,t){let r=t.trim().toLowerCase();return r?e.filter(n=>Tv(n).toLowerCase().includes(r)):e}var vWe=E(de(),1);function MTr(){let[e,t]=(0,vWe.useState)(!1),[r,n]=(0,vWe.useState)("");return{open:e,query:r,show:()=>t(!0),filterBy:i=>{n(i),t(!0)},close:()=>{t(!1),n("")}}}var DTr=E(de(),1);var ITr=e=>e?Tv(e):"";function NTr(e){let[t,r]=(0,DTr.useState)(()=>ITr(e));return{text:t,setText:r,showRepo:n=>r(ITr(n))}}function OTr(e,t,r){let n=MTr(),i=NTr(t),o=LTr(e,n.query),a=f=>{r(f),i.showRepo(f)},s=f_(o,n.query,a,n.close),l=()=>s.setHighlight(Math.max(e.indexOf(t),0)),u=()=>{l(),n.show()};return{open:n.open,text:i.text,filtered:o,highlight:s.highlight,setHighlight:s.setHighlight,onKeyDown:PTr({open:n.open,highlighted:o[s.highlight],accept:a,close:n.close,navigate:s.onKeyDown,openList:u}),onClick:()=>{n.open||u()},onType:f=>{i.setText(f),n.filterBy(f)},onFocus:l,onBlur:()=>{n.close(),i.showRepo(t)},pick:f=>{a(f),n.close()}}}var XF=E($(),1);function FTr({repos:e,value:t,onChange:r,inputRef:n,autoFocus:i,onTrack:o}){let a=OTr(e,t,r),s=(0,BTr.useRef)(null);return(0,XF.jsxs)(ie,{ref:s,sx:{flex:1,minWidth:0},children:[(0,XF.jsx)(Qn,{value:a.text,onChange:l=>a.onType(l.target.value),onFocus:l=>{l.target.select(),a.onFocus(),o()},inputRef:n,autoFocus:i,onClick:a.onClick,onBlur:a.onBlur,onKeyDown:a.onKeyDown,placeholder:"Repo",size:"small",fullWidth:!0,slotProps:RTr(a.open)}),(0,XF.jsx)(ETr,{open:a.open,anchor:s.current,children:(0,XF.jsx)(p1e,{repos:a.filtered,selected:t,highlight:a.highlight,onHighlight:a.setHighlight,onSelect:a.pick})})]})}var S_=E($(),1);function $Tr({cloneState:e,...t}){let{draft:r,focus:n}=t,{repos:i}=Fn();return(0,S_.jsxs)(Rt,{spacing:1,sx:{p:1},children:[(0,S_.jsx)(xTr,{value:r.prompt,onChange:r.setPrompt,placeholder:cS[r.mode].placeholder,inputRef:n.promptRef,autoFocus:n.autoFocus==="prompt",onTrack:n.trackPrompt}),(0,S_.jsxs)(Rt,{direction:"row",spacing:1,sx:{alignItems:"flex-start"},children:[(0,S_.jsx)(FTr,{repos:i,value:r.cwd,onChange:r.setCwd,inputRef:n.repoRef,autoFocus:n.autoFocus==="repo",onTrack:n.trackRepo}),(0,S_.jsx)(_Tr,{...t})]}),(0,S_.jsx)(bTr,{value:r.node,onChange:r.setNode,cloneState:e})]})}var ZF=E($(),1),Mei=["Enter start","Shift+Enter newline","Esc close"],Iei={alignItems:"center",px:1.5,py:1,borderTop:1,borderColor:"divider",bgcolor:"action.hover"};function zTr({submitLabel:e,disabled:t=!1,loading:r=!1}){return(0,ZF.jsxs)(Rt,{direction:"row",spacing:1.5,sx:Iei,children:[(0,ZF.jsx)(Rt,{direction:"row",spacing:1.5,sx:{mr:"auto"},children:Mei.map(n=>(0,ZF.jsx)(Le,{variant:"caption",color:"text.secondary",children:n},n))}),(0,ZF.jsx)(Dt,{type:"submit",variant:"contained",size:"small",disabled:t,loading:r,children:e})]})}var OA=E(de(),1);function HTr(e,t){let r=(0,OA.useRef)(e),n=(0,OA.useRef)(null),i=(0,OA.useRef)(null),o=(0,OA.useRef)(null),a=(0,OA.useCallback)(u=>{n.current=u;let{field:f,selectionStart:d,selectionEnd:h}=r.current;u&&f==="prompt"&&u.setSelectionRange(d,h)},[]),s=u=>{let f=u.target;t({field:"prompt",selectionStart:f.selectionStart,selectionEnd:f.selectionEnd})},l=()=>{if(o.current?.closest("form")?.contains(document.activeElement))return;let{field:u}=r.current;({repo:i.current,mode:KF(o.current),prompt:n.current}[u]??n.current)?.focus()};return{autoFocus:e.field,promptRef:a,repoRef:i,modeRef:o,trackPrompt:s,trackRepo:()=>t({...e,field:"repo"}),trackMode:()=>t({...e,field:"mode"}),restore:l}}function Dei(e,t,r){return e?r.kind==="cloned"?{kind:"launch",cwd:r.cwd}:r.kind==="clonable"?{kind:"clone",prompt:g1e(r,t)}:{kind:"blocked"}:{kind:"launch",cwd:e}}function UTr(e,t){let{names:r,visible:n}=_c(),i=f1e(t,n?r:[void 0]);return{cloneState:i,target:Dei(t,e,i(e))}}function WTr({mode:e,harness:t,prompt:r,cwd:n,node:i},o){let a=n||void 0,s=i?[i]:[];if(e==="prompt"){t==="claude"?o.onCreate(r,a,...s):o.onCreateHarness(t,r,a,...s);return}if(e==="design"){o.onCreateDesign(r,a,...s);return}let l=i?[{node:i}]:[];Vcr(cS[e].sessionMode,n,(u,f)=>o.onCreateAssist(u,f,...l),()=>{},r)}function GTr(e,t,r,n){return r.kind==="blocked"||e.modePending?!1:r.kind==="clone"?(n1e(r.prompt,n.onCreateAssist),!0):(WTr({mode:e.mode,harness:t,prompt:e.prompt,cwd:r.cwd,node:e.node},n),e.clear(),!0)}var B1e=E(de(),1);function VTr(e,t){let[r,n]=(0,B1e.useState)(!1);return(0,B1e.useEffect)(()=>{!r||e.modePending||(n(!1),t())},[r,e.modePending,t]),()=>{e.modePending?n(!0):t()}}function qTr(e,t,r,n,i){let o=VTr(e,()=>{GTr(e,t,r,n)&&i()});return a=>{a.preventDefault(),o()}}var pX=E(de(),1);function jTr(e,t){let r=(0,pX.useRef)(e),n=(0,pX.useRef)(null);return(0,pX.useEffect)(()=>{if(r.current&&!e){let i=n.current;i?.isConnected?i.focus():t()}r.current=e},[e,t]),i=>{n.current=i.target}}var KTr=E($(),1),Nei={border:0,margin:0,padding:0,minWidth:0};function YTr({loading:e,restoreFocus:t,children:r}){let n=jTr(e,t);return(0,KTr.jsx)("fieldset",{disabled:e,style:Nei,onFocus:n,children:r})}var BA=E($(),1);function XTr({draft:e,launchers:t,onClose:r}){let n=HTr(e.focus,e.setFocus),i=oTr(a_()),o=i.includes(e.harness)?e.harness:"claude",{target:a,cloneState:s}=UTr(e.node,e.cwd),l=qTr(e,o,a,t,r);return(0,BA.jsx)(A1e,{onClose:r,onEntered:n.restore,centered:!0,children:(0,BA.jsx)("form",{onSubmit:l,children:(0,BA.jsxs)(YTr,{loading:e.modePending,restoreFocus:n.restore,children:[(0,BA.jsx)($Tr,{draft:e,harness:o,harnesses:i,focus:n,cloneState:s}),(0,BA.jsx)(zTr,{submitLabel:a.kind==="clone"?"Clone":cS[e.mode].submitLabel,disabled:a.kind==="blocked",loading:e.modePending})]})})})}var F1e=E(de(),1);var Oei=1e3;async function Bei(e){try{let t=e?`?cwd=${encodeURIComponent(e)}`:"",n=await(await fetch(`/api/new-session-defaults${t}`)).json();return Object.hasOwn(cS,n?.mode)?n.mode:null}catch{return null}}function ZTr(e,t=0){let[r,n]=(0,F1e.useState)(null);return(0,F1e.useEffect)(()=>{let i=!1,o,a=async()=>{let s=await Bei(e);i||(s?n({cwd:e,opens:t,mode:s}):o=setTimeout(a,Oei))};return a(),()=>{i=!0,clearTimeout(o)}},[e,t]),r?{mode:r.mode,pending:r.cwd!==e||r.opens!==t}:null}function QTr(e,{visible:t,names:r,selected:n}){if(t)return e&&r.includes(e)?e:n}var uS=E(de(),1),JTr={field:"prompt",selectionStart:0,selectionEnd:0};function eCr(){let[e,t]=(0,uS.useState)(""),[r,n]=(0,uS.useState)(),[i,o]=(0,uS.useState)(),[a,s]=(0,uS.useState)("claude"),[l,u]=(0,uS.useState)(),[f,d]=(0,uS.useState)(JTr),h=(0,uS.useCallback)(()=>{t(""),n(void 0),o(void 0),u(void 0),d(JTr)},[]);return{prompt:e,cwd:r,mode:i,harness:a,node:l,focus:f,setPrompt:t,setNode:u,setCwd:n,setMode:o,setHarness:s,setFocus:d,clear:h}}function tCr(e,t=ZTr){let{selectedCwd:r}=Fn(),n=_c(),i=eCr(),o=i.cwd??r,a=t(o,e);return a?{...i,cwd:o,mode:i.mode??a.mode,modePending:i.mode===void 0&&a.pending,node:QTr(i.node,n)}:null}function rCr(e){Eo(qn("newSession").matches,e)}var nCr=E(de(),1);function iCr(e,t){let{selectedCwd:r}=Fn(),[n,i]=Uc(),o=n.get("new"),a=n.get("newCwd")??r,{setPrompt:s,setCwd:l,setFocus:u}=e??{};(0,nCr.useEffect)(()=>{o===null||!s||!l||!u||(o&&(s(o),l(a),u({field:"prompt",selectionStart:o.length,selectionEnd:o.length})),t(),i(f=>(f.delete("new"),f.delete("newCwd"),f),{replace:!0}))},[o,a,s,l,u,t,i])}var aCr=E($(),1);function oCr({launchers:e}){let[t,r]=(0,mX.useState)(!1),[n,i]=(0,mX.useState)(0),o=tCr(n),a=(0,mX.useCallback)(()=>{r(!0),i(s=>s+1)},[]);return rCr(a),iCr(o,a),!t||!o?null:(0,aCr.jsx)(XTr,{draft:o,launchers:e,onClose:()=>r(!1)})}var $1e=E($(),1);function sCr({reconnecting:e}){return(0,$1e.jsx)(pl,{open:e,anchorOrigin:{vertical:"bottom",horizontal:"center"},children:(0,$1e.jsx)(gi,{severity:"info",variant:"filled",icon:(0,$1e.jsx)(io,{size:16,color:"inherit"}),children:"Reconnecting\u2026"})})}var Rv=E($(),1);function lCr({socket:e,onViewLaunchedSession:t}){return(0,Rv.jsxs)(Rv.Fragment,{children:[(0,Rv.jsx)(rTr,{}),(0,Rv.jsx)(oCr,{launchers:{onCreate:e.createSession,onCreateDesign:e.createDesignSession,onCreateHarness:e.createHarnessSession,onCreateAssist:e.createAssistSession}}),(0,Rv.jsx)(sCr,{reconnecting:e.reconnecting}),(0,Rv.jsx)(Xl,{error:e.error,onClose:e.clearError}),(0,Rv.jsx)(iTr,{notice:e.success,onClose:e.clearSuccess,onView:t})]})}var Av=E(de(),1);var Fei=6e4;function $ei(e,t,r){return t.map(n=>e.find(i=>i.name===n)??{name:n,local:n===r,loading:!0})}function cCr(e){let t=e.nodes?.local,r=e.names.join(`
4017
4017
  `),[n,i]=(0,Av.useState)([]),o=(0,Av.useRef)(0),a=(0,Av.useCallback)(()=>{let l=r?r.split(`
4018
4018
  `):[];if(l.length===0)return;let u=++o.current;i(f=>$ei(f,l,t));for(let f of l)Nye(f,f===t).then(d=>{u===o.current&&i(h=>h.map(p=>p.name===f?d:p))})},[r,t]);(0,Av.useEffect)(()=>{a();let l=setInterval(a,Fei);return()=>clearInterval(l)},[a]);let s=n.length===0;return(0,Av.useMemo)(()=>({entries:n,loading:s,refresh:a}),[n,s,a])}var T_=E($(),1);function uCr({shell:e,children:t}){let{socket:r,selection:n,launch:i,sidebarCollapse:o}=e,a=cCr(r.nodeSelection);return(0,T_.jsx)(OUe.Provider,{value:a,children:(0,T_.jsx)(zCe.Provider,{value:o,children:(0,T_.jsx)(JH.Provider,{value:n,children:(0,T_.jsx)(tWe.Provider,{value:r.nodeSelection,children:(0,T_.jsx)(mf.Provider,{value:n.selectedNode,children:(0,T_.jsx)(w$e.Provider,{value:i,children:(0,T_.jsx)(Snt,{children:t})})})})})})})}var fCr=E($(),1),dCr=st((0,fCr.jsx)("path",{d:"M20 18c1.1 0 1.99-.9 1.99-2L22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2H0v2h24v-2zM4 6h16v10H4z"}),"Computer");var hCr=E(de(),1);var I0=E($(),1),zei={ml:1,textTransform:"none",fontSize:12};function pCr(){let{nodes:e,names:t,visible:r,selected:n,select:i}=_c(),[o,a]=(0,hCr.useState)(null);return!r||!e||!n?null:(0,I0.jsxs)(I0.Fragment,{children:[(0,I0.jsx)(Dt,{size:"small",color:"inherit",startIcon:(0,I0.jsx)(dCr,{fontSize:"small"}),"aria-label":"Machine","aria-haspopup":"menu",onClick:s=>a(s.currentTarget),sx:zei,children:(0,I0.jsx)(hX,{nodes:e,name:n})}),(0,I0.jsx)(Os,{anchorEl:o,open:!!o,onClose:()=>a(null),children:t.map(s=>(0,I0.jsx)(ln,{selected:s===n,onClick:()=>{i(s),a(null)},sx:{fontSize:13},children:(0,I0.jsx)(hX,{nodes:e,name:s,showVersion:!0})},s))})]})}var gX=E(de(),1);function mCr(e,t){return[...e[0].slice(0,-1),String(t+1)]}var z1e=E($(),1);function gCr({index:e,label:t,...r}){let{chords:n}=qn("navTab");return(0,z1e.jsx)(lr,{describeChild:!0,title:(0,z1e.jsx)(Iu,{label:t,chords:[mCr(n,e)]}),children:(0,z1e.jsx)(Qv,{label:t,...r})})}var bWe=E(de(),1);function yCr(e,t){let{bound:r}=qn("navTab"),n=e.length,i=(0,bWe.useCallback)(a=>(lU(a,r)??n)<n,[r,n]),o=(0,bWe.useCallback)(a=>{let s=e[lU(a,r)??-1];s&&t(s)},[e,t,r]);Eo(i,o)}var H1e=E(de(),1);function vCr(){let[e,t]=(0,H1e.useState)(!1);return(0,H1e.useEffect)(()=>{let r=!1;return(async()=>{try{let i=await(await fetch("/api/news/nav")).json();r||t(i?.showInNav===!0)}catch{r||t(!1)}})(),()=>{r=!0}},[]),e}var U1e=E(de(),1);async function Hei(e,t){let r=await fetch(qr(`/api/releases/configured?cwd=${encodeURIComponent(e)}`,t));return r.ok?(await r.json())?.configured===!0:void 0}function bCr(e){let[t,r]=(0,U1e.useState)(null),n=yr(),i=`${n??""}\0${e}`;return(0,U1e.useEffect)(()=>{if(!e)return;let o=!1;return Hei(e,n).catch(()=>{}).then(a=>{o||r({key:i,configured:a})}),()=>{o=!0}},[e,n,i]),t?.key===i?t.configured:void 0}var xCr=E(de(),1);function SCr(e){let{pathname:t}=Uo(),r=Ni(),n=t==="/releases"||t.startsWith("/releases/");(0,xCr.useEffect)(()=>{e===!1&&n&&r("/sessions",{replace:!0})},[e,n,r])}var Uei={path:"/sessions",label:"Sessions"},Wei={path:"/backlog",label:"Backlog"},Gei={path:"/next",label:"Next"},Vei={path:"/releases",label:"Releases"},qei={path:"/news",label:"News"};function TCr(e,t){return[Uei,Wei,Gei,...e?[Vei]:[],...t?[qei]:[]]}var xWe=E($(),1);function CCr({cwd:e}){let t=Uo(),r=Ni(),n=bCr(e),i=vCr();SCr(n);let o=n===!0,a=(0,gX.useMemo)(()=>TCr(o,i),[o,i]),s=(0,gX.useMemo)(()=>a.map(f=>f.path),[a]),l=a.findIndex(f=>t.pathname.startsWith(f.path)),u=(0,gX.useCallback)(f=>{t.pathname!==f&&r(f)},[t.pathname,r]);return yCr(s,u),(0,xWe.jsx)(S5,{value:l===-1?!1:l,textColor:"inherit",indicatorColor:"secondary",children:a.map((f,d)=>(0,xWe.jsx)(gCr,{index:d,label:f.label,onClick:()=>u(f.path)},f.path))})}var wCr=E($(),1),kCr=st((0,wCr.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m5 11h-4v4h-2v-4H7v-2h4V7h2v4h4z"}),"AddCircle");var yX=E($(),1),jei={color:"success.light"};function _Cr(){let[,e]=Uc(),{label:t,chords:r}=qn("newSession");return(0,yX.jsx)(lr,{title:(0,yX.jsx)(Iu,{label:t,chords:r}),children:(0,yX.jsx)(ir,{size:"small",sx:jei,"aria-label":"New session",onClick:()=>e(i=>(i.set("new",""),i),{replace:!0}),children:(0,yX.jsx)(kCr,{})})})}var G1e=E(de(),1);var W1e=E($(),1),Yei={color:"inherit"};function ECr({cwd:e}){let[t,r]=(0,G1e.useState)(null),n=yr();return(0,G1e.useEffect)(()=>{if(!e){r(null);return}let i=!1;return(async()=>{try{let a=await(await fetch(qr(`/api/github-url?cwd=${encodeURIComponent(e)}`,n))).json();i||r(a?.url??null)}catch{i||r(null)}})(),()=>{i=!0}},[e,n]),t?(0,W1e.jsx)(lr,{title:"Open in GitHub",children:(0,W1e.jsx)(ir,{sx:Yei,onClick:()=>window.open(t,"_blank"),children:(0,W1e.jsx)(dL,{})})}):null}var DCr=E(de(),1);var Kei={ok:"success",warn:"warning",over:"error"},Xei={ok:W0.A100,warn:gve.A100,over:U0[100]},QF="rgba(255, 255, 255, 0.7)";function JF(e){return t=>t.palette.mode==="dark"?t.palette[Kei[e]].main:Xei[e]}var ICr=E(de(),1);function V1e(e,t,r){return e!=null?Wye(e,r):t}var q1e=E($(),1);function RCr({window:e,windowSeconds:t,fallbackLabel:r,now:n}){let i=e?.used_percentage;if(i==null)return null;let o=n_(i,e?.resets_at,t,n),a=V1e(e?.resets_at,r,n);return(0,q1e.jsxs)(ie,{component:"span",children:[(0,q1e.jsxs)(ie,{component:"span",sx:{color:JF(o)},children:[Math.round(i),"%"]})," ",(0,q1e.jsxs)(ie,{component:"span",sx:{color:QF},children:["(",a,")"]})]})}var FA=E($(),1),Zei='@property --rainbow-pill-h { syntax: "<number>"; inherits: true; initial-value: 0; }',Qei=ho`
4019
4019
  from { --rainbow-pill-h: 0; }