@staff0rd/assist 0.797.0 → 0.797.1

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.
@@ -3836,7 +3836,7 @@ ${e?`File: ${e}
3836
3836
 
3837
3837
  ${Iw(n,i)}`}function qrr(e,t,r){return n=>{k1(t,e.id,spe(n)),r()}}function lpe(e){return!e||e.status==="stopped"||e.closing===!0?{unavailable:"Comments are unavailable \u2014 that session is no longer live."}:{session:e}}function jrr(e,t){return t?lpe(e.find(r=>r.claudeSessionId===t)):{unavailable:"Open this diff from a session card to comment on it."}}function Yrr({path:e,lines:t,quote:r,note:n}){return t?spe({path:e,startLine:t.start,endLine:t.end,quote:r,note:n}):`${e}
3838
3838
 
3839
- ${Iw(r,n)}`}function cpe(e,t,r){return n=>{k1(t,e.id,Yrr(n)),r()}}function Xrr(e,t,r){let[n,i]=(0,Krr.useState)(null),{session:o,unavailable:a}=jrr(e,t);return{onComment:o?qrr(o,r,()=>i(o.name)):void 0,onFileComment:o?cpe(o,r,()=>i(o.name)):void 0,onAddRule:o?ape(o,r,()=>i(o.name)):void 0,unavailable:a,sentTo:n,clearSent:()=>i(null)}}var W9e=P(ge(),1);var HDn={modify:"modified",add:"added",delete:"removed",rename:"renamed",copy:"renamed"};function Zrr(e,{query:t,changeType:r}){let n=t.trim().toLowerCase();return e.filter(i=>n&&!Nd(i).toLowerCase().includes(n)?!1:r==="all"||HDn[i.type]===r)}function Qrr(e){let t=new Map(W3(Vhe(e)).map((r,n)=>[r,n]));return[...e].sort((r,n)=>(t.get(Nd(r))??0)-(t.get(Nd(n))??0))}function Jrr({diff:e,error:t,search:r,changeType:n}){let i=(0,W9e.useMemo)(()=>t||!e?[]:Zte(e),[e,t]),o=(0,W9e.useMemo)(()=>Qrr(Zrr(i,{query:r,changeType:n})),[i,r,n]);return{files:i,visibleFiles:o}}var G9e=P(ge(),1);var upe=P(ge(),1);function Bd(e){try{let t=localStorage.getItem(e);if(!t)return[];let r=JSON.parse(t);return Array.isArray(r.items)?r.items:[]}catch{return[]}}function Fd(e,t){try{if(t.length===0){localStorage.removeItem(e);return}localStorage.setItem(e,JSON.stringify({savedAt:Date.now(),items:t}))}catch{}}function l9(e){try{localStorage.removeItem(e)}catch{}}function Dw(e){try{let t=Date.now();for(let r=localStorage.length-1;r>=0;r--){let n=localStorage.key(r);if(!n?.startsWith(e))continue;let i=localStorage.getItem(n),o=i?JSON.parse(i).savedAt:0;(!o||t-o>864e5)&&localStorage.removeItem(n)}}catch{}}var V9e="assist:diff-view-type";function enr(){let[e]=Bd(V9e);return e==="unified"||e==="split"?e:"split"}function c9(){let[e,t]=(0,upe.useState)(enr);return(0,upe.useEffect)(()=>{let r=n=>{n.key===V9e&&t(enr())};return addEventListener("storage",r),()=>removeEventListener("storage",r)},[]),{viewType:e,onChange:r=>{Fd(V9e,[r]),t(r)}}}function tnr(){let{viewType:e,onChange:t}=c9(),[r,n]=(0,G9e.useState)(""),[i,o]=(0,G9e.useState)("all");return{viewType:e,onChange:t,search:r,onSearchChange:n,changeType:i,onChangeTypeChange:o}}var Wq=P(ge(),1);async function rnr(e,t,r){let n=await fetch(tn(`/api/diff/revert?cwd=${encodeURIComponent(e)}&path=${encodeURIComponent(t)}`,r),{method:"POST"});if(n.ok)return;let i=await n.json().catch(()=>({}));throw new Error(typeof i.error=="string"?i.error:"Failed to revert file")}async function u9(e,t,r){let n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),i=await n.json().catch(()=>({}));if(!n.ok)throw new Error(typeof i.error=="string"?i.error:r);return i}async function nnr(e,t,r){let n=await u9(tn(`/api/diff/revert-all?cwd=${encodeURIComponent(e)}`,r),{paths:t},"Failed to revert files");return Array.isArray(n.failed)?n.failed:[]}function UDn(e){let t=e.length===1?"file":"files";return`Failed to revert ${e.length} ${t}: ${e.map(r=>`${r.path} (${r.error})`).join(", ")}`}function inr(e,t,r){let[n,i]=(0,Wq.useState)(null),o=yr(),a=(0,Wq.useCallback)(l=>{rnr(e,l,o).then(r).catch(u=>i(u instanceof Error?u.message:"Failed to revert file"))},[e,o,r]),s=(0,Wq.useCallback)(l=>{nnr(e,l,o).then(u=>{r(),u.length>0&&i(UDn(u))}).catch(u=>i(u instanceof Error?u.message:"Failed to revert files"))},[e,o,r]);return{onRevert:t?a:void 0,onRevertPaths:t?s:void 0,error:n,clearError:()=>i(null)}}var fpe=P(ge(),1);var q9e={commits:[],branchBase:null,loaded:!1};function onr(e,t){let[r,n]=(0,fpe.useState)(q9e),i=yr();return(0,fpe.useEffect)(()=>{if(!e){n(q9e);return}let o=!1;return(async()=>{try{let l=await(await fetch(tn(`/api/diff-scopes?${wP(e,t)}`,i))).json();o||n({commits:l?.commits??[],branchBase:l?.branchBase??null,loaded:!0})}catch{o||n({...q9e,loaded:!0})}})(),()=>{o=!0}},[e,t,i]),r}function anr(e,t,r){let{commits:n,branchBase:i,loaded:o}=onr(e,t);return{scope:r===Nz&&o&&!i?"all":r,commits:n,branchBase:i}}var lnr=P(ge(),1);var snr="assist:diff-tree-hidden";function cnr(){let[e,t]=(0,lnr.useState)(()=>Bd(snr).length>0);return{treeVisible:!e,onToggleTree:()=>{let r=!e;Fd(snr,r?[!0]:[]),t(r)}}}function unr(e,t,r,n,i){let o=anr(e,t,r),{diff:a,loading:s,error:l,refresh:u}=Vrr(e,t,o.scope),f=inr(e,o.scope==="uncommitted",u),d=tnr(),h=cnr(),p=Xrr(n,t,i),m=Wrr(e),{files:g,visibleFiles:y}=Jrr({diff:a,error:l,search:d.search,changeType:d.changeType}),v=y.map(x=>Nd(x)),b=zrr(h.treeVisible?v:[]);return{scopeState:o,loading:s,filters:d,treePanel:h,comments:p,collapsedFiles:m,activeFile:b,revert:f,collapseAll:Brr(v,m),visibleFiles:y,totals:$rr(y),emptyMessage:Frr(l,g.length)}}var Nw=P(z(),1);function hpe({cwd:e,sessionId:t,scope:r,onScopeChange:n,sessions:i,sendInput:o,mode:a,onToggleMode:s,onClose:l}){let u=unr(e,t,r,i,o);return(0,Nw.jsxs)(Nw.Fragment,{children:[(0,Nw.jsx)(Oft,{...u.filters,...u.treePanel,...u.collapseAll,scope:u.scopeState,onScopeChange:n,totals:u.totals,commentHint:u.comments.unavailable,mode:a,onToggleMode:s,onClose:l}),(0,Nw.jsx)(Drr,{...$at(u,e)}),(0,Nw.jsx)(Orr,{sentTo:u.comments.sentTo,clearSent:u.comments.clearSent,revertError:u.revert.error,clearRevertError:u.revert.clearError})]})}function fnr(){let[e,t]=Pc(),{selectedCwd:r}=$n();return{cwd:e.get("cwd")||r,sessionId:e.get("session")??void 0,scope:e.get("scope")||"all",setScope:n=>{t(i=>(n==="all"?i.delete("scope"):i.set("scope",n),i),{replace:!0})}}}var j9e=P(z(),1);function dnr({sessions:e,sendInput:t}){let{cwd:r,sessionId:n,scope:i,setScope:o}=fnr();return(0,j9e.jsx)(zl,{maxWidth:!1,children:(0,j9e.jsx)(hpe,{cwd:r,sessionId:n,scope:i,onScopeChange:o,sessions:e,sendInput:t})})}var hnr=P(z(),1);function ppe({defaultTo:e,children:t}){let[r]=Pc(),{selectedNode:n,worktreeNode:i}=$n(),o=e==="worktree"?i:n,a=r.get("cwd")?r.get("node")||void 0:o;return(0,hnr.jsx)(Xu.Provider,{value:a,children:t})}var Y9e=P(z(),1);function pnr({socket:e}){return(0,Y9e.jsx)(ppe,{defaultTo:"selected",children:(0,Y9e.jsx)(dnr,{sessions:e.sessions,sendInput:e.sendInput})})}function mpe(e){return e.viewingTranscriptSessionId??e.activeId}var Tnr=P(ge(),1);var qq=P(ge(),1);var K9e="plaintext";function mnr(e,t,r,n){return e.editor.create(t,{value:r.value,language:r.language??K9e,readOnly:r.readOnly??!1,theme:n,automaticLayout:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:13,renderWhitespace:"selection"})}var Vq=P(ge(),1);var Q9e="/monaco.js",X9e="/monaco.css",WDn="/monaco.worker.js",Z9e;function gnr(){return globalThis.monaco}function VDn(){return document.querySelector(`link[href="${X9e}"]`)?Promise.resolve():new Promise((e,t)=>{let r=document.createElement("link");r.rel="stylesheet",r.href=X9e,r.addEventListener("load",()=>e()),r.addEventListener("error",()=>t(new Error(`Failed to load ${X9e}`))),document.head.append(r)})}function GDn(){return new Promise((e,t)=>{let r=document.createElement("script");r.src=Q9e,r.addEventListener("load",()=>e()),r.addEventListener("error",()=>t(new Error(`Failed to load ${Q9e}`))),document.head.append(r)})}async function qDn(){globalThis.MonacoEnvironment={getWorker:()=>new Worker(WDn)},await Promise.all([VDn(),GDn()]);let e=gnr();if(!e)throw new Error(`${Q9e} did not register the editor API`);return e}function ynr(){let e=gnr();return e?Promise.resolve(e):(Z9e??(Z9e=qDn().catch(t=>{throw Z9e=void 0,t})),Z9e)}function vnr(){let[e,t]=(0,Vq.useState)(),[r,n]=(0,Vq.useState)(!1);return(0,Vq.useEffect)(()=>{let i=!1;return ynr().then(o=>!i&&t(o),()=>!i&&n(!0)),()=>{i=!0}},[]),{monaco:e,failed:r}}var Gq=P(ge(),1);function bnr(e,t,r,n){(0,Gq.useEffect)(()=>{let i=e.current;i&&i.getValue()!==r.value&&i.setValue(r.value)},[e,t,r.value]),(0,Gq.useEffect)(()=>{let i=e.current?.getModel();t&&i&&t.editor.setModelLanguage(i,r.language??K9e)},[e,t,r.language]),(0,Gq.useEffect)(()=>{t?.editor.setTheme(n)},[t,n]),(0,Gq.useEffect)(()=>{e.current?.updateOptions({readOnly:r.readOnly??!1})},[e,t,r.readOnly])}function xnr(e,t){let{monaco:r,failed:n}=vnr(),i=(0,qq.useRef)(null),o=Oi().palette.mode==="dark"?"vs-dark":"vs",a=(0,qq.useRef)({settings:t,theme:o});return a.current={settings:t,theme:o},(0,qq.useEffect)(()=>{let s=e.current;if(!r||!s)return;let l=mnr(r,s,a.current.settings,a.current.theme);i.current=l;let u=l.onDidChangeModelContent(()=>a.current.settings.onChange?.(l.getValue()));return()=>{i.current=null,u.dispose(),l.getModel()?.dispose(),l.dispose()}},[r,e]),bnr(i,r,t,o),n?"error":r?"ready":"loading"}var J9e=P(z(),1),jDn=e=>t=>({border:`1px solid ${t.palette.divider}`,borderRadius:1,overflow:"hidden",height:e});function Snr({height:e,...t}){let r=(0,Tnr.useRef)(null);return xnr(r,t)==="error"?(0,J9e.jsx)(Oe,{color:"text.secondary",align:"center",sx:{py:6},children:"The editor failed to load."}):(0,J9e.jsx)(le,{ref:r,sx:jDn(e)})}var Cnr="typescript",YDn={ts:"typescript",mts:"typescript",cts:"typescript",tsx:"typescript",js:"javascript",jsx:"javascript",mjs:"javascript",cjs:"javascript",json:Cnr,jsonc:Cnr,css:"css",scss:"scss",less:"less",py:"python",md:"markdown",markdown:"markdown",mdx:"mdx",yml:"yaml",yaml:"yaml",sh:"shell",bash:"shell",zsh:"shell",ps1:"powershell",html:"html",htm:"html",xml:"xml",svg:"xml",sql:"sql",rs:"rust",go:"go",java:"java",kt:"kotlin",cs:"csharp",rb:"ruby",php:"php",c:"cpp",h:"cpp",cpp:"cpp",hpp:"cpp",swift:"swift",dart:"dart",lua:"lua",r:"r",graphql:"graphql",gql:"graphql",dockerfile:"dockerfile",ini:"ini"};function wnr(e){let t=e.split(".").pop()?.toLowerCase();return t?YDn[t]:void 0}var gpe=P(z(),1),KDn="calc(100vh - 152px)";function knr({path:e,cwd:t,rendered:r,value:n,onChange:i,comments:o}){return r?(0,gpe.jsx)(zhe,{path:e,cwd:t,source:n,onComment:o.onComment,onAddRule:o.onAddRule,unavailable:o.unavailable,children:(0,gpe.jsx)(Ew,{content:n,renderMermaid:!0,wide:!0})}):(0,gpe.jsx)(Snr,{value:n,language:wnr(e),height:KDn,onChange:i})}var _nr=P(z(),1),Enr=ut((0,_nr.jsx)("path",{d:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z"}),"Save");var e2=P(z(),1),XDn={display:"flex",alignItems:"center",gap:1,flexShrink:0};function Rnr({mode:e,onModeChange:t,onSave:r,saving:n,dirty:i}){let o=Kn("save").chords;return(0,e2.jsxs)(le,{sx:XDn,children:[e&&(0,e2.jsxs)(du,{exclusive:!0,size:"small",value:e,onChange:(a,s)=>s&&t(s),children:[(0,e2.jsx)(hs,{value:"raw",children:"Raw"}),(0,e2.jsx)(hs,{value:"rendered",children:"Rendered"})]}),(0,e2.jsx)(qt,{size:"small",variant:"outlined",startIcon:(0,e2.jsx)(Enr,{sx:{fontSize:16}}),onClick:r,disabled:n||!i,title:`Save (${eee(o[0])})`,children:"Save"}),(0,e2.jsx)(Are,{})]})}var q3=P(z(),1),ZDn={display:"flex",alignItems:"center",justifyContent:"space-between",gap:2,mb:1},QDn={fontFamily:"monospace",fontSize:13},JDn={display:"flex",alignItems:"center",gap:1,minWidth:0};function Anr({path:e,mode:t,onModeChange:r,onSave:n,saving:i,dirty:o}){return(0,q3.jsxs)(le,{sx:ZDn,children:[(0,q3.jsxs)(le,{sx:JDn,children:[(0,q3.jsx)(o9,{path:e}),(0,q3.jsx)(Oe,{color:"text.secondary",sx:QDn,children:e})]}),(0,q3.jsx)(Rnr,{mode:t,onModeChange:r,onSave:n,saving:i,dirty:o})]})}function Pnr(e,t,r){return r?t?e==="absent"?"This file is not in the working tree.":e==="too-large"?"This file is too large to display (over 2 MB).":"Couldn't load this file.":"No file path given.":"Select a repo to view files."}var Lnr=P(ge(),1);var Inr=P(z(),1);function Mnr({dirty:e}){let t=P2e(e);return(0,Lnr.useEffect)(()=>{if(!e)return;let r=n=>n.preventDefault();return globalThis.addEventListener("beforeunload",r),()=>globalThis.removeEventListener("beforeunload",r)},[e]),t.state!=="blocked"?null:(0,Inr.jsx)(vo,{title:"Discard unsaved changes?",message:"This file has unsaved changes that will be lost.",confirmLabel:"Discard",onConfirm:()=>t.proceed(),onCancel:()=>t.reset()})}var Hnr=P(ge(),1);var Ow=P(ge(),1);async function Dnr({cwd:e,node:t,path:r,content:n,mtimeMs:i}){let o=await u9(tn(`/api/file?cwd=${encodeURIComponent(e)}&path=${encodeURIComponent(r)}`,t),{content:n,mtimeMs:i},"Failed to save file");if(typeof o.content!="string")throw new Error("The server returned no file content");return{content:o.content,mtimeMs:typeof o.mtimeMs=="number"?o.mtimeMs:i}}var vpe=P(ge(),1);function ype(e){return e.status==="ready"?{content:e.content,mtimeMs:e.mtimeMs}:{content:"",mtimeMs:0}}function Nnr(e){let[t,r]=(0,vpe.useState)(e),[n,i]=(0,vpe.useState)(()=>ype(e)),[o,a]=(0,vpe.useState)(()=>ype(e).content);if(t!==e){let s=ype(e);r(e),i(s),a(s.content)}return{saved:n,setSaved:i,value:o,setValue:a}}function eNn(e){return e instanceof Error?e.message:"Failed to save file"}function Onr(e,t,r){let{saved:n,setSaved:i,value:o,setValue:a}=Nnr(r),[s,l]=(0,Ow.useState)(!1),[u,f]=(0,Ow.useState)(null),d=(0,Ow.useRef)(o),h=yr();d.current=o;let p=r.status==="ready"&&o!==n.content,m=(0,Ow.useCallback)(()=>{!e||!p||s||(l(!0),Dnr({cwd:e,node:h,path:t,content:d.current,mtimeMs:n.mtimeMs}).then(y=>{i(y),a(y.content)}).catch(y=>f(eNn(y))).finally(()=>l(!1)))},[e,h,t,p,s,n.mtimeMs,i,a]),g=(0,Ow.useCallback)(()=>f(null),[]);return{value:o,setValue:a,save:m,saving:s,dirty:p,error:u,clearError:g}}var Fnr=P(ge(),1);function Bnr(e,t){return t?lpe(e.find(r=>r.id===t)):{unavailable:"Select a session card to comment on this file."}}function $nr(e,t,r){let[n,i]=(0,Fnr.useState)(null),{session:o,unavailable:a}=Bnr(e,t),s=()=>i(o?.name??null);return{onComment:o?cpe(o,r,s):void 0,onAddRule:o?ape(o,r,s):void 0,unavailable:a,sentTo:n,clearSent:()=>i(null)}}function znr(e){No(Kn("save").matches,e)}function Unr(e,t,r){let[n]=Pc(),i=n.get("path")??"",{worktreeCwd:o}=$n(),a=n.get("cwd")||o,s=Uhe(a,i),l=Onr(a,i,s),u=$nr(e,t,r),[f,d]=(0,Hnr.useState)("raw");return znr(l.save),{path:i,cwd:a,state:s,buffer:l,comments:u,isMarkdown:RL(i)==="markdown",mode:f,setMode:d}}var Bw=P(z(),1);function Wnr({sessions:e,sendInput:t,cardId:r}){let{path:n,cwd:i,state:o,buffer:a,comments:s,isMarkdown:l,mode:u,setMode:f}=Unr(e,r,t);return(0,Bw.jsxs)(zl,{loading:o.status==="loading"&&!!(i&&n),isEmpty:o.status!=="ready",emptyMessage:Pnr(o.status,n,i),maxWidth:!1,children:[(0,Bw.jsx)(Anr,{path:n,mode:l?u:void 0,onModeChange:f,onSave:a.save,saving:a.saving,dirty:a.dirty}),o.status==="ready"&&(0,Bw.jsx)(knr,{path:n,cwd:i,rendered:l&&u==="rendered",value:a.value,onChange:a.setValue,comments:s}),(0,Bw.jsx)(Mnr,{dirty:a.dirty}),(0,Bw.jsx)(vu,{error:a.error,onClose:a.clearError}),(0,Bw.jsx)(rpe,{sessionName:s.sentTo,onClose:s.clearSent})]})}var eBe=P(z(),1);function Vnr({socket:e}){return(0,eBe.jsx)(ppe,{defaultTo:"worktree",children:(0,eBe.jsx)(Wnr,{sessions:e.sessions,sendInput:e.sendInput,cardId:mpe(e)})})}var jq=P(ge(),1);var tBe=P(z(),1);function Gnr(){return(0,tBe.jsx)(le,{sx:{display:"flex",justifyContent:"flex-end",mb:2},children:(0,tBe.jsx)(xn,{component:ys,to:"/config?search=news",underline:"hover",variant:"body2",children:"News settings"})})}function qnr(e){let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);if(t<60)return"just now";let r=Math.floor(t/60);if(r<60)return`${r}m ago`;let n=Math.floor(r/60);return n<24?`${n}h ago`:`${Math.floor(n/24)}d ago`}var t2=P(z(),1),tNn={display:"block",bgcolor:"background.paper",borderRadius:2,p:2.5,transition:"background-color 0.15s","&:hover":{bgcolor:"action.hover"}},rNn={width:16,height:16};function jnr({item:e}){return(0,t2.jsxs)(xn,{href:e.link,target:"_blank",rel:"noopener noreferrer",underline:"none",color:"inherit",sx:tNn,children:[(0,t2.jsxs)(le,{sx:{display:"flex",alignItems:"center",gap:1,mb:.75},children:[(0,t2.jsx)(O1e,{src:`${e.feedOrigin}/favicon.ico`,variant:"rounded",sx:rNn,children:" "}),(0,t2.jsx)(sn,{label:e.feedTitle,size:"small"}),(0,t2.jsx)(Oe,{variant:"body2",color:"text.secondary",children:qnr(e.pubDate)})]}),(0,t2.jsx)(Oe,{variant:"h6",sx:{fontWeight:500,lineHeight:1.3},children:e.title}),e.excerpt&&(0,t2.jsx)(Oe,{variant:"body2",color:"text.secondary",sx:{mt:.75},children:e.excerpt})]})}function nNn(e){let t=new Date(e),r=new Date;return t.toLocaleDateString("en-US",{weekday:"long",month:"short",day:"numeric",year:t.getFullYear()!==r.getFullYear()?"numeric":void 0})}function iNn(e){return new Date(e).toISOString().slice(0,10)}function Ynr(e){let t=new Map;for(let r of e){let n=iNn(r.pubDate),i=t.get(n);i?i.items.push(r):t.set(n,{label:nNn(r.pubDate),items:[r]})}return[...t.values()]}var Fw=P(z(),1);async function oNn(){return(await fetch("/api/news/items")).json()}function Knr(){let[e,t]=(0,jq.useState)([]),[r,n]=(0,jq.useState)(!0);return(0,jq.useEffect)(()=>{oNn().then(i=>t(Ynr(i))).finally(()=>n(!1))},[]),(0,Fw.jsx)(zl,{loading:r,isEmpty:e.length===0,emptyMessage:"No news items.",header:(0,Fw.jsx)(Gnr,{}),children:e.map(i=>(0,Fw.jsxs)(le,{sx:{mb:4},children:[(0,Fw.jsx)(Oe,{variant:"overline",color:"text.secondary",sx:{display:"block",mb:1,px:.5},children:i.label}),(0,Fw.jsx)(Rt,{spacing:1,children:i.items.map(o=>(0,Fw.jsx)(jnr,{item:o},`${o.link}-${o.pubDate}`))})]},i.label))})}function bpe(e){let t=e.peerPrs.items[0];if(t)return{kind:"pr",item:t};let r=e.assignedIssues.items[0];if(r)return{kind:"issue",item:r};let n=e.pickups.items[0];if(n)return{kind:"pickup",item:n};let i=e.myPrs.items[0];return i?{kind:"mine",item:i}:null}var Pm={review:{label:"Review",color:"primary"},mine:{label:"Yours",color:"info"},assigned:{label:"Assigned",color:"secondary"},pickup:{label:"Pick up",color:"success"}};var Yq=P(z(),1);function Xnr(){return(0,Yq.jsxs)(an,{variant:"outlined",sx:{p:4,textAlign:"center"},children:[(0,Yq.jsx)(Oe,{variant:"h6",component:"h2",children:"Nothing needs you here"}),(0,Yq.jsx)(Oe,{sx:{color:"text.secondary"},children:"No peer PRs await your review, no issues are assigned to you and no project items are ready to pick up."})]})}function Znr({peerPrs:e,myPrs:t,assignedIssues:r,pickups:n}){return[e,t,r,n].every(i=>i.items.length===0&&!i.error)}var r2=P(z(),1);function Kq({chip:e,title:t,count:r,error:n,rows:i}){return i.length===0&&!n?null:(0,r2.jsxs)(Rt,{spacing:1,component:"section",children:[(0,r2.jsxs)(Rt,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[(0,r2.jsx)(sn,{label:e.label,size:"small",color:e.color,variant:"outlined"}),(0,r2.jsx)(Oe,{variant:"subtitle2",component:"h3",children:t}),(0,r2.jsx)(Oe,{variant:"body2",sx:{color:"text.secondary"},children:r})]}),n&&(0,r2.jsx)(ni,{severity:"error",sx:{whiteSpace:"pre-line"},children:n}),i.length>0&&(0,r2.jsx)(an,{variant:"outlined",sx:{overflow:"hidden"},children:i})]})}var Qnr="github.com/";function xpe(e){let t=(e.remoteOrigin??e.repoGroup?.origin)?.toLowerCase();return t?.startsWith(Qnr)?t.slice(Qnr.length):void 0}function Tpe(e,t,r){let n=t.toLowerCase();return e.filter(i=>EP(i)===r&&xpe(i)===n)}var f9=P(z(),1),aNn={success:{label:"checks passing",color:"success.main"},failure:{label:"checks failing",color:"error.main"},pending:{label:"checks running",color:"warning.main"}};function d9({pr:e}){let t=e.checks?aNn[e.checks]:null,r=e.reason==="requested"?`review requested ${Do(e.requestedAt)}`:`opened ${Do(e.createdAt)}`;return(0,f9.jsxs)(Rt,{direction:"row",spacing:1.5,useFlexGap:!0,sx:{flexWrap:"wrap",color:"text.secondary"},children:[(0,f9.jsx)(Oe,{variant:"body2",children:e.author}),(0,f9.jsx)(Oe,{variant:"body2",children:r}),t&&(0,f9.jsx)(Oe,{variant:"body2",sx:{color:t.color},children:t.label})]})}var Spe=P(ge(),1),rBe=(0,Spe.createContext)({sessions:[],trackedIssues:new Map,activate:()=>{}});function $w(){return(0,Spe.useContext)(rBe)}var Jnr=P(z(),1),eir=ut((0,Jnr.jsx)("path",{d:"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3z"}),"OpenInNew");var tir=P(z(),1),rir=ut((0,tir.jsx)("path",{d:"M20 4H4c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.89-2-2-2m0 14H4V8h16zm-2-1h-6v-2h6zM7.5 17l-1.41-1.41L8.67 13l-2.59-2.59L7.5 9l4 4z"}),"Terminal");var Cpe=P(z(),1);function nir({sessions:e,size:t}){let{activate:r}=$w();return e.map(n=>(0,Cpe.jsxs)(qt,{variant:"contained",size:t,startIcon:(0,Cpe.jsx)(rir,{}),onClick:()=>r(n.id),children:["Session ",n.id]},n.id))}var wpe=P(ge(),1),nBe=(0,wpe.createContext)(()=>{});function iir(){return(0,wpe.useContext)(nBe)}var _1=P(z(),1);function kpe({repo:e,url:t,onStart:r,sessions:n=[],size:i="small"}){let o=iir()(e);return(0,_1.jsxs)(Rt,{direction:"row",spacing:1,useFlexGap:!0,sx:{flexShrink:0,flexWrap:"wrap"},children:[(0,_1.jsx)(nir,{sessions:n,size:i}),(0,_1.jsx)(lr,{title:o?"":`No local clone of ${e} to start a session in`,children:(0,_1.jsx)("span",{children:(0,_1.jsx)(qt,{variant:"outlined",size:i,startIcon:(0,_1.jsx)(Fp,{}),disabled:!o,onClick:()=>o&&r(o),children:"Start session"})})}),(0,_1.jsx)(qt,{variant:"outlined",size:i,startIcon:(0,_1.jsx)(eir,{}),href:t,target:"_blank",rel:"noopener noreferrer",children:"GitHub"})]})}var oir=P(z(),1);function _pe({repo:e,number:t}){return(0,oir.jsxs)(Oe,{variant:"body2",sx:{fontFamily:"monospace",color:"text.secondary",whiteSpace:"nowrap"},children:[e,"#",t]})}var zw=P(z(),1);function Epe({repo:e,number:t,title:r,facts:n,url:i,onStart:o,sessions:a}){return(0,zw.jsxs)(Rt,{direction:{xs:"column",sm:"row"},spacing:1,sx:{px:2,py:1.25,alignItems:{sm:"center"},"& + &":{borderTop:1,borderColor:"divider"}},children:[(0,zw.jsxs)(Rt,{spacing:.25,sx:{flex:1,minWidth:0},children:[(0,zw.jsxs)(Rt,{direction:"row",spacing:1,useFlexGap:!0,sx:{alignItems:"baseline",flexWrap:"wrap"},children:[(0,zw.jsx)(_pe,{repo:e,number:t}),(0,zw.jsx)(Oe,{sx:{fontWeight:500,overflowWrap:"anywhere"},children:r})]}),n]}),(0,zw.jsx)(kpe,{repo:e,url:i,onStart:o,sessions:a})]})}var Rpe=P(z(),1);function iBe({chip:e,title:t,section:r,hiddenUrl:n,onStart:i}){let{sessions:o}=$w();return(0,Rpe.jsx)(Kq,{chip:e,title:t,count:r.items.length,error:r.error,rows:r.items.filter(a=>a.url!==n).map(a=>(0,Rpe.jsx)(Epe,{repo:a.repo,number:a.number,title:a.title,facts:(0,Rpe.jsx)(d9,{pr:a}),url:a.url,onStart:s=>i(a,s),sessions:Tpe(o,a.repo,a.number)},a.url))})}function Ape(e,t,r,n){let i=r.toLowerCase(),o=`${i}#${n}`;return e.filter(a=>xpe(a)===i&&(a.promptIssue?.toLowerCase()===o||t.get(a.id)?.toLowerCase()===o))}var lir=P(z(),1),air={GRAY:{light:"#59636e",dark:"#9198a1"},BLUE:{light:"#0969da",dark:"#4493f8"},GREEN:{light:"#1a7f37",dark:"#3fb950"},YELLOW:{light:"#9a6700",dark:"#d29922"},ORANGE:{light:"#bc4c00",dark:"#db6d28"},RED:{light:"#d1242f",dark:"#f85149"},PINK:{light:"#bf3989",dark:"#db61a2"},PURPLE:{light:"#8250df",dark:"#ab7df8"}};function sir({type:e}){let t=air[e.color]??air.GRAY;return(0,lir.jsx)(sn,{label:e.name,size:"small",variant:"outlined",sx:r=>{let n=r.palette.mode==="dark"?t.dark:t.light;return{color:n,borderColor:n,height:20}}})}var n2=P(z(),1);function h9({issue:e}){let t="status"in e?e:null;return(0,n2.jsxs)(Rt,{direction:"row",spacing:1.5,useFlexGap:!0,sx:{flexWrap:"wrap",color:"text.secondary",alignItems:"center"},children:[t?.type&&(0,n2.jsx)(sir,{type:t.type}),t&&(0,n2.jsxs)(Oe,{variant:"body2",children:[t.projectTitle," \xB7 ",t.status]}),t?.priority&&(0,n2.jsx)(Oe,{variant:"body2",children:t.priority}),(0,n2.jsx)(Oe,{variant:"body2",children:e.author}),(0,n2.jsxs)(Oe,{variant:"body2",children:["opened ",Do(e.createdAt)]}),e.labels.length>0&&(0,n2.jsx)(Oe,{variant:"body2",children:e.labels.join(", ")})]})}var oBe=P(z(),1);function aBe(e,t,r,{sessions:n,trackedIssues:i}){return e.filter(o=>o.url!==t).map(o=>(0,oBe.jsx)(Epe,{repo:o.repo,number:o.number,title:o.title,facts:(0,oBe.jsx)(h9,{issue:o}),url:o.url,onStart:a=>r(o,a),sessions:Ape(n,i,o.repo,o.number)},o.url))}var E1=P(z(),1);function cir({data:e,onStartPr:t,onStartIssue:r,onStartPickup:n}){let i=$w(),{peerPrs:o,myPrs:a,assignedIssues:s,pickups:l}=e;if(Znr(e))return(0,E1.jsx)(Xnr,{});let u=bpe(e)?.item.url;return(0,E1.jsxs)(E1.Fragment,{children:[(0,E1.jsx)(iBe,{chip:Pm.review,title:"Peer PRs awaiting your review",section:o,hiddenUrl:u,onStart:t}),(0,E1.jsx)(Kq,{chip:Pm.assigned,title:"Issues assigned to you",count:s.items.length,error:s.error,rows:aBe(s.items,u,r,i)}),(0,E1.jsx)(Kq,{chip:Pm.pickup,title:"Project items to pick up",count:l.items.length,error:l.error,rows:aBe(l.items,u,n,i)}),(0,E1.jsx)(iBe,{chip:Pm.mine,title:"Your open PRs",section:a,hiddenUrl:u,onStart:t})]})}var uir=P(ge(),1),Ppe=P(z(),1);function fir({projects:e,boards:t}){return e.map((r,n)=>{let i=t.find(o=>o.project===r);return(0,Ppe.jsxs)(uir.Fragment,{children:[n>0&&", ",i?.url?(0,Ppe.jsx)(xn,{href:i.url,target:"_blank",rel:"noopener noreferrer",underline:"hover",title:r,children:i.title}):r]},r)})}var j3=P(z(),1);function Lpe({label:e,value:t,unset:r,setter:n,showSetter:i}){return(0,j3.jsxs)(Oe,{variant:"body2",sx:{color:"text.secondary"},children:[e,": ",t??r,i&&(0,j3.jsxs)(j3.Fragment,{children:[" \xB7 set with ",(0,j3.jsx)(Oe,{component:"code",variant:"body2",sx:{fontFamily:"monospace"},children:n})]})]})}var R1=P(z(),1);function sNn(e,t){return e?e.join(", "):t?`${t} (this repo, by default)`:null}function lNn(e,t){return e.projects.length===0?null:(0,R1.jsxs)(R1.Fragment,{children:[(0,R1.jsx)(fir,{projects:e.projects,boards:t}),cNn(e)]})}function cNn(e){let t=[e.excludeLabels.length>0&&`labels ${e.excludeLabels.join(", ")}`,e.excludeTypes.length>0&&`types ${e.excludeTypes.join(", ")}`].filter(Boolean),r=t.length>0?`, excluding ${t.join("; ")}`:"";return`, picking up ${e.pickStatuses.join(", ")}${r}`}function dir({scope:e,boards:t}){return(0,R1.jsxs)(Rt,{spacing:.25,children:[(0,R1.jsx)(Lpe,{label:"Peers",value:e.peers.length>0?e.peers.join(", "):null,unset:"none \u2014 only PRs requesting your review appear",setter:"assist config set next.peers alice,bob -g --repo",showSetter:e.peers.length===0}),(0,R1.jsx)(Lpe,{label:"Repos",value:sNn(e.repos,e.selfRepo),unset:"none",setter:"assist config set next.repos my-org,other/web -g --repo",showSetter:!e.repos}),(0,R1.jsx)(Lpe,{label:"Projects",value:lNn(e,t),unset:"none \u2014 no project items are suggested",setter:"assist config set next.projects my-org/3,my-org/5 -g --repo",showSetter:e.projects.length===0})]})}var Hw=P(z(),1);function hir({loading:e,data:t,onRefresh:r}){return(0,Hw.jsxs)(Rt,{spacing:.5,sx:{mb:2},children:[(0,Hw.jsxs)(Rt,{direction:"row",spacing:2,sx:{alignItems:"baseline"},children:[(0,Hw.jsx)(Oe,{variant:"h6",sx:{flex:1},children:"Next"}),(0,Hw.jsx)(xn,{component:ys,to:"/config?search=next",underline:"hover",variant:"body2",children:"Next settings"}),(0,Hw.jsx)(qt,{size:"small",onClick:r,disabled:e,children:"Refresh"})]}),t&&(0,Hw.jsx)(dir,{scope:t.scope,boards:t.boards})]})}var Mpe=P(z(),1);function pir({picking:e,error:t,clearError:r}){return e?(0,Mpe.jsxs)(ni,{severity:"info",children:["Assigning ",e.repo,"#",e.number," to you and moving it to In Progress\u2026"]}):t?(0,Mpe.jsx)(ni,{severity:"error",onClose:r,children:t}):null}var Qg=P(z(),1);function mir({chip:e,repo:t,number:r,title:n,facts:i,why:o,url:a,onStart:s,sessions:l}){return(0,Qg.jsx)(an,{variant:"outlined",sx:{p:2.5},children:(0,Qg.jsxs)(Rt,{spacing:1.5,children:[(0,Qg.jsx)(Oe,{variant:"overline",sx:{color:"text.secondary",lineHeight:1.5},children:"Your next best action"}),(0,Qg.jsxs)(Rt,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[(0,Qg.jsx)(sn,{label:e.label,size:"small",color:e.color,variant:"outlined"}),(0,Qg.jsx)(_pe,{repo:t,number:r})]}),(0,Qg.jsx)(Oe,{variant:"h6",component:"h2",children:n}),i,(0,Qg.jsx)(Oe,{sx:{color:"text.secondary",maxWidth:"65ch"},children:o}),(0,Qg.jsx)(kpe,{repo:t,url:a,onStart:s,sessions:l,size:"medium"})]})})}function gir(e,t,r){let n=t>1?`the oldest of ${t} issues assigned to you`:"the only issue assigned to you",i=r?", and no peer PRs await your review":"";return`Opened ${Do(e.createdAt)} \u2014 ${n}${i}.`}function yir(e,t,r){let n=t>1?`the oldest of your ${t} open PRs`:"your only open PR",i=e.isDraft?"drafted":"opened",o=r?", and nothing else awaits your review, is assigned to you or is ready to pick up":"";return`You ${i} it ${Do(e.createdAt)} \u2014 ${n}${o}.`}var bir=P(z(),1);function vir(e,{data:t,onStartPr:r}){let{peerPrs:n,myPrs:i,assignedIssues:o,pickups:a}=t;return{chip:Pm.mine,facts:(0,bir.jsx)(d9,{pr:e}),why:yir(e,i.items.length,!n.error&&!o.error&&!a.error),onStart:s=>r(e,s)}}function xir(e,t,r){let n=t>1?`the top of ${t} unassigned project items`:"the only unassigned project item",i=r?", and nothing is assigned to you or awaiting your review":"";return`${e.status} on ${e.projectTitle} \u2014 ${n} you could pick up${i}.`}var Sir=P(z(),1);function Tir(e,{data:t,onStartPickup:r}){let{peerPrs:n,assignedIssues:i,pickups:o}=t;return{chip:Pm.pickup,facts:(0,Sir.jsx)(h9,{issue:e}),why:xir(e,o.items.length,!n.error&&!i.error),onStart:a=>r(e,a)}}function Cir(e,t){let r=t>1?`the oldest of ${t} PRs`:"the only PR",n=e.reason==="requested"?`${e.author} requested your review ${Do(e.requestedAt)}`:`${e.author} is a peer and opened it ${Do(e.createdAt)}`,i=e.checks==="success"?" Checks pass, so your review is what it is waiting on.":"";return`${n} \u2014 ${r} waiting on your review.${i}`}var sBe=P(z(),1);function wir(e,t){let{data:r,onStartPr:n,onStartIssue:i}=t,{peerPrs:o,assignedIssues:a}=r;switch(e.kind){case"pr":return{chip:Pm.review,facts:(0,sBe.jsx)(d9,{pr:e.item}),why:Cir(e.item,o.items.length),onStart:s=>n(e.item,s)};case"issue":return{chip:Pm.assigned,facts:(0,sBe.jsx)(h9,{issue:e.item}),why:gir(e.item,a.items.length,!o.error),onStart:s=>i(e.item,s)};case"pickup":return Tir(e.item,t);case"mine":return vir(e.item,t)}}var _ir=P(z(),1);function kir(e){let{sessions:t,trackedIssues:r}=$w(),n=bpe(e.data);if(!n)return null;let{repo:i,number:o,title:a,url:s}=n.item;return(0,_ir.jsx)(mir,{repo:i,number:o,title:a,url:s,sessions:n.kind==="pr"||n.kind==="mine"?Tpe(t,i,o):Ape(t,r,i,o),...wir(n,e)})}var Rir=P(ge(),1);var Jg=P(z(),1);function Eir({pr:e,onSelect:t,onCancel:r}){return(0,Jg.jsxs)(Jg.Fragment,{children:[(0,Jg.jsx)(fn,{onClick:()=>t(["review","--checkout-only"]),children:"Checkout"}),(0,Jg.jsx)(fn,{onClick:()=>t(["review-pr-comments"]),children:"Address Comments"}),(0,Jg.jsx)(fn,{onClick:()=>t(["fix-conflict"]),children:"Fix conflicts (merge)"}),(0,Jg.jsx)(fn,{onClick:()=>t(["fix-conflict","--rebase"]),children:"Fix conflicts (rebase)"}),(0,Jg.jsx)(no,{}),(0,Jg.jsx)(fn,{onClick:()=>{window.open(e.url,"_blank"),r()},children:"Open in GitHub"})]})}var Kh=P(z(),1);function Ipe({pr:e,onSelect:t,onCancel:r}){let[n,i]=(0,Rir.useState)(zz);return(0,Kh.jsxs)(Ps,{open:!0,onClose:r,maxWidth:"xs",fullWidth:!0,children:[(0,Kh.jsxs)(Il,{sx:{fontSize:15},children:["Review #",e.number,": ",e.title]}),(0,Kh.jsx)(Ml,{sx:{px:0},children:(0,Kh.jsxs)(Cp,{children:[Eee.map(({label:o,args:a})=>(0,Kh.jsx)(fn,{onClick:()=>t([...a,...Ree(n)]),children:o},o)),(0,Kh.jsx)(no,{}),(0,Kh.jsx)(Aee,{value:n,onChange:i}),(0,Kh.jsx)(no,{}),(0,Kh.jsx)(Eir,{pr:e,onSelect:t,onCancel:r})]})}),(0,Kh.jsx)(cu,{children:(0,Kh.jsx)(qt,{onClick:r,children:"Cancel"})})]})}var Pir=P(z(),1);function Air({review:{pr:e,cwd:t},onClose:r}){let{selectedNode:n}=$n(),{launchAssist:i}=$l();return(0,Pir.jsx)(Ipe,{pr:e,onSelect:o=>{i([...o,String(e.number)],t,{...PP(e),node:n}),r()},onCancel:r})}var Lir=P(ge(),1);function Mir(e){let{repos:t,selectedCwd:r,originOf:n}=$n();return(0,Lir.useCallback)(i=>{let o=i.toLowerCase();if(e?.toLowerCase()===o)return r;let a=`github.com/${o}`;return t.find(s=>n(s)?.toLowerCase()===a)},[t,r,n,e])}var Nir=P(ge(),1);function Iir(){let[,e]=Pc();return(t,r)=>e(n=>(n.set("new",`Issue ${t.repo}#${t.number}: ${t.title}
3839
+ ${Iw(r,n)}`}function cpe(e,t,r){return n=>{k1(t,e.id,Yrr(n)),r()}}function Xrr(e,t,r){let[n,i]=(0,Krr.useState)(null),{session:o,unavailable:a}=jrr(e,t);return{onComment:o?qrr(o,r,()=>i(o.name)):void 0,onFileComment:o?cpe(o,r,()=>i(o.name)):void 0,onAddRule:o?ape(o,r,()=>i(o.name)):void 0,unavailable:a,sentTo:n,clearSent:()=>i(null)}}var W9e=P(ge(),1);var HDn={modify:"modified",add:"added",delete:"removed",rename:"renamed",copy:"renamed"};function Zrr(e,{query:t,changeType:r}){let n=t.trim().toLowerCase();return e.filter(i=>n&&!Nd(i).toLowerCase().includes(n)?!1:r==="all"||HDn[i.type]===r)}function Qrr(e){let t=new Map(W3(Vhe(e)).map((r,n)=>[r,n]));return[...e].sort((r,n)=>(t.get(Nd(r))??0)-(t.get(Nd(n))??0))}function Jrr({diff:e,error:t,search:r,changeType:n}){let i=(0,W9e.useMemo)(()=>t||!e?[]:Zte(e),[e,t]),o=(0,W9e.useMemo)(()=>Qrr(Zrr(i,{query:r,changeType:n})),[i,r,n]);return{files:i,visibleFiles:o}}var G9e=P(ge(),1);var upe=P(ge(),1);function Bd(e){try{let t=localStorage.getItem(e);if(!t)return[];let r=JSON.parse(t);return Array.isArray(r.items)?r.items:[]}catch{return[]}}function Fd(e,t){try{if(t.length===0){localStorage.removeItem(e);return}localStorage.setItem(e,JSON.stringify({savedAt:Date.now(),items:t}))}catch{}}function l9(e){try{localStorage.removeItem(e)}catch{}}function Dw(e){try{let t=Date.now();for(let r=localStorage.length-1;r>=0;r--){let n=localStorage.key(r);if(!n?.startsWith(e))continue;let i=localStorage.getItem(n),o=i?JSON.parse(i).savedAt:0;(!o||t-o>864e5)&&localStorage.removeItem(n)}}catch{}}var V9e="assist:diff-view-type";function enr(){let[e]=Bd(V9e);return e==="unified"||e==="split"?e:"split"}function c9(){let[e,t]=(0,upe.useState)(enr);return(0,upe.useEffect)(()=>{let r=n=>{n.key===V9e&&t(enr())};return addEventListener("storage",r),()=>removeEventListener("storage",r)},[]),{viewType:e,onChange:r=>{Fd(V9e,[r]),t(r)}}}function tnr(){let{viewType:e,onChange:t}=c9(),[r,n]=(0,G9e.useState)(""),[i,o]=(0,G9e.useState)("all");return{viewType:e,onChange:t,search:r,onSearchChange:n,changeType:i,onChangeTypeChange:o}}var Wq=P(ge(),1);async function rnr(e,t,r){let n=await fetch(tn(`/api/diff/revert?cwd=${encodeURIComponent(e)}&path=${encodeURIComponent(t)}`,r),{method:"POST"});if(n.ok)return;let i=await n.json().catch(()=>({}));throw new Error(typeof i.error=="string"?i.error:"Failed to revert file")}async function u9(e,t,r){let n=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),i=await n.json().catch(()=>({}));if(!n.ok)throw new Error(typeof i.error=="string"?i.error:r);return i}async function nnr(e,t,r){let n=await u9(tn(`/api/diff/revert-all?cwd=${encodeURIComponent(e)}`,r),{paths:t},"Failed to revert files");return Array.isArray(n.failed)?n.failed:[]}function UDn(e){let t=e.length===1?"file":"files";return`Failed to revert ${e.length} ${t}: ${e.map(r=>`${r.path} (${r.error})`).join(", ")}`}function inr(e,t,r){let[n,i]=(0,Wq.useState)(null),o=yr(),a=(0,Wq.useCallback)(l=>{rnr(e,l,o).then(r).catch(u=>i(u instanceof Error?u.message:"Failed to revert file"))},[e,o,r]),s=(0,Wq.useCallback)(l=>{nnr(e,l,o).then(u=>{r(),u.length>0&&i(UDn(u))}).catch(u=>i(u instanceof Error?u.message:"Failed to revert files"))},[e,o,r]);return{onRevert:t?a:void 0,onRevertPaths:t?s:void 0,error:n,clearError:()=>i(null)}}var fpe=P(ge(),1);var q9e={commits:[],branchBase:null,loaded:!1};function onr(e,t){let[r,n]=(0,fpe.useState)(q9e),i=yr();return(0,fpe.useEffect)(()=>{if(!e){n(q9e);return}let o=!1;return(async()=>{try{let l=await(await fetch(tn(`/api/diff-scopes?${wP(e,t)}`,i))).json();o||n({commits:l?.commits??[],branchBase:l?.branchBase??null,loaded:!0})}catch{o||n({...q9e,loaded:!0})}})(),()=>{o=!0}},[e,t,i]),r}function anr(e,t,r){let{commits:n,branchBase:i,loaded:o}=onr(e,t);return{scope:r===Nz&&o&&!i?"all":r,commits:n,branchBase:i}}var lnr=P(ge(),1);var snr="assist:diff-tree-hidden";function cnr(){let[e,t]=(0,lnr.useState)(()=>Bd(snr).length>0);return{treeVisible:!e,onToggleTree:()=>{let r=!e;Fd(snr,r?[!0]:[]),t(r)}}}function unr(e,t,r,n,i){let o=anr(e,t,r),{diff:a,loading:s,error:l,refresh:u}=Vrr(e,t,o.scope),f=inr(e,o.scope==="uncommitted",u),d=tnr(),h=cnr(),p=Xrr(n,t,i),m=Wrr(e),{files:g,visibleFiles:y}=Jrr({diff:a,error:l,search:d.search,changeType:d.changeType}),v=y.map(x=>Nd(x)),b=zrr(h.treeVisible?v:[]);return{scopeState:o,loading:s,filters:d,treePanel:h,comments:p,collapsedFiles:m,activeFile:b,revert:f,collapseAll:Brr(v,m),visibleFiles:y,totals:$rr(y),emptyMessage:Frr(l,g.length)}}var Nw=P(z(),1);function hpe({cwd:e,sessionId:t,scope:r,onScopeChange:n,sessions:i,sendInput:o,mode:a,onToggleMode:s,onClose:l}){let u=unr(e,t,r,i,o);return(0,Nw.jsxs)(Nw.Fragment,{children:[(0,Nw.jsx)(Oft,{...u.filters,...u.treePanel,...u.collapseAll,scope:u.scopeState,onScopeChange:n,totals:u.totals,commentHint:u.comments.unavailable,mode:a,onToggleMode:s,onClose:l}),(0,Nw.jsx)(Drr,{...$at(u,e)}),(0,Nw.jsx)(Orr,{sentTo:u.comments.sentTo,clearSent:u.comments.clearSent,revertError:u.revert.error,clearRevertError:u.revert.clearError})]})}function fnr(){let[e,t]=Pc(),{selectedCwd:r}=$n();return{cwd:e.get("cwd")||r,sessionId:e.get("session")??void 0,scope:e.get("scope")||"all",setScope:n=>{t(i=>(n==="all"?i.delete("scope"):i.set("scope",n),i),{replace:!0})}}}var j9e=P(z(),1);function dnr({sessions:e,sendInput:t}){let{cwd:r,sessionId:n,scope:i,setScope:o}=fnr();return(0,j9e.jsx)(zl,{maxWidth:!1,children:(0,j9e.jsx)(hpe,{cwd:r,sessionId:n,scope:i,onScopeChange:o,sessions:e,sendInput:t})})}var hnr=P(z(),1);function ppe({defaultTo:e,children:t}){let[r]=Pc(),{selectedNode:n,worktreeNode:i}=$n(),o=e==="worktree"?i:n,a=r.get("cwd")?r.get("node")||void 0:o;return(0,hnr.jsx)(Xu.Provider,{value:a,children:t})}var Y9e=P(z(),1);function pnr({socket:e}){return(0,Y9e.jsx)(ppe,{defaultTo:"selected",children:(0,Y9e.jsx)(dnr,{sessions:e.sessions,sendInput:e.sendInput})})}function mpe(e){return e.viewingTranscriptSessionId??e.activeId}var Tnr=P(ge(),1);var qq=P(ge(),1);var K9e="plaintext";function mnr(e,t,r,n){return e.editor.create(t,{value:r.value,language:r.language??K9e,readOnly:r.readOnly??!1,theme:n,automaticLayout:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:13,renderWhitespace:"selection"})}var Vq=P(ge(),1);var Q9e="/monaco.js",X9e="/monaco.css",WDn="/monaco.worker.js",Z9e;function gnr(){return globalThis.monaco}function VDn(){return document.querySelector(`link[href="${X9e}"]`)?Promise.resolve():new Promise((e,t)=>{let r=document.createElement("link");r.rel="stylesheet",r.href=X9e,r.addEventListener("load",()=>e()),r.addEventListener("error",()=>t(new Error(`Failed to load ${X9e}`))),document.head.append(r)})}function GDn(){return new Promise((e,t)=>{let r=document.createElement("script");r.src=Q9e,r.addEventListener("load",()=>e()),r.addEventListener("error",()=>t(new Error(`Failed to load ${Q9e}`))),document.head.append(r)})}async function qDn(){globalThis.MonacoEnvironment={getWorker:()=>new Worker(WDn)},await Promise.all([VDn(),GDn()]);let e=gnr();if(!e)throw new Error(`${Q9e} did not register the editor API`);return e}function ynr(){let e=gnr();return e?Promise.resolve(e):(Z9e??(Z9e=qDn().catch(t=>{throw Z9e=void 0,t})),Z9e)}function vnr(){let[e,t]=(0,Vq.useState)(),[r,n]=(0,Vq.useState)(!1);return(0,Vq.useEffect)(()=>{let i=!1;return ynr().then(o=>!i&&t(o),()=>!i&&n(!0)),()=>{i=!0}},[]),{monaco:e,failed:r}}var Gq=P(ge(),1);function bnr(e,t,r,n){(0,Gq.useEffect)(()=>{let i=e.current;i&&i.getValue()!==r.value&&i.setValue(r.value)},[e,t,r.value]),(0,Gq.useEffect)(()=>{let i=e.current?.getModel();t&&i&&t.editor.setModelLanguage(i,r.language??K9e)},[e,t,r.language]),(0,Gq.useEffect)(()=>{t?.editor.setTheme(n)},[t,n]),(0,Gq.useEffect)(()=>{e.current?.updateOptions({readOnly:r.readOnly??!1})},[e,t,r.readOnly])}function xnr(e,t){let{monaco:r,failed:n}=vnr(),i=(0,qq.useRef)(null),o=Oi().palette.mode==="dark"?"vs-dark":"vs",a=(0,qq.useRef)({settings:t,theme:o});return a.current={settings:t,theme:o},(0,qq.useEffect)(()=>{let s=e.current;if(!r||!s)return;let l=mnr(r,s,a.current.settings,a.current.theme);i.current=l;let u=l.onDidChangeModelContent(()=>a.current.settings.onChange?.(l.getValue()));return()=>{i.current=null,u.dispose(),l.getModel()?.dispose(),l.dispose()}},[r,e]),bnr(i,r,t,o),n?"error":r?"ready":"loading"}var J9e=P(z(),1),jDn=e=>t=>({border:`1px solid ${t.palette.divider}`,borderRadius:1,overflow:"hidden",height:e});function Snr({height:e,...t}){let r=(0,Tnr.useRef)(null);return xnr(r,t)==="error"?(0,J9e.jsx)(Oe,{color:"text.secondary",align:"center",sx:{py:6},children:"The editor failed to load."}):(0,J9e.jsx)(le,{ref:r,sx:jDn(e)})}var Cnr="typescript",YDn={ts:"typescript",mts:"typescript",cts:"typescript",tsx:"typescript",js:"javascript",jsx:"javascript",mjs:"javascript",cjs:"javascript",json:Cnr,jsonc:Cnr,css:"css",scss:"scss",less:"less",py:"python",md:"markdown",markdown:"markdown",mdx:"mdx",yml:"yaml",yaml:"yaml",sh:"shell",bash:"shell",zsh:"shell",ps1:"powershell",html:"html",htm:"html",xml:"xml",svg:"xml",sql:"sql",rs:"rust",go:"go",java:"java",kt:"kotlin",cs:"csharp",rb:"ruby",php:"php",c:"cpp",h:"cpp",cpp:"cpp",hpp:"cpp",swift:"swift",dart:"dart",lua:"lua",r:"r",graphql:"graphql",gql:"graphql",dockerfile:"dockerfile",ini:"ini"};function wnr(e){let t=e.split(".").pop()?.toLowerCase();return t?YDn[t]:void 0}var gpe=P(z(),1),KDn="calc(100vh - 152px)";function knr({path:e,cwd:t,rendered:r,value:n,onChange:i,comments:o}){return r?(0,gpe.jsx)(zhe,{path:e,cwd:t,source:n,onComment:o.onComment,onAddRule:o.onAddRule,unavailable:o.unavailable,children:(0,gpe.jsx)(Ew,{content:n,renderMermaid:!0,wide:!0})}):(0,gpe.jsx)(Snr,{value:n,language:wnr(e),height:KDn,onChange:i})}var _nr=P(z(),1),Enr=ut((0,_nr.jsx)("path",{d:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z"}),"Save");var e2=P(z(),1),XDn={display:"flex",alignItems:"center",gap:1,flexShrink:0};function Rnr({mode:e,onModeChange:t,onSave:r,saving:n,dirty:i}){let o=Kn("save").chords;return(0,e2.jsxs)(le,{sx:XDn,children:[e&&(0,e2.jsxs)(du,{exclusive:!0,size:"small",value:e,onChange:(a,s)=>s&&t(s),children:[(0,e2.jsx)(hs,{value:"raw",children:"Raw"}),(0,e2.jsx)(hs,{value:"rendered",children:"Rendered"})]}),(0,e2.jsx)(qt,{size:"small",variant:"outlined",startIcon:(0,e2.jsx)(Enr,{sx:{fontSize:16}}),onClick:r,disabled:n||!i,title:`Save (${eee(o[0])})`,children:"Save"}),(0,e2.jsx)(Are,{})]})}var q3=P(z(),1),ZDn={display:"flex",alignItems:"center",justifyContent:"space-between",gap:2,mb:1},QDn={fontFamily:"monospace",fontSize:13},JDn={display:"flex",alignItems:"center",gap:1,minWidth:0};function Anr({path:e,mode:t,onModeChange:r,onSave:n,saving:i,dirty:o}){return(0,q3.jsxs)(le,{sx:ZDn,children:[(0,q3.jsxs)(le,{sx:JDn,children:[(0,q3.jsx)(o9,{path:e}),(0,q3.jsx)(Oe,{color:"text.secondary",sx:QDn,children:e})]}),(0,q3.jsx)(Rnr,{mode:t,onModeChange:r,onSave:n,saving:i,dirty:o})]})}function Pnr(e,t,r){return r?t?e==="absent"?"This file is not in the working tree.":e==="too-large"?"This file is too large to display (over 2 MB).":"Couldn't load this file.":"No file path given.":"Select a repo to view files."}var Lnr=P(ge(),1);var Inr=P(z(),1);function Mnr({dirty:e}){let t=P2e(e);return(0,Lnr.useEffect)(()=>{if(!e)return;let r=n=>n.preventDefault();return globalThis.addEventListener("beforeunload",r),()=>globalThis.removeEventListener("beforeunload",r)},[e]),t.state!=="blocked"?null:(0,Inr.jsx)(vo,{title:"Discard unsaved changes?",message:"This file has unsaved changes that will be lost.",confirmLabel:"Discard",onConfirm:()=>t.proceed(),onCancel:()=>t.reset()})}var Hnr=P(ge(),1);var Ow=P(ge(),1);async function Dnr({cwd:e,node:t,path:r,content:n,mtimeMs:i}){let o=await u9(tn(`/api/file?cwd=${encodeURIComponent(e)}&path=${encodeURIComponent(r)}`,t),{content:n,mtimeMs:i},"Failed to save file");if(typeof o.content!="string")throw new Error("The server returned no file content");return{content:o.content,mtimeMs:typeof o.mtimeMs=="number"?o.mtimeMs:i}}var vpe=P(ge(),1);function ype(e){return e.status==="ready"?{content:e.content,mtimeMs:e.mtimeMs}:{content:"",mtimeMs:0}}function Nnr(e){let[t,r]=(0,vpe.useState)(e),[n,i]=(0,vpe.useState)(()=>ype(e)),[o,a]=(0,vpe.useState)(()=>ype(e).content);if(t!==e){let s=ype(e);r(e),i(s),a(s.content)}return{saved:n,setSaved:i,value:o,setValue:a}}function eNn(e){return e instanceof Error?e.message:"Failed to save file"}function Onr(e,t,r){let{saved:n,setSaved:i,value:o,setValue:a}=Nnr(r),[s,l]=(0,Ow.useState)(!1),[u,f]=(0,Ow.useState)(null),d=(0,Ow.useRef)(o),h=yr();d.current=o;let p=r.status==="ready"&&o!==n.content,m=(0,Ow.useCallback)(()=>{!e||!p||s||(l(!0),Dnr({cwd:e,node:h,path:t,content:d.current,mtimeMs:n.mtimeMs}).then(y=>{i(y),a(y.content)}).catch(y=>f(eNn(y))).finally(()=>l(!1)))},[e,h,t,p,s,n.mtimeMs,i,a]),g=(0,Ow.useCallback)(()=>f(null),[]);return{value:o,setValue:a,save:m,saving:s,dirty:p,error:u,clearError:g}}var Fnr=P(ge(),1);function Bnr(e,t){return t?lpe(e.find(r=>r.id===t)):{unavailable:"Select a session card to comment on this file."}}function $nr(e,t,r){let[n,i]=(0,Fnr.useState)(null),{session:o,unavailable:a}=Bnr(e,t),s=()=>i(o?.name??null);return{onComment:o?cpe(o,r,s):void 0,onAddRule:o?ape(o,r,s):void 0,unavailable:a,sentTo:n,clearSent:()=>i(null)}}function znr(e){No(Kn("save").matches,e)}function Unr(e,t,r){let[n]=Pc(),i=n.get("path")??"",{worktreeCwd:o}=$n(),a=n.get("cwd")||o,s=Uhe(a,i),l=Onr(a,i,s),u=$nr(e,t,r),[f,d]=(0,Hnr.useState)("raw");return znr(l.save),{path:i,cwd:a,state:s,buffer:l,comments:u,isMarkdown:RL(i)==="markdown",mode:f,setMode:d}}var Bw=P(z(),1);function Wnr({sessions:e,sendInput:t,cardId:r}){let{path:n,cwd:i,state:o,buffer:a,comments:s,isMarkdown:l,mode:u,setMode:f}=Unr(e,r,t);return(0,Bw.jsxs)(zl,{loading:o.status==="loading"&&!!(i&&n),isEmpty:o.status!=="ready",emptyMessage:Pnr(o.status,n,i),maxWidth:!1,children:[(0,Bw.jsx)(Anr,{path:n,mode:l?u:void 0,onModeChange:f,onSave:a.save,saving:a.saving,dirty:a.dirty}),o.status==="ready"&&(0,Bw.jsx)(knr,{path:n,cwd:i,rendered:l&&u==="rendered",value:a.value,onChange:a.setValue,comments:s}),(0,Bw.jsx)(Mnr,{dirty:a.dirty}),(0,Bw.jsx)(vu,{error:a.error,onClose:a.clearError}),(0,Bw.jsx)(rpe,{sessionName:s.sentTo,onClose:s.clearSent})]})}var eBe=P(z(),1);function Vnr({socket:e}){return(0,eBe.jsx)(ppe,{defaultTo:"worktree",children:(0,eBe.jsx)(Wnr,{sessions:e.sessions,sendInput:e.sendInput,cardId:mpe(e)})})}var jq=P(ge(),1);var tBe=P(z(),1);function Gnr(){return(0,tBe.jsx)(le,{sx:{display:"flex",justifyContent:"flex-end",mb:2},children:(0,tBe.jsx)(xn,{component:ys,to:"/config?search=news",underline:"hover",variant:"body2",children:"News settings"})})}function qnr(e){let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);if(t<60)return"just now";let r=Math.floor(t/60);if(r<60)return`${r}m ago`;let n=Math.floor(r/60);return n<24?`${n}h ago`:`${Math.floor(n/24)}d ago`}var t2=P(z(),1),tNn={display:"block",bgcolor:"background.paper",borderRadius:2,p:2.5,transition:"background-color 0.15s","&:hover":{bgcolor:"action.hover"}},rNn={width:16,height:16};function jnr({item:e}){return(0,t2.jsxs)(xn,{href:e.link,target:"_blank",rel:"noopener noreferrer",underline:"none",color:"inherit",sx:tNn,children:[(0,t2.jsxs)(le,{sx:{display:"flex",alignItems:"center",gap:1,mb:.75},children:[(0,t2.jsx)(O1e,{src:`${e.feedOrigin}/favicon.ico`,variant:"rounded",sx:rNn,children:" "}),(0,t2.jsx)(sn,{label:e.feedTitle,size:"small"}),(0,t2.jsx)(Oe,{variant:"body2",color:"text.secondary",children:qnr(e.pubDate)})]}),(0,t2.jsx)(Oe,{variant:"h6",sx:{fontWeight:500,lineHeight:1.3},children:e.title}),e.excerpt&&(0,t2.jsx)(Oe,{variant:"body2",color:"text.secondary",sx:{mt:.75},children:e.excerpt})]})}function nNn(e){let t=new Date(e),r=new Date;return t.toLocaleDateString("en-US",{weekday:"long",month:"short",day:"numeric",year:t.getFullYear()!==r.getFullYear()?"numeric":void 0})}function iNn(e){return new Date(e).toISOString().slice(0,10)}function Ynr(e){let t=new Map;for(let r of e){let n=iNn(r.pubDate),i=t.get(n);i?i.items.push(r):t.set(n,{label:nNn(r.pubDate),items:[r]})}return[...t.values()]}var Fw=P(z(),1);async function oNn(){return(await fetch("/api/news/items")).json()}function Knr(){let[e,t]=(0,jq.useState)([]),[r,n]=(0,jq.useState)(!0);return(0,jq.useEffect)(()=>{oNn().then(i=>t(Ynr(i))).finally(()=>n(!1))},[]),(0,Fw.jsx)(zl,{loading:r,isEmpty:e.length===0,emptyMessage:"No news items.",header:(0,Fw.jsx)(Gnr,{}),children:e.map(i=>(0,Fw.jsxs)(le,{sx:{mb:4},children:[(0,Fw.jsx)(Oe,{variant:"overline",color:"text.secondary",sx:{display:"block",mb:1,px:.5},children:i.label}),(0,Fw.jsx)(Rt,{spacing:1,children:i.items.map(o=>(0,Fw.jsx)(jnr,{item:o},`${o.link}-${o.pubDate}`))})]},i.label))})}function bpe(e){let t=e.peerPrs.items[0];if(t)return{kind:"pr",item:t};let r=e.assignedIssues.items[0];if(r)return{kind:"issue",item:r};let n=e.pickups.items[0];if(n)return{kind:"pickup",item:n};let i=e.myPrs.items[0];return i?{kind:"mine",item:i}:null}var Pm={review:{label:"Review",color:"primary"},mine:{label:"Yours",color:"info"},assigned:{label:"Assigned",color:"secondary"},pickup:{label:"Pick up",color:"success"}};var Yq=P(z(),1);function Xnr(){return(0,Yq.jsxs)(an,{variant:"outlined",sx:{p:4,textAlign:"center"},children:[(0,Yq.jsx)(Oe,{variant:"h6",component:"h2",children:"Nothing needs you here"}),(0,Yq.jsx)(Oe,{sx:{color:"text.secondary"},children:"No peer PRs await your review, no issues are assigned to you and no project items are ready to pick up."})]})}function Znr({peerPrs:e,myPrs:t,assignedIssues:r,pickups:n}){return[e,t,r,n].every(i=>i.items.length===0&&!i.error)}var r2=P(z(),1);function Kq({chip:e,title:t,count:r,error:n,rows:i}){return i.length===0&&!n?null:(0,r2.jsxs)(Rt,{spacing:1,component:"section",children:[(0,r2.jsxs)(Rt,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[(0,r2.jsx)(sn,{label:e.label,size:"small",color:e.color,variant:"outlined"}),(0,r2.jsx)(Oe,{variant:"subtitle2",component:"h3",children:t}),(0,r2.jsx)(Oe,{variant:"body2",sx:{color:"text.secondary"},children:r})]}),n&&(0,r2.jsx)(ni,{severity:"error",sx:{whiteSpace:"pre-line"},children:n}),i.length>0&&(0,r2.jsx)(an,{variant:"outlined",sx:{overflow:"hidden"},children:i})]})}var Qnr="github.com/";function xpe(e){let t=(e.remoteOrigin??e.repoGroup?.origin)?.toLowerCase();return t?.startsWith(Qnr)?t.slice(Qnr.length):void 0}function Tpe(e,t,r){let n=t.toLowerCase();return e.filter(i=>EP(i)===r&&xpe(i)===n)}var f9=P(z(),1),aNn={success:{label:"checks passing",color:"success.main"},failure:{label:"checks failing",color:"error.main"},pending:{label:"checks running",color:"warning.main"}};function d9({pr:e}){let t=e.checks?aNn[e.checks]:null,r=e.reason==="requested"?`review requested ${Do(e.requestedAt)}`:`opened ${Do(e.createdAt)}`;return(0,f9.jsxs)(Rt,{direction:"row",spacing:1.5,useFlexGap:!0,sx:{flexWrap:"wrap",color:"text.secondary"},children:[(0,f9.jsx)(Oe,{variant:"body2",children:e.author}),(0,f9.jsx)(Oe,{variant:"body2",children:r}),t&&(0,f9.jsx)(Oe,{variant:"body2",sx:{color:t.color},children:t.label})]})}var Spe=P(ge(),1),rBe=(0,Spe.createContext)({sessions:[],trackedIssues:new Map,activate:()=>{}});function $w(){return(0,Spe.useContext)(rBe)}var Jnr=P(z(),1),eir=ut((0,Jnr.jsx)("path",{d:"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3z"}),"OpenInNew");var tir=P(z(),1),rir=ut((0,tir.jsx)("path",{d:"M20 4H4c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.89-2-2-2m0 14H4V8h16zm-2-1h-6v-2h6zM7.5 17l-1.41-1.41L8.67 13l-2.59-2.59L7.5 9l4 4z"}),"Terminal");var Cpe=P(z(),1);function nir({sessions:e,size:t}){let{activate:r}=$w();return e.map(n=>(0,Cpe.jsxs)(qt,{variant:"contained",size:t,startIcon:(0,Cpe.jsx)(rir,{}),onClick:()=>r(n.id),children:["Session ",n.id]},n.id))}var wpe=P(ge(),1),nBe=(0,wpe.createContext)(()=>{});function iir(){return(0,wpe.useContext)(nBe)}var _1=P(z(),1);function kpe({repo:e,url:t,onStart:r,sessions:n=[],size:i="small"}){let o=iir()(e);return(0,_1.jsxs)(Rt,{direction:"row",spacing:1,useFlexGap:!0,sx:{flexShrink:0,flexWrap:"wrap"},children:[(0,_1.jsx)(nir,{sessions:n,size:i}),(0,_1.jsx)(lr,{title:o?"":`No local clone of ${e} to start a session in`,children:(0,_1.jsx)("span",{children:(0,_1.jsx)(qt,{variant:"outlined",size:i,startIcon:(0,_1.jsx)(Fp,{}),disabled:!o,onClick:()=>o&&r(o),children:"Start session"})})}),(0,_1.jsx)(qt,{variant:"outlined",size:i,startIcon:(0,_1.jsx)(eir,{}),href:t,target:"_blank",rel:"noopener noreferrer",children:"GitHub"})]})}var oir=P(z(),1);function _pe({repo:e,number:t}){return(0,oir.jsxs)(Oe,{variant:"body2",sx:{fontFamily:"monospace",color:"text.secondary",whiteSpace:"nowrap"},children:[e,"#",t]})}var zw=P(z(),1);function Epe({repo:e,number:t,title:r,facts:n,url:i,onStart:o,sessions:a}){return(0,zw.jsxs)(Rt,{direction:{xs:"column",sm:"row"},spacing:1,sx:{px:2,py:1.25,alignItems:{sm:"center"},"& + &":{borderTop:1,borderColor:"divider"}},children:[(0,zw.jsxs)(Rt,{spacing:.25,sx:{flex:1,minWidth:0},children:[(0,zw.jsxs)(Rt,{direction:"row",spacing:1,useFlexGap:!0,sx:{alignItems:"baseline",flexWrap:"wrap"},children:[(0,zw.jsx)(_pe,{repo:e,number:t}),(0,zw.jsx)(Oe,{sx:{fontWeight:500,overflowWrap:"anywhere"},children:r})]}),n]}),(0,zw.jsx)(kpe,{repo:e,url:i,onStart:o,sessions:a})]})}var Rpe=P(z(),1);function iBe({chip:e,title:t,section:r,hiddenUrl:n,onStart:i}){let{sessions:o}=$w();return(0,Rpe.jsx)(Kq,{chip:e,title:t,count:r.items.length,error:r.error,rows:r.items.filter(a=>a.url!==n).map(a=>(0,Rpe.jsx)(Epe,{repo:a.repo,number:a.number,title:a.title,facts:(0,Rpe.jsx)(d9,{pr:a}),url:a.url,onStart:s=>i(a,s),sessions:Tpe(o,a.repo,a.number)},a.url))})}function Ape(e,t,r,n){let i=r.toLowerCase(),o=`${i}#${n}`;return e.filter(a=>xpe(a)===i&&(a.promptIssue?.toLowerCase()===o||t.get(a.id)?.toLowerCase()===o))}var lir=P(z(),1),air={GRAY:{light:"#59636e",dark:"#9198a1"},BLUE:{light:"#0969da",dark:"#4493f8"},GREEN:{light:"#1a7f37",dark:"#3fb950"},YELLOW:{light:"#9a6700",dark:"#d29922"},ORANGE:{light:"#bc4c00",dark:"#db6d28"},RED:{light:"#d1242f",dark:"#f85149"},PINK:{light:"#bf3989",dark:"#db61a2"},PURPLE:{light:"#8250df",dark:"#ab7df8"}};function sir({type:e}){let t=air[e.color]??air.GRAY;return(0,lir.jsx)(sn,{label:e.name,size:"small",variant:"outlined",sx:r=>{let n=r.palette.mode==="dark"?t.dark:t.light;return{color:n,borderColor:n,height:20}}})}var n2=P(z(),1);function h9({issue:e}){let t="status"in e?e:null;return(0,n2.jsxs)(Rt,{direction:"row",spacing:1.5,useFlexGap:!0,sx:{flexWrap:"wrap",color:"text.secondary",alignItems:"center"},children:[t?.type&&(0,n2.jsx)(sir,{type:t.type}),t&&(0,n2.jsxs)(Oe,{variant:"body2",children:[t.projectTitle," \xB7 ",t.status]}),t?.priority&&(0,n2.jsx)(Oe,{variant:"body2",children:t.priority}),(0,n2.jsx)(Oe,{variant:"body2",children:e.author}),(0,n2.jsxs)(Oe,{variant:"body2",children:["opened ",Do(e.createdAt)]}),e.labels.length>0&&(0,n2.jsx)(Oe,{variant:"body2",children:e.labels.join(", ")})]})}var oBe=P(z(),1);function aBe(e,t,r,{sessions:n,trackedIssues:i}){return e.filter(o=>o.url!==t).map(o=>(0,oBe.jsx)(Epe,{repo:o.repo,number:o.number,title:o.title,facts:(0,oBe.jsx)(h9,{issue:o}),url:o.url,onStart:a=>r(o,a),sessions:Ape(n,i,o.repo,o.number)},o.url))}var E1=P(z(),1);function cir({data:e,onStartPr:t,onStartIssue:r,onStartPickup:n}){let i=$w(),{peerPrs:o,myPrs:a,assignedIssues:s,pickups:l}=e;if(Znr(e))return(0,E1.jsx)(Xnr,{});let u=bpe(e)?.item.url;return(0,E1.jsxs)(E1.Fragment,{children:[(0,E1.jsx)(iBe,{chip:Pm.review,title:"Peer PRs awaiting your review",section:o,hiddenUrl:u,onStart:t}),(0,E1.jsx)(iBe,{chip:Pm.mine,title:"Your open PRs",section:a,hiddenUrl:u,onStart:t}),(0,E1.jsx)(Kq,{chip:Pm.assigned,title:"Issues assigned to you",count:s.items.length,error:s.error,rows:aBe(s.items,u,r,i)}),(0,E1.jsx)(Kq,{chip:Pm.pickup,title:"Project items to pick up",count:l.items.length,error:l.error,rows:aBe(l.items,u,n,i)})]})}var uir=P(ge(),1),Ppe=P(z(),1);function fir({projects:e,boards:t}){return e.map((r,n)=>{let i=t.find(o=>o.project===r);return(0,Ppe.jsxs)(uir.Fragment,{children:[n>0&&", ",i?.url?(0,Ppe.jsx)(xn,{href:i.url,target:"_blank",rel:"noopener noreferrer",underline:"hover",title:r,children:i.title}):r]},r)})}var j3=P(z(),1);function Lpe({label:e,value:t,unset:r,setter:n,showSetter:i}){return(0,j3.jsxs)(Oe,{variant:"body2",sx:{color:"text.secondary"},children:[e,": ",t??r,i&&(0,j3.jsxs)(j3.Fragment,{children:[" \xB7 set with ",(0,j3.jsx)(Oe,{component:"code",variant:"body2",sx:{fontFamily:"monospace"},children:n})]})]})}var R1=P(z(),1);function sNn(e,t){return e?e.join(", "):t?`${t} (this repo, by default)`:null}function lNn(e,t){return e.projects.length===0?null:(0,R1.jsxs)(R1.Fragment,{children:[(0,R1.jsx)(fir,{projects:e.projects,boards:t}),cNn(e)]})}function cNn(e){let t=[e.excludeLabels.length>0&&`labels ${e.excludeLabels.join(", ")}`,e.excludeTypes.length>0&&`types ${e.excludeTypes.join(", ")}`].filter(Boolean),r=t.length>0?`, excluding ${t.join("; ")}`:"";return`, picking up ${e.pickStatuses.join(", ")}${r}`}function dir({scope:e,boards:t}){return(0,R1.jsxs)(Rt,{spacing:.25,children:[(0,R1.jsx)(Lpe,{label:"Peers",value:e.peers.length>0?e.peers.join(", "):null,unset:"none \u2014 only PRs requesting your review appear",setter:"assist config set next.peers alice,bob -g --repo",showSetter:e.peers.length===0}),(0,R1.jsx)(Lpe,{label:"Repos",value:sNn(e.repos,e.selfRepo),unset:"none",setter:"assist config set next.repos my-org,other/web -g --repo",showSetter:!e.repos}),(0,R1.jsx)(Lpe,{label:"Projects",value:lNn(e,t),unset:"none \u2014 no project items are suggested",setter:"assist config set next.projects my-org/3,my-org/5 -g --repo",showSetter:e.projects.length===0})]})}var Hw=P(z(),1);function hir({loading:e,data:t,onRefresh:r}){return(0,Hw.jsxs)(Rt,{spacing:.5,sx:{mb:2},children:[(0,Hw.jsxs)(Rt,{direction:"row",spacing:2,sx:{alignItems:"baseline"},children:[(0,Hw.jsx)(Oe,{variant:"h6",sx:{flex:1},children:"Next"}),(0,Hw.jsx)(xn,{component:ys,to:"/config?search=next",underline:"hover",variant:"body2",children:"Next settings"}),(0,Hw.jsx)(qt,{size:"small",onClick:r,disabled:e,children:"Refresh"})]}),t&&(0,Hw.jsx)(dir,{scope:t.scope,boards:t.boards})]})}var Mpe=P(z(),1);function pir({picking:e,error:t,clearError:r}){return e?(0,Mpe.jsxs)(ni,{severity:"info",children:["Assigning ",e.repo,"#",e.number," to you and moving it to In Progress\u2026"]}):t?(0,Mpe.jsx)(ni,{severity:"error",onClose:r,children:t}):null}var Qg=P(z(),1);function mir({chip:e,repo:t,number:r,title:n,facts:i,why:o,url:a,onStart:s,sessions:l}){return(0,Qg.jsx)(an,{variant:"outlined",sx:{p:2.5},children:(0,Qg.jsxs)(Rt,{spacing:1.5,children:[(0,Qg.jsx)(Oe,{variant:"overline",sx:{color:"text.secondary",lineHeight:1.5},children:"Your next best action"}),(0,Qg.jsxs)(Rt,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[(0,Qg.jsx)(sn,{label:e.label,size:"small",color:e.color,variant:"outlined"}),(0,Qg.jsx)(_pe,{repo:t,number:r})]}),(0,Qg.jsx)(Oe,{variant:"h6",component:"h2",children:n}),i,(0,Qg.jsx)(Oe,{sx:{color:"text.secondary",maxWidth:"65ch"},children:o}),(0,Qg.jsx)(kpe,{repo:t,url:a,onStart:s,sessions:l,size:"medium"})]})})}function gir(e,t,r){let n=t>1?`the oldest of ${t} issues assigned to you`:"the only issue assigned to you",i=r?", and no peer PRs await your review":"";return`Opened ${Do(e.createdAt)} \u2014 ${n}${i}.`}function yir(e,t,r){let n=t>1?`the oldest of your ${t} open PRs`:"your only open PR",i=e.isDraft?"drafted":"opened",o=r?", and nothing else awaits your review, is assigned to you or is ready to pick up":"";return`You ${i} it ${Do(e.createdAt)} \u2014 ${n}${o}.`}var bir=P(z(),1);function vir(e,{data:t,onStartPr:r}){let{peerPrs:n,myPrs:i,assignedIssues:o,pickups:a}=t;return{chip:Pm.mine,facts:(0,bir.jsx)(d9,{pr:e}),why:yir(e,i.items.length,!n.error&&!o.error&&!a.error),onStart:s=>r(e,s)}}function xir(e,t,r){let n=t>1?`the top of ${t} unassigned project items`:"the only unassigned project item",i=r?", and nothing is assigned to you or awaiting your review":"";return`${e.status} on ${e.projectTitle} \u2014 ${n} you could pick up${i}.`}var Sir=P(z(),1);function Tir(e,{data:t,onStartPickup:r}){let{peerPrs:n,assignedIssues:i,pickups:o}=t;return{chip:Pm.pickup,facts:(0,Sir.jsx)(h9,{issue:e}),why:xir(e,o.items.length,!n.error&&!i.error),onStart:a=>r(e,a)}}function Cir(e,t){let r=t>1?`the oldest of ${t} PRs`:"the only PR",n=e.reason==="requested"?`${e.author} requested your review ${Do(e.requestedAt)}`:`${e.author} is a peer and opened it ${Do(e.createdAt)}`,i=e.checks==="success"?" Checks pass, so your review is what it is waiting on.":"";return`${n} \u2014 ${r} waiting on your review.${i}`}var sBe=P(z(),1);function wir(e,t){let{data:r,onStartPr:n,onStartIssue:i}=t,{peerPrs:o,assignedIssues:a}=r;switch(e.kind){case"pr":return{chip:Pm.review,facts:(0,sBe.jsx)(d9,{pr:e.item}),why:Cir(e.item,o.items.length),onStart:s=>n(e.item,s)};case"issue":return{chip:Pm.assigned,facts:(0,sBe.jsx)(h9,{issue:e.item}),why:gir(e.item,a.items.length,!o.error),onStart:s=>i(e.item,s)};case"pickup":return Tir(e.item,t);case"mine":return vir(e.item,t)}}var _ir=P(z(),1);function kir(e){let{sessions:t,trackedIssues:r}=$w(),n=bpe(e.data);if(!n)return null;let{repo:i,number:o,title:a,url:s}=n.item;return(0,_ir.jsx)(mir,{repo:i,number:o,title:a,url:s,sessions:n.kind==="pr"||n.kind==="mine"?Tpe(t,i,o):Ape(t,r,i,o),...wir(n,e)})}var Rir=P(ge(),1);var Jg=P(z(),1);function Eir({pr:e,onSelect:t,onCancel:r}){return(0,Jg.jsxs)(Jg.Fragment,{children:[(0,Jg.jsx)(fn,{onClick:()=>t(["review","--checkout-only"]),children:"Checkout"}),(0,Jg.jsx)(fn,{onClick:()=>t(["review-pr-comments"]),children:"Address Comments"}),(0,Jg.jsx)(fn,{onClick:()=>t(["fix-conflict"]),children:"Fix conflicts (merge)"}),(0,Jg.jsx)(fn,{onClick:()=>t(["fix-conflict","--rebase"]),children:"Fix conflicts (rebase)"}),(0,Jg.jsx)(no,{}),(0,Jg.jsx)(fn,{onClick:()=>{window.open(e.url,"_blank"),r()},children:"Open in GitHub"})]})}var Kh=P(z(),1);function Ipe({pr:e,onSelect:t,onCancel:r}){let[n,i]=(0,Rir.useState)(zz);return(0,Kh.jsxs)(Ps,{open:!0,onClose:r,maxWidth:"xs",fullWidth:!0,children:[(0,Kh.jsxs)(Il,{sx:{fontSize:15},children:["Review #",e.number,": ",e.title]}),(0,Kh.jsx)(Ml,{sx:{px:0},children:(0,Kh.jsxs)(Cp,{children:[Eee.map(({label:o,args:a})=>(0,Kh.jsx)(fn,{onClick:()=>t([...a,...Ree(n)]),children:o},o)),(0,Kh.jsx)(no,{}),(0,Kh.jsx)(Aee,{value:n,onChange:i}),(0,Kh.jsx)(no,{}),(0,Kh.jsx)(Eir,{pr:e,onSelect:t,onCancel:r})]})}),(0,Kh.jsx)(cu,{children:(0,Kh.jsx)(qt,{onClick:r,children:"Cancel"})})]})}var Pir=P(z(),1);function Air({review:{pr:e,cwd:t},onClose:r}){let{selectedNode:n}=$n(),{launchAssist:i}=$l();return(0,Pir.jsx)(Ipe,{pr:e,onSelect:o=>{i([...o,String(e.number)],t,{...PP(e),node:n}),r()},onCancel:r})}var Lir=P(ge(),1);function Mir(e){let{repos:t,selectedCwd:r,originOf:n}=$n();return(0,Lir.useCallback)(i=>{let o=i.toLowerCase();if(e?.toLowerCase()===o)return r;let a=`github.com/${o}`;return t.find(s=>n(s)?.toLowerCase()===a)},[t,r,n,e])}var Nir=P(ge(),1);function Iir(){let[,e]=Pc();return(t,r)=>e(n=>(n.set("new",`Issue ${t.repo}#${t.number}: ${t.title}
3840
3840
  ${t.url}`),n.set("newCwd",r),n),{replace:!0})}var lBe=P(ge(),1);function Dir(e,t,r){let n=yr(),[i,o]=(0,lBe.useState)(null),[a,s]=(0,lBe.useState)(null);return{start:(u,f)=>{o(u),s(null);let{project:d,repo:h,number:p,itemId:m}=u;u9(tn(`/api/next/pickup?cwd=${encodeURIComponent(e)}`,n),{project:d,repo:h,number:p,itemId:m},"Failed to pick up the item").then(()=>{t(u,f),r()}).catch(g=>s(`Could not pick up ${h}#${p}: ${g instanceof Error?g.message:String(g)}`)).finally(()=>o(null))},picking:i,error:a,clearError:()=>s(null)}}function Oir(e,t){let[r,n]=(0,Nir.useState)(null),i=Iir(),{start:o,...a}=Dir(e,i,t);return{actions:{onStartPr:(l,u)=>n({pr:l,cwd:u}),onStartIssue:i,onStartPickup:(l,u)=>!a.picking&&o(l,u)},pickup:a,reviewing:r,closeReview:()=>n(null)}}var i2=P(ge(),1);var Bir=3e4;async function uNn(e,t){let r=await fetch(tn(`/api/next?cwd=${encodeURIComponent(e)}`,t),{signal:AbortSignal.timeout(Bir)}).catch(i=>{throw i instanceof DOMException&&i.name==="TimeoutError"?new Error(`No response after ${Bir/1e3}s.`):i}),n=await r.json();if(!r.ok)throw new Error(n?.error??`HTTP ${r.status}`);return n}function Fir(e){let t=yr(),[r,n]=(0,i2.useState)(null),[i,o]=(0,i2.useState)(!0),[a,s]=(0,i2.useState)(null),[l,u]=(0,i2.useState)(0);(0,i2.useEffect)(()=>{if(!e){n(null),o(!1),s("No repo selected.");return}let d=!1;return o(!0),uNn(e,t).then(h=>{d||(n(h),s(null))}).catch(h=>{d||(n(null),s(h instanceof Error?h.message:"Failed to load."))}).finally(()=>{d||o(!1)}),()=>{d=!0}},[e,t,l]);let f=(0,i2.useCallback)(()=>u(d=>d+1),[]);return{data:r,loading:i,error:a,refresh:f}}var cBe=P(ge(),1);var Dpe=P(ge(),1);function $ir(e){let t=yr(),[r,n]=(0,Dpe.useState)(()=>new Map),i=JSON.stringify(e.flatMap(o=>{let a=o.activity?.itemId;return a==null?[]:[[o.id,o.cwd,a]]}));return(0,Dpe.useEffect)(()=>{let o=!1,a=JSON.parse(i);return Promise.all(a.map(async([s,l,u])=>{let d=(await PJ(l??void 0,t)).get(u)?.githubIssue;return d?[s,d]:void 0})).then(s=>{o||n(new Map(s.filter(l=>l!==void 0)))}),()=>{o=!0}},[i,t]),r}function zir(e,t){let r=yr()??"",n=WP(t),i=(0,cBe.useMemo)(()=>e.filter(a=>(a.node??"")===r),[e,r]),o=$ir(i);return(0,cBe.useMemo)(()=>({sessions:i,trackedIssues:o,activate:n}),[i,o,n])}var e0=P(z(),1);function Hir({sessions:e,selectSession:t}){let{selectedCwd:r}=$n(),{data:n,loading:i,error:o,refresh:a}=Fir(r),{actions:s,pickup:l,reviewing:u,closeReview:f}=Oir(r,a),d=Mir(n?.scope.selfRepo??null),h=zir(e,t);return(0,e0.jsxs)(zl,{loading:i&&!n,header:(0,e0.jsx)(hir,{loading:i,data:n,onRefresh:a}),isEmpty:!n,emptyMessage:o??void 0,children:[n&&(0,e0.jsx)(nBe.Provider,{value:d,children:(0,e0.jsx)(rBe.Provider,{value:h,children:(0,e0.jsxs)(Rt,{spacing:3,children:[(0,e0.jsx)(pir,{...l}),(0,e0.jsx)(kir,{data:n,...s}),(0,e0.jsx)(cir,{data:n,...s})]})})}),u&&(0,e0.jsx)(Air,{review:u,onClose:f})]})}var wor=P(ge(),1);var uBe={live:"What's live",run:"Latest run"};var Xq=P(z(),1),fNn={display:"flex",justifyContent:"flex-end"},dNn={fontSize:"0.975rem"},hNn={live:"What each environment is running right now",run:"How far the latest run of this workflow has reached"};function Uir({layer:e,onChange:t}){return(0,Xq.jsx)(le,{sx:fNn,children:(0,Xq.jsx)(du,{size:"small",exclusive:!0,value:e,"aria-label":"Data layer",onChange:(r,n)=>{n&&t(n)},children:Object.keys(uBe).map(r=>(0,Xq.jsx)(lr,{title:hNn[r],children:(0,Xq.jsx)(hs,{value:r,sx:dNn,children:uBe[r]})},r))})})}var pNn=[{mark:"\u25CF",tone:"ok",label:"current",tooltip:"Running the latest commit on the default branch"},{mark:"\u25D1",tone:"gate",label:"gated",tooltip:"Behind, with a newer commit waiting for someone to approve"},{mark:"\u25B2",tone:"drift",label:"behind",tooltip:"Behind the default branch, and nothing is queued to fix it"},{mark:"\u25CB",tone:"idle",label:"no deploy",tooltip:"No successful deployment recorded, or a build or approval step rather than an environment"},{mark:"queued",tone:"gate",label:"next in line",tooltip:"Built and queued, but not live \u2014 waiting for approval"},{mark:"\u2212n",tone:"drift",label:"behind by n",tooltip:"Commits on the default branch this environment has not got yet"}],mNn=[{mark:"\u2714",tone:"ok",label:"done",tooltip:"Built or deployed by this run"},{mark:"\u25D1",tone:"gate",label:"gated",tooltip:"Waiting for someone to approve this deploy"},{mark:"\u25CF",tone:"gate",label:"running",tooltip:"Running now"},{mark:"\u2715",tone:"fail",label:"failed",tooltip:"This job failed in the latest run"},{mark:"\u25CB",tone:"idle",label:"untouched",tooltip:"This run never got here"}];function Wir(e){return e==="run"?mNn:pNn}var fBe=P(z(),1),gNn={cursor:"help",borderRadius:"2px","&:focus-visible":{outline:"2px solid",outlineOffset:"2px"}};function Xh({title:e,color:t,children:r}){return(0,fBe.jsx)(lr,{title:e,children:(0,fBe.jsx)(le,{component:"span",tabIndex:0,sx:gNn,color:t,children:r})})}var A1={ok:"success.main",gate:"warning.main",drift:"error.main",fail:"error.main",idle:"text.secondary"};var Lm=P(z(),1),yNn={display:"flex",flexWrap:"wrap",alignItems:"center",gap:2,pt:1.5,mt:1,borderTop:1,borderColor:"divider",fontSize:14.4,color:"text.secondary"},dBe={display:"inline-flex",alignItems:"center",gap:.75},vNn={fontFamily:"monospace",fontSize:12.6,letterSpacing:"0.09em",textTransform:"uppercase"},Vir={width:22,height:2};function Gir({layer:e}){return(0,Lm.jsxs)(le,{sx:yNn,children:[(0,Lm.jsx)(le,{component:"span",sx:vNn,children:"hover anything for the long version"}),Wir(e).map(t=>(0,Lm.jsxs)(le,{component:"span",sx:dBe,children:[(0,Lm.jsx)(Xh,{title:t.tooltip,color:A1[t.tone],children:t.mark}),t.label]},t.label)),(0,Lm.jsxs)(le,{component:"span",sx:dBe,children:[(0,Lm.jsx)(Xh,{title:"This promotion has happened \u2014 the target carries the source's commit",children:(0,Lm.jsx)(le,{component:"span",sx:{...Vir,display:"block",bgcolor:"primary.main"}})}),"promoted"]}),(0,Lm.jsxs)(le,{component:"span",sx:dBe,children:[(0,Lm.jsx)(Xh,{title:"This promotion has not happened yet",children:(0,Lm.jsx)(le,{component:"span",sx:{...Vir,display:"block",borderTop:"2px dashed",borderColor:"text.disabled",height:0}})}),"not yet"]})]})}var T9=P(ge(),1);var ej=P(ge(),1);var Npe=P(z(),1),bNn={position:"absolute",inset:0,overflow:"visible",pointerEvents:"none",zIndex:0};function qir({edges:e,promoted:t,geometry:r}){let n=Oi(),{width:i,height:o,paths:a}=r;return i===0||o===0?null:(0,Npe.jsx)(le,{component:"svg",sx:bNn,width:i,height:o,viewBox:`0 0 ${i} ${o}`,"aria-hidden":"true",children:e.map(([s,l],u)=>{let f=a[u];if(!f)return null;let d=t[u]??!1;return(0,Npe.jsx)("path",{d:f,fill:"none",strokeWidth:1.5,stroke:d?n.palette.primary.main:n.palette.text.disabled,strokeDasharray:d?void 0:"3 4",children:(0,Npe.jsx)("title",{children:d?`${s} \u2192 ${l}: promoted \u2014 the target carries the source's commit`:`${s} \u2192 ${l}: not promoted yet`})},`${s}\0${l}`)})})}function jir(e,t,r,n){let i=e.get(r),o=e.get(n);return!i||!o?!1:t==="run"?o.run?.status==="ok":o.kind!=="environment"?!1:i.kind!=="environment"?o.behind===0:!!(i.live&&i.live.sha===o.live?.sha)}function Yir(e,t,r){let n=new Map(e.map(i=>[i.id,i]));return t.map(([i,o])=>jir(n,r,i,o))}function xNn(e){let t=new Map;for(let[r,n]of e)t.set(n,[...t.get(n)??[],r]);return t}function TNn(e){let t=xNn(e),r=new Map,n=new Set,i=o=>{let a=r.get(o);if(a!==void 0)return a;if(n.has(o))return 0;n.add(o);let s=Math.max(0,...(t.get(o)??[]).map(l=>i(l)+1));return n.delete(o),r.set(o,s),s};return i}function Kir(e,t){let r=TNn(t),n=[];for(let i of e){let o=r(i.id);for(;n.length<=o;)n.push([]);n[o]?.push(i)}return n}var SNn=new Intl.DateTimeFormat(void 0,{weekday:"short",day:"numeric",month:"short",hour:"2-digit",minute:"2-digit"});function Zq(e){return SNn.format(new Date(e))}var P1=P(z(),1),CNn=7,wNn={fontFamily:"monospace"},kNn={mt:.5},_Nn={opacity:.75,fontFamily:"monospace"};function p9({repo:e,commit:t,note:r}){return(0,P1.jsx)(lr,{title:(0,P1.jsxs)(P1.Fragment,{children:[(0,P1.jsx)(le,{children:r}),t.subject&&(0,P1.jsx)(le,{sx:kNn,children:t.subject}),t.author&&(0,P1.jsx)(le,{sx:_Nn,children:t.author})]}),children:(0,P1.jsx)(xn,{sx:wNn,href:`https://github.com/${e}/commit/${t.sha}`,target:"_blank",rel:"noreferrer",children:t.sha.slice(0,CNn)})})}var m9={display:"flex",alignItems:"baseline",flexWrap:"wrap",gap:1,fontFamily:"monospace",fontSize:13.2,color:"text.secondary"};var g9=P(z(),1);function ENn(e){let t=`Live in ${e.environment}`;return e.deployedAt?`${t} since ${Zq(e.deployedAt)}`:t}function RNn(e,t){return`${e} ${e===1?"commit":"commits"} on ${t??"the default branch"} this environment has not got yet`}function Xir({node:e,repo:t,defaultBranch:r}){let{live:n,deployedAt:i,behind:o,queued:a}=e;return(0,g9.jsxs)(le,{sx:m9,children:[n&&(0,g9.jsx)(p9,{repo:t,commit:n,note:ENn(e)}),i&&(0,g9.jsx)(Xh,{title:`Deployed ${Zq(i)}`,children:Do(i)}),o!==null&&o>0&&(0,g9.jsxs)(Xh,{title:RNn(o,r),color:A1[a?"gate":"drift"],children:["\u2212",o]})]})}var Qq=P(z(),1);function Zir({repo:e,environment:t,commit:r}){return(0,Qq.jsxs)(le,{sx:m9,children:[(0,Qq.jsx)(Xh,{title:"Built and queued, but not live \u2014 waiting for approval",color:A1.gate,children:"queued"}),(0,Qq.jsx)(p9,{repo:e,commit:r,note:`Queued for ${t}, waiting for approval`})]})}var Y3=P(z(),1);function Qir({node:e,repo:t,defaultBranch:r}){return e.kind!=="environment"?null:(0,Y3.jsxs)(Y3.Fragment,{children:[(0,Y3.jsx)(Xir,{node:e,repo:t,defaultBranch:r}),e.queued&&(0,Y3.jsx)(Zir,{repo:t,environment:e.environment,commit:e.queued})]})}var y9=P(z(),1),ANn={display:"flex",alignItems:"center",gap:1,fontFamily:"monospace",fontWeight:600,fontSize:15.6},PNn={overflowWrap:"anywhere"},LNn={ml:"auto",fontSize:13.2,lineHeight:1};function Jir({label:e,mark:t}){return(0,y9.jsxs)(le,{sx:ANn,children:[(0,y9.jsx)(le,{component:"span",sx:PNn,children:e}),(0,y9.jsx)(le,{component:"span",sx:LNn,children:(0,y9.jsx)(Xh,{title:t.tooltip,color:A1[t.tone],children:t.glyph})})]})}function eor(e,t){let r=t??"the default branch";if(e.kind!=="environment")return{tone:"idle",glyph:"\u25CB",tooltip:e.kind==="gate"?"An approval step, not a deployable environment":"A build step, not a deployable environment"};if(!e.live)return{tone:"idle",glyph:"\u25CB",tooltip:"No successful deployment recorded for this environment"};if(e.behind===null)return{tone:"idle",glyph:"\u25CF",tooltip:`Live, but its distance from ${r} could not be read`};if(e.behind===0)return{tone:"ok",glyph:"\u25CF",tooltip:`Running the latest commit on ${r}`};let n=e.behind===1?"commit":"commits";return e.queued?{tone:"gate",glyph:"\u25D1",tooltip:`Behind ${r} by ${e.behind} ${n}, with a newer commit waiting for approval`}:{tone:"drift",glyph:"\u25B2",tooltip:`Behind ${r} by ${e.behind} ${n}, and nothing is queued to fix it`}}function tor(e,t,r,n){return{position:"relative",zIndex:1,borderRadius:1,border:1,px:1,py:.5,transition:"opacity 0.2s ease",bgcolor:e==="environment"?"background.paper":"action.hover",borderColor:A1[t],borderStyle:t==="idle"?"dashed":"solid",opacity:r?.22:1,outline:n?2:0,outlineColor:"primary.main",outlineStyle:"solid"}}var Jq=P(z(),1);function ror({node:e,mark:t}){let r=e.run?.url;return(0,Jq.jsx)(le,{sx:m9,children:r?(0,Jq.jsx)(lr,{title:`${t.tooltip} \u2014 open this job on GitHub`,children:(0,Jq.jsx)(xn,{href:r,target:"_blank",rel:"noreferrer",children:t.short})}):(0,Jq.jsx)(Xh,{title:t.tooltip,children:t.short})})}function hBe(e){return String(e).padStart(2,"0")}function Ope(e){let t=Math.max(0,e);return t<6e4?`${Math.round(t/1e3)}s`:t<36e5?`${Math.floor(t/6e4)}m${hBe(Math.floor(t%6e4/1e3))}s`:t<864e5?`${Math.floor(t/36e5)}h${hBe(Math.floor(t%36e5/6e4))}m`:`${Math.floor(t/864e5)}d${hBe(Math.floor(t%864e5/36e5))}h`}function MNn(e){return!e.startedAt||!e.completedAt?null:Ope(Date.parse(e.completedAt)-Date.parse(e.startedAt))}function nor(e,t){let r=MNn(t);if(t.status==="fail")return{tone:"fail",glyph:"\u2715",short:r??t.conclusion??"failed",tooltip:r?`Failed after ${r} \u2014 ${t.conclusion??"no conclusion"}`:`Failed \u2014 ${t.conclusion??"no conclusion"}`};let n=e.kind==="environment"?"Deployed":"Built";return{tone:"ok",glyph:"\u2714",short:r??"done",tooltip:r?`${n} in ${r}`:`${n} by this run`}}function ior(e,t){if(e.status!=="gate"&&e.status!=="running")return null;let r=e.startedAt?Ope(t-Date.parse(e.startedAt)):null;return e.status==="gate"?{tone:"gate",glyph:"\u25D1",short:r??"gated",tooltip:r?`Waiting for someone to approve, for ${r}`:"Waiting for someone to approve"}:{tone:"gate",glyph:"\u25CF",short:r??"running",tooltip:r?`Running for ${r}`:"Running now"}}var INn={tone:"idle",glyph:"\u25CB",short:"no run",tooltip:"No run of this workflow to read"};function DNn(e){let t=e.conclusion??"not started";return{tone:"idle",glyph:"\u25CB",short:t,tooltip:`This run never got here \u2014 ${t}`}}function oor(e,t){let r=e.run;return r?r.status==="idle"?DNn(r):ior(r,t)??nor(e,r):INn}var v9=P(z(),1);function aor({node:e,repo:t,defaultBranch:r,layer:n,dimmed:i,ringed:o}){let a=n==="run"?oor(e,Date.now()):null,s=a??eor(e,r);return(0,v9.jsxs)(le,{"data-release-node":e.id,sx:tor(e.kind,s.tone,i,o),children:[(0,v9.jsx)(Jir,{label:e.label,mark:s}),a?(0,v9.jsx)(ror,{node:e,mark:a}):(0,v9.jsx)(Qir,{node:e,repo:t,defaultBranch:r})]})}var pBe=P(z(),1),NNn={display:"flex",flexDirection:"column",justifyContent:"center",gap:1};function sor({nodes:e,stream:t,layer:r,highlight:n}){return(0,pBe.jsx)(le,{sx:NNn,children:e.map(i=>(0,pBe.jsx)(aor,{node:i,repo:t.repo,defaultBranch:t.defaultBranch,layer:r,dimmed:!!n&&!n?.has(i.id),ringed:!!n?.has(i.id)},i.id))})}var Bpe=P(ge(),1);function lor(e,t,r){let n=e.querySelector(`[data-release-node="${CSS.escape(r)}"]`);if(!n)return null;let i=n.getBoundingClientRect();return{left:i.left-t.left,right:i.right-t.left,y:i.top-t.top+i.height/2}}function cor(e,t){let r=e.getBoundingClientRect(),n=t.map(([i,o])=>{let a=lor(e,r,i),s=lor(e,r,o);if(!a||!s)return"";let l=(a.right+s.left)/2;return`M ${a.right} ${a.y} C ${l} ${a.y}, ${l} ${s.y}, ${s.left} ${s.y}`});return{width:r.width,height:r.height,paths:n}}function uor(e,t){return e.width===t.width&&e.height===t.height&&e.paths.length===t.paths.length&&e.paths.every((r,n)=>r===t.paths[n])}var ONn={width:0,height:0,paths:[]};function dor(e,t){let[r,n]=(0,Bpe.useState)(ONn);return(0,Bpe.useLayoutEffect)(()=>{let i=e.current;if(!i)return;let o=0,a=()=>{let u=cor(i,t);n(f=>uor(f,u)?f:u)},s=()=>{cancelAnimationFrame(o),o=requestAnimationFrame(a)};a();let l=new ResizeObserver(s);l.observe(i);for(let u of i.querySelectorAll("[data-release-node]"))l.observe(u);return window.addEventListener("resize",s),()=>{cancelAnimationFrame(o),l.disconnect(),window.removeEventListener("resize",s)}},[e,t]),r}var b9=P(z(),1),BNn={overflowX:"auto",p:1.5,flex:"1 1 auto",minWidth:0},FNn={position:"relative",display:"grid",gridAutoFlow:"column",gridAutoColumns:"minmax(180px, 1fr)",gap:4,minWidth:"min-content"};function hor({stream:e,layer:t,highlight:r}){let n=(0,ej.useRef)(null),{nodes:i,edges:o}=e,a=(0,ej.useMemo)(()=>Kir(i,o),[i,o]),s=(0,ej.useMemo)(()=>Yir(i,o,t),[i,o,t]),l=dor(n,o);return(0,b9.jsx)(le,{sx:BNn,children:(0,b9.jsxs)(le,{ref:n,sx:FNn,children:[(0,b9.jsx)(qir,{edges:o,promoted:s,geometry:l}),a.map((u,f)=>(0,b9.jsx)(sor,{nodes:u,stream:e,layer:t,highlight:r},u[0]?.id??`column-${f}`))]})})}var x9=P(z(),1);function $Nn(e){let t=e.startedAt?` started ${Zq(e.startedAt)}`:"";return`Latest run #${e.number} \u2014 ${e.status}${t}`}function por({stream:e,sx:t}){let{head:r,run:n}=e;return!r&&!n?null:(0,x9.jsxs)(le,{sx:t,children:[r&&(0,x9.jsx)(p9,{repo:e.repo,commit:r,note:`Tip of ${e.defaultBranch??"the default branch"}`}),r&&n&&" \xB7 ",n&&(0,x9.jsx)(lr,{title:$Nn(n),children:(0,x9.jsxs)(xn,{href:n.url,target:"_blank",rel:"noreferrer",children:["#",n.number]})})]})}var mBe=P(z(),1),zNn={ok:"success",gate:"warning",drift:"error",fail:"error",idle:"default"},HNn={display:"flex",flexWrap:"wrap",gap:.5,mt:1,flexDirection:{xs:"row",md:"column"},alignItems:"flex-start"},UNn={height:"auto",py:.25,cursor:"help",maxWidth:"100%","& .MuiChip-label":{whiteSpace:"normal",textAlign:"left",fontSize:13.8,px:1}};function mor({pills:e,onHighlight:t}){return e.length===0?null:(0,mBe.jsx)(le,{sx:HNn,children:e.map(r=>(0,mBe.jsx)(sn,{component:"button",type:"button",size:"small",variant:"outlined",color:zNn[r.tone],label:r.text,sx:UNn,onMouseEnter:()=>t(r.ids),onMouseLeave:()=>t(null),onFocus:()=>t(r.ids),onBlur:()=>t(null)},r.text))})}var Uw=P(z(),1),WNn={flex:{md:"0 0 252px"},borderRight:{xs:0,md:1},borderBottom:{xs:1,md:0},borderColor:"divider",px:1.5,py:1},VNn={fontSize:"1.05rem"},gBe={fontFamily:"monospace",display:"block",fontSize:13.2,color:"text.secondary"};function gor({stream:e,pills:t,onHighlight:r}){return(0,Uw.jsxs)(le,{sx:WNn,children:[(0,Uw.jsx)(Oe,{variant:"subtitle2",sx:VNn,children:e.name}),(0,Uw.jsx)(le,{sx:gBe,children:e.repo}),(0,Uw.jsx)(le,{sx:gBe,children:e.workflow}),(0,Uw.jsx)(por,{stream:e,sx:gBe}),(0,Uw.jsx)(mor,{pills:t,onHighlight:r})]})}function L1(e,t,r){return{tone:e,text:t,ids:r.map(n=>n.id)}}function Fpe(e){return e.filter((t,r)=>r===0||t.ids.length>0)}function GNn(e,t){return`${e} ${t}${e===1?"":"s"}`}function yor(e,t){let r=e.filter(s=>s.behind===0),n=e.filter(s=>s.queued),i=e.filter(s=>(s.behind??0)>0&&!s.queued),o=e.filter(s=>!s.live),a=Math.max(0,...i.map(s=>s.behind??0));return Fpe([L1("ok",`${r.length} of ${e.length} running the latest commit on ${t}`,r),L1("gate",`${n.length} waiting for someone to approve`,n),L1("drift",`${i.length} behind ${t}, furthest by ${GNn(a,"commit")}`,i),L1("idle",`${o.length} with no successful deployment`,o)])}function vor(e){let t=a=>e.filter(s=>s.run?.status===a),r=t("ok"),n=t("gate"),i=t("fail"),o=e.filter(a=>!a.run||a.run.status==="idle");return Fpe([L1("ok",`${r.length} of ${e.length} deployed by this run`,r),L1("gate",`${n.length} stopped at an approval gate`,n),L1("fail",`${i.length} failed in this run`,i),L1("idle",`${o.length} this run never touched`,o)])}function bor(e,t){let r=e.nodes.filter(n=>n.kind==="environment");return r.length===0?[]:t==="run"?vor(r):yor(r,e.defaultBranch??"the default branch")}var o2=P(z(),1),qNn={display:"flex",alignItems:"stretch",flexDirection:{xs:"column",md:"row"}},xor={flex:"1 1 auto",minWidth:0,p:1.5};function Tor({stream:e,layer:t}){let[r,n]=(0,T9.useState)(null),i=(0,T9.useMemo)(()=>bor(e,t),[e,t]),o=(0,T9.useCallback)(a=>n(a?new Set(a):null),[]);return(0,o2.jsxs)(an,{variant:"outlined",sx:qNn,children:[(0,o2.jsx)(gor,{stream:e,pills:i,onHighlight:o}),e.error?(0,o2.jsx)(le,{sx:xor,children:(0,o2.jsx)(ni,{severity:"warning",variant:"outlined",children:e.error})}):e.nodes.length===0?(0,o2.jsx)(le,{sx:xor,children:(0,o2.jsx)(Oe,{variant:"body2",color:"text.secondary",children:"No nodes declared for this stream."})}):(0,o2.jsx)(hor,{stream:e,layer:t,highlight:r})]})}var $pe=P(ge(),1);var Sor={streams:[],loading:!0,error:null};async function jNn(e,t){let r=await fetch(tn(`/api/releases/state?cwd=${encodeURIComponent(e)}`,t)),n=await r.json();if(!r.ok)throw new Error(n?.error??`HTTP ${r.status}`);return n.streams??[]}function Cor(e){let[t,r]=(0,$pe.useState)(Sor),n=yr();return(0,$pe.useEffect)(()=>{if(!e){r({streams:[],loading:!1,error:"No repo selected."});return}let i=!1;return r(Sor),jNn(e,n).then(o=>{i||r({streams:o,loading:!1,error:null})}).catch(o=>{i||r({streams:[],loading:!1,error:o instanceof Error?o.message:"Failed to load release state."})}),()=>{i=!0}},[e,n]),t}var K3=P(z(),1),YNn={maxWidth:{lg:1440}};function kor(){let{selectedCwd:e}=$n(),{streams:t,loading:r,error:n}=Cor(e),[i,o]=(0,wor.useState)("live");return(0,K3.jsx)(zl,{loading:r,title:"Releases",isEmpty:t.length===0,emptyMessage:n??"No release streams declared under releases.streams.",maxWidth:"lg",sx:YNn,children:(0,K3.jsxs)(Rt,{spacing:1,children:[(0,K3.jsx)(Uir,{layer:i,onChange:o}),t.map(a=>(0,K3.jsx)(Tor,{stream:a,layer:i},`${a.repo}:${a.name}`)),(0,K3.jsx)(Gir,{layer:i})]})})}var tj=P(ge(),1);function yBe(e,t){if(!e||!t)return;navigator.clipboard?.writeText(t);let r=e.style.outline;e.style.outline="2px solid #7cfc9a",setTimeout(()=>{e.style.outline=r},600)}function _or(e,t,r){let n=[];for(let[i,o]of e){let a=o-(t.get(i)??0);n.push({label:i,total:o,perSecond:r>0?a*1e3/r:0})}return n.sort((i,o)=>o.perSecond-i.perSecond||o.total-i.total)}function Eor(e){if(e.length===0)return"no renders since reset";let t=Math.max(...e.map(n=>n.label.length));return["renders/s total (click to copy)",...e.map(n=>`${n.label.padEnd(t)} ${n.perSecond.toFixed(0).padStart(4)}/s ${String(n.total).padStart(6)}`)].join(`
3841
3841
  `)}var Ror=P(ge(),1);var KNn=()=>!1;function zpe(){return(0,Ror.useSyncExternalStore)(zft,zre,KNn)}var Por=P(z(),1),XNn=500,ZNn={position:"fixed",bottom:8,right:8,zIndex:3e3,background:"rgba(0, 0, 0, 0.8)",color:"#7cfc9a",font:"11px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace",padding:"6px 8px",borderRadius:4,whiteSpace:"pre",cursor:"pointer",userSelect:"none"};function Aor(){let e=(0,tj.useRef)(null),t=(0,tj.useRef)(""),r=zpe();return(0,tj.useEffect)(()=>{if(!r)return;let n=new Map(H5),i=performance.now(),o=requestAnimationFrame(function a(){o=requestAnimationFrame(a);let s=performance.now();if(s-i<XNn)return;let l=_or(H5,n,s-i);n=new Map(H5),i=s,t.current=Eor(l),e.current&&(e.current.textContent=t.current)});return()=>cancelAnimationFrame(o)},[r]),r?(0,Por.jsx)("div",{ref:e,style:ZNn,title:"Click to copy",onClick:()=>yBe(e.current,t.current),onKeyDown:()=>yBe(e.current,t.current)}):null}var P$e=P(ge(),1);var Zor=P(ge(),1);var Hpe=P(ge(),1);var S9={color:"text.disabled",fontFamily:"monospace",fontSize:"0.8125rem",whiteSpace:"nowrap",flexShrink:0};var C9=P(z(),1),QNn={...S9,display:"inline-flex",alignItems:"center",gap:.25,borderRadius:.5,px:.25},Lor={fontSize:"0.875rem"};function JNn(e){let[t=""]=e.split("-");return t===e?e.slice(0,8):t}function Mor({conversationId:e,collapsed:t,harness:r}){let{copied:n,copy:i}=gP(e);return t?(0,C9.jsxs)(Dn,{sx:QNn,onClick:i,title:n?"Copied the full conversation id":`Click to copy the full conversation id ${e}`,children:[JNn(e),n?(0,C9.jsx)(X0,{sx:Lor}):(0,C9.jsx)(YP,{sx:Lor})]}):(0,C9.jsx)(Oe,{sx:{...S9,userSelect:"all"},title:`${Tet(r)} conversation ${e}`,children:e})}var Ww=P(z(),1);function Ior({session:e,collapsed:t}){let{id:r,claudeSessionId:n,harnessSessionId:i}=e,o=n??i,a=pP(jT(e))?$p(e.cwd):"";return(0,Ww.jsxs)(Ww.Fragment,{children:[a&&(0,Ww.jsx)(Oe,{sx:{...S9,color:"text.secondary"},title:e.cwd,children:a}),(0,Ww.jsx)(Oe,{sx:{...S9,userSelect:"all"},title:`assist session ${r}`,children:`#${r}`}),o&&(0,Ww.jsx)(Mor,{conversationId:o,collapsed:t,harness:e.harness})]})}var t0=P(z(),1),eOn={flexShrink:0,whiteSpace:"nowrap"},tOn={display:"flex",alignItems:"center",gap:.25,flexShrink:0};function rOn({session:e}){return tte(e)?(0,t0.jsxs)(le,{sx:tOn,children:[(0,t0.jsx)(FP,{ring:!0,title:"verifying"}),(0,t0.jsx)(Oe,{variant:"caption",sx:{color:ob.running},children:"running"})]}):(0,t0.jsx)(dee,{status:Hp(e),label:!0})}function Dor({session:e}){let{restored:t}=e;return(0,t0.jsxs)(t0.Fragment,{children:[(0,t0.jsx)(rOn,{session:e}),t!==void 0&&(0,t0.jsx)(Oe,{variant:"caption",sx:{...eOn,color:t?"success.main":"warning.main"},children:t?"restored":"not restored"})]})}var rj=P(z(),1),nOn={display:"flex",alignItems:"center",gap:.75,minWidth:0},iOn={color:"text.primary",fontSize:"1.25rem",minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};function Nor({session:e}){let t=e.activity?.itemId;return(0,rj.jsxs)(le,{sx:nOn,children:[t!=null&&(0,rj.jsx)(RJ,{itemId:t,cwd:e.cwd}),(0,rj.jsx)(Oe,{variant:"body1",sx:iOn,children:ite(e)})]})}var Vw=P(ge(),1);function Oor(e,t){let[r,n]=(0,Vw.useState)(0),[i,o]=(0,Vw.useState)(!1),a=(0,Vw.useRef)(0);return(0,Vw.useEffect)(()=>{let s=e.current;if(!s||typeof ResizeObserver>"u")return;let l=new ResizeObserver(()=>n(s.scrollWidth));return l.observe(s),()=>l.disconnect()},[e]),(0,Vw.useEffect)(()=>{i||(a.current=r),t!==null&&a.current>0&&o(a.current>t)},[i,r,t]),{width:r,collapsed:i}}var Gw=P(z(),1),oOn={display:"flex",flexDirection:"column",flexGrow:1,flexShrink:1,flexBasis:0,overflow:"hidden"},aOn={display:"flex",alignItems:"center",alignSelf:"flex-start",gap:1},sOn={color:"text.secondary",fontSize:"0.875rem",minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};function Bor({session:e,minWidth:t,budget:r,onIdentityWidth:n}){let i=(0,Hpe.useRef)(null),{width:o,collapsed:a}=Oor(i,r),s=fee(e);return(0,Hpe.useEffect)(()=>n(o),[o,n]),(0,Gw.jsxs)(le,{sx:{...oOn,minWidth:`${t}px`},children:[(0,Gw.jsxs)(le,{ref:i,sx:aOn,children:[(0,Gw.jsx)(Ior,{session:e,collapsed:a}),(0,Gw.jsx)(Dor,{session:e})]}),(0,Gw.jsx)(Nor,{session:e}),s&&(0,Gw.jsx)(Oe,{sx:sOn,children:s})]})}var jor=P(ge(),1);var $or=P(z(),1);function For({session:e}){return e.cwd?(0,$or.jsx)(iee,{panelSessionId:e.id,cwd:e.cwd,sessionId:e.claudeSessionId,offerBranchDiff:!0,toggleChordHint:!0}):null}var vBe=P(z(),1),lOn={display:"flex",flexShrink:0};function zor({session:e,onDismiss:t,childDismiss:r}){let{status:n,id:i}=e;return n==="stopped"||e.closing?null:(0,vBe.jsx)(le,{sx:lOn,children:(0,vBe.jsx)(xee,{id:i,status:n,onDismiss:t,childDismiss:r})})}var Uor=P(z(),1);function Hor({session:e}){let t=lee(e.runningMs,e.runningSince);return(0,Uor.jsx)(Oe,{variant:"caption",sx:{flexShrink:0,whiteSpace:"nowrap",color:"text.disabled"},children:t})}var nj=P(z(),1);function Wor({session:e,onSetAutoRun:t,onSetAutoAdvance:r}){return(0,nj.jsx)(nj.Fragment,{children:_P(e).map(n=>(0,nj.jsx)(uee,{inline:!0,label:n.label,checked:n.checked,onChange:n.key==="autoRun"?t:r},n.key))})}var Upe=P(ge(),1);function Vor(e,t,r){let n=1,i=0;for(let o of e){let a=i===0?o:i+t+o;a>r&&i>0?(n++,i=o):i=a}return n}function Gor(e,t,r){if(e.length===0||e.reduce((s,l)=>s+l,0)+t*(e.length-1)<=r)return;let i=Vor(e,t,r),o=Math.ceil(Math.max(...e)),a=Math.max(o,Math.floor(r));for(;o<a;){let s=Math.floor((o+a)/2);Vor(e,t,s)<=i?a=s:o=s+1}return o+1}function cOn(e,t){return e.gap===t.gap&&e.widths.length===t.widths.length&&e.widths.every((r,n)=>r===t.widths[n])}function uOn(e){let t=getComputedStyle(e);return e.getBoundingClientRect().width+(Number.parseFloat(t.marginLeft)||0)+(Number.parseFloat(t.marginRight)||0)}function bBe(e){return Array.from(e.children).flatMap(t=>getComputedStyle(t).display==="contents"?bBe(t):[t])}function qor(e,t){let[r,n]=(0,Upe.useState)({widths:[],gap:0});if((0,Upe.useEffect)(()=>{let i=e.current;if(!i||typeof ResizeObserver>"u")return;let o=()=>{let u={widths:bBe(i).map(uOn),gap:Number.parseFloat(getComputedStyle(i).columnGap)||0};n(f=>cOn(f,u)?f:u)},a=new ResizeObserver(o),s=()=>{a.disconnect();for(let u of bBe(i))a.observe(u);o()},l=new MutationObserver(s);return l.observe(i,{childList:!0,subtree:!0}),s(),()=>{a.disconnect(),l.disconnect()}},[e]),t!==null)return Gor(r.widths,r.gap,t)}var a2=P(z(),1),fOn={display:"flex",flexWrap:"wrap",alignItems:"center",justifyContent:"flex-end",gap:1,flexGrow:0,flexShrink:1,flexBasis:"auto",minWidth:0};function Yor({session:e,labelled:t,available:r,onRetry:n,onRestart:i,onDismiss:o,childDismiss:a,onSetAutoRun:s,onSetAutoAdvance:l}){let u=(0,jor.useRef)(null),f=qor(u,r);return(0,a2.jsxs)(le,{ref:u,sx:{...fOn,width:f},children:[(0,a2.jsx)(For,{session:e}),(0,a2.jsx)(Hor,{session:e}),(0,a2.jsx)(Wor,{session:e,onSetAutoRun:s,onSetAutoAdvance:l}),(0,a2.jsx)(dTe.Provider,{value:t,children:(0,a2.jsx)(ete,{session:e,onRetry:n,onRestart:i,onDismiss:o,topBar:!0})}),(0,a2.jsx)(zor,{session:e,onDismiss:o,childDismiss:a})]})}var Kor=P(ge(),1);var xBe=8,dOn=560,hOn=48,pOn=.5;function Xor(e){let t=$re(e),[r,n]=(0,Kor.useState)(0),i=t===null?r:Math.min(r,Math.max(t-hOn,0));return{floor:i,budget:t===null?null:t*pOn,labelled:t===null||t-i>=dOn,available:t===null?null:t-i-xBe,setIdentityWidth:n}}var ij=P(z(),1),mOn={position:"sticky",top:0,zIndex:1,display:"flex",alignItems:"center",gap:`${xBe}px`,px:1.5,py:.75,borderBottom:1,borderColor:"divider",bgcolor:"background.paper",overflow:"hidden"};function Qor({session:e,...t}){let r=(0,Zor.useRef)(null),n=Xor(r);return(0,ij.jsxs)(le,{ref:r,sx:mOn,"data-top-bar-session-id":e.id,children:[(0,ij.jsx)(Bor,{session:e,minWidth:n.floor,budget:n.budget,onIdentityWidth:n.setIdentityWidth}),(0,ij.jsx)(Yor,{session:e,labelled:n.labelled,available:n.available,...t})]})}var ear=P(z(),1);function Jor({session:e,sessions:t,lifecycle:r}){let n=VJ(t).find(i=>i.session.id===e.id)?.children??[];return(0,ear.jsx)(Qor,{session:e,...ote(e,r),childDismiss:ZJ(e,n,r.onDismiss),onSetAutoRun:i=>r.onSetAutoRun(e.id,i),onSetAutoAdvance:i=>r.onSetAutoAdvance(e.id,i)},e.id)}var TBe=P(z(),1),gOn={flexShrink:0};function tar({shown:e,session:t,sessions:r,lifecycle:n}){return!e||t===void 0?null:(0,TBe.jsx)(le,{sx:gOn,children:(0,TBe.jsx)(Jor,{session:t,sessions:r,lifecycle:n})})}var SBe=P(z(),1),rar={minWidth:0,overflow:"auto",px:1,borderColor:"divider","&:focus":{outline:"none"}},yOn={...rar,width:"50%",borderLeft:1},vOn={...rar,width:"100%"};function nar({sessionId:e,panel:t,sessions:r,sendInput:n}){let{closePanel:i,setPanelScope:o,togglePanelMode:a}=G0();return(0,SBe.jsx)(le,{"data-diff-session-id":e,tabIndex:-1,sx:t.mode==="full"?vOn:yOn,children:(0,SBe.jsx)(hpe,{cwd:t.cwd,sessionId:t.claudeSessionId,scope:t.scope,onScopeChange:s=>o(e,s),sessions:r,sendInput:n,mode:t.mode,onToggleMode:()=>a(e),onClose:()=>i(e)})})}var oj=P(z(),1),bOn={display:"flex",flex:1,minHeight:0,overflow:"hidden"};function iar({sessionId:e,sessions:t,sendInput:r,children:n}){let i=G0().panelFor(e);return(0,oj.jsxs)(le,{sx:bOn,children:[(0,oj.jsx)(le,{sx:{display:i?.mode==="full"?"none":"flex",width:i?"50%":"100%",minWidth:0},children:n}),i&&e!==null&&(0,oj.jsx)(nar,{sessionId:e,panel:i,sessions:t,sendInput:r},e)]})}var esr=P(ge(),1);var oar=P(ge(),1),qw=P(z(),1);function Wpe({label:e,children:t}){let[r,n]=(0,oar.useState)(!0);return(0,qw.jsxs)(le,{sx:{mt:.75,minWidth:0},children:[(0,qw.jsx)(qt,{size:"small",onClick:()=>n(!r),startIcon:r?(0,qw.jsx)(dre,{}):(0,qw.jsx)(Tu,{}),sx:{textTransform:"none",fontSize:12,py:0,minWidth:0},children:e}),(0,qw.jsx)(MA,{in:r,children:(0,qw.jsx)(le,{sx:{mt:.5,minWidth:0},children:t})})]})}var w9={display:"flex",alignItems:"center",gap:.75,minWidth:0,py:.15,borderRadius:1,"&:hover":{bgcolor:"action.hover"}},k9={border:0,bgcolor:"transparent",cursor:"pointer",textAlign:"left",color:"inherit",font:"inherit"},X3={fontFamily:"monospace",fontSize:12,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},CBe={fontFamily:"monospace",fontSize:11,flexShrink:0},Vpe={added:"success.main",removed:"error.main",modified:"warning.main"},aar={added:"A",removed:"D",modified:"M"};var Gpe=P(z(),1);function jw({additions:e,deletions:t}){return(0,Gpe.jsxs)(le,{sx:{display:"flex",gap:.5,ml:"auto",pl:1,flexShrink:0},children:[(0,Gpe.jsxs)(Oe,{component:"span",sx:CBe,color:"success.main",children:["+",e]}),(0,Gpe.jsxs)(Oe,{component:"span",sx:CBe,color:"error.main",children:["\u2212",t]})]})}var Yw=P(z(),1);function qpe({diff:e,collapsed:t,onToggle:r}){let n=t?Kp:Tu;return(0,Yw.jsxs)(le,{sx:{display:"flex",alignItems:"center",gap:1,minWidth:0},children:[(0,Yw.jsx)(ir,{size:"small",onClick:r,"aria-expanded":!t,"aria-label":`${t?"Expand":"Collapse"} ${e.path}`,sx:{p:.25,flexShrink:0},children:(0,Yw.jsx)(n,{sx:{fontSize:16}})}),(0,Yw.jsx)(xn,{href:e.diffUrl,target:"_blank",rel:"noreferrer",sx:{...X3,fontWeight:600},title:e.path,children:e.path}),(0,Yw.jsx)(Oe,{variant:"caption",sx:{flexShrink:0},color:Vpe[e.status],children:e.status}),(0,Yw.jsx)(jw,{additions:e.additions,deletions:e.deletions})]})}var sar=P(z(),1);function M1({children:e}){return(0,sar.jsx)(Oe,{variant:"caption",sx:{color:"text.secondary"},children:e})}var uar=P(ge(),1);var lar="/dev/null";function car(e,t,r){let n=t==="added"?lar:`a/${e}`,i=t==="removed"?lar:`b/${e}`;return[`diff --git a/${e} b/${e}`,`--- ${n}`,`+++ ${i}`,r,""].join(`
3842
3842
  `)}var _9=P(z(),1);function jpe({path:e,status:t,patch:r,truncated:n,viewType:i}){let o=(0,uar.useMemo)(()=>{if(r)try{return Zte(car(e,t,r))[0]}catch{return}},[e,t,r]);return o?(0,_9.jsxs)(le,{sx:[zte,{pt:.5,minWidth:0}],children:[(0,_9.jsx)(Rre,{file:o,path:e,viewType:i}),n&&(0,_9.jsx)(M1,{children:"Truncated \u2014 the rest of this diff is on GitHub."})]}):(0,_9.jsx)(M1,{children:n?"Too large to show here \u2014 open it on GitHub.":"No diff available \u2014 open it on GitHub."})}var dar=P(ge(),1);var far="assist:high-level-tree:";function E9(e){let t=`${far}${e}`,[r,n]=(0,dar.useState)(()=>(Dw(far),new Set(Bd(t))));return{collapsed:r,onToggle:i=>{let o=new Set(r);o.delete(i)||o.add(i),Fd(t,[...o]),n(o)}}}var I1=P(z(),1);function har({diffs:e,criticalPaths:t,subject:r}){let{viewType:n,onChange:i}=c9(),{collapsed:o,onToggle:a}=E9(`critical:${r}`);return t.length===0?(0,I1.jsx)(M1,{children:"review.highLevel.criticalPaths is unset, so no diffs are shown here."}):e.length===0?(0,I1.jsx)(M1,{children:`No changed file matches ${t.join(", ")}.`}):(0,I1.jsxs)(le,{sx:{minWidth:0},children:[(0,I1.jsx)(le,{sx:{display:"flex",justifyContent:"flex-end"},children:(0,I1.jsx)(AL,{viewType:n,onChange:i})}),e.map(s=>(0,I1.jsxs)(le,{sx:{mb:1,minWidth:0},children:[(0,I1.jsx)(qpe,{diff:s,collapsed:o.has(s.path),onToggle:()=>a(s.path)}),!o.has(s.path)&&(0,I1.jsx)(jpe,{path:s.path,status:s.status,patch:s.patch,truncated:s.truncated===!0,viewType:n})]},s.path))]})}var bar=P(ge(),1);var Kw=P(z(),1),xOn={fontFamily:"monospace",fontSize:"0.95rem",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};function par({file:e,viewType:t,onChangeViewType:r}){return(0,Kw.jsxs)(Il,{sx:{display:"flex",alignItems:"center",gap:1,py:1.5},children:[(0,Kw.jsx)(le,{component:"span",sx:xOn,children:e.path}),(0,Kw.jsx)(jw,{additions:e.additions,deletions:e.deletions}),(0,Kw.jsx)(AL,{viewType:t,onChange:r}),(0,Kw.jsx)(ir,{size:"small",href:e.diffUrl,target:"_blank",rel:"noreferrer","aria-label":`Open ${e.path} on GitHub`,children:(0,Kw.jsx)(jJ,{sx:{fontSize:16}})})]})}var Xw=P(z(),1);function mar({file:e,onClose:t}){let{viewType:r,onChange:n}=c9();return(0,Xw.jsxs)(Ps,{open:!0,onClose:t,maxWidth:"xl",fullWidth:!0,children:[(0,Xw.jsx)(par,{file:e,viewType:r,onChangeViewType:n}),(0,Xw.jsx)(Ml,{dividers:!0,children:(0,Xw.jsx)(jpe,{path:e.path,status:e.status,patch:e.patch??null,truncated:e.truncated===!0,viewType:r})}),(0,Xw.jsx)(cu,{children:(0,Xw.jsx)(qt,{onClick:t,children:"Close"})})]})}var R9=P(z(),1);function gar({dir:e,collapsed:t,indent:r,onToggle:n}){let i=t?Kp:Tu;return(0,R9.jsxs)(le,{component:"button",type:"button",onClick:n,"aria-expanded":!t,"aria-label":e.path,sx:{...w9,pl:r,...k9},children:[(0,R9.jsx)(i,{sx:{fontSize:15,color:"text.secondary",flexShrink:0}}),(0,R9.jsx)(Oe,{component:"span",sx:{...X3,fontWeight:600},children:e.name}),(0,R9.jsx)(jw,{additions:e.additions,deletions:e.deletions})]})}var Z3=P(z(),1);function yar({file:e,indent:t,onOpen:r}){return(0,Z3.jsxs)(le,{component:"button",type:"button",onClick:r,"aria-label":`Show the diff of ${e.path}`,sx:{...w9,pl:t,...k9},children:[(0,Z3.jsx)(lr,{title:e.status,children:(0,Z3.jsx)(Oe,{component:"span",sx:{...X3,flexShrink:0,fontWeight:700},color:Vpe[e.status],children:aar[e.status]})}),(0,Z3.jsx)(Oe,{component:"span",sx:X3,title:e.path,children:e.name}),(0,Z3.jsx)(jw,{additions:e.additions,deletions:e.deletions})]})}var A9=P(z(),1);function kBe(e){let{nodes:t,depth:r=0,collapsed:n,onToggleDir:i,onOpenFile:o}=e,a=`${r*12}px`;return t.map(s=>s.kind==="file"?(0,A9.jsx)(yar,{file:s,indent:a,onOpen:()=>o(s)},s.path):(0,A9.jsxs)(le,{sx:{minWidth:0},children:[(0,A9.jsx)(gar,{dir:s,collapsed:n.has(s.path),indent:a,onToggle:()=>i(s.path)}),!n.has(s.path)&&(0,A9.jsx)(kBe,{...e,nodes:s.children,depth:r+1})]},s.path))}var Zw=P(z(),1);function xar({structure:e,subject:t}){let{collapsed:r,onToggle:n}=E9(t),[i,o]=(0,bar.useState)();return e.tree.length===0?(0,Zw.jsx)(Oe,{variant:"caption",sx:{color:"text.secondary"},children:"No changed files."}):(0,Zw.jsxs)(le,{sx:{minWidth:0},children:[(0,Zw.jsxs)(Oe,{variant:"caption",sx:{color:"text.secondary"},children:[e.added," added \xB7 ",e.removed," deleted \xB7"," ",e.modified," modified \xB7 +",e.additions," \u2212",e.deletions]}),(0,Zw.jsx)(le,{sx:{mt:.5,maxHeight:360,overflowY:"auto"},children:(0,Zw.jsx)(kBe,{nodes:e.tree,collapsed:r,onToggleDir:n,onOpenFile:o})}),i&&(0,Zw.jsx)(mar,{file:i,onClose:()=>o(void 0)})]})}var Tar=P(z(),1),Sar=ut((0,Tar.jsx)("path",{d:"M20 17.17 18.83 16H4V4h16zM20 2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4V4c0-1.1-.9-2-2-2"}),"ModeCommentOutlined");var EBe=P(ge(),1);var war=P(z(),1);function Car({name:e,note:t,indent:r,autoFocus:n,onNote:i}){return(0,war.jsx)(Yn,{variant:"standard",size:"small",fullWidth:!0,multiline:!0,autoFocus:n,value:t,onChange:o=>i(o.target.value),placeholder:"Comment on this test",slotProps:{htmlInput:{"aria-label":`Comment for ${e}`}},sx:{pl:`calc(${r} + 20px)`,"& .MuiInputBase-input":{fontSize:12}}})}var _ar=P(ge(),1);var kar=P(z(),1);function TOn(e){let t=e.properties?.className;return Array.isArray(t)?t.join(" "):void 0}function _Be(e){return e.map((t,r)=>t.type==="text"?t.value:(0,kar.jsx)("span",{className:TOn(t),children:_Be(t.children??[])},r))}function Ear(e,t){return(0,_ar.useMemo)(()=>{let r=RL(t);if(e===void 0||!r)return e;try{return _Be(EL.default.highlight(e,r))}catch{return e}},[e,t])}var Ype=P(z(),1);function Rar({test:e,path:t,indent:r}){let{source:n}=e,i=Ear(n,t);return n===void 0?(0,Ype.jsx)(le,{sx:{pl:`calc(${r} + 20px)`},children:(0,Ype.jsx)(M1,{children:e.truncated?"Too long to show here \u2014 open the file on GitHub.":"No source available."})}):(0,Ype.jsx)(le,{component:"pre",sx:[$te,{m:0,my:.5,ml:`calc(${r} + 20px)`,p:1,fontSize:12,fontFamily:"monospace",tabSize:2,overflowX:"auto",borderRadius:1,bgcolor:"action.hover"}],children:i})}var Kpe={fontSize:12,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};var aj=P(z(),1);function Aar({name:e,open:t,onToggle:r}){let n=t?Tu:Kp;return(0,aj.jsxs)(le,{component:"button",type:"button",onClick:r,"aria-expanded":t,"aria-label":`Show the source of ${e}`,sx:{display:"flex",alignItems:"center",gap:.5,flex:1,minWidth:0,p:0,...k9},children:[(0,aj.jsx)(n,{sx:{fontSize:15,color:"text.secondary",flexShrink:0}}),(0,aj.jsx)(Oe,{component:"span",sx:Kpe,title:e,children:e})]})}var s2=P(z(),1);function Par({test:e,path:t,indent:r,note:n,onNote:i}){let[o,a]=(0,EBe.useState)(!1),[s,l]=(0,EBe.useState)(!1);return(0,s2.jsxs)(le,{sx:{minWidth:0},children:[(0,s2.jsxs)(le,{sx:{...w9,pl:r},children:[(0,s2.jsx)(Aar,{name:e.name,open:o,onToggle:()=>a(!o)}),(0,s2.jsx)(ir,{size:"small",onClick:()=>l(!s),"aria-label":`Comment on the test ${e.name}`,color:n?"primary":"default",sx:{p:.25,flexShrink:0},children:(0,s2.jsx)(Sar,{sx:{fontSize:14}})})]}),(s||n!=="")&&(0,s2.jsx)(Car,{name:e.name,note:n,indent:r,autoFocus:s&&n==="",onNote:i}),o&&(0,s2.jsx)(Rar,{test:e,path:t,indent:r})]})}var P9=P(z(),1);function RBe({nodes:e,path:t,depth:r,notes:n}){let i=`${r*12}px`;return e.map(o=>o.kind==="it"?(0,P9.jsx)(Par,{test:o,path:t,indent:i,note:n.note(o.id),onNote:a=>n.onNote(o.id,a)},o.id):(0,P9.jsxs)(le,{sx:{minWidth:0},children:[(0,P9.jsx)(Oe,{component:"div",sx:{...Kpe,pl:i,py:.15,fontWeight:600},title:o.name,children:o.name}),(0,P9.jsx)(RBe,{nodes:o.children,path:t,depth:r+1,notes:n})]},`${o.line}:${o.name}`))}var Q3=P(z(),1);function Lar({files:e,testPaths:t,subject:r,notes:n}){let{collapsed:i,onToggle:o}=E9(`tests:${r}`);return e.length===0?(0,Q3.jsx)(M1,{children:`No changed test in files matching ${t.join(", ")}.`}):(0,Q3.jsx)(le,{sx:{minWidth:0},children:e.map(a=>(0,Q3.jsxs)(le,{sx:{mb:1,minWidth:0},children:[(0,Q3.jsx)(qpe,{diff:a,collapsed:i.has(a.path),onToggle:()=>o(a.path)}),!i.has(a.path)&&(0,Q3.jsx)(RBe,{nodes:a.tests,path:a.path,depth:1,notes:n})]},a.path))})}function Mar(e){return e.added+e.removed+e.modified}function Iar(e){return e.reduce((t,r)=>t+(r.kind==="it"?1:Iar(r.children)),0)}function Dar(e){return Iar(e.flatMap(t=>t.tests))}var J3=P(z(),1);function Nar(e,t){let r=`${e.repo}#${e.prNumber}`;return{"structure-sensible":(0,J3.jsx)(Wpe,{label:`Changed files (${Mar(e.structure)})`,children:(0,J3.jsx)(xar,{structure:e.structure,subject:r})}),"critical-diffs-correct":(0,J3.jsx)(Wpe,{label:`Critical diffs (${e.criticalDiffs.length})`,children:(0,J3.jsx)(har,{diffs:e.criticalDiffs,criticalPaths:e.criticalPaths,subject:r})}),"tests-worth-having":(0,J3.jsx)(Wpe,{label:`Changed tests (${Dar(e.tests)})`,children:(0,J3.jsx)(Lar,{files:e.tests,testPaths:e.testPaths,subject:r,notes:t})})}}var Oar=P(z(),1),Bar=ut((0,Oar.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12z"}),"Cancel");var Far=P(z(),1),$ar=ut((0,Far.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z"}),"CheckCircle");var Xpe=P(z(),1);function zar({check:e,ticked:t,onTick:r}){return e.kind==="manual"?(0,Xpe.jsx)(Tp,{size:"small",checked:t,onChange:n=>r(n.target.checked),slotProps:{input:{"aria-label":e.title}},sx:{p:.25}}):e.status==="fail"?(0,Xpe.jsx)(Bar,{color:"error",fontSize:"small",titleAccess:"fails"}):(0,Xpe.jsx)($ar,{color:"success",fontSize:"small",titleAccess:"passes"})}var eR=P(z(),1);function Har({check:e,failed:t}){return(0,eR.jsxs)(eR.Fragment,{children:[(0,eR.jsx)(Oe,{variant:"body2",sx:{fontWeight:600,color:t?"error.main":void 0},children:e.title}),(0,eR.jsx)(Oe,{variant:"caption",sx:{display:"block",color:t?"error.main":"text.secondary"},children:t?`Fails: ${e.reason}`:e.reason})]})}var SOn="rgba(244, 67, 54, 0.1)";function Uar(e){return{px:2,py:1.25,borderLeft:3,borderColor:e?"error.main":"transparent",bgcolor:e?SOn:void 0}}var Qw=P(z(),1);function War({check:e,ticked:t,comment:r,detail:n,onTick:i,onComment:o}){let a=e.status==="fail";return(0,Qw.jsx)(le,{sx:Uar(a),children:(0,Qw.jsxs)(Rt,{direction:"row",spacing:1,sx:{alignItems:"flex-start"},children:[(0,Qw.jsx)(zar,{check:e,ticked:t,onTick:i}),(0,Qw.jsxs)(le,{sx:{flex:1,minWidth:0},children:[(0,Qw.jsx)(Har,{check:e,failed:a}),(0,Qw.jsx)(Yn,{variant:"standard",size:"small",fullWidth:!0,multiline:!0,value:r,onChange:s=>o(s.target.value),placeholder:"Comment (optional)",slotProps:{htmlInput:{"aria-label":`Comment on ${e.title}`}},sx:{mt:.5,"& .MuiInputBase-input":{fontSize:12}}}),n]})]})})}var sj=P(z(),1);function ABe({heading:e,checks:t,checklist:r,details:n}){return t.length===0?null:(0,sj.jsxs)(le,{children:[(0,sj.jsx)(Oe,{variant:"overline",sx:{px:2,color:"text.secondary",letterSpacing:1},children:e}),t.map(i=>(0,sj.jsx)(War,{check:i,ticked:r.ticked(i.id),comment:r.comment(i.id),detail:n[i.id],onTick:o=>r.onTick(i.id,o),onComment:o=>r.onComment(i.id,o)},i.id))]})}var lj=P(z(),1);function Var({checks:e,checklist:t,details:r}){return(0,lj.jsxs)(Rt,{spacing:2,sx:{flex:1,minHeight:0,overflowY:"auto",py:2},children:[(0,lj.jsx)(ABe,{heading:"Evaluated for you",checks:e.filter(n=>n.kind==="deterministic"),checklist:t,details:r}),(0,lj.jsx)(ABe,{heading:"Yours to judge",checks:e.filter(n=>n.kind==="manual"),checklist:t,details:r})]})}var L9=P(z(),1);function COn(e,t){let r=[...e>0?[`${e} deterministic check${e===1?"":"s"} failing`]:[],...t>0?[`${t} manual item${t===1?"":"s"} left to tick`]:[]];return r.length>0?r.join(" \xB7 "):"Every item is accounted for"}function Gar({failed:e,outstanding:t,onApprove:r,onRequestChanges:n}){return(0,L9.jsxs)(Rt,{direction:"row",spacing:1,sx:{p:2,alignItems:"center",justifyContent:"flex-end"},children:[(0,L9.jsx)(Oe,{variant:"body2",sx:{flex:1,color:"text.secondary"},children:COn(e,t)}),(0,L9.jsx)(qt,{color:"error",variant:"outlined",onClick:n,children:"Request changes"}),(0,L9.jsx)(qt,{color:"success",variant:"contained",disabled:t>0,onClick:r,children:"Approve"})]})}function qar(e){return{comments:[],screenshots:[],reviewAfter:!1,announceAfter:!1,draft:!1,autoMerge:!1,checklist:e}}var cj={repo:"",prNumber:0,checks:[],structure:{tree:[],added:0,removed:0,modified:0,additions:0,deletions:0},criticalDiffs:[],criticalPaths:[],tests:[],testPaths:[]};function wOn(e){let t=e;return typeof t?.id=="string"&&typeof t.title=="string"&&typeof t.reason=="string"&&(t.kind==="deterministic"||t.kind==="manual")&&["pass","fail","manual"].includes(t.status)}function uj(e,t){return Array.isArray(e)?t?e.filter(t):e:[]}function jar(e){let t;try{t=JSON.parse(e)}catch{return cj}return typeof t!="object"||t===null?cj:{repo:typeof t.repo=="string"?t.repo:cj.repo,prNumber:typeof t.prNumber=="number"?t.prNumber:cj.prNumber,checks:uj(t.checks,wOn),structure:{...cj.structure,...t.structure},criticalDiffs:uj(t.criticalDiffs),criticalPaths:uj(t.criticalPaths),tests:uj(t.tests),testPaths:uj(t.testPaths),...t.saved?{saved:t.saved}:{}}}var fj=P(z(),1),kOn={px:2,pb:2,display:"flex",flexWrap:"wrap",columnGap:3,rowGap:.5};function Zpe({items:e}){return e.length===0?null:(0,fj.jsx)(le,{sx:kOn,children:e.map(t=>(0,fj.jsxs)(Oe,{variant:"body2",color:"text.secondary",children:[t.label,":"," ",(0,fj.jsx)(le,{component:"span",sx:{color:"text.primary"},children:t.value})]},t.label))})}function Yar(e,t){return e.kind==="backlog-comment"||e.kind==="pr-comment"||e.kind==="github-issue-comment"?{label:"Comment",color:"default"}:e.kind==="github-issue-edit"?{label:"Edit issue",color:"warning"}:e.kind==="miro-board"?{label:"Miro boxes",color:"info"}:e.kind==="slack-post"?{label:"Slack post",color:"success"}:e.kind==="show"?{label:"Show",color:"default"}:e.kind==="ask"?{label:"Review",color:"info"}:e.kind==="high-level-review"?{label:"Checklist",color:"info"}:e.kind==="github-issue"?{label:"New issue",color:"success"}:e.kind==="backlog-item"?e.itemType==="bug"?{label:"Bug",color:"warning"}:{label:"Story",color:"info"}:e.prNumber!==null?{label:`Update #${e.prNumber}`,color:"info"}:t?{label:"New draft PR",color:"success"}:{label:"New PR",color:"success"}}var _On=/[^\s/]+\/[^\s/#]+#\d+/;function Kar(e){let t=_On.exec(e);if(!t)return null;let r=SJ(t[0]);return r?{before:e.slice(0,t.index),reference:t[0],url:r,after:e.slice(t.index+t[0].length)}:null}var l2=P(z(),1);function Jw({preview:e,draft:t}){let r=Yar(e,t),n=Kar(e.title);return(0,l2.jsxs)(le,{sx:{p:2,display:"flex",alignItems:"center",gap:1},children:[(0,l2.jsx)(Oe,{variant:"subtitle1",sx:{flex:1,fontWeight:600},children:n?(0,l2.jsxs)(l2.Fragment,{children:[n.before,(0,l2.jsx)(xn,{href:n.url,target:"_blank",rel:"noreferrer",underline:"hover",children:n.reference}),n.after]}):e.title}),(0,l2.jsx)(sn,{size:"small",label:r.label,color:r.color})]})}var ek={flex:1,minWidth:0,height:"100%",display:"flex",flexDirection:"column",borderLeft:1,borderColor:"divider",bgcolor:"background.paper"};var Qpe=P(ge(),1);function Xar(e,t){return Object.fromEntries(e.map(r=>{let n=t?.items.find(i=>i.id===r.id);return[r.id,{ticked:n?.ticked??r.status==="pass",comment:n?.comment??"",notes:Object.fromEntries((n?.testComments??[]).map(i=>[i.id,i.comment]))}]}))}function Zar(e,t){return e.map(r=>{let n=t[r.id]?.comment.trim()??"",i=Object.entries(t[r.id]?.notes??{}).flatMap(([o,a])=>a.trim()?[{id:o,comment:a.trim()}]:[]);return{id:r.id,ticked:t[r.id]?.ticked===!0,...n?{comment:n}:{},...i.length>0?{notes:i}:{}}})}function Qar(e,t){let[r,n]=(0,Qpe.useState)(()=>Xar(e,t)),i=(s,l)=>n(u=>({...u,[s]:{...u[s],...l}})),o=(0,Qpe.useMemo)(()=>e.filter(s=>s.kind==="manual"&&!r[s.id]?.ticked).length,[e,r]);return{ticked:s=>r[s]?.ticked===!0,comment:s=>r[s]?.comment??"",onTick:(s,l)=>i(s,{ticked:l}),onComment:(s,l)=>i(s,{comment:l}),note:(s,l)=>r[s]?.notes[l]??"",onNote:(s,l,u)=>i(s,{notes:{...r[s]?.notes,[l]:u}}),outstanding:o,checklist:()=>Zar(e,r)}}var c2=P(z(),1),Jar="tests-worth-having";function tsr({preview:e,onDecision:t}){let r=(0,esr.useMemo)(()=>jar(e.body),[e.body]),n=Qar(r.checks,r.saved),i=Nar(r,{note:a=>n.note(Jar,a),onNote:(a,s)=>n.onNote(Jar,a,s)}),o=a=>t(a,qar(n.checklist()));return(0,c2.jsxs)(le,{sx:ek,children:[(0,c2.jsx)(Jw,{preview:e,draft:!1}),(0,c2.jsx)(Zpe,{items:e.metadata??[]}),(0,c2.jsx)(no,{}),(0,c2.jsx)(Var,{checks:r.checks,checklist:n,details:i}),(0,c2.jsx)(no,{}),(0,c2.jsx)(Gar,{failed:r.checks.filter(a=>a.status==="fail").length,outstanding:n.outstanding,onApprove:()=>o("approve"),onRequestChanges:()=>o("reject")})]})}var csr=P(ge(),1);var tR=P(z(),1);function EOn(e){return e.topLeft===null?"Click the top-left box":e.bottomRight===null?"Now click the bottom-right box":"Both anchors picked"}function rsr({selection:e,onConfirm:t,onReject:r}){let n=e.topLeft!==null&&e.bottomRight!==null;return(0,tR.jsxs)(Rt,{direction:"row",spacing:1,sx:{p:2,alignItems:"center",justifyContent:"flex-end"},children:[(0,tR.jsx)(Oe,{variant:"body2",sx:{flex:1,color:"text.secondary"},children:EOn(e)}),(0,tR.jsx)(qt,{color:"error",variant:"outlined",onClick:r,children:"Cancel"}),(0,tR.jsx)(qt,{variant:"outlined",onClick:e.reset,children:"Start over"}),(0,tR.jsx)(qt,{color:"success",variant:"contained",disabled:!n,onClick:t,children:"Extract boxes"})]})}var ROn={"top-left":"#2e7d32","bottom-right":"#1565c0"};function nsr(e,t){let r=e.right-e.left,n=e.bottom-e.top;return{width:r,height:n,fontSize:Math.max(6,Math.min(n*.3,r/6,28)),radius:Math.min(8,n/4),colour:t?ROn[t]:"#546e7a",opacity:t?.75:.35,strokeWidth:Math.max(1,r*.004)}}var dj=P(z(),1);function isr({box:e,role:t,onSelect:r}){let n=nsr(e,t);return(0,dj.jsxs)("g",{role:"button",tabIndex:0,"aria-label":t?`${e.text} (${t})`:e.text,onClick:()=>r(e.id),onKeyDown:i=>{i.key==="Enter"&&r(e.id)},style:{cursor:"pointer"},children:[(0,dj.jsx)("rect",{x:e.left,y:e.top,width:n.width,height:n.height,rx:n.radius,fill:n.colour,fillOpacity:n.opacity,stroke:n.colour,strokeWidth:n.strokeWidth}),(0,dj.jsx)("text",{x:e.left+n.width/2,y:e.top+n.height/2,textAnchor:"middle",dominantBaseline:"central",fontSize:n.fontSize,fill:"#263238",children:e.text})]})}function osr(e){if(e.length===0)return"0 0 100 100";let t=Math.min(...e.map(a=>a.left)),r=Math.min(...e.map(a=>a.top)),n=Math.max(...e.map(a=>a.right))-t,i=Math.max(...e.map(a=>a.bottom))-r,o=Math.max(n*.02,8);return`${t-o} ${r-o} ${n+o*2} ${i+o*2}`}var Jpe=P(z(),1);function asr({boxes:e,selection:t}){return(0,Jpe.jsx)(le,{sx:{flex:1,minHeight:0,overflow:"auto",p:2},children:(0,Jpe.jsx)("svg",{role:"img","aria-label":"Miro board boxes",viewBox:osr(e),preserveAspectRatio:"xMidYMid meet",style:{width:"100%",height:"100%"},children:e.map(r=>(0,Jpe.jsx)(isr,{box:r,role:t.roleOf(r.id),onSelect:t.choose},r.id))})})}function hj(e){return{comments:[],screenshots:[],reviewAfter:!1,announceAfter:!1,draft:!1,autoMerge:!1,...e?{selection:e}:{}}}function AOn(e){return typeof e?.id=="string"&&typeof e.text=="string"&&[e.left,e.top,e.right,e.bottom].every(t=>typeof t=="number"&&Number.isFinite(t))}function ssr(e){try{let t=JSON.parse(e);return Array.isArray(t?.boxes)?t.boxes.filter(AOn):[]}catch{return[]}}var PBe=P(ge(),1);function lsr(){let[e,t]=(0,PBe.useState)(null),[r,n]=(0,PBe.useState)(null);return{topLeft:e,bottomRight:r,choose:s=>{if(e===null||r!==null){t(s),n(null);return}n(s)},reset:()=>{t(null),n(null)},roleOf:s=>s===e?"top-left":s===r?"bottom-right":null}}var tk=P(z(),1);function usr({preview:e,onDecision:t}){let r=(0,csr.useMemo)(()=>ssr(e.body),[e.body]),n=lsr();return(0,tk.jsxs)(le,{sx:ek,children:[(0,tk.jsx)(Jw,{preview:e,draft:!1}),(0,tk.jsx)(no,{}),(0,tk.jsx)(asr,{boxes:r,selection:n}),(0,tk.jsx)(no,{}),(0,tk.jsx)(rsr,{selection:n,onConfirm:()=>{let{topLeft:o,bottomRight:a}=n;o===null||a===null||t("approve",hj({topLeft:o,bottomRight:a}))},onReject:()=>t("reject",hj())})]})}var Hsr=P(ge(),1);function fsr(e){let t=[];return e.map(r=>(t.length=r+1,t[r]=(t[r]??0)+1,t.map(n=>n??1).join(".")))}function eme(e){return e*22}function dsr(e){return Math.round(e/22)}var hsr={display:"flex",alignItems:"flex-start",gap:.25,"& .criterion-action":{opacity:0,transition:"opacity 120ms"},"&:hover .criterion-action":{opacity:1},"&:focus-within .criterion-action":{opacity:1},"& .criterion-action:focus-visible":{opacity:1}},psr={p:.25,mt:"2px",color:"text.disabled",cursor:"grab",touchAction:"none","&:active":{cursor:"grabbing"}},msr={fontFamily:"monospace",fontSize:"0.8rem",color:"text.secondary",minWidth:32,pt:"5px",textAlign:"right",userSelect:"none",whiteSpace:"nowrap"},gsr={flex:1,fontSize:"inherit",lineHeight:1.5,px:.75,py:0,borderRadius:1,"&:hover":{bgcolor:"action.hover"},"&.Mui-focused":{bgcolor:"action.selected"}},LBe={p:.25,mt:"2px"},ysr={position:"absolute",right:8,height:2,borderRadius:1,bgcolor:"primary.main",pointerEvents:"none"};var bsr=P(z(),1),POn=8;function vsr({drag:e}){return e?(0,bsr.jsx)(le,{sx:ysr,style:{top:e.top-1,left:POn+eme(e.depth)}}):null}var xsr=P(z(),1),Tsr=ut((0,xsr.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2m-2-8c-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-2m6 4c1.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"}),"DragIndicator");var MBe=P(z(),1);function Ssr({number:e,onGrip:t}){return(0,MBe.jsx)(ir,{size:"small",className:"criterion-action",sx:psr,"aria-label":`Reorder criterion ${e}`,onPointerDown:t,children:(0,MBe.jsx)(Tsr,{fontSize:"inherit"})})}var u2=P(z(),1);function Csr({number:e,onAdd:t,onDelete:r}){return(0,u2.jsxs)(u2.Fragment,{children:[(0,u2.jsx)(ir,{size:"small",className:"criterion-action",sx:LBe,"aria-label":`Add criterion after ${e}`,onClick:t,children:(0,u2.jsx)(qP,{fontSize:"inherit"})}),(0,u2.jsx)(ir,{size:"small",className:"criterion-action",sx:LBe,"aria-label":`Delete criterion ${e}`,onClick:r,children:(0,u2.jsx)(da,{fontSize:"inherit"})})]})}var tme=P(ge(),1);function wsr(e,t){return e==="start"?0:e==="end"?t:Math.min(Math.max(e,0),t)}function ksr(e){let t=(0,tme.useRef)(null);return(0,tme.useEffect)(()=>{let r=t.current;if(!e||!r)return;r.focus();let n=wsr(e.caret,r.value.length);r.setSelectionRange(n,n)},[e]),t}var rR=P(z(),1);function _sr({index:e,number:t,item:r,outline:n,dragging:i,onGrip:o}){let a=ksr(n.focus?.index===e?n.focus:null),s={marginLeft:eme(r.depth),opacity:i?.4:1};return(0,rR.jsxs)(le,{sx:hsr,"data-criterion-row":!0,style:s,children:[(0,rR.jsx)(Ssr,{number:t,onGrip:o}),(0,rR.jsx)(le,{component:"span",sx:msr,"aria-hidden":"true",children:`${t}.`}),(0,rR.jsx)(Uf,{multiline:!0,value:r.text,sx:gsr,inputRef:a,inputProps:{"aria-label":`Criterion ${t}`},onChange:l=>n.onText(e,l.target.value),onKeyDown:l=>n.onKeyDown(e,l)}),(0,rR.jsx)(Csr,{number:t,onAdd:()=>n.onAdd(e),onDelete:()=>n.onDelete(e)})]})}var Isr=P(ge(),1);function Esr(e,t,{key:r,shift:n,alt:i,caret:o,text:a}){return i||n?null:r==="ArrowUp"&&o===0&&t>0?{kind:"focus",index:t-1}:r==="ArrowDown"&&o===a.length&&t<e.length-1?{kind:"focus",index:t+1}:null}function rk(e){if(e.length===0)return[{text:"",depth:0}];let t=-1;return e.map(r=>{let n=Math.min(Math.max(r.depth,0),t+1);return t=n,r.depth===n?r:{...r,depth:n}})}function rme(e,t,r,n){let i=e[t]?.depth??0,o=e.map((a,s)=>s===t?{...a,text:r}:a);return{items:rk([...o.slice(0,t+1),{text:n,depth:i},...o.slice(t+1)]),index:t+1}}function Zh(e,t){let r=t+1;for(;r<e.length&&e[r].depth>e[t].depth;)r+=1;return r}function nme(e,t){let r=e[t].depth;for(let n=t-1;n>=0;n-=1){if(e[n].depth<r)return-1;if(e[n].depth===r)return n}return-1}function Rsr(e,t){let r=Zh(e,t);return r<e.length&&e[r].depth===e[t].depth?r:-1}function Asr(e,t,r){let n=r<0?nme(e,t):Rsr(e,t);if(n<0)return null;let i=Zh(e,t),o=e.slice(t,i),a=[...e.slice(0,t),...e.slice(i)],s=r<0?n:Zh(e,n)-(i-t);return{items:[...a.slice(0,s),...o,...a.slice(s)],index:s}}function ime(e,t){let r=Zh(e,t),n=e.map((i,o)=>o>t&&o<r?{...i,depth:i.depth-1}:i).filter((i,o)=>o!==t);return{items:rk(n),index:Math.max(0,t-1)}}function Psr(e,t,r){if(r<0&&e[t].depth===0||r>0&&nme(e,t)<0)return null;let n=Zh(e,t);return e.map((i,o)=>o>=t&&o<n?{...i,depth:i.depth+r}:i)}function ome(e,t){return e?{kind:"edit",edit:e,caret:t}:null}function LOn(e,t,{caret:r,text:n}){let i=n.slice(0,r);return ome(rme(e,t,i,n.slice(r)),"start")}function MOn(e,t,{shift:r,caret:n}){let i=Psr(e,t,r?-1:1);return ome(i?{items:i,index:t}:null,n)}function Lsr(e,t,r){let{key:n,shift:i,alt:o,caret:a,text:s}=r;return n==="Enter"&&!i?LOn(e,t,r):n==="Tab"?MOn(e,t,r):o&&(n==="ArrowUp"||n==="ArrowDown")?ome(Asr(e,t,n==="ArrowUp"?-1:1),a):n==="Backspace"&&a===0&&s===""?ome(ime(e,t),"end"):null}function Msr(e,t,r){return Lsr(e,t,r)??Esr(e,t,r)}function Dsr(e,t){let[r,n]=(0,Isr.useState)(null),i=(a,s)=>{a&&(t(a.items),n({index:a.index,caret:s}))};return{focus:r,onKeyDown:(a,s)=>{let l=s.currentTarget;(s.key==="Enter"||s.key==="Tab")&&s.preventDefault();let u=Msr(e,a,{key:s.key,shift:s.shiftKey,alt:s.altKey,caret:l.selectionStart??0,text:l.value});u&&(s.preventDefault(),u.kind==="focus"?n({index:u.index,caret:"end"}):i(u.edit,u.caret))},onDrop:a=>i(a,"end"),onText:(a,s)=>t(e.map((l,u)=>u===a?{...l,text:s}:l)),onAdd:a=>i(rme(e,a,e[a].text,""),"start"),onDelete:a=>i(ime(e,a),"end")}}var $sr=P(ge(),1);function IOn(e,t,r,n){let i=t.length;for(let a=0;a<e.length;a+=1)if(n<e[a].top+e[a].height/2){i=a;break}let o=Zh(t,r);return i>r&&i<o?r:i}function DOn(e,t,r,n){let i=Zh(e,t),o=r-1,a=o>=t&&o<i?t-1:o,s=a>=0?e[a].depth+1:0;return Math.max(0,Math.min(e[t].depth+dsr(n),s))}function NOn(e,t){if(t<e.length)return e[t].top;let r=e[e.length-1];return r?r.top+r.height:0}function Nsr(e,t,r,n,i){let o=IOn(e,t,r,i);return{target:o,depth:DOn(t,r,o,n),top:NOn(e,o)}}function OOn(e){let t=e.getBoundingClientRect().top;return{boxes:Array.from(e.querySelectorAll("[data-criterion-row]")).map(n=>{let i=n.getBoundingClientRect();return{top:i.top-t,height:i.height}}),origin:t}}function Osr(e,t,r,n){return i=>{let{boxes:o,origin:a}=OOn(t);return Nsr(o,e,r,i.clientX-n,i.clientY-a)}}function Bsr(e,t,r,n,i){let o=new AbortController,a=null,s=f=>{a=r(f),n(a)},l=()=>{o.abort(),a&&i(a)},u={signal:o.signal};return e.setPointerCapture(t),e.addEventListener("pointermove",s,u),e.addEventListener("pointerup",l,u),e.addEventListener("pointercancel",l,u),s}function Fsr(e,t,r,n){let i=Zh(e,t),o=n-e[t].depth,a=e.slice(t,i).map(u=>({...u,depth:Math.max(0,u.depth+o)})),s=[...e.slice(0,t),...e.slice(i)],l=r>t?r-a.length:r;return{items:rk([...s.slice(0,l),...a,...s.slice(l)]),index:l}}function zsr(e,t,r){let[n,i]=(0,$sr.useState)(null);return{drag:n,onGrip:a=>s=>{let l=t.current;if(!l||s.pointerType==="mouse"&&s.button!==0)return;s.preventDefault(),Bsr(s.currentTarget,s.pointerId,Osr(e,l,a,s.clientX),f=>i({from:a,depth:f.depth,top:f.top}),f=>{i(null),r(Fsr(e,a,f.target,f.depth))})(s)}}}var pj=P(z(),1),BOn={my:1,px:1,py:.5,border:1,borderColor:"divider",borderRadius:1,position:"relative",userSelect:"text",cursor:"auto"},FOn=[{text:"",depth:0}];function Usr({items:e,onChange:t}){let r=(0,Hsr.useRef)(null),n=e.length>0?e:FOn,i=Dsr(n,t),{drag:o,onGrip:a}=zsr(n,r,i.onDrop),s=fsr(n.map(l=>l.depth));return(0,pj.jsxs)(le,{sx:BOn,ref:r,"data-preview-skip":!0,"aria-label":"Acceptance criteria",children:[n.map((l,u)=>(0,pj.jsx)(_sr,{index:u,number:s[u],item:l,outline:i,dragging:o?.from===u,onGrip:a(u)},`criterion-${u}`)),(0,pj.jsx)(vsr,{drag:o})]})}var Wsr=P(z(),1),Vsr=ut((0,Wsr.jsx)("path",{d:"M2 17h2v.5H3v1h1v.5H2v1h3v-4H2zm1-9h1V4H2v1h1zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2zm5-6v2h14V5zm0 14h14v-2H7zm0-6h14v-2H7z"}),"FormatListNumbered");var mj=P(z(),1),$On={insert:"Add acceptance criteria",convert:"Convert to outline"};function Gsr({kind:e,onClick:t}){return(0,mj.jsx)(le,{sx:{my:1},"data-preview-skip":!0,children:(0,mj.jsx)(qt,{size:"small",variant:"outlined",startIcon:e==="insert"?(0,mj.jsx)(qP,{}):(0,mj.jsx)(Vsr,{}),onClick:t,children:$On[e]})})}var gj=P(ge(),1);function zOn(e,t,r,n){let i=document.createRange();i.setStart(e,t),i.setEnd(e,r);let o=document.createElement("mark");o.className="pr-comment",o.style.backgroundColor=n,i.surroundContents(o)}function HOn(e,t,r){let n=gH(e),i=[],o=n.nextNode();for(;o;){let a=o;if(t.intersectsNode(a)){let s=a===t.startContainer?t.startOffset:0,l=a===t.endContainer?t.endOffset:a.length;s<l&&i.push({node:a,start:s,end:l})}o=n.nextNode()}for(let a of i)zOn(a.node,a.start,a.end,r)}function qsr(e){for(let t of e.querySelectorAll("mark.pr-comment"))if(t.parentNode){for(;t.firstChild;)t.before(t.firstChild);t.remove()}}function jsr(e,t){for(let r of t){let n=vlt(e,r);n&&HOn(e,n,r.color)}}var yj=P(z(),1);function Ysr({content:e,control:t,trailing:r,ranges:n,contentRef:i}){let o=(0,gj.useMemo)(()=>ub(e),[e]),a=(0,gj.useMemo)(()=>r?ub(r):"",[r]);return(0,gj.useLayoutEffect)(()=>{let s=i.current;s&&(qsr(s),jsr(s,n))},[o,a,n,i]),(0,yj.jsxs)(le,{ref:i,children:[(0,yj.jsx)(yu,{className:"markdown",html:o}),t,t?(0,yj.jsx)(yu,{className:"markdown",html:a}):null]})}var Ksr=e=>({flex:1,overflow:"auto",p:2,position:"relative",userSelect:"none",cursor:"text",lineHeight:1.7,wordBreak:"break-word","& .markdown":{...Ure(e),maxWidth:"none"},"& a":{color:"primary.main"},"& mark.pr-comment":{color:"inherit",borderRadius:"2px"}});var M9=P(z(),1);function Xsr({content:e,control:t,trailing:r,ranges:n,wrapperRef:i,contentRef:o,dragRects:a,dragColor:s,onMouseDown:l,footer:u}){return(0,M9.jsxs)(le,{ref:i,onMouseDown:l,sx:Ksr,children:[(0,M9.jsx)(Ysr,{content:e,control:t,trailing:r,ranges:n,contentRef:o}),u&&(0,M9.jsx)(le,{sx:{userSelect:"text"},children:u}),(0,M9.jsx)(vL,{rects:a,color:s})]})}var nR=P(z(),1),Zsr={display:"block",maxWidth:"100%",borderRadius:1,border:1,borderColor:"divider"},UOn={position:"absolute",top:4,right:4,bgcolor:"background.paper","&:hover":{bgcolor:"background.paper"}};function Qsr({screenshot:e,onRemove:t}){let r=e.contentType.startsWith("video/");return(0,nR.jsxs)(le,{sx:{position:"relative"},children:[r?(0,nR.jsx)(le,{component:"video",controls:!0,src:e.url,"aria-label":"screenshot",sx:Zsr}):(0,nR.jsx)(le,{component:"img",src:e.url,alt:"screenshot",sx:Zsr}),(0,nR.jsx)(ir,{size:"small","aria-label":"Remove screenshot",sx:UOn,onMouseDown:n=>n.stopPropagation(),onClick:()=>t(e.id),children:(0,nR.jsx)(da,{fontSize:"small"})})]})}var Mm=P(z(),1);function WOn(){return(0,Mm.jsxs)(Rt,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[(0,Mm.jsx)(mo,{size:16}),(0,Mm.jsx)(Oe,{variant:"caption",color:"text.secondary",children:"Attaching screenshot or video\u2026"})]})}function VOn({error:e}){return(0,Mm.jsx)(Oe,{variant:"caption",color:"error",sx:{wordBreak:"break-word"},children:e})}function Jsr({uploads:e,empty:t}){return e.length>0?(0,Mm.jsx)(Mm.Fragment,{children:e.map(r=>r.error?(0,Mm.jsx)(VOn,{error:r.error},r.id):(0,Mm.jsx)(WOn,{},r.id))}):t?(0,Mm.jsx)(Oe,{variant:"caption",color:"text.secondary",children:"Drop or paste an image or video to attach"}):null}var iR=P(z(),1);function elr({screenshots:e,uploads:t,onRemove:r}){return(0,iR.jsxs)(le,{sx:{mt:3},children:[e.length>0&&(0,iR.jsx)(le,{component:"h2",children:"Screenshots"}),(0,iR.jsxs)(Rt,{spacing:1,children:[e.map(n=>(0,iR.jsx)(Qsr,{screenshot:n,onRemove:r},n.id)),(0,iR.jsx)(Jsr,{uploads:t,empty:e.length===0})]})]})}var vj=P(z(),1);function GOn(e){let t=e.criteria;if(!t)return{content:e.body};let r={content:t.before,trailing:t.after};return t.kind==="outline"?{...r,control:(0,vj.jsx)(Usr,{items:t.items,onChange:e.onCriteriaChange})}:{...r,control:(0,vj.jsx)(Gsr,{kind:t.kind,onClick:t.kind==="insert"?e.onCriteriaInsert:e.onCriteriaConvert})}}function tlr({pane:e,screenshots:t}){return(0,vj.jsx)(Xsr,{...GOn(e),ranges:e.ranges,wrapperRef:e.wrapperRef,contentRef:e.contentRef,dragRects:e.dragRects,dragColor:e.dragColor,onMouseDown:e.onMouseDown,footer:t?(0,vj.jsx)(elr,{screenshots:e.screenshots,uploads:e.uploads,onRemove:e.removeScreenshot}):void 0})}var Nu=P(z(),1);function rlr({comments:e,colors:t,onRemove:r}){return e.length===0?null:(0,Nu.jsxs)(Nu.Fragment,{children:[(0,Nu.jsx)(no,{}),(0,Nu.jsxs)(le,{sx:{maxHeight:200,overflow:"auto",px:2,py:1},children:[(0,Nu.jsxs)(Oe,{variant:"overline",color:"text.secondary",children:["Comments (",e.length,")"]}),(0,Nu.jsx)(Rt,{spacing:1,children:e.map((n,i)=>(0,Nu.jsxs)(le,{sx:{display:"flex",gap:1,alignItems:"flex-start"},children:[(0,Nu.jsx)(le,{sx:{width:4,alignSelf:"stretch",borderRadius:2,flexShrink:0},style:{backgroundColor:t[i]}}),(0,Nu.jsxs)(le,{sx:{flex:1,minWidth:0},children:[(0,Nu.jsx)(fre,{text:n.quote}),(0,Nu.jsx)(Oe,{variant:"body2",sx:{mt:.5,wordBreak:"break-word"},children:n.note})]}),(0,Nu.jsx)(ir,{size:"small","aria-label":"Remove comment",onClick:()=>r(n.id),children:(0,Nu.jsx)(da,{fontSize:"small"})})]},n.id))})]})]})}var IBe=P(z(),1),qOn={"& .MuiFormControlLabel-label":{fontSize:12}};function bj({label:e,title:t,checked:r,onChange:n}){return(0,IBe.jsx)(wv,{control:(0,IBe.jsx)(Tp,{size:"small",checked:r,onChange:i=>n(i.target.checked)}),label:e,title:t,sx:qOn})}var oR=P(z(),1);function nlr({chain:e,newPr:t,onChange:r}){return(0,oR.jsxs)(Rt,{direction:"row",sx:{mr:"auto"},children:[t&&(0,oR.jsx)(bj,{label:"Draft",title:"Create the PR as a draft rather than ready for review",checked:e.draft,onChange:n=>r({...e,draft:n,autoMerge:n?!1:e.autoMerge})}),(0,oR.jsx)(bj,{label:"Auto-merge (squash)",title:"Squash-merge the PR automatically once its required checks pass",checked:e.autoMerge,onChange:n=>r({...e,autoMerge:n,draft:n?!1:e.draft})}),(0,oR.jsx)(bj,{label:"Review PR",title:"After raising, run a review that posts its findings and then addresses them",checked:e.reviewAfter,onChange:n=>r({...e,reviewAfter:n})}),(0,oR.jsx)(bj,{label:"Post to Slack",title:"Announce the PR in Slack at the tail of the chain",checked:e.announceAfter,onChange:n=>r({...e,announceAfter:n})})]})}var aR=P(z(),1);function ilr({commentCount:e,chain:t,newPr:r,onChainChange:n,onApprove:i,onReject:o,onRequestChanges:a}){return(0,aR.jsxs)(Rt,{direction:"row",spacing:1,sx:{p:2,alignItems:"center",justifyContent:"flex-end"},children:[t&&(0,aR.jsx)(nlr,{chain:t,newPr:r,onChange:n}),(0,aR.jsx)(qt,{color:"error",variant:"outlined",onClick:o,children:"Reject"}),e>0&&(0,aR.jsxs)(qt,{color:"warning",variant:"contained",onClick:a,children:["Request changes (",e,")"]}),(0,aR.jsx)(qt,{color:"success",variant:"contained",onClick:i,children:"Approve"})]})}var f2=P(z(),1);function olr({comments:e,commentColors:t,pending:r,cwd:n,onAdd:i,onCite:o,onAddRule:a,onRemove:s,onCancel:l,onCollapse:u,onDecision:f,chain:d,editable:h,newPr:p,onChainChange:m}){return(0,f2.jsxs)(f2.Fragment,{children:[(0,f2.jsx)(rlr,{comments:e,colors:t,onRemove:s}),(0,f2.jsx)(no,{}),(0,f2.jsx)(ilr,{commentCount:e.length,chain:d,newPr:p,onChainChange:m,onApprove:()=>f("approve",[]),onReject:()=>f("reject",[]),onRequestChanges:()=>f("reject",e.map(g=>({quote:g.quote,note:g.note})))}),(0,f2.jsx)(TL,{pending:r,editable:h,cwd:n,onAdd:i,onCite:o,onAddRule:a,onCancel:l,onCollapse:u})]})}function alr({preview:e,pane:t,cwd:r,isPr:n,editable:i,onCite:o,onAddRule:a}){return{comments:t.comments,commentColors:t.commentColors,pending:t.pending,cwd:r,onAdd:t.onAdd,onCite:o,onAddRule:a,onRemove:t.remove,onCancel:t.onCancel,onCollapse:t.onCollapse,onDecision:t.onDecide,chain:n?t.chain:void 0,editable:i,newPr:n&&e.prNumber===null,onChainChange:t.setChain}}function ame(e){let t=e??"pr";return{isPr:t==="pr",screenshots:t==="pr"||t==="github-issue",editable:t==="github-issue-edit",closeOnly:t==="show"}}function slr(e,t){return e?`${e}:${t??"pr"}`:void 0}function llr(e,t,r,n){return{...ame(e.kind),requestId:e.requestId,sessionId:t,cwd:r,onDecision:n,screenshotScope:slr(t,e.kind),resolvedDraft:e.draft===!0,initialBody:e.body}}function clr(e,t,r,n){if(!(!e||!t))return i=>{r!==void 0&&k1(t,e,ope({quote:r,note:i})),n()}}function ulr(e,t,r,n){if(!(!e||!t))return i=>{r!==void 0&&k1(t,e,Iw(r,bL(i))),n()}}var Qlr=P(ge(),1);function flr(e){return{criteria:e.criteria,onCriteriaChange:e.writeCriteria,onCriteriaInsert:e.insertCriteria,onCriteriaConvert:e.convertCriteria}}function dlr(e,t){let r=e.map((o,a)=>dS(a).solid),n=dS(e.length).fill,i=e.map((o,a)=>({start:o.start,end:o.end,color:dS(a).fill}));return t&&i.push({start:t.start,end:t.end,color:n}),{commentColors:r,dragColor:n,ranges:i}}var D1=P(ge(),1);var hlr="assist:preview-screenshots:",DBe=e=>`${hlr}${e}`;function plr(e){return e?(Dw(hlr),Bd(DBe(e)).filter(t=>typeof t.path=="string")):[]}function NBe(e,t){e&&Fd(DBe(e),t.map(({path:r,alt:n,contentType:i})=>({path:r,alt:n,contentType:i})))}function mlr(e){e&&l9(DBe(e))}function glr(e,t){let r=new URLSearchParams({path:e});return t&&r.set("node",t),`/api/pr-preview/image?${r}`}function ylr(e){let[t,r]=(0,D1.useState)([]),n=(0,D1.useRef)(0),i=yr();(0,D1.useEffect)(()=>{r(plr(e).map(l=>({...l,url:glr(l.path,i),id:n.current++})))},[e,i]);let o=(0,D1.useCallback)(l=>{r(u=>{let f=[...u,{...l,id:n.current++}];return NBe(e,f),f})},[e]),a=(0,D1.useCallback)(l=>{r(u=>{let f=u.find(h=>h.id===l);f?.url.startsWith("blob:")&&URL.revokeObjectURL(f.url);let d=u.filter(h=>h.id!==l);return NBe(e,d),d})},[e]),s=(0,D1.useCallback)(()=>mlr(e),[e]);return{screenshots:t,add:o,remove:a,clearPersisted:s}}var I9=P(ge(),1);async function vlr(e,t,r){let n=new URLSearchParams;t&&n.set("cwd",t),r&&n.set("node",r),e instanceof File&&e.name&&n.set("name",e.name);let i=await fetch(`/api/pr-preview/upload-image?${n}`,{method:"POST",headers:{"Content-Type":e.type||"application/octet-stream"},body:e}),o=await i.json().catch(()=>null);if(!i.ok||!o?.path)throw new Error(o?.error??"Failed to attach file");return{path:o.path,alt:o.alt??"screenshot"}}var Slr=P(ge(),1);function blr(e){return e.startsWith("image/")||e.startsWith("video/")}function xlr(e){if(!e)return null;for(let t of e.items)if(t.kind==="file"&&blr(t.type)){let r=t.getAsFile();if(r)return r}return null}function Tlr(e){return e?Array.from(e.files).find(t=>blr(t.type))??null:null}function Clr(e,t){return(0,Slr.useEffect)(()=>{if(!t)return;let i=o=>{let a=xlr(o.clipboardData);a&&(o.preventDefault(),e(a))};return globalThis.addEventListener("paste",i),()=>globalThis.removeEventListener("paste",i)},[e,t]),t?{onDrop:i=>{let o=Tlr(i.dataTransfer);o&&(i.preventDefault(),e(o))},onDragOver:i=>{Array.from(i.dataTransfer.items).some(o=>o.kind==="file")&&i.preventDefault()}}:{onDrop:void 0,onDragOver:void 0}}function wlr(e,t,r){let[n,i]=(0,I9.useState)([]),o=(0,I9.useRef)(0),a=yr(),s=(0,I9.useCallback)(async f=>{let d=o.current++;i(h=>[...h.filter(p=>!p.error),{id:d}]);try{let h=await vlr(f,e,a);t({...h,url:URL.createObjectURL(f),contentType:f.type}),i(p=>p.filter(m=>m.id!==d))}catch(h){let p=h instanceof Error?h.message:"Failed to attach file";i(m=>m.map(g=>g.id===d?{id:d,error:p}:g))}},[e,a,t]),{onDrop:l,onDragOver:u}=Clr(s,r);return{uploads:n,onDrop:l,onDragOver:u}}function klr(e,t,r){let{screenshots:n,add:i,remove:o,clearPersisted:a}=ylr(t?r:void 0),{uploads:s,onDrop:l,onDragOver:u}=wlr(e,i,t);return{screenshots:n,removeScreenshot:o,decision:{attachments:()=>n.map(({path:f,alt:d})=>({path:f,alt:d})),clearPersisted:a},uploads:s,onDrop:l,onDragOver:u}}var d2=P(ge(),1);var _lr="assist:pr-preview-comments:",OBe=e=>`${_lr}${e}`;function Elr(e){return Bd(OBe(e))}function BBe(e,t){Fd(OBe(e),t)}function Rlr(e){l9(OBe(e))}function Alr(){Dw(_lr)}function Plr(e){let[t,r]=(0,d2.useState)([]),n=(0,d2.useRef)(0);(0,d2.useEffect)(()=>{Alr(),r(Elr(e).map(a=>({...a,id:n.current++})))},[e]);let i=(0,d2.useCallback)(a=>{r(s=>{let l=[...s,{...a,id:n.current++}];return BBe(e,l),l})},[e]),o=(0,d2.useCallback)(a=>{r(s=>{let l=s.filter(u=>u.id!==a);return BBe(e,l),l})},[e]);return{comments:t,add:i,remove:o}}var Flr=P(ge(),1);var Llr="assist:pr-preview-chain:",FBe=e=>`${Llr}${e}`;function Mlr(e){if(e)return Bd(FBe(e))[0]}function Ilr(e,t){e&&Fd(FBe(e),[t])}function Dlr(e){e&&l9(FBe(e))}function Nlr(){Dw(Llr)}function Olr(e,t,r){if(!e)return{reviewAfter:!1,announceAfter:!1,draft:!1,autoMerge:!1};Nlr();let n=Mlr(t);return{reviewAfter:n?.reviewAfter??!0,announceAfter:n?.announceAfter??!0,draft:n?.draft??r,autoMerge:n?.autoMerge??!1}}function Blr(e,t,r,n,i){return{comments:t,screenshots:n,reviewAfter:e&&r.reviewAfter,announceAfter:e&&r.announceAfter,draft:r.draft,autoMerge:e&&r.autoMerge,...i===void 0?{}:{body:i}}}function $lr(e,t,r,n,i,o,a){let[s,l]=(0,Flr.useState)(()=>Olr(n,t,i));return{chain:s,setChain:d=>{l(d),Ilr(t,d)},onDecide:(d,h)=>{let p=d==="approve";Rlr(e),p&&(Dlr(t),o.clearPersisted()),r(d,Blr(p,h,s,p?o.attachments():[],a()))}}}var Klr=P(ge(),1);var jOn=/^ {0,3}#{1,6}[ \t]+acceptance criteria[ \t]*$/i,YOn=/^ {0,3}#{1,6}[ \t]/;function nk(e){let t=e.split(`
@@ -3973,7 +3973,7 @@ ${f.join(`
3973
3973
  `)})}var tB=P(z(),1);function Ohr({entry:e,state:t,actions:r}){return(0,tB.jsxs)(le,{sx:{px:2,pb:2,pl:{xs:2,sm:7.5},display:"grid",gap:1.5},children:[(0,tB.jsx)(Dhr,{entry:e,state:t,actions:r}),(0,tB.jsx)(Oe,{variant:"caption",color:"text.secondary",children:"History \xB7 ~/.assist/watchers/"}),(0,tB.jsx)(Nhr,{lines:e.status?.history??[]})]})}function rB(e){let t=e.status?.loop;return t!==void 0&&(t.phase!=="off"||t.paused===!0)}var nB=P(z(),1),SUn={display:"flex",gap:.5,flexWrap:"wrap",justifyContent:{xs:"flex-start",sm:"flex-end"},gridColumn:{xs:"1 / -1",sm:"auto"}};function Bhr({entry:e,state:t,actions:r}){let n=r.notices.busy[e.name],i=e.status?.loop.paused===!0;return(0,nB.jsxs)(le,{sx:SUn,children:[t.kind==="ready"&&(0,nB.jsx)(mge,{entry:e,actions:r}),t.kind==="diverged"&&(0,nB.jsx)(dge,{entry:e,actions:r}),rB(e)&&(0,nB.jsx)(qt,{size:"small",disabled:n!==void 0,onClick:()=>{r.control(e,i?"resume":"pause")},children:i?"Resume":"Pause"})]})}var CUn={ready:"warning",diverged:"error"},Fhr=e=>t=>{let r=CUn[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 $hr=P(z(),1),zhr=ut((0,$hr.jsx)("path",{d:"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8z"}),"ArrowUpward");var Hhr=P(z(),1),Uhr=ut((0,Hhr.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 Whr=P(z(),1),Vhr=ut((0,Whr.jsx)("path",{d:"M6 19h4V5H6zm8-14v14h4V5z"}),"Pause");var Ghr=P(z(),1),qhr=ut((0,Ghr.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 jhr=P(z(),1),Yhr=ut((0,jhr.jsx)("path",{d:"M1 21h22L12 2zm12-3h-2v-2h2zm0-4h-2v-4h2z"}),"Warning");var q1=P(z(),1),wUn={ok:{tone:"success",icon:(0,q1.jsx)(X0,{})},ready:{tone:"warning",icon:(0,q1.jsx)(zhr,{})},diverged:{tone:"error",icon:(0,q1.jsx)(Yhr,{})},retrying:{tone:"warning",icon:(0,q1.jsx)($ee,{})},paused:{tone:"neutral",icon:(0,q1.jsx)(Vhr,{})},off:{tone:"neutral",icon:(0,q1.jsx)(qhr,{})},unavailable:{tone:"neutral",icon:(0,q1.jsx)(Uhr,{})}};function kUn(e,t){return t==="neutral"?e.palette.text.secondary:e.palette[t].main}function Khr({state:e}){let{tone:t,icon:r}=wUn[e.kind];return(0,q1.jsxs)(le,{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:kUn(n,t),bgcolor:t==="neutral"?n.palette.action.hover:Ea(n.palette[t].main,.1),border:t==="neutral"?`1px solid ${n.palette.divider}`:0,"& svg":{fontSize:14}}),children:[r,e.label]})}var sY=P(z(),1);function Xhr({state:e}){return(0,sY.jsxs)(le,{sx:{...fge,gridColumn:{xs:"2",sm:"auto"},gap:.25},children:[(0,sY.jsx)(Khr,{state:e}),(0,sY.jsx)(Oe,{variant:"caption",color:"text.secondary",noWrap:!0,children:e.line})]})}var j1=P(z(),1),Zhr={gridColumn:{xs:"2",sm:"auto"}},_Un={fontFamily:"'Roboto Mono', ui-monospace, Menlo, monospace",fontSize:12,fontVariantNumeric:"tabular-nums"};function Qhr({entry:e}){let t=e.status;if(!t)return(0,j1.jsx)(Oe,{variant:"caption",color:"text.secondary",sx:Zhr,children:"\u2014"});let r=t.running!==t.built;return(0,j1.jsxs)(le,{sx:{...Zhr,display:"flex",flexDirection:"column"},children:[(0,j1.jsxs)(le,{component:"span",sx:_Un,children:["v",t.running,r&&(0,j1.jsxs)(j1.Fragment,{children:[" ",(0,j1.jsx)(le,{component:"span",sx:{color:"warning.main"},children:"\u2192"})," ","v",t.built]})]}),(0,j1.jsx)(Oe,{variant:"caption",color:"text.secondary",children:r?"running \u2192 built":"running"})]})}function yge(e){return(e.status?.restart.length??0)>0}function Jhr(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 yk(e){let{status:t}=e;if(!t)return{kind:"unavailable",label:"Unavailable",line:e.error??"no update state"};let{loop:r}=t,n=Do(r.since);return r.phase==="diverged"?{kind:"diverged",label:"Diverged \xB7 fixing",line:`diverged ${n}${r.escalationId?` \xB7 session ${r.escalationId}`:""}`}:yge(e)?{kind:"ready",label:"Restart to update",line:`restart ${t.restart.map(J9).join(" + ")}${r.paused?" \xB7 paused":""}`}:Jhr(r,n)}var Y1=P(z(),1);function tpr({entry:e,actions:t}){let[r,n]=(0,epr.useState)(!1),i=yk(e);return(0,Y1.jsxs)(le,{component:"article",sx:{"& + &":{borderTop:1,borderColor:"divider"}},children:[(0,Y1.jsxs)(le,{sx:Fhr(i.kind),children:[(0,Y1.jsx)(Rhr,{open:r,label:`${r?"Hide":"Show"} history for ${e.name}`,onToggle:()=>n(o=>!o)}),(0,Y1.jsx)(Ahr,{entry:e}),(0,Y1.jsx)(Qhr,{entry:e}),(0,Y1.jsx)(Xhr,{state:i}),(0,Y1.jsx)(Bhr,{entry:e,state:i,actions:t})]}),r&&(0,Y1.jsx)(Ohr,{entry:e,state:i,actions:t})]})}var rpr=P(z(),1),vge=ut((0,rpr.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 O$e=P(ge(),1);var iB=P(z(),1);function npr({entries:e,actions:t}){let[r,n]=(0,O$e.useState)(!1),[i,o]=(0,O$e.useState)(!1),a=e.filter(l=>yk(l).kind==="ready").length,s=e.some(l=>rB(l)&&!l.status?.loop.paused);return(0,iB.jsxs)(le,{sx:{display:"flex",gap:1,flexWrap:"wrap"},children:[(0,iB.jsx)(qt,{variant:"outlined",size:"small",startIcon:(0,iB.jsx)(vge,{}),disabled:!s||r,onClick:()=>{n(!0),t.checkAll(e).finally(()=>n(!1))},children:"Check now"}),(0,iB.jsx)(qt,{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 ipr(e){let t=e.map(o=>yk(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("unavailable")&&i.push(`${r("unavailable")} unavailable`),i.join(" \xB7 ")}var ypr=P(ge(),1);function opr(e,t){return`${e}:${t}`}var B$e=P(ge(),1);async function oB(e){if(!e)return"web server unreachable";try{return(await e.json()).error??`HTTP ${e.status}`}catch{return`HTTP ${e.status}`}}async function apr(e,t){let r;try{r=await fetch(tn(`/api/updates/control?action=${t}`,e.local?void 0:e.name),{method:"POST"})}catch{}return r?.ok?void 0:oB(r)}var EUn=5e3,spr={pause:"Pausing",resume:"Resuming",check:"Checking"};function lpr(e,t){let{mark:r,setError:n,setBack:i}=e,o=(0,B$e.useCallback)(async(s,l)=>{r(s.name,spr[l]);let u=await apr(s,l);return u&&n(`${spr[l]} ${s.name} failed: ${u}`),r(s.name),t(),!u&&l==="check"&&setTimeout(t,EUn),!u},[r,n,t]),a=(0,B$e.useCallback)(async s=>{let l=s.filter(d=>rB(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 F$e=P(ge(),1);var K1=P(ge(),1);var aB={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 vk(e,t){let r=t?`&node=${encodeURIComponent(t)}`:"";return fetch(`/api/restart?target=${e}${r}`,{method:"POST"})}var E2=P(ge(),1);var RUn="/api/session-layout";async function AUn(){try{return(await fetch(RUn,{cache:"no-store"})).ok}catch{return!1}}async function cpr(e){let t=0;for(;!e();){if(t=await AUn()?t+1:0,t>=2)return!e();await new Promise(r=>setTimeout(r,300))}return!1}function PUn(){return{sawDisconnect:!1,waiting:!1,abandoned:!0}}function upr(e,t,r){let n=(0,E2.useRef)(PUn()),i=(0,E2.useRef)(r);i.current=r,(0,E2.useEffect)(()=>{let s=n.current;if(!(!e||s.abandoned)){if(t){s.sawDisconnect=!0;return}!s.sawDisconnect||s.waiting||(s.waiting=!0,cpr(()=>s.abandoned).then(l=>{l&&i.current()}))}},[e,t]);let o=(0,E2.useCallback)(()=>{n.current.abandoned=!0},[]),a=(0,E2.useCallback)(()=>{n.current.abandoned=!0,n.current={sawDisconnect:!1,waiting:!1,abandoned:!1}},[]);return(0,E2.useEffect)(()=>o,[o]),{arm:a,abandon:o}}var LUn=15e3;function bk(e,t,r){let[n,i]=(0,K1.useState)(!1),[o,a]=(0,K1.useState)(null),s=(0,K1.useRef)(void 0),{arm:l,abandon:u}=upr(n,t,()=>{clearTimeout(s.current),r?.(),globalThis.location.reload()});(0,K1.useEffect)(()=>()=>clearTimeout(s.current),[]);let f=(0,K1.useCallback)(async h=>{i(!0),l(),s.current=setTimeout(()=>{u(),i(!1),a("Web server did not come back")},LUn);try{if(!(await vk(h)).ok)throw new Error("restart failed")}catch{u(),clearTimeout(s.current),i(!1),a("Failed to restart web server")}},[l,u]),d=(0,K1.useCallback)(()=>f(e),[f,e]);return{pending:n,error:o,clearError:()=>a(null),restart:d,restartTo:f}}function bge(e){return e.local&&(e.status?.restart.includes("webserver")??!1)}async function xge(e,t){try{let r=await fetch(tn("/api/updates",t?void 0:e)),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:r instanceof Error?r.message:"Failed to load update state"}}}var MUn=2e3,IUn=9e4,DUn=e=>new Promise(t=>setTimeout(t,e));async function fpr(e,t){let r=Date.now()+IUn;for(;Date.now()<r;){await DUn(MUn);let n=await xge(e.name,e.local),i=n.status;if(i?.daemonReachable&&!t.some(o=>i.restart.includes(o)))return n}}async function dpr(e,t,r){let n;try{n=await vk(t,e.local?void 0:e.name)}catch{}if(!n?.ok)throw new Error(await oB(n));let i=await fpr(e,r);if(!i?.status)throw new Error(`${e.name} did not come back`);return i.status.running}async function hpr(e,t,r){try{let n=await dpr(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 ppr(e){return e.length>1?"both":e[0]}function mpr(e,t,r){let n=bk("webserver",e),i=(0,F$e.useCallback)(async a=>{let s=ppr(a.status?.restart??[]);if(s){if(t.mark(a.name,"Restarting"),bge(a))return n.restartTo(s);await hpr(a,s,t),t.mark(a.name),r()}},[n,t,r]),o=(0,F$e.useCallback)(async a=>{let s=a.filter(l=>yk(l).kind==="ready");await Promise.all(s.filter(l=>!bge(l)).map(l=>i(l)));for(let l of s.filter(bge))await i(l)},[i]);return{restart:i,restartReady:o,localError:n.error,clearLocalError:n.clearError}}var sB=P(ge(),1);function gpr(){let[e,t]=(0,sB.useState)(null),[r,n]=(0,sB.useState)(null),[i,o]=(0,sB.useState)({}),a=(0,sB.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 vpr(e,t){let{refresh:r}=Z9(),n=gpr(),i=mpr(e,n,r),o=lpr(n,r),a=WP(t),s=(0,ypr.useCallback)(l=>{let u=l.status?.loop.escalationId;u&&a(l.local?u:opr(l.name,u))},[a]);return{...i,...o,openFix:s,notices:n}}var i0=P(z(),1);function bpr({reconnecting:e,selectSession:t}){let{entries:r,loading:n}=Z9(),i=vpr(e,t),{notices:o}=i;return(0,i0.jsxs)(zl,{loading:n,header:(0,i0.jsxs)(le,{sx:{display:"flex",alignItems:"flex-end",gap:2,flexWrap:"wrap",mb:3},children:[(0,i0.jsxs)(le,{sx:{flex:"1 1 auto"},children:[(0,i0.jsx)(Oe,{variant:"h5",component:"h1",children:"Updates"}),(0,i0.jsx)(Oe,{variant:"body2",color:"text.secondary",children:ipr(r)})]}),(0,i0.jsx)(npr,{entries:r,actions:i})]}),children:[(0,i0.jsx)(an,{variant:"outlined",component:"section","aria-label":"Nodes",children:r.map(a=>(0,i0.jsx)(tpr,{entry:a,actions:i},a.name))}),(0,i0.jsx)(oY,{notices:{...o,error:o.error??i.localError,clearError:()=>{o.clearError(),i.clearLocalError()}}})]})}var smr=P(ge(),1);var lB=P(ge(),1);function Tge(e,t){let r=(0,lB.useRef)(null),[n,i]=(0,lB.useState)();return(0,lB.useLayoutEffect)(()=>{e===t&&r.current&&i(r.current.offsetHeight)},[e,t]),{ref:r,height:n}}var Tpr=P(ge(),1);function Sge(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 Cge(e){let t=o=>o.startsWith("local:"),r=o=>{let a=Sge(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,Sge(o));continue}let a=r(o),s=(n.get(a)??0)>1;i.set(o,s?Sge(o):a)}return i}var lY={field:"lastPhase",direction:"desc"};var cY="all",uY="all";async function xpr(e,t,r){let n=new URLSearchParams({page:String(e),pageSize:String(t)});r.origin!==cY&&n.set("origin",r.origin),r.status!==uY&&n.set("status",r.status),r.sort.field!==lY.field&&n.set("sort",r.sort.field),r.sort.direction!==lY.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 fY=P(z(),1);function Spr({origins:e,origin:t,onChange:r}){let n=(0,Tpr.useMemo)(()=>Cge(e.map(o=>o.origin)),[e]),i=e.reduce((o,a)=>o+a.count,0);return(0,fY.jsxs)(Yn,{select:!0,size:"small",label:"Repo",value:t,onChange:o=>r(o.target.value),sx:{minWidth:220},children:[(0,fY.jsx)(fn,{value:cY,children:`All repos (${i})`}),e.map(o=>(0,fY.jsx)(fn,{value:o.origin,children:`${n.get(o.origin)??o.origin} (${o.count})`},o.origin))]})}var $$e=P(z(),1),NUn=[{value:uY,label:"All"},{value:"done",label:"Done"},{value:"running",label:"Running"}];function Cpr({status:e,onChange:t}){return(0,$$e.jsx)(du,{size:"small",exclusive:!0,value:e,onChange:(r,n)=>n&&t(n),"aria-label":"Filter items by status",children:NUn.map(r=>(0,$$e.jsx)(hs,{value:r.value,children:r.label},r.value))})}var cB=P(z(),1),OUn={display:"flex",alignItems:"center",gap:2,flexWrap:"wrap",mb:2},BUn="Repos show their bare name, or org/repo when two share one. Totals sum every phase's recorded usage.";function wpr({origins:e,origin:t,onOriginChange:r,status:n,onStatusChange:i}){return(0,cB.jsxs)(le,{sx:OUn,children:[(0,cB.jsx)(Cpr,{status:n,onChange:i}),(0,cB.jsx)(Spr,{origins:e,origin:t,onChange:r}),(0,cB.jsx)(Oe,{variant:"caption",color:"text.disabled",children:BUn})]})}var Opr=P(ge(),1);function Hd(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}M`}function o0(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 kge=P(z(),1),FUn={whiteSpace:"nowrap",fontVariantNumeric:"tabular-nums"},kpr={display:"block",fontSize:"0.75rem",color:"text.disabled",whiteSpace:"nowrap"},$Un={...kpr,fontStyle:"italic"};function wge({total:e,perPhase:t,partial:r}){return(0,kge.jsxs)(kn,{align:"right",sx:FUn,children:[e,t?(0,kge.jsx)(Oe,{component:"span",sx:r?$Un:kpr,children:t}):null]})}var dY=P(z(),1),zUn={width:"100%",maxWidth:0},HUn={display:"block",fontWeight:500,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},UUn={display:"block",mt:"2px",fontSize:"0.75rem",color:"text.secondary",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};function _pr({id:e,name:t,type:r,repoLabel:n}){return(0,dY.jsxs)(kn,{sx:zUn,children:[(0,dY.jsx)(xn,{component:ys,to:zT(e),underline:"hover",color:"text.primary",title:t,sx:HUn,children:t}),(0,dY.jsxs)(Oe,{component:"span",sx:UUn,children:[so(e)," \xB7 ",r," \xB7 ",n]})]})}function Epr(e){let t=Math.max(1,e.recordedPhases);return{active:`${o0(e.activeMs/t)} / phase`,tokens:`${Hd(Math.round((e.tokensUp+e.tokensDown)/t))} / phase`}}function Rpr(e){if(!(e.status==="done"||e.recordedPhases>e.phaseCount))return`${e.recordedPhases} of ${e.phaseCount} phases`}var _ge={story:"info",bug:"error"},Ege={todo:"default","in-progress":"warning",done:"success",wontdo:"error"};var WUn=new Set(["done","wontdo"]);function Apr(e){return WUn.has(e)?{label:e,color:Ege[e]}:{label:"running",color:"warning"}}var z$e=P(z(),1),VUn={height:20,fontSize:"0.6875rem"};function Ppr({status:e}){let t=Apr(e);return(0,z$e.jsx)(kn,{children:(0,z$e.jsx)(sn,{label:t.label,size:"small",variant:"outlined",color:t.color,sx:VUn})})}var a0=P(z(),1),Lpr={whiteSpace:"nowrap",fontVariantNumeric:"tabular-nums"};function Mpr({row:e,repoLabel:t}){let r=Epr(e);return(0,a0.jsxs)(ju,{hover:!0,children:[(0,a0.jsx)(_pr,{id:e.id,name:e.name,type:e.type,repoLabel:t}),(0,a0.jsx)(Ppr,{status:e.status}),(0,a0.jsx)(wge,{total:String(e.phaseCount||e.recordedPhases),perPhase:Rpr(e),partial:!0}),(0,a0.jsx)(wge,{total:o0(e.activeMs),perPhase:r.active}),(0,a0.jsx)(wge,{total:`\u2191 ${Hd(e.tokensUp)} \u2193 ${Hd(e.tokensDown)}`,perPhase:r.tokens}),(0,a0.jsx)(kn,{align:"right",sx:Lpr,children:(0,a0.jsxs)(le,{component:"span",sx:{color:oee(e.peakContextPct)},children:[Math.round(e.peakContextPct),"%"]})}),(0,a0.jsx)(kn,{align:"right",sx:Lpr,children:e.lastPhaseAt?Do(e.lastPhaseAt):"\u2014"})]})}var Ipr=[{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 Hm=P(z(),1),GUn={"& th":{whiteSpace:"nowrap"}};function Dpr({column:e}){return e.tooltip?(0,Hm.jsx)(lr,{title:e.tooltip,describeChild:!0,children:(0,Hm.jsx)("span",{children:e.label})}):(0,Hm.jsx)(Hm.Fragment,{children:e.label})}function Npr({sort:e,onSort:t}){return(0,Hm.jsx)($_,{sx:GUn,children:(0,Hm.jsx)(ju,{children:Ipr.map(r=>{let n=r.sort,i=n!==void 0&&e.field===n;return(0,Hm.jsx)(kn,{align:r.numeric?"right":"left",sortDirection:i?e.direction:!1,children:n===void 0?(0,Hm.jsx)(Dpr,{column:r}):(0,Hm.jsx)(_ve,{active:i,direction:i?e.direction:"desc",onClick:()=>t(n),children:(0,Hm.jsx)(Dpr,{column:r})})},r.label)})})})}var vR=P(z(),1),qUn={"& td, & th":{px:1.5}};function Bpr({rows:e,origins:t,sort:r,onSort:n}){let i=(0,Opr.useMemo)(()=>Cge([...t,...e.map(o=>o.origin)]),[t,e]);return(0,vR.jsx)(F_,{component:an,children:(0,vR.jsxs)(Pv,{size:"small",sx:qUn,children:[(0,vR.jsx)(Npr,{sort:r,onSort:n}),(0,vR.jsx)(Lv,{children:e.map(o=>(0,vR.jsx)(Mpr,{row:o,repoLabel:i.get(o.origin)??o.origin},o.id))})]})})}function Fpr(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:o0(e.medianActiveMs),activeFoot:`${o0(e.medianActiveMs/t)} per phase`,tokens:Hd(Math.round(e.medianTokens)),tokensFoot:`${Hd(Math.round(e.medianTokens/t))} per phase`}}var uB=P(z(),1),$pr={display:"block"},jUn={fontWeight:400,fontVariantNumeric:"tabular-nums"};function hY({label:e,value:t,foot:r}){return(0,uB.jsxs)(le,{children:[(0,uB.jsx)(Oe,{variant:"caption",color:"text.secondary",sx:$pr,children:e}),(0,uB.jsx)(Oe,{variant:"h5",sx:jUn,children:t}),r?(0,uB.jsx)(Oe,{variant:"caption",color:"text.disabled",sx:$pr,children:r}):null]})}var bR=P(z(),1),YUn={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 zpr({summary:e}){let t=Fpr(e);return(0,bR.jsxs)(an,{sx:YUn,children:[(0,bR.jsx)(hY,{label:"Items with recorded usage",value:t.items,foot:t.itemsFoot}),(0,bR.jsx)(hY,{label:"Median phases",value:t.phases}),(0,bR.jsx)(hY,{label:"Median active time",value:t.active,foot:t.activeFoot}),(0,bR.jsx)(hY,{label:"Median tokens",value:t.tokens,foot:t.tokensFoot})]})}var ip=P(z(),1);function Hpr({items:e,data:t}){let{rows:r,total:n,page:i,pageSize:o}=e,{ref:a,height:s}=Tge(r.length,o);return(0,ip.jsxs)(ip.Fragment,{children:[(0,ip.jsx)(zpr,{summary:t.summary}),(0,ip.jsx)(wpr,{origins:t.origins,origin:e.origin,onOriginChange:e.selectOrigin,status:e.status,onStatusChange:e.selectStatus}),n===0?(0,ip.jsx)(Oe,{color:"text.secondary",align:"center",sx:{py:6},children:"No items match this filter."}):(0,ip.jsxs)(ip.Fragment,{children:[(0,ip.jsx)(le,{ref:a,sx:{minHeight:s},children:(0,ip.jsx)(Bpr,{rows:r,origins:t.origins.map(l=>l.origin),sort:e.sort,onSort:e.sortBy})}),(0,ip.jsx)(p$,{component:"div",count:n,page:i,rowsPerPage:o,rowsPerPageOptions:[o],onPageChange:(l,u)=>e.setPage(u)})]})]})}var R2=P(z(),1);function Upr({items:e}){let{data:t}=e;return(0,R2.jsxs)(R2.Fragment,{children:[(0,R2.jsx)(le,{sx:{height:4,mb:1},children:e.fetching&&(0,R2.jsx)(B_,{})}),t?t.origins.length===0?(0,R2.jsx)(Oe,{color:"text.secondary",align:"center",sx:{py:6},children:"No item usage recorded yet."}):(0,R2.jsx)(Hpr,{items:e,data:t}):null]})}function H$e(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 Rge(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 KUn(e,t,r,n){let i=H$e(t,r,n);if(i!=null)return e/i}function xk(e,t,r,n){let i=KUn(e,t,r,n);return i==null?"ok":i>100?"over":i>75?"warn":"ok"}var XUn=["five_hour","seven_day"],ZUn=["claude","codex","pi"];function Wpr(e){let[t,r]=e.includes(":")?e.split(":",2):["claude",e],n=ZUn.find(o=>o===t),i=XUn.find(o=>o===r);if(!(!n||!i)&&!(n==="claude"&&e.includes(":")))return{harness:n,window:i}}var Vpr={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 fB(e){let t=Wpr(e);if(!t)return Vpr.five_hour;let r=Vpr[t.window];return t.harness==="claude"?r:{...r,label:`${gu(t.harness)} ${r.label}`}}var QUn={ok:"success.main",warn:"warning.main",over:"error.main"};function Tk(e){return QUn[e]}var gY=P(z(),1),JUn={ok:"success",warn:"warning",over:"error"};function Gpr({percentage:e,level:t}){return(0,gY.jsxs)(le,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,gY.jsx)(B_,{variant:"determinate",value:Math.min(100,e),color:JUn[t],sx:{flexGrow:1,height:8,borderRadius:1}}),(0,gY.jsxs)(le,{sx:{minWidth:40,textAlign:"right",color:Tk(t)},children:[Math.round(e),"%"]})]})}function qpr(e){return e.avgContextPct==null?"\u2014":`${Math.round(e.avgContextPct)}%`}var eWn=new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"});function U$e(e){return eWn.format(e)}var Age=P(z(),1);function jpr({peak:e}){return(0,Age.jsx)(kn,{align:"right",sx:{whiteSpace:"nowrap"},children:(0,Age.jsx)(lr,{title:`Cycle started ${U$e(new Date(e.createdAt))}`,children:(0,Age.jsx)("span",{children:U$e(new Date(e.resetsAt*1e3))})})})}var Kpr=P(z(),1);function Ypr(){return(0,Kpr.jsx)(sn,{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 Xpr(e){return!e.tokensUp&&!e.tokensDown?"\u2014":`\u2191 ${Hd(e.tokensUp)} \u2193 ${Hd(e.tokensDown)}`}var s0=P(z(),1);function Zpr({peak:e,now:t}){let{label:r,seconds:n,tint:i}=fB(e.window),o=xk(e.usedPercentage,e.resetsAt,n,t);return(0,s0.jsxs)(ju,{sx:a=>({backgroundColor:i?a.palette.mode==="dark"?i.dark:i.light:void 0}),children:[(0,s0.jsxs)(kn,{children:[r,e.resetDetected&&(0,s0.jsx)(Ypr,{})]}),(0,s0.jsx)(kn,{sx:{minWidth:160},children:(0,s0.jsx)(Gpr,{percentage:e.usedPercentage,level:o})}),(0,s0.jsx)(kn,{align:"right",sx:{whiteSpace:"nowrap"},children:qpr(e)}),(0,s0.jsx)(kn,{align:"right",sx:{whiteSpace:"nowrap"},children:e.phaseCount??0}),(0,s0.jsx)(kn,{align:"right",sx:{whiteSpace:"nowrap"},children:Xpr(e)}),(0,s0.jsx)(jpr,{peak:e})]})}var Pge=P(ge(),1);function Sk(e){let[t,r]=(0,Pge.useState)(()=>Math.floor(Date.now()/1e3));return(0,Pge.useEffect)(()=>{let n=setInterval(()=>r(Math.floor(Date.now()/1e3)),e);return()=>clearInterval(n)},[e]),t}var pc=P(z(),1);function Qpr({peaks:e}){let t=Sk(3e4);return(0,pc.jsx)(F_,{component:an,children:(0,pc.jsxs)(Pv,{size:"small",children:[(0,pc.jsx)($_,{sx:{"& th":{whiteSpace:"nowrap"}},children:(0,pc.jsxs)(ju,{children:[(0,pc.jsx)(kn,{children:"Window"}),(0,pc.jsx)(kn,{children:"Peak usage"}),(0,pc.jsx)(kn,{align:"right",children:(0,pc.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,pc.jsx)("span",{children:"Avg context"})})}),(0,pc.jsx)(kn,{align:"right",children:(0,pc.jsx)(lr,{title:"Number of phase readings behind the average.",children:(0,pc.jsx)("span",{children:"Phases"})})}),(0,pc.jsx)(kn,{align:"right",children:"Tokens spent"}),(0,pc.jsx)(kn,{align:"right",children:"Cycle reset"})]})}),(0,pc.jsx)(Lv,{children:e.map(r=>(0,pc.jsx)(Zpr,{peak:r,now:t},`${r.window}-${r.resetsAt}-${r.segment}`))})]})})}var Ck=P(z(),1);function Jpr({rows:e,total:t,page:r,pageSize:n,onPageChange:i}){let{ref:o,height:a}=Tge(e.length,n);return(0,Ck.jsxs)(Ck.Fragment,{children:[(0,Ck.jsx)(le,{ref:o,sx:{minHeight:a},children:(0,Ck.jsx)(Qpr,{peaks:e})}),(0,Ck.jsx)(p$,{component:"div",count:t,page:r,rowsPerPage:n,rowsPerPageOptions:[n],onPageChange:(s,l)=>i(l)})]})}var yY=P(ge(),1);function wk(){let[e,t]=(0,yY.useState)(!1),[r,n]=(0,yY.useState)(!1);return(0,yY.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 W$e=P(z(),1),emr=["five_hour","seven_day"],tWn=["codex:five_hour","codex:seven_day"];function rWn(e){let t=e?[...emr,...tWn]:emr;return[{value:"all",label:"All"},...t.map(r=>({value:r,label:fB(r).label}))]}function tmr({window:e,onChange:t}){let{exposeCodexActions:r}=wk();return(0,W$e.jsx)(du,{size:"small",exclusive:!0,value:e,onChange:(n,i)=>i&&t(i),"aria-label":"Filter peaks by rate-limit window",children:rWn(r).map(n=>(0,W$e.jsx)(hs,{value:n.value,children:n.label},n.value))})}var X1=P(z(),1);function rmr({history:e}){let{window:t,total:r}=e;return(0,X1.jsxs)(X1.Fragment,{children:[(0,X1.jsx)(tmr,{window:t,onChange:e.selectWindow}),(0,X1.jsx)(le,{sx:{height:4,my:1},children:e.fetching&&(0,X1.jsx)(B_,{})}),r===0?(0,X1.jsx)(Oe,{color:"text.secondary",align:"center",sx:{py:6},children:t==="all"?"No usage peaks recorded yet.":`No ${fB(t).label} usage peaks recorded yet.`}):(0,X1.jsx)(Jpr,{rows:e.rows,total:r,page:e.page,pageSize:e.pageSize,onPageChange:e.setPage})]})}var Mge=P(ge(),1);async function nmr(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 kk=P(ge(),1);function Lge(e,t,r=!0){let[n,i]=(0,kk.useState)(0),[o,a]=(0,kk.useState)(null),[s,l]=(0,kk.useState)(!1),[u,f]=(0,kk.useState)(null);(0,kk.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,kk.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 nWn=30;function imr(){let[e,t]=(0,Mge.useState)("all"),r=(0,Mge.useCallback)((o,a)=>nmr(o,a,e),[e]),n=Lge(r,nWn);return{...n,window:e,selectWindow:o=>{t(o),n.setPage(0)}}}var dB=P(ge(),1);function omr(e,t){return e.field!==t?{field:t,direction:"desc"}:{field:t,direction:e.direction==="desc"?"asc":"desc"}}var iWn=30;function amr(e){let[t,r]=(0,dB.useState)(cY),[n,i]=(0,dB.useState)(uY),[o,a]=(0,dB.useState)(lY),s=(0,dB.useCallback)((h,p)=>xpr(h,p,{origin:t,status:n,sort:o}),[t,n,o]),l=Lge(s,iWn,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=>omr(p,h)),l.setPage(0)}}}var _k=P(z(),1),oWn={borderBottom:1,borderColor:"divider",mb:2};function lmr(){let[e,t]=(0,smr.useState)("limits"),r=imr(),n=amr(e==="items");if(r.error)throw r.error;if(n.error)throw n.error;return(0,_k.jsxs)(zl,{loading:!r.loaded,title:"Usage history",maxWidth:"lg",children:[(0,_k.jsxs)(H_,{value:e,onChange:(i,o)=>t(o),textColor:"inherit",indicatorColor:"secondary",sx:oWn,"aria-label":"Usage history views",children:[(0,_k.jsx)(Av,{label:"Rate limits",value:"limits"}),(0,_k.jsx)(Av,{label:"Items",value:"items"})]}),e==="limits"?(0,_k.jsx)(rmr,{history:r}):(0,_k.jsx)(Upr,{items:n})]})}var Ige=P(ge(),1),V$e=(0,Ige.createContext)([]);function Dge(){return(0,Ige.useContext)(V$e)}var mgr=P(ge(),1);function as(){let{selectedCwd:e}=$n();return e||void 0}var A2=P(ge(),1);var umr=P(ge(),1);var aWn=new Set(["todo","done","all"]);function cmr(e){return e&&aWn.has(e)?e:"todo"}var fmr="backlog-filter",G$e=new Set,dmr=sWn();function sWn(){try{return cmr(localStorage.getItem(fmr))}catch{return"todo"}}function lWn(e){return G$e.add(e),()=>G$e.delete(e)}function cWn(){return dmr}function uWn(e){dmr=e;try{localStorage.setItem(fmr,e)}catch{}for(let t of G$e)t()}function hB(){return[(0,umr.useSyncExternalStore)(lWn,cWn),uWn]}function hmr(){let e=as(),t=yr(),[r]=hB(),[n,i]=(0,A2.useState)(""),[o,a]=(0,A2.useState)(null),[s,l]=(0,A2.useState)(!1),[u,f]=(0,A2.useState)(e),d=(0,A2.useRef)(void 0);return e!==u&&(f(e),a(null),l(n.trim().length>0)),(0,A2.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 UT({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 ymr={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}},fWn={"&::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"}},pmr={position:"relative",zIndex:2},mmr=8,q$e=24,dWn=wa`
3974
3974
  from { background-position: 0 0; }
3975
3975
  to { background-position: 0 ${q$e}px; }
3976
- `,vmr={...ymr,borderColor:"warning.main",borderLeft:4,borderLeftColor:"warning.main",bgcolor:e=>Ea(e.palette.warning.main,.08)},hWn={...vmr,borderLeftColor:"transparent",backgroundImage:e=>`repeating-linear-gradient(to bottom, ${e.palette.warning.main} 0 ${mmr}px, transparent ${mmr}px ${q$e}px)`,backgroundOrigin:"border-box",backgroundRepeat:"repeat-y",backgroundSize:`4px ${q$e}px`,animation:`${dWn} 0.9s linear infinite`,"@media (prefers-reduced-motion: reduce)":{animation:"none"}},gmr={"& .MuiButtonBase-root:focus-visible":{outline:"2px solid",outlineColor:"primary.main",outlineOffset:"2px"}},Z1={card:ymr,inProgressCard:vmr,inProgressRunningCard:hWn,main:{minWidth:0,textAlign:"left"},stretchedNameLink:{display:"block",fontWeight:500,color:"text.primary",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",...fWn},meta:{display:"flex",alignItems:"center",gap:1,...pmr,width:"fit-content",maxWidth:"100%",fontSize:"0.75rem",color:"text.secondary","& a, & p":{fontSize:"0.75rem"},...gmr},id:{color:"text.disabled"},actions:{display:"flex",alignItems:"center",gap:1,flexShrink:0,...pmr,...gmr}};function Nge(e){let t=e.peakContextPct>0?` \xB7 \u2593 ${Math.round(e.peakContextPct)}%`:"";return`\u2191 ${Hd(e.tokensUp)} \u2193 ${Hd(e.tokensDown)} \xB7 \u23F1 ${o0(e.activeMs)}${t}`}var xmr=P(z(),1),pWn={width:6,height:6,borderRadius:"50%",bgcolor:"currentColor",flexShrink:0};function bmr(){return(0,xmr.jsx)(le,{component:"span",sx:pWn})}var vY=P(z(),1),Tmr={display:"inline-flex",alignItems:"center",gap:.625,color:"warning.main",fontWeight:500,fontSize:"0.75rem",whiteSpace:"nowrap",borderRadius:1};function Smr({item:e,openSession:t,onSelectSession:r}){let n=Xi();if(e.status!=="in-progress"||e.currentPhase==null)return null;let i=`phase ${e.currentPhase} of ${e.totalPhases??e.currentPhase}`,o=(0,vY.jsx)(bmr,{});if(!t)return(0,vY.jsxs)(le,{component:"span",sx:Tmr,children:[o,i]});let a=()=>{r?.(t.id),n("/sessions")};return(0,vY.jsxs)(Dn,{sx:Tmr,title:`Open the ${t.status} session`,onClick:a,children:[o,i]})}var op=P(z(),1),mWn={display:"inline-flex",alignItems:"center",gap:.5},gWn={width:8,height:8,borderRadius:"50%",flexShrink:0},yWn={whiteSpace:"nowrap"};function vWn({type:e}){let t=_ge[e];return(0,op.jsxs)(le,{component:"span",sx:mWn,children:[(0,op.jsx)(le,{component:"span",sx:{...gWn,bgcolor:`${t}.main`}}),e]})}function bWn({item:e}){return e.usageTotal?(0,op.jsx)(lr,{title:Nge(e.usageTotal),children:(0,op.jsx)(le,{component:"span",sx:yWn,children:`\u23F1 ${o0(e.usageTotal.activeMs)}`})}):null}function Cmr({item:e,openSession:t,onSelectSession:r}){return(0,op.jsxs)(le,{sx:Z1.meta,children:[(0,op.jsx)(le,{component:"span",sx:Z1.id,children:so(e.id)}),(0,op.jsx)(vWn,{type:e.type}),(0,op.jsx)(Smr,{item:e,openSession:t,onSelectSession:r}),(0,op.jsx)(hP,{jiraKey:e.jiraKey}),(0,op.jsx)(dP,{githubIssue:e.githubIssue,variant:"icon"}),(0,op.jsx)(bWn,{item:e})]})}function wmr(e,t){return e.filter(r=>AP(r)?.itemId===t).reduce((r,n)=>r&&r.startedAt>=n.startedAt?r:n,void 0)}var _mr=P(z(),1),xWn={todo:"\u25CB","in-progress":"\u25D4",done:"\u25CF",wontdo:"\u2715"},TWn={todo:"text.disabled","in-progress":"warning.main",done:"success.main",wontdo:"error.main"};function SWn(e){return{fontSize:"1.125rem",flexShrink:0,color:TWn[e]}}function kmr({status:e}){return(0,_mr.jsx)(Oe,{sx:SWn(e),children:xWn[e]})}function Oge(e){return e.status==="todo"||e.status==="in-progress"}function CWn(e){if(e.status==="done")return e.totalPhases;if(e.status==="in-progress")return e.currentPhase}function wWn(e,t,r){return r?"complete":e<t?"done":e===t?"current":"remaining"}function Emr(e){let t=e.totalPhases,r=CWn(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:wWn(o+1,r,n)}))}}var pB=P(z(),1),kWn={done:"text.secondary",current:"warning.main",remaining:"divider",complete:"success.main"},_Wn={display:"inline-flex",alignItems:"center",gap:.5,flexShrink:0},EWn={fontSize:"0.6875rem",color:"text.secondary",fontVariantNumeric:"tabular-nums"},RWn={display:"inline-flex",alignItems:"center",gap:"2px"},AWn={width:6,height:12,borderRadius:"1px",flexShrink:0};function Rmr({item:e}){let t=Emr(e);return t?(0,pB.jsxs)(le,{sx:_Wn,title:`Phase ${t.reached} of ${t.total}`,children:[(0,pB.jsx)(le,{component:"span",sx:EWn,children:`${t.reached}/${t.total}`}),(0,pB.jsx)(le,{component:"span",sx:RWn,"aria-hidden":!0,children:t.segments.map(r=>(0,pB.jsx)(le,{component:"span","data-segment":r.kind,sx:{...AWn,bgcolor:kWn[r.kind]}},r.phase))})]}):null}var Ymr=P(ge(),1);var $ge=P(ge(),1);var bY=P(z(),1);function Amr({tooltip:e,disabled:t,onClick:r}){return(0,bY.jsx)(lr,{title:e,children:(0,bY.jsx)(le,{component:"span",sx:{display:"flex"},children:(0,bY.jsx)(qt,{startIcon:(0,bY.jsx)(Fp,{}),disabled:t,onClick:r,children:"Build"})})})}var j$e=P(z(),1);function Bge(e){let t=[];return e.exposeCodexActions&&t.push({kind:"codex",label:"with Codex"}),e.exposePiActions&&t.push({kind:"pi",label:"with pi"}),t}function Fge({anchorEl:e,open:t,onClose:r,options:n,onSelect:i,stop:o}){return(0,j$e.jsx)(Dl,{anchorEl:e,open:t,onClose:r,onClick:o,children:n.map(a=>(0,j$e.jsx)(fn,{onClick:s=>{o(s),i(a.kind)},children:a.label},a.kind))})}var Q1=P(z(),1);function Pmr({tooltip:e,disabled:t,onBuild:r,onSelectHarness:n}){let i=Bge(wk()),o=(0,$ge.useRef)(null),[a,s]=(0,$ge.useState)(!1),l=u=>u.stopPropagation();return(0,Q1.jsxs)(Q1.Fragment,{children:[(0,Q1.jsxs)(tT,{ref:o,variant:"contained",color:"success",size:"small",disabled:t,children:[(0,Q1.jsx)(Amr,{tooltip:e,disabled:t,onClick:u=>{l(u),r()}}),i.length>0&&(0,Q1.jsx)(qt,{"aria-label":"Build with a different harness",onClick:u=>{l(u),s(!0)},children:(0,Q1.jsx)(Up,{})})]}),(0,Q1.jsx)(Fge,{anchorEl:o.current,open:a,onClose:()=>s(!1),options:i,onSelect:u=>{s(!1),n(u)},stop:l})]})}var Lmr=P(z(),1),mB=ut((0,Lmr.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 Ek=P(z(),1),PWn={vertical:"bottom",horizontal:"center"};function zge({clone:e}){let{prompt:t,confirm:r,cancel:n,error:i,dismissError:o}=e;return(0,Ek.jsxs)(Ek.Fragment,{children:[t&&(0,Ek.jsx)(vo,{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,Ek.jsx)(ol,{open:!!i,autoHideDuration:8e3,onClose:o,anchorOrigin:PWn,children:(0,Ek.jsx)(ni,{severity:"error",onClose:o,variant:"filled",children:i})})]})}var l0=P(ge(),1);function Y$e(e){return["backlog","clone",e]}function Hge(e,t){t(Y$e(e.origin),void 0,{title:`Clone ${e.displayName}`,subtitle:e.origin,...e.node&&{node:e.node}})}function Mmr(e,t){return!!e&&e.length===t.length&&e.every((r,n)=>r===t[n])}function Imr(e,t,r){let n=Y$e(t.origin),i=new Set(e.filter(o=>Mmr(o.assistArgs,n)).map(o=>o.id));return Hge(t,r),{args:n,target:t.cloneTarget,node:t.node,preexisting:i}}function Dmr(e,t){if(!t.id){let n=e.find(i=>Mmr(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 Uge(e){let{setSelectedCwd:t}=$n(),{launchAssist:r}=$l(),[n,i]=(0,l0.useState)(null),[o,a]=(0,l0.useState)(null),[s,l]=(0,l0.useState)(null),u=(0,l0.useCallback)(p=>{l(null),i(p)},[]),f=(0,l0.useCallback)(()=>i(null),[]),d=(0,l0.useCallback)(()=>l(null),[]),h=(0,l0.useCallback)(()=>{n&&(a(Imr(e,n,r)),i(null))},[n,e,r]);return(0,l0.useEffect)(()=>{if(!o)return;let p=Dmr(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 gB(e,t){return`Not cloned ${e?`on ${e}`:"locally"} \u2014 click to clone into ${t}`}var P2=P(z(),1),LWn={border:1,borderStyle:"dashed"};function Nmr({target:e}){let t=Uge(Dge());return(0,P2.jsxs)(P2.Fragment,{children:[(0,P2.jsx)(lr,{title:gB(e.node,e.cloneTarget),children:(0,P2.jsx)(ir,{"aria-label":"Clone",size:"small",sx:LWn,onClick:r=>{r.stopPropagation(),t.requestClone(e)},children:(0,P2.jsx)(mB,{fontSize:"small"})})}),(0,P2.jsx)(zge,{clone:t})]})}function Omr(e,t,r,n){let i=r.node?[{node:r.node}]:[];e(["backlog","run",so(t),...n],r.cwd,...i)}var xY=P(z(),1);function Bmr({tooltip:e,disabled:t,onClick:r}){return(0,xY.jsx)(lr,{title:e,children:(0,xY.jsx)("span",{children:(0,xY.jsx)(ir,{"aria-label":"Build",color:"success",size:"small",disabled:t,onClick:r,children:(0,xY.jsx)(Fp,{})})})})}function MWn(e,t){let r=e.assistArgs;if(r?.[0]!=="backlog"||r[1]!=="run"||!r[2])return!1;try{return _J(r[2])===t}catch{return!1}}function Fmr(e,t){return e.find(r=>r.status!=="done"&&r.status!=="error"&&(MWn(r,t)||AP(r)?.itemId===t))}var Wge=P(ge(),1),K$e=(0,Wge.createContext)({nodes:null,names:[],visible:!1,selected:void 0,select:()=>{}});function Bu(){return(0,Wge.useContext)(K$e)}function Vge(){let{nodes:e,selected:t}=Bu();return t&&t!==e?.local?t:void 0}var Hmr=P(ge(),1);var Gge=P(ge(),1);function $mr(e,t){return Promise.all(t.map(async r=>{let n=await IWn(e,r).catch(()=>({}));return[r,n]}))}async function IWn(e,t){let r=await fetch(tn(`/api/repo-location?origin=${encodeURIComponent(e)}`,t||void 0));return r.ok?r.json():{}}var X$e="\0";function zmr(e,t){let[r,n]=(0,Gge.useState)(null);return(0,Gge.useEffect)(()=>{if(!e||!t)return;let i=!1;return $mr(e,t.split(X$e)).then(o=>{i||n({origin:e,byNode:Object.fromEntries(o)})}),()=>{i=!0}},[e,t]),r}function qge(e,t){let{cloneOn:r,originOf:n}=$n(),i=e?n(e):void 0,o=t.filter(s=>!e||!r(e,s)).map(s=>s??"").join(X$e),a=zmr(i,o);return(0,Hmr.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 vB=P(ge(),1);var Umr=P(z(),1);function yB({inputRef:e,value:t,onChange:r,onKeyDown:n,placeholder:i,autoFocus:o}){return(0,Umr.jsx)(Yn,{autoFocus:o,inputRef:e,value:t,onChange:a=>r(a.target.value),onKeyDown:n,placeholder:i,size:"small",fullWidth:!0,slotProps:{input:{sx:{fontSize:12}}},sx:{p:.5}})}var jge=P(ge(),1);function Yge(e){let t=(0,jge.useRef)(null);return(0,jge.useEffect)(()=>{e&&t.current?.scrollIntoView({block:"nearest"})},[e]),t}var Vmr=P(z(),1);function Wmr({cwd:e,selected:t,highlighted:r,onHover:n,onSelect:i}){let o=Yge(r);return(0,Vmr.jsx)(fn,{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:J1(e)})}var Z$e=P(z(),1);function Kge({repos:e,selected:t,highlight:r,onHighlight:n,onSelect:i}){return(0,Z$e.jsx)(Cp,{dense:!0,children:e.map((o,a)=>(0,Z$e.jsx)(Wmr,{cwd:o,selected:o===t,highlighted:a===r,onHover:()=>n(a),onSelect:()=>i(o)},o))})}var Xge=P(ge(),1);function Rk(e,t,r,n){let[i,o]=(0,Xge.useState)(0);return(0,Xge.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 TY=P(z(),1);function J1(e){let t=e.includes("\\")?"\\":"/";return e.split(t).filter(Boolean).pop()??e}var DWn={...OP};function Gmr({repos:e,selected:t,onSelect:r,close:n}){let[i,o]=(0,vB.useState)(""),a=(0,vB.useRef)(null);(0,vB.useEffect)(()=>{a.current?.focus()},[]);let s=i.trim().toLowerCase(),l=s?e.filter(p=>p.toLowerCase().includes(s)):e,{highlight:u,setHighlight:f,onKeyDown:d}=Rk(l,s,r,n);return(0,TY.jsxs)(an,{elevation:4,sx:DWn,children:[(0,TY.jsx)(yB,{inputRef:a,value:i,onChange:o,onKeyDown:d,placeholder:"Filter repos..."}),(0,TY.jsx)(Kge,{repos:l,selected:t,highlight:u,onHighlight:f,onSelect:p=>{r(p),n()}})]})}function Zge(e,t){return{origin:e.origin,cloneTarget:e.cloneTarget,displayName:J1(e.origin),node:t}}function qmr(){let e=as(),t=Vge(),r=qge(e??"",[t])(t);return e?r.kind==="cloned"?{kind:"ready",cwd:r.cwd,node:t}:r.kind==="clonable"?{kind:"clone",prompt:Zge(r,t)}:{kind:"unavailable",node:t??"this machine"}:{kind:"ready",node:t}}function jmr(e,t){return t?`Not cloned on ${t}`:e?"Already running \u2014 close that session to run it again":"Build"}var Qge=P(z(),1);function Jge({itemId:e,compact:t=!1}){let{launchAssist:r}=$l(),n=qmr(),i=Fmr(Dge(),e),[o,a]=(0,Ymr.useState)(!1);if(n.kind==="clone")return(0,Qge.jsx)(Nmr,{target:n.prompt});let s=n.kind==="unavailable"?n.node:void 0,l=o||i!==void 0||!!s,u=d=>{l||n.kind!=="ready"||(a(!0),Omr(r,e,n,d))},f=jmr(i!==void 0,s);return t?(0,Qge.jsx)(Bmr,{tooltip:f,disabled:l,onClick:d=>{d.stopPropagation(),u([])}}):(0,Qge.jsx)(Pmr,{tooltip:f,disabled:l,onBuild:()=>u([]),onSelectHarness:d=>u(["--harness",d])})}var Kmr=P(ge(),1);var bB=P(z(),1);function Xmr({itemId:e,starred:t,onToggled:r}){let n=as(),i=yr(),[o,a]=(0,Kmr.useState)(!1);return(0,bB.jsx)(lr,{title:t?"Unstar":"Star",children:(0,bB.jsx)("span",{children:(0,bB.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 HJ(e,!t,n,i),await r()}finally{a(!1)}}},children:t?(0,bB.jsx)(qee,{}):(0,bB.jsx)(jee,{})})})})}var Zmr=P(z(),1),Qmr=ut((0,Zmr.jsx)("path",{d:"M22 7h-9v2h9zm0 8h-9v2h9zM5.54 11 2 7.46l1.41-1.41 2.12 2.12 4.24-4.24 1.41 1.41zm0 8L2 15.46l1.41-1.41 2.12 2.12 4.24-4.24 1.41 1.41z"}),"Checklist");var SY=P(z(),1),NWn={display:"inline-flex",alignItems:"center",gap:.375,flexShrink:0,fontSize:"0.71875rem",color:"text.secondary","& svg":{fontSize:14}};function Jmr({count:e}){return e<1?null:(0,SY.jsx)(lr,{title:`${e} incomplete subtask${e===1?"":"s"}`,children:(0,SY.jsxs)(le,{component:"span",sx:NWn,children:[(0,SY.jsx)(Qmr,{}),e]})})}var L2=P(z(),1);function egr({item:e,onReload:t}){return(0,L2.jsxs)(L2.Fragment,{children:[(0,L2.jsx)(Jmr,{count:e.incompleteSubtasks}),(0,L2.jsx)(Rmr,{item:e}),(0,L2.jsx)(Xmr,{itemId:e.id,starred:e.starred,onToggled:t}),Oge(e)&&(0,L2.jsx)(Jge,{itemId:e.id,compact:!0})]})}var M2=P(z(),1);function OWn(e,t){return e?t?Z1.inProgressRunningCard:Z1.inProgressCard:Z1.card}function tgr({item:e,to:t,socket:r,onReload:n}){let i=wmr(r.sessions,e.id),o=e.status==="in-progress",a=o&&i?.status==="running";return(0,M2.jsxs)(le,{sx:OWn(o,a),children:[(0,M2.jsx)(kmr,{status:e.status}),(0,M2.jsxs)(le,{sx:Z1.main,children:[(0,M2.jsx)(xn,{component:ys,to:t,underline:"none",title:e.name,sx:Z1.stretchedNameLink,children:e.name}),(0,M2.jsx)(Cmr,{item:e,openSession:i,onSelectSession:r.selectSession})]}),(0,M2.jsx)(le,{sx:Z1.actions,children:(0,M2.jsx)(egr,{item:e,onReload:n})})]})}var ngr=P(z(),1),BWn={all:"items",story:"stories",bug:"bugs"},FWn={textAlign:"center",color:"text.disabled",py:6,px:2};function rgr({query:e,typeFilter:t}){let r=BWn[t],n=e.trim()?`No ${r} match your search.`:`No ${r} in the backlog.`;return(0,ngr.jsx)(le,{sx:FWn,children:n})}var ev=P(z(),1),$Wn={display:"flex",justifyContent:"center",py:6};function igr({loading:e,error:t,query:r,typeFilter:n,items:i,socket:o,itemPath:a,onReload:s}){if(e)return(0,ev.jsx)(le,{sx:$Wn,children:(0,ev.jsx)(mo,{})});let l=t&&(0,ev.jsx)(ni,{severity:"error",children:t});return i.length===0?l||(0,ev.jsx)(rgr,{query:r,typeFilter:n}):(0,ev.jsxs)(ev.Fragment,{children:[l,i.map(u=>(0,ev.jsx)(tgr,{item:u,to:a(u),socket:o,onReload:s},u.id))]})}var xB=P(ge(),1);function zWn(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 ogr({cwd:e,node:t,knownCwds:r,signal:n}){return(await fetch(Fl(zWn(r),e,t),{signal:n})).json()}function agr(){let{repos:e,selectedCwd:t,cloneOn:r}=$n(),n=Vge(),[i,o]=(0,xB.useState)([]),a=(0,xB.useMemo)(()=>e.map(l=>r(l,n)).filter(l=>!!l),[e,r,n]),s=t?r(t,n):void 0;return(0,xB.useEffect)(()=>{let l=new AbortController;return ogr({cwd:s,node:n,knownCwds:a,signal:l.signal}).then(o).catch(()=>{}),()=>l.abort()},[a,s,n]),{summaries:i,node:n}}var e0e=P(z(),1),HWn={borderStyle:"dashed"};function sgr({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,e0e.jsx)(sn,{label:`${o} (${a})`,size:"small",color:s?"primary":"default",variant:s?"filled":"outlined",disabled:!l&&!f,onClick:d,icon:f?(0,e0e.jsx)(mB,{}):void 0,sx:f?HWn:void 0});return!f||!u?h:(0,e0e.jsx)(lr,{describeChild:!0,title:gB(t,u),children:h})}var CY=P(z(),1),UWn={flexWrap:"wrap",gap:1,mb:2};function lgr({sessions:e}){let{summaries:t,node:r}=agr(),{setSelectedCwd:n}=$n(),i=Uge(e);return t.length===0?null:(0,CY.jsxs)(Rt,{direction:"row",sx:UWn,children:[t.map(o=>(0,CY.jsx)(sgr,{summary:o,node:r,onSelectCwd:a=>r?n(a,r):n(a),onRequestClone:i.requestClone},o.origin)),(0,CY.jsx)(zge,{clone:i})]})}var ugr=P(z(),1);function cgr({value:e,onChange:t}){return(0,ugr.jsx)(Yn,{"data-backlog-focus":"search",fullWidth:!0,size:"small",placeholder:"Search backlog\u2026",value:e,onChange:r=>t(r.target.value),sx:{mb:2}})}var t0e=P(ge(),1);var r0e=P(z(),1);async function WWn(){return(await(await fetch("/api/backups/list")).json())[0]}function fgr(){let[e,t]=(0,t0e.useState)();return(0,t0e.useEffect)(()=>{WWn().then(t)},[]),e?(0,r0e.jsx)(lr,{title:new Date(e.createdAt).toLocaleString(),children:(0,r0e.jsxs)(xn,{component:ys,to:"/backups",underline:"hover",color:"text.secondary",variant:"body2",children:["Last backed up ",Do(String(e.createdAt))]})}):null}var TB=P(z(),1);function dgr(){let[e,t]=hB();return(0,TB.jsxs)(du,{value:e,exclusive:!0,size:"small","aria-label":"Status filter",onChange:(r,n)=>{n!==null&&t(n)},children:[(0,TB.jsx)(hs,{value:"todo",children:"Todo"}),(0,TB.jsx)(hs,{value:"done",children:"Done"}),(0,TB.jsx)(hs,{value:"all",children:"All"})]})}var SB=P(z(),1);function hgr({value:e,onChange:t}){return(0,SB.jsxs)(du,{value:e,exclusive:!0,size:"small","aria-label":"Type filter",onChange:(r,n)=>{n!==null&&t(n)},children:[(0,SB.jsx)(hs,{value:"all",children:"All"}),(0,SB.jsx)(hs,{value:"story",children:"Stories"}),(0,SB.jsx)(hs,{value:"bug",children:"Bugs"})]})}var Ak=P(z(),1),VWn={justifyContent:"space-between",alignItems:"center",mb:3},GWn={fontWeight:600},qWn={alignItems:"center"};function pgr({typeFilter:e,onTypeFilterChange:t}){return(0,Ak.jsxs)(Rt,{direction:"row",sx:VWn,children:[(0,Ak.jsx)(Oe,{variant:"h5",sx:GWn,children:"Backlog"}),(0,Ak.jsxs)(Rt,{direction:"row",spacing:2,sx:qWn,children:[(0,Ak.jsx)(fgr,{}),(0,Ak.jsx)(hgr,{value:e,onChange:t}),(0,Ak.jsx)(dgr,{})]})]})}var I2=P(z(),1);function ggr({items:e,loading:t,error:r,socket:n,onReload:i}){let o=as(),a=yr(),{query:s,setQuery:l,results:u,loading:f}=hmr(),[d,h]=(0,mgr.useState)("all"),p=u??e,m=d==="all"?p:p.filter(g=>g.type===d);return(0,I2.jsxs)(I2.Fragment,{children:[(0,I2.jsx)(pgr,{typeFilter:d,onTypeFilterChange:h}),(0,I2.jsx)(cgr,{value:s,onChange:l}),(0,I2.jsx)(lgr,{sessions:n.sessions}),(0,I2.jsx)(igr,{loading:t||f,error:u?null:r,query:s,typeFilter:d,items:m,socket:n,itemPath:g=>zT(g.id,o,a),onReload:i})]})}var f0e=P(ge(),1);var xR=P(ge(),1);async function Q$e(e,t,r){let n=await fetch(Fl(`/api/items/${so(e)}`,t.cwd,t.node),{signal:r});return n.ok?n.json():null}function ygr(e){let t=as(),r=yr(),[n,i]=(0,xR.useState)(null),[o,a]=(0,xR.useState)(!0),s=(0,xR.useCallback)(async()=>{i(await Q$e(e,{cwd:t,node:r}))},[e,t,r]);return(0,xR.useEffect)(()=>{let l=new AbortController,{signal:u}=l;return a(!0),(async()=>{try{let f=await Q$e(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}}var Pk={description:"item-section-description",acceptanceCriteria:"item-section-acceptance-criteria",subtasks:"item-section-subtasks",plan:"item-section-plan",activity:"item-section-activity",comments:"item-section-comments"},wY=140,J$e="--pinned-header-height",n0e=`var(${J$e}, ${wY}px)`,vgr=`calc(${n0e} + 8px)`;function Um(e){return{id:Pk[e],sx:{mb:2,scrollMarginTop:vgr}}}function i0e(e){return{id:`item-phase-${e}`,sx:{scrollMarginTop:vgr}}}var Lk=P(z(),1);function bgr({criteria:e}){return e.length===0?null:(0,Lk.jsxs)(le,{...Um("acceptanceCriteria"),children:[(0,Lk.jsx)(Oe,{variant:"overline",sx:{color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"},children:"Acceptance Criteria"}),(0,Lk.jsx)(L0,{disablePadding:!0,sx:{maxWidth:"72ch"},children:e.map((t,r)=>(0,Lk.jsxs)(iT,{disableGutters:!0,disablePadding:!0,sx:{py:.5,display:"flex",alignItems:"baseline"},children:[(0,Lk.jsxs)(Oe,{component:"span",sx:{color:"text.secondary",mr:1},children:[r+1,"."]}),(0,Lk.jsx)(yu,{component:"span",className:"markdown",html:MP(t)})]},t))})]})}var kY=P(z(),1),jWn={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function xgr({description:e}){return e?(0,kY.jsxs)(le,{...Um("description"),children:[(0,kY.jsx)(Oe,{variant:"overline",sx:jWn,children:"Description"}),(0,kY.jsx)(Ew,{content:e,renderMermaid:!0})]}):null}var Agr=P(ge(),1);function Tgr(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 Cgr=P(z(),1),YWn={color:"text.secondary",alignSelf:"flex-start",textAlign:"left"};function Sgr({hiddenCount:e,expanded:t,onToggle:r}){return e===0?null:(0,Cgr.jsx)(xn,{component:"button",type:"button",variant:"body2",underline:"hover",sx:YWn,onClick:n=>{n.stopPropagation(),r()},children:t?"Show fewer commits":`\u2026 and ${e} more commits`})}var TR=P(z(),1),KWn={display:"flex",alignItems:"center",gap:1},XWn={color:"text.secondary",fontFamily:"monospace"},ZWn={flex:1,overflowWrap:"anywhere"},QWn={color:"text.disabled","&:hover":{color:"text.primary"}};function wgr({conversation:e}){let{resumeSession:t}=$l(),r=n=>{n.stopPropagation(),t(e.sessionId,e.cwd??"",e.title,e.harness)};return(0,TR.jsxs)(le,{sx:KWn,children:[(0,TR.jsx)(Oe,{variant:"body2",component:"span",sx:XWn,children:"session"}),(0,TR.jsx)(Oe,{variant:"body2",component:"span",sx:ZWn,children:e.title??e.sessionId}),(0,TR.jsx)(ir,{size:"small",title:"Resume",sx:QWn,onClick:r,children:(0,TR.jsx)(Fp,{sx:{fontSize:14}})})]})}var _gr=P(z(),1),JWn={color:"text.disabled",ml:1};function kgr({gitRef:e}){return e.kind!=="commit"||!e.createdAt?null:(0,_gr.jsx)(le,{component:"span",sx:JWn,children:eVn(e.createdAt)})}function eVn(e){return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function Egr(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 tv=P(z(),1),tVn={color:"text.secondary",mr:1,fontFamily:"monospace"};function rVn({gitRef:e}){let t=Egr(e);return!e.url||e.kind==="session"?(0,tv.jsx)(tv.Fragment,{children:t}):(0,tv.jsx)(xn,{href:e.url,target:"_blank",rel:"noopener",onClick:r=>r.stopPropagation(),children:t})}function Rgr({gitRef:e}){return(0,tv.jsxs)(Oe,{variant:"body2",children:[(0,tv.jsx)(le,{component:"span",sx:tVn,children:e.kind}),(0,tv.jsx)(rVn,{gitRef:e}),(0,tv.jsx)(kgr,{gitRef:e})]})}var Mk=P(z(),1),nVn={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function Pgr({gitRefs:e,conversations:t=[]}){let[r,n]=(0,Agr.useState)(!1),{branches:i,commits:o,overflowCommits:a,prs:s,slacks:l}=Tgr(e),u=[...i,...o,...r?a:[],...s,...l];return u.length===0&&t.length===0?null:(0,Mk.jsxs)(le,{...Um("activity"),children:[(0,Mk.jsx)(Oe,{variant:"overline",sx:nVn,children:"Activity"}),(0,Mk.jsxs)(Rt,{spacing:1,children:[u.map(f=>(0,Mk.jsx)(Rgr,{gitRef:f},`${f.kind}:${f.ref}`)),t.map(f=>(0,Mk.jsx)(wgr,{conversation:f},f.sessionId)),(0,Mk.jsx)(Sgr,{hiddenCount:a.length,expanded:r,onToggle:()=>n(f=>!f)})]})]})}var SR=P(z(),1),iVn={alignItems:"center",fontSize:"0.75rem",color:"text.secondary",mb:.5},oVn={color:"text.disabled"},aVn={fontWeight:500},sVn={summary:"Phase summary",comment:"Comment"};function Lgr({comment:e}){return(0,SR.jsxs)(Rt,{direction:"row",spacing:.5,sx:iVn,children:[e.id!==void 0&&(0,SR.jsxs)(Oe,{variant:"caption",sx:oVn,children:["#",e.id]}),(0,SR.jsx)(Oe,{variant:"caption",sx:aVn,children:sVn[e.type]}),e.phase!==void 0&&(0,SR.jsxs)(Oe,{variant:"caption",children:["\xB7 Phase ",e.phase]}),(0,SR.jsxs)(Oe,{variant:"caption",children:["\xB7 ",lVn(e.timestamp)]})]})}function lVn(e){return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}var Mgr=P(z(),1),Igr=ut((0,Mgr.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 eze=P(ge(),1);async function Dgr(e,t,r,n){let i=await fetch(Fl(`/api/items/${so(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 rv=P(z(),1),cVn={mt:-.5,mr:-.5,color:"text.secondary"};function Ngr({itemId:e,commentId:t,onDeleted:r}){let n=as(),i=yr(),[o,a]=(0,eze.useState)(!1),[s,l]=(0,eze.useState)(),u=()=>l(void 0);return(0,rv.jsxs)(rv.Fragment,{children:[o&&(0,rv.jsx)(vo,{message:"Are you sure you want to delete this comment?",onConfirm:async()=>{a(!1);try{await Dgr(e,t,n,i),await r()}catch(f){l(f instanceof Error?f.message:"Failed to delete comment")}},onCancel:()=>a(!1)}),(0,rv.jsx)(ol,{open:s!==void 0,autoHideDuration:6e3,onClose:u,children:(0,rv.jsx)(ni,{severity:"error",variant:"filled",onClose:u,children:s})}),(0,rv.jsx)(ir,{"aria-label":"Delete comment",size:"small",sx:cVn,onClick:()=>a(!0),children:(0,rv.jsx)(Igr,{fontSize:"inherit"})})]})}var CR=P(z(),1),uVn={summary:{bgcolor:"warning.light",borderColor:"warning.dark"},comment:{bgcolor:"action.selected",borderColor:"divider"}},fVn={justifyContent:"space-between",alignItems:"flex-start"},dVn={color:"text.primary",whiteSpace:"pre-wrap"};function hVn(e){return{p:1.5,bgcolor:e.bgcolor,borderColor:e.borderColor}}function Ogr({comment:e,itemId:t,onDeleted:r}){return(0,CR.jsxs)(an,{variant:"outlined",sx:hVn(uVn[e.type]),children:[(0,CR.jsxs)(Rt,{direction:"row",sx:fVn,children:[(0,CR.jsx)(Lgr,{comment:e}),e.id!==void 0&&t!==void 0&&r&&(0,CR.jsx)(Ngr,{itemId:t,commentId:e.id,onDeleted:r})]}),(0,CR.jsx)(Oe,{variant:"body2",sx:dVn,children:e.text})]})}var CB=P(z(),1),pVn={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function Bgr({comments:e,itemId:t,onCommentDeleted:r}){return e.length===0?null:(0,CB.jsxs)(le,{...Um("comments"),children:[(0,CB.jsx)(Oe,{variant:"overline",sx:pVn,children:"Comments"}),(0,CB.jsx)(Rt,{spacing:1,children:e.map((n,i)=>(0,CB.jsx)(Ogr,{comment:n,itemId:t,onDeleted:r},`${n.timestamp}-${i}`))})]})}var Fgr=P(z(),1);function wB({total:e,sx:t}){return(0,Fgr.jsx)(Oe,{sx:t,children:Nge(e)})}var zgr=P(z(),1),mVn={color:"text.secondary",fontSize:"0.75rem"};function $gr({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,zgr.jsx)(wB,{total:t,sx:mVn})}var D2=P(z(),1);function Hgr({checks:e}){return(0,D2.jsxs)(le,{sx:{mt:1,pt:1},children:[(0,D2.jsx)(no,{sx:{mb:1}}),(0,D2.jsx)(Oe,{variant:"overline",sx:{color:"text.disabled",letterSpacing:"0.08em"},children:"Manual Checks"}),(0,D2.jsx)(L0,{disablePadding:!0,sx:{ml:.5,mt:.5},children:e.map(t=>(0,D2.jsxs)(iT,{disableGutters:!0,disablePadding:!0,sx:{py:.25,display:"flex",alignItems:"baseline"},children:[(0,D2.jsx)(Oe,{component:"span",sx:{mr:1,fontSize:"0.875rem",color:"text.secondary"},children:"\u2610"}),(0,D2.jsx)(yu,{component:"span",className:"markdown",sx:{fontSize:"0.875rem",color:"text.secondary"},html:MP(t)})]},t))})]})}var o0e={done:{borderColor:"success.light",bgcolor:"success.light"},current:{borderColor:"info.main",bgcolor:"info.light",ring:"info.light"},upcoming:{borderColor:"divider",bgcolor:"background.paper"}};function Ugr(e){let t=o0e[e];return{p:2,borderColor:t.ring?"info.main":t.borderColor,bgcolor:t.bgcolor,...t.ring?{boxShadow:"0 0 0 2px"}:{}}}var Wgr={done:"\u2713",current:"\u2022",upcoming:"\u2022"};var qgr=P(ge(),1);var Vgr=P(ge(),1),nv=P(z(),1);function Ggr({phaseName:e,onConfirm:t,onCancel:r}){let[n,i]=(0,Vgr.useState)("");return(0,nv.jsxs)(Ps,{open:!0,onClose:r,maxWidth:"xs",fullWidth:!0,children:[(0,nv.jsxs)(Il,{children:["Rewind to ",e,"?"]}),(0,nv.jsxs)(Ml,{children:[(0,nv.jsx)(Oe,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"This will mark all later phases as incomplete."}),(0,nv.jsx)(Yn,{fullWidth:!0,multiline:!0,rows:3,size:"small",placeholder:"Reason for rewinding...",value:n,onChange:o=>i(o.target.value)})]}),(0,nv.jsxs)(cu,{children:[(0,nv.jsx)(qt,{onClick:r,children:"Cancel"}),(0,nv.jsx)(qt,{variant:"contained",color:"warning",disabled:n.trim().length===0,onClick:()=>t(n.trim()),children:"Rewind"})]})]})}var wR=P(z(),1);function jgr({itemId:e,phaseNumber:t,phaseName:r,onRewound:n}){let i=as(),o=yr(),[a,s]=(0,qgr.useState)(!1);return(0,wR.jsxs)(wR.Fragment,{children:[(0,wR.jsx)(qt,{size:"small",color:"warning",variant:"outlined",onClick:()=>s(!0),sx:{ml:"auto",textTransform:"none",fontSize:"0.75rem"},children:"Rewind"}),a&&(0,wR.jsx)(Ggr,{phaseName:r,onConfirm:async l=>{await $et(e,t,l,i,o),await n()},onCancel:()=>s(!1)})]})}var kB=P(z(),1),gVn={done:{label:"Done",color:"success"},current:{label:"In Progress",color:"info"},upcoming:{label:"Upcoming",color:"default"}},yVn={alignItems:"center",mb:1},vVn={fontWeight:500},bVn={fontWeight:500,fontSize:"0.75rem"};function Ygr({phase:e,index:t,status:r,itemId:n,onRewind:i}){let o=gVn[r],a=r==="done"&&n!==void 0&&i;return(0,kB.jsxs)(Rt,{direction:"row",spacing:1,sx:yVn,children:[(0,kB.jsxs)(Oe,{sx:vVn,children:["Phase ",t+1,": ",e.name]}),(0,kB.jsx)(sn,{label:o.label,size:"small",color:o.color,sx:bVn}),a&&(0,kB.jsx)(jgr,{itemId:n,phaseNumber:t+1,phaseName:e.name,onRewound:i})]})}var _Y=P(z(),1),xVn={color:"text.secondary",fontSize:"0.75rem",letterSpacing:"0.08em",display:"block"},TVn={color:"text.secondary",fontSize:"0.75rem",fontFamily:"monospace",display:"block"};function Kgr({sessions:e}){return(0,_Y.jsxs)(le,{sx:{mb:1},children:[(0,_Y.jsx)(Oe,{variant:"overline",sx:xVn,children:"Sessions"}),e.map(t=>(0,_Y.jsx)(Oe,{sx:TVn,children:`${t.hostname} / ${t.osUser} / ${t.claudeSessionId}`},t.claudeSessionId))]})}var Zgr=P(z(),1),SVn={color:"text.secondary",fontSize:"0.75rem",mb:1,display:"block"};function Xgr({usage:e}){return(0,Zgr.jsx)(wB,{total:e,sx:SVn})}var _B=P(z(),1);function Qgr({tasks:e,marker:t}){return(0,_B.jsx)(L0,{disablePadding:!0,sx:{ml:.5},children:e.map(r=>(0,_B.jsxs)(iT,{disableGutters:!0,disablePadding:!0,sx:{py:.25,display:"flex",alignItems:"baseline"},children:[(0,_B.jsx)(Oe,{component:"span",sx:{color:"text.secondary",mr:1},children:t}),(0,_B.jsx)(yu,{component:"span",className:"markdown",html:MP(r.task)})]},r.task))})}var Ik=P(z(),1);function Jgr({phase:e,index:t,status:r,itemId:n,usage:i,sessions:o,onRewind:a}){let s=e.manualChecks??[],l=i0e(t);return(0,Ik.jsxs)(an,{variant:"outlined",id:l.id,sx:{...Ugr(r),...l.sx},children:[(0,Ik.jsx)(Ygr,{phase:e,index:t,status:r,itemId:n,onRewind:a}),i&&(0,Ik.jsx)(Xgr,{usage:i}),(0,Ik.jsx)(Qgr,{tasks:e.tasks,marker:Wgr[r]}),s.length>0&&(0,Ik.jsx)(Hgr,{checks:s}),o&&o.length>0&&(0,Ik.jsx)(Kgr,{sessions:o})]})}var EY={name:"Review",tasks:[]};function a0e(e){return e.at(-1)?.name===EY.name?e.length-1:e.length}function s0e(e,t){if(t===void 0)return"upcoming";let r=e+1;return r<t?"done":r===t?"current":"upcoming"}function e0r(e=[]){return new Map(e.map(t=>[t.phaseIdx,t]))}function t0r(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 tze=P(z(),1);function r0r({phases:e,currentPhase:t,itemId:r,usage:n,sessions:i,onRewind:o}){let a=e0r(n),s=t0r(i),l=a0e(e),u=(i??[]).filter(d=>d.phaseIdx>=l),f=l===e.length&&u.length>0?[...e,EY]:e;return(0,tze.jsx)(Rt,{spacing:1.5,children:f.map((d,h)=>(0,tze.jsx)(Jgr,{phase:d,index:h,status:s0e(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 kR=P(z(),1),CVn={alignItems:"baseline",justifyContent:"space-between",mb:1},wVn={color:"text.secondary",display:"block",letterSpacing:"0.08em"};function n0r({phases:e,currentPhase:t,itemId:r,usage:n,sessions:i,onRewind:o}){return e.length===0?null:(0,kR.jsxs)(le,{...Um("plan"),children:[(0,kR.jsxs)(Rt,{direction:"row",sx:CVn,children:[(0,kR.jsx)(Oe,{variant:"overline",sx:wVn,children:"Plan"}),n&&n.length>0&&(0,kR.jsx)($gr,{usage:n})]}),(0,kR.jsx)(r0r,{phases:e,currentPhase:t,itemId:r,usage:n,sessions:i,onRewind:o})]})}var rze=P(z(),1),l0e=e=>{let{value:t,options:r,colors:n,onChange:i}=e;return(0,rze.jsx)(sT,{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,rze.jsx)(fn,{value:o,children:o},o))})};var o0r=P(z(),1),kVn={todo:{bg:"action.selected",text:"text.primary"},"in-progress":{bg:"warning.main",text:"warning.contrastText"},done:{bg:"success.main",text:"success.contrastText"}},_Vn=["todo","in-progress","done"];function i0r({current:e,onStatusChange:t}){return(0,o0r.jsx)(l0e,{value:e,options:_Vn,colors:kVn,onChange:t})}var Dk=P(z(),1);function a0r({subtask:e,onStatusChange:t}){let r=e.status==="done";return(0,Dk.jsxs)(Rt,{direction:"row",spacing:1,sx:{alignItems:"flex-start",justifyContent:"space-between"},children:[(0,Dk.jsxs)(le,{sx:{flex:1},children:[(0,Dk.jsx)(Oe,{variant:"body2",sx:{textDecoration:r?"line-through":"none",color:r?"text.disabled":"text.primary"},children:e.title}),e.description&&(0,Dk.jsx)(le,{sx:{mt:.5,fontSize:"0.8125rem",color:r?"text.disabled":"text.secondary"},children:(0,Dk.jsx)(Ew,{content:e.description})})]}),(0,Dk.jsx)(i0r,{current:e.status,onStatusChange:t})]})}var _R=P(z(),1),EVn={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function s0r({subtasks:e,onStatusChange:t}){if(e.length===0)return null;let r=e.filter(n=>n.status!=="done").length;return(0,_R.jsxs)(le,{...Um("subtasks"),children:[(0,_R.jsx)(Oe,{variant:"overline",sx:EVn,children:"Sub-tasks"}),(0,_R.jsx)(Rt,{spacing:1,children:e.map((n,i)=>(0,_R.jsx)(a0r,{subtask:n,onStatusChange:o=>t(i,o)},`${n.title}-${i}`))}),r>0&&(0,_R.jsxs)(ni,{severity:"warning",sx:{mt:1},children:[r," sub-task",r===1?"":"s"," not yet done."]})]})}var N2=P(z(),1);function l0r({item:e,onRewind:t,onCommentDeleted:r,onSubtaskStatusChange:n}){return(0,N2.jsxs)(N2.Fragment,{children:[e.subtasks&&n&&(0,N2.jsx)(s0r,{subtasks:e.subtasks,onStatusChange:n}),e.plan&&(0,N2.jsx)(n0r,{phases:e.plan,currentPhase:e.currentPhase,itemId:e.id,usage:e.phaseUsage,sessions:e.phaseSessions,onRewind:t}),(0,N2.jsx)(Pgr,{gitRefs:e.gitRefs??[],conversations:e.conversations}),e.comments&&(0,N2.jsx)(Bgr,{comments:e.comments,itemId:e.id,onCommentDeleted:r})]})}var EB=P(z(),1);function c0r({item:e,onRewind:t,onCommentDeleted:r,onSubtaskStatusChange:n}){return(0,EB.jsxs)(le,{sx:{pt:2,flex:1,minWidth:0},children:[(0,EB.jsx)(xgr,{description:e.description}),(0,EB.jsx)(bgr,{criteria:e.acceptanceCriteria}),(0,EB.jsx)(l0r,{item:e,onRewind:t,onCommentDeleted:r,onSubtaskStatusChange:n})]})}var u0r="item-detail";var RY={wideQuery:`@container ${u0r} (min-width: 760px)`,containerSx:{containerType:"inline-size",containerName:u0r},columnsSx:{display:"flex",columnGap:3}};function RVn(e){let t=e.plan??[];if(t.length===0)return[];let r=a0e(t),i=r===t.length&&(e.phaseSessions??[]).some(o=>o.phaseIdx>=r)?[...t,EY]:t;return[{id:Pk.plan,label:"Phases"},...i.map((o,a)=>({id:i0e(a).id,label:`${a+1}`,title:o.name,status:s0e(a,e.currentPhase),nested:!0}))]}function f0r(e){let t=[];return e.description&&t.push({id:Pk.description,label:"Description"}),e.acceptanceCriteria.length>0&&t.push({id:Pk.acceptanceCriteria,label:"Acceptance Criteria"}),(e.subtasks?.length??0)>0&&t.push({id:Pk.subtasks,label:"Sub-tasks"}),t.push(...RVn(e)),(e.gitRefs?.length??0)+(e.conversations?.length??0)>0&&t.push({id:Pk.activity,label:"Activity"}),(e.comments?.length??0)>0&&t.push({id:Pk.comments,label:"Comments"}),t}var d0r="1.3125rem",h0r={position:"relative",borderRadius:1,"&::after":{content:'""',position:"absolute",inset:0,borderRadius:"inherit",pointerEvents:"none"},"&:hover::after":{bgcolor:"action.hover"},"&:active::after":{bgcolor:"action.selected"}},AVn={...h0r,display:"block",flexShrink:0,maxWidth:"100%",px:1,py:.5,border:0,bgcolor:"transparent",fontSize:d0r,lineHeight:1.2,letterSpacing:"0.02em",textAlign:"left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",color:"text.secondary"},PVn={...h0r,display:"flex",alignItems:"center",justifyContent:"center",fontSize:d0r,width:"2em",height:"2em",flexShrink:0,lineHeight:1,borderRadius:"50%",border:1,color:"text.primary"},LVn={borderColor:"text.primary",borderWidth:3},MVn={color:"text.primary",fontWeight:700,"&::after":{bgcolor:"action.selected"}};function p0r(e,t){let r=e.status&&o0e[e.status];return r?{...PVn,ml:1.5,bgcolor:r.bgcolor,borderColor:r.borderColor,borderWidth:r.ring?3:1,...t&&LVn}:{...AVn,...t&&MVn}}var g0r=P(z(),1);function m0r({section:e,active:t,onSelect:r}){return(0,g0r.jsx)(Dn,{sx:p0r(e,t),onClick:()=>r(e.id),title:e.title??e.label,"aria-current":t?"true":void 0,children:e.label})}function y0r(e,t=wY){return ipe(e,t)}var nze=P(z(),1),IVn=48,DVn=260,NVn={display:"none",[RY.wideQuery]:{display:"flex"},position:"sticky",top:n0e,alignSelf:"flex-start",width:DVn,flexShrink:0,maxHeight:`calc(100vh - ${IVn}px - ${n0e})`,alignItems:"flex-start",overflowY:"auto",overflowX:"hidden",py:2};function OVn(e){document.getElementById(e)?.scrollIntoView({behavior:"smooth",block:"start"})}function v0r({item:e,headerHeight:t}){let r=f0r(e),n=y0r(r.map(i=>i.id),t);return r.length===0?null:(0,nze.jsx)(Rt,{component:"nav",spacing:1,sx:NVn,children:r.map(i=>(0,nze.jsx)(m0r,{section:i,active:i.id===n,onSelect:OVn},i.id))})}var x0r=P(z(),1);function b0r({to:e}){let t=Xi();return(0,x0r.jsx)(qt,{"data-backlog-focus":"back",variant:"text",size:"small",onClick:()=>t(e),sx:{mb:2,textTransform:"none"},children:"\u2190 Back"})}var T0r=P(ge(),1);var ER=P(z(),1);function S0r({itemId:e,onDeleted:t}){let r=as(),n=yr(),[i,o]=(0,T0r.useState)(!1);return(0,ER.jsxs)(ER.Fragment,{children:[i&&(0,ER.jsx)(vo,{onConfirm:async()=>{await Bet(e,r,n),await t()},onCancel:()=>o(!1)}),(0,ER.jsx)(qt,{variant:"contained",color:"error",size:"small",onClick:()=>o(!0),children:"Delete"})]})}var ize=P(z(),1),BVn={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"}},FVn=["todo","in-progress","done","wontdo"];function C0r({current:e,onStatusChange:t}){return t?(0,ize.jsx)(l0e,{value:e,options:FVn,colors:BVn,onChange:t}):(0,ize.jsx)(sn,{label:e,size:"small",color:Ege[e],sx:{fontWeight:500,fontSize:"0.75rem"}})}var O2=P(z(),1),$Vn={alignItems:"center",color:"text.disabled",fontSize:"0.875rem"},zVn={fontWeight:500,fontSize:"0.75rem"},HVn={color:"text.secondary",fontSize:"0.75rem"};function w0r({item:e,onStatusChange:t}){let r=_ge[e.type];return(0,O2.jsxs)(Rt,{direction:"row",spacing:1,sx:$Vn,children:[(0,O2.jsx)(Oe,{variant:"body2",color:"text.disabled",children:so(e.id)}),r&&(0,O2.jsx)(sn,{label:e.type,size:"small",color:r,sx:zVn}),(0,O2.jsx)(C0r,{current:e.status,onStatusChange:t}),(0,O2.jsx)(hP,{jiraKey:e.jiraKey}),(0,O2.jsx)(dP,{githubIssue:e.githubIssue,origin:e.origin}),e.usageTotal&&(0,O2.jsx)(wB,{total:e.usageTotal,sx:HVn})]})}var k0r=P(z(),1),_0r=ut((0,k0r.jsx)("path",{d:"M3 17v2h6v-2zM3 5v2h10V5zm10 16v-2h8v-2h-8v-2h-2v6zM7 9v2H3v2h4v2h2V9zm14 4v-2H11v2zm-6-4h2V7h4V5h-4V3h-2z"}),"Tune");var c0e=P(ge(),1);var E0r=P(ge(),1);function R0r(e){let{launchAssist:t}=$l(),r=Xi(),n=as(),i=yr(),[o,a]=(0,E0r.useState)(!1);return{launched:o,launch:l=>{if(o)return;a(!0);let u=i?[{node:i}]:[];t(["refine","--once",...l,so(e)],n,...u),r("/sessions")}}}var c0=P(z(),1);function A0r({itemId:e}){let{launched:t,launch:r}=R0r(e),n=wk(),i=(0,c0e.useRef)(null),[o,a]=(0,c0e.useState)(!1),s=u=>u.stopPropagation(),l=Bge(n);return(0,c0.jsxs)(c0.Fragment,{children:[(0,c0.jsxs)(tT,{ref:i,variant:"outlined",size:"small",disabled:t,children:[(0,c0.jsx)(qt,{startIcon:(0,c0.jsx)(_0r,{}),onClick:u=>{s(u),r([])},children:"Refine"}),l.length>0&&(0,c0.jsx)(qt,{size:"small","aria-label":"Refine with a different harness",onClick:u=>{s(u),a(!0)},children:(0,c0.jsx)(Up,{})})]}),(0,c0.jsx)(Fge,{anchorEl:i.current,open:o,onClose:()=>a(!1),options:l,onSelect:u=>{a(!1),r(["--harness",u])},stop:s})]})}var RB=P(ge(),1);function P0r(){let e=(0,RB.useRef)(null),[t,r]=(0,RB.useState)(!1);return(0,RB.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 Bf=P(z(),1),UVn={justifyContent:"space-between",alignItems:"center",mb:2};function WVn(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 VVn(e){return t=>({position:"sticky",top:0,zIndex:1,bgcolor:"background.default",mx:-2,px:2,pb:2,borderBottom:1,borderColor:"divider",boxShadow:e?WVn(t):"none",transition:t.transitions.create("box-shadow")})}function L0r({item:e,onDeleted:t,onStatusChange:r,ref:n}){let{sentinelRef:i,stuck:o}=P0r();return(0,Bf.jsxs)(Bf.Fragment,{children:[(0,Bf.jsx)(le,{ref:i,sx:{height:0}}),(0,Bf.jsxs)(le,{ref:n,sx:VVn(o),children:[(0,Bf.jsxs)(Rt,{direction:"row",sx:UVn,children:[(0,Bf.jsx)(b0r,{to:"/backlog"}),(0,Bf.jsxs)(Rt,{direction:"row",spacing:1,children:[Oge(e)&&(0,Bf.jsx)(Jge,{itemId:e.id}),(0,Bf.jsx)(A0r,{itemId:e.id}),(0,Bf.jsx)(S0r,{itemId:e.id,onDeleted:t})]})]}),(0,Bf.jsx)(Oe,{variant:"h5",component:"h2",children:e.name}),(0,Bf.jsx)(w0r,{item:e,onStatusChange:r})]})]})}var I0r=P(ge(),1);var u0e=P(ge(),1);function M0r(e,t){let[r,n]=(0,u0e.useState)(t);return(0,u0e.useEffect)(()=>{let i=e.current;if(!i||(n(i.offsetHeight),typeof ResizeObserver>"u"))return;let o=new ResizeObserver(()=>n(i.offsetHeight));return o.observe(i),()=>o.disconnect()},[e]),r}function D0r(){let e=(0,I0r.useRef)(null),t=M0r(e,wY),r={[J$e]:`${t}px`};return{headerRef:e,headerHeight:t,style:r}}var Nk=P(z(),1);function N0r({item:e,onReload:t}){let r=Xi(),n=as(),i=yr(),{headerRef:o,headerHeight:a,style:s}=D0r();oy("ItemDetail");let l=async()=>{await t(),r("/backlog")},u=async d=>{await zJ(e.id,d,n,i),await t()},f=async(d,h)=>{await Fet(e.id,d,h,n,i),await t()};return(0,Nk.jsxs)(le,{style:s,children:[(0,Nk.jsx)(L0r,{ref:o,item:e,onDeleted:l,onStatusChange:u}),(0,Nk.jsx)(le,{sx:RY.containerSx,children:(0,Nk.jsxs)(le,{sx:RY.columnsSx,children:[(0,Nk.jsx)(c0r,{item:e,onRewind:t,onCommentDeleted:t,onSubtaskStatusChange:f}),(0,Nk.jsx)(v0r,{item:e,headerHeight:a})]})})]})}var RR=P(z(),1),GVn={display:"flex",justifyContent:"center",py:6};function O0r({onReload:e}){let[t]=Pc(),r=t.get("cwd")||void 0,n=t.get("node")||void 0,i=$n(),o=(0,f0e.useMemo)(()=>r?{...i,selectedCwd:r,selectedNode:n}:i,[i,r,n]);return oy("ItemRoute"),(0,RR.jsx)(Pz.Provider,{value:o,children:(0,RR.jsx)(Xu.Provider,{value:o.selectedNode,children:(0,RR.jsx)(qVn,{onReload:e})})})}function qVn({onReload:e}){let{id:t}=_2e(),r=Number.NaN;try{r=_J(t??"")}catch{r=Number.NaN}let{item:n,loading:i,reload:o}=ygr(r),a=(0,f0e.useCallback)(async()=>{await Promise.all([o(),e()])},[o,e]);return i?(0,RR.jsx)(le,{sx:GVn,children:(0,RR.jsx)(mo,{})}):n?(0,RR.jsx)(N0r,{item:n,onReload:a}):null}var AR=P(z(),1);function B0r({items:e,loading:t,error:r,socket:n,onReload:i}){return(0,AR.jsxs)(p5,{children:[(0,AR.jsx)(gs,{index:!0,element:(0,AR.jsx)(ggr,{items:e,loading:t,error:r,socket:n,onReload:i})}),(0,AR.jsx)(gs,{path:"items/:id",element:(0,AR.jsx)(O0r,{onReload:i})})]})}var u0=P(ge(),1);var F0r=new Map;function $0r(e,t,r){return JSON.stringify([e??null,t,r??null])}var AY={get(e,t,r){return F0r.get($0r(e,t,r))},set(e,t,r,n){F0r.set($0r(e,t,n),r)}};function jVn(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 z0r(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&&r.incompleteSubtasks===i.incompleteSubtasks&&jVn(r.usageTotal,i.usageTotal)})}function H0r({setItems:e,setLoading:t,setError:r}){return{onLoaded:n=>{e(i=>z0r(i,n)?i:n),t(!1),r(null)},onError:n=>{t(!1),r(n)}}}async function U0r(e,t,r,n){let i=await UT({cwd:e,node:n,signal:r,filter:t});return r.aborted||AY.set(e,t,i,n),i}function W0r(e,t,r,{onLoaded:n,onError:i},o){return(async()=>{try{let a=await U0r(e,t,r,o);r.aborted||n(a)}catch(a){r.aborted||i(a instanceof Error?a.message:"Failed to load.")}})()}var YVn=5e3;function V0r(e,t,r,n){let i=new AbortController,o=!1,a=()=>{o||(o=!0,W0r(e,t,i.signal,r,n).finally(()=>{o=!1}))};a();let s=setInterval(a,YVn);return()=>{i.abort(),clearInterval(s)}}function G0r(){let e=as(),t=yr(),[r]=hB(),n=AY.get(e,r,t),i=n??[],o=n===void 0,[a,s]=(0,u0.useState)(i),[l,u]=(0,u0.useState)(o),[f,d]=(0,u0.useState)(null),[h,p]=(0,u0.useState)(e),[m,g]=(0,u0.useState)(t),[y,v]=(0,u0.useState)(r);(e!==h||t!==m||r!==y)&&(p(e),g(t),v(r),s(i),u(o),d(null));let b=(0,u0.useCallback)(async()=>{let x=await UT({cwd:e,node:t,filter:r});s(x),AY.set(e,r,x,t),u(!1)},[e,t,r]);return(0,u0.useEffect)(()=>V0r(e,r,H0r({setItems:s,setLoading:u,setError:d}),t),[e,t,r]),{items:a,loading:l,error:f,reload:b}}var PY=P(z(),1);function q0r({socket:e}){let{items:t,loading:r,error:n,reload:i}=G0r();return bte(!r),(0,PY.jsx)(V$e.Provider,{value:e.sessions,children:(0,PY.jsx)(p5,{children:(0,PY.jsx)(gs,{path:"/*",element:(0,PY.jsx)(B0r,{items:t,loading:r,error:n,socket:e,onReload:i})})})})}var oze=P(z(),1);function j0r({socket:e}){return(0,oze.jsx)(WF,{maxWidth:"lg",sx:{py:3,px:2},children:(0,oze.jsx)(q0r,{socket:e})})}var _i=P(z(),1);function Y0r({socket:e}){return oy("AppRoutes"),(0,_i.jsxs)(_i.Fragment,{children:[(0,_i.jsx)(Aor,{}),(0,_i.jsx)(p5,{children:(0,_i.jsxs)(gs,{element:(0,_i.jsx)(Oit,{socket:e}),children:[(0,_i.jsx)(gs,{path:"sessions",element:(0,_i.jsx)(Ehr,{socket:e})}),(0,_i.jsx)(gs,{path:"backlog/*",element:(0,_i.jsx)(j0r,{socket:e})}),(0,_i.jsx)(gs,{path:"next",element:(0,_i.jsx)(Hir,{sessions:e.sessions,selectSession:e.selectSession})}),(0,_i.jsx)(gs,{path:"news",element:(0,_i.jsx)(Knr,{})}),(0,_i.jsx)(gs,{path:"releases",element:(0,_i.jsx)(kor,{})}),(0,_i.jsx)(gs,{path:"usage",element:(0,_i.jsx)(lmr,{})}),(0,_i.jsx)(gs,{path:"backups",element:(0,_i.jsx)(Vit,{})}),(0,_i.jsx)(gs,{path:"config",element:(0,_i.jsx)(Fat,{})}),(0,_i.jsx)(gs,{path:"updates",element:(0,_i.jsx)(bpr,{reconnecting:e.reconnecting,selectSession:e.selectSession})}),(0,_i.jsx)(gs,{path:"diff",element:(0,_i.jsx)(pnr,{socket:e})}),(0,_i.jsx)(gs,{path:"file",element:(0,_i.jsx)(Vnr,{socket:e})}),(0,_i.jsx)(gs,{path:"*",element:(0,_i.jsx)(M2e,{to:"/sessions",replace:!0})})]})})]})}var g0e=P(ge(),1);var m0e=P(ge(),1);function K0r(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 Ok=P(z(),1),KVn={display:"flex",gap:1,alignItems:"center",minWidth:0},XVn={display:"flex",gap:1,alignItems:"baseline",minWidth:0,overflow:"hidden"},ZVn={fontFamily:"monospace",fontSize:13,whiteSpace:"nowrap"},QVn={fontFamily:"monospace",fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};function JVn(e){let t=e.lastIndexOf("/");return t===-1?{dir:"",basename:e}:{dir:e.slice(0,t),basename:e.slice(t+1)}}function X0r({files:e,highlight:t,onHighlight:r,onSelect:n}){return(0,Ok.jsx)(Cp,{dense:!0,sx:{py:0},children:e.map((i,o)=>{let{dir:a,basename:s}=JVn(i);return(0,Ok.jsxs)(fn,{selected:o===t,onMouseEnter:()=>r(o),onClick:()=>n(i),sx:KVn,children:[(0,Ok.jsx)(o9,{path:i}),(0,Ok.jsxs)(le,{sx:XVn,children:[(0,Ok.jsx)(Oe,{component:"span",sx:ZVn,children:s}),(0,Ok.jsx)(Oe,{component:"span",color:"text.secondary",sx:QVn,children:a})]})]},i)})})}var d0e=P(z(),1),eGn={maxHeight:420,overflowY:"auto"},tGn={px:2,py:2,fontSize:13};function Z0r({message:e,files:t,highlight:r,onHighlight:n,onSelect:i}){return(0,d0e.jsx)(le,{sx:eGn,children:e?(0,d0e.jsx)(Oe,{color:"text.secondary",sx:tGn,children:e}):(0,d0e.jsx)(X0r,{files:t,highlight:r,onHighlight:n,onSelect:i})})}var Q0r=P(z(),1),rGn={mt:6,alignSelf:"flex-start"};function h0e({onClose:e,onEntered:t,centered:r=!1,children:n}){return(0,Q0r.jsx)(Ps,{open:!0,onClose:e,maxWidth:"sm",fullWidth:!0,slotProps:{paper:{sx:r?void 0:rGn},transition:{onEntered:t}},children:n})}var p0e=P(ge(),1);var J0r={files:[],loading:!1,error:!1};function eyr(e,t){let[r,n]=(0,p0e.useState)(J0r),i=yr();return(0,p0e.useEffect)(()=>{if(!e){n(J0r);return}let o=!1;return n(s=>({...s,loading:!0})),(async()=>{try{let s=await fetch(tn(`/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 PR=P(z(),1);function nGn(e,t,r){let n=new URLSearchParams({path:e});return t&&n.set("cwd",t),t&&r&&n.set("node",r),`/file?${n}`}function tyr({onClose:e}){let{worktreeNode:t}=$n();return(0,PR.jsx)(Xu.Provider,{value:t,children:(0,PR.jsx)(iGn,{onClose:e})})}function iGn({onClose:e}){let{worktreeCwd:t,worktreeNode:r}=$n(),[n,i]=(0,m0e.useState)(""),o=eyr(t,n),a=Xi(),s=(0,m0e.useRef)(null),l=p=>a(nGn(p,t,r)),{highlight:u,setHighlight:f,onKeyDown:d}=Rk(o.files,n,l,e),h=p=>{l(p),e()};return(0,PR.jsxs)(h0e,{onClose:e,onEntered:()=>s.current?.focus(),children:[(0,PR.jsx)(yB,{autoFocus:!0,inputRef:s,value:n,onChange:i,onKeyDown:d,placeholder:"Search files by name..."}),(0,PR.jsx)(Z0r,{message:K0r(t,n,o),files:o.files,highlight:u,onHighlight:f,onSelect:h})]})}function ryr(e){No(Kn("quickOpen").matches,e)}var iyr=P(z(),1);function nyr(){let[e,t]=(0,g0e.useState)(!1);return ryr((0,g0e.useCallback)(()=>t(!0),[])),e?(0,iyr.jsx)(tyr,{onClose:()=>t(!1)}):null}var y0e=P(z(),1);function oyr({notice:e,onClose:t,onView:r}){let n=e?.sessionId??null;return(0,y0e.jsx)(ol,{open:e!==null,autoHideDuration:6e3,onClose:t,anchorOrigin:{vertical:"bottom",horizontal:"center"},children:(0,y0e.jsx)(ni,{severity:"success",variant:"filled",onClose:t,action:n!==null?(0,y0e.jsx)(qt,{color:"inherit",size:"small",onClick:()=>r(n),children:"View"}):void 0,children:e?.message})})}var S0e=P(ge(),1);function ayr(e){let t=["claude"];return e.exposeCodexActions&&t.push("codex"),e.exposePiActions&&t.push("pi"),t}var byr=P(ge(),1);var syr=P(z(),1),lyr=ut((0,syr.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 Bk="0.797.0";var oGn={connected:"success.main",connecting:"warning.main",disconnected:"error.main","version-blocked":"error.main"};function cyr(e){return e?oGn[e]:"success.main"}function uyr(e){return e.split("-")[0].split(".").map(Number)}function fyr(e,t){if(!e||!t||e===t)return;let r=uyr(e),n=uyr(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 v0e=P(ge(),1),aze=(0,v0e.createContext)(null);function b0e(){return(0,v0e.useContext)(aze)}var LR=P(z(),1),aGn={height:16,fontSize:10},sGn={opacity:.6,fontSize:"0.85em"};function lGn(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 LY({nodes:e,name:t,showVersion:r=!1}){let n=b0e()??Bk,i=e.links.find(a=>a.name===t),o=fyr(i?.peerVersion,n);return(0,LR.jsx)(lr,{title:lGn(e,t),placement:"right",children:(0,LR.jsxs)(le,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:.75},children:[(0,LR.jsx)(lyr,{sx:{fontSize:8,color:cyr(i?.state)}}),t,r&&i?.peerVersion&&(0,LR.jsxs)(le,{component:"span",sx:sGn,children:["v",i.peerVersion]}),o&&(0,LR.jsx)(sn,{label:o,size:"small",color:o==="behind"?"warning":"info",sx:aGn})]})})}var MR=P(z(),1),cGn={opacity:.6},uGn={display:"inline-flex",alignItems:"center",gap:.5,px:.5,border:1,borderStyle:"dashed",borderRadius:1};function dyr({nodes:e,name:t,clone:r}){let n=(0,MR.jsx)(LY,{nodes:e,name:t});return r.kind==="cloned"?n:r.kind==="unavailable"?(0,MR.jsx)(le,{component:"span",sx:cGn,children:n}):(0,MR.jsx)(lr,{title:gB(t,r.cloneTarget),children:(0,MR.jsxs)(le,{component:"span",sx:uGn,children:[(0,MR.jsx)(mB,{sx:{fontSize:14}}),n]})})}var pyr=P(z(),1),fGn={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 hyr({value:e,label:t,checked:r,autoFocus:n,onSelect:i}){return(0,pyr.jsx)(Dn,{role:"radio","aria-checked":r,"data-value":e,tabIndex:r?0:-1,autoFocus:n&&r,onClick:i,sx:fGn,children:t})}var myr={ArrowRight:1,ArrowLeft:-1};function dGn(e,t,r){if(e.key==="Tab"){let n=t+(e.shiftKey?-1:1);return n>=0&&n<r?n:void 0}return(t+myr[e.key]+r)%r}function gyr(e,t,r,n){return i=>{if(i.key==="ArrowUp"||i.key==="ArrowDown"){if(!n)return;i.preventDefault(),n();return}if(i.key!=="Tab"&&!myr[i.key]){db(i);return}let o=dGn(i,e.indexOf(t),e.length);o!==void 0&&(i.preventDefault(),r(e[o]),i.currentTarget.querySelector(`[data-value="${e[o]}"]`)?.focus())}}var yyr=P(ge(),1);function AB(e){return e?.querySelector('[aria-checked="true"]')}function vyr(e,t){(0,yyr.useEffect)(()=>{let r=e.current;if(!r?.contains(document.activeElement))return;let n=AB(r);n&&n!==document.activeElement&&n.focus()},[e,t])}var sze=P(z(),1),hGn={border:1,borderColor:"divider",borderRadius:1,height:40,p:"2px",flexShrink:0};function x0e({label:e,options:t,value:r,onChange:n,optionLabel:i=u=>u,groupRef:o,autoFocus:a,onTrack:s,onToggleRow:l}){return vyr(o,r),(0,sze.jsx)(Rt,{ref:o,direction:"row",role:"radiogroup","aria-label":e,spacing:"2px",onFocus:s,onKeyDown:gyr(t,r,n,l),sx:hGn,children:t.map(u=>(0,sze.jsx)(hyr,{value:u,label:i(u),checked:u===r,autoFocus:a,onSelect:()=>n(u)},u))})}var lze=P(z(),1);function xyr({value:e,onChange:t,cloneState:r}){let{nodes:n,names:i,visible:o}=Bu(),a=(0,byr.useRef)(null);return!o||!n||!e?null:(0,lze.jsx)(x0e,{label:"Machine",options:i,value:e,onChange:t,optionLabel:s=>(0,lze.jsx)(dyr,{nodes:n,name:s,clone:r(s)}),groupRef:a,autoFocus:!1,onTrack:()=>{}})}var Syr=P(z(),1);function Tyr({value:e,onChange:t,placeholder:r,inputRef:n,autoFocus:i,onTrack:o}){return(0,Syr.jsx)(Yn,{value:e,onChange:a=>t(a.target.value),onKeyDown:db,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 _yr=P(ge(),1);var B2={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:Kee,submitLabel:"Start session"},design:{placeholder:"Describe the design task...",submitLabel:"Start design"}},Cyr=Object.keys(B2);var cze=P(z(),1);function wyr({anchor:e,harness:t,harnesses:r,onPick:n,onClose:i}){return(0,cze.jsx)(Dl,{open:e!==null,anchorEl:e,onClose:i,slotProps:{list:{dense:!0,"aria-label":"Harness"}},children:r.map(o=>(0,cze.jsx)(fn,{role:"menuitemradio","aria-checked":o===t,selected:o===t,onClick:()=>{n(o),i()},sx:{fontSize:13},children:gu(o)},o))})}var IR=P(z(),1);function kyr(e){return t=>t==="prompt"&&e?(0,IR.jsxs)(IR.Fragment,{children:["prompt",(0,IR.jsx)(le,{component:"span",sx:{fontWeight:400,whiteSpace:"pre"},children:` \xB7 ${gu(e)}`}),(0,IR.jsx)(Up,{sx:{fontSize:18,mr:-.75}})]}):t}var DR=P(z(),1);function Eyr({draft:e,harness:t,harnesses:r,focus:n}){let[i,o]=(0,_yr.useState)(null),a=e.mode==="prompt"&&r.length>1,s=()=>o(AB(n.modeRef.current)??null),l=u=>{a&&u==="prompt"?s():e.setMode(u)};return(0,DR.jsxs)(DR.Fragment,{children:[(0,DR.jsx)(x0e,{label:"Mode",options:Cyr,value:e.mode,onChange:l,optionLabel:kyr(r.length>1?t:void 0),groupRef:n.modeRef,autoFocus:n.autoFocus==="mode",onTrack:n.trackMode,onToggleRow:a?s:void 0}),(0,DR.jsx)(wyr,{anchor:i,harness:t,harnesses:r,onPick:e.setHarness,onClose:()=>o(null)})]})}var Fyr=P(ge(),1);var uze=P(z(),1),pGn={zIndex:e=>e.zIndex.modal+1};function Ryr({open:e,anchor:t,children:r}){return(0,uze.jsx)(zA,{open:e,anchorEl:t,placement:"bottom-start",sx:pGn,children:(0,uze.jsx)(an,{sx:{maxHeight:240,overflowY:"auto",width:t?.clientWidth},onMouseDown:n=>n.preventDefault(),children:r})})}function Ayr(e){return{htmlInput:{role:"combobox","aria-label":"Repo","aria-expanded":e},input:{sx:{fontSize:13,height:40}}}}var Pyr=P(bF(),1);function Lyr({open:e,highlighted:t,accept:r,close:n,navigate:i,openList:o}){return a=>{if(!e){if(a.key==="ArrowDown"){a.preventDefault(),o();return}db(a);return}if(a.key!=="Escape"){if(a.key==="Enter"){if(a.preventDefault(),t===void 0)return;(0,Pyr.flushSync)(()=>{r(t),n()}),db(a);return}if(a.key!=="Tab"){i(a);return}t!==void 0&&r(t),n()}}}function Myr(e,t){let r=t.trim().toLowerCase();return r?e.filter(n=>J1(n).toLowerCase().includes(r)):e}var fze=P(ge(),1);function Iyr(){let[e,t]=(0,fze.useState)(!1),[r,n]=(0,fze.useState)("");return{open:e,query:r,show:()=>t(!0),filterBy:i=>{n(i),t(!0)},close:()=>{t(!1),n("")}}}var Nyr=P(ge(),1);var Dyr=e=>e?J1(e):"";function Oyr(e){let[t,r]=(0,Nyr.useState)(()=>Dyr(e));return{text:t,setText:r,showRepo:n=>r(Dyr(n))}}function Byr(e,t,r){let n=Iyr(),i=Oyr(t),o=Myr(e,n.query),a=f=>{r(f),i.showRepo(f)},s=Rk(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:Lyr({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 PB=P(z(),1);function $yr({repos:e,value:t,onChange:r,inputRef:n,autoFocus:i,onTrack:o}){let a=Byr(e,t,r),s=(0,Fyr.useRef)(null);return(0,PB.jsxs)(le,{ref:s,sx:{flex:1,minWidth:0},children:[(0,PB.jsx)(Yn,{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:Ayr(a.open)}),(0,PB.jsx)(Ryr,{open:a.open,anchor:s.current,children:(0,PB.jsx)(Kge,{repos:a.filtered,selected:t,highlight:a.highlight,onHighlight:a.setHighlight,onSelect:a.pick})})]})}var Fk=P(z(),1);function zyr({cloneState:e,...t}){let{draft:r,focus:n}=t,{repos:i}=$n();return(0,Fk.jsxs)(Rt,{spacing:1,sx:{p:1},children:[(0,Fk.jsx)(Tyr,{value:r.prompt,onChange:r.setPrompt,placeholder:B2[r.mode].placeholder,inputRef:n.promptRef,autoFocus:n.autoFocus==="prompt",onTrack:n.trackPrompt}),(0,Fk.jsxs)(Rt,{direction:"row",spacing:1,sx:{alignItems:"flex-start"},children:[(0,Fk.jsx)($yr,{repos:i,value:r.cwd,onChange:r.setCwd,inputRef:n.repoRef,autoFocus:n.autoFocus==="repo",onTrack:n.trackRepo}),(0,Fk.jsx)(Eyr,{...t})]}),(0,Fk.jsx)(xyr,{value:r.node,onChange:r.setNode,cloneState:e})]})}var LB=P(z(),1),mGn=["Enter start","Shift+Enter newline","Esc close"],gGn={alignItems:"center",px:1.5,py:1,borderTop:1,borderColor:"divider",bgcolor:"action.hover"};function Hyr({submitLabel:e,disabled:t=!1}){return(0,LB.jsxs)(Rt,{direction:"row",spacing:1.5,sx:gGn,children:[(0,LB.jsx)(Rt,{direction:"row",spacing:1.5,sx:{mr:"auto"},children:mGn.map(r=>(0,LB.jsx)(Oe,{variant:"caption",color:"text.secondary",children:r},r))}),(0,LB.jsx)(qt,{type:"submit",variant:"contained",size:"small",disabled:t,children:e})]})}function Uyr({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}]:[];Ent(B2[e].sessionMode,n,(u,f)=>o.onCreateAssist(u,f,...l),()=>{},r)}function Wyr(e,t,r,n){return r.kind==="blocked"?!1:r.kind==="clone"?(Hge(r.prompt,n.onCreateAssist),!0):(Uyr({mode:e.mode,harness:t,prompt:e.prompt,cwd:r.cwd,node:e.node},n),e.clear(),!0)}var NR=P(ge(),1);function Vyr(e,t){let r=(0,NR.useRef)(e),n=(0,NR.useRef)(null),i=(0,NR.useRef)(null),o=(0,NR.useRef)(null),a=(0,NR.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:AB(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 yGn(e,t,r){return e?r.kind==="cloned"?{kind:"launch",cwd:r.cwd}:r.kind==="clonable"?{kind:"clone",prompt:Zge(r,t)}:{kind:"blocked"}:{kind:"launch",cwd:e}}function Gyr(e,t){let{names:r,visible:n}=Bu(),i=qge(t,n?r:[void 0]);return{cloneState:i,target:yGn(t,e,i(e))}}var MB=P(z(),1);function qyr({draft:e,launchers:t,onClose:r}){let n=Vyr(e.focus,e.setFocus),i=ayr(wk()),o=i.includes(e.harness)?e.harness:"claude",{target:a,cloneState:s}=Gyr(e.node,e.cwd),l=u=>{u.preventDefault(),Wyr(e,o,a,t)&&r()};return(0,MB.jsx)(h0e,{onClose:r,onEntered:n.restore,centered:!0,children:(0,MB.jsxs)("form",{onSubmit:l,children:[(0,MB.jsx)(zyr,{draft:e,harness:o,harnesses:i,focus:n,cloneState:s}),(0,MB.jsx)(Hyr,{submitLabel:a.kind==="clone"?"Clone":B2[e.mode].submitLabel,disabled:a.kind==="blocked"})]})})}var T0e=P(ge(),1);function jyr(e){let[t,r]=(0,T0e.useState)(null);return(0,T0e.useEffect)(()=>{let n=!1;return(async()=>{let i="draft";try{let o=e?`?cwd=${encodeURIComponent(e)}`:"",s=await(await fetch(`/api/new-session-defaults${o}`)).json();Object.hasOwn(B2,s?.mode)&&(i=s.mode)}catch{}n||r(i)})(),()=>{n=!0}},[e]),t}function Yyr(e,{visible:t,names:r,selected:n}){if(t)return e&&r.includes(e)?e:n}var F2=P(ge(),1),Kyr={field:"prompt",selectionStart:0,selectionEnd:0};function Xyr(){let[e,t]=(0,F2.useState)(""),[r,n]=(0,F2.useState)(),[i,o]=(0,F2.useState)(),[a,s]=(0,F2.useState)("claude"),[l,u]=(0,F2.useState)(),[f,d]=(0,F2.useState)(Kyr),h=(0,F2.useCallback)(()=>{t(""),n(void 0),o(void 0),u(void 0),d(Kyr)},[]);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 Zyr(e=jyr){let{selectedCwd:t}=$n(),r=Bu(),n=Xyr(),i=n.cwd??t,o=e(i);return o?{...n,cwd:i,mode:n.mode??o,node:Yyr(n.node,r)}:null}function Qyr(e){No(Kn("newSession").matches,e)}var Jyr=P(ge(),1);function e1r(e,t){let{selectedCwd:r}=$n(),[n,i]=Pc(),o=n.get("new"),a=n.get("newCwd")??r,{setPrompt:s,setCwd:l,setFocus:u}=e??{};(0,Jyr.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 r1r=P(z(),1);function t1r({launchers:e}){let[t,r]=(0,S0e.useState)(!1),n=Zyr(),i=(0,S0e.useCallback)(()=>r(!0),[]);return Qyr(i),e1r(n,i),!t||!n?null:(0,r1r.jsx)(qyr,{draft:n,launchers:e,onClose:()=>r(!1)})}var C0e=P(z(),1);function n1r({reconnecting:e}){return(0,C0e.jsx)(ol,{open:e,anchorOrigin:{vertical:"bottom",horizontal:"center"},children:(0,C0e.jsx)(ni,{severity:"info",variant:"filled",icon:(0,C0e.jsx)(mo,{size:16,color:"inherit"}),children:"Reconnecting\u2026"})})}var iv=P(z(),1);function i1r({socket:e,onViewLaunchedSession:t}){return(0,iv.jsxs)(iv.Fragment,{children:[(0,iv.jsx)(nyr,{}),(0,iv.jsx)(t1r,{launchers:{onCreate:e.createSession,onCreateDesign:e.createDesignSession,onCreateHarness:e.createHarnessSession,onCreateAssist:e.createAssistSession}}),(0,iv.jsx)(n1r,{reconnecting:e.reconnecting}),(0,iv.jsx)(vu,{error:e.error,onClose:e.clearError}),(0,iv.jsx)(oyr,{notice:e.success,onClose:e.clearSuccess,onView:t})]})}var f0=P(ge(),1);var vGn=6e4;function o1r(e){let t=e.nodes?.local,r=e.names.join(`
3976
+ `,vmr={...ymr,borderColor:"warning.main",borderLeft:4,borderLeftColor:"warning.main",bgcolor:e=>Ea(e.palette.warning.main,.08)},hWn={...vmr,borderLeftColor:"transparent",backgroundImage:e=>`repeating-linear-gradient(to bottom, ${e.palette.warning.main} 0 ${mmr}px, transparent ${mmr}px ${q$e}px)`,backgroundOrigin:"border-box",backgroundRepeat:"repeat-y",backgroundSize:`4px ${q$e}px`,animation:`${dWn} 0.9s linear infinite`,"@media (prefers-reduced-motion: reduce)":{animation:"none"}},gmr={"& .MuiButtonBase-root:focus-visible":{outline:"2px solid",outlineColor:"primary.main",outlineOffset:"2px"}},Z1={card:ymr,inProgressCard:vmr,inProgressRunningCard:hWn,main:{minWidth:0,textAlign:"left"},stretchedNameLink:{display:"block",fontWeight:500,color:"text.primary",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",...fWn},meta:{display:"flex",alignItems:"center",gap:1,...pmr,width:"fit-content",maxWidth:"100%",fontSize:"0.75rem",color:"text.secondary","& a, & p":{fontSize:"0.75rem"},...gmr},id:{color:"text.disabled"},actions:{display:"flex",alignItems:"center",gap:1,flexShrink:0,...pmr,...gmr}};function Nge(e){let t=e.peakContextPct>0?` \xB7 \u2593 ${Math.round(e.peakContextPct)}%`:"";return`\u2191 ${Hd(e.tokensUp)} \u2193 ${Hd(e.tokensDown)} \xB7 \u23F1 ${o0(e.activeMs)}${t}`}var xmr=P(z(),1),pWn={width:6,height:6,borderRadius:"50%",bgcolor:"currentColor",flexShrink:0};function bmr(){return(0,xmr.jsx)(le,{component:"span",sx:pWn})}var vY=P(z(),1),Tmr={display:"inline-flex",alignItems:"center",gap:.625,color:"warning.main",fontWeight:500,fontSize:"0.75rem",whiteSpace:"nowrap",borderRadius:1};function Smr({item:e,openSession:t,onSelectSession:r}){let n=Xi();if(e.status!=="in-progress"||e.currentPhase==null)return null;let i=`phase ${e.currentPhase} of ${e.totalPhases??e.currentPhase}`,o=(0,vY.jsx)(bmr,{});if(!t)return(0,vY.jsxs)(le,{component:"span",sx:Tmr,children:[o,i]});let a=()=>{r?.(t.id),n("/sessions")};return(0,vY.jsxs)(Dn,{sx:Tmr,title:`Open the ${t.status} session`,onClick:a,children:[o,i]})}var op=P(z(),1),mWn={display:"inline-flex",alignItems:"center",gap:.5},gWn={width:8,height:8,borderRadius:"50%",flexShrink:0},yWn={whiteSpace:"nowrap"};function vWn({type:e}){let t=_ge[e];return(0,op.jsxs)(le,{component:"span",sx:mWn,children:[(0,op.jsx)(le,{component:"span",sx:{...gWn,bgcolor:`${t}.main`}}),e]})}function bWn({item:e}){return e.usageTotal?(0,op.jsx)(lr,{title:Nge(e.usageTotal),children:(0,op.jsx)(le,{component:"span",sx:yWn,children:`\u23F1 ${o0(e.usageTotal.activeMs)}`})}):null}function Cmr({item:e,openSession:t,onSelectSession:r}){return(0,op.jsxs)(le,{sx:Z1.meta,children:[(0,op.jsx)(le,{component:"span",sx:Z1.id,children:so(e.id)}),(0,op.jsx)(vWn,{type:e.type}),(0,op.jsx)(Smr,{item:e,openSession:t,onSelectSession:r}),(0,op.jsx)(hP,{jiraKey:e.jiraKey}),(0,op.jsx)(dP,{githubIssue:e.githubIssue,variant:"icon"}),(0,op.jsx)(bWn,{item:e})]})}function wmr(e,t){return e.filter(r=>AP(r)?.itemId===t).reduce((r,n)=>r&&r.startedAt>=n.startedAt?r:n,void 0)}var _mr=P(z(),1),xWn={todo:"\u25CB","in-progress":"\u25D4",done:"\u25CF",wontdo:"\u2715"},TWn={todo:"text.disabled","in-progress":"warning.main",done:"success.main",wontdo:"error.main"};function SWn(e){return{fontSize:"1.125rem",flexShrink:0,color:TWn[e]}}function kmr({status:e}){return(0,_mr.jsx)(Oe,{sx:SWn(e),children:xWn[e]})}function Oge(e){return e.status==="todo"||e.status==="in-progress"}function CWn(e){if(e.status==="done")return e.totalPhases;if(e.status==="in-progress")return e.currentPhase}function wWn(e,t,r){return r?"complete":e<t?"done":e===t?"current":"remaining"}function Emr(e){let t=e.totalPhases,r=CWn(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:wWn(o+1,r,n)}))}}var pB=P(z(),1),kWn={done:"text.secondary",current:"warning.main",remaining:"divider",complete:"success.main"},_Wn={display:"inline-flex",alignItems:"center",gap:.5,flexShrink:0},EWn={fontSize:"0.6875rem",color:"text.secondary",fontVariantNumeric:"tabular-nums"},RWn={display:"inline-flex",alignItems:"center",gap:"2px"},AWn={width:6,height:12,borderRadius:"1px",flexShrink:0};function Rmr({item:e}){let t=Emr(e);return t?(0,pB.jsxs)(le,{sx:_Wn,title:`Phase ${t.reached} of ${t.total}`,children:[(0,pB.jsx)(le,{component:"span",sx:EWn,children:`${t.reached}/${t.total}`}),(0,pB.jsx)(le,{component:"span",sx:RWn,"aria-hidden":!0,children:t.segments.map(r=>(0,pB.jsx)(le,{component:"span","data-segment":r.kind,sx:{...AWn,bgcolor:kWn[r.kind]}},r.phase))})]}):null}var Ymr=P(ge(),1);var $ge=P(ge(),1);var bY=P(z(),1);function Amr({tooltip:e,disabled:t,onClick:r}){return(0,bY.jsx)(lr,{title:e,children:(0,bY.jsx)(le,{component:"span",sx:{display:"flex"},children:(0,bY.jsx)(qt,{startIcon:(0,bY.jsx)(Fp,{}),disabled:t,onClick:r,children:"Build"})})})}var j$e=P(z(),1);function Bge(e){let t=[];return e.exposeCodexActions&&t.push({kind:"codex",label:"with Codex"}),e.exposePiActions&&t.push({kind:"pi",label:"with pi"}),t}function Fge({anchorEl:e,open:t,onClose:r,options:n,onSelect:i,stop:o}){return(0,j$e.jsx)(Dl,{anchorEl:e,open:t,onClose:r,onClick:o,children:n.map(a=>(0,j$e.jsx)(fn,{onClick:s=>{o(s),i(a.kind)},children:a.label},a.kind))})}var Q1=P(z(),1);function Pmr({tooltip:e,disabled:t,onBuild:r,onSelectHarness:n}){let i=Bge(wk()),o=(0,$ge.useRef)(null),[a,s]=(0,$ge.useState)(!1),l=u=>u.stopPropagation();return(0,Q1.jsxs)(Q1.Fragment,{children:[(0,Q1.jsxs)(tT,{ref:o,variant:"contained",color:"success",size:"small",disabled:t,children:[(0,Q1.jsx)(Amr,{tooltip:e,disabled:t,onClick:u=>{l(u),r()}}),i.length>0&&(0,Q1.jsx)(qt,{"aria-label":"Build with a different harness",onClick:u=>{l(u),s(!0)},children:(0,Q1.jsx)(Up,{})})]}),(0,Q1.jsx)(Fge,{anchorEl:o.current,open:a,onClose:()=>s(!1),options:i,onSelect:u=>{s(!1),n(u)},stop:l})]})}var Lmr=P(z(),1),mB=ut((0,Lmr.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 Ek=P(z(),1),PWn={vertical:"bottom",horizontal:"center"};function zge({clone:e}){let{prompt:t,confirm:r,cancel:n,error:i,dismissError:o}=e;return(0,Ek.jsxs)(Ek.Fragment,{children:[t&&(0,Ek.jsx)(vo,{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,Ek.jsx)(ol,{open:!!i,autoHideDuration:8e3,onClose:o,anchorOrigin:PWn,children:(0,Ek.jsx)(ni,{severity:"error",onClose:o,variant:"filled",children:i})})]})}var l0=P(ge(),1);function Y$e(e){return["backlog","clone",e]}function Hge(e,t){t(Y$e(e.origin),void 0,{title:`Clone ${e.displayName}`,subtitle:e.origin,...e.node&&{node:e.node}})}function Mmr(e,t){return!!e&&e.length===t.length&&e.every((r,n)=>r===t[n])}function Imr(e,t,r){let n=Y$e(t.origin),i=new Set(e.filter(o=>Mmr(o.assistArgs,n)).map(o=>o.id));return Hge(t,r),{args:n,target:t.cloneTarget,node:t.node,preexisting:i}}function Dmr(e,t){if(!t.id){let n=e.find(i=>Mmr(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 Uge(e){let{setSelectedCwd:t}=$n(),{launchAssist:r}=$l(),[n,i]=(0,l0.useState)(null),[o,a]=(0,l0.useState)(null),[s,l]=(0,l0.useState)(null),u=(0,l0.useCallback)(p=>{l(null),i(p)},[]),f=(0,l0.useCallback)(()=>i(null),[]),d=(0,l0.useCallback)(()=>l(null),[]),h=(0,l0.useCallback)(()=>{n&&(a(Imr(e,n,r)),i(null))},[n,e,r]);return(0,l0.useEffect)(()=>{if(!o)return;let p=Dmr(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 gB(e,t){return`Not cloned ${e?`on ${e}`:"locally"} \u2014 click to clone into ${t}`}var P2=P(z(),1),LWn={border:1,borderStyle:"dashed"};function Nmr({target:e}){let t=Uge(Dge());return(0,P2.jsxs)(P2.Fragment,{children:[(0,P2.jsx)(lr,{title:gB(e.node,e.cloneTarget),children:(0,P2.jsx)(ir,{"aria-label":"Clone",size:"small",sx:LWn,onClick:r=>{r.stopPropagation(),t.requestClone(e)},children:(0,P2.jsx)(mB,{fontSize:"small"})})}),(0,P2.jsx)(zge,{clone:t})]})}function Omr(e,t,r,n){let i=r.node?[{node:r.node}]:[];e(["backlog","run",so(t),...n],r.cwd,...i)}var xY=P(z(),1);function Bmr({tooltip:e,disabled:t,onClick:r}){return(0,xY.jsx)(lr,{title:e,children:(0,xY.jsx)("span",{children:(0,xY.jsx)(ir,{"aria-label":"Build",color:"success",size:"small",disabled:t,onClick:r,children:(0,xY.jsx)(Fp,{})})})})}function MWn(e,t){let r=e.assistArgs;if(r?.[0]!=="backlog"||r[1]!=="run"||!r[2])return!1;try{return _J(r[2])===t}catch{return!1}}function Fmr(e,t){return e.find(r=>r.status!=="done"&&r.status!=="error"&&(MWn(r,t)||AP(r)?.itemId===t))}var Wge=P(ge(),1),K$e=(0,Wge.createContext)({nodes:null,names:[],visible:!1,selected:void 0,select:()=>{}});function Bu(){return(0,Wge.useContext)(K$e)}function Vge(){let{nodes:e,selected:t}=Bu();return t&&t!==e?.local?t:void 0}var Hmr=P(ge(),1);var Gge=P(ge(),1);function $mr(e,t){return Promise.all(t.map(async r=>{let n=await IWn(e,r).catch(()=>({}));return[r,n]}))}async function IWn(e,t){let r=await fetch(tn(`/api/repo-location?origin=${encodeURIComponent(e)}`,t||void 0));return r.ok?r.json():{}}var X$e="\0";function zmr(e,t){let[r,n]=(0,Gge.useState)(null);return(0,Gge.useEffect)(()=>{if(!e||!t)return;let i=!1;return $mr(e,t.split(X$e)).then(o=>{i||n({origin:e,byNode:Object.fromEntries(o)})}),()=>{i=!0}},[e,t]),r}function qge(e,t){let{cloneOn:r,originOf:n}=$n(),i=e?n(e):void 0,o=t.filter(s=>!e||!r(e,s)).map(s=>s??"").join(X$e),a=zmr(i,o);return(0,Hmr.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 vB=P(ge(),1);var Umr=P(z(),1);function yB({inputRef:e,value:t,onChange:r,onKeyDown:n,placeholder:i,autoFocus:o}){return(0,Umr.jsx)(Yn,{autoFocus:o,inputRef:e,value:t,onChange:a=>r(a.target.value),onKeyDown:n,placeholder:i,size:"small",fullWidth:!0,slotProps:{input:{sx:{fontSize:12}}},sx:{p:.5}})}var jge=P(ge(),1);function Yge(e){let t=(0,jge.useRef)(null);return(0,jge.useEffect)(()=>{e&&t.current?.scrollIntoView({block:"nearest"})},[e]),t}var Vmr=P(z(),1);function Wmr({cwd:e,selected:t,highlighted:r,onHover:n,onSelect:i}){let o=Yge(r);return(0,Vmr.jsx)(fn,{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:J1(e)})}var Z$e=P(z(),1);function Kge({repos:e,selected:t,highlight:r,onHighlight:n,onSelect:i}){return(0,Z$e.jsx)(Cp,{dense:!0,children:e.map((o,a)=>(0,Z$e.jsx)(Wmr,{cwd:o,selected:o===t,highlighted:a===r,onHover:()=>n(a),onSelect:()=>i(o)},o))})}var Xge=P(ge(),1);function Rk(e,t,r,n){let[i,o]=(0,Xge.useState)(0);return(0,Xge.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 TY=P(z(),1);function J1(e){let t=e.includes("\\")?"\\":"/";return e.split(t).filter(Boolean).pop()??e}var DWn={...OP};function Gmr({repos:e,selected:t,onSelect:r,close:n}){let[i,o]=(0,vB.useState)(""),a=(0,vB.useRef)(null);(0,vB.useEffect)(()=>{a.current?.focus()},[]);let s=i.trim().toLowerCase(),l=s?e.filter(p=>p.toLowerCase().includes(s)):e,{highlight:u,setHighlight:f,onKeyDown:d}=Rk(l,s,r,n);return(0,TY.jsxs)(an,{elevation:4,sx:DWn,children:[(0,TY.jsx)(yB,{inputRef:a,value:i,onChange:o,onKeyDown:d,placeholder:"Filter repos..."}),(0,TY.jsx)(Kge,{repos:l,selected:t,highlight:u,onHighlight:f,onSelect:p=>{r(p),n()}})]})}function Zge(e,t){return{origin:e.origin,cloneTarget:e.cloneTarget,displayName:J1(e.origin),node:t}}function qmr(){let e=as(),t=Vge(),r=qge(e??"",[t])(t);return e?r.kind==="cloned"?{kind:"ready",cwd:r.cwd,node:t}:r.kind==="clonable"?{kind:"clone",prompt:Zge(r,t)}:{kind:"unavailable",node:t??"this machine"}:{kind:"ready",node:t}}function jmr(e,t){return t?`Not cloned on ${t}`:e?"Already running \u2014 close that session to run it again":"Build"}var Qge=P(z(),1);function Jge({itemId:e,compact:t=!1}){let{launchAssist:r}=$l(),n=qmr(),i=Fmr(Dge(),e),[o,a]=(0,Ymr.useState)(!1);if(n.kind==="clone")return(0,Qge.jsx)(Nmr,{target:n.prompt});let s=n.kind==="unavailable"?n.node:void 0,l=o||i!==void 0||!!s,u=d=>{l||n.kind!=="ready"||(a(!0),Omr(r,e,n,d))},f=jmr(i!==void 0,s);return t?(0,Qge.jsx)(Bmr,{tooltip:f,disabled:l,onClick:d=>{d.stopPropagation(),u([])}}):(0,Qge.jsx)(Pmr,{tooltip:f,disabled:l,onBuild:()=>u([]),onSelectHarness:d=>u(["--harness",d])})}var Kmr=P(ge(),1);var bB=P(z(),1);function Xmr({itemId:e,starred:t,onToggled:r}){let n=as(),i=yr(),[o,a]=(0,Kmr.useState)(!1);return(0,bB.jsx)(lr,{title:t?"Unstar":"Star",children:(0,bB.jsx)("span",{children:(0,bB.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 HJ(e,!t,n,i),await r()}finally{a(!1)}}},children:t?(0,bB.jsx)(qee,{}):(0,bB.jsx)(jee,{})})})})}var Zmr=P(z(),1),Qmr=ut((0,Zmr.jsx)("path",{d:"M22 7h-9v2h9zm0 8h-9v2h9zM5.54 11 2 7.46l1.41-1.41 2.12 2.12 4.24-4.24 1.41 1.41zm0 8L2 15.46l1.41-1.41 2.12 2.12 4.24-4.24 1.41 1.41z"}),"Checklist");var SY=P(z(),1),NWn={display:"inline-flex",alignItems:"center",gap:.375,flexShrink:0,fontSize:"0.71875rem",color:"text.secondary","& svg":{fontSize:14}};function Jmr({count:e}){return e<1?null:(0,SY.jsx)(lr,{title:`${e} incomplete subtask${e===1?"":"s"}`,children:(0,SY.jsxs)(le,{component:"span",sx:NWn,children:[(0,SY.jsx)(Qmr,{}),e]})})}var L2=P(z(),1);function egr({item:e,onReload:t}){return(0,L2.jsxs)(L2.Fragment,{children:[(0,L2.jsx)(Jmr,{count:e.incompleteSubtasks}),(0,L2.jsx)(Rmr,{item:e}),(0,L2.jsx)(Xmr,{itemId:e.id,starred:e.starred,onToggled:t}),Oge(e)&&(0,L2.jsx)(Jge,{itemId:e.id,compact:!0})]})}var M2=P(z(),1);function OWn(e,t){return e?t?Z1.inProgressRunningCard:Z1.inProgressCard:Z1.card}function tgr({item:e,to:t,socket:r,onReload:n}){let i=wmr(r.sessions,e.id),o=e.status==="in-progress",a=o&&i?.status==="running";return(0,M2.jsxs)(le,{sx:OWn(o,a),children:[(0,M2.jsx)(kmr,{status:e.status}),(0,M2.jsxs)(le,{sx:Z1.main,children:[(0,M2.jsx)(xn,{component:ys,to:t,underline:"none",title:e.name,sx:Z1.stretchedNameLink,children:e.name}),(0,M2.jsx)(Cmr,{item:e,openSession:i,onSelectSession:r.selectSession})]}),(0,M2.jsx)(le,{sx:Z1.actions,children:(0,M2.jsx)(egr,{item:e,onReload:n})})]})}var ngr=P(z(),1),BWn={all:"items",story:"stories",bug:"bugs"},FWn={textAlign:"center",color:"text.disabled",py:6,px:2};function rgr({query:e,typeFilter:t}){let r=BWn[t],n=e.trim()?`No ${r} match your search.`:`No ${r} in the backlog.`;return(0,ngr.jsx)(le,{sx:FWn,children:n})}var ev=P(z(),1),$Wn={display:"flex",justifyContent:"center",py:6};function igr({loading:e,error:t,query:r,typeFilter:n,items:i,socket:o,itemPath:a,onReload:s}){if(e)return(0,ev.jsx)(le,{sx:$Wn,children:(0,ev.jsx)(mo,{})});let l=t&&(0,ev.jsx)(ni,{severity:"error",children:t});return i.length===0?l||(0,ev.jsx)(rgr,{query:r,typeFilter:n}):(0,ev.jsxs)(ev.Fragment,{children:[l,i.map(u=>(0,ev.jsx)(tgr,{item:u,to:a(u),socket:o,onReload:s},u.id))]})}var xB=P(ge(),1);function zWn(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 ogr({cwd:e,node:t,knownCwds:r,signal:n}){return(await fetch(Fl(zWn(r),e,t),{signal:n})).json()}function agr(){let{repos:e,selectedCwd:t,cloneOn:r}=$n(),n=Vge(),[i,o]=(0,xB.useState)([]),a=(0,xB.useMemo)(()=>e.map(l=>r(l,n)).filter(l=>!!l),[e,r,n]),s=t?r(t,n):void 0;return(0,xB.useEffect)(()=>{let l=new AbortController;return ogr({cwd:s,node:n,knownCwds:a,signal:l.signal}).then(o).catch(()=>{}),()=>l.abort()},[a,s,n]),{summaries:i,node:n}}var e0e=P(z(),1),HWn={borderStyle:"dashed"};function sgr({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,e0e.jsx)(sn,{label:`${o} (${a})`,size:"small",color:s?"primary":"default",variant:s?"filled":"outlined",disabled:!l&&!f,onClick:d,icon:f?(0,e0e.jsx)(mB,{}):void 0,sx:f?HWn:void 0});return!f||!u?h:(0,e0e.jsx)(lr,{describeChild:!0,title:gB(t,u),children:h})}var CY=P(z(),1),UWn={flexWrap:"wrap",gap:1,mb:2};function lgr({sessions:e}){let{summaries:t,node:r}=agr(),{setSelectedCwd:n}=$n(),i=Uge(e);return t.length===0?null:(0,CY.jsxs)(Rt,{direction:"row",sx:UWn,children:[t.map(o=>(0,CY.jsx)(sgr,{summary:o,node:r,onSelectCwd:a=>r?n(a,r):n(a),onRequestClone:i.requestClone},o.origin)),(0,CY.jsx)(zge,{clone:i})]})}var ugr=P(z(),1);function cgr({value:e,onChange:t}){return(0,ugr.jsx)(Yn,{"data-backlog-focus":"search",fullWidth:!0,size:"small",placeholder:"Search backlog\u2026",value:e,onChange:r=>t(r.target.value),sx:{mb:2}})}var t0e=P(ge(),1);var r0e=P(z(),1);async function WWn(){return(await(await fetch("/api/backups/list")).json())[0]}function fgr(){let[e,t]=(0,t0e.useState)();return(0,t0e.useEffect)(()=>{WWn().then(t)},[]),e?(0,r0e.jsx)(lr,{title:new Date(e.createdAt).toLocaleString(),children:(0,r0e.jsxs)(xn,{component:ys,to:"/backups",underline:"hover",color:"text.secondary",variant:"body2",children:["Last backed up ",Do(String(e.createdAt))]})}):null}var TB=P(z(),1);function dgr(){let[e,t]=hB();return(0,TB.jsxs)(du,{value:e,exclusive:!0,size:"small","aria-label":"Status filter",onChange:(r,n)=>{n!==null&&t(n)},children:[(0,TB.jsx)(hs,{value:"todo",children:"Todo"}),(0,TB.jsx)(hs,{value:"done",children:"Done"}),(0,TB.jsx)(hs,{value:"all",children:"All"})]})}var SB=P(z(),1);function hgr({value:e,onChange:t}){return(0,SB.jsxs)(du,{value:e,exclusive:!0,size:"small","aria-label":"Type filter",onChange:(r,n)=>{n!==null&&t(n)},children:[(0,SB.jsx)(hs,{value:"all",children:"All"}),(0,SB.jsx)(hs,{value:"story",children:"Stories"}),(0,SB.jsx)(hs,{value:"bug",children:"Bugs"})]})}var Ak=P(z(),1),VWn={justifyContent:"space-between",alignItems:"center",mb:3},GWn={fontWeight:600},qWn={alignItems:"center"};function pgr({typeFilter:e,onTypeFilterChange:t}){return(0,Ak.jsxs)(Rt,{direction:"row",sx:VWn,children:[(0,Ak.jsx)(Oe,{variant:"h5",sx:GWn,children:"Backlog"}),(0,Ak.jsxs)(Rt,{direction:"row",spacing:2,sx:qWn,children:[(0,Ak.jsx)(fgr,{}),(0,Ak.jsx)(hgr,{value:e,onChange:t}),(0,Ak.jsx)(dgr,{})]})]})}var I2=P(z(),1);function ggr({items:e,loading:t,error:r,socket:n,onReload:i}){let o=as(),a=yr(),{query:s,setQuery:l,results:u,loading:f}=hmr(),[d,h]=(0,mgr.useState)("all"),p=u??e,m=d==="all"?p:p.filter(g=>g.type===d);return(0,I2.jsxs)(I2.Fragment,{children:[(0,I2.jsx)(pgr,{typeFilter:d,onTypeFilterChange:h}),(0,I2.jsx)(cgr,{value:s,onChange:l}),(0,I2.jsx)(lgr,{sessions:n.sessions}),(0,I2.jsx)(igr,{loading:t||f,error:u?null:r,query:s,typeFilter:d,items:m,socket:n,itemPath:g=>zT(g.id,o,a),onReload:i})]})}var f0e=P(ge(),1);var xR=P(ge(),1);async function Q$e(e,t,r){let n=await fetch(Fl(`/api/items/${so(e)}`,t.cwd,t.node),{signal:r});return n.ok?n.json():null}function ygr(e){let t=as(),r=yr(),[n,i]=(0,xR.useState)(null),[o,a]=(0,xR.useState)(!0),s=(0,xR.useCallback)(async()=>{i(await Q$e(e,{cwd:t,node:r}))},[e,t,r]);return(0,xR.useEffect)(()=>{let l=new AbortController,{signal:u}=l;return a(!0),(async()=>{try{let f=await Q$e(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}}var Pk={description:"item-section-description",acceptanceCriteria:"item-section-acceptance-criteria",subtasks:"item-section-subtasks",plan:"item-section-plan",activity:"item-section-activity",comments:"item-section-comments"},wY=140,J$e="--pinned-header-height",n0e=`var(${J$e}, ${wY}px)`,vgr=`calc(${n0e} + 8px)`;function Um(e){return{id:Pk[e],sx:{mb:2,scrollMarginTop:vgr}}}function i0e(e){return{id:`item-phase-${e}`,sx:{scrollMarginTop:vgr}}}var Lk=P(z(),1);function bgr({criteria:e}){return e.length===0?null:(0,Lk.jsxs)(le,{...Um("acceptanceCriteria"),children:[(0,Lk.jsx)(Oe,{variant:"overline",sx:{color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"},children:"Acceptance Criteria"}),(0,Lk.jsx)(L0,{disablePadding:!0,sx:{maxWidth:"72ch"},children:e.map((t,r)=>(0,Lk.jsxs)(iT,{disableGutters:!0,disablePadding:!0,sx:{py:.5,display:"flex",alignItems:"baseline"},children:[(0,Lk.jsxs)(Oe,{component:"span",sx:{color:"text.secondary",mr:1},children:[r+1,"."]}),(0,Lk.jsx)(yu,{component:"span",className:"markdown",html:MP(t)})]},t))})]})}var kY=P(z(),1),jWn={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function xgr({description:e}){return e?(0,kY.jsxs)(le,{...Um("description"),children:[(0,kY.jsx)(Oe,{variant:"overline",sx:jWn,children:"Description"}),(0,kY.jsx)(Ew,{content:e,renderMermaid:!0})]}):null}var Agr=P(ge(),1);function Tgr(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 Cgr=P(z(),1),YWn={color:"text.secondary",alignSelf:"flex-start",textAlign:"left"};function Sgr({hiddenCount:e,expanded:t,onToggle:r}){return e===0?null:(0,Cgr.jsx)(xn,{component:"button",type:"button",variant:"body2",underline:"hover",sx:YWn,onClick:n=>{n.stopPropagation(),r()},children:t?"Show fewer commits":`\u2026 and ${e} more commits`})}var TR=P(z(),1),KWn={display:"flex",alignItems:"center",gap:1},XWn={color:"text.secondary",fontFamily:"monospace"},ZWn={flex:1,overflowWrap:"anywhere"},QWn={color:"text.disabled","&:hover":{color:"text.primary"}};function wgr({conversation:e}){let{resumeSession:t}=$l(),r=n=>{n.stopPropagation(),t(e.sessionId,e.cwd??"",e.title,e.harness)};return(0,TR.jsxs)(le,{sx:KWn,children:[(0,TR.jsx)(Oe,{variant:"body2",component:"span",sx:XWn,children:"session"}),(0,TR.jsx)(Oe,{variant:"body2",component:"span",sx:ZWn,children:e.title??e.sessionId}),(0,TR.jsx)(ir,{size:"small",title:"Resume",sx:QWn,onClick:r,children:(0,TR.jsx)(Fp,{sx:{fontSize:14}})})]})}var _gr=P(z(),1),JWn={color:"text.disabled",ml:1};function kgr({gitRef:e}){return e.kind!=="commit"||!e.createdAt?null:(0,_gr.jsx)(le,{component:"span",sx:JWn,children:eVn(e.createdAt)})}function eVn(e){return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function Egr(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 tv=P(z(),1),tVn={color:"text.secondary",mr:1,fontFamily:"monospace"};function rVn({gitRef:e}){let t=Egr(e);return!e.url||e.kind==="session"?(0,tv.jsx)(tv.Fragment,{children:t}):(0,tv.jsx)(xn,{href:e.url,target:"_blank",rel:"noopener",onClick:r=>r.stopPropagation(),children:t})}function Rgr({gitRef:e}){return(0,tv.jsxs)(Oe,{variant:"body2",children:[(0,tv.jsx)(le,{component:"span",sx:tVn,children:e.kind}),(0,tv.jsx)(rVn,{gitRef:e}),(0,tv.jsx)(kgr,{gitRef:e})]})}var Mk=P(z(),1),nVn={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function Pgr({gitRefs:e,conversations:t=[]}){let[r,n]=(0,Agr.useState)(!1),{branches:i,commits:o,overflowCommits:a,prs:s,slacks:l}=Tgr(e),u=[...i,...o,...r?a:[],...s,...l];return u.length===0&&t.length===0?null:(0,Mk.jsxs)(le,{...Um("activity"),children:[(0,Mk.jsx)(Oe,{variant:"overline",sx:nVn,children:"Activity"}),(0,Mk.jsxs)(Rt,{spacing:1,children:[u.map(f=>(0,Mk.jsx)(Rgr,{gitRef:f},`${f.kind}:${f.ref}`)),t.map(f=>(0,Mk.jsx)(wgr,{conversation:f},f.sessionId)),(0,Mk.jsx)(Sgr,{hiddenCount:a.length,expanded:r,onToggle:()=>n(f=>!f)})]})]})}var SR=P(z(),1),iVn={alignItems:"center",fontSize:"0.75rem",color:"text.secondary",mb:.5},oVn={color:"text.disabled"},aVn={fontWeight:500},sVn={summary:"Phase summary",comment:"Comment"};function Lgr({comment:e}){return(0,SR.jsxs)(Rt,{direction:"row",spacing:.5,sx:iVn,children:[e.id!==void 0&&(0,SR.jsxs)(Oe,{variant:"caption",sx:oVn,children:["#",e.id]}),(0,SR.jsx)(Oe,{variant:"caption",sx:aVn,children:sVn[e.type]}),e.phase!==void 0&&(0,SR.jsxs)(Oe,{variant:"caption",children:["\xB7 Phase ",e.phase]}),(0,SR.jsxs)(Oe,{variant:"caption",children:["\xB7 ",lVn(e.timestamp)]})]})}function lVn(e){return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}var Mgr=P(z(),1),Igr=ut((0,Mgr.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 eze=P(ge(),1);async function Dgr(e,t,r,n){let i=await fetch(Fl(`/api/items/${so(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 rv=P(z(),1),cVn={mt:-.5,mr:-.5,color:"text.secondary"};function Ngr({itemId:e,commentId:t,onDeleted:r}){let n=as(),i=yr(),[o,a]=(0,eze.useState)(!1),[s,l]=(0,eze.useState)(),u=()=>l(void 0);return(0,rv.jsxs)(rv.Fragment,{children:[o&&(0,rv.jsx)(vo,{message:"Are you sure you want to delete this comment?",onConfirm:async()=>{a(!1);try{await Dgr(e,t,n,i),await r()}catch(f){l(f instanceof Error?f.message:"Failed to delete comment")}},onCancel:()=>a(!1)}),(0,rv.jsx)(ol,{open:s!==void 0,autoHideDuration:6e3,onClose:u,children:(0,rv.jsx)(ni,{severity:"error",variant:"filled",onClose:u,children:s})}),(0,rv.jsx)(ir,{"aria-label":"Delete comment",size:"small",sx:cVn,onClick:()=>a(!0),children:(0,rv.jsx)(Igr,{fontSize:"inherit"})})]})}var CR=P(z(),1),uVn={summary:{bgcolor:"warning.light",borderColor:"warning.dark"},comment:{bgcolor:"action.selected",borderColor:"divider"}},fVn={justifyContent:"space-between",alignItems:"flex-start"},dVn={color:"text.primary",whiteSpace:"pre-wrap"};function hVn(e){return{p:1.5,bgcolor:e.bgcolor,borderColor:e.borderColor}}function Ogr({comment:e,itemId:t,onDeleted:r}){return(0,CR.jsxs)(an,{variant:"outlined",sx:hVn(uVn[e.type]),children:[(0,CR.jsxs)(Rt,{direction:"row",sx:fVn,children:[(0,CR.jsx)(Lgr,{comment:e}),e.id!==void 0&&t!==void 0&&r&&(0,CR.jsx)(Ngr,{itemId:t,commentId:e.id,onDeleted:r})]}),(0,CR.jsx)(Oe,{variant:"body2",sx:dVn,children:e.text})]})}var CB=P(z(),1),pVn={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function Bgr({comments:e,itemId:t,onCommentDeleted:r}){return e.length===0?null:(0,CB.jsxs)(le,{...Um("comments"),children:[(0,CB.jsx)(Oe,{variant:"overline",sx:pVn,children:"Comments"}),(0,CB.jsx)(Rt,{spacing:1,children:e.map((n,i)=>(0,CB.jsx)(Ogr,{comment:n,itemId:t,onDeleted:r},`${n.timestamp}-${i}`))})]})}var Fgr=P(z(),1);function wB({total:e,sx:t}){return(0,Fgr.jsx)(Oe,{sx:t,children:Nge(e)})}var zgr=P(z(),1),mVn={color:"text.secondary",fontSize:"0.75rem"};function $gr({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,zgr.jsx)(wB,{total:t,sx:mVn})}var D2=P(z(),1);function Hgr({checks:e}){return(0,D2.jsxs)(le,{sx:{mt:1,pt:1},children:[(0,D2.jsx)(no,{sx:{mb:1}}),(0,D2.jsx)(Oe,{variant:"overline",sx:{color:"text.disabled",letterSpacing:"0.08em"},children:"Manual Checks"}),(0,D2.jsx)(L0,{disablePadding:!0,sx:{ml:.5,mt:.5},children:e.map(t=>(0,D2.jsxs)(iT,{disableGutters:!0,disablePadding:!0,sx:{py:.25,display:"flex",alignItems:"baseline"},children:[(0,D2.jsx)(Oe,{component:"span",sx:{mr:1,fontSize:"0.875rem",color:"text.secondary"},children:"\u2610"}),(0,D2.jsx)(yu,{component:"span",className:"markdown",sx:{fontSize:"0.875rem",color:"text.secondary"},html:MP(t)})]},t))})]})}var o0e={done:{borderColor:"success.light",bgcolor:"success.light"},current:{borderColor:"info.main",bgcolor:"info.light",ring:"info.light"},upcoming:{borderColor:"divider",bgcolor:"background.paper"}};function Ugr(e){let t=o0e[e];return{p:2,borderColor:t.ring?"info.main":t.borderColor,bgcolor:t.bgcolor,...t.ring?{boxShadow:"0 0 0 2px"}:{}}}var Wgr={done:"\u2713",current:"\u2022",upcoming:"\u2022"};var qgr=P(ge(),1);var Vgr=P(ge(),1),nv=P(z(),1);function Ggr({phaseName:e,onConfirm:t,onCancel:r}){let[n,i]=(0,Vgr.useState)("");return(0,nv.jsxs)(Ps,{open:!0,onClose:r,maxWidth:"xs",fullWidth:!0,children:[(0,nv.jsxs)(Il,{children:["Rewind to ",e,"?"]}),(0,nv.jsxs)(Ml,{children:[(0,nv.jsx)(Oe,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"This will mark all later phases as incomplete."}),(0,nv.jsx)(Yn,{fullWidth:!0,multiline:!0,rows:3,size:"small",placeholder:"Reason for rewinding...",value:n,onChange:o=>i(o.target.value)})]}),(0,nv.jsxs)(cu,{children:[(0,nv.jsx)(qt,{onClick:r,children:"Cancel"}),(0,nv.jsx)(qt,{variant:"contained",color:"warning",disabled:n.trim().length===0,onClick:()=>t(n.trim()),children:"Rewind"})]})]})}var wR=P(z(),1);function jgr({itemId:e,phaseNumber:t,phaseName:r,onRewound:n}){let i=as(),o=yr(),[a,s]=(0,qgr.useState)(!1);return(0,wR.jsxs)(wR.Fragment,{children:[(0,wR.jsx)(qt,{size:"small",color:"warning",variant:"outlined",onClick:()=>s(!0),sx:{ml:"auto",textTransform:"none",fontSize:"0.75rem"},children:"Rewind"}),a&&(0,wR.jsx)(Ggr,{phaseName:r,onConfirm:async l=>{await $et(e,t,l,i,o),await n()},onCancel:()=>s(!1)})]})}var kB=P(z(),1),gVn={done:{label:"Done",color:"success"},current:{label:"In Progress",color:"info"},upcoming:{label:"Upcoming",color:"default"}},yVn={alignItems:"center",mb:1},vVn={fontWeight:500},bVn={fontWeight:500,fontSize:"0.75rem"};function Ygr({phase:e,index:t,status:r,itemId:n,onRewind:i}){let o=gVn[r],a=r==="done"&&n!==void 0&&i;return(0,kB.jsxs)(Rt,{direction:"row",spacing:1,sx:yVn,children:[(0,kB.jsxs)(Oe,{sx:vVn,children:["Phase ",t+1,": ",e.name]}),(0,kB.jsx)(sn,{label:o.label,size:"small",color:o.color,sx:bVn}),a&&(0,kB.jsx)(jgr,{itemId:n,phaseNumber:t+1,phaseName:e.name,onRewound:i})]})}var _Y=P(z(),1),xVn={color:"text.secondary",fontSize:"0.75rem",letterSpacing:"0.08em",display:"block"},TVn={color:"text.secondary",fontSize:"0.75rem",fontFamily:"monospace",display:"block"};function Kgr({sessions:e}){return(0,_Y.jsxs)(le,{sx:{mb:1},children:[(0,_Y.jsx)(Oe,{variant:"overline",sx:xVn,children:"Sessions"}),e.map(t=>(0,_Y.jsx)(Oe,{sx:TVn,children:`${t.hostname} / ${t.osUser} / ${t.claudeSessionId}`},t.claudeSessionId))]})}var Zgr=P(z(),1),SVn={color:"text.secondary",fontSize:"0.75rem",mb:1,display:"block"};function Xgr({usage:e}){return(0,Zgr.jsx)(wB,{total:e,sx:SVn})}var _B=P(z(),1);function Qgr({tasks:e,marker:t}){return(0,_B.jsx)(L0,{disablePadding:!0,sx:{ml:.5},children:e.map(r=>(0,_B.jsxs)(iT,{disableGutters:!0,disablePadding:!0,sx:{py:.25,display:"flex",alignItems:"baseline"},children:[(0,_B.jsx)(Oe,{component:"span",sx:{color:"text.secondary",mr:1},children:t}),(0,_B.jsx)(yu,{component:"span",className:"markdown",html:MP(r.task)})]},r.task))})}var Ik=P(z(),1);function Jgr({phase:e,index:t,status:r,itemId:n,usage:i,sessions:o,onRewind:a}){let s=e.manualChecks??[],l=i0e(t);return(0,Ik.jsxs)(an,{variant:"outlined",id:l.id,sx:{...Ugr(r),...l.sx},children:[(0,Ik.jsx)(Ygr,{phase:e,index:t,status:r,itemId:n,onRewind:a}),i&&(0,Ik.jsx)(Xgr,{usage:i}),(0,Ik.jsx)(Qgr,{tasks:e.tasks,marker:Wgr[r]}),s.length>0&&(0,Ik.jsx)(Hgr,{checks:s}),o&&o.length>0&&(0,Ik.jsx)(Kgr,{sessions:o})]})}var EY={name:"Review",tasks:[]};function a0e(e){return e.at(-1)?.name===EY.name?e.length-1:e.length}function s0e(e,t){if(t===void 0)return"upcoming";let r=e+1;return r<t?"done":r===t?"current":"upcoming"}function e0r(e=[]){return new Map(e.map(t=>[t.phaseIdx,t]))}function t0r(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 tze=P(z(),1);function r0r({phases:e,currentPhase:t,itemId:r,usage:n,sessions:i,onRewind:o}){let a=e0r(n),s=t0r(i),l=a0e(e),u=(i??[]).filter(d=>d.phaseIdx>=l),f=l===e.length&&u.length>0?[...e,EY]:e;return(0,tze.jsx)(Rt,{spacing:1.5,children:f.map((d,h)=>(0,tze.jsx)(Jgr,{phase:d,index:h,status:s0e(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 kR=P(z(),1),CVn={alignItems:"baseline",justifyContent:"space-between",mb:1},wVn={color:"text.secondary",display:"block",letterSpacing:"0.08em"};function n0r({phases:e,currentPhase:t,itemId:r,usage:n,sessions:i,onRewind:o}){return e.length===0?null:(0,kR.jsxs)(le,{...Um("plan"),children:[(0,kR.jsxs)(Rt,{direction:"row",sx:CVn,children:[(0,kR.jsx)(Oe,{variant:"overline",sx:wVn,children:"Plan"}),n&&n.length>0&&(0,kR.jsx)($gr,{usage:n})]}),(0,kR.jsx)(r0r,{phases:e,currentPhase:t,itemId:r,usage:n,sessions:i,onRewind:o})]})}var rze=P(z(),1),l0e=e=>{let{value:t,options:r,colors:n,onChange:i}=e;return(0,rze.jsx)(sT,{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,rze.jsx)(fn,{value:o,children:o},o))})};var o0r=P(z(),1),kVn={todo:{bg:"action.selected",text:"text.primary"},"in-progress":{bg:"warning.main",text:"warning.contrastText"},done:{bg:"success.main",text:"success.contrastText"}},_Vn=["todo","in-progress","done"];function i0r({current:e,onStatusChange:t}){return(0,o0r.jsx)(l0e,{value:e,options:_Vn,colors:kVn,onChange:t})}var Dk=P(z(),1);function a0r({subtask:e,onStatusChange:t}){let r=e.status==="done";return(0,Dk.jsxs)(Rt,{direction:"row",spacing:1,sx:{alignItems:"flex-start",justifyContent:"space-between"},children:[(0,Dk.jsxs)(le,{sx:{flex:1},children:[(0,Dk.jsx)(Oe,{variant:"body2",sx:{textDecoration:r?"line-through":"none",color:r?"text.disabled":"text.primary"},children:e.title}),e.description&&(0,Dk.jsx)(le,{sx:{mt:.5,fontSize:"0.8125rem",color:r?"text.disabled":"text.secondary"},children:(0,Dk.jsx)(Ew,{content:e.description})})]}),(0,Dk.jsx)(i0r,{current:e.status,onStatusChange:t})]})}var _R=P(z(),1),EVn={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function s0r({subtasks:e,onStatusChange:t}){if(e.length===0)return null;let r=e.filter(n=>n.status!=="done").length;return(0,_R.jsxs)(le,{...Um("subtasks"),children:[(0,_R.jsx)(Oe,{variant:"overline",sx:EVn,children:"Sub-tasks"}),(0,_R.jsx)(Rt,{spacing:1,children:e.map((n,i)=>(0,_R.jsx)(a0r,{subtask:n,onStatusChange:o=>t(i,o)},`${n.title}-${i}`))}),r>0&&(0,_R.jsxs)(ni,{severity:"warning",sx:{mt:1},children:[r," sub-task",r===1?"":"s"," not yet done."]})]})}var N2=P(z(),1);function l0r({item:e,onRewind:t,onCommentDeleted:r,onSubtaskStatusChange:n}){return(0,N2.jsxs)(N2.Fragment,{children:[e.subtasks&&n&&(0,N2.jsx)(s0r,{subtasks:e.subtasks,onStatusChange:n}),e.plan&&(0,N2.jsx)(n0r,{phases:e.plan,currentPhase:e.currentPhase,itemId:e.id,usage:e.phaseUsage,sessions:e.phaseSessions,onRewind:t}),(0,N2.jsx)(Pgr,{gitRefs:e.gitRefs??[],conversations:e.conversations}),e.comments&&(0,N2.jsx)(Bgr,{comments:e.comments,itemId:e.id,onCommentDeleted:r})]})}var EB=P(z(),1);function c0r({item:e,onRewind:t,onCommentDeleted:r,onSubtaskStatusChange:n}){return(0,EB.jsxs)(le,{sx:{pt:2,flex:1,minWidth:0},children:[(0,EB.jsx)(xgr,{description:e.description}),(0,EB.jsx)(bgr,{criteria:e.acceptanceCriteria}),(0,EB.jsx)(l0r,{item:e,onRewind:t,onCommentDeleted:r,onSubtaskStatusChange:n})]})}var u0r="item-detail";var RY={wideQuery:`@container ${u0r} (min-width: 760px)`,containerSx:{containerType:"inline-size",containerName:u0r},columnsSx:{display:"flex",columnGap:3}};function RVn(e){let t=e.plan??[];if(t.length===0)return[];let r=a0e(t),i=r===t.length&&(e.phaseSessions??[]).some(o=>o.phaseIdx>=r)?[...t,EY]:t;return[{id:Pk.plan,label:"Phases"},...i.map((o,a)=>({id:i0e(a).id,label:`${a+1}`,title:o.name,status:s0e(a,e.currentPhase),nested:!0}))]}function f0r(e){let t=[];return e.description&&t.push({id:Pk.description,label:"Description"}),e.acceptanceCriteria.length>0&&t.push({id:Pk.acceptanceCriteria,label:"Acceptance Criteria"}),(e.subtasks?.length??0)>0&&t.push({id:Pk.subtasks,label:"Sub-tasks"}),t.push(...RVn(e)),(e.gitRefs?.length??0)+(e.conversations?.length??0)>0&&t.push({id:Pk.activity,label:"Activity"}),(e.comments?.length??0)>0&&t.push({id:Pk.comments,label:"Comments"}),t}var d0r="1.3125rem",h0r={position:"relative",borderRadius:1,"&::after":{content:'""',position:"absolute",inset:0,borderRadius:"inherit",pointerEvents:"none"},"&:hover::after":{bgcolor:"action.hover"},"&:active::after":{bgcolor:"action.selected"}},AVn={...h0r,display:"block",flexShrink:0,maxWidth:"100%",px:1,py:.5,border:0,bgcolor:"transparent",fontSize:d0r,lineHeight:1.2,letterSpacing:"0.02em",textAlign:"left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",color:"text.secondary"},PVn={...h0r,display:"flex",alignItems:"center",justifyContent:"center",fontSize:d0r,width:"2em",height:"2em",flexShrink:0,lineHeight:1,borderRadius:"50%",border:1,color:"text.primary"},LVn={borderColor:"text.primary",borderWidth:3},MVn={color:"text.primary",fontWeight:700,"&::after":{bgcolor:"action.selected"}};function p0r(e,t){let r=e.status&&o0e[e.status];return r?{...PVn,ml:1.5,bgcolor:r.bgcolor,borderColor:r.borderColor,borderWidth:r.ring?3:1,...t&&LVn}:{...AVn,...t&&MVn}}var g0r=P(z(),1);function m0r({section:e,active:t,onSelect:r}){return(0,g0r.jsx)(Dn,{sx:p0r(e,t),onClick:()=>r(e.id),title:e.title??e.label,"aria-current":t?"true":void 0,children:e.label})}function y0r(e,t=wY){return ipe(e,t)}var nze=P(z(),1),IVn=48,DVn=260,NVn={display:"none",[RY.wideQuery]:{display:"flex"},position:"sticky",top:n0e,alignSelf:"flex-start",width:DVn,flexShrink:0,maxHeight:`calc(100vh - ${IVn}px - ${n0e})`,alignItems:"flex-start",overflowY:"auto",overflowX:"hidden",py:2};function OVn(e){document.getElementById(e)?.scrollIntoView({behavior:"smooth",block:"start"})}function v0r({item:e,headerHeight:t}){let r=f0r(e),n=y0r(r.map(i=>i.id),t);return r.length===0?null:(0,nze.jsx)(Rt,{component:"nav",spacing:1,sx:NVn,children:r.map(i=>(0,nze.jsx)(m0r,{section:i,active:i.id===n,onSelect:OVn},i.id))})}var x0r=P(z(),1);function b0r({to:e}){let t=Xi();return(0,x0r.jsx)(qt,{"data-backlog-focus":"back",variant:"text",size:"small",onClick:()=>t(e),sx:{mb:2,textTransform:"none"},children:"\u2190 Back"})}var T0r=P(ge(),1);var ER=P(z(),1);function S0r({itemId:e,onDeleted:t}){let r=as(),n=yr(),[i,o]=(0,T0r.useState)(!1);return(0,ER.jsxs)(ER.Fragment,{children:[i&&(0,ER.jsx)(vo,{onConfirm:async()=>{await Bet(e,r,n),await t()},onCancel:()=>o(!1)}),(0,ER.jsx)(qt,{variant:"contained",color:"error",size:"small",onClick:()=>o(!0),children:"Delete"})]})}var ize=P(z(),1),BVn={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"}},FVn=["todo","in-progress","done","wontdo"];function C0r({current:e,onStatusChange:t}){return t?(0,ize.jsx)(l0e,{value:e,options:FVn,colors:BVn,onChange:t}):(0,ize.jsx)(sn,{label:e,size:"small",color:Ege[e],sx:{fontWeight:500,fontSize:"0.75rem"}})}var O2=P(z(),1),$Vn={alignItems:"center",color:"text.disabled",fontSize:"0.875rem"},zVn={fontWeight:500,fontSize:"0.75rem"},HVn={color:"text.secondary",fontSize:"0.75rem"};function w0r({item:e,onStatusChange:t}){let r=_ge[e.type];return(0,O2.jsxs)(Rt,{direction:"row",spacing:1,sx:$Vn,children:[(0,O2.jsx)(Oe,{variant:"body2",color:"text.disabled",children:so(e.id)}),r&&(0,O2.jsx)(sn,{label:e.type,size:"small",color:r,sx:zVn}),(0,O2.jsx)(C0r,{current:e.status,onStatusChange:t}),(0,O2.jsx)(hP,{jiraKey:e.jiraKey}),(0,O2.jsx)(dP,{githubIssue:e.githubIssue,origin:e.origin}),e.usageTotal&&(0,O2.jsx)(wB,{total:e.usageTotal,sx:HVn})]})}var k0r=P(z(),1),_0r=ut((0,k0r.jsx)("path",{d:"M3 17v2h6v-2zM3 5v2h10V5zm10 16v-2h8v-2h-8v-2h-2v6zM7 9v2H3v2h4v2h2V9zm14 4v-2H11v2zm-6-4h2V7h4V5h-4V3h-2z"}),"Tune");var c0e=P(ge(),1);var E0r=P(ge(),1);function R0r(e){let{launchAssist:t}=$l(),r=Xi(),n=as(),i=yr(),[o,a]=(0,E0r.useState)(!1);return{launched:o,launch:l=>{if(o)return;a(!0);let u=i?[{node:i}]:[];t(["refine","--once",...l,so(e)],n,...u),r("/sessions")}}}var c0=P(z(),1);function A0r({itemId:e}){let{launched:t,launch:r}=R0r(e),n=wk(),i=(0,c0e.useRef)(null),[o,a]=(0,c0e.useState)(!1),s=u=>u.stopPropagation(),l=Bge(n);return(0,c0.jsxs)(c0.Fragment,{children:[(0,c0.jsxs)(tT,{ref:i,variant:"outlined",size:"small",disabled:t,children:[(0,c0.jsx)(qt,{startIcon:(0,c0.jsx)(_0r,{}),onClick:u=>{s(u),r([])},children:"Refine"}),l.length>0&&(0,c0.jsx)(qt,{size:"small","aria-label":"Refine with a different harness",onClick:u=>{s(u),a(!0)},children:(0,c0.jsx)(Up,{})})]}),(0,c0.jsx)(Fge,{anchorEl:i.current,open:o,onClose:()=>a(!1),options:l,onSelect:u=>{a(!1),r(["--harness",u])},stop:s})]})}var RB=P(ge(),1);function P0r(){let e=(0,RB.useRef)(null),[t,r]=(0,RB.useState)(!1);return(0,RB.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 Bf=P(z(),1),UVn={justifyContent:"space-between",alignItems:"center",mb:2};function WVn(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 VVn(e){return t=>({position:"sticky",top:0,zIndex:1,bgcolor:"background.default",mx:-2,px:2,pb:2,borderBottom:1,borderColor:"divider",boxShadow:e?WVn(t):"none",transition:t.transitions.create("box-shadow")})}function L0r({item:e,onDeleted:t,onStatusChange:r,ref:n}){let{sentinelRef:i,stuck:o}=P0r();return(0,Bf.jsxs)(Bf.Fragment,{children:[(0,Bf.jsx)(le,{ref:i,sx:{height:0}}),(0,Bf.jsxs)(le,{ref:n,sx:VVn(o),children:[(0,Bf.jsxs)(Rt,{direction:"row",sx:UVn,children:[(0,Bf.jsx)(b0r,{to:"/backlog"}),(0,Bf.jsxs)(Rt,{direction:"row",spacing:1,children:[Oge(e)&&(0,Bf.jsx)(Jge,{itemId:e.id}),(0,Bf.jsx)(A0r,{itemId:e.id}),(0,Bf.jsx)(S0r,{itemId:e.id,onDeleted:t})]})]}),(0,Bf.jsx)(Oe,{variant:"h5",component:"h2",children:e.name}),(0,Bf.jsx)(w0r,{item:e,onStatusChange:r})]})]})}var I0r=P(ge(),1);var u0e=P(ge(),1);function M0r(e,t){let[r,n]=(0,u0e.useState)(t);return(0,u0e.useEffect)(()=>{let i=e.current;if(!i||(n(i.offsetHeight),typeof ResizeObserver>"u"))return;let o=new ResizeObserver(()=>n(i.offsetHeight));return o.observe(i),()=>o.disconnect()},[e]),r}function D0r(){let e=(0,I0r.useRef)(null),t=M0r(e,wY),r={[J$e]:`${t}px`};return{headerRef:e,headerHeight:t,style:r}}var Nk=P(z(),1);function N0r({item:e,onReload:t}){let r=Xi(),n=as(),i=yr(),{headerRef:o,headerHeight:a,style:s}=D0r();oy("ItemDetail");let l=async()=>{await t(),r("/backlog")},u=async d=>{await zJ(e.id,d,n,i),await t()},f=async(d,h)=>{await Fet(e.id,d,h,n,i),await t()};return(0,Nk.jsxs)(le,{style:s,children:[(0,Nk.jsx)(L0r,{ref:o,item:e,onDeleted:l,onStatusChange:u}),(0,Nk.jsx)(le,{sx:RY.containerSx,children:(0,Nk.jsxs)(le,{sx:RY.columnsSx,children:[(0,Nk.jsx)(c0r,{item:e,onRewind:t,onCommentDeleted:t,onSubtaskStatusChange:f}),(0,Nk.jsx)(v0r,{item:e,headerHeight:a})]})})]})}var RR=P(z(),1),GVn={display:"flex",justifyContent:"center",py:6};function O0r({onReload:e}){let[t]=Pc(),r=t.get("cwd")||void 0,n=t.get("node")||void 0,i=$n(),o=(0,f0e.useMemo)(()=>r?{...i,selectedCwd:r,selectedNode:n}:i,[i,r,n]);return oy("ItemRoute"),(0,RR.jsx)(Pz.Provider,{value:o,children:(0,RR.jsx)(Xu.Provider,{value:o.selectedNode,children:(0,RR.jsx)(qVn,{onReload:e})})})}function qVn({onReload:e}){let{id:t}=_2e(),r=Number.NaN;try{r=_J(t??"")}catch{r=Number.NaN}let{item:n,loading:i,reload:o}=ygr(r),a=(0,f0e.useCallback)(async()=>{await Promise.all([o(),e()])},[o,e]);return i?(0,RR.jsx)(le,{sx:GVn,children:(0,RR.jsx)(mo,{})}):n?(0,RR.jsx)(N0r,{item:n,onReload:a}):null}var AR=P(z(),1);function B0r({items:e,loading:t,error:r,socket:n,onReload:i}){return(0,AR.jsxs)(p5,{children:[(0,AR.jsx)(gs,{index:!0,element:(0,AR.jsx)(ggr,{items:e,loading:t,error:r,socket:n,onReload:i})}),(0,AR.jsx)(gs,{path:"items/:id",element:(0,AR.jsx)(O0r,{onReload:i})})]})}var u0=P(ge(),1);var F0r=new Map;function $0r(e,t,r){return JSON.stringify([e??null,t,r??null])}var AY={get(e,t,r){return F0r.get($0r(e,t,r))},set(e,t,r,n){F0r.set($0r(e,t,n),r)}};function jVn(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 z0r(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&&r.incompleteSubtasks===i.incompleteSubtasks&&jVn(r.usageTotal,i.usageTotal)})}function H0r({setItems:e,setLoading:t,setError:r}){return{onLoaded:n=>{e(i=>z0r(i,n)?i:n),t(!1),r(null)},onError:n=>{t(!1),r(n)}}}async function U0r(e,t,r,n){let i=await UT({cwd:e,node:n,signal:r,filter:t});return r.aborted||AY.set(e,t,i,n),i}function W0r(e,t,r,{onLoaded:n,onError:i},o){return(async()=>{try{let a=await U0r(e,t,r,o);r.aborted||n(a)}catch(a){r.aborted||i(a instanceof Error?a.message:"Failed to load.")}})()}var YVn=5e3;function V0r(e,t,r,n){let i=new AbortController,o=!1,a=()=>{o||(o=!0,W0r(e,t,i.signal,r,n).finally(()=>{o=!1}))};a();let s=setInterval(a,YVn);return()=>{i.abort(),clearInterval(s)}}function G0r(){let e=as(),t=yr(),[r]=hB(),n=AY.get(e,r,t),i=n??[],o=n===void 0,[a,s]=(0,u0.useState)(i),[l,u]=(0,u0.useState)(o),[f,d]=(0,u0.useState)(null),[h,p]=(0,u0.useState)(e),[m,g]=(0,u0.useState)(t),[y,v]=(0,u0.useState)(r);(e!==h||t!==m||r!==y)&&(p(e),g(t),v(r),s(i),u(o),d(null));let b=(0,u0.useCallback)(async()=>{let x=await UT({cwd:e,node:t,filter:r});s(x),AY.set(e,r,x,t),u(!1)},[e,t,r]);return(0,u0.useEffect)(()=>V0r(e,r,H0r({setItems:s,setLoading:u,setError:d}),t),[e,t,r]),{items:a,loading:l,error:f,reload:b}}var PY=P(z(),1);function q0r({socket:e}){let{items:t,loading:r,error:n,reload:i}=G0r();return bte(!r),(0,PY.jsx)(V$e.Provider,{value:e.sessions,children:(0,PY.jsx)(p5,{children:(0,PY.jsx)(gs,{path:"/*",element:(0,PY.jsx)(B0r,{items:t,loading:r,error:n,socket:e,onReload:i})})})})}var oze=P(z(),1);function j0r({socket:e}){return(0,oze.jsx)(WF,{maxWidth:"lg",sx:{py:3,px:2},children:(0,oze.jsx)(q0r,{socket:e})})}var _i=P(z(),1);function Y0r({socket:e}){return oy("AppRoutes"),(0,_i.jsxs)(_i.Fragment,{children:[(0,_i.jsx)(Aor,{}),(0,_i.jsx)(p5,{children:(0,_i.jsxs)(gs,{element:(0,_i.jsx)(Oit,{socket:e}),children:[(0,_i.jsx)(gs,{path:"sessions",element:(0,_i.jsx)(Ehr,{socket:e})}),(0,_i.jsx)(gs,{path:"backlog/*",element:(0,_i.jsx)(j0r,{socket:e})}),(0,_i.jsx)(gs,{path:"next",element:(0,_i.jsx)(Hir,{sessions:e.sessions,selectSession:e.selectSession})}),(0,_i.jsx)(gs,{path:"news",element:(0,_i.jsx)(Knr,{})}),(0,_i.jsx)(gs,{path:"releases",element:(0,_i.jsx)(kor,{})}),(0,_i.jsx)(gs,{path:"usage",element:(0,_i.jsx)(lmr,{})}),(0,_i.jsx)(gs,{path:"backups",element:(0,_i.jsx)(Vit,{})}),(0,_i.jsx)(gs,{path:"config",element:(0,_i.jsx)(Fat,{})}),(0,_i.jsx)(gs,{path:"updates",element:(0,_i.jsx)(bpr,{reconnecting:e.reconnecting,selectSession:e.selectSession})}),(0,_i.jsx)(gs,{path:"diff",element:(0,_i.jsx)(pnr,{socket:e})}),(0,_i.jsx)(gs,{path:"file",element:(0,_i.jsx)(Vnr,{socket:e})}),(0,_i.jsx)(gs,{path:"*",element:(0,_i.jsx)(M2e,{to:"/sessions",replace:!0})})]})})]})}var g0e=P(ge(),1);var m0e=P(ge(),1);function K0r(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 Ok=P(z(),1),KVn={display:"flex",gap:1,alignItems:"center",minWidth:0},XVn={display:"flex",gap:1,alignItems:"baseline",minWidth:0,overflow:"hidden"},ZVn={fontFamily:"monospace",fontSize:13,whiteSpace:"nowrap"},QVn={fontFamily:"monospace",fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};function JVn(e){let t=e.lastIndexOf("/");return t===-1?{dir:"",basename:e}:{dir:e.slice(0,t),basename:e.slice(t+1)}}function X0r({files:e,highlight:t,onHighlight:r,onSelect:n}){return(0,Ok.jsx)(Cp,{dense:!0,sx:{py:0},children:e.map((i,o)=>{let{dir:a,basename:s}=JVn(i);return(0,Ok.jsxs)(fn,{selected:o===t,onMouseEnter:()=>r(o),onClick:()=>n(i),sx:KVn,children:[(0,Ok.jsx)(o9,{path:i}),(0,Ok.jsxs)(le,{sx:XVn,children:[(0,Ok.jsx)(Oe,{component:"span",sx:ZVn,children:s}),(0,Ok.jsx)(Oe,{component:"span",color:"text.secondary",sx:QVn,children:a})]})]},i)})})}var d0e=P(z(),1),eGn={maxHeight:420,overflowY:"auto"},tGn={px:2,py:2,fontSize:13};function Z0r({message:e,files:t,highlight:r,onHighlight:n,onSelect:i}){return(0,d0e.jsx)(le,{sx:eGn,children:e?(0,d0e.jsx)(Oe,{color:"text.secondary",sx:tGn,children:e}):(0,d0e.jsx)(X0r,{files:t,highlight:r,onHighlight:n,onSelect:i})})}var Q0r=P(z(),1),rGn={mt:6,alignSelf:"flex-start"};function h0e({onClose:e,onEntered:t,centered:r=!1,children:n}){return(0,Q0r.jsx)(Ps,{open:!0,onClose:e,maxWidth:"sm",fullWidth:!0,slotProps:{paper:{sx:r?void 0:rGn},transition:{onEntered:t}},children:n})}var p0e=P(ge(),1);var J0r={files:[],loading:!1,error:!1};function eyr(e,t){let[r,n]=(0,p0e.useState)(J0r),i=yr();return(0,p0e.useEffect)(()=>{if(!e){n(J0r);return}let o=!1;return n(s=>({...s,loading:!0})),(async()=>{try{let s=await fetch(tn(`/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 PR=P(z(),1);function nGn(e,t,r){let n=new URLSearchParams({path:e});return t&&n.set("cwd",t),t&&r&&n.set("node",r),`/file?${n}`}function tyr({onClose:e}){let{worktreeNode:t}=$n();return(0,PR.jsx)(Xu.Provider,{value:t,children:(0,PR.jsx)(iGn,{onClose:e})})}function iGn({onClose:e}){let{worktreeCwd:t,worktreeNode:r}=$n(),[n,i]=(0,m0e.useState)(""),o=eyr(t,n),a=Xi(),s=(0,m0e.useRef)(null),l=p=>a(nGn(p,t,r)),{highlight:u,setHighlight:f,onKeyDown:d}=Rk(o.files,n,l,e),h=p=>{l(p),e()};return(0,PR.jsxs)(h0e,{onClose:e,onEntered:()=>s.current?.focus(),children:[(0,PR.jsx)(yB,{autoFocus:!0,inputRef:s,value:n,onChange:i,onKeyDown:d,placeholder:"Search files by name..."}),(0,PR.jsx)(Z0r,{message:K0r(t,n,o),files:o.files,highlight:u,onHighlight:f,onSelect:h})]})}function ryr(e){No(Kn("quickOpen").matches,e)}var iyr=P(z(),1);function nyr(){let[e,t]=(0,g0e.useState)(!1);return ryr((0,g0e.useCallback)(()=>t(!0),[])),e?(0,iyr.jsx)(tyr,{onClose:()=>t(!1)}):null}var y0e=P(z(),1);function oyr({notice:e,onClose:t,onView:r}){let n=e?.sessionId??null;return(0,y0e.jsx)(ol,{open:e!==null,autoHideDuration:6e3,onClose:t,anchorOrigin:{vertical:"bottom",horizontal:"center"},children:(0,y0e.jsx)(ni,{severity:"success",variant:"filled",onClose:t,action:n!==null?(0,y0e.jsx)(qt,{color:"inherit",size:"small",onClick:()=>r(n),children:"View"}):void 0,children:e?.message})})}var S0e=P(ge(),1);function ayr(e){let t=["claude"];return e.exposeCodexActions&&t.push("codex"),e.exposePiActions&&t.push("pi"),t}var byr=P(ge(),1);var syr=P(z(),1),lyr=ut((0,syr.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 Bk="0.797.1";var oGn={connected:"success.main",connecting:"warning.main",disconnected:"error.main","version-blocked":"error.main"};function cyr(e){return e?oGn[e]:"success.main"}function uyr(e){return e.split("-")[0].split(".").map(Number)}function fyr(e,t){if(!e||!t||e===t)return;let r=uyr(e),n=uyr(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 v0e=P(ge(),1),aze=(0,v0e.createContext)(null);function b0e(){return(0,v0e.useContext)(aze)}var LR=P(z(),1),aGn={height:16,fontSize:10},sGn={opacity:.6,fontSize:"0.85em"};function lGn(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 LY({nodes:e,name:t,showVersion:r=!1}){let n=b0e()??Bk,i=e.links.find(a=>a.name===t),o=fyr(i?.peerVersion,n);return(0,LR.jsx)(lr,{title:lGn(e,t),placement:"right",children:(0,LR.jsxs)(le,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:.75},children:[(0,LR.jsx)(lyr,{sx:{fontSize:8,color:cyr(i?.state)}}),t,r&&i?.peerVersion&&(0,LR.jsxs)(le,{component:"span",sx:sGn,children:["v",i.peerVersion]}),o&&(0,LR.jsx)(sn,{label:o,size:"small",color:o==="behind"?"warning":"info",sx:aGn})]})})}var MR=P(z(),1),cGn={opacity:.6},uGn={display:"inline-flex",alignItems:"center",gap:.5,px:.5,border:1,borderStyle:"dashed",borderRadius:1};function dyr({nodes:e,name:t,clone:r}){let n=(0,MR.jsx)(LY,{nodes:e,name:t});return r.kind==="cloned"?n:r.kind==="unavailable"?(0,MR.jsx)(le,{component:"span",sx:cGn,children:n}):(0,MR.jsx)(lr,{title:gB(t,r.cloneTarget),children:(0,MR.jsxs)(le,{component:"span",sx:uGn,children:[(0,MR.jsx)(mB,{sx:{fontSize:14}}),n]})})}var pyr=P(z(),1),fGn={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 hyr({value:e,label:t,checked:r,autoFocus:n,onSelect:i}){return(0,pyr.jsx)(Dn,{role:"radio","aria-checked":r,"data-value":e,tabIndex:r?0:-1,autoFocus:n&&r,onClick:i,sx:fGn,children:t})}var myr={ArrowRight:1,ArrowLeft:-1};function dGn(e,t,r){if(e.key==="Tab"){let n=t+(e.shiftKey?-1:1);return n>=0&&n<r?n:void 0}return(t+myr[e.key]+r)%r}function gyr(e,t,r,n){return i=>{if(i.key==="ArrowUp"||i.key==="ArrowDown"){if(!n)return;i.preventDefault(),n();return}if(i.key!=="Tab"&&!myr[i.key]){db(i);return}let o=dGn(i,e.indexOf(t),e.length);o!==void 0&&(i.preventDefault(),r(e[o]),i.currentTarget.querySelector(`[data-value="${e[o]}"]`)?.focus())}}var yyr=P(ge(),1);function AB(e){return e?.querySelector('[aria-checked="true"]')}function vyr(e,t){(0,yyr.useEffect)(()=>{let r=e.current;if(!r?.contains(document.activeElement))return;let n=AB(r);n&&n!==document.activeElement&&n.focus()},[e,t])}var sze=P(z(),1),hGn={border:1,borderColor:"divider",borderRadius:1,height:40,p:"2px",flexShrink:0};function x0e({label:e,options:t,value:r,onChange:n,optionLabel:i=u=>u,groupRef:o,autoFocus:a,onTrack:s,onToggleRow:l}){return vyr(o,r),(0,sze.jsx)(Rt,{ref:o,direction:"row",role:"radiogroup","aria-label":e,spacing:"2px",onFocus:s,onKeyDown:gyr(t,r,n,l),sx:hGn,children:t.map(u=>(0,sze.jsx)(hyr,{value:u,label:i(u),checked:u===r,autoFocus:a,onSelect:()=>n(u)},u))})}var lze=P(z(),1);function xyr({value:e,onChange:t,cloneState:r}){let{nodes:n,names:i,visible:o}=Bu(),a=(0,byr.useRef)(null);return!o||!n||!e?null:(0,lze.jsx)(x0e,{label:"Machine",options:i,value:e,onChange:t,optionLabel:s=>(0,lze.jsx)(dyr,{nodes:n,name:s,clone:r(s)}),groupRef:a,autoFocus:!1,onTrack:()=>{}})}var Syr=P(z(),1);function Tyr({value:e,onChange:t,placeholder:r,inputRef:n,autoFocus:i,onTrack:o}){return(0,Syr.jsx)(Yn,{value:e,onChange:a=>t(a.target.value),onKeyDown:db,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 _yr=P(ge(),1);var B2={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:Kee,submitLabel:"Start session"},design:{placeholder:"Describe the design task...",submitLabel:"Start design"}},Cyr=Object.keys(B2);var cze=P(z(),1);function wyr({anchor:e,harness:t,harnesses:r,onPick:n,onClose:i}){return(0,cze.jsx)(Dl,{open:e!==null,anchorEl:e,onClose:i,slotProps:{list:{dense:!0,"aria-label":"Harness"}},children:r.map(o=>(0,cze.jsx)(fn,{role:"menuitemradio","aria-checked":o===t,selected:o===t,onClick:()=>{n(o),i()},sx:{fontSize:13},children:gu(o)},o))})}var IR=P(z(),1);function kyr(e){return t=>t==="prompt"&&e?(0,IR.jsxs)(IR.Fragment,{children:["prompt",(0,IR.jsx)(le,{component:"span",sx:{fontWeight:400,whiteSpace:"pre"},children:` \xB7 ${gu(e)}`}),(0,IR.jsx)(Up,{sx:{fontSize:18,mr:-.75}})]}):t}var DR=P(z(),1);function Eyr({draft:e,harness:t,harnesses:r,focus:n}){let[i,o]=(0,_yr.useState)(null),a=e.mode==="prompt"&&r.length>1,s=()=>o(AB(n.modeRef.current)??null),l=u=>{a&&u==="prompt"?s():e.setMode(u)};return(0,DR.jsxs)(DR.Fragment,{children:[(0,DR.jsx)(x0e,{label:"Mode",options:Cyr,value:e.mode,onChange:l,optionLabel:kyr(r.length>1?t:void 0),groupRef:n.modeRef,autoFocus:n.autoFocus==="mode",onTrack:n.trackMode,onToggleRow:a?s:void 0}),(0,DR.jsx)(wyr,{anchor:i,harness:t,harnesses:r,onPick:e.setHarness,onClose:()=>o(null)})]})}var Fyr=P(ge(),1);var uze=P(z(),1),pGn={zIndex:e=>e.zIndex.modal+1};function Ryr({open:e,anchor:t,children:r}){return(0,uze.jsx)(zA,{open:e,anchorEl:t,placement:"bottom-start",sx:pGn,children:(0,uze.jsx)(an,{sx:{maxHeight:240,overflowY:"auto",width:t?.clientWidth},onMouseDown:n=>n.preventDefault(),children:r})})}function Ayr(e){return{htmlInput:{role:"combobox","aria-label":"Repo","aria-expanded":e},input:{sx:{fontSize:13,height:40}}}}var Pyr=P(bF(),1);function Lyr({open:e,highlighted:t,accept:r,close:n,navigate:i,openList:o}){return a=>{if(!e){if(a.key==="ArrowDown"){a.preventDefault(),o();return}db(a);return}if(a.key!=="Escape"){if(a.key==="Enter"){if(a.preventDefault(),t===void 0)return;(0,Pyr.flushSync)(()=>{r(t),n()}),db(a);return}if(a.key!=="Tab"){i(a);return}t!==void 0&&r(t),n()}}}function Myr(e,t){let r=t.trim().toLowerCase();return r?e.filter(n=>J1(n).toLowerCase().includes(r)):e}var fze=P(ge(),1);function Iyr(){let[e,t]=(0,fze.useState)(!1),[r,n]=(0,fze.useState)("");return{open:e,query:r,show:()=>t(!0),filterBy:i=>{n(i),t(!0)},close:()=>{t(!1),n("")}}}var Nyr=P(ge(),1);var Dyr=e=>e?J1(e):"";function Oyr(e){let[t,r]=(0,Nyr.useState)(()=>Dyr(e));return{text:t,setText:r,showRepo:n=>r(Dyr(n))}}function Byr(e,t,r){let n=Iyr(),i=Oyr(t),o=Myr(e,n.query),a=f=>{r(f),i.showRepo(f)},s=Rk(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:Lyr({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 PB=P(z(),1);function $yr({repos:e,value:t,onChange:r,inputRef:n,autoFocus:i,onTrack:o}){let a=Byr(e,t,r),s=(0,Fyr.useRef)(null);return(0,PB.jsxs)(le,{ref:s,sx:{flex:1,minWidth:0},children:[(0,PB.jsx)(Yn,{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:Ayr(a.open)}),(0,PB.jsx)(Ryr,{open:a.open,anchor:s.current,children:(0,PB.jsx)(Kge,{repos:a.filtered,selected:t,highlight:a.highlight,onHighlight:a.setHighlight,onSelect:a.pick})})]})}var Fk=P(z(),1);function zyr({cloneState:e,...t}){let{draft:r,focus:n}=t,{repos:i}=$n();return(0,Fk.jsxs)(Rt,{spacing:1,sx:{p:1},children:[(0,Fk.jsx)(Tyr,{value:r.prompt,onChange:r.setPrompt,placeholder:B2[r.mode].placeholder,inputRef:n.promptRef,autoFocus:n.autoFocus==="prompt",onTrack:n.trackPrompt}),(0,Fk.jsxs)(Rt,{direction:"row",spacing:1,sx:{alignItems:"flex-start"},children:[(0,Fk.jsx)($yr,{repos:i,value:r.cwd,onChange:r.setCwd,inputRef:n.repoRef,autoFocus:n.autoFocus==="repo",onTrack:n.trackRepo}),(0,Fk.jsx)(Eyr,{...t})]}),(0,Fk.jsx)(xyr,{value:r.node,onChange:r.setNode,cloneState:e})]})}var LB=P(z(),1),mGn=["Enter start","Shift+Enter newline","Esc close"],gGn={alignItems:"center",px:1.5,py:1,borderTop:1,borderColor:"divider",bgcolor:"action.hover"};function Hyr({submitLabel:e,disabled:t=!1}){return(0,LB.jsxs)(Rt,{direction:"row",spacing:1.5,sx:gGn,children:[(0,LB.jsx)(Rt,{direction:"row",spacing:1.5,sx:{mr:"auto"},children:mGn.map(r=>(0,LB.jsx)(Oe,{variant:"caption",color:"text.secondary",children:r},r))}),(0,LB.jsx)(qt,{type:"submit",variant:"contained",size:"small",disabled:t,children:e})]})}function Uyr({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}]:[];Ent(B2[e].sessionMode,n,(u,f)=>o.onCreateAssist(u,f,...l),()=>{},r)}function Wyr(e,t,r,n){return r.kind==="blocked"?!1:r.kind==="clone"?(Hge(r.prompt,n.onCreateAssist),!0):(Uyr({mode:e.mode,harness:t,prompt:e.prompt,cwd:r.cwd,node:e.node},n),e.clear(),!0)}var NR=P(ge(),1);function Vyr(e,t){let r=(0,NR.useRef)(e),n=(0,NR.useRef)(null),i=(0,NR.useRef)(null),o=(0,NR.useRef)(null),a=(0,NR.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:AB(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 yGn(e,t,r){return e?r.kind==="cloned"?{kind:"launch",cwd:r.cwd}:r.kind==="clonable"?{kind:"clone",prompt:Zge(r,t)}:{kind:"blocked"}:{kind:"launch",cwd:e}}function Gyr(e,t){let{names:r,visible:n}=Bu(),i=qge(t,n?r:[void 0]);return{cloneState:i,target:yGn(t,e,i(e))}}var MB=P(z(),1);function qyr({draft:e,launchers:t,onClose:r}){let n=Vyr(e.focus,e.setFocus),i=ayr(wk()),o=i.includes(e.harness)?e.harness:"claude",{target:a,cloneState:s}=Gyr(e.node,e.cwd),l=u=>{u.preventDefault(),Wyr(e,o,a,t)&&r()};return(0,MB.jsx)(h0e,{onClose:r,onEntered:n.restore,centered:!0,children:(0,MB.jsxs)("form",{onSubmit:l,children:[(0,MB.jsx)(zyr,{draft:e,harness:o,harnesses:i,focus:n,cloneState:s}),(0,MB.jsx)(Hyr,{submitLabel:a.kind==="clone"?"Clone":B2[e.mode].submitLabel,disabled:a.kind==="blocked"})]})})}var T0e=P(ge(),1);function jyr(e){let[t,r]=(0,T0e.useState)(null);return(0,T0e.useEffect)(()=>{let n=!1;return(async()=>{let i="draft";try{let o=e?`?cwd=${encodeURIComponent(e)}`:"",s=await(await fetch(`/api/new-session-defaults${o}`)).json();Object.hasOwn(B2,s?.mode)&&(i=s.mode)}catch{}n||r(i)})(),()=>{n=!0}},[e]),t}function Yyr(e,{visible:t,names:r,selected:n}){if(t)return e&&r.includes(e)?e:n}var F2=P(ge(),1),Kyr={field:"prompt",selectionStart:0,selectionEnd:0};function Xyr(){let[e,t]=(0,F2.useState)(""),[r,n]=(0,F2.useState)(),[i,o]=(0,F2.useState)(),[a,s]=(0,F2.useState)("claude"),[l,u]=(0,F2.useState)(),[f,d]=(0,F2.useState)(Kyr),h=(0,F2.useCallback)(()=>{t(""),n(void 0),o(void 0),u(void 0),d(Kyr)},[]);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 Zyr(e=jyr){let{selectedCwd:t}=$n(),r=Bu(),n=Xyr(),i=n.cwd??t,o=e(i);return o?{...n,cwd:i,mode:n.mode??o,node:Yyr(n.node,r)}:null}function Qyr(e){No(Kn("newSession").matches,e)}var Jyr=P(ge(),1);function e1r(e,t){let{selectedCwd:r}=$n(),[n,i]=Pc(),o=n.get("new"),a=n.get("newCwd")??r,{setPrompt:s,setCwd:l,setFocus:u}=e??{};(0,Jyr.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 r1r=P(z(),1);function t1r({launchers:e}){let[t,r]=(0,S0e.useState)(!1),n=Zyr(),i=(0,S0e.useCallback)(()=>r(!0),[]);return Qyr(i),e1r(n,i),!t||!n?null:(0,r1r.jsx)(qyr,{draft:n,launchers:e,onClose:()=>r(!1)})}var C0e=P(z(),1);function n1r({reconnecting:e}){return(0,C0e.jsx)(ol,{open:e,anchorOrigin:{vertical:"bottom",horizontal:"center"},children:(0,C0e.jsx)(ni,{severity:"info",variant:"filled",icon:(0,C0e.jsx)(mo,{size:16,color:"inherit"}),children:"Reconnecting\u2026"})})}var iv=P(z(),1);function i1r({socket:e,onViewLaunchedSession:t}){return(0,iv.jsxs)(iv.Fragment,{children:[(0,iv.jsx)(nyr,{}),(0,iv.jsx)(t1r,{launchers:{onCreate:e.createSession,onCreateDesign:e.createDesignSession,onCreateHarness:e.createHarnessSession,onCreateAssist:e.createAssistSession}}),(0,iv.jsx)(n1r,{reconnecting:e.reconnecting}),(0,iv.jsx)(vu,{error:e.error,onClose:e.clearError}),(0,iv.jsx)(oyr,{notice:e.success,onClose:e.clearSuccess,onView:t})]})}var f0=P(ge(),1);var vGn=6e4;function o1r(e){let t=e.nodes?.local,r=e.names.join(`
3977
3977
  `),[n,i]=(0,f0.useState)([]),[o,a]=(0,f0.useState)(!0),s=(0,f0.useRef)(0),l=(0,f0.useCallback)(()=>{let u=r?r.split(`
3978
3978
  `):[];if(u.length===0)return;let f=++s.current;Promise.all(u.map(d=>xge(d,d===t))).then(d=>{f===s.current&&(i(d),a(!1))})},[r,t]);return(0,f0.useEffect)(()=>{l();let u=setInterval(l,vGn);return()=>clearInterval(u)},[l]),(0,f0.useMemo)(()=>({entries:n,loading:o,refresh:l}),[n,o,l])}var $k=P(z(),1);function a1r({shell:e,children:t}){let{socket:r,selection:n,launch:i,topBar:o,sidebarCollapse:a}=e,s=o1r(r.nodeSelection);return(0,$k.jsx)(M$e.Provider,{value:s,children:(0,$k.jsx)(Q2e.Provider,{value:o,children:(0,$k.jsx)(zTe.Provider,{value:a,children:(0,$k.jsx)(Pz.Provider,{value:n,children:(0,$k.jsx)(K$e.Provider,{value:r.nodeSelection,children:(0,$k.jsx)(Xu.Provider,{value:n.selectedNode,children:(0,$k.jsx)(mTe.Provider,{value:i,children:t})})})})})})})}var s1r=P(z(),1),l1r=ut((0,s1r.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 c1r=P(ge(),1);var d0=P(z(),1),bGn={ml:1,textTransform:"none",fontSize:12};function u1r(){let{nodes:e,names:t,visible:r,selected:n,select:i}=Bu(),[o,a]=(0,c1r.useState)(null);return!r||!e||!n?null:(0,d0.jsxs)(d0.Fragment,{children:[(0,d0.jsx)(qt,{size:"small",color:"inherit",startIcon:(0,d0.jsx)(l1r,{fontSize:"small"}),"aria-label":"Machine","aria-haspopup":"menu",onClick:s=>a(s.currentTarget),sx:bGn,children:(0,d0.jsx)(LY,{nodes:e,name:n})}),(0,d0.jsx)(Dl,{anchorEl:o,open:!!o,onClose:()=>a(null),children:t.map(s=>(0,d0.jsx)(fn,{selected:s===n,onClick:()=>{i(s),a(null)},sx:{fontSize:13},children:(0,d0.jsx)(LY,{nodes:e,name:s,showVersion:!0})},s))})]})}var MY=P(ge(),1);function f1r(e,t){return[...e[0].slice(0,-1),String(t+1)]}var w0e=P(z(),1);function d1r({index:e,label:t,...r}){let{chords:n}=Kn("navTab");return(0,w0e.jsx)(lr,{describeChild:!0,title:(0,w0e.jsx)(ed,{label:t,chords:[f1r(n,e)]}),children:(0,w0e.jsx)(Av,{label:t,...r})})}var dze=P(ge(),1);function h1r(e,t){let{bound:r}=Kn("navTab"),n=e.length,i=(0,dze.useCallback)(a=>(Bz(a,r)??n)<n,[r,n]),o=(0,dze.useCallback)(a=>{let s=e[Bz(a,r)??-1];s&&t(s)},[e,t,r]);No(i,o)}var k0e=P(ge(),1);function p1r(){let[e,t]=(0,k0e.useState)(!1);return(0,k0e.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 _0e=P(ge(),1);async function xGn(e,t){let r=await fetch(tn(`/api/releases/configured?cwd=${encodeURIComponent(e)}`,t));return r.ok?(await r.json())?.configured===!0:void 0}function m1r(e){let[t,r]=(0,_0e.useState)(null),n=yr(),i=`${n??""}\0${e}`;return(0,_0e.useEffect)(()=>{if(!e)return;let o=!1;return xGn(e,n).catch(()=>{}).then(a=>{o||r({key:i,configured:a})}),()=>{o=!0}},[e,n,i]),t?.key===i?t.configured:void 0}var g1r=P(ge(),1);function y1r(e){let{pathname:t}=Io(),r=Xi(),n=t==="/releases"||t.startsWith("/releases/");(0,g1r.useEffect)(()=>{e===!1&&n&&r("/sessions",{replace:!0})},[e,n,r])}var TGn={path:"/sessions",label:"Sessions"},SGn={path:"/backlog",label:"Backlog"},CGn={path:"/next",label:"Next"},wGn={path:"/releases",label:"Releases"},kGn={path:"/news",label:"News"};function v1r(e,t){return[TGn,SGn,CGn,...e?[wGn]:[],...t?[kGn]:[]]}var hze=P(z(),1);function b1r({cwd:e}){let t=Io(),r=Xi(),n=m1r(e),i=p1r();y1r(n);let o=n===!0,a=(0,MY.useMemo)(()=>v1r(o,i),[o,i]),s=(0,MY.useMemo)(()=>a.map(f=>f.path),[a]),l=a.findIndex(f=>t.pathname.startsWith(f.path)),u=(0,MY.useCallback)(f=>{t.pathname!==f&&r(f)},[t.pathname,r]);return h1r(s,u),(0,hze.jsx)(H_,{value:l===-1?!1:l,textColor:"inherit",indicatorColor:"secondary",children:a.map((f,d)=>(0,hze.jsx)(d1r,{index:d,label:f.label,onClick:()=>u(f.path)},f.path))})}var x1r=P(z(),1),T1r=ut((0,x1r.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 IY=P(z(),1),_Gn={color:"success.light"};function S1r(){let[,e]=Pc(),{label:t,chords:r}=Kn("newSession");return(0,IY.jsx)(lr,{title:(0,IY.jsx)(ed,{label:t,chords:r}),children:(0,IY.jsx)(ir,{size:"small",sx:_Gn,"aria-label":"New session",onClick:()=>e(i=>(i.set("new",""),i),{replace:!0}),children:(0,IY.jsx)(T1r,{})})})}var R0e=P(ge(),1);var E0e=P(z(),1),EGn={color:"inherit"};function C1r({cwd:e}){let[t,r]=(0,R0e.useState)(null),n=yr();return(0,R0e.useEffect)(()=>{if(!e){r(null);return}let i=!1;return(async()=>{try{let a=await(await fetch(tn(`/api/github-url?cwd=${encodeURIComponent(e)}`,n))).json();i||r(a?.url??null)}catch{i||r(null)}})(),()=>{i=!0}},[e,n]),t?(0,E0e.jsx)(lr,{title:"Open in GitHub",children:(0,E0e.jsx)(ir,{sx:EGn,onClick:()=>window.open(t,"_blank"),children:(0,E0e.jsx)(cP,{})})}):null}var _1r=P(ge(),1);var k1r=P(ge(),1);var A0e=P(z(),1);function w1r({window:e,windowSeconds:t,fallbackLabel:r,now:n}){let i=e?.used_percentage;if(i==null)return null;let o=xk(i,e?.resets_at,t,n),a=e?.resets_at!=null?Rge(e.resets_at,n):r;return(0,A0e.jsxs)(le,{component:"span",children:[(0,A0e.jsxs)(le,{component:"span",sx:{color:Tk(o)},children:[Math.round(i),"%"]})," ",(0,A0e.jsxs)(le,{component:"span",sx:{color:"text.secondary"},children:["(",a,")"]})]})}var zk=P(z(),1);function P0e({rateLimits:e}){let t=Sk(3e4),r=[{window:e.five_hour,windowSeconds:18e3,fallbackLabel:"5h"},{window:e.seven_day,windowSeconds:604800,fallbackLabel:"7d"}].filter(n=>n.window?.used_percentage!=null);return(0,zk.jsx)(zk.Fragment,{children:r.map((n,i)=>(0,zk.jsxs)(k1r.Fragment,{children:[i>0?(0,zk.jsx)(le,{component:"span",sx:{color:"text.secondary",mr:.5},children:","}):null,(0,zk.jsx)(w1r,{window:n.window,windowSeconds:n.windowSeconds,fallbackLabel:n.fallbackLabel,now:t})]},n.fallbackLabel))})}var Hk=P(z(),1);function E1r({groups:e}){return(0,Hk.jsx)(Hk.Fragment,{children:e.map((t,r)=>(0,Hk.jsxs)(_1r.Fragment,{children:[(0,Hk.jsx)(le,{component:"span",sx:{color:"text.secondary",ml:r>0?1:0,mr:.5},children:gu(t.harness)}),(0,Hk.jsx)(P0e,{rateLimits:t.rateLimits})]},t.harness))})}function RGn(e){if(e==="over")return{level:"warn",boundary:100};if(e==="warn")return{level:"ok",boundary:75}}function AGn(e){if(e==="ok")return{level:"warn",boundary:75};if(e==="warn")return{level:"over",boundary:100}}function PGn(e,t,r,n){if(e>=t)return;let i=e/t;return Math.round(r-n*(1-i))}function P1r(e,t,r,n){if(t==null)return{kind:"unprojectable"};let i=H$e(t,r,n);if(i==null)return{kind:"unprojectable"};let o=xk(e,t,r,n),a=RGn(o),s=AGn(o);return{kind:"projected",recovery:a&&{level:a.level,pct:a.boundary*i,at:PGn(e,a.boundary,t,r)},worse:s&&{level:s.level,pct:s.boundary*i}}}function L1r(e,t){return e.at==null?"not before reset":`${e.level==="ok"?"green":"under"} in ${Rge(e.at,t)}`}var h0=P(z(),1);function pze({direction:e,threshold:t}){let r=e==="back",n={display:"inline-flex",gap:.5,minWidth:"6ch",justifyContent:r?"flex-end":"flex-start"};if(!t)return(0,h0.jsx)(le,{component:"span",sx:n});let i=(0,h0.jsx)(le,{component:"span",sx:{opacity:.6},children:r?"\u2190":"\u2192"}),o=(0,h0.jsxs)(le,{component:"span",sx:{color:Tk(t.level)},children:[Math.round(t.pct),"%"]});return(0,h0.jsx)(le,{component:"span",sx:n,children:r?(0,h0.jsxs)(h0.Fragment,{children:[o,i]}):(0,h0.jsxs)(h0.Fragment,{children:[i,o]})})}var Uk=P(z(),1);function M1r({label:e,pct:t,resetsAt:r,windowSeconds:n,now:i}){let o=xk(t,r,n,i),a=P1r(t,r,n,i),s=a.kind==="projected"?a:void 0;return(0,Uk.jsxs)(le,{sx:{display:"flex",alignItems:"baseline",gap:.75},children:[(0,Uk.jsx)(le,{component:"span",sx:{minWidth:"2ch"},children:e}),(0,Uk.jsx)(pze,{direction:"back",threshold:s?.recovery}),(0,Uk.jsxs)(le,{component:"span",sx:{minWidth:"4ch",textAlign:"right",color:Tk(o)},children:[Math.round(t),"%"]}),(0,Uk.jsx)(pze,{direction:"forward",threshold:s?.worse}),(0,Uk.jsx)(le,{component:"span",sx:{opacity:.6},children:s?s.recovery&&L1r(s.recovery,i):"no projection yet"})]})}function I1r(e){return[{label:"5h",window:e.five_hour,windowSeconds:18e3},{label:"7d",window:e.seven_day,windowSeconds:604800}].flatMap(t=>t.window?.used_percentage==null?[]:[{label:t.label,pct:t.window.used_percentage,resetsAt:t.window.resets_at,windowSeconds:t.windowSeconds}])}var D1r=P(z(),1);function L0e({rateLimits:e,now:t}){return I1r(e).map(r=>(0,D1r.jsx)(M1r,{label:r.label,pct:r.pct,resetsAt:r.resetsAt,windowSeconds:r.windowSeconds,now:t},r.label))}var OR=P(z(),1);function N1r({groups:e}){let t=Sk(3e4);return(0,OR.jsxs)(le,{sx:{fontFamily:"monospace",fontSize:12},children:[e.map(r=>(0,OR.jsxs)(le,{sx:{mb:.5},children:[(0,OR.jsx)(le,{sx:{opacity:.8},children:gu(r.harness)}),(0,OR.jsx)(L0e,{rateLimits:r.rateLimits,now:t})]},r.harness)),(0,OR.jsx)(le,{sx:{mt:.5,opacity:.6},children:"Account usage per harness \u2014 view history"})]})}function O1r(e){return e?.five_hour?.used_percentage!=null||e?.seven_day?.used_percentage!=null}function B1r(e,t){let r=[];O1r(e)&&r.push({harness:"claude",rateLimits:e});for(let[n,i]of Object.entries(t))O1r(i)&&r.push({harness:n,rateLimits:i});return r}var DY=P(z(),1),mze="Claude account usage (5h / 7d windows) \u2014 view history";function F1r({rateLimits:e}){let t=Sk(3e4);return(0,DY.jsxs)(le,{sx:{fontFamily:"monospace",fontSize:12},children:[(0,DY.jsx)(L0e,{rateLimits:e,now:t}),(0,DY.jsx)(le,{sx:{mt:.5,opacity:.6},children:mze})]})}var BR=P(z(),1),LGn={display:"flex",alignItems:"center",ml:2,fontFamily:"monospace",fontSize:13},MGn={};function $1r({rateLimits:e,harnessRateLimits:t=MGn}){let r=B1r(e,t),n=r.every(s=>s.harness==="claude"),i=e,o=mze,a="Usage";return r.length>0&&n?(o=(0,BR.jsx)(F1r,{rateLimits:i}),a=(0,BR.jsx)(P0e,{rateLimits:i})):r.length>0&&(o=(0,BR.jsx)(N1r,{groups:r}),a=(0,BR.jsx)(E1r,{groups:r})),(0,BR.jsx)(lr,{title:o,children:(0,BR.jsx)(xn,{component:ys,to:"/usage",underline:"hover",color:"inherit",sx:LGn,children:a})})}var p0=P(z(),1),IGn={color:"inherit",mr:1.5};function z1r({reconnecting:e}){let{pending:t,error:r,clearError:n,restart:i}=bk("webserver",e);return(0,p0.jsxs)(p0.Fragment,{children:[(0,p0.jsx)(lr,{title:"Restart web server",children:(0,p0.jsx)("span",{children:(0,p0.jsx)(ir,{sx:IGn,disabled:t,onClick:i,children:t?(0,p0.jsx)(mo,{size:24}):(0,p0.jsx)(vge,{})})})}),(0,p0.jsx)(vu,{error:r,onClose:n})]})}var W1r=P(ge(),1);var H1r=P(ge(),1);function U1r(e){let t=Oi().palette.primary.main;No(Kn("focusRepoPicker").matches,(0,H1r.useCallback)(()=>bu({locate:()=>e.current?.querySelector("button")??null,focus:r=>r.focus()},t),[e,t]))}var NY=P(z(),1),DGn={width:240,ml:2};function V1r({repos:e,selected:t,onSelect:r}){let n=(0,W1r.useRef)(null);U1r(n);let{chords:i}=Kn("focusRepoPicker");return(0,NY.jsx)(le,{ref:n,sx:DGn,children:(0,NY.jsx)(Zee,{label:t?J1(t):"Select repo...",tooltip:(0,NY.jsx)(ed,{label:"Repo",chords:i}),children:o=>(0,NY.jsx)(Gmr,{repos:e,selected:t,onSelect:r,close:o})})})}var evr=P(ge(),1);var OY=P(ge(),1);function M0e(e){let[t,r]=(0,OY.useState)([]),[n,i]=(0,OY.useState)(!0),o=yr();return(0,OY.useEffect)(()=>{if(!e){r([]),i(!1);return}let a=!1;return i(!0),fetch(tn(`/api/pr-list?cwd=${encodeURIComponent(e)}`,o)).then(s=>s.json()).then(s=>{a||(r(Array.isArray(s?.prs)?s.prs:[]),i(!1))}).catch(()=>{a||(r([]),i(!1))}),()=>{a=!0}},[e,o]),{prs:t,loading:n}}var gze=P(z(),1);function yze({text:e}){return(0,gze.jsx)(le,{sx:{p:1.5},children:(0,gze.jsx)(Oe,{sx:{fontSize:13,color:"text.secondary"},children:e})})}var FR=P(z(),1);function G1r({pr:e,highlighted:t,onHover:r,onPick:n}){let i=Yge(t);return(0,FR.jsx)(fn,{ref:i,selected:t,onMouseDown:o=>o.preventDefault(),onMouseEnter:r,onClick:()=>n(e),sx:{alignItems:"flex-start",py:.75,whiteSpace:"normal"},children:(0,FR.jsxs)(Rt,{spacing:.25,sx:{minWidth:0},children:[(0,FR.jsxs)(Oe,{sx:{fontSize:13,lineHeight:1.3,fontWeight:500},children:[e.title,e.isDraft&&(0,FR.jsx)(sn,{label:"Draft",size:"small",variant:"outlined",sx:{ml:.75,height:18,fontSize:10,verticalAlign:"middle"}})]}),(0,FR.jsxs)(Oe,{sx:{fontSize:11,color:"text.secondary"},children:["#",e.number," \xB7 ",e.author," \xB7 ",Do(e.createdAt)]})]})})}var vze=P(z(),1);function q1r({prs:e,highlight:t,onHighlight:r,onPick:n}){return(0,vze.jsx)(Cp,{dense:!0,disablePadding:!0,sx:{maxHeight:200,overflowY:"auto"},children:e.map((i,o)=>(0,vze.jsx)(G1r,{pr:i,highlighted:o===t,onHover:()=>r(o),onPick:n},i.number))})}var Y1r=P(ge(),1);function j1r(e,t){let r=t.trim().toLowerCase();if(!r)return e;let n=r.replace(/^#/,"");return e.filter(i=>i.title.toLowerCase().includes(r)||i.author.toLowerCase().includes(r)||n!==""&&String(i.number).includes(n))}function K1r(e,t,r){let[n,i]=(0,Y1r.useState)(""),o=j1r(e,n),{highlight:a,setHighlight:s,onKeyDown:l}=Rk(o,n,t,r);return{filter:n,setFilter:i,filtered:o,highlight:a,setHighlight:s,onKeyDown:l,select:f=>{t(f),r()}}}var Wk=P(z(),1),X1r={...OP,left:"auto",width:320,maxHeight:"none",overflowY:"visible"};function Z1r({cwd:e,onPick:t,close:r}){let{prs:n,loading:i}=M0e(e),o=K1r(n,t,r);return i||n.length===0?(0,Wk.jsx)(an,{elevation:4,sx:X1r,children:(0,Wk.jsx)(yze,{text:i?"Loading open PRs\u2026":"No open PRs"})}):(0,Wk.jsxs)(an,{elevation:4,sx:X1r,children:[(0,Wk.jsx)(yB,{autoFocus:!0,value:o.filter,onChange:o.setFilter,onKeyDown:o.onKeyDown,placeholder:"Filter PRs..."}),o.filtered.length===0?(0,Wk.jsx)(yze,{text:"No PRs match"}):(0,Wk.jsx)(q1r,{prs:o.filtered,highlight:o.highlight,onHighlight:o.setHighlight,onPick:o.select})]})}var J1r=P(z(),1);function Q1r({cwd:e,onPick:t,close:r}){return(0,J1r.jsx)(Z1r,{cwd:e,onPick:t,close:r})}var Vk=P(z(),1);function tvr({cwd:e,disabled:t,onSelect:r}){let{prs:n,loading:i}=M0e(e),[o,a]=(0,evr.useState)(null);return i||n.length===0?null:(0,Vk.jsxs)(Vk.Fragment,{children:[(0,Vk.jsx)(Zee,{label:"prs",disabled:t,children:s=>(0,Vk.jsx)(Q1r,{cwd:e,onPick:a,close:s})}),o&&(0,Vk.jsx)(Ipe,{pr:o,onSelect:s=>{r(o,s),a(null)},onCancel:()=>a(null)})]})}var nvr=P(z(),1);function rvr({onStartRun:e,cwd:t}){let r=Gee(t);return!t||r.length===0?null:(0,nvr.jsx)(Wee,{runs:r,onSelect:n=>e(n,t)})}var BY=P(z(),1);function ivr({onCreateAssist:e,onStartRun:t}){let{selectedCwd:r,selectedNode:n}=$n();return(0,BY.jsxs)(Rt,{direction:"row",spacing:.5,sx:{alignItems:"center","&:not(:empty)":{ml:2}},children:[(0,BY.jsx)(tvr,{cwd:r,disabled:!r,onSelect:(i,o)=>e([...o,String(i.number)],r,{...PP(i),node:n})}),(0,BY.jsx)(rvr,{onStartRun:(i,o)=>t(i,o,void 0,void 0,n),cwd:r})]})}var Ud=P(z(),1),NGn={minHeight:48,pl:1,pr:14};function ovr({socket:e,selection:t}){let{collapsed:r,onToggleCollapsed:n}=tS();return(0,Ud.jsxs)(z_,{variant:"dense",disableGutters:!0,sx:NGn,children:[r&&(0,Ud.jsx)(ste,{collapsed:r,onToggleCollapsed:n}),(0,Ud.jsx)(z1r,{reconnecting:e.reconnecting}),(0,Ud.jsx)(b1r,{cwd:t.selectedCwd}),(0,Ud.jsx)(u1r,{}),(0,Ud.jsx)(V1r,{repos:t.repos,selected:t.selectedCwd,onSelect:t.setSelectedCwd}),(0,Ud.jsxs)(le,{sx:{display:"flex",alignItems:"center",ml:1},children:[(0,Ud.jsx)(Jee,{cwd:t.selectedCwd}),(0,Ud.jsx)(C1r,{cwd:t.selectedCwd}),(0,Ud.jsx)(S1r,{})]}),(0,Ud.jsx)(ivr,{onCreateAssist:e.createAssistSession,onStartRun:e.startRun}),(0,Ud.jsx)($1r,{rateLimits:e.rateLimits,harnessRateLimits:e.harnessRateLimits})]})}var I0e=P(ge(),1);function avr(){let[e,t]=(0,I0e.useState)(null);return(0,I0e.useEffect)(()=>{let r=!1;return(async()=>{try{let i=await(await fetch("/api/health")).json();!r&&typeof i?.nodeName=="string"&&t(i.nodeName)}catch{}})(),()=>{r=!0}},[]),e}var lvr=P(z(),1),OGn={lineHeight:"32px",bgcolor:"transparent"};function svr(){let e=avr();return e?(0,lvr.jsx)(D1e,{sx:OGn,children:e}):null}var cvr=P(z(),1),uvr=ut((0,cvr.jsx)("path",{d:"M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m-9 3h2v2h-2zm0 3h2v2h-2zM8 8h2v2H8zm0 3h2v2H8zm-1 2H5v-2h2zm0-3H5V8h2zm9 7H8v-2h8zm0-4h-2v-2h2zm0-3h-2V8h2zm3 3h-2v-2h2zm0-3h-2V8h2z"}),"Keyboard");var fvr=P(z(),1),dvr=ut((0,fvr.jsx)("path",{d:"m12 16.5 4-4h-3v-9h-2v9H8zm9-13h-6v1.99h6v14.03H3V5.49h6V3.5H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2v-14c0-1.1-.9-2-2-2"}),"SystemUpdateAlt");var hvr=P(z(),1),pvr=ut((0,hvr.jsx)("path",{d:"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zM12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6c3.31 0 6 2.69 6 6s-2.69 6-6 6"}),"Brightness4");var mvr=P(z(),1),gvr=ut((0,mvr.jsx)("path",{d:"M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zM12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6m0-10c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4"}),"Brightness7");var bze=P(z(),1);function yvr({mode:e}){return e==="dark"?(0,bze.jsx)(gvr,{fontSize:"small"}):(0,bze.jsx)(pvr,{fontSize:"small"})}var vvr=P(z(),1),bvr=ut((0,vvr.jsx)("path",{d:"m20.38 8.57-1.23 1.85a8 8 0 0 1-.22 7.58H5.07A8 8 0 0 1 15.58 6.85l1.85-1.23A10 10 0 0 0 3.35 19a2 2 0 0 0 1.72 1h13.85a2 2 0 0 0 1.74-1 10 10 0 0 0-.27-10.44zm-9.79 6.84a2 2 0 0 0 2.83 0l5.66-8.49-8.49 5.66a2 2 0 0 0 0 2.83"}),"Speed");var IB=P(z(),1);function xvr(){let e=zpe();return(0,IB.jsxs)(fn,{onClick:()=>$ft(!e),children:[(0,IB.jsx)(oT,{children:(0,IB.jsx)(bvr,{fontSize:"small"})}),(0,IB.jsx)(Sp,{children:e?"Hide render HUD":"Show render HUD"})]})}var el=P(z(),1);function Tvr({mode:e,restartLabel:t,updateLabel:r,onToggleColorMode:n,onShowShortcuts:i,onRestart:o,onUpdate:a}){return[(0,el.jsxs)(fn,{onClick:n,children:[(0,el.jsx)(oT,{children:(0,el.jsx)(yvr,{mode:e})}),(0,el.jsx)(Sp,{children:"Toggle dark mode"})]},"color-mode"),(0,el.jsx)(xvr,{},"render-hud"),(0,el.jsxs)(fn,{onClick:i,children:[(0,el.jsx)(oT,{children:(0,el.jsx)(uvr,{fontSize:"small"})}),(0,el.jsx)(Sp,{children:"Keyboard shortcuts"})]},"shortcuts"),(0,el.jsx)(no,{},"restart-divider"),(0,el.jsxs)(fn,{onClick:o,children:[(0,el.jsx)(oT,{children:(0,el.jsx)(Tee,{fontSize:"small"})}),(0,el.jsx)(Sp,{children:t})]},"restart"),(0,el.jsxs)(fn,{onClick:a,children:[(0,el.jsx)(oT,{children:(0,el.jsx)(dvr,{fontSize:"small"})}),(0,el.jsx)(Sp,{children:r})]},"update")]}var Svr=P(ge(),1);var wvr=P(z(),1);function Cvr({peer:e,onRestart:t,onClose:r}){let[n,i]=(0,Svr.useState)(!1);return(0,wvr.jsx)(vo,{title:`Restart ${e}?`,message:`Restarts the sessions daemon and web server on ${e}. Its sessions resume when the daemon is back. This page stays open.`,confirmLabel:"Restart",busy:n,autoFocusConfirm:!0,onConfirm:()=>{i(!0),t(e).finally(r)},onCancel:r})}function kvr(e){let t=new Map;for(let r of e){let n=t.get(r.group)??[];n.push(r),t.set(r.group,n)}return[...t].map(([r,n])=>({name:r,shortcuts:n}))}var BGn=Object.keys(TP);function _vr(){let e=SP();return kvr(BGn.map(t=>GT(t,e)))}var ap=P(z(),1),FGn={display:"flex",alignItems:"center",justifyContent:"space-between",pr:1},$Gn={display:"flex",alignItems:"center",justifyContent:"space-between",gap:2,py:.5};function Evr({onClose:e}){let t=_vr();return(0,ap.jsxs)(Ps,{open:!0,onClose:e,maxWidth:"xs",fullWidth:!0,"aria-labelledby":"shortcuts-dialog-title",children:[(0,ap.jsxs)(Il,{id:"shortcuts-dialog-title",sx:FGn,children:["Keyboard shortcuts",(0,ap.jsx)(ir,{size:"small","aria-label":"Close",onClick:e,children:(0,ap.jsx)(da,{fontSize:"small"})})]}),(0,ap.jsx)(Ml,{dividers:!0,children:t.map(r=>(0,ap.jsxs)(le,{component:"section",sx:{mb:1.5},children:[(0,ap.jsx)(Oe,{variant:"overline",color:"text.secondary",children:r.name}),r.shortcuts.map(n=>(0,ap.jsxs)(le,{sx:$Gn,children:[(0,ap.jsx)(Oe,{variant:"body2",children:n.label}),(0,ap.jsx)(Rt,{direction:"row",spacing:.5,children:(0,ap.jsx)(tee,{chords:n.chords})})]},n.label))]},r.name))})]})}var $R=P(z(),1);function Rvr({reconnecting:e,onClose:t}){let{pending:r,error:n,clearError:i,restart:o}=bk(aB.target,e);return(0,$R.jsxs)($R.Fragment,{children:[(0,$R.jsx)(vo,{title:aB.label,message:aB.message,confirmLabel:"Restart",busy:r,autoFocusConfirm:!0,onConfirm:()=>{o()},onCancel:t}),(0,$R.jsx)(vu,{error:n,onClose:i})]})}var Pvr=P(z(),1);function zGn(e){return e?{title:`Update assist on ${e}?`,message:`This runs 'assist update' on ${e} as a new session, then restarts its web server. This page stays open.`}:{title:"Update assist",message:"This starts a new session running 'assist update'. Its output will appear in the terminal."}}function Avr({peer:e,onConfirm:t,onClose:r}){return(0,Pvr.jsx)(vo,{...zGn(e),confirmLabel:"Update",onConfirm:()=>{t(),r()},onCancel:r})}var m0=P(ge(),1);async function HGn(e){try{let t=await fetch(`/api/node-doctor?link=${encodeURIComponent(e)}`);return t.ok?(await t.json()).hop:null}catch{return null}}async function Lvr(e,t){let r=await HGn(e);if(!r)return t;let n=r.remediation?` \u2014 ${r.remediation}`:"";return`${t}: ${r.hop} hop failed: ${r.error}${n}`}var $2=P(ge(),1);function Mvr(e){let{nodes:t}=Bu(),[r,n]=(0,$2.useState)(null),i=(0,$2.useRef)(!1),o=r?t?.links.find(l=>l.name===r.peer):void 0;(0,$2.useEffect)(()=>{if(!(!r||!o)){if(o.state!=="connected"){i.current=!0;return}i.current&&(n(null),e(r.describe(r.peer,o.peerVersion)))}},[r,o,e]);let a=(0,$2.useCallback)((l,u)=>{i.current=!1,n({peer:l,describe:u})},[]),s=(0,$2.useCallback)(()=>n(null),[]);return{watch:a,stop:s}}var UGn=9e4;function D0e(){let[e,t]=(0,m0.useState)(null),[r,n]=(0,m0.useState)(null),i=(0,m0.useRef)(void 0),o=(0,m0.useCallback)(f=>{clearTimeout(i.current),t(f)},[]),{watch:a,stop:s}=Mvr(o);(0,m0.useEffect)(()=>()=>clearTimeout(i.current),[]);let l=(0,m0.useCallback)(async(f,d)=>{n(await Lvr(f,d))},[]);return{requestThenAwait:(0,m0.useCallback)(async(f,d,h,p)=>{let m;try{m=await h()}catch{}return m?.ok?(a(f,p),clearTimeout(i.current),i.current=setTimeout(()=>{s(),l(f,`${f} did not come back`)},UGn),!0):(await l(f,`${d} failed (${await oB(m)})`),!1)},[l,a,s]),back:e,clearBack:()=>t(null),error:r,clearError:()=>n(null)}}var WGn=(e,t)=>t?`${e} is back (v${t})`:`${e} is back`;function Ivr(){let{requestThenAwait:e,...t}=D0e();return{restart:n=>e(n,`Restart ${n}`,()=>vk("both",n),WGn),...t}}var FY=P(ge(),1);var g0=P(ge(),1);function Dvr(e){return e.commandType==="assist"&&e.assistArgs?.[0]==="update"&&e.status==="done"}function N0e(e,t,r){let[n,i]=(0,g0.useState)(!1),[o,a]=(0,g0.useState)(!1),s=(0,g0.useRef)(!1),l=(0,g0.useRef)(e);l.current=e;let u=(0,g0.useRef)(new Set),f=(0,g0.useCallback)(()=>{s.current=!1,a(!1),u.current=new Set(l.current.filter(Dvr).map(d=>d.id)),i(!0)},[]);return(0,g0.useEffect)(()=>{if(!n||o)return;if(t){s.current=!0;return}if(!s.current)return;e.some(h=>Dvr(h)&&h.node===r&&!u.current.has(h.id))&&a(!0)},[n,o,t,e,r]),{arm:f,completed:o}}var Nvr=(e,t)=>t?`${e} updated to v${t}`:`${e} updated`;function VGn(e){return fetch(`/api/self-update?node=${encodeURIComponent(e)}`,{method:"POST"})}function Ovr(e){let{nodes:t}=Bu(),{launchAssist:r}=$l(),{requestThenAwait:n,...i}=D0e(),[o,a]=(0,FY.useState)(null),[s,l]=(0,FY.useState)(),u=m=>t?.links.find(g=>g.name===m)?.state,{arm:f,completed:d}=N0e(e,u(s)!=="connected",s);(0,FY.useEffect)(()=>{!d||!s||(l(void 0),n(s,`Restart ${s}'s web server`,()=>vk("webserver",s),Nvr))},[d,s,n]);let h=async m=>{a(`Updating assist on ${m}\u2026`),await n(m,`Update ${m}`,()=>VGn(m),Nvr),a(null)};return{update:m=>{if(u(m)!=="connected"){h(m);return}l(m),f(),r(["update"],void 0,{node:m})},progress:o,...i}}var y0=P(z(),1);function Bvr({dialog:e,peer:t,sessions:r,reconnecting:n,onClose:i}){let{launchAssist:o,armUpdateReload:a}=$l(),s=Ivr(),l=Ovr(r);return(0,y0.jsxs)(y0.Fragment,{children:[e==="shortcuts"&&(0,y0.jsx)(Evr,{onClose:i}),e==="restart"&&t&&(0,y0.jsx)(Cvr,{peer:t,onRestart:s.restart,onClose:i}),e==="restart"&&!t&&(0,y0.jsx)(Rvr,{reconnecting:n,onClose:i}),e==="update"&&(0,y0.jsx)(Avr,{peer:t,onConfirm:()=>{if(t){l.update(t);return}a(),o(["update"])},onClose:i}),(0,y0.jsx)(oY,{notices:s}),(0,y0.jsx)(oY,{notices:l})]})}var Fvr=P(z(),1),$vr=ut((0,Fvr.jsx)("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings");var zvr=P(ge(),1);var $Y=P(z(),1);function Hvr(){let e=Xi(),t=(0,zvr.useCallback)(()=>e("/config"),[e]),{matches:r,chords:n}=Kn("openConfig");return No(r,t),(0,$Y.jsx)(lr,{describeChild:!0,title:(0,$Y.jsx)(ed,{label:"Config",chords:n}),children:(0,$Y.jsx)(ir,{size:"small",sx:{color:"inherit"},"aria-label":"Config",onClick:t,children:(0,$Y.jsx)($vr,{fontSize:"small"})})})}var Uvr=P(z(),1),Wvr=ut((0,Uvr.jsx)("path",{d:"M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z"}),"Menu");var O0e=P(ge(),1);var zY=P(z(),1);function Vvr({open:e,onOpen:t}){let r=(0,O0e.useRef)(null),{matches:n,chords:i}=Kn("openMenu");return No(n,(0,O0e.useCallback)(()=>{r.current&&t(r.current)},[t])),(0,zY.jsx)(lr,{describeChild:!0,title:(0,zY.jsx)(ed,{label:"Menu",chords:i}),children:(0,zY.jsx)(ir,{ref:r,onClick:o=>t(o.currentTarget),size:"small",sx:{color:"inherit"},"aria-label":"Open menu","aria-haspopup":"true","aria-expanded":e?"true":void 0,children:(0,zY.jsx)(Wvr,{fontSize:"small"})})})}var xze=P(z(),1),Gvr=ut([(0,xze.jsx)("path",{d:"M12 5.99 19.53 19H4.47zM12 2 1 21h22z"},"0"),(0,xze.jsx)("path",{d:"M13 16h-2v2h2zm0-6h-2v5h2z"},"1")],"WarningAmber");var Tze=P(z(),1);function qvr(){let e=b0e();return!e||e===Bk?null:(0,Tze.jsx)(lr,{title:`Daemon is running v${e}, but this page was served by v${Bk}. Restart the daemon to match.`,children:(0,Tze.jsx)(Gvr,{fontSize:"small",color:"warning","aria-label":"Version mismatch"})})}var jvr=e=>({display:"inline-flex",alignItems:"center",gap:.75,px:1,py:.25,borderRadius:999,fontSize:12,lineHeight:1.5,color:"inherit",opacity:e?1:.55,bgcolor:e?"rgba(255,255,255,0.16)":"transparent",transition:"opacity .2s ease, background-color .2s ease","&:hover, &:focus-visible":{opacity:1,bgcolor:"rgba(255,255,255,0.12)"},"& .ready-dot":{width:8,height:8,borderRadius:"50%",bgcolor:"#ffb74d",boxShadow:"0 0 0 2px rgba(0,0,0,.15)"},"& .ready-count":{fontWeight:500}});var ov=P(z(),1);function Yvr(){let{entries:e}=Z9();if(!Bk)return null;let t=e.filter(yge).length;return(0,ov.jsxs)(ov.Fragment,{children:[(0,ov.jsxs)(Dn,{component:ys,to:"/updates","aria-label":t?`Updates: ${t} node${t>1?"s have":" has"} an update ready`:"Updates",sx:jvr(t>0),children:[t>0&&(0,ov.jsx)("span",{className:"ready-dot","aria-hidden":!0}),(0,ov.jsxs)("span",{children:["v",Bk]}),t>0&&(0,ov.jsxs)("span",{className:"ready-count",children:[t," ready"]})]}),(0,ov.jsx)(qvr,{})]})}var DB=P(z(),1);function Kvr({open:e,onOpen:t}){return(0,DB.jsxs)(le,{sx:{position:"fixed",top:8,right:16,zIndex:r=>r.zIndex.drawer+2,display:"flex",alignItems:"center",gap:.5,color:"inherit"},children:[(0,DB.jsx)(Yvr,{}),(0,DB.jsx)(Hvr,{}),(0,DB.jsx)(Vvr,{open:e,onOpen:t})]})}var zR=P(ge(),1);var Zvr=P(ge(),1);var Xvr=!0,GGn=new Set(["openMenu","cycleCards"]),qGn=Object.keys(TP).filter(e=>!GGn.has(e));function Qvr(e,t){let r=SP();(0,Zvr.useEffect)(()=>{if(!e)return;let n=i=>{qGn.some(o=>GT(o,r).matches(i))&&t()};return globalThis.addEventListener("keydown",n,Xvr),()=>globalThis.removeEventListener("keydown",n,Xvr)},[e,t,r])}function Jvr(){let[e,t]=(0,zR.useState)(null),[r,n]=(0,zR.useState)(!0),i=!!e,o=(0,zR.useCallback)(()=>t(null),[]),a=(0,zR.useCallback)(s=>{n(!0),t(s)},[]);return Qvr(i,(0,zR.useCallback)(()=>{n(!1),t(null)},[])),{anchorEl:e,open:i,close:o,openAt:a,restoreFocus:r}}var HY=P(ge(),1);function ebr(e){No(Kn("shortcutsSheet").matches,e)}function tbr(){let[e,t]=(0,HY.useState)(null);ebr((0,HY.useCallback)(()=>t("shortcuts"),[]));let r=(0,HY.useCallback)(()=>t(null),[]);return{dialog:e,showDialog:t,closeDialog:r}}function rbr(){let{nodes:e,selected:t}=Bu();return e&&t&&t!==e.local?t:void 0}function nbr(e){return{restartLabel:e?`Restart ${e}`:aB.label,updateLabel:e?`Update assist on ${e}`:"Update assist"}}var z2=P(z(),1);function ibr({mode:e,toggle:t,sessions:r,reconnecting:n}){let{anchorEl:i,open:o,close:a,openAt:s,restoreFocus:l}=Jvr(),{dialog:u,showDialog:f,closeDialog:d}=tbr(),h=rbr(),p=m=>()=>{a(),f(m)};return(0,z2.jsxs)(z2.Fragment,{children:[(0,z2.jsx)(Kvr,{open:o,onOpen:s}),(0,z2.jsxs)(Dl,{anchorEl:i,open:o,onClose:a,disableRestoreFocus:!l,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[(0,z2.jsx)(svr,{}),Tvr({mode:e,...nbr(h),onToggleColorMode:()=>{t(),a()},onShowShortcuts:p("shortcuts"),onRestart:p("restart"),onUpdate:p("update")})]}),(0,z2.jsx)(Bvr,{dialog:u,peer:h,sessions:r,reconnecting:n,onClose:d})]})}var sbr=P(ge(),1);var abr=P(z(),1);function obr({conflict:e,onConfirm:t,onCancel:r}){let{name:n,cwd:i,port:o,group:a}=e.existing,s=$p(i),l=o?` on port ${o}`:"",u=s?` in ${s}`:"",f=a?`, holding the ${a} server slot`:"";return(0,abr.jsx)(vo,{title:a?`Replace the ${a} server?`:"Replace running server?",message:`"${n}" is already serving${l}${u}${f}. Replace it \u2014 stop the running server and start this one?`,confirmLabel:"Replace",confirmColor:"error",onConfirm:t,onCancel:r})}var B0e=P(z(),1);function lbr({socket:e,children:t}){let{serverConflict:r,clearServerConflict:n,retrySession:i,stopSession:o,startRun:a,discardSession:s}=e,l=(0,sbr.useMemo)(()=>({onStop:o,onStart:a,onDiscard:s}),[o,a,s]),u=()=>{r&&(r.runName?a(r.runName,r.cwd,!0,r.launchedFrom,r.node):r.sessionId&&i(r.sessionId,!0),n())};return(0,B0e.jsxs)(uTe.Provider,{value:l,children:[t,r&&(0,B0e.jsx)(obr,{conflict:r,onConfirm:u,onCancel:n})]})}var cbr=new Map;function ubr(e,t){if(!zre())return;let r=cbr.get(e);if(cbr.set(e,t),!!r)for(let[n,i]of Object.entries(t))Object.is(i,r[n])||oy(`\u0394 ${e}.${n}`)}var $0e=P(ge(),1);function fbr(e,t,r){if(!t)return null;let n=e[t];if(!n)return null;let i=r.find(o=>o.id===n);return!i||zp(i)!==t?null:n}function av(e,t,r){if(e)return t.find(n=>n.id===e)??r.find(n=>n.sessionId===e)}function F0e(){let{pathname:e}=Io();return e.startsWith("/backlog")||e.startsWith("/usage")}function dbr({selectedCwd:e,selectedCardId:t,sessions:r,history:n,activeByRepo:i,onSelect:o}){let a=av(t,r,n),s=a&&zp(a),l=!!(s&&s===e),u=fbr(i,e,r),f=(0,$0e.useRef)(t),d=F0e();(0,$0e.useEffect)(()=>{let h=f.current!==t&&!!s;f.current=t,!(d||h||l||!u)&&o(u)},[t,s,l,u,o,d])}var U0e=P(ge(),1);function hbr(e,t,r,n){return av(e,t,r)?.cwd||n}function pbr(e,t,r,n){let i=hbr(e,t,r,n.cwd),o=av(e,t,r);return{cwd:i,node:o?.cwd?o.node:n.node}}function mbr(e,t){let r=new Set,n=new Set,i=[];for(let o of t){if(o.cwdMissing)continue;let a=yP(o),s=zp(o);!a||!s||r.has(a)||n.has(s)||(r.add(a),n.add(s),i.push(s))}return e&&!r.has(vP(e,t))&&!n.has(e)&&i.unshift(e),i}var sp="";function jGn(e){let t=new Map([[sp,[]]]);for(let r of e){let n=r.node??sp;t.set(n,[...t.get(n)??[],r])}return t}function gbr(e,t){var n;let r=new Map;for(let[i,o]of jGn(t)){let a=i===sp?e:"";for(let s of mbr(a,o)){let l=vP(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 ybr(e,t){return e.clones[t]??e.clones[sp]??Object.values(e.clones)[0]}function UY(e,t){return e.find(r=>Object.values(r.clones).includes(t))}function NB(e,t){return!e||e===t?sp:e}var Sze=P(ge(),1);function vbr(e,t){let r=(0,Sze.useCallback)((i,o)=>{let a=NB(o,t),s=UY(e,i);return s?s.clones[a]:a===sp?i:void 0},[e,t]),n=(0,Sze.useCallback)(i=>UY(e,i)?.origin,[e]);return{cloneOn:r,originOf:n}}var z0e=P(ge(),1);function bbr(e,t,r,n){let i=(0,z0e.useRef)(e);(0,z0e.useEffect)(()=>{if(i.current===e)return;i.current=e;let o=UY(t,r)?.clones[e];o&&n(o,e)},[e,t,r,n])}var OB=P(ge(),1);function xbr(e,t,r){if(t.node!==void 0)return t.node;let n=new Set(e.flatMap(i=>Object.entries(i.clones).filter(([,o])=>o===t.cwd).map(([o])=>o)));return n.has(r)?r:n.size===0||n.has(sp)?sp:[...n][0]}function Tbr(e,t,r,n){let[i,o]=(0,OB.useState)({cwd:e}),a=(0,OB.useCallback)((l,u)=>o({cwd:l,node:u}),[]);(0,OB.useEffect)(()=>{e&&!i.cwd&&o({cwd:e})},[e,i.cwd]);let s=xbr(t,{cwd:i.cwd,node:i.node===void 0?void 0:NB(i.node,n)},r);return{selectedCwd:i.cwd,selectedNode:s||void 0,setSelectedCwd:a}}var Sbr=P(ge(),1);function H0e(e,t,r){let n=av(e,t,r);return n&&zp(n)}function Cbr(e,t,r,n){let i=H0e(e,t,r),o=av(e,t,r)?.node??sp;(0,Sbr.useEffect)(()=>{i&&n(i,o)},[i,o,n])}function wbr(e,t,r,n,i){let o=i.nodes?.local,a=NB(i.selected,o),s=(0,U0e.useMemo)(()=>gbr(e,t),[e,t]),{selectedCwd:l,selectedNode:u,setSelectedCwd:f}=Tbr(e,s,a,o);Cbr(r,n,t,f),bbr(a,s,l,f);let{cloneOn:d,originOf:h}=vbr(s,o),p=(0,U0e.useMemo)(()=>s.map(y=>ybr(y,a)),[s,a]),{cwd:m,node:g}=pbr(r,n,t,{cwd:l,node:u});return(0,U0e.useMemo)(()=>({repos:p,selectedCwd:l,selectedNode:u,worktreeCwd:m,worktreeNode:g,setSelectedCwd:f,cloneOn:d,originOf:h}),[p,l,u,m,g,f,d,h])}var V0e=P(ge(),1);var Gk=P(ge(),1);var kbr=P(ge(),1),W0e="assist:reloaded-after-update";function _br(e){(0,kbr.useEffect)(()=>{globalThis.sessionStorage?.getItem(W0e)&&(globalThis.sessionStorage.removeItem(W0e),e({message:"Reloaded after updating assist",sessionId:null}))},[e])}function Ebr(e,t,r,n){let{arm:i,completed:o}=N0e(e,t),a=(0,Gk.useRef)(!1),s=(0,Gk.useCallback)(()=>{globalThis.sessionStorage?.setItem(W0e,"1")},[]),{error:l,restart:u}=bk("webserver",t,s);return _br(r),(0,Gk.useEffect)(()=>{l&&n(l)},[l,n]),(0,Gk.useEffect)(()=>{!o||a.current||(a.current=!0,u())},[o,u]),{armUpdateReload:(0,Gk.useCallback)(()=>{a.current=!1,i()},[i])}}function Rbr(e){let{armUpdateReload:t}=Ebr(e.sessions,e.reconnecting,e.setSuccess,e.setError),r=(0,V0e.useMemo)(()=>({launchAssist:e.createAssistSession,launchAgentInStream:e.createSessionInStream,resumeSession:e.resumeSession,armUpdateReload:t}),[e.createAssistSession,e.createSessionInStream,e.resumeSession,t]),n=Xi(),i=(0,V0e.useCallback)(o=>{e.selectSession(o),n("/sessions"),e.clearSuccess()},[n,e.selectSession,e.clearSuccess]);return{launch:r,viewLaunchedSession:i}}var Abr=P(ge(),1);function Pbr(e,t,r,n){let i=H0e(e,t,r);(0,Abr.useEffect)(()=>{e&&i&&n({type:"set-active",cwd:i,sessionId:e})},[e,i,n])}var G0e=P(ge(),1);function Lbr(e,t){let r=(0,G0e.useRef)(new Map);(0,G0e.useEffect)(()=>{let n=new Set;for(let{id:i,status:o}of e)n.add(i),r.current.get(i)!==o&&(r.current.set(i,o),console.debug(`[sessions] render session ${i} status=${o}`),t({type:"ui-status",sessionId:i,status:o}));for(let i of r.current.keys())n.has(i)||r.current.delete(i)},[e,t])}var BB=P(ge(),1),Mbr="assist.sessions.node";function YGn(){try{return localStorage.getItem(Mbr)}catch{return null}}function KGn(e){try{localStorage.setItem(Mbr,e)}catch{}}function Ibr(e){let[t,r]=(0,BB.useState)(YGn),n=(0,BB.useCallback)(i=>{r(i),KGn(i)},[]);return(0,BB.useMemo)(()=>{let i=e?[e.local,...e.links.map(o=>o.name)]:[];return{nodes:e,names:i,visible:i.length>1,selected:t&&i.includes(t)?t:e?.local,select:n}},[e,t,n])}var Nbr=P(ge(),1);function Dbr(e){let t=e;if(t.type==="create")return{cwd:t.cwd,title:t.prompt?.trim()||(t.design?"New design session":"New session"),node:t.node};if(t.type==="create-assist"){let r=t.title?.trim();return{cwd:t.cwd,title:r||"New session",named:!!r,node:t.node}}return null}function Obr(e,t){return(0,Nbr.useCallback)(r=>{let n=e.current;n?.readyState===WebSocket.OPEN&&n.send(JSON.stringify(r));let i=Dbr(r);i&&t(i)},[e,t])}var sv=P(ge(),1);function q0e(e,t,r,n,i){e({type:"create",prompt:r||void 0,cwd:n,...t,...i?{node:i}:{}})}function Bbr(e){return(t,r,n)=>q0e(e,{design:!0},t,r,n)}function Fbr(e){return(t,r,n,i)=>q0e(e,{harness:t},r,n,i)}function $br(e){return(t,r,n)=>q0e(e,{auto:!0},t,r,n)}function zbr(e){return(t,r,n)=>e({type:"create-assist",assistArgs:t,cwd:r,...n})}function Hbr(e){return(t,r,n,i,o)=>e({type:"resume",sessionId:t,cwd:r,name:n,harness:i,node:o})}function Ubr(e,t){return(r,n)=>{t.delete(r),e({type:"retry",sessionId:r,replace:n})}}function Wbr(e,t){return r=>{t.delete(r),e({type:"restart",sessionId:r})}}function Vbr(e,t){return r=>{e({type:"dismiss",sessionId:r}),t.delete(r)}}function Gbr(e,t){return r=>{e({type:"discard",sessionId:r}),t.delete(r)}}function qbr(e){return t=>e({type:"stop",sessionId:t})}function jbr(e){return(t,r,n,i,o)=>e({type:"create-run",runName:t,cwd:r,replace:n,launchedFrom:i,node:o})}function Ybr(e){return(t,r)=>e({type:"set-autorun",sessionId:t,enabled:r})}function Kbr(e){return(t,r)=>e({type:"set-autoadvance",sessionId:t,enabled:r})}function Xbr(e){return(t,r)=>e({type:"set-starred",sessionId:t,starred:r})}function Zbr(e){return(t,r)=>e({type:"input",sessionId:t,data:r,viewerId:iY})}function Qbr(e){return(t,r,n,i)=>e({type:"resize",sessionId:t,cols:r,rows:n,viewerId:iY,claim:i})}function Jbr(e,t){return(r,n)=>{let i=e.get(r);return i&&n(i),t.set(r,n),()=>t.delete(r)}}function exr(e){return(t,r,n,i)=>e({type:"pr-decision",sessionId:t,requestId:r,decision:n,...i})}var HR=P(ge(),1);function txr(e){return(t,r,n)=>e({type:"create",prompt:r||void 0,cwd:n,joinSessionId:t,auto:!0})}function rxr(e){return{createSession:(0,HR.useMemo)(()=>$br(e),[e]),createSessionInStream:(0,HR.useMemo)(()=>txr(e),[e]),createDesignSession:(0,HR.useMemo)(()=>Bbr(e),[e]),createHarnessSession:(0,HR.useMemo)(()=>Fbr(e),[e]),createAssistSession:(0,HR.useMemo)(()=>zbr(e),[e]),resumeSession:(0,HR.useMemo)(()=>Hbr(e),[e])}}var WY=P(ge(),1);function nxr(e,t){let r=(0,WY.useCallback)((a,s)=>{Ubr(e,t.current)(a,s)},[e,t]),n=(0,WY.useCallback)(a=>{Wbr(e,t.current)(a)},[e,t]),i=(0,WY.useCallback)(a=>{Vbr(e,t.current)(a)},[e,t]),o=(0,WY.useCallback)(a=>{Gbr(e,t.current)(a)},[e,t]);return{retrySession:r,restartSession:n,dismissSession:i,discardSession:o}}function ixr(e,t,r){let n={...rxr(e),sendInput:(0,sv.useMemo)(()=>Zbr(e),[e]),sendResize:(0,sv.useMemo)(()=>Qbr(e),[e]),sendPrDecision:(0,sv.useMemo)(()=>exr(e),[e]),setAutoRun:(0,sv.useMemo)(()=>Ybr(e),[e]),setAutoAdvance:(0,sv.useMemo)(()=>Kbr(e),[e]),setStarred:(0,sv.useMemo)(()=>Xbr(e),[e]),stopSession:(0,sv.useMemo)(()=>qbr(e),[e]),startRun:(0,sv.useMemo)(()=>jbr(e),[e])},i=(0,sv.useMemo)(()=>Jbr(t.current,r.current),[t,r]);return{...n,...nxr(e,t),onOutput:i}}var VY=P(ge(),1);function oxr(e,t,r){let n=(0,VY.useCallback)(s=>{r(s),e({type:"fetch-transcript",sessionId:s})},[e,r]),i=(0,VY.useCallback)(s=>e({type:"fetch-user-messages",sessionId:s}),[e]),o=(0,VY.useCallback)(()=>{r(null)},[r]),a=(0,VY.useCallback)(s=>{r(null),t(s)},[t,r]);return{viewTranscript:n,fetchUserMessages:i,clearTranscript:o,selectSession:a}}var Yk=P(ge(),1);function axr(e,t){let r=new Set(t.map(i=>i.id)),n=null;for(let i of Object.values(e))r.has(i)&&(n=i);return n}var lxr=P(ge(),1);function sxr(e,t,r=null){return t!==null?e.some(n=>n.id===t)?t:e[0]?.id??null:r&&e.some(n=>n.id===r)?r:e[0]?.id??null}function cxr(e,t,r){let n=F0e();(0,lxr.useEffect)(()=>{if(n){t(null);return}t(i=>sxr(e,i,r))},[e,t,r,n])}var j0e=P(ge(),1);function uxr(){let[e,t]=(0,j0e.useState)({}),[r,n]=(0,j0e.useState)(null),[i,o]=(0,j0e.useState)(null);return{activeByRepo:e,setActiveByRepo:t,daemonVersion:r,setDaemonVersion:n,nodes:i,setNodes:o}}var v0=P(ge(),1);function fxr(e,t){if(!t.some(n=>e.has(n)))return e;let r=new Set(e);for(let n of t)r.delete(n);return r}function dxr(e,t){let r=[];for(let n of t){let i=e.get(n.id);i!==void 0&&i!==n.startedAt&&r.push(n.id)}return r}function hxr(e,t){return t.filter(r=>r.commandType==="run"&&e.get(r.id)!==r.startedAt).map(r=>r.id)}var XGn=1500;function pxr(){let[e,t]=(0,v0.useState)(new Set),r=(0,v0.useRef)(new Map),n=(0,v0.useRef)(new Map),i=(0,v0.useCallback)(s=>{t(l=>l.has(s)?l:new Set(l).add(s))},[]),o=(0,v0.useCallback)(s=>{let l=n.current;for(let u of s)clearTimeout(l.get(u)),l.set(u,setTimeout(()=>{l.delete(u),i(u)},XGn))},[i]);(0,v0.useEffect)(()=>{let s=n.current;return()=>{for(let l of s.values())clearTimeout(l)}},[]);let a=(0,v0.useCallback)(s=>{let l=dxr(r.current,s),u=hxr(r.current,s);r.current=new Map(s.map(f=>[f.id,f.startedAt])),l.length&&t(f=>fxr(f,l)),o(u)},[o]);return{initialized:e,markInitialized:i,syncSessions:a}}var qk=P(ge(),1);function mxr(){let[e,t]=(0,qk.useState)(null),[r,n]=(0,qk.useState)(null),[i,o]=(0,qk.useState)(null),a=(0,qk.useCallback)(()=>t(null),[]),s=(0,qk.useCallback)(()=>n(null),[]),l=(0,qk.useCallback)(()=>o(null),[]);return{error:e,setError:t,clearError:a,success:r,setSuccess:n,clearSuccess:s,serverConflict:i,setServerConflict:o,clearServerConflict:l}}var lv=P(ge(),1);function gxr(e,t){return[...e,{...t,status:"launching"}]}function Y0e(e){return e.find(t=>t.status==="launching")}function yxr(e){let t=Y0e(e);return t?e.filter(r=>r.id!==t.id):e}function vxr(e,t){let r=Y0e(e);return r?Cze(e,r.id,t):e}function Cze(e,t,r){return e.map(n=>n.id===t&&n.status==="launching"?{...n,status:"error",error:r}:n)}function bxr(e,t){return e.filter(r=>r.id!==t)}var xxr=P(ge(),1);var ZGn=6e4,QGn="Launch timed out \u2014 the session did not start.";function Txr(e,t){(0,xxr.useEffect)(()=>{let r=e.filter(i=>i.status==="launching");if(r.length===0)return;let n=r.map(i=>setTimeout(()=>t(o=>Cze(o,i.id,QGn)),Math.max(0,ZGn-(Date.now()-i.startedAt))));return()=>n.forEach(clearTimeout)},[e,t])}function Sxr(){let[e,t]=(0,lv.useState)([]),r=(0,lv.useRef)([]),n=(0,lv.useCallback)(l=>{r.current=l(r.current),t(r.current)},[]),i=(0,lv.useCallback)(l=>{n(u=>gxr(u,{id:crypto.randomUUID(),startedAt:Date.now(),...l}))},[n]),o=(0,lv.useCallback)(()=>{let l=Y0e(r.current);return n(yxr),l?.named?l.title:void 0},[n]),a=(0,lv.useCallback)(l=>n(u=>vxr(u,l)),[n]),s=(0,lv.useCallback)(l=>n(u=>bxr(u,l)),[n]);return Txr(e,n),{pendingLaunches:e,addPendingLaunch:i,resolvePendingLaunch:o,failPendingLaunch:a,dismissPendingLaunch:s}}var GY=P(ge(),1);function Cxr(){let[e,t]=(0,GY.useState)(null),[r,n]=(0,GY.useState)({}),i=(0,GY.useCallback)((o,a)=>{o!=="claude"&&n(s=>({...s,[o]:a}))},[]);return{rateLimits:e,setRateLimits:t,harnessRateLimits:r,setHarnessRateLimits:i}}var wxr=P(ge(),1);function kxr(e,t){return(0,wxr.useCallback)(r=>{e(r),t(r)},[e,t])}var K0e=P(ge(),1);function _xr(){let[e,t]=(0,K0e.useState)(null),[r,n]=(0,K0e.useState)(null),[i,o]=(0,K0e.useState)(null);return{transcript:e,setTranscript:t,viewingTranscriptSessionId:r,setViewingTranscriptSessionId:n,userMessages:i,setUserMessages:o}}var jk=P(ge(),1);function Exr(e,t){let r=e.sessionId;t.buffers.current?.delete(r),t.handlers.current?.get(r)?.("\x1Bc")}function Rxr(e,t){let r=e.sessionId,n=t.resolvePendingLaunch();t.setViewingTranscriptSessionId(null),t.setActiveId(r),e.isNew&&t.setSuccess({message:n?`Started ${n}`:"New session started",sessionId:r})}function Axr(e,t){let r=e.message;t.setError(r),t.failPendingLaunch(r)}function Pxr(e,t){let r=e.rateLimits,n=e.harness;!n||n==="claude"?t.setRateLimits(r):t.setHarnessRateLimits?.(n,r)}function Lxr(e,t){t.setNodes({local:e.local,links:e.links??[]})}function Mxr(e,t){t.setSuccess({message:e.message,sessionId:null})}function Ixr(e,t){let r=e.sessionId,n=t.buffers.current?.get(r)??"";t.buffers.current?.set(r,n+e.data),t.handlers.current?.get(r)?.(e.data),t.markInitialized(r)}function Dxr(e,t){t.setServerConflict({existing:e.existing,runName:e.runName,cwd:e.cwd,sessionId:e.sessionId,launchedFrom:e.launchedFrom,node:e.node})}function Nxr(e,t){let r=e.sessions;t.setSessions(r),e.cwd&&t.setCurrentCwd(e.cwd),t.setActiveByRepo(e.active??{})}var JGn={sessions:Nxr,created:Rxr,history:(e,t)=>t.setHistory(e.sessions),transcript:(e,t)=>t.setTranscript({sessionId:e.sessionId,messages:e.messages}),"user-messages":(e,t)=>t.setUserMessages({sessionId:e.sessionId,messages:e.messages}),hello:(e,t)=>t.setDaemonVersion(e.version),nodes:Lxr,error:Axr,notice:Mxr,"run-conflict":Dxr,limits:Pxr,clear:Exr,output:Ixr};function Oxr(e,t){JGn[e.type]?.(e,t)}function Bxr(e,t={}){let r=location.protocol==="https:"?"wss:":"ws:",n=new WebSocket(`${r}//${location.host}/ws`);return n.onopen=()=>{t.onOpen?.(),n.send(JSON.stringify({type:"hello"})),n.send(JSON.stringify({type:"history"}))},n.onmessage=i=>{Oxr(JSON.parse(i.data),e)},n.onclose=()=>t.onClose?.(),n}function Fxr(e,t,r,n){let i=!1,o,a=0,s=!1,l=()=>{i||t(Bxr(e,{onOpen:()=>{s&&r(),s=!1,n(!1),a=0},onClose:()=>{if(i)return;s=!0,n(!0);let u=Math.min(300*2**a,2e3);a+=1,o=setTimeout(l,u)}}))};return l(),()=>{i=!0,o&&clearTimeout(o)}}function $xr(e){let t=(0,jk.useRef)(null),[r,n]=(0,jk.useState)(!1),{handleSessions:i,markInitialized:o,buffers:a,handlers:s}=e;(0,jk.useEffect)(()=>{let u=()=>{a.current?.clear();let d=s.current;if(d)for(let h of d.values())h("\x1Bc")},f=Fxr({...e,setSessions:i},d=>{t.current=d},u,n);return()=>{f(),t.current?.close()}},[i,o,a,s]);let l=(0,jk.useCallback)(()=>{let u=t.current;u?.readyState===WebSocket.OPEN&&u.send(JSON.stringify({type:"history"}))},[]);return{wsRef:t,requestHistory:l,reconnecting:r}}function zxr(){let[e,t]=(0,Yk.useState)([]),[r,n]=(0,Yk.useState)([]),[i,o]=(0,Yk.useState)(null),a=uxr(),s=_xr(),[l,u]=(0,Yk.useState)(""),f=mxr(),d=Sxr(),h=Cxr(),{initialized:p,markInitialized:m,syncSessions:g}=pxr(),y=(0,Yk.useRef)(new Map),v=(0,Yk.useRef)(new Map),b=kxr(g,t),{wsRef:x,requestHistory:S,reconnecting:C}=$xr({handleSessions:b,setHistory:n,setActiveId:o,...a,...s,setCurrentCwd:u,...f,...d,...h,markInitialized:m,buffers:y,handlers:v});return cxr(e,o,axr(a.activeByRepo,e)),{sessions:e,history:r,activeId:i,setActiveId:o,...a,...s,currentCwd:l,...f,...d,...h,initialized:p,wsRef:x,buffers:y,handlers:v,requestHistory:S,reconnecting:C}}function Hxr(){let e=zxr(),{wsRef:t,buffers:r,handlers:n,addPendingLaunch:i,activeId:o,sessions:a}=e,s=Ibr(e.nodes),l=Obr(t,i),u=ixr(l,r,n);Pbr(o,a,e.history,l),Lbr(a,l);let f=oxr(l,e.setActiveId,e.setViewingTranscriptSessionId);return{...e,...u,...f,nodeSelection:s}}var FB=P(ge(),1);var Uxr="assist:sidebar-collapsed";function Wxr(){let[e,t]=(0,FB.useState)(()=>Bd(Uxr).length>0),r=(0,FB.useCallback)(()=>{t(n=>{let i=!n;return Fd(Uxr,i?[!0]:[]),i})},[]);return(0,FB.useMemo)(()=>({collapsed:e,onToggleCollapsed:r}),[e,r])}var Vxr=P(ge(),1);function Gxr(){(0,Vxr.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await fetch("/api/hotkeys");if(!t.ok)return;let r=await t.json();e||m5.set(r)}catch{}})(),()=>{e=!0}},[])}var X0e=P(ge(),1);function qxr(){let[e,t]=(0,X0e.useState)(!0);return(0,X0e.useEffect)(()=>{let r=!1;return(async()=>{try{let i=await(await fetch("/api/session-layout")).json();r||t(!!i?.topBar)}catch{t(!0)}})(),()=>{r=!0}},[]),e}function jxr(){let e=Hxr(),t=mpe(e),r=wbr(e.currentCwd,e.history,t,e.sessions,e.nodeSelection);dbr({selectedCwd:r.selectedCwd,selectedCardId:t,sessions:e.sessions,history:e.history,activeByRepo:e.activeByRepo,onSelect:e.selectSession});let{launch:n,viewLaunchedSession:i}=Rbr(e),o=qxr();Gxr();let a=Wxr();return ubr("shell",{...e,selection:r,launch:n,topBar:o,sidebarCollapse:a}),{socket:e,selection:r,launch:n,viewLaunchedSession:i,topBar:o,sidebarCollapse:a}}var b0=P(z(),1),eqn={zIndex:e=>e.zIndex.drawer+1},tqn={minHeight:48};function Yxr({mode:e,toggle:t}){let r=jxr(),{socket:n,selection:i,viewLaunchedSession:o}=r;return(0,b0.jsx)(a1r,{shell:r,children:(0,b0.jsxs)(aze.Provider,{value:n.daemonVersion,children:[(0,b0.jsx)(ibr,{mode:e,toggle:t,sessions:n.sessions,reconnecting:n.reconnecting}),(0,b0.jsx)(v1e,{position:"fixed",elevation:1,sx:eqn,children:(0,b0.jsx)(ovr,{socket:n,selection:i})}),(0,b0.jsx)(z_,{variant:"dense",sx:tqn}),(0,b0.jsx)(lbr,{socket:n,children:(0,b0.jsx)(Y0r,{socket:n})}),(0,b0.jsx)(i1r,{socket:n,onViewLaunchedSession:o})]})})}var Kxr=P(ge(),1);function Xxr(){let[e,t]=(0,Kxr.useState)(()=>{try{return localStorage.getItem("theme-mode")??"dark"}catch{return"dark"}});return{mode:e,toggle:()=>t(n=>{let i=n==="dark"?"light":"dark";try{localStorage.setItem("theme-mode",i)}catch{}return i})}}var Kk=P(z(),1),rqn={MuiButtonBase:{styleOverrides:{root:{cursor:"pointer","&.Mui-disabled":{cursor:"default"}}}},MuiLink:{styleOverrides:{root:{cursor:"pointer"}}}};function nqn(){let{mode:e,toggle:t}=Xxr(),r=(0,Qxr.useMemo)(()=>_0({palette:{mode:e,...e==="dark"&&{background:{default:"#1e1e1e",paper:"#252526"}}},components:rqn}),[e]);return(0,Kk.jsxs)(JK,{theme:r,children:[(0,Kk.jsx)(zX,{}),(0,Kk.jsx)(Yxr,{mode:e,toggle:t})]})}var iqn=$2e([{path:"*",element:(0,Kk.jsx)(nqn,{})}]);function oqn(){return(0,Kk.jsx)(L2e,{router:iqn})}var Zxr=document.getElementById("app");Zxr&&(0,Jxr.createRoot)(Zxr).render((0,Kk.jsx)(oqn,{}));})();
3979
3979
  /*! Bundled license information:
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ import { Command } from "commander";
6
6
  // package.json
7
7
  var package_default = {
8
8
  name: "@staff0rd/assist",
9
- version: "0.797.0",
9
+ version: "0.797.1",
10
10
  type: "module",
11
11
  main: "dist/index.js",
12
12
  bin: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@staff0rd/assist",
3
- "version": "0.797.0",
3
+ "version": "0.797.1",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "bin": {