@staff0rd/assist 0.946.0 → 0.947.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/commands/sessions/web/bundle.js +2 -2
- package/dist/index.js +58 -15
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -167,6 +167,7 @@ Every command supports `--help` for full detail on its flags and behaviour.
|
|
|
167
167
|
- `assist github issue comment <number> --body <body> [-R <owner>/<repo>]` - Comment on a GitHub issue, previewed for approval in a web session; `--body -` reads stdin
|
|
168
168
|
- `assist github issue edit-comment <comment-id> --body <body> [-R <owner>/<repo>]` - Replace the body of a posted issue comment, previewed for approval in a web session; `--body -` reads stdin
|
|
169
169
|
- `assist github issue started <number> [-R <owner>/<repo>]` - Assign a GitHub issue to yourself and move it to In Progress on its project boards
|
|
170
|
+
- `assist github issue unassign <number> [-R <owner>/<repo>]` - Remove yourself from a GitHub issue's assignees
|
|
170
171
|
- `assist github issue fix-structure <target> [-R <owner>/<repo>] [--level <level>] [--type-chain <names>] [--strip-label <label>...] [--apply]` - Normalise the issue types across an issue's sub-issue subtree to a type chain (default `Epic,Story,Subtask`); `--level` sets the target's position in the chain, `--strip-label` removes a label, and nothing is written without `--apply`
|
|
171
172
|
- `assist news add [url]` - Add an RSS feed URL to `news.feeds` (rendered in the sessions web News tab)
|
|
172
173
|
- `assist news list` - List the feed URLs in `news.feeds`
|
|
@@ -3879,7 +3879,7 @@ ${t.url}`),n.set("newCwd",r),n),{replace:!0})}var bze=E(fe(),1);function Scr(e,t
|
|
|
3879
3879
|
`);return a.at(-1)===""?a.slice(0,-1):a}var wdr=E(fe(),1),f0e=(0,wdr.createContext)(void 0);var Edr=E($(),1);function aqn(e,t){let r=new Map;return{load:n=>{let i=r.get(n);if(i)return i;let o=Cdr(e,t,n);return r.set(n,o),o.catch(()=>r.delete(n)),o}}}function _dr({repo:e,headSha:t,children:r}){let n=(0,kdr.useMemo)(()=>e&&t?aqn(e,t):void 0,[e,t]);return(0,Edr.jsx)(f0e.Provider,{value:n,children:r})}var Qze=E($(),1);function Rdr({payload:e,...t}){return(0,Qze.jsx)(_dr,{repo:e.repo,headSha:e.headSha,children:(0,Qze.jsx)(Sdr,{checks:e.checks,...t})})}var Ok=E($(),1);function sqn(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 Adr({failed:e,outstanding:t,onApprove:r,onComment:n,onRequestChanges:i,onClose:o}){return(0,Ok.jsxs)(Lt,{direction:"row",spacing:1,sx:{p:2,alignItems:"center",justifyContent:"flex-end"},children:[(0,Ok.jsx)(Me,{variant:"body2",sx:{flex:1,color:"text.secondary"},children:sqn(e,t)}),(0,Ok.jsx)(Dt,{variant:"outlined",onClick:o,children:"Close"}),(0,Ok.jsx)(Dt,{color:"error",variant:"outlined",onClick:i,children:"Request changes"}),(0,Ok.jsx)(Dt,{variant:"outlined",onClick:n,children:"Comment"}),(0,Ok.jsx)(Dt,{color:"success",variant:"contained",onClick:r,children:"Approve"})]})}var D2=E($(),1);function Jze({path:e,startLine:t,endLine:r}){return t===r?`${e}:${t}`:`${e}:${t}-${r}`}function Pdr({queued:e,onRemove:t}){return e.length===0?null:(0,D2.jsxs)(J,{component:"section","aria-label":"Queued review comments",sx:{px:2,py:1,maxHeight:160,overflowY:"auto"},children:[(0,D2.jsx)(Me,{variant:"overline",sx:{color:"text.secondary",letterSpacing:1},children:`Queued for review (${e.length})`}),e.map((r,n)=>(0,D2.jsxs)(Lt,{direction:"row",spacing:1,sx:{alignItems:"flex-start"},children:[(0,D2.jsxs)(Me,{variant:"body2",sx:{flex:1,minWidth:0},children:[(0,D2.jsx)(J,{component:"code",sx:{fontSize:12,mr:1},children:Jze(r)}),r.note]}),(0,D2.jsx)(ar,{size:"small","aria-label":`Remove the queued comment on ${Jze(r)}`,onClick:()=>t(n),sx:{p:.25},children:(0,D2.jsx)(Wo,{sx:{fontSize:14}})})]},`${Jze(r)}:${n}`))]})}function Ldr(e,t){return{comments:[],screenshots:[],reviewAfter:!1,announceAfter:!1,draft:!1,autoMerge:!1,checklist:e,reviewComments:t}}function Mdr(e,t,r){let n=()=>Ldr(e(),t),i=(o,a)=>r(o,{...n(),reviewEvent:a});return{onApprove:()=>i("approve","APPROVE"),onComment:()=>i("approve","COMMENT"),onRequestChanges:()=>i("reject","REQUEST_CHANGES"),onClose:()=>r("reject",{...n(),dismissed:!0})}}var WB=E($(),1),lqn={px:2,pb:2,display:"flex",flexWrap:"wrap",columnGap:3,rowGap:.5};function d0e({items:e}){return e.length===0?null:(0,WB.jsx)(J,{sx:lqn,children:e.map(t=>(0,WB.jsxs)(Me,{variant:"body2",color:"text.secondary",children:[t.label,":"," ",t.url?(0,WB.jsx)(rn,{href:t.url,target:"_blank",rel:"noopener noreferrer",children:t.value}):(0,WB.jsx)(J,{component:"span",sx:{color:"text.primary"},children:t.value})]},t.label))})}var Ddr=E($(),1);function Idr(){let{mode:e,onToggleMode:t}=zB();return t?(0,Ddr.jsx)(lie,{mode:e,onToggleMode:t,subject:"preview"}):null}function Ndr(e,t){return 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 cqn=/[^\s/]+\/[^\s/#]+#\d+/;function Odr(e){let t=cqn.exec(e);if(!t)return null;let r=_te(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 Y1=E($(),1);function Bk({preview:e,draft:t}){let r=Ndr(e,t),n=Odr(e.title);return(0,Y1.jsxs)(J,{sx:{p:2,display:"flex",alignItems:"center",gap:1},children:[(0,Y1.jsx)(Me,{variant:"subtitle1",sx:{flex:1,fontWeight:600},children:n?(0,Y1.jsxs)(Y1.Fragment,{children:[n.before,(0,Y1.jsx)(rn,{href:n.url,target:"_blank",rel:"noreferrer",underline:"hover",children:n.reference}),n.after]}):e.title}),(0,Y1.jsx)(qn,{size:"small",label:r.label,color:r.color}),(0,Y1.jsx)(Idr,{})]})}var Fk={flex:1,minWidth:0,height:"100%",display:"flex",flexDirection:"column",borderLeft:1,borderColor:"divider",bgcolor:"background.paper"};var kHe=E(fe(),1);var Bdr=E(fe(),1),$k=E($(),1);function h0e({label:e,children:t}){let[r,n]=(0,Bdr.useState)(!0);return(0,$k.jsxs)(J,{sx:{mt:.75,minWidth:0},children:[(0,$k.jsx)(Dt,{size:"small",onClick:()=>n(!r),startIcon:r?(0,$k.jsx)(zne,{}):(0,$k.jsx)(Hs,{}),sx:{textTransform:"none",fontSize:12,py:0,minWidth:0},children:e}),(0,$k.jsx)(X6,{in:r,children:(0,$k.jsx)(J,{sx:{mt:.5,minWidth:0},children:t})})]})}var Fdr=E($(),1);function K1({children:e}){return(0,Fdr.jsx)(Me,{variant:"caption",sx:{color:"text.secondary"},children:e})}var $dr={position:"sticky",top:40,zIndex:3,display:"flex",alignItems:"center",gap:1,minWidth:0,cursor:"pointer",borderRadius:.5,bgcolor:"background.paper","&:hover":{backgroundImage:({palette:e})=>`linear-gradient(${e.action.hover}, ${e.action.hover})`}};var eHe=E($(),1);function zdr({path:e,collapsed:t,onToggle:r}){let n=t?Du:Hs;return(0,eHe.jsx)(ar,{size:"small",onClick:i=>{i.stopPropagation(),r()},"aria-expanded":!t,"aria-label":`${t?"Expand":"Collapse"} ${e}`,sx:{p:.25,flexShrink:0},children:(0,eHe.jsx)(n,{sx:{fontSize:16}})})}var Udr=E(fe(),1);function uqn(e,t){return e.getBoundingClientRect().top>t.getBoundingClientRect().top}function Hdr(e){let t=e.parentElement;!t||!uqn(e,t)||t.scrollIntoView?.({block:"start"})}function p0e(e,t){let r=(0,Udr.useRef)(null);return{ref:r,toggle:()=>{e&&r.current&&Hdr(r.current),t()}}}var m0e=12,Wdr=e=>({bgcolor:Ir(e.palette.primary.main,.08),"&:hover":{bgcolor:Ir(e.palette.primary.main,.16)}}),g0e={width:"100%",minHeight:24},ZR={display:"flex",alignItems:"center",gap:.75,minWidth:0,py:.15,borderRadius:1,"&:hover":{bgcolor:"action.hover"}},GB={border:0,bgcolor:"transparent",cursor:"pointer",textAlign:"left",color:"inherit",font:"inherit"},N2={fontFamily:"fontFamilyMono",fontSize:12,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},tHe={fontFamily:"fontFamilyMono",fontSize:11,flexShrink:0},VB={added:"success.main",removed:"error.main",modified:"warning.main"},y0e={added:"A",removed:"D",modified:"M"},v0e=e=>({position:"relative","&::before":{content:'""',position:"absolute",left:0,top:4,bottom:4,width:3,borderRadius:1,bgcolor:e.palette.warning.main}});var b0e=E($(),1);function qB({additions:e,deletions:t,inline:r=!1}){return(0,b0e.jsxs)(J,{sx:{display:"flex",gap:.5,ml:r?0:"auto",pl:1,flexShrink:0},children:[(0,b0e.jsxs)(Me,{component:"span",sx:{...tHe,color:"success.main"},children:["+",e]}),(0,b0e.jsxs)(Me,{component:"span",sx:{...tHe,color:"error.main"},children:["\u2212",t]})]})}var QR=E($(),1);function x0e({diff:e,collapsed:t,onToggle:r}){let{ref:n,toggle:i}=p0e(!t,r);return(0,QR.jsxs)(J,{ref:n,onClick:i,sx:$dr,children:[(0,QR.jsx)(zdr,{path:e.path,collapsed:t,onToggle:i}),(0,QR.jsx)(rn,{href:e.diffUrl,target:"_blank",rel:"noreferrer",onClick:o=>o.stopPropagation(),sx:{...N2,fontWeight:600},title:e.path,children:e.path}),(0,QR.jsx)(Me,{variant:"caption",sx:{flexShrink:0,color:VB[e.status]},children:e.status}),(0,QR.jsx)(qB,{additions:e.additions,deletions:e.deletions})]})}var T0e={mb:1,minWidth:0,scrollMarginTop:`${40}px`};var zk=20,fqn=3;function dqn({changes:e}){return[...e].reverse().findIndex(r=>!bf(r))<fqn}function hqn(e,t,r){return r!==void 0?r-t+1:dqn(e)?e.oldStart+e.oldLines:null}function pqn(e,t,r){return r?e!==null&&e<=zk?["all"]:t?["down","up"]:["up"]:["down"]}function mqn(e,t,r,n){return t?t.oldStart:e?hqn(e,r,n):1}function S0e(e,t,r){let n=e[t-1],i=e[t],o=n?n.oldStart+n.oldLines:1,a=n?n.newStart+n.newLines-o:0,s=mqn(n,i,a,r);return s!==null&&s<=o?null:{start:o,end:s,offset:a,directions:pqn(s===null?null:s-o,n!==void 0,i!==void 0)}}var rHe=E($(),1),gqn={all:I7,down:bd,up:BS};function yqn({start:e,end:t,directions:r},n){return n==="all"?`Show ${(t??e)-e} hidden lines`:r.length===1?`Show ${zk} lines ${n==="up"?"above":"below"}`:n==="up"?`Show ${zk} lines above the next change`:`Show ${zk} lines below the previous change`}function Gdr({gap:e,disabled:t,onExpand:r}){return e.directions.map(n=>{let i=gqn[n];return(0,rHe.jsx)(ln,{className:"high-level-gap-button",disabled:t,onClick:()=>r(n),"aria-label":yqn(e,n),children:(0,rHe.jsx)(i,{fontSize:"small"})},n)})}var X1=E($(),1);function Vdr({hidden:e,header:t,loading:r,error:n,onRetry:i}){return r?(0,X1.jsxs)(J,{sx:{display:"inline-flex",alignItems:"center",gap:1},children:[(0,X1.jsx)(oo,{size:14,"aria-label":"Loading"}),"Loading file from GitHub\u2026"]}):n?(0,X1.jsxs)(J,{component:"span",sx:{color:"error.main",whiteSpace:"normal"},children:["Couldn't load this file from GitHub: ",n," ",(0,X1.jsx)(Dt,{size:"small",onClick:i,sx:{minWidth:0,py:0},children:"Retry"})]}):(0,X1.jsxs)(X1.Fragment,{children:[e===null?"More lines below":`${e} hidden line${e===1?"":"s"}`," ",t&&(0,X1.jsx)(J,{component:"span",sx:{color:"text.disabled"},children:t})]})}var jB=E($(),1);function qdr({gap:e,header:t,disabled:r,loading:n,error:i,onExpand:o,onRetry:a}){return(0,jB.jsxs)(Nne,{className:"high-level-gap",gutterClassName:"high-level-gap-gutter",contentClassName:"high-level-gap-content",children:[(0,jB.jsx)(J,{className:"high-level-gap-buttons",children:(0,jB.jsx)(Gdr,{gap:e,disabled:r,onExpand:o})}),(0,jB.jsx)(Vdr,{hidden:e.end===null?null:e.end-e.start,header:t,loading:n,error:i,onRetry:a})]})}var Ydr=E($(),1);function jdr({hunks:e,headLength:t,loading:r,error:n,expand:i}){return o=>{let a=S0e(e,o,t);return a?(0,Ydr.jsx)(qdr,{gap:a,header:e[o]?.content,disabled:r!==null,loading:r===o,error:n?.index===o?n.message:void 0,onExpand:s=>i(o,s),onRetry:()=>n&&i(n.index,n.direction)},`gap-${e[o]?.content??"end"}`):null}}var Kdr=e=>({"& .high-level-gap td":{backgroundColor:Ir(e.palette.primary.main,.08),borderBlock:`1px solid ${e.palette.divider}`},"& .high-level-gap-gutter":{p:0},"& .high-level-gap-buttons":{display:"flex",flexDirection:"column"},"& .high-level-gap-button":{width:"100%",minWidth:88,height:26,color:"text.secondary",transition:"background-color 0.2s ease, color 0.2s ease","& + .high-level-gap-button":{borderTop:`1px solid ${e.palette.divider}`},"&:hover":{backgroundColor:Ir(e.palette.primary.main,.2),color:"primary.main"},"&.Mui-disabled":{color:"text.disabled"}},"& .high-level-gap-content":{px:1.5,color:"text.secondary",fontSize:13,verticalAlign:"middle",whiteSpace:"nowrap"}});var nHe=E(fe(),1);var Xdr="/dev/null";function Zdr(e,t,r){let n=t==="added"?Xdr:`a/${e}`,i=t==="removed"?Xdr:`b/${e}`;return[`diff --git a/${e} b/${e}`,`--- ${n}`,`+++ ${i}`,r,""].join(`
|
|
3880
3880
|
`)}var JR=E(fe(),1);function vqn(e,t){return t>=0?e.slice(t):[...Array(-t).fill(""),...e]}function bqn(e,t,r){return r==="down"?[e,Math.min(e+zk,t)]:r==="up"?[Math.max(t-zk,e),t]:[e,t]}function Qdr(e,t,r,n){let i=S0e(e,r,t.length);if(!i||i.end===null)return e;let[o,a]=bqn(i.start,i.end,n);return Bft(e,vqn(t,i.offset),o,a)}function Jdr(e,t,r,n,i){return{base:t,hunks:Qdr(e?.base===t?e.hunks:t,r,n,i)}}function ehr(e,t,r){let n=(0,JR.useContext)(f0e),[i,o]=(0,JR.useState)(null),[a,s]=(0,JR.useState)(),[l,u]=(0,JR.useState)(null),[f,d]=(0,JR.useState)(null);return{hunks:i?.base===t?i.hunks:t,headLength:a,expandable:r&&n!==void 0,loading:l,error:f,expand:(m,g)=>{n&&(u(m),d(null),n.load(e).then(y=>{s(y.length),o(v=>Jdr(v,t,y,m,g))}).catch(y=>d({index:m,direction:g,message:y instanceof Error?y.message:String(y)})).finally(()=>u(null)))}}}var xqn=[];function thr(e,t,r){let n=(0,nHe.useMemo)(()=>{if(r)try{return kne(Zdr(e,t,r))[0]}catch{return}},[e,t,r]),i=ehr(e,n?.hunks??xqn,t==="modified");return{file:(0,nHe.useMemo)(()=>n&&{...n,hunks:i.hunks},[n,i.hunks]),expansion:i}}var eA=E($(),1);function YB({path:e,status:t,patch:r,truncated:n,viewType:i,comments:o}){let{file:a,expansion:s}=thr(e,t,r);return a?(0,eA.jsxs)(J,{sx:[dne,Kdr,{pt:.5,minWidth:0}],children:[(0,eA.jsx)(Zne,{path:e,cwd:o?.cwd,hunks:a.hunks,onComment:o?.onComment,onQueue:o?.onQueue,unavailable:o?.unavailable,children:(0,eA.jsx)(aie,{file:a,path:e,viewType:i,renderGap:s.expandable?jdr(s):void 0})}),n&&(0,eA.jsx)(K1,{children:"Truncated \u2014 the rest of this diff is on GitHub."})]}):(0,eA.jsx)(K1,{children:n?"Too large to show here \u2014 open it on GitHub.":"No diff available \u2014 open it on GitHub."})}var YY=E($(),1);function rhr({diff:e,collapsed:t,onToggle:r,viewType:n,comments:i}){return(0,YY.jsxs)(J,{sx:T0e,children:[(0,YY.jsx)(x0e,{diff:e,collapsed:t,onToggle:r}),!t&&(0,YY.jsx)(YB,{path:e.path,status:e.status,patch:e.patch,truncated:e.truncated===!0,viewType:n,comments:i})]})}var ohr=E(fe(),1);var nhr="assist:high-level-tree:",Tqn=new Set;function tA(e,t=Tqn){let r=`${nhr}${e}`,[n,i]=(0,ohr.useState)(()=>(hk(nhr),new Set(Qu(r)))),o=a=>{Ju(r,[...a]),i(a)};return{collapsed:ihr(t,n),overrides:n,onToggle:a=>o(ihr(n,[a])),onSet:(a,s)=>{let l=new Set(n);for(let u of a)t.has(u)===s?l.delete(u):l.add(u);o(l)},onReset:()=>o(new Set)}}function ihr(e,t){let r=new Set(e);for(let n of t)r.delete(n)||r.add(n);return r}function ahr(e,t){let{collapsed:r,onToggle:n,onSet:i}=tA(`critical:${e}`),o=t.map(s=>s.path),a=o.filter(s=>r.has(s)).length;return{collapsed:r,onToggle:n,bulk:{open:o.length-a,collapsed:a,expandAll:()=>i(o,!1),collapseAll:()=>i(o,!0)}}}var rA={minHeight:28,py:0,px:1,fontSize:12,textTransform:"none",whiteSpace:"nowrap","& .MuiButton-startIcon > *:nth-of-type(1)":{fontSize:16}};var Xm=E($(),1);function shr(e){return`${e} diff${e===1?"":"s"}`}function lhr({count:e}){return(0,Xm.jsx)(J,{component:"span","data-testid":"bulk-count",sx:{ml:.75,px:.5,minWidth:18,borderRadius:1,bgcolor:"action.selected",fontFamily:"fontFamilyMono",fontSize:11,lineHeight:"16px",textAlign:"center"},children:e})}function C0e({bulk:e}){return(0,Xm.jsxs)(Xm.Fragment,{children:[(0,Xm.jsxs)(Dt,{size:"small",color:"inherit",startIcon:(0,Xm.jsx)(I7,{}),title:`Expand the ${shr(e.collapsed)} collapsed`,disabled:e.collapsed===0,onClick:e.expandAll,sx:rA,children:["Expand all",(0,Xm.jsx)(lhr,{count:e.collapsed})]}),(0,Xm.jsxs)(Dt,{size:"small",color:"inherit",startIcon:(0,Xm.jsx)(pie,{}),title:`Collapse the ${shr(e.open)} open`,disabled:e.open===0,onClick:e.collapseAll,sx:rA,children:["Collapse all",(0,Xm.jsx)(lhr,{count:e.open})]})]})}var iHe="--high-level-structure-toolbar-height",w0e=`calc(${40}px + var(${iHe}, 0px))`,chr={position:"sticky",top:40,zIndex:3,bgcolor:"background.paper",py:1,mt:.5,display:"flex",flexDirection:"column",gap:.75,borderBottom:1,borderColor:"divider"},KY={display:"flex",alignItems:"center",flexWrap:"wrap",gap:.75};var KB=E($(),1);function uhr({bulk:e,viewType:t,onChangeViewType:r}){return(0,KB.jsxs)(J,{sx:KY,children:[(0,KB.jsx)(C0e,{bulk:e}),(0,KB.jsx)(J,{sx:{ml:"auto"},children:(0,KB.jsx)(D7,{viewType:t,onChange:r})})]})}var nA=E($(),1);function fhr({diffs:e,criticalPaths:t,subject:r,comments:n}){let{viewType:i,onChange:o}=mB(),{collapsed:a,onToggle:s,bulk:l}=ahr(r,e);return t.length===0?(0,nA.jsx)(K1,{children:"review.highLevel.criticalPaths is empty, so no diffs are shown here."}):e.length===0?(0,nA.jsx)(K1,{children:`No changed file matches ${t.join(", ")}.`}):(0,nA.jsxs)(J,{sx:{minWidth:0},children:[(0,nA.jsx)(uhr,{bulk:l,viewType:i,onChangeViewType:o}),e.map(u=>(0,nA.jsx)(rhr,{diff:u,collapsed:a.has(u.path),onToggle:()=>s(u.path),viewType:i,comments:n},u.path))]})}var dhr={display:"flex",alignItems:"center",height:28,flex:"1 1 180px",minWidth:0,maxWidth:320,border:1,borderColor:"divider",borderRadius:1,"&:focus-within":{borderColor:"primary.main",boxShadow:e=>`0 0 0 1px ${e.palette.primary.main}`}},oHe={fontSize:11,color:"text.disabled",whiteSpace:"nowrap",px:1};var XB=E($(),1);function hhr({glob:e,onChangeGlob:t,count:r,onSubmit:n}){return(0,XB.jsxs)(J,{component:"label",sx:dhr,children:[(0,XB.jsx)(Me,{component:"span",sx:oHe,children:"Match"}),(0,XB.jsx)(wu,{value:e,placeholder:"name or **/*.md",title:"File name (case-insensitive) or glob",onChange:i=>t(i.target.value),onKeyDown:i=>{i.key==="Enter"&&n?.(),i.key==="Escape"&&t("")},inputProps:{"aria-label":"Match changed files",spellCheck:!1,autoComplete:"off"},sx:{flex:1,minWidth:0,fontFamily:"fontFamilyMono",fontSize:12}}),e.trim()&&(0,XB.jsxs)(Me,{component:"span",sx:{...oHe,color:"text.secondary"},children:[r," file",r===1?"":"s"]})]})}var XY=E($(),1);function phr({globs:e,active:t,onSelect:r}){return(0,XY.jsxs)(J,{sx:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:.5},children:[(0,XY.jsx)(Me,{component:"span",sx:{fontSize:11,color:"text.disabled",mr:.25},children:"Quick"}),e.map(n=>{let i=n===t.trim();return(0,XY.jsx)(qn,{label:n,size:"small",clickable:!0,"aria-pressed":i,onClick:()=>r(n),sx:{height:20,fontFamily:"fontFamilyMono",fontSize:11,border:1,borderColor:i?"warning.main":"transparent",color:i?"text.primary":"text.secondary"}},n)})]})}var O2=E($(),1);function mhr({glob:e,onChangeGlob:t,matches:r,quickGlobs:n,onShow:i,onHide:o}){let a=r.size===0,s={...rA,minWidth:0};return(0,O2.jsxs)(O2.Fragment,{children:[(0,O2.jsx)(hhr,{glob:e,onChangeGlob:t,count:r.size,onSubmit:a?void 0:i}),(0,O2.jsx)(Dt,{size:"small",variant:"outlined",color:"inherit",disabled:a,title:"Open the matching diffs and their folders",onClick:i,sx:s,children:"Show"}),(0,O2.jsx)(Dt,{size:"small",variant:"outlined",color:"inherit",disabled:a,title:"Collapse the matching diffs",onClick:o,sx:s,children:"Hide"}),(0,O2.jsx)(phr,{globs:n,active:e,onSelect:l=>t(l===e?"":l)})]})}var aHe=E($(),1);function ghr({changes:e,onReset:t}){return(0,aHe.jsx)(Dt,{size:"small",variant:"outlined",disabled:e===0,startIcon:(0,aHe.jsx)(qL,{}),title:"Return to the review.highLevel.collapsedPaths defaults",onClick:t,sx:rA,children:e===0?"Defaults":`Reset ${e} change${e===1?"":"s"}`})}var C0=E($(),1);function yhr({ref:e,bulk:t,viewType:r,onChangeViewType:n,matches:i,...o}){return(0,C0.jsxs)(J,{ref:e,role:"toolbar","aria-label":"Changed files controls",sx:chr,children:[(0,C0.jsxs)(J,{sx:KY,children:[(0,C0.jsx)(C0e,{bulk:t}),(0,C0.jsx)(qi,{orientation:"vertical",flexItem:!0}),(0,C0.jsx)(ghr,{changes:t.changes,onReset:t.reset}),(0,C0.jsx)(J,{sx:{ml:"auto"},children:(0,C0.jsx)(D7,{viewType:r,onChange:n})})]}),(0,C0.jsx)(J,{sx:KY,children:(0,C0.jsx)(mhr,{...o,matches:i,onShow:()=>t.show(i),onHide:()=>t.hide(i)})})]})}var bhr=E($(),1);function vhr({structure:e}){return(0,bhr.jsxs)(Me,{variant:"caption",sx:{color:"text.secondary"},children:[e.added," added \xB7 ",e.removed," deleted \xB7"," ",e.modified," modified \xB7 +",e.additions," \u2212",e.deletions]})}var xhr=E($(),1),Thr=ut((0,xhr.jsx)("path",{d:"M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8z"}),"Folder");var Shr=E($(),1),Chr=ut((0,Shr.jsx)("path",{d:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m0 12H4V8h16z"}),"FolderOpen");var iA=E($(),1);function whr({collapsed:e,ignored:t}){return(0,iA.jsxs)(iA.Fragment,{children:[(0,iA.jsx)(e?Du:Hs,{sx:{fontSize:16,color:"text.secondary",flexShrink:0}}),(0,iA.jsx)(e?Thr:Chr,{sx:{fontSize:16,color:e&&!t?"primary.main":"text.secondary",flexShrink:0}})]})}function nh(e){return e.flatMap(t=>t.kind==="file"?[t]:nh(t.children))}var khr=E($(),1),_hr=ut((0,khr.jsx)("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7M2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2m4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3z"}),"VisibilityOff");var ZY=E($(),1);function k0e({label:e,globs:t}){return(0,ZY.jsxs)(J,{component:"span",title:"Collapsed by review.highLevel.collapsedPaths",sx:{display:"inline-flex",alignItems:"center",gap:.5,fontSize:11,fontWeight:500,lineHeight:"18px",color:"text.primary",bgcolor:"action.selected",borderRadius:2.5,pl:.625,pr:.875,flexShrink:0,whiteSpace:"nowrap"},children:[(0,ZY.jsx)(_hr,{sx:{fontSize:12}}),e,(0,ZY.jsx)(J,{component:"span",sx:{fontFamily:"fontFamilyMono",color:"text.secondary"},children:t.join(", ")})]})}var Rhr=E($(),1);function Ehr({dir:e}){let t=nh(e.children).length;return(0,Rhr.jsxs)(Me,{component:"span",variant:"caption",sx:{color:"text.secondary",flexShrink:0},children:[t," ",t===1?"file":"files"," hidden"]})}var sHe=E($(),1);function Ahr({dir:e,collapsed:t,ignoredGlobs:r}){return r?(0,sHe.jsx)(k0e,{label:`${nh(e.children).length} ignored`,globs:r}):t?(0,sHe.jsx)(Ehr,{dir:e}):null}function Phr(e,t){return[{...ZR,...g0e,pl:e,...GB},t&&v0e]}function Lhr(e,t){return{...N2,fontWeight:600,color:t?"text.secondary":e?"primary.main":void 0}}var oA=E($(),1);function Mhr({dir:e,collapsed:t,matched:r,ignoredGlobs:n,indent:i,onToggle:o}){let a=n!==void 0;return(0,oA.jsxs)(J,{component:"button",type:"button",onClick:o,"aria-expanded":!t,"aria-label":e.path,"data-matched":r||void 0,sx:Phr(i,r),children:[(0,oA.jsx)(whr,{collapsed:t,ignored:a}),(0,oA.jsx)(Me,{component:"span",sx:Lhr(t,a),children:e.name}),(0,oA.jsx)(Ahr,{dir:e,collapsed:t,ignoredGlobs:n}),(0,oA.jsx)(qB,{additions:e.additions,deletions:e.deletions,inline:!0})]})}var Ihr=e=>`linear-gradient(${e}, ${e})`;function Sqn(e){return t=>{let r=Wdr(t),n=e?r.bgcolor:"transparent",i=e?r["&:hover"].bgcolor:t.palette.action.hover;return{position:"sticky",top:w0e,zIndex:2,bgcolor:"background.paper",backgroundImage:Ihr(n),"&:hover":{bgcolor:"background.paper",backgroundImage:Ihr(i)}}}}function Dhr(e,t){return[{...ZR,gap:0,cursor:"pointer"},t&&v0e,Sqn(e)]}function Nhr(e){return{...ZR,minHeight:g0e.minHeight,"&:hover":void 0,minWidth:0,pl:e,...GB}}var lHe=E($(),1);function Ohr({file:e}){return(0,lHe.jsx)(ar,{size:"small",href:e.diffUrl,target:"_blank",rel:"noreferrer","aria-label":`Open ${e.path} on GitHub`,onClick:t=>t.stopPropagation(),sx:{p:.25,flexShrink:0},children:(0,lHe.jsx)(rre,{sx:{fontSize:14}})})}var Fhr=E($(),1);function Bhr({open:e}){return(0,Fhr.jsx)(e?Hs:Du,{sx:{fontSize:16,color:e?"primary.main":"text.secondary",flexShrink:0}})}var Hk=E($(),1);function $hr({file:e,muted:t=!1}){return(0,Hk.jsxs)(Hk.Fragment,{children:[(0,Hk.jsx)(lr,{title:e.status,children:(0,Hk.jsx)(Me,{component:"span",sx:{...N2,flexShrink:0,fontWeight:700,color:VB[e.status]},children:y0e[e.status]})}),(0,Hk.jsx)(Me,{component:"span",sx:{...N2,color:t?"text.secondary":void 0},title:e.path,children:e.name})]})}var B2=E($(),1);function zhr({file:e,indent:t,open:r,onToggle:n,glob:i,matched:o}){let a=!r&&i!==void 0,{ref:s,toggle:l}=p0e(r,n);return(0,B2.jsxs)(J,{ref:s,onClick:l,"data-matched":o||void 0,sx:Dhr(r,o),children:[(0,B2.jsxs)(J,{component:"button",type:"button","aria-expanded":r,"aria-label":`${r?"Collapse":"Expand"} ${e.path}`,sx:Nhr(t),children:[(0,B2.jsx)(Bhr,{open:r}),(0,B2.jsx)($hr,{file:e,muted:a}),a&&(0,B2.jsx)(k0e,{label:"ignored",globs:[i]}),(0,B2.jsx)(qB,{additions:e.additions,deletions:e.deletions,inline:!0})]}),(0,B2.jsx)(Ohr,{file:e})]})}var ZB=E($(),1);function Hhr({file:e,indent:t,open:r,onToggle:n,glob:i,matched:o,viewType:a,comments:s}){return(0,ZB.jsxs)(J,{sx:{minWidth:0,scrollMarginTop:w0e},children:[(0,ZB.jsx)(zhr,{file:e,indent:t,open:r,onToggle:n,glob:i,matched:o}),r&&(0,ZB.jsx)(J,{sx:{mb:1,minWidth:0},children:(0,ZB.jsx)(YB,{path:e.path,status:e.status,patch:e.patch??null,truncated:e.truncated===!0,viewType:a,comments:s})})]})}function Uhr(e,t){let r=nh(e.children).map(n=>t.get(n.path));if(!(r.length===0||r.some(n=>n===void 0)))return[...new Set(r)]}function Whr(e,t){let r=t.collapsed.has(e.path);return r?{collapsed:r,matched:nh(e.children).some(n=>t.matches.has(n.path)),ignoredGlobs:Uhr(e,t.fileGlobs)}:{collapsed:r,matched:!1,ignoredGlobs:void 0}}var QB=E($(),1);function cHe(e){let{nodes:t,depth:r=0,collapsed:n,onToggleDir:i}=e,o=`${r*m0e}px`;return t.map(a=>a.kind==="file"?(0,QB.jsx)(Hhr,{file:a,indent:o,open:!e.collapsedFiles.has(a.path),onToggle:()=>e.onToggleFile(a.path),glob:e.fileGlobs.get(a.path),matched:e.matches.has(a.path),viewType:e.viewType,comments:e.comments},a.path):(0,QB.jsxs)(J,{sx:{minWidth:0},children:[(0,QB.jsx)(Mhr,{dir:a,...Whr(a,e),indent:o,onToggle:()=>i(a.path)}),!n.has(a.path)&&(0,QB.jsx)(cHe,{...e,nodes:a.children,depth:r+1})]},a.path))}var Ghr=E(fe(),1);function uHe(e,t){return e.flatMap(r=>{if(r.kind==="file")return t.has(r.path)?[r]:[];let n=uHe(r.children,t);return n.length>0?[{...r,children:n}]:[]})}var Cqn=new Set;function Vhr(e,t,r,n){let i=t.trim()!=="",o=(0,Ghr.useMemo)(()=>i?uHe(e,r):e,[i,e,r]);return{nodes:o,collapsedDirs:i?Cqn:n,noMatches:i&&o.length===0}}var QY=E($(),1);function qhr({glob:e,...t}){let r=Vhr(t.nodes,e,t.matches,t.collapsed);return(0,QY.jsxs)(J,{sx:{mt:.5},children:[r.noMatches&&(0,QY.jsx)(Me,{variant:"caption",sx:{color:"text.secondary"},children:"No files match."}),(0,QY.jsx)(cHe,{...t,nodes:r.nodes,collapsed:r.collapsedDirs})]})}var P0e=E(fe(),1);function fHe(e,t,r,n=!1){let i={open:0,collapsed:0};for(let o of e){if(o.kind==="file"){n||r.has(o.path)?i.collapsed++:i.open++;continue}let a=fHe(o.children,t,r,n||t.has(o.path));i.open+=a.open,i.collapsed+=a.collapsed}return i}function dHe(e){return e.flatMap(t=>t.kind==="file"?[]:[t.path,...dHe(t.children)])}var hHe=(e,t,r)=>{let n=e instanceof RegExp?jhr(e,r):e,i=t instanceof RegExp?jhr(t,r):t,o=n!==null&&i!=null&&wqn(n,i,r);return o&&{start:o[0],end:o[1],pre:r.slice(0,o[0]),body:r.slice(o[0]+n.length,o[1]),post:r.slice(o[1]+i.length)}},jhr=(e,t)=>{let r=t.match(e);return r?r[0]:null},wqn=(e,t,r)=>{let n,i,o,a,s,l=r.indexOf(e),u=r.indexOf(t,l+1),f=l;if(l>=0&&u>0){if(e===t)return[l,u];for(n=[],o=r.length;f>=0&&!s;){if(f===l)n.push(f),l=r.indexOf(e,f+1);else if(n.length===1){let d=n.pop();d!==void 0&&(s=[d,u])}else i=n.pop(),i!==void 0&&i<o&&(o=i,a=u),u=r.indexOf(t,f+1);f=l<u&&l>=0?l:u}n.length&&a!==void 0&&(s=[o,a])}return s};var Yhr="\0SLASH"+Math.random()+"\0",Khr="\0OPEN"+Math.random()+"\0",mHe="\0CLOSE"+Math.random()+"\0",Xhr="\0COMMA"+Math.random()+"\0",Zhr="\0PERIOD"+Math.random()+"\0",kqn=new RegExp(Yhr,"g"),_qn=new RegExp(Khr,"g"),Eqn=new RegExp(mHe,"g"),Rqn=new RegExp(Xhr,"g"),Aqn=new RegExp(Zhr,"g"),Pqn=/\\\\/g,Lqn=/\\{/g,Mqn=/\\}/g,Iqn=/\\,/g,Dqn=/\\\./g,Nqn=1e5;function pHe(e){return isNaN(e)?e.charCodeAt(0):parseInt(e,10)}function Oqn(e){return e.replace(Pqn,Yhr).replace(Lqn,Khr).replace(Mqn,mHe).replace(Iqn,Xhr).replace(Dqn,Zhr)}function Bqn(e){return e.replace(kqn,"\\").replace(_qn,"{").replace(Eqn,"}").replace(Rqn,",").replace(Aqn,".")}function Qhr(e){if(!e)return[""];let t=[],r=hHe("{","}",e);if(!r)return e.split(",");let{pre:n,body:i,post:o}=r,a=n.split(",");a[a.length-1]+="{"+i+"}";let s=Qhr(o);return o.length&&(a[a.length-1]+=s.shift(),a.push.apply(a,s)),t.push.apply(t,a),t}function Jhr(e,t={}){if(!e)return[];let{max:r=Nqn}=t;return e.slice(0,2)==="{}"&&(e="\\{\\}"+e.slice(2)),JY(Oqn(e),r,!0).map(Bqn)}function Fqn(e){return"{"+e+"}"}function $qn(e){return/^-?0\d/.test(e)}function zqn(e,t){return e<=t}function Hqn(e,t){return e>=t}function JY(e,t,r){let n=[],i=hHe("{","}",e);if(!i)return[e];let o=i.pre,a=i.post.length?JY(i.post,t,!1):[""];if(/\$$/.test(i.pre))for(let s=0;s<a.length&&s<t;s++){let l=o+"{"+i.body+"}"+a[s];n.push(l)}else{let s=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(i.body),l=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(i.body),u=s||l,f=i.body.indexOf(",")>=0;if(!u&&!f)return i.post.match(/,(?!,).*\}/)?(e=i.pre+"{"+i.body+mHe+i.post,JY(e,t,!0)):[e];let d;if(u)d=i.body.split(/\.\./);else if(d=Qhr(i.body),d.length===1&&d[0]!==void 0&&(d=JY(d[0],t,!1).map(Fqn),d.length===1))return a.map(p=>i.pre+d[0]+p);let h;if(u&&d[0]!==void 0&&d[1]!==void 0){let p=pHe(d[0]),m=pHe(d[1]),g=Math.max(d[0].length,d[1].length),y=d.length===3&&d[2]!==void 0?Math.abs(pHe(d[2])):1,v=zqn;m<p&&(y*=-1,v=Hqn);let x=d.some($qn);h=[];for(let C=p;v(C,m);C+=y){let S;if(l)S=String.fromCharCode(C),S==="\\"&&(S="");else if(S=String(C),x){let w=g-S.length;if(w>0){let k=new Array(w+1).join("0");C<0?S="-"+k+S.slice(1):S=k+S}}h.push(S)}}else{h=[];for(let p=0;p<d.length;p++)h.push.apply(h,JY(d[p],t,!1))}for(let p=0;p<h.length;p++)for(let m=0;m<a.length&&n.length<t;m++){let g=o+h[p]+a[m];(!r||u||g)&&n.push(g)}}return n}var eK=e=>{if(typeof e!="string")throw new TypeError("invalid pattern");if(e.length>65536)throw new TypeError("pattern is too long")};var Uqn={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},tK=e=>e.replace(/[[\]\\-]/g,"\\$&"),Wqn=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),epr=e=>e.join(""),tpr=(e,t)=>{let r=t;if(e.charAt(r)!=="[")throw new Error("not in a brace expression");let n=[],i=[],o=r+1,a=!1,s=!1,l=!1,u=!1,f=r,d="";e:for(;o<e.length;){let g=e.charAt(o);if((g==="!"||g==="^")&&o===r+1){u=!0,o++;continue}if(g==="]"&&a&&!l){f=o+1;break}if(a=!0,g==="\\"&&!l){l=!0,o++;continue}if(g==="["&&!l){for(let[y,[v,b,x]]of Object.entries(Uqn))if(e.startsWith(y,o)){if(d)return["$.",!1,e.length-r,!0];o+=y.length,x?i.push(v):n.push(v),s=s||b;continue e}}if(l=!1,d){g>d?n.push(tK(d)+"-"+tK(g)):g===d&&n.push(tK(g)),d="",o++;continue}if(e.startsWith("-]",o+1)){n.push(tK(g+"-")),o+=2;continue}if(e.startsWith("-",o+1)){d=g,o+=2;continue}n.push(tK(g)),o++}if(f<o)return["",!1,0,!1];if(!n.length&&!i.length)return["$.",!1,e.length-r,!0];if(i.length===0&&n.length===1&&/^\\?.$/.test(n[0])&&!u){let g=n[0].length===2?n[0].slice(-1):n[0];return[Wqn(g),!1,f-r,!1]}let h="["+(u?"^":"")+epr(n)+"]",p="["+(u?"":"^")+epr(i)+"]";return[n.length&&i.length?"("+h+"|"+p+")":n.length?h:p,s,f-r,!0]};var Uk=(e,{windowsPathsNoEscape:t=!1,magicalBraces:r=!0}={})=>r?t?e.replace(/\[([^\/\\])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1"):t?e.replace(/\[([^\/\\{}])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^\/\\{}])\]/g,"$1$2").replace(/\\([^\/{}])/g,"$1");var ih,Gqn=new Set(["!","?","+","*","@"]),gHe=e=>Gqn.has(e),rpr=e=>gHe(e.type),Vqn=new Map([["!",["@"]],["?",["?","@"]],["@",["@"]],["*",["*","+","?","@"]],["+",["+","@"]]]),qqn=new Map([["!",["?"]],["@",["?"]],["+",["?","*"]]]),jqn=new Map([["!",["?","@"]],["?",["?","@"]],["@",["?","@"]],["*",["*","+","?","@"]],["+",["+","@","?","*"]]]),npr=new Map([["!",new Map([["!","@"]])],["?",new Map([["*","*"],["+","*"]])],["@",new Map([["!","!"],["?","?"],["@","@"],["*","*"],["+","+"]])],["+",new Map([["?","*"],["*","*"]])]]),Yqn="(?!(?:^|/)\\.\\.?(?:$|/))",_0e="(?!\\.)",Kqn=new Set(["[","."]),Xqn=new Set(["..","."]),Zqn=new Set("().*{}+?[]^$\\!"),Qqn=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),xHe="[^/]",ipr=xHe+"*?",opr=xHe+"+?",Jqn=0,sl,gc,F2,Dn,Aa,Wk,aA,Gk,Z1,Q1,JB,to,apr,qk,E0e,spr,yHe,R0e,lpr,vHe,cpr,upr,fpr,A0e,bHe,dpr,Vk=class{constructor(t,r,n={}){xu(this,to);tr(this,"type");xu(this,sl);xu(this,gc);xu(this,F2,!1);xu(this,Dn,[]);xu(this,Aa);xu(this,Wk);xu(this,aA);xu(this,Gk,!1);xu(this,Z1);xu(this,Q1);xu(this,JB,!1);tr(this,"id",++Jqn);this.type=t,t&&So(this,gc,!0),So(this,Aa,r),So(this,sl,Vt(this,Aa)?Vt(Vt(this,Aa),sl):this),So(this,Z1,Vt(this,sl)===this?n:Vt(Vt(this,sl),Z1)),So(this,aA,Vt(this,sl)===this?[]:Vt(Vt(this,sl),aA)),t==="!"&&!Vt(Vt(this,sl),Gk)&&Vt(this,aA).push(this),So(this,Wk,Vt(this,Aa)?Vt(Vt(this,Aa),Dn).length:0)}get depth(){return(Vt(this,Aa)?.depth??-1)+1}[Symbol.for("nodejs.util.inspect.custom")](){return{"@@type":"AST",id:this.id,type:this.type,root:Vt(this,sl).id,parent:Vt(this,Aa)?.id,depth:this.depth,partsLength:Vt(this,Dn).length,parts:Vt(this,Dn)}}get hasMagic(){if(Vt(this,gc)!==void 0)return Vt(this,gc);for(let t of Vt(this,Dn))if(typeof t!="string"&&(t.type||t.hasMagic))return So(this,gc,!0);return Vt(this,gc)}toString(){return Vt(this,Q1)!==void 0?Vt(this,Q1):this.type?So(this,Q1,this.type+"("+Vt(this,Dn).map(t=>String(t)).join("|")+")"):So(this,Q1,Vt(this,Dn).map(t=>String(t)).join(""))}push(...t){for(let r of t)if(r!==""){if(typeof r!="string"&&!(r instanceof ih&&Vt(r,Aa)===this))throw new Error("invalid part: "+r);Vt(this,Dn).push(r)}}toJSON(){let t=this.type===null?Vt(this,Dn).slice().map(r=>typeof r=="string"?r:r.toJSON()):[this.type,...Vt(this,Dn).map(r=>r.toJSON())];return this.isStart()&&!this.type&&t.unshift([]),this.isEnd()&&(this===Vt(this,sl)||Vt(Vt(this,sl),Gk)&&Vt(this,Aa)?.type==="!")&&t.push({}),t}isStart(){if(Vt(this,sl)===this)return!0;if(!Vt(this,Aa)?.isStart())return!1;if(Vt(this,Wk)===0)return!0;let t=Vt(this,Aa);for(let r=0;r<Vt(this,Wk);r++){let n=Vt(t,Dn)[r];if(!(n instanceof ih&&n.type==="!"))return!1}return!0}isEnd(){if(Vt(this,sl)===this||Vt(this,Aa)?.type==="!")return!0;if(!Vt(this,Aa)?.isEnd())return!1;if(!this.type)return Vt(this,Aa)?.isEnd();let t=Vt(this,Aa)?Vt(Vt(this,Aa),Dn).length:0;return Vt(this,Wk)===t-1}copyIn(t){typeof t=="string"?this.push(t):this.push(t.clone(this))}clone(t){let r=new ih(this.type,t);for(let n of Vt(this,Dn))r.copyIn(n);return r}static fromGlob(t,r={}){var i;let n=new ih(null,void 0,r);return Ii(i=ih,qk,E0e).call(i,t,n,0,r,0),n}toMMPattern(){if(this!==Vt(this,sl))return Vt(this,sl).toMMPattern();let t=this.toString(),[r,n,i,o]=this.toRegExpSource();if(!(i||Vt(this,gc)||Vt(this,Z1).nocase&&!Vt(this,Z1).nocaseMagicOnly&&t.toUpperCase()!==t.toLowerCase()))return n;let s=(Vt(this,Z1).nocase?"i":"")+(o?"u":"");return Object.assign(new RegExp(`^${r}$`,s),{_src:r,_glob:t})}get options(){return Vt(this,Z1)}toRegExpSource(t){let r=t??!!Vt(this,Z1).dot;if(Vt(this,sl)===this&&(Ii(this,to,A0e).call(this),Ii(this,to,apr).call(this)),!rpr(this)){let l=this.isStart()&&this.isEnd()&&!Vt(this,Dn).some(p=>typeof p!="string"),u=Vt(this,Dn).map(p=>{var b;let[m,g,y,v]=typeof p=="string"?Ii(b=ih,qk,dpr).call(b,p,Vt(this,gc),l):p.toRegExpSource(t);return So(this,gc,Vt(this,gc)||y),So(this,F2,Vt(this,F2)||v),m}).join(""),f="";if(this.isStart()&&typeof Vt(this,Dn)[0]=="string"&&!(Vt(this,Dn).length===1&&Xqn.has(Vt(this,Dn)[0]))){let m=Kqn,g=r&&m.has(u.charAt(0))||u.startsWith("\\.")&&m.has(u.charAt(2))||u.startsWith("\\.\\.")&&m.has(u.charAt(4)),y=!r&&!t&&m.has(u.charAt(0));f=g?Yqn:y?_0e:""}let d="";return this.isEnd()&&Vt(Vt(this,sl),Gk)&&Vt(this,Aa)?.type==="!"&&(d="(?:$|\\/)"),[f+u+d,Uk(u),So(this,gc,!!Vt(this,gc)),Vt(this,F2)]}let n=this.type==="*"||this.type==="+",i=this.type==="!"?"(?:(?!(?:":"(?:",o=Ii(this,to,bHe).call(this,r);if(this.isStart()&&this.isEnd()&&!o&&this.type!=="!"){let l=this.toString(),u=this;return So(u,Dn,[l]),u.type=null,So(u,gc,void 0),[l,Uk(this.toString()),!1,!1]}let a=!n||t||r||!_0e?"":Ii(this,to,bHe).call(this,!0);a===o&&(a=""),a&&(o=`(?:${o})(?:${a})*?`);let s="";if(this.type==="!"&&Vt(this,JB))s=(this.isStart()&&!r?_0e:"")+opr;else{let l=this.type==="!"?"))"+(this.isStart()&&!r&&!t?_0e:"")+ipr+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&a?")":this.type==="*"&&a?")?":`)${this.type}`;s=i+o+l}return[s,Uk(o),So(this,gc,!!Vt(this,gc)),Vt(this,F2)]}};sl=new WeakMap,gc=new WeakMap,F2=new WeakMap,Dn=new WeakMap,Aa=new WeakMap,Wk=new WeakMap,aA=new WeakMap,Gk=new WeakMap,Z1=new WeakMap,Q1=new WeakMap,JB=new WeakMap,to=new WeakSet,apr=function(){if(this!==Vt(this,sl))throw new Error("should only call on root");if(Vt(this,Gk))return this;this.toString(),So(this,Gk,!0);let t;for(;t=Vt(this,aA).pop();){if(t.type!=="!")continue;let r=t,n=Vt(r,Aa);for(;n;){for(let i=Vt(r,Wk)+1;!n.type&&i<Vt(n,Dn).length;i++)for(let o of Vt(t,Dn)){if(typeof o=="string")throw new Error("string part in extglob AST??");o.copyIn(Vt(n,Dn)[i])}r=n,n=Vt(r,Aa)}}return this},qk=new WeakSet,E0e=function(t,r,n,i,o){var g,y,v,b;let a=i.maxExtglobRecursion??2,s=!1,l=!1,u=-1,f=!1;if(r.type===null){let x=n,C="";for(;x<t.length;){let S=t.charAt(x++);if(s||S==="\\"){s=!s,C+=S;continue}if(l){x===u+1?(S==="^"||S==="!")&&(f=!0):S==="]"&&!(x===u+2&&f)&&(l=!1),C+=S;continue}else if(S==="["){l=!0,u=x,f=!1,C+=S;continue}if(!i.noext&&gHe(S)&&t.charAt(x)==="("&&o<=a){r.push(C),C="";let k=new ih(S,r);x=Ii(g=ih,qk,E0e).call(g,t,k,x,i,o+1),r.push(k);continue}C+=S}return r.push(C),x}let d=n+1,h=new ih(null,r),p=[],m="";for(;d<t.length;){let x=t.charAt(d++);if(s||x==="\\"){s=!s,m+=x;continue}if(l){d===u+1?(x==="^"||x==="!")&&(f=!0):x==="]"&&!(d===u+2&&f)&&(l=!1),m+=x;continue}else if(x==="["){l=!0,u=d,f=!1,m+=x;continue}if(!i.noext&&gHe(x)&&t.charAt(d)==="("&&(o<=a||r&&Ii(y=r,to,R0e).call(y,x))){let S=r&&Ii(v=r,to,R0e).call(v,x)?0:1;h.push(m),m="";let w=new ih(x,h);h.push(w),d=Ii(b=ih,qk,E0e).call(b,t,w,d,i,o+S);continue}if(x==="|"){h.push(m),m="",p.push(h),h=new ih(null,r);continue}if(x===")")return m===""&&Vt(r,Dn).length===0&&So(r,JB,!0),h.push(m),m="",r.push(...p,h),d;m+=x}return r.type=null,So(r,gc,void 0),So(r,Dn,[t.substring(n-1)]),d},spr=function(t){return Ii(this,to,yHe).call(this,t,qqn)},yHe=function(t,r=Vqn){if(!t||typeof t!="object"||t.type!==null||Vt(t,Dn).length!==1||this.type===null)return!1;let n=Vt(t,Dn)[0];return!n||typeof n!="object"||n.type===null?!1:Ii(this,to,R0e).call(this,n.type,r)},R0e=function(t,r=jqn){return!!r.get(this.type)?.includes(t)},lpr=function(t,r){let n=Vt(t,Dn)[0],i=new ih(null,n,this.options);Vt(i,Dn).push(""),n.push(i),Ii(this,to,vHe).call(this,t,r)},vHe=function(t,r){let n=Vt(t,Dn)[0];Vt(this,Dn).splice(r,1,...Vt(n,Dn));for(let i of Vt(n,Dn))typeof i=="object"&&So(i,Aa,this);So(this,Q1,void 0)},cpr=function(t){return!!npr.get(this.type)?.has(t)},upr=function(t){if(!t||typeof t!="object"||t.type!==null||Vt(t,Dn).length!==1||this.type===null||Vt(this,Dn).length!==1)return!1;let r=Vt(t,Dn)[0];return!r||typeof r!="object"||r.type===null?!1:Ii(this,to,cpr).call(this,r.type)},fpr=function(t){let r=npr.get(this.type),n=Vt(t,Dn)[0],i=r?.get(n.type);if(!i)return!1;So(this,Dn,Vt(n,Dn));for(let o of Vt(this,Dn))typeof o=="object"&&So(o,Aa,this);this.type=i,So(this,Q1,void 0),So(this,JB,!1)},A0e=function(){var t,r;if(rpr(this)){let n=0,i=!1;do{i=!0;for(let o=0;o<Vt(this,Dn).length;o++){let a=Vt(this,Dn)[o];typeof a=="object"&&(Ii(r=a,to,A0e).call(r),Ii(this,to,yHe).call(this,a)?(i=!1,Ii(this,to,vHe).call(this,a,o)):Ii(this,to,spr).call(this,a)?(i=!1,Ii(this,to,lpr).call(this,a,o)):Ii(this,to,upr).call(this,a)&&(i=!1,Ii(this,to,fpr).call(this,a)))}}while(!i&&++n<10)}else for(let n of Vt(this,Dn))typeof n=="object"&&Ii(t=n,to,A0e).call(t);So(this,Q1,void 0)},bHe=function(t){return Vt(this,Dn).map(r=>{if(typeof r=="string")throw new Error("string type in extglob ast??");let[n,i,o,a]=r.toRegExpSource(t);return So(this,F2,Vt(this,F2)||a),n}).filter(r=>!(this.isStart()&&this.isEnd())||!!r).join("|")},dpr=function(t,r,n=!1){let i=!1,o="",a=!1,s=!1;for(let l=0;l<t.length;l++){let u=t.charAt(l);if(i){i=!1,o+=(Zqn.has(u)?"\\":"")+u;continue}if(u==="*"){if(s)continue;s=!0,o+=n&&/^[*]+$/.test(t)?opr:ipr,r=!0;continue}else s=!1;if(u==="\\"){l===t.length-1?o+="\\\\":i=!0;continue}if(u==="["){let[f,d,h,p]=tpr(t,l);if(h){o+=f,a=a||d,l+=h-1,r=r||p;continue}}if(u==="?"){o+=xHe,r=!0;continue}o+=Qqn(u)}return[o,Uk(t),!!r,a]},xu(Vk,qk);ih=Vk;var THe=(e,{windowsPathsNoEscape:t=!1,magicalBraces:r=!1}={})=>r?t?e.replace(/[?*()[\]{}]/g,"[$&]"):e.replace(/[?*()[\]\\{}]/g,"\\$&"):t?e.replace(/[?*()[\]]/g,"[$&]"):e.replace(/[?*()[\]\\]/g,"\\$&");var Dl=(e,t,r={})=>(eK(t),!r.nocomment&&t.charAt(0)==="#"?!1:new tF(t,r).match(e)),ejn=/^\*+([^+@!?\*\[\(]*)$/,tjn=e=>t=>!t.startsWith(".")&&t.endsWith(e),rjn=e=>t=>t.endsWith(e),njn=e=>(e=e.toLowerCase(),t=>!t.startsWith(".")&&t.toLowerCase().endsWith(e)),ijn=e=>(e=e.toLowerCase(),t=>t.toLowerCase().endsWith(e)),ojn=/^\*+\.\*+$/,ajn=e=>!e.startsWith(".")&&e.includes("."),sjn=e=>e!=="."&&e!==".."&&e.includes("."),ljn=/^\.\*+$/,cjn=e=>e!=="."&&e!==".."&&e.startsWith("."),ujn=/^\*+$/,fjn=e=>e.length!==0&&!e.startsWith("."),djn=e=>e.length!==0&&e!=="."&&e!=="..",hjn=/^\?+([^+@!?\*\[\(]*)?$/,pjn=([e,t=""])=>{let r=mpr([e]);return t?(t=t.toLowerCase(),n=>r(n)&&n.toLowerCase().endsWith(t)):r},mjn=([e,t=""])=>{let r=gpr([e]);return t?(t=t.toLowerCase(),n=>r(n)&&n.toLowerCase().endsWith(t)):r},gjn=([e,t=""])=>{let r=gpr([e]);return t?n=>r(n)&&n.endsWith(t):r},yjn=([e,t=""])=>{let r=mpr([e]);return t?n=>r(n)&&n.endsWith(t):r},mpr=([e])=>{let t=e.length;return r=>r.length===t&&!r.startsWith(".")},gpr=([e])=>{let t=e.length;return r=>r.length===t&&r!=="."&&r!==".."},ypr=typeof process=="object"&&process?typeof process.env=="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",hpr={win32:{sep:"\\"},posix:{sep:"/"}},vjn=ypr==="win32"?hpr.win32.sep:hpr.posix.sep;Dl.sep=vjn;var ef=Symbol("globstar **");Dl.GLOBSTAR=ef;var bjn="[^/]",xjn=bjn+"*?",Tjn="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",Sjn="(?:(?!(?:\\/|^)\\.).)*?",Cjn=(e,t={})=>r=>Dl(r,e,t);Dl.filter=Cjn;var Zm=(e,t={})=>Object.assign({},e,t),wjn=e=>{if(!e||typeof e!="object"||!Object.keys(e).length)return Dl;let t=Dl;return Object.assign((n,i,o={})=>t(n,i,Zm(e,o)),{Minimatch:class extends t.Minimatch{constructor(i,o={}){super(i,Zm(e,o))}static defaults(i){return t.defaults(Zm(e,i)).Minimatch}},AST:class extends t.AST{constructor(i,o,a={}){super(i,o,Zm(e,a))}static fromGlob(i,o={}){return t.AST.fromGlob(i,Zm(e,o))}},unescape:(n,i={})=>t.unescape(n,Zm(e,i)),escape:(n,i={})=>t.escape(n,Zm(e,i)),filter:(n,i={})=>t.filter(n,Zm(e,i)),defaults:n=>t.defaults(Zm(e,n)),makeRe:(n,i={})=>t.makeRe(n,Zm(e,i)),braceExpand:(n,i={})=>t.braceExpand(n,Zm(e,i)),match:(n,i,o={})=>t.match(n,i,Zm(e,o)),sep:t.sep,GLOBSTAR:ef})};Dl.defaults=wjn;var vpr=(e,t={})=>(eK(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:Jhr(e,{max:t.braceExpandMax}));Dl.braceExpand=vpr;var kjn=(e,t={})=>new tF(e,t).makeRe();Dl.makeRe=kjn;var _jn=(e,t,r={})=>{let n=new tF(t,r);return e=e.filter(i=>n.match(i)),n.options.nonull&&!e.length&&e.push(t),e};Dl.match=_jn;var ppr=/[?*]|[+@!]\(.*?\)|\[|\]/,Ejn=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),pp,bpr,SHe,eF,tF=class{constructor(t,r={}){xu(this,pp);tr(this,"options");tr(this,"set");tr(this,"pattern");tr(this,"windowsPathsNoEscape");tr(this,"nonegate");tr(this,"negate");tr(this,"comment");tr(this,"empty");tr(this,"preserveMultipleSlashes");tr(this,"partial");tr(this,"globSet");tr(this,"globParts");tr(this,"nocase");tr(this,"isWindows");tr(this,"platform");tr(this,"windowsNoMagicRoot");tr(this,"maxGlobstarRecursion");tr(this,"regexp");eK(t),r=r||{},this.options=r,this.maxGlobstarRecursion=r.maxGlobstarRecursion??200,this.pattern=t,this.platform=r.platform||ypr,this.isWindows=this.platform==="win32";let n="allowWindowsEscape";this.windowsPathsNoEscape=!!r.windowsPathsNoEscape||r[n]===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!r.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!r.nonegate,this.comment=!1,this.empty=!1,this.partial=!!r.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=r.windowsNoMagicRoot!==void 0?r.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let t of this.set)for(let r of t)if(typeof r!="string")return!0;return!1}debug(...t){}make(){let t=this.pattern,r=this.options;if(!r.nocomment&&t.charAt(0)==="#"){this.comment=!0;return}if(!t){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],r.debug&&(this.debug=(...o)=>console.error(...o)),this.debug(this.pattern,this.globSet);let n=this.globSet.map(o=>this.slashSplit(o));this.globParts=this.preprocess(n),this.debug(this.pattern,this.globParts);let i=this.globParts.map((o,a,s)=>{if(this.isWindows&&this.windowsNoMagicRoot){let l=o[0]===""&&o[1]===""&&(o[2]==="?"||!ppr.test(o[2]))&&!ppr.test(o[3]),u=/^[a-z]:/i.test(o[0]);if(l)return[...o.slice(0,4),...o.slice(4).map(f=>this.parse(f))];if(u)return[o[0],...o.slice(1).map(f=>this.parse(f))]}return o.map(l=>this.parse(l))});if(this.debug(this.pattern,i),this.set=i.filter(o=>o.indexOf(!1)===-1),this.isWindows)for(let o=0;o<this.set.length;o++){let a=this.set[o];a[0]===""&&a[1]===""&&this.globParts[o][2]==="?"&&typeof a[3]=="string"&&/^[a-z]:$/i.test(a[3])&&(a[2]="?")}this.debug(this.pattern,this.set)}preprocess(t){if(this.options.noglobstar)for(let n=0;n<t.length;n++)for(let i=0;i<t[n].length;i++)t[n][i]==="**"&&(t[n][i]="*");let{optimizationLevel:r=1}=this.options;return r>=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):r>=1?t=this.levelOneOptimize(t):t=this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map(r=>{let n=-1;for(;(n=r.indexOf("**",n+1))!==-1;){let i=n;for(;r[i+1]==="**";)i++;i!==n&&r.splice(n,i-n)}return r})}levelOneOptimize(t){return t.map(r=>(r=r.reduce((n,i)=>{let o=n[n.length-1];return i==="**"&&o==="**"?n:i===".."&&o&&o!==".."&&o!=="."&&o!=="**"?(n.pop(),n):(n.push(i),n)},[]),r.length===0?[""]:r))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let r=!1;do{if(r=!1,!this.preserveMultipleSlashes){for(let i=1;i<t.length-1;i++){let o=t[i];i===1&&o===""&&t[0]===""||(o==="."||o==="")&&(r=!0,t.splice(i,1),i--)}t[0]==="."&&t.length===2&&(t[1]==="."||t[1]==="")&&(r=!0,t.pop())}let n=0;for(;(n=t.indexOf("..",n+1))!==-1;){let i=t[n-1];i&&i!=="."&&i!==".."&&i!=="**"&&(r=!0,t.splice(n-1,2),n-=2)}}while(r);return t.length===0?[""]:t}firstPhasePreProcess(t){let r=!1;do{r=!1;for(let n of t){let i=-1;for(;(i=n.indexOf("**",i+1))!==-1;){let a=i;for(;n[a+1]==="**";)a++;a>i&&n.splice(i+1,a-i);let s=n[i+1],l=n[i+2],u=n[i+3];if(s!==".."||!l||l==="."||l===".."||!u||u==="."||u==="..")continue;r=!0,n.splice(i,1);let f=n.slice(0);f[i]="**",t.push(f),i--}if(!this.preserveMultipleSlashes){for(let a=1;a<n.length-1;a++){let s=n[a];a===1&&s===""&&n[0]===""||(s==="."||s==="")&&(r=!0,n.splice(a,1),a--)}n[0]==="."&&n.length===2&&(n[1]==="."||n[1]==="")&&(r=!0,n.pop())}let o=0;for(;(o=n.indexOf("..",o+1))!==-1;){let a=n[o-1];if(a&&a!=="."&&a!==".."&&a!=="**"){r=!0;let l=o===1&&n[o+1]==="**"?["."]:[];n.splice(o-1,2,...l),n.length===0&&n.push(""),o-=2}}}}while(r);return t}secondPhasePreProcess(t){for(let r=0;r<t.length-1;r++)for(let n=r+1;n<t.length;n++){let i=this.partsMatch(t[r],t[n],!this.preserveMultipleSlashes);if(i){t[r]=[],t[n]=i;break}}return t.filter(r=>r.length)}partsMatch(t,r,n=!1){let i=0,o=0,a=[],s="";for(;i<t.length&&o<r.length;)if(t[i]===r[o])a.push(s==="b"?r[o]:t[i]),i++,o++;else if(n&&t[i]==="**"&&r[o]===t[i+1])a.push(t[i]),i++;else if(n&&r[o]==="**"&&t[i]===r[o+1])a.push(r[o]),o++;else if(t[i]==="*"&&r[o]&&(this.options.dot||!r[o].startsWith("."))&&r[o]!=="**"){if(s==="b")return!1;s="a",a.push(t[i]),i++,o++}else if(r[o]==="*"&&t[i]&&(this.options.dot||!t[i].startsWith("."))&&t[i]!=="**"){if(s==="a")return!1;s="b",a.push(r[o]),i++,o++}else return!1;return t.length===r.length&&a}parseNegate(){if(this.nonegate)return;let t=this.pattern,r=!1,n=0;for(let i=0;i<t.length&&t.charAt(i)==="!";i++)r=!r,n++;n&&(this.pattern=t.slice(n)),this.negate=r}matchOne(t,r,n=!1){let i=0,o=0;if(this.isWindows){let s=typeof t[0]=="string"&&/^[a-z]:$/i.test(t[0]),l=!s&&t[0]===""&&t[1]===""&&t[2]==="?"&&/^[a-z]:$/i.test(t[3]),u=typeof r[0]=="string"&&/^[a-z]:$/i.test(r[0]),f=!u&&r[0]===""&&r[1]===""&&r[2]==="?"&&typeof r[3]=="string"&&/^[a-z]:$/i.test(r[3]),d=l?3:s?0:void 0,h=f?3:u?0:void 0;if(typeof d=="number"&&typeof h=="number"){let[p,m]=[t[d],r[h]];p.toLowerCase()===m.toLowerCase()&&(r[h]=p,o=h,i=d)}}let{optimizationLevel:a=1}=this.options;return a>=2&&(t=this.levelTwoFileOptimize(t)),r.includes(ef)?Ii(this,pp,bpr).call(this,t,r,n,i,o):Ii(this,pp,eF).call(this,t,r,n,i,o)}braceExpand(){return vpr(this.pattern,this.options)}parse(t){eK(t);let r=this.options;if(t==="**")return ef;if(t==="")return"";let n,i=null;(n=t.match(ujn))?i=r.dot?djn:fjn:(n=t.match(ejn))?i=(r.nocase?r.dot?ijn:njn:r.dot?rjn:tjn)(n[1]):(n=t.match(hjn))?i=(r.nocase?r.dot?mjn:pjn:r.dot?gjn:yjn)(n):(n=t.match(ojn))?i=r.dot?sjn:ajn:(n=t.match(ljn))&&(i=cjn);let o=Vk.fromGlob(t,this.options).toMMPattern();return i&&typeof o=="object"&&Reflect.defineProperty(o,"test",{value:i}),o}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let t=this.set;if(!t.length)return this.regexp=!1,this.regexp;let r=this.options,n=r.noglobstar?xjn:r.dot?Tjn:Sjn,i=new Set(r.nocase?["i"]:[]),o=t.map(l=>{let u=l.map(d=>{if(d instanceof RegExp)for(let h of d.flags.split(""))i.add(h);return typeof d=="string"?Ejn(d):d===ef?ef:d._src});u.forEach((d,h)=>{let p=u[h+1],m=u[h-1];d!==ef||m===ef||(m===void 0?p!==void 0&&p!==ef?u[h+1]="(?:\\/|"+n+"\\/)?"+p:u[h]=n:p===void 0?u[h-1]=m+"(?:\\/|\\/"+n+")?":p!==ef&&(u[h-1]=m+"(?:\\/|\\/"+n+"\\/)"+p,u[h+1]=ef))});let f=u.filter(d=>d!==ef);if(this.partial&&f.length>=1){let d=[];for(let h=1;h<=f.length;h++)d.push(f.slice(0,h).join("/"));return"(?:"+d.join("|")+")"}return f.join("/")}).join("|"),[a,s]=t.length>1?["(?:",")"]:["",""];o="^"+a+o+s+"$",this.partial&&(o="^(?:\\/|"+a+o.slice(1,-1)+s+")$"),this.negate&&(o="^(?!"+o+").+$");try{this.regexp=new RegExp(o,[...i].join(""))}catch{this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,r=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return t==="";if(t==="/"&&r)return!0;let n=this.options;this.isWindows&&(t=t.split("\\").join("/"));let i=this.slashSplit(t);this.debug(this.pattern,"split",i);let o=this.set;this.debug(this.pattern,"set",o);let a=i[i.length-1];if(!a)for(let s=i.length-2;!a&&s>=0;s--)a=i[s];for(let s=0;s<o.length;s++){let l=o[s],u=i;if(n.matchBase&&l.length===1&&(u=[a]),this.matchOne(u,l,r))return n.flipNegate?!0:!this.negate}return n.flipNegate?!1:this.negate}static defaults(t){return Dl.defaults(t).Minimatch}};pp=new WeakSet,bpr=function(t,r,n,i,o){let a=r.indexOf(ef,o),s=r.lastIndexOf(ef),[l,u,f]=n?[r.slice(o,a),r.slice(a+1),[]]:[r.slice(o,a),r.slice(a+1,s),r.slice(s+1)];if(l.length){let b=t.slice(i,i+l.length);if(!Ii(this,pp,eF).call(this,b,l,n,0,0))return!1;i+=l.length,o+=l.length}let d=0;if(f.length){if(f.length+i>t.length)return!1;let b=t.length-f.length;if(Ii(this,pp,eF).call(this,t,f,n,b,0))d=f.length;else{if(t[t.length-1]!==""||i+f.length===t.length||(b--,!Ii(this,pp,eF).call(this,t,f,n,b,0)))return!1;d=f.length+1}}if(!u.length){let b=!!d;for(let x=i;x<t.length-d;x++){let C=String(t[x]);if(b=!0,C==="."||C===".."||!this.options.dot&&C.startsWith("."))return!1}return n||b}let h=[[[],0]],p=h[0],m=0,g=[0];for(let b of u)b===ef?(g.push(m),p=[[],0],h.push(p)):(p[0].push(b),m++);let y=h.length-1,v=t.length-d;for(let b of h)b[1]=v-(g[y--]+b[0].length);return!!Ii(this,pp,SHe).call(this,t,h,i,0,n,0,!!d)},SHe=function(t,r,n,i,o,a,s){let l=r[i];if(!l){for(let d=n;d<t.length;d++){s=!0;let h=t[d];if(h==="."||h===".."||!this.options.dot&&h.startsWith("."))return!1}return s}let[u,f]=l;for(;n<=f;){if(Ii(this,pp,eF).call(this,t.slice(0,n+u.length),u,o,n,0)&&a<this.maxGlobstarRecursion){let p=Ii(this,pp,SHe).call(this,t,r,n+u.length,i+1,o,a+1,s);if(p!==!1)return p}let h=t[n];if(h==="."||h===".."||!this.options.dot&&h.startsWith("."))return!1;n++}return o||null},eF=function(t,r,n,i,o){let a,s,l,u;for(a=i,s=o,u=t.length,l=r.length;a<u&&s<l;a++,s++){this.debug("matchOne loop");let f=r[s],d=t[a];if(this.debug(r,f,d),f===!1||f===ef)return!1;let h;if(typeof f=="string"?(h=d===f,this.debug("string match",f,d,h)):(h=f.test(d),this.debug("pattern match",f,d,h)),!h)return!1}if(a===u&&s===l)return!0;if(a===u)return n;if(s===l)return a===u-1&&t[a]==="";throw new Error("wtf?")};Dl.AST=Vk;Dl.Minimatch=tF;Dl.escape=THe;Dl.unescape=Uk;function xpr(e,t){let r=new Set,n=new Map;for(let i of nh(e)){let o=t.find(a=>Dl(i.path,a));o&&n.set(i.path,o),(o||i.status==="removed")&&r.add(i.path)}return{dirs:Tpr(e,n),files:r,fileGlobs:n}}function Tpr(e,t){let r=new Set;for(let n of e){if(n.kind==="file")continue;let i=nh(n.children);i.length>0&&i.every(o=>t.has(o.path))&&r.add(n.path);for(let o of Tpr(n.children,t))r.add(o)}return r}function Cpr(e,t,r,n,i){return{...i,changes:Spr(e.overrides,r)+Spr(t.overrides,n),expandAll:()=>{e.onSet(r,!1),t.onSet(n,!1)},collapseAll:()=>t.onSet(n,!0),show:o=>{let a=[...o];e.onSet(r.filter(s=>a.some(l=>l.startsWith(`${s}/`))),!1),t.onSet(a,!1)},hide:o=>t.onSet(o,!0),reset:()=>{e.onReset(),t.onReset()}}}function Spr(e,t){return t.filter(r=>e.has(r)).length}function wpr(e,t,r){let n=(0,P0e.useMemo)(()=>xpr(t,r),[t,r]),i=(0,P0e.useMemo)(()=>nh(t).map(u=>u.path),[t]),o=(0,P0e.useMemo)(()=>dHe(t),[t]),a=tA(e,n.dirs),s=tA(`files:${e}`,n.files),l=Cpr(a,s,o,i,fHe(t,a.collapsed,s.collapsed));return{dirs:a,files:s,fileGlobs:n.fileGlobs,filePaths:i,bulk:l}}var rK=E(fe(),1);var Rjn=/[*?[{]/;function kpr(e,t){let r=t.trim();if(!r)return new Set;if(!Rjn.test(r)){let n=r.toLowerCase();return new Set(e.filter(i=>i.toLowerCase().includes(n)))}return new Set(e.filter(n=>Dl(n,r,{matchBase:!0})))}function _pr(e,t){let[r,n]=(0,rK.useState)(""),i=(0,rK.useMemo)(()=>kpr(e,r),[e,r]),o=(0,rK.useMemo)(()=>[...new Set(["**/*.md",...t])],[t]);return{glob:r,onChangeGlob:n,matches:i,quickGlobs:o}}var Epr=E(fe(),1);var L0e=E(fe(),1);function M0e(e,t){let[r,n]=(0,L0e.useState)(t);return(0,L0e.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 Rpr(){let e=(0,Epr.useRef)(null),t=M0e(e,0);return{toolbarRef:e,offsetSx:{[iHe]:`${t}px`}}}var sA=E($(),1);function Apr({structure:e,collapsedPaths:t,subject:r,comments:n}){let{dirs:i,files:o,fileGlobs:a,filePaths:s,bulk:l}=wpr(r,e.tree,t),{viewType:u,onChange:f}=mB(),d=_pr(s,t),{toolbarRef:h,offsetSx:p}=Rpr();return e.tree.length===0?(0,sA.jsx)(Me,{variant:"caption",sx:{color:"text.secondary"},children:"No changed files."}):(0,sA.jsxs)(J,{sx:{minWidth:0,...p},children:[(0,sA.jsx)(vhr,{structure:e}),(0,sA.jsx)(yhr,{ref:h,bulk:l,viewType:u,onChangeViewType:f,...d}),(0,sA.jsx)(qhr,{glob:d.glob,nodes:e.tree,collapsed:i.collapsed,onToggleDir:i.onToggle,collapsedFiles:o.collapsed,onToggleFile:o.onToggle,fileGlobs:a,matches:d.matches,viewType:u,comments:n})]})}var Dpr=E(fe(),1);function Ppr(e){return e.flatMap(({source:t,line:r})=>{let n=t.split(`
|
|
3881
3881
|
`),i=`${r},${n.length}`;return[`@@ -${i} +${i} @@`,...n.map(o=>` ${o}`)]}).join(`
|
|
3882
|
-
`)}var I0e=E($(),1);function Lpr({test:e,path:t,indent:r,comments:n}){let i=e.excerpts??(e.source===void 0?void 0:[{line:e.line,source:e.source}]);return(0,I0e.jsx)(J,{sx:{pl:`calc(${r} + 20px)`,minWidth:0},children:i===void 0?(0,I0e.jsx)(K1,{children:e.truncated?e.change==="modified"?"This test's change is too long to show here \u2014 open the file on GitHub.":"Too long to show here \u2014 open the file on GitHub.":e.overBudget?"Left out because this PR's tests are too large to show in full \u2014 open the file on GitHub.":"No source available."}):(0,I0e.jsx)(YB,{path:t,status:"modified",patch:Ppr(i),viewType:"unified",comments:n})})}var D0e={fontSize:12,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};var CHe=E($(),1);function Mpr({change:e}){return e?(0,CHe.jsx)(lr,{title:e==="added"?"New test":"Edited test",children:(0,CHe.jsx)(Me,{component:"span","aria-label":e,sx:{...N2,flexShrink:0,fontWeight:700,color:VB[e]},children:y0e[e]})}):null}var rF=E($(),1);function Ipr({name:e,change:t,open:r,onToggle:n}){let i=r?Hs:Du;return(0,rF.jsxs)(J,{component:"button",type:"button",onClick:n,"aria-expanded":r,"aria-label":`Show the source of ${e}`,sx:{display:"flex",alignItems:"center",gap:.5,flex:1,minWidth:0,p:0,...GB},children:[(0,rF.jsx)(i,{sx:{fontSize:15,color:"text.secondary",flexShrink:0}}),(0,rF.jsx)(Mpr,{change:t}),(0,rF.jsx)(Me,{component:"span",sx:D0e,title:e,children:e})]})}var nF=E($(),1);function Npr({test:e,path:t,indent:r,comments:n}){let[i,o]=(0,Dpr.useState)(!1);return(0,nF.jsxs)(J,{sx:{minWidth:0},children:[(0,nF.jsx)(J,{sx:{...ZR,pl:r},children:(0,nF.jsx)(Ipr,{name:e.name,change:e.change,open:i,onToggle:()=>o(!i)})}),i&&(0,nF.jsx)(Lpr,{test:e,path:t,indent:r,comments:n})]})}var iF=E($(),1);function wHe({nodes:e,path:t,depth:r,comments:n}){let i=`${r*m0e}px`;return e.map(o=>o.kind==="it"?(0,iF.jsx)(Npr,{test:o,path:t,indent:i,comments:n},o.id):(0,iF.jsxs)(J,{sx:{minWidth:0},children:[(0,iF.jsx)(Me,{component:"div",sx:{...D0e,pl:i,py:.15,fontWeight:600},title:o.name,children:o.name}),(0,iF.jsx)(wHe,{nodes:o.children,path:t,depth:r+1,comments:n})]},`${o.line}:${o.name}`))}function Opr(e){return e.flatMap(t=>t.kind==="it"?[t.change]:Opr(t.children))}function Bpr(e){let t=Opr(e.flatMap(i=>i.tests)),r=t.filter(i=>i==="added").length,n=t.filter(i=>i==="modified").length;return r+n===0?`${t.length} test${t.length===1?"":"s"} in changed files`:`${r} added \xB7 ${n} modified \xB7 unchanged tests are not listed`}var jk=E($(),1);function Fpr({files:e,testPaths:t,subject:r,comments:n}){let{collapsed:i,onToggle:o}=tA(`tests:${r}`);return e.length===0?(0,jk.jsx)(K1,{children:`No changed test in files matching ${t.join(", ")}.`}):(0,jk.jsxs)(J,{sx:{minWidth:0},children:[(0,jk.jsx)(Me,{variant:"caption",component:"div",sx:{color:"text.secondary",mb:.5},children:Bpr(e)}),e.map(a=>(0,jk.jsxs)(J,{sx:T0e,children:[(0,jk.jsx)(x0e,{diff:a,collapsed:i.has(a.path),onToggle:()=>o(a.path)}),!i.has(a.path)&&(0,jk.jsx)(wHe,{nodes:a.tests,path:a.path,depth:1,comments:n})]},a.path))]})}function N0e(e){return e.added+e.removed+e.modified}function $pr(e){return e.reduce((t,r)=>t+(r.kind==="it"?1:$pr(r.children)),0)}function O0e(e){return $pr(e.flatMap(t=>t.tests))}var lA=E($(),1);function zpr(e,t){let r=`${e.repo}#${e.prNumber}`;return{"structure-sensible":(0,lA.jsx)(h0e,{label:`Changed files (${N0e(e.structure)})`,children:(0,lA.jsx)(Apr,{structure:e.structure,collapsedPaths:e.collapsedPaths,subject:r,comments:t})}),"critical-diffs-correct":(0,lA.jsx)(h0e,{label:`Critical diffs (${e.criticalDiffs.length})`,children:(0,lA.jsx)(fhr,{diffs:e.criticalDiffs,criticalPaths:e.criticalPaths,subject:r,comments:t})}),"tests-worth-having":(0,lA.jsx)(h0e,{label:`Changed tests (${O0e(e.tests)})`,children:(0,lA.jsx)(Fpr,{files:e.tests,testPaths:e.testPaths,subject:r,comments:t})})}}function Hpr(e){let t=[["structure-sensible",N0e(e.structure)],["critical-diffs-correct",e.criticalDiffs.length],["tests-worth-having",O0e(e.tests)]];return Object.fromEntries(t.filter(([,r])=>r>0).map(([r,n])=>[r,`(${n})`]))}function Upr(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 cA(e,t){return Array.isArray(e)?t?e.filter(t):e:[]}var oF={repo:"",prNumber:0,headSha:"",checks:[],structure:{tree:[],added:0,removed:0,modified:0,additions:0,deletions:0},criticalDiffs:[],criticalPaths:[],tests:[],testPaths:[],collapsedPaths:[]};function Wpr(e){let t;try{t=JSON.parse(e)}catch{return oF}return typeof t!="object"||t===null?oF:{repo:typeof t.repo=="string"?t.repo:oF.repo,prNumber:typeof t.prNumber=="number"?t.prNumber:oF.prNumber,headSha:typeof t.headSha=="string"?t.headSha:oF.headSha,checks:cA(t.checks,Upr),structure:{...oF.structure,...t.structure},criticalDiffs:cA(t.criticalDiffs),criticalPaths:cA(t.criticalPaths),tests:cA(t.tests),testPaths:cA(t.testPaths),collapsedPaths:cA(t.collapsedPaths),...t.saved?{saved:t.saved}:{},...t.draft?{draft:t.draft}:{}}}var B0e=E(fe(),1);function Gpr(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??""}]}))}function Vpr(e,t){return e.map(r=>{let n=t[r.id]?.comment.trim()??"";return{id:r.id,ticked:t[r.id]?.ticked===!0,...n?{comment:n}:{}}})}function qpr(e,t){let[r,n]=(0,B0e.useState)(()=>Gpr(e,t)),i=(s,l)=>n(u=>({...u,[s]:{...u[s],...l}})),o=(0,B0e.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}),outstanding:o,checklist:()=>Vpr(e,r)}}var jpr=E(fe(),1);function Ypr(e,t){let[r,n]=(0,jpr.useState)(null),i=dk(t?e:void 0),o=i.session;return{comments:{cwd:e?.cwd,onComment:o&&t?Ume(o,t,()=>n(o.name)):void 0,unavailable:i.unavailable},sentTo:r,clearSent:()=>n(null)}}var Kpr=E(fe(),1);function Xpr(e){let[t,r]=(0,Kpr.useState)(()=>e?.reviewComments??[]);return{queued:t,onQueue:n=>r(i=>[...i,n]),onRemove:n=>r(i=>i.filter((o,a)=>a!==n))}}function Zpr(e,t,r){let n=(0,kHe.useMemo)(()=>Wpr(e.body),[e.body]),i=n.draft??n.saved,o=qpr(n.checks,i),a=Xpr(i),{comments:s,sentTo:l,clearSent:u}=Ypr(t,r),f=zpr(n,{...s,onQueue:a.onQueue}),d=(0,kHe.useMemo)(()=>Hpr(n),[n]);return{payload:n,checklist:o,queue:a,details:f,counts:d,sentTo:l,clearSent:u}}var w0=E($(),1);function Qpr({preview:e,session:t,sendInput:r,onDecision:n}){let{payload:i,checklist:o,queue:a,details:s,counts:l,sentTo:u,clearSent:f}=Zpr(e,t,r);return(0,w0.jsxs)(J,{sx:Fk,children:[(0,w0.jsx)(Bk,{preview:e,draft:!1}),(0,w0.jsx)(d0e,{items:e.metadata??[]}),(0,w0.jsx)(qi,{}),(0,w0.jsx)(Rdr,{payload:i,checklist:o,details:s,counts:l}),(0,w0.jsx)(qi,{}),(0,w0.jsx)(Pdr,{queued:a.queued,onRemove:a.onRemove}),(0,w0.jsx)(Adr,{failed:i.checks.filter(d=>d.status==="fail").length,outstanding:o.outstanding,...Mdr(o.checklist,a.queued,n)}),(0,w0.jsx)(uk,{sessionName:u,onClose:f})]})}var amr=E(fe(),1);var uA=E($(),1);function Ajn(e){return e.topLeft===null?"Click the top-left box":e.bottomRight===null?"Now click the bottom-right box":"Both anchors picked"}function Jpr({selection:e,onConfirm:t,onReject:r}){let n=e.topLeft!==null&&e.bottomRight!==null;return(0,uA.jsxs)(Lt,{direction:"row",spacing:1,sx:{p:2,alignItems:"center",justifyContent:"flex-end"},children:[(0,uA.jsx)(Me,{variant:"body2",sx:{flex:1,color:"text.secondary"},children:Ajn(e)}),(0,uA.jsx)(Dt,{color:"error",variant:"outlined",onClick:r,children:"Cancel"}),(0,uA.jsx)(Dt,{variant:"outlined",onClick:e.reset,children:"Start over"}),(0,uA.jsx)(Dt,{color:"success",variant:"contained",disabled:!n,onClick:t,children:"Extract boxes"})]})}var Pjn={"top-left":ol.miro.topLeft,"bottom-right":ol.miro.bottomRight};function emr(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?Pjn[t]:ol.miro.box,opacity:t?.75:.35,strokeWidth:Math.max(1,r*.004)}}var nK=E($(),1);function tmr({box:e,role:t,onSelect:r}){let n=emr(e,t);return(0,nK.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,nK.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,nK.jsx)("text",{x:e.left+n.width/2,y:e.top+n.height/2,textAnchor:"middle",dominantBaseline:"central",fontSize:n.fontSize,fill:ol.miro.text,children:e.text})]})}function rmr(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 F0e=E($(),1);function nmr({boxes:e,selection:t}){return(0,F0e.jsx)(J,{sx:{flex:1,minHeight:0,overflow:"auto",p:2},children:(0,F0e.jsx)("svg",{role:"img","aria-label":"Miro board boxes",viewBox:rmr(e),preserveAspectRatio:"xMidYMid meet",style:{width:"100%",height:"100%"},children:e.map(r=>(0,F0e.jsx)(tmr,{box:r,role:t.roleOf(r.id),onSelect:t.choose},r.id))})})}function fA(e){return{comments:[],screenshots:[],reviewAfter:!1,announceAfter:!1,draft:!1,autoMerge:!1,...e?{selection:e}:{}}}function Ljn(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 imr(e){try{let t=JSON.parse(e);return Array.isArray(t?.boxes)?t.boxes.filter(Ljn):[]}catch{return[]}}var _He=E(fe(),1);function omr(){let[e,t]=(0,_He.useState)(null),[r,n]=(0,_He.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 Yk=E($(),1);function smr({preview:e,onDecision:t}){let r=(0,amr.useMemo)(()=>imr(e.body),[e.body]),n=omr();return(0,Yk.jsxs)(J,{sx:Fk,children:[(0,Yk.jsx)(Bk,{preview:e,draft:!1}),(0,Yk.jsx)(qi,{}),(0,Yk.jsx)(nmr,{boxes:r,selection:n}),(0,Yk.jsx)(qi,{}),(0,Yk.jsx)(Jpr,{selection:n,onConfirm:()=>{let{topLeft:o,bottomRight:a}=n;o===null||a===null||t("approve",fA({topLeft:o,bottomRight:a}))},onReject:()=>t("reject",fA())})]})}var Fmr=E(fe(),1);function lmr(e){let t=[];return e.map(r=>(t.length=r+1,t[r]=(t[r]??0)+1,t.map(n=>n??1).join(".")))}function $0e(e){return e*22}function cmr(e){return Math.round(e/22)}var umr={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}},fmr={p:.25,mt:"2px",color:"text.disabled",cursor:"grab",touchAction:"none","&:active":{cursor:"grabbing"}},dmr={fontFamily:"fontFamilyMono",fontSize:"0.8rem",color:"text.secondary",minWidth:32,pt:"5px",textAlign:"right",userSelect:"none",whiteSpace:"nowrap"},hmr={flex:1,fontSize:"inherit",lineHeight:1.5,px:.75,py:0,borderRadius:1,"&:hover":{bgcolor:"action.hover"},"&.Mui-focused":{bgcolor:"action.selected"}},EHe={p:.25,mt:"2px"},pmr={position:"absolute",right:8,height:2,borderRadius:1,bgcolor:"primary.main",pointerEvents:"none"};var gmr=E($(),1),Mjn=8;function mmr({drag:e}){return e?(0,gmr.jsx)(J,{sx:pmr,style:{top:e.top-1,left:Mjn+$0e(e.depth)}}):null}var ymr=E($(),1),vmr=ut((0,ymr.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 RHe=E($(),1);function bmr({number:e,onGrip:t}){return(0,RHe.jsx)(ar,{size:"small",className:"criterion-action",sx:fmr,"aria-label":`Reorder criterion ${e}`,onPointerDown:t,children:(0,RHe.jsx)(vmr,{fontSize:"inherit"})})}var $2=E($(),1);function xmr({number:e,onAdd:t,onDelete:r}){return(0,$2.jsxs)($2.Fragment,{children:[(0,$2.jsx)(ar,{size:"small",className:"criterion-action",sx:EHe,"aria-label":`Add criterion after ${e}`,onClick:t,children:(0,$2.jsx)(OS,{fontSize:"inherit"})}),(0,$2.jsx)(ar,{size:"small",className:"criterion-action",sx:EHe,"aria-label":`Delete criterion ${e}`,onClick:r,children:(0,$2.jsx)(Wo,{fontSize:"inherit"})})]})}var z0e=E(fe(),1);function Tmr(e,t){return e==="start"?0:e==="end"?t:Math.min(Math.max(e,0),t)}function Smr(e){let t=(0,z0e.useRef)(null);return(0,z0e.useEffect)(()=>{let r=t.current;if(!e||!r)return;r.focus();let n=Tmr(e.caret,r.value.length);r.setSelectionRange(n,n)},[e]),t}var dA=E($(),1);function Cmr({index:e,number:t,item:r,outline:n,dragging:i,onGrip:o}){let a=Smr(n.focus?.index===e?n.focus:null),s={marginLeft:$0e(r.depth),opacity:i?.4:1};return(0,dA.jsxs)(J,{sx:umr,"data-criterion-row":!0,style:s,children:[(0,dA.jsx)(bmr,{number:t,onGrip:o}),(0,dA.jsx)(J,{component:"span",sx:dmr,"aria-hidden":"true",children:`${t}.`}),(0,dA.jsx)(wu,{multiline:!0,value:r.text,sx:hmr,inputRef:a,inputProps:{"aria-label":`Criterion ${t}`},onChange:l=>n.onText(e,l.target.value),onKeyDown:l=>n.onKeyDown(e,l)}),(0,dA.jsx)(xmr,{number:t,onAdd:()=>n.onAdd(e),onDelete:()=>n.onDelete(e)})]})}var Pmr=E(fe(),1);function wmr(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 Kk(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 H0e(e,t,r,n){let i=e[t]?.depth??0,o=e.map((a,s)=>s===t?{...a,text:r}:a);return{items:Kk([...o.slice(0,t+1),{text:n,depth:i},...o.slice(t+1)]),index:t+1}}function mp(e,t){let r=t+1;for(;r<e.length&&e[r].depth>e[t].depth;)r+=1;return r}function U0e(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 kmr(e,t){let r=mp(e,t);return r<e.length&&e[r].depth===e[t].depth?r:-1}function _mr(e,t,r){let n=r<0?U0e(e,t):kmr(e,t);if(n<0)return null;let i=mp(e,t),o=e.slice(t,i),a=[...e.slice(0,t),...e.slice(i)],s=r<0?n:mp(e,n)-(i-t);return{items:[...a.slice(0,s),...o,...a.slice(s)],index:s}}function W0e(e,t){let r=mp(e,t),n=e.map((i,o)=>o>t&&o<r?{...i,depth:i.depth-1}:i).filter((i,o)=>o!==t);return{items:Kk(n),index:Math.max(0,t-1)}}function Emr(e,t,r){if(r<0&&e[t].depth===0||r>0&&U0e(e,t)<0)return null;let n=mp(e,t);return e.map((i,o)=>o>=t&&o<n?{...i,depth:i.depth+r}:i)}function G0e(e,t){return e?{kind:"edit",edit:e,caret:t}:null}function Ijn(e,t,{caret:r,text:n}){let i=n.slice(0,r);return G0e(H0e(e,t,i,n.slice(r)),"start")}function Djn(e,t,{shift:r,caret:n}){let i=Emr(e,t,r?-1:1);return G0e(i?{items:i,index:t}:null,n)}function Rmr(e,t,r){let{key:n,shift:i,alt:o,caret:a,text:s}=r;return n==="Enter"&&!i?Ijn(e,t,r):n==="Tab"?Djn(e,t,r):o&&(n==="ArrowUp"||n==="ArrowDown")?G0e(_mr(e,t,n==="ArrowUp"?-1:1),a):n==="Backspace"&&a===0&&s===""?G0e(W0e(e,t),"end"):null}function Amr(e,t,r){return Rmr(e,t,r)??wmr(e,t,r)}function Lmr(e,t){let[r,n]=(0,Pmr.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=Amr(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(H0e(e,a,e[a].text,""),"start"),onDelete:a=>i(W0e(e,a),"end")}}var Omr=E(fe(),1);function Njn(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=mp(t,r);return i>r&&i<o?r:i}function Ojn(e,t,r,n){let i=mp(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+cmr(n),s))}function Bjn(e,t){if(t<e.length)return e[t].top;let r=e[e.length-1];return r?r.top+r.height:0}function Mmr(e,t,r,n,i){let o=Njn(e,t,r,i);return{target:o,depth:Ojn(t,r,o,n),top:Bjn(e,o)}}function Fjn(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 Imr(e,t,r,n){return i=>{let{boxes:o,origin:a}=Fjn(t);return Mmr(o,e,r,i.clientX-n,i.clientY-a)}}function Dmr(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 Nmr(e,t,r,n){let i=mp(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:Kk([...s.slice(0,l),...a,...s.slice(l)]),index:l}}function Bmr(e,t,r){let[n,i]=(0,Omr.useState)(null);return{drag:n,onGrip:a=>s=>{let l=t.current;if(!l||s.pointerType==="mouse"&&s.button!==0)return;s.preventDefault(),Dmr(s.currentTarget,s.pointerId,Imr(e,l,a,s.clientX),f=>i({from:a,depth:f.depth,top:f.top}),f=>{i(null),r(Nmr(e,a,f.target,f.depth))})(s)}}}var iK=E($(),1),$jn={my:1,px:1,py:.5,border:1,borderColor:"divider",borderRadius:1,position:"relative",userSelect:"text",cursor:"auto"},zjn=[{text:"",depth:0}];function $mr({items:e,onChange:t}){let r=(0,Fmr.useRef)(null),n=e.length>0?e:zjn,i=Lmr(n,t),{drag:o,onGrip:a}=Bmr(n,r,i.onDrop),s=lmr(n.map(l=>l.depth));return(0,iK.jsxs)(J,{sx:$jn,ref:r,"data-preview-skip":!0,"aria-label":"Acceptance criteria",children:[n.map((l,u)=>(0,iK.jsx)(Cmr,{index:u,number:s[u],item:l,outline:i,dragging:o?.from===u,onGrip:a(u)},`criterion-${u}`)),(0,iK.jsx)(mmr,{drag:o})]})}var zmr=E($(),1),Hmr=ut((0,zmr.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 oK=E($(),1),Hjn={insert:"Add acceptance criteria",convert:"Convert to outline"};function Umr({kind:e,onClick:t}){return(0,oK.jsx)(J,{sx:{my:1},"data-preview-skip":!0,children:(0,oK.jsx)(Dt,{size:"small",variant:"outlined",startIcon:e==="insert"?(0,oK.jsx)(OS,{}):(0,oK.jsx)(Hmr,{}),onClick:t,children:Hjn[e]})})}var aK=E(fe(),1);function Ujn(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 Wjn(e,t,r){let n=kE(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)Ujn(a.node,a.start,a.end,r)}function Wmr(e){for(let t of e.querySelectorAll("mark.pr-comment"))if(t.parentNode){for(;t.firstChild;)t.before(t.firstChild);t.remove()}}function Gmr(e,t){for(let r of t){let n=Cdt(e,r);n&&Wjn(e,n,r.color)}}var sK=E($(),1);function Vmr({content:e,control:t,trailing:r,ranges:n,contentRef:i}){let o=(0,aK.useMemo)(()=>g2(e),[e]),a=(0,aK.useMemo)(()=>r?g2(r):"",[r]);return(0,aK.useLayoutEffect)(()=>{let s=i.current;s&&(Wmr(s),Gmr(s,n))},[o,a,n,i]),(0,sK.jsxs)(J,{ref:i,children:[(0,sK.jsx)(Fu,{className:"markdown",html:o}),t,t?(0,sK.jsx)(Fu,{className:"markdown",html:a}):null]})}var hA=e=>e.split(",").map(t=>`&& .markdown ${t.trim()}`).join(", ");function V0e(e){let{color:t,radius:r}=e.tokens;return{px:2.5,py:2,fontSize:14,lineHeight:1.6,[hA("")]:{lineHeight:1.6},[hA("h1, h2, h3, h4, h5, h6")]:{fontSize:15,fontWeight:600,lineHeight:1.4,mt:2,mb:1},[hA("ul, ol")]:{pl:2.5,mb:2},[hA("li")]:{mb:"6px"},[hA("code")]:{fontFamily:e.typography.fontFamilyMono,fontSize:"0.86em",px:"5px",py:0,bgcolor:t.raised,border:1,borderColor:t.lineSoft,borderRadius:"4px"},[hA("pre")]:{bgcolor:t.raised,border:1,borderColor:t.lineSoft,borderRadius:`${r.sm}px`},[hA("pre code")]:{border:0,px:0,bgcolor:"transparent"}}}var qmr=e=>({flex:1,overflow:"auto",position:"relative",userSelect:"none",cursor:"text",wordBreak:"break-word","& .markdown":{...Sie(e),maxWidth:"none"},"& a":{color:"primary.main"},"& mark.pr-comment":{color:"inherit",borderRadius:"2px"},...V0e(e)});var aF=E($(),1);function jmr({content:e,control:t,trailing:r,ranges:n,wrapperRef:i,contentRef:o,dragRects:a,dragColor:s,onMouseDown:l,footer:u}){return(0,aF.jsxs)(J,{ref:i,onMouseDown:l,sx:qmr,children:[(0,aF.jsx)(Vmr,{content:e,control:t,trailing:r,ranges:n,contentRef:o}),u&&(0,aF.jsx)(J,{sx:{userSelect:"text"},children:u}),(0,aF.jsx)(E7,{rects:a,color:s})]})}function Ymr(e){let t=new Map,r=[];for(let n of e){if(!n.group){r.push(n);continue}t.set(n.group,[...t.get(n.group)??[],n])}return{groups:[...t],ungrouped:r}}var q0e=E(fe(),1),Kmr=E($(),1);function AHe({label:e,value:t,onCommit:r,listId:n}){let[i,o]=(0,q0e.useState)(t);return(0,q0e.useEffect)(()=>o(t),[t]),(0,Kmr.jsx)(ei,{size:"small",variant:"standard",fullWidth:!0,label:e,value:i,onChange:s=>o(s.target.value),onBlur:()=>{let s=i.trim();o(t),s!==t&&r(s)},onKeyDown:s=>{s.key==="Enter"&&s.target.blur()},onMouseDown:s=>s.stopPropagation(),slotProps:{htmlInput:{list:n}}})}var lK=E($(),1),PHe="screenshot-groups";function Gjn(e){return(e.split(/[\\/]/).pop()??e).replace(/\.[^.]+$/,"")}function Xmr({screenshot:e,onUpdate:t}){return(0,lK.jsxs)(Lt,{direction:"row",spacing:1,sx:{mt:.5},children:[(0,lK.jsx)(AHe,{label:"Caption",value:e.alt,onCommit:r=>t(e.id,{alt:r||Gjn(e.path)})}),(0,lK.jsx)(AHe,{label:"Group",value:e.group??"",listId:PHe,onCommit:r=>t(e.id,{group:r})})]})}var Xk=E($(),1),Zmr={display:"block",maxWidth:"100%",borderRadius:1,border:1,borderColor:"divider"},Vjn={position:"absolute",top:4,right:4,bgcolor:"background.paper","&:hover":{bgcolor:"background.paper"}};function Qmr({screenshot:e,onRemove:t,onUpdate:r}){let n=e.contentType.startsWith("video/");return(0,Xk.jsxs)(J,{sx:{position:"relative"},children:[n?(0,Xk.jsx)(J,{component:"video",controls:!0,src:e.url,"aria-label":"screenshot",sx:Zmr}):(0,Xk.jsx)(J,{component:"img",src:e.url,alt:"screenshot",sx:Zmr}),(0,Xk.jsx)(ar,{size:"small","aria-label":"Remove screenshot",sx:Vjn,onMouseDown:i=>i.stopPropagation(),onClick:()=>t(e.id),children:(0,Xk.jsx)(Wo,{fontSize:"small"})}),(0,Xk.jsx)(Xmr,{screenshot:e,onUpdate:r})]})}var Qm=E($(),1);function qjn(){return(0,Qm.jsxs)(Lt,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[(0,Qm.jsx)(oo,{size:16}),(0,Qm.jsx)(Me,{variant:"caption",color:"text.secondary",children:"Attaching screenshot or video\u2026"})]})}function jjn({error:e}){return(0,Qm.jsx)(Me,{variant:"caption",color:"error",sx:{wordBreak:"break-word"},children:e})}function Jmr({uploads:e,empty:t}){return e.length>0?(0,Qm.jsx)(Qm.Fragment,{children:e.map(r=>r.error?(0,Qm.jsx)(jjn,{error:r.error},r.id):(0,Qm.jsx)(qjn,{},r.id))}):t?(0,Qm.jsx)(Me,{variant:"caption",color:"text.secondary",children:"Drop or paste an image or video to attach"}):null}var Jm=E($(),1),Yjn={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:1};function egr({screenshots:e,uploads:t,onRemove:r,onUpdate:n}){let{groups:i,ungrouped:o}=Ymr(e),a=s=>(0,Jm.jsx)(Qmr,{screenshot:s,onRemove:r,onUpdate:n},s.id);return(0,Jm.jsxs)(J,{sx:{mt:3},children:[e.length>0&&(0,Jm.jsx)(J,{component:"h2",children:"Screenshots"}),(0,Jm.jsx)("datalist",{id:PHe,children:i.map(([s])=>(0,Jm.jsx)("option",{value:s},s))}),i.map(([s,l])=>(0,Jm.jsxs)(J,{sx:{mb:2},children:[(0,Jm.jsx)(J,{component:"h3",children:s}),(0,Jm.jsx)(J,{sx:Yjn,children:l.map(a)})]},s)),(0,Jm.jsxs)(Lt,{spacing:1,children:[o.map(a),(0,Jm.jsx)(Jmr,{uploads:t,empty:e.length===0})]})]})}var cK=E($(),1);function Kjn(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,cK.jsx)($mr,{items:t.items,onChange:e.onCriteriaChange})}:{...r,control:(0,cK.jsx)(Umr,{kind:t.kind,onClick:t.kind==="insert"?e.onCriteriaInsert:e.onCriteriaConvert})}}function tgr({pane:e,screenshots:t}){return(0,cK.jsx)(jmr,{...Kjn(e),ranges:e.ranges,wrapperRef:e.wrapperRef,contentRef:e.contentRef,dragRects:e.dragRects,dragColor:e.dragColor,onMouseDown:e.onMouseDown,footer:t?(0,cK.jsx)(egr,{screenshots:e.screenshots,uploads:e.uploads,onRemove:e.removeScreenshot,onUpdate:e.updateScreenshot}):void 0})}var rgr=e=>({display:"grid",gap:1,maxHeight:220,overflow:"auto",px:2,py:1.25,borderTop:1,borderColor:e.tokens.color.lineSoft}),ngr={fontSize:11,fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:"text.secondary"},igr=e=>({display:"grid",gridTemplateColumns:"minmax(0, 1fr) auto",gap:"4px 8px",px:1.25,py:1,borderRadius:`${e.tokens.radius.sm}px`,bgcolor:e.tokens.color.raised,border:1,borderColor:e.tokens.color.lineSoft,fontSize:12.5}),ogr={gridColumn:2,gridRow:1,width:20,height:20,color:"text.disabled","& .MuiSvgIcon-root":{fontSize:14}};var z2=E($(),1);function agr({comments:e,colors:t,onRemove:r}){return(0,z2.jsxs)(J,{sx:rgr,children:[(0,z2.jsxs)(Me,{sx:ngr,children:["Comments (",e.length,")"]}),e.map((n,i)=>(0,z2.jsxs)(J,{sx:igr,children:[(0,z2.jsx)($ne,{text:n.quote,sx:{gridColumn:1,borderLeft:2,pl:1,borderColor:t[i]}}),(0,z2.jsx)(J,{sx:{gridColumn:1,wordBreak:"break-word"},children:n.note}),(0,z2.jsx)(ar,{"aria-label":"Remove comment",onClick:()=>r(n.id),sx:ogr,children:(0,z2.jsx)(Wo,{})})]},n.id))]})}var lgr=E($(),1);function sgr(e){return e.comments.length===0?null:(0,lgr.jsx)(agr,{...e})}var pA=E($(),1);function cgr({canStart:e,onApprove:t,onApproveAndStart:r}){let n=jst();return(0,pA.jsxs)(pA.Fragment,{children:[(0,pA.jsx)(Dt,{color:"primary",variant:e?"tonal":"contained",onClick:t,...e?{}:n,children:"Approve"}),e&&(0,pA.jsx)(Dt,{color:"primary",variant:"contained",onClick:r,...n,children:"Approve & start"})]})}var LHe=E($(),1),Xjn={"& .MuiFormControlLabel-label":{fontSize:12}};function uK({label:e,title:t,checked:r,onChange:n}){return(0,LHe.jsx)(E5,{control:(0,LHe.jsx)(Z0,{size:"small",checked:r,onChange:i=>n(i.target.checked)}),label:e,title:t,sx:Xjn})}var mA=E($(),1);function ugr({chain:e,newPr:t,onChange:r}){return(0,mA.jsxs)(Lt,{direction:"row",sx:{mr:"auto"},children:[t&&(0,mA.jsx)(uK,{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,mA.jsx)(uK,{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,mA.jsx)(uK,{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,mA.jsx)(uK,{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 gA=E($(),1);function fgr({commentCount:e,chain:t,newPr:r,canStart:n,onChainChange:i,onApprove:o,onApproveAndStart:a,onReject:s,onRequestChanges:l}){return(0,gA.jsxs)(Lt,{direction:"row",spacing:1,sx:{px:2,py:1.5,alignItems:"center",justifyContent:"flex-end"},children:[t&&(0,gA.jsx)(ugr,{chain:t,newPr:r,onChange:i}),(0,gA.jsx)(Dt,{color:"error",variant:"outlined",onClick:s,children:"Reject"}),e>0&&(0,gA.jsxs)(Dt,{color:"warning",variant:"tonal",onClick:l,children:["Request changes (",e,")"]}),(0,gA.jsx)(cgr,{canStart:n,onApprove:o,onApproveAndStart:a})]})}var H2=E($(),1);function dgr({comments:e,commentColors:t,pending:r,cwd:n,unavailable:i,onAdd:o,onQueue:a,onCite:s,onAddRule:l,onRemove:u,onCancel:f,onCollapse:d,onDecision:h,chain:p,editable:m,newPr:g,canStart:y,onChainChange:v}){return(0,H2.jsxs)(H2.Fragment,{children:[(0,H2.jsx)(sgr,{comments:e,colors:t,onRemove:u}),(0,H2.jsx)(qi,{}),(0,H2.jsx)(fgr,{commentCount:e.length,chain:p,newPr:g,canStart:y,onChainChange:v,onApprove:()=>h("approve",[]),onApproveAndStart:()=>h("approve",[],!0),onReject:()=>h("reject",[]),onRequestChanges:()=>h("reject",e.map(b=>({quote:b.quote,note:b.note})))}),(0,H2.jsx)(qne,{pending:r,editable:m,cwd:n,unavailable:i,onAdd:o,onQueue:a,onCite:s,onAddRule:l,onCancel:f,onCollapse:d})]})}function hgr({preview:e,pane:t,cwd:r,isPr:n,editable:i,sender:o,onCite:a,onAddRule:s}){return{comments:t.comments,commentColors:t.commentColors,pending:t.pending,cwd:r,unavailable:o.unavailable,onAdd:o.onSend,onQueue:t.onAdd,onCite:a,onAddRule:s,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,canStart:e.kind==="backlog-item"&&e.canStart===!0,onChainChange:t.setChain}}function j0e(e){let t=e??"pr";return{isPr:t==="pr",screenshots:t==="pr"||t==="github-issue",editable:t==="github-issue-edit",closeOnly:t==="show"}}function pgr(e,t){return e?`${e}:${t??"pr"}`:void 0}function mgr(e,t,r,n){return{...j0e(e.kind),requestId:e.requestId,supersedes:e.supersedes,sessionId:t,cwd:r,onDecision:n,screenshotScope:pgr(t,e.kind),seededScreenshots:e.screenshots??[],resolvedDraft:e.draft===!0,initialBody:e.body}}function ggr(e,t,r,n){if(!(!e||!t))return i=>{r!==void 0&&th(t,e,$me({quote:r,note:i})),n()}}function ygr(e,t,r,n){if(!(!e||!t))return i=>{r!==void 0&&th(t,e,G1(r,Fne(i))),n()}}function vgr(e,t,r,n){return{onCite:ygr(e,t,r,n),onAddRule:ggr(e,t,r,n)}}var d0r=E(fe(),1);function bgr(e){return{criteria:e.criteria,onCriteriaChange:e.writeCriteria,onCriteriaInsert:e.insertCriteria,onCriteriaConvert:e.convertCriteria}}function xgr(e,t){let r=e.map((o,a)=>sB(a).solid),n=sB(e.length).fill,i=e.map((o,a)=>({start:o.start,end:o.end,color:sB(a).fill}));return t&&i.push({start:t.start,end:t.end,color:n}),{commentColors:r,dragColor:n,ranges:i}}var K0e=E(fe(),1);var MHe="assist:preview-screenshots:",IHe=e=>`${MHe}${e}`,Y0e=e=>`${MHe}seeded:${e}`;function Tgr(e){return e?(hk(MHe),Qu(IHe(e)).filter(t=>typeof t.path=="string")):[]}function yA(e,t){e&&Ju(IHe(e),t.map(({path:r,alt:n,group:i,contentType:o,seeded:a})=>({path:r,alt:n,group:i,contentType:o,seeded:a})))}function Sgr(e){e&&(FR(IHe(e)),FR(Y0e(e)))}var vA=E(fe(),1);var Cgr={"image/png":"png","image/jpeg":"jpg","image/gif":"gif","image/webp":"webp","image/svg+xml":"svg","video/mp4":"mp4","video/webm":"webm","video/quicktime":"mov"};function Zjn(e){let t=e.split(".").pop()?.toLowerCase();return Object.entries(Cgr).find(([,n])=>n===t)?.[0]??"application/octet-stream"}function wgr(e){return e.map(t=>({...t,contentType:Zjn(t.path),seeded:!0}))}function kgr(e,t,r){if(!e)return wgr(r);let n=Tgr(e);if(Qu(Y0e(e))[0]===t)return n;let i=[...wgr(r),...n.filter(o=>!o.seeded)];return yA(e,i),Ju(Y0e(e),[t]),i}function _gr(e,t){let r=new URLSearchParams({path:e});return t&&r.set("node",t),`/api/pr-preview/image?${r}`}function Egr(e,t,r){let[n,i]=(0,vA.useState)([]),o=(0,vA.useRef)(0),a=yr(),s=(0,vA.useRef)(r);return s.current=r,(0,vA.useEffect)(()=>{i(kgr(e,t,s.current).map(l=>({...l,url:_gr(l.path,a),id:o.current++})))},[e,t,a]),{screenshots:n,setScreenshots:i,nextId:o}}var Rgr=E(fe(),1);function Agr(e,t){return(0,Rgr.useCallback)((r,n)=>{t(i=>{let o=i.map(a=>a.id===r?{...a,...n}:a);return yA(e,o),o})},[e,t])}function Pgr(e,t,r){let{screenshots:n,setScreenshots:i,nextId:o}=Egr(e,t,r),a=(0,K0e.useCallback)(f=>{i(d=>{let h=[...d,{...f,id:o.current++}];return yA(e,h),h})},[e,i,o]),s=(0,K0e.useCallback)(f=>{i(d=>{let h=d.find(m=>m.id===f);h?.url.startsWith("blob:")&&URL.revokeObjectURL(h.url);let p=d.filter(m=>m.id!==f);return yA(e,p),p})},[e,i]),l=Agr(e,i),u=(0,K0e.useCallback)(()=>Sgr(e),[e]);return{screenshots:n,add:a,remove:s,update:l,clearPersisted:u}}var sF=E(fe(),1);async function Lgr(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 Ngr=E(fe(),1);function Mgr(e){return e.startsWith("image/")||e.startsWith("video/")}function Igr(e){if(!e)return null;for(let t of e.items)if(t.kind==="file"&&Mgr(t.type)){let r=t.getAsFile();if(r)return r}return null}function Dgr(e){return e?Array.from(e.files).find(t=>Mgr(t.type))??null:null}function Ogr(e,t){return(0,Ngr.useEffect)(()=>{if(!t)return;let i=o=>{let a=Igr(o.clipboardData);a&&(o.preventDefault(),e(a))};return globalThis.addEventListener("paste",i),()=>globalThis.removeEventListener("paste",i)},[e,t]),t?{onDrop:i=>{let o=Dgr(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 Bgr(e,t,r){let[n,i]=(0,sF.useState)([]),o=(0,sF.useRef)(0),a=yr(),s=(0,sF.useCallback)(async f=>{let d=o.current++;i(h=>[...h.filter(p=>!p.error),{id:d}]);try{let h=await Lgr(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}=Ogr(s,r);return{uploads:n,onDrop:l,onDragOver:u}}function Fgr({cwd:e,screenshots:t,screenshotScope:r,requestId:n,seededScreenshots:i}){let{screenshots:o,add:a,remove:s,update:l,clearPersisted:u}=Pgr(t?r:void 0,n,t?i:[]),{uploads:f,onDrop:d,onDragOver:h}=Bgr(e,a,t);return{screenshots:o,removeScreenshot:s,updateScreenshot:l,decision:{attachments:()=>o.map(({path:p,alt:m,group:g})=>g?{path:p,alt:m,group:g}:{path:p,alt:m}),clearPersisted:u},uploads:f,onDrop:d,onDragOver:h}}var U2=E(fe(),1);var $gr="assist:pr-preview-comments:",DHe=e=>`${$gr}${e}`;function NHe(e){return Qu(DHe(e))}function fK(e,t){Ju(DHe(e),t)}function X0e(e){FR(DHe(e))}function zgr(){hk($gr)}function Hgr(e){let t=kE(e),r="";for(let n=t.nextNode();n;n=t.nextNode())r+=n.textContent??"";return r}function Qjn(e,t,r){let n=-1;for(let i=e.indexOf(t);i!==-1;i=e.indexOf(t,i+1))(n===-1||Math.abs(i-r)<Math.abs(n-r))&&(n=i);return n}function Ugr(e,t){return e.flatMap(r=>{let n=Qjn(t,r.quote,r.start);return n===-1?[]:[{...r,start:n,end:n+r.quote.length}]})}function Wgr(e,t,r){let n=NHe(e);if(n.length>0||!t||!r)return n;let i=Ugr(NHe(t),Hgr(r));return fK(e,i),X0e(t),i}function Ggr(e,t,r){let[n,i]=(0,U2.useState)([]),o=(0,U2.useRef)(0);(0,U2.useEffect)(()=>{zgr(),i(Wgr(e,t,r.current).map(l=>({...l,id:o.current++})))},[e,t,r]);let a=(0,U2.useCallback)(l=>{i(u=>{let f=[...u,{...l,id:o.current++}];return fK(e,f),f})},[e]),s=(0,U2.useCallback)(l=>{i(u=>{let f=u.filter(d=>d.id!==l);return fK(e,f),f})},[e]);return{comments:n,add:a,remove:s}}var Qgr=E(fe(),1);var Vgr="assist:pr-preview-chain:",OHe=e=>`${Vgr}${e}`;function qgr(e){if(e)return Qu(OHe(e))[0]}function jgr(e,t){e&&Ju(OHe(e),[t])}function Ygr(e){e&&FR(OHe(e))}function Kgr(){hk(Vgr)}function Xgr(e,t,r){if(!e)return{reviewAfter:!1,announceAfter:!1,draft:!1,autoMerge:!1};Kgr();let n=qgr(t);return{reviewAfter:n?.reviewAfter??!0,announceAfter:n?.announceAfter??!0,draft:n?.draft??r,autoMerge:n?.autoMerge??!1}}function Zgr(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 Jgr(e,t,r,n,i,o,a){let[s,l]=(0,Qgr.useState)(()=>Xgr(n,t,i));return{chain:s,setChain:d=>{l(d),jgr(t,d)},onDecide:(d,h,p=!1)=>{let m=d==="approve";X0e(e),m&&(Ygr(t),o.clearPersisted()),r(d,{...Zgr(m,h,s,m?o.attachments():[],a()),...m&&p?{autostart:!0}:{}})}}}var c0r=E(fe(),1);var Jjn=/^ {0,3}#{1,6}[ \t]+acceptance criteria[ \t]*$/i,eYn=/^ {0,3}#{1,6}[ \t]/;function Zk(e){let t=e.split(`
|
|
3882
|
+
`)}var I0e=E($(),1);function Lpr({test:e,path:t,indent:r,comments:n}){let i=e.excerpts??(e.source===void 0?void 0:[{line:e.line,source:e.source}]);return(0,I0e.jsx)(J,{sx:{pl:`calc(${r} + 20px)`,minWidth:0},children:i===void 0?(0,I0e.jsx)(K1,{children:e.truncated?e.change==="modified"?"This test's change is too long to show here \u2014 open the file on GitHub.":"Too long to show here \u2014 open the file on GitHub.":e.overBudget?"Left out because this PR's tests are too large to show in full \u2014 open the file on GitHub.":"No source available."}):(0,I0e.jsx)(YB,{path:t,status:"modified",patch:Ppr(i),viewType:"unified",comments:n})})}var D0e={fontSize:12,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};var CHe=E($(),1);function Mpr({change:e}){return e?(0,CHe.jsx)(lr,{title:e==="added"?"New test":"Edited test",children:(0,CHe.jsx)(Me,{component:"span","aria-label":e,sx:{...N2,flexShrink:0,fontWeight:700,color:VB[e]},children:y0e[e]})}):null}var rF=E($(),1);function Ipr({name:e,change:t,open:r,onToggle:n}){let i=r?Hs:Du;return(0,rF.jsxs)(J,{component:"button",type:"button",onClick:n,"aria-expanded":r,"aria-label":`Show the source of ${e}`,sx:{display:"flex",alignItems:"center",gap:.5,flex:1,minWidth:0,p:0,...GB},children:[(0,rF.jsx)(i,{sx:{fontSize:15,color:"text.secondary",flexShrink:0}}),(0,rF.jsx)(Mpr,{change:t}),(0,rF.jsx)(Me,{component:"span",sx:D0e,title:e,children:e})]})}var nF=E($(),1);function Npr({test:e,path:t,indent:r,comments:n}){let[i,o]=(0,Dpr.useState)(!1);return(0,nF.jsxs)(J,{sx:{minWidth:0},children:[(0,nF.jsx)(J,{sx:{...ZR,pl:r},children:(0,nF.jsx)(Ipr,{name:e.name,change:e.change,open:i,onToggle:()=>o(!i)})}),i&&(0,nF.jsx)(Lpr,{test:e,path:t,indent:r,comments:n})]})}var iF=E($(),1);function wHe({nodes:e,path:t,depth:r,comments:n}){let i=`${r*m0e}px`;return e.map(o=>o.kind==="it"?(0,iF.jsx)(Npr,{test:o,path:t,indent:i,comments:n},o.id):(0,iF.jsxs)(J,{sx:{minWidth:0},children:[(0,iF.jsx)(Me,{component:"div",sx:{...D0e,pl:i,py:.15,fontWeight:600},title:o.name,children:o.name}),(0,iF.jsx)(wHe,{nodes:o.children,path:t,depth:r+1,comments:n})]},`${o.line}:${o.name}`))}function Opr(e){return e.flatMap(t=>t.kind==="it"?[t.change]:Opr(t.children))}function Bpr(e){let t=Opr(e.flatMap(i=>i.tests)),r=t.filter(i=>i==="added").length,n=t.filter(i=>i==="modified").length;return r+n===0?`${t.length} test${t.length===1?"":"s"} in changed files`:`${r} added \xB7 ${n} modified \xB7 unchanged tests are not listed`}var jk=E($(),1);function Fpr({files:e,testPaths:t,subject:r,comments:n}){let{collapsed:i,onToggle:o}=tA(`tests:${r}`);return e.length===0?(0,jk.jsx)(K1,{children:`No changed test in files matching ${t.join(", ")}.`}):(0,jk.jsxs)(J,{sx:{minWidth:0},children:[(0,jk.jsx)(Me,{variant:"caption",component:"div",sx:{color:"text.secondary",mb:.5},children:Bpr(e)}),e.map(a=>(0,jk.jsxs)(J,{sx:T0e,children:[(0,jk.jsx)(x0e,{diff:a,collapsed:i.has(a.path),onToggle:()=>o(a.path)}),!i.has(a.path)&&(0,jk.jsx)(wHe,{nodes:a.tests,path:a.path,depth:1,comments:n})]},a.path))]})}function N0e(e){return e.added+e.removed+e.modified}function $pr(e){return e.reduce((t,r)=>t+(r.kind==="it"?1:$pr(r.children)),0)}function O0e(e){return $pr(e.flatMap(t=>t.tests))}var lA=E($(),1);function zpr(e,t){let r=`${e.repo}#${e.prNumber}`;return{"structure-sensible":(0,lA.jsx)(h0e,{label:`Changed files (${N0e(e.structure)})`,children:(0,lA.jsx)(Apr,{structure:e.structure,collapsedPaths:e.collapsedPaths,subject:r,comments:t})}),"critical-diffs-correct":(0,lA.jsx)(h0e,{label:`Critical diffs (${e.criticalDiffs.length})`,children:(0,lA.jsx)(fhr,{diffs:e.criticalDiffs,criticalPaths:e.criticalPaths,subject:r,comments:t})}),"tests-worth-having":(0,lA.jsx)(h0e,{label:`Changed tests (${O0e(e.tests)})`,children:(0,lA.jsx)(Fpr,{files:e.tests,testPaths:e.testPaths,subject:r,comments:t})})}}function Hpr(e){let t=[["structure-sensible",N0e(e.structure)],["critical-diffs-correct",e.criticalDiffs.length],["tests-worth-having",O0e(e.tests)]];return Object.fromEntries(t.filter(([,r])=>r>0).map(([r,n])=>[r,`(${n})`]))}function Upr(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 cA(e,t){return Array.isArray(e)?t?e.filter(t):e:[]}var oF={repo:"",prNumber:0,headSha:"",checks:[],structure:{tree:[],added:0,removed:0,modified:0,additions:0,deletions:0},criticalDiffs:[],criticalPaths:[],tests:[],testPaths:[],collapsedPaths:[]};function Wpr(e){let t;try{t=JSON.parse(e)}catch{return oF}return typeof t!="object"||t===null?oF:{repo:typeof t.repo=="string"?t.repo:oF.repo,prNumber:typeof t.prNumber=="number"?t.prNumber:oF.prNumber,headSha:typeof t.headSha=="string"?t.headSha:oF.headSha,checks:cA(t.checks,Upr),structure:{...oF.structure,...t.structure},criticalDiffs:cA(t.criticalDiffs),criticalPaths:cA(t.criticalPaths),tests:cA(t.tests),testPaths:cA(t.testPaths),collapsedPaths:cA(t.collapsedPaths),...t.saved?{saved:t.saved}:{},...t.draft?{draft:t.draft}:{}}}var B0e=E(fe(),1);function Gpr(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??""}]}))}function Vpr(e,t){return e.map(r=>{let n=t[r.id]?.comment.trim()??"";return{id:r.id,ticked:t[r.id]?.ticked===!0,...n?{comment:n}:{}}})}function qpr(e,t){let[r,n]=(0,B0e.useState)(()=>Gpr(e,t)),i=(s,l)=>n(u=>({...u,[s]:{...u[s],...l}})),o=(0,B0e.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}),outstanding:o,checklist:()=>Vpr(e,r)}}var jpr=E(fe(),1);function Ypr(e,t){let[r,n]=(0,jpr.useState)(null),i=dk(t?e:void 0),o=i.session;return{comments:{cwd:e?.cwd,onComment:o&&t?Ume(o,t,()=>n(o.name)):void 0,unavailable:i.unavailable},sentTo:r,clearSent:()=>n(null)}}var Kpr=E(fe(),1);function Xpr(e){let[t,r]=(0,Kpr.useState)(()=>e?.reviewComments??[]);return{queued:t,onQueue:n=>r(i=>[...i,n]),onRemove:n=>r(i=>i.filter((o,a)=>a!==n))}}function Zpr(e,t,r){let n=(0,kHe.useMemo)(()=>Wpr(e.body),[e.body]),i=n.draft??n.saved,o=qpr(n.checks,i),a=Xpr(i),{comments:s,sentTo:l,clearSent:u}=Ypr(t,r),f=zpr(n,{...s,onQueue:a.onQueue}),d=(0,kHe.useMemo)(()=>Hpr(n),[n]);return{payload:n,checklist:o,queue:a,details:f,counts:d,sentTo:l,clearSent:u}}var w0=E($(),1);function Qpr({preview:e,session:t,sendInput:r,onDecision:n}){let{payload:i,checklist:o,queue:a,details:s,counts:l,sentTo:u,clearSent:f}=Zpr(e,t,r);return(0,w0.jsxs)(J,{sx:Fk,children:[(0,w0.jsx)(Bk,{preview:e,draft:!1}),(0,w0.jsx)(d0e,{items:e.metadata??[]}),(0,w0.jsx)(qi,{}),(0,w0.jsx)(Rdr,{payload:i,checklist:o,details:s,counts:l}),(0,w0.jsx)(qi,{}),(0,w0.jsx)(Pdr,{queued:a.queued,onRemove:a.onRemove}),(0,w0.jsx)(Adr,{failed:i.checks.filter(d=>d.status==="fail").length,outstanding:o.outstanding,...Mdr(o.checklist,a.queued,n)}),(0,w0.jsx)(uk,{sessionName:u,onClose:f})]})}var amr=E(fe(),1);var uA=E($(),1);function Ajn(e){return e.topLeft===null?"Click the top-left box":e.bottomRight===null?"Now click the bottom-right box":"Both anchors picked"}function Jpr({selection:e,onConfirm:t,onReject:r}){let n=e.topLeft!==null&&e.bottomRight!==null;return(0,uA.jsxs)(Lt,{direction:"row",spacing:1,sx:{p:2,alignItems:"center",justifyContent:"flex-end"},children:[(0,uA.jsx)(Me,{variant:"body2",sx:{flex:1,color:"text.secondary"},children:Ajn(e)}),(0,uA.jsx)(Dt,{color:"error",variant:"outlined",onClick:r,children:"Cancel"}),(0,uA.jsx)(Dt,{variant:"outlined",onClick:e.reset,children:"Start over"}),(0,uA.jsx)(Dt,{color:"success",variant:"contained",disabled:!n,onClick:t,children:"Extract boxes"})]})}var Pjn={"top-left":ol.miro.topLeft,"bottom-right":ol.miro.bottomRight};function emr(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?Pjn[t]:ol.miro.box,opacity:t?.75:.35,strokeWidth:Math.max(1,r*.004)}}var nK=E($(),1);function tmr({box:e,role:t,onSelect:r}){let n=emr(e,t);return(0,nK.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,nK.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,nK.jsx)("text",{x:e.left+n.width/2,y:e.top+n.height/2,textAnchor:"middle",dominantBaseline:"central",fontSize:n.fontSize,fill:ol.miro.text,children:e.text})]})}function rmr(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 F0e=E($(),1);function nmr({boxes:e,selection:t}){return(0,F0e.jsx)(J,{sx:{flex:1,minHeight:0,overflow:"auto",p:2},children:(0,F0e.jsx)("svg",{role:"img","aria-label":"Miro board boxes",viewBox:rmr(e),preserveAspectRatio:"xMidYMid meet",style:{width:"100%",height:"100%"},children:e.map(r=>(0,F0e.jsx)(tmr,{box:r,role:t.roleOf(r.id),onSelect:t.choose},r.id))})})}function fA(e){return{comments:[],screenshots:[],reviewAfter:!1,announceAfter:!1,draft:!1,autoMerge:!1,...e?{selection:e}:{}}}function Ljn(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 imr(e){try{let t=JSON.parse(e);return Array.isArray(t?.boxes)?t.boxes.filter(Ljn):[]}catch{return[]}}var _He=E(fe(),1);function omr(){let[e,t]=(0,_He.useState)(null),[r,n]=(0,_He.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 Yk=E($(),1);function smr({preview:e,onDecision:t}){let r=(0,amr.useMemo)(()=>imr(e.body),[e.body]),n=omr();return(0,Yk.jsxs)(J,{sx:Fk,children:[(0,Yk.jsx)(Bk,{preview:e,draft:!1}),(0,Yk.jsx)(qi,{}),(0,Yk.jsx)(nmr,{boxes:r,selection:n}),(0,Yk.jsx)(qi,{}),(0,Yk.jsx)(Jpr,{selection:n,onConfirm:()=>{let{topLeft:o,bottomRight:a}=n;o===null||a===null||t("approve",fA({topLeft:o,bottomRight:a}))},onReject:()=>t("reject",fA())})]})}var Fmr=E(fe(),1);function lmr(e){let t=[];return e.map(r=>(t.length=r+1,t[r]=(t[r]??0)+1,t.map(n=>n??1).join(".")))}function $0e(e){return e*22}function cmr(e){return Math.round(e/22)}var umr={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}},fmr={p:.25,mt:"2px",color:"text.disabled",cursor:"grab",touchAction:"none","&:active":{cursor:"grabbing"}},dmr={fontFamily:"fontFamilyMono",fontSize:"0.8rem",color:"text.secondary",minWidth:32,pt:"5px",textAlign:"right",userSelect:"none",whiteSpace:"nowrap"},hmr={flex:1,fontSize:"inherit",lineHeight:1.5,px:.75,py:0,borderRadius:1,"&:hover":{bgcolor:"action.hover"},"&.Mui-focused":{bgcolor:"action.selected"}},EHe={p:.25,mt:"2px"},pmr={position:"absolute",right:8,height:2,borderRadius:1,bgcolor:"primary.main",pointerEvents:"none"};var gmr=E($(),1),Mjn=8;function mmr({drag:e}){return e?(0,gmr.jsx)(J,{sx:pmr,style:{top:e.top-1,left:Mjn+$0e(e.depth)}}):null}var ymr=E($(),1),vmr=ut((0,ymr.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 RHe=E($(),1);function bmr({number:e,onGrip:t}){return(0,RHe.jsx)(ar,{size:"small",className:"criterion-action",sx:fmr,"aria-label":`Reorder criterion ${e}`,onPointerDown:t,children:(0,RHe.jsx)(vmr,{fontSize:"inherit"})})}var $2=E($(),1);function xmr({number:e,onAdd:t,onDelete:r}){return(0,$2.jsxs)($2.Fragment,{children:[(0,$2.jsx)(ar,{size:"small",className:"criterion-action",sx:EHe,"aria-label":`Add criterion after ${e}`,onClick:t,children:(0,$2.jsx)(OS,{fontSize:"inherit"})}),(0,$2.jsx)(ar,{size:"small",className:"criterion-action",sx:EHe,"aria-label":`Delete criterion ${e}`,onClick:r,children:(0,$2.jsx)(Wo,{fontSize:"inherit"})})]})}var z0e=E(fe(),1);function Tmr(e,t){return e==="start"?0:e==="end"?t:Math.min(Math.max(e,0),t)}function Smr(e){let t=(0,z0e.useRef)(null);return(0,z0e.useEffect)(()=>{let r=t.current;if(!e||!r)return;r.focus();let n=Tmr(e.caret,r.value.length);r.setSelectionRange(n,n)},[e]),t}var dA=E($(),1);function Cmr({index:e,number:t,item:r,outline:n,dragging:i,onGrip:o}){let a=Smr(n.focus?.index===e?n.focus:null),s={marginLeft:$0e(r.depth),opacity:i?.4:1};return(0,dA.jsxs)(J,{sx:umr,"data-criterion-row":!0,style:s,children:[(0,dA.jsx)(bmr,{number:t,onGrip:o}),(0,dA.jsx)(J,{component:"span",sx:dmr,"aria-hidden":"true",children:`${t}.`}),(0,dA.jsx)(wu,{multiline:!0,value:r.text,sx:hmr,inputRef:a,inputProps:{"aria-label":`Criterion ${t}`},onChange:l=>n.onText(e,l.target.value),onKeyDown:l=>n.onKeyDown(e,l)}),(0,dA.jsx)(xmr,{number:t,onAdd:()=>n.onAdd(e),onDelete:()=>n.onDelete(e)})]})}var Pmr=E(fe(),1);function wmr(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 Kk(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 H0e(e,t,r,n){let i=e[t]?.depth??0,o=e.map((a,s)=>s===t?{...a,text:r}:a);return{items:Kk([...o.slice(0,t+1),{text:n,depth:i},...o.slice(t+1)]),index:t+1}}function mp(e,t){let r=t+1;for(;r<e.length&&e[r].depth>e[t].depth;)r+=1;return r}function U0e(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 kmr(e,t){let r=mp(e,t);return r<e.length&&e[r].depth===e[t].depth?r:-1}function _mr(e,t,r){let n=r<0?U0e(e,t):kmr(e,t);if(n<0)return null;let i=mp(e,t),o=e.slice(t,i),a=[...e.slice(0,t),...e.slice(i)],s=r<0?n:mp(e,n)-(i-t);return{items:[...a.slice(0,s),...o,...a.slice(s)],index:s}}function W0e(e,t){let r=mp(e,t),n=e.map((i,o)=>o>t&&o<r?{...i,depth:i.depth-1}:i).filter((i,o)=>o!==t);return{items:Kk(n),index:Math.max(0,t-1)}}function Emr(e,t,r){if(r<0&&e[t].depth===0||r>0&&U0e(e,t)<0)return null;let n=mp(e,t);return e.map((i,o)=>o>=t&&o<n?{...i,depth:i.depth+r}:i)}function G0e(e,t){return e?{kind:"edit",edit:e,caret:t}:null}function Ijn(e,t,{caret:r,text:n}){let i=n.slice(0,r);return G0e(H0e(e,t,i,n.slice(r)),"start")}function Djn(e,t,{shift:r,caret:n}){let i=Emr(e,t,r?-1:1);return G0e(i?{items:i,index:t}:null,n)}function Rmr(e,t,r){let{key:n,shift:i,alt:o,caret:a,text:s}=r;return n==="Enter"&&!i?Ijn(e,t,r):n==="Tab"?Djn(e,t,r):o&&(n==="ArrowUp"||n==="ArrowDown")?G0e(_mr(e,t,n==="ArrowUp"?-1:1),a):n==="Backspace"&&a===0&&s===""?G0e(W0e(e,t),"end"):null}function Amr(e,t,r){return Rmr(e,t,r)??wmr(e,t,r)}function Lmr(e,t){let[r,n]=(0,Pmr.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=Amr(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(H0e(e,a,e[a].text,""),"start"),onDelete:a=>i(W0e(e,a),"end")}}var Omr=E(fe(),1);function Njn(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=mp(t,r);return i>r&&i<o?r:i}function Ojn(e,t,r,n){let i=mp(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+cmr(n),s))}function Bjn(e,t){if(t<e.length)return e[t].top;let r=e[e.length-1];return r?r.top+r.height:0}function Mmr(e,t,r,n,i){let o=Njn(e,t,r,i);return{target:o,depth:Ojn(t,r,o,n),top:Bjn(e,o)}}function Fjn(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 Imr(e,t,r,n){return i=>{let{boxes:o,origin:a}=Fjn(t);return Mmr(o,e,r,i.clientX-n,i.clientY-a)}}function Dmr(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 Nmr(e,t,r,n){let i=mp(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:Kk([...s.slice(0,l),...a,...s.slice(l)]),index:l}}function Bmr(e,t,r){let[n,i]=(0,Omr.useState)(null);return{drag:n,onGrip:a=>s=>{let l=t.current;if(!l||s.pointerType==="mouse"&&s.button!==0)return;s.preventDefault(),Dmr(s.currentTarget,s.pointerId,Imr(e,l,a,s.clientX),f=>i({from:a,depth:f.depth,top:f.top}),f=>{i(null),r(Nmr(e,a,f.target,f.depth))})(s)}}}var iK=E($(),1),$jn={my:1,px:1,py:.5,border:1,borderColor:"divider",borderRadius:1,position:"relative",userSelect:"text",cursor:"auto"},zjn=[{text:"",depth:0}];function $mr({items:e,onChange:t}){let r=(0,Fmr.useRef)(null),n=e.length>0?e:zjn,i=Lmr(n,t),{drag:o,onGrip:a}=Bmr(n,r,i.onDrop),s=lmr(n.map(l=>l.depth));return(0,iK.jsxs)(J,{sx:$jn,ref:r,"data-preview-skip":!0,"aria-label":"Acceptance criteria",children:[n.map((l,u)=>(0,iK.jsx)(Cmr,{index:u,number:s[u],item:l,outline:i,dragging:o?.from===u,onGrip:a(u)},`criterion-${u}`)),(0,iK.jsx)(mmr,{drag:o})]})}var zmr=E($(),1),Hmr=ut((0,zmr.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 oK=E($(),1),Hjn={insert:"Add acceptance criteria",convert:"Convert to outline"};function Umr({kind:e,onClick:t}){return(0,oK.jsx)(J,{sx:{my:1},"data-preview-skip":!0,children:(0,oK.jsx)(Dt,{size:"small",variant:"outlined",startIcon:e==="insert"?(0,oK.jsx)(OS,{}):(0,oK.jsx)(Hmr,{}),onClick:t,children:Hjn[e]})})}var aK=E(fe(),1);function Ujn(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 Wjn(e,t,r){let n=kE(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)Ujn(a.node,a.start,a.end,r)}function Wmr(e){for(let t of e.querySelectorAll("mark.pr-comment"))if(t.parentNode){for(;t.firstChild;)t.before(t.firstChild);t.remove()}}function Gmr(e,t){for(let r of t){let n=Cdt(e,r);n&&Wjn(e,n,r.color)}}var sK=E($(),1);function Vmr({content:e,control:t,trailing:r,ranges:n,contentRef:i}){let o=(0,aK.useMemo)(()=>g2(e),[e]),a=(0,aK.useMemo)(()=>r?g2(r):"",[r]);return(0,aK.useLayoutEffect)(()=>{let s=i.current;s&&(Wmr(s),Gmr(s,n))},[o,a,n,i]),(0,sK.jsxs)(J,{ref:i,children:[(0,sK.jsx)(Fu,{className:"markdown",html:o}),t,t?(0,sK.jsx)(Fu,{className:"markdown",html:a}):null]})}var hA=e=>e.split(",").map(t=>`&& .markdown ${t.trim()}`).join(", ");function V0e(e){let{color:t,radius:r}=e.tokens;return{px:2.5,py:2,fontSize:14,lineHeight:1.6,[hA("")]:{lineHeight:1.6},[hA("h1, h2, h3, h4, h5, h6")]:{fontSize:15,fontWeight:600,lineHeight:1.4,mt:2,mb:1},[hA("ul, ol")]:{pl:2.5,mb:2},[hA("li")]:{mb:"6px"},[hA("code")]:{fontFamily:e.typography.fontFamilyMono,fontSize:"0.86em",px:"5px",py:0,bgcolor:t.raised,border:1,borderColor:t.lineSoft,borderRadius:"4px"},[hA("pre")]:{bgcolor:t.raised,border:1,borderColor:t.lineSoft,borderRadius:`${r.sm}px`},[hA("pre code")]:{border:0,px:0,bgcolor:"transparent"}}}var qmr=e=>({flex:1,overflow:"auto",position:"relative",userSelect:"none",cursor:"text",wordBreak:"break-word","& .markdown":{...Sie(e),maxWidth:"none"},"& a":{color:"primary.main"},"& mark.pr-comment":{color:"inherit",borderRadius:"2px"},...V0e(e)});var aF=E($(),1);function jmr({content:e,control:t,trailing:r,ranges:n,wrapperRef:i,contentRef:o,dragRects:a,dragColor:s,onMouseDown:l,footer:u}){return(0,aF.jsxs)(J,{ref:i,onMouseDown:l,sx:qmr,children:[(0,aF.jsx)(Vmr,{content:e,control:t,trailing:r,ranges:n,contentRef:o}),u&&(0,aF.jsx)(J,{sx:{userSelect:"text"},children:u}),(0,aF.jsx)(E7,{rects:a,color:s})]})}function Ymr(e){let t=new Map,r=[];for(let n of e){if(!n.group){r.push(n);continue}t.set(n.group,[...t.get(n.group)??[],n])}return{groups:[...t],ungrouped:r}}var q0e=E(fe(),1),Kmr=E($(),1);function AHe({label:e,value:t,onCommit:r,listId:n}){let[i,o]=(0,q0e.useState)(t);return(0,q0e.useEffect)(()=>o(t),[t]),(0,Kmr.jsx)(ei,{size:"small",variant:"standard",fullWidth:!0,label:e,value:i,onChange:s=>o(s.target.value),onBlur:()=>{let s=i.trim();o(t),s!==t&&r(s)},onKeyDown:s=>{s.key==="Enter"&&s.target.blur()},onMouseDown:s=>s.stopPropagation(),slotProps:{htmlInput:{list:n}}})}var lK=E($(),1),PHe="screenshot-groups";function Gjn(e){return(e.split(/[\\/]/).pop()??e).replace(/\.[^.]+$/,"")}function Xmr({screenshot:e,onUpdate:t}){return(0,lK.jsxs)(Lt,{direction:"row",spacing:1,sx:{mt:.5},children:[(0,lK.jsx)(AHe,{label:"Caption",value:e.alt,onCommit:r=>t(e.id,{alt:r||Gjn(e.path)})}),(0,lK.jsx)(AHe,{label:"Group",value:e.group??"",listId:PHe,onCommit:r=>t(e.id,{group:r})})]})}var Xk=E($(),1),Zmr={display:"block",maxWidth:"100%",borderRadius:1,border:1,borderColor:"divider"},Vjn={position:"absolute",top:4,right:4,bgcolor:"background.paper","&:hover":{bgcolor:"background.paper"}};function Qmr({screenshot:e,onRemove:t,onUpdate:r}){let n=e.contentType.startsWith("video/");return(0,Xk.jsxs)(J,{sx:{position:"relative"},children:[n?(0,Xk.jsx)(J,{component:"video",controls:!0,src:e.url,"aria-label":"screenshot",sx:Zmr}):(0,Xk.jsx)(J,{component:"img",src:e.url,alt:"screenshot",sx:Zmr}),(0,Xk.jsx)(ar,{size:"small","aria-label":"Remove screenshot",sx:Vjn,onMouseDown:i=>i.stopPropagation(),onClick:()=>t(e.id),children:(0,Xk.jsx)(Wo,{fontSize:"small"})}),(0,Xk.jsx)(Xmr,{screenshot:e,onUpdate:r})]})}var Qm=E($(),1);function qjn(){return(0,Qm.jsxs)(Lt,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[(0,Qm.jsx)(oo,{size:16}),(0,Qm.jsx)(Me,{variant:"caption",color:"text.secondary",children:"Attaching screenshot or video\u2026"})]})}function jjn({error:e}){return(0,Qm.jsx)(Me,{variant:"caption",color:"error",sx:{wordBreak:"break-word"},children:e})}function Jmr({uploads:e,empty:t}){return e.length>0?(0,Qm.jsx)(Qm.Fragment,{children:e.map(r=>r.error?(0,Qm.jsx)(jjn,{error:r.error},r.id):(0,Qm.jsx)(qjn,{},r.id))}):t?(0,Qm.jsx)(Me,{variant:"caption",color:"text.secondary",children:"Drop or paste an image or video to attach"}):null}var Jm=E($(),1),Yjn={display:"grid",gridTemplateColumns:"repeat(2, minmax(0, 1fr))",gap:1};function egr({screenshots:e,uploads:t,onRemove:r,onUpdate:n}){let{groups:i,ungrouped:o}=Ymr(e),a=s=>(0,Jm.jsx)(Qmr,{screenshot:s,onRemove:r,onUpdate:n},s.id);return(0,Jm.jsxs)(J,{sx:{mt:3},children:[e.length>0&&(0,Jm.jsx)(J,{component:"h2",children:"Screenshots"}),(0,Jm.jsx)("datalist",{id:PHe,children:i.map(([s])=>(0,Jm.jsx)("option",{value:s},s))}),i.map(([s,l])=>(0,Jm.jsxs)(J,{sx:{mb:2},children:[(0,Jm.jsx)(J,{component:"h3",children:s}),(0,Jm.jsx)(J,{sx:Yjn,children:l.map(a)})]},s)),(0,Jm.jsxs)(Lt,{spacing:1,children:[o.map(a),(0,Jm.jsx)(Jmr,{uploads:t,empty:e.length===0})]})]})}var cK=E($(),1);function Kjn(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,cK.jsx)($mr,{items:t.items,onChange:e.onCriteriaChange})}:{...r,control:(0,cK.jsx)(Umr,{kind:t.kind,onClick:t.kind==="insert"?e.onCriteriaInsert:e.onCriteriaConvert})}}function tgr({pane:e,screenshots:t}){return(0,cK.jsx)(jmr,{...Kjn(e),ranges:e.ranges,wrapperRef:e.wrapperRef,contentRef:e.contentRef,dragRects:e.dragRects,dragColor:e.dragColor,onMouseDown:e.onMouseDown,footer:t?(0,cK.jsx)(egr,{screenshots:e.screenshots,uploads:e.uploads,onRemove:e.removeScreenshot,onUpdate:e.updateScreenshot}):void 0})}var rgr=e=>({display:"grid",gap:1,maxHeight:220,overflow:"auto",px:2,py:1.25,borderTop:1,borderColor:e.tokens.color.lineSoft}),ngr={fontSize:11,fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:"text.secondary"},igr=e=>({display:"grid",gridTemplateColumns:"minmax(0, 1fr) auto",gap:"4px 8px",px:1.25,py:1,borderRadius:`${e.tokens.radius.sm}px`,bgcolor:e.tokens.color.raised,border:1,borderColor:e.tokens.color.lineSoft,fontSize:12.5}),ogr={gridColumn:2,gridRow:1,width:20,height:20,color:"text.disabled","& .MuiSvgIcon-root":{fontSize:14}};var z2=E($(),1);function agr({comments:e,colors:t,onRemove:r}){return(0,z2.jsxs)(J,{sx:rgr,children:[(0,z2.jsxs)(Me,{sx:ngr,children:["Comments (",e.length,")"]}),e.map((n,i)=>(0,z2.jsxs)(J,{sx:igr,children:[(0,z2.jsx)($ne,{text:n.quote,sx:{gridColumn:1,borderLeft:2,pl:1,borderColor:t[i]}}),(0,z2.jsx)(J,{sx:{gridColumn:1,wordBreak:"break-word"},children:n.note}),(0,z2.jsx)(ar,{"aria-label":"Remove comment",onClick:()=>r(n.id),sx:ogr,children:(0,z2.jsx)(Wo,{})})]},n.id))]})}var lgr=E($(),1);function sgr(e){return e.comments.length===0?null:(0,lgr.jsx)(agr,{...e})}var pA=E($(),1);function cgr({canStart:e,onApprove:t,onApproveAndStart:r}){let n=jst();return(0,pA.jsxs)(pA.Fragment,{children:[(0,pA.jsx)(Dt,{color:"primary",variant:e?"tonal":"contained",onClick:t,...e?{}:n,children:"Approve"}),e&&(0,pA.jsx)(Dt,{color:"primary",variant:"contained",onClick:r,...n,children:"Approve & start"})]})}var LHe=E($(),1),Xjn={"& .MuiFormControlLabel-label":{fontSize:12}};function uK({label:e,title:t,checked:r,onChange:n}){return(0,LHe.jsx)(E5,{control:(0,LHe.jsx)(Z0,{size:"small",checked:r,onChange:i=>n(i.target.checked)}),label:e,title:t,sx:Xjn})}var mA=E($(),1);function ugr({chain:e,newPr:t,onChange:r}){return(0,mA.jsxs)(Lt,{direction:"row",sx:{mr:"auto"},children:[t&&(0,mA.jsx)(uK,{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,mA.jsx)(uK,{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,mA.jsx)(uK,{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,mA.jsx)(uK,{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 gA=E($(),1);function fgr({commentCount:e,chain:t,newPr:r,canStart:n,onChainChange:i,onApprove:o,onApproveAndStart:a,onReject:s,onRequestChanges:l}){return(0,gA.jsxs)(Lt,{direction:"row",spacing:1,sx:{px:2,py:1.5,alignItems:"center",justifyContent:"flex-end"},children:[t&&(0,gA.jsx)(ugr,{chain:t,newPr:r,onChange:i}),(0,gA.jsx)(Dt,{color:"error",variant:"outlined",onClick:s,children:"Reject"}),e>0&&(0,gA.jsxs)(Dt,{color:"warning",variant:"tonal",onClick:l,children:["Request changes (",e,")"]}),(0,gA.jsx)(cgr,{canStart:n,onApprove:o,onApproveAndStart:a})]})}var H2=E($(),1);function dgr({comments:e,commentColors:t,pending:r,cwd:n,unavailable:i,onAdd:o,onQueue:a,onCite:s,onAddRule:l,onRemove:u,onCancel:f,onCollapse:d,onDecision:h,chain:p,editable:m,newPr:g,canStart:y,onChainChange:v}){let b=()=>e.map(x=>({quote:x.quote,note:x.note}));return(0,H2.jsxs)(H2.Fragment,{children:[(0,H2.jsx)(sgr,{comments:e,colors:t,onRemove:u}),(0,H2.jsx)(qi,{}),(0,H2.jsx)(fgr,{commentCount:e.length,chain:p,newPr:g,canStart:y,onChainChange:v,onApprove:()=>h("approve",b()),onApproveAndStart:()=>h("approve",b(),!0),onReject:()=>h("reject",[]),onRequestChanges:()=>h("reject",b())}),(0,H2.jsx)(qne,{pending:r,editable:m,cwd:n,unavailable:i,onAdd:o,onQueue:a,onCite:s,onAddRule:l,onCancel:f,onCollapse:d})]})}function hgr({preview:e,pane:t,cwd:r,isPr:n,editable:i,sender:o,onCite:a,onAddRule:s}){return{comments:t.comments,commentColors:t.commentColors,pending:t.pending,cwd:r,unavailable:o.unavailable,onAdd:o.onSend,onQueue:t.onAdd,onCite:a,onAddRule:s,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,canStart:e.kind==="backlog-item"&&e.canStart===!0,onChainChange:t.setChain}}function j0e(e){let t=e??"pr";return{isPr:t==="pr",screenshots:t==="pr"||t==="github-issue",editable:t==="github-issue-edit",closeOnly:t==="show"}}function pgr(e,t){return e?`${e}:${t??"pr"}`:void 0}function mgr(e,t,r,n){return{...j0e(e.kind),requestId:e.requestId,supersedes:e.supersedes,sessionId:t,cwd:r,onDecision:n,screenshotScope:pgr(t,e.kind),seededScreenshots:e.screenshots??[],resolvedDraft:e.draft===!0,initialBody:e.body}}function ggr(e,t,r,n){if(!(!e||!t))return i=>{r!==void 0&&th(t,e,$me({quote:r,note:i})),n()}}function ygr(e,t,r,n){if(!(!e||!t))return i=>{r!==void 0&&th(t,e,G1(r,Fne(i))),n()}}function vgr(e,t,r,n){return{onCite:ygr(e,t,r,n),onAddRule:ggr(e,t,r,n)}}var d0r=E(fe(),1);function bgr(e){return{criteria:e.criteria,onCriteriaChange:e.writeCriteria,onCriteriaInsert:e.insertCriteria,onCriteriaConvert:e.convertCriteria}}function xgr(e,t){let r=e.map((o,a)=>sB(a).solid),n=sB(e.length).fill,i=e.map((o,a)=>({start:o.start,end:o.end,color:sB(a).fill}));return t&&i.push({start:t.start,end:t.end,color:n}),{commentColors:r,dragColor:n,ranges:i}}var K0e=E(fe(),1);var MHe="assist:preview-screenshots:",IHe=e=>`${MHe}${e}`,Y0e=e=>`${MHe}seeded:${e}`;function Tgr(e){return e?(hk(MHe),Qu(IHe(e)).filter(t=>typeof t.path=="string")):[]}function yA(e,t){e&&Ju(IHe(e),t.map(({path:r,alt:n,group:i,contentType:o,seeded:a})=>({path:r,alt:n,group:i,contentType:o,seeded:a})))}function Sgr(e){e&&(FR(IHe(e)),FR(Y0e(e)))}var vA=E(fe(),1);var Cgr={"image/png":"png","image/jpeg":"jpg","image/gif":"gif","image/webp":"webp","image/svg+xml":"svg","video/mp4":"mp4","video/webm":"webm","video/quicktime":"mov"};function Zjn(e){let t=e.split(".").pop()?.toLowerCase();return Object.entries(Cgr).find(([,n])=>n===t)?.[0]??"application/octet-stream"}function wgr(e){return e.map(t=>({...t,contentType:Zjn(t.path),seeded:!0}))}function kgr(e,t,r){if(!e)return wgr(r);let n=Tgr(e);if(Qu(Y0e(e))[0]===t)return n;let i=[...wgr(r),...n.filter(o=>!o.seeded)];return yA(e,i),Ju(Y0e(e),[t]),i}function _gr(e,t){let r=new URLSearchParams({path:e});return t&&r.set("node",t),`/api/pr-preview/image?${r}`}function Egr(e,t,r){let[n,i]=(0,vA.useState)([]),o=(0,vA.useRef)(0),a=yr(),s=(0,vA.useRef)(r);return s.current=r,(0,vA.useEffect)(()=>{i(kgr(e,t,s.current).map(l=>({...l,url:_gr(l.path,a),id:o.current++})))},[e,t,a]),{screenshots:n,setScreenshots:i,nextId:o}}var Rgr=E(fe(),1);function Agr(e,t){return(0,Rgr.useCallback)((r,n)=>{t(i=>{let o=i.map(a=>a.id===r?{...a,...n}:a);return yA(e,o),o})},[e,t])}function Pgr(e,t,r){let{screenshots:n,setScreenshots:i,nextId:o}=Egr(e,t,r),a=(0,K0e.useCallback)(f=>{i(d=>{let h=[...d,{...f,id:o.current++}];return yA(e,h),h})},[e,i,o]),s=(0,K0e.useCallback)(f=>{i(d=>{let h=d.find(m=>m.id===f);h?.url.startsWith("blob:")&&URL.revokeObjectURL(h.url);let p=d.filter(m=>m.id!==f);return yA(e,p),p})},[e,i]),l=Agr(e,i),u=(0,K0e.useCallback)(()=>Sgr(e),[e]);return{screenshots:n,add:a,remove:s,update:l,clearPersisted:u}}var sF=E(fe(),1);async function Lgr(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 Ngr=E(fe(),1);function Mgr(e){return e.startsWith("image/")||e.startsWith("video/")}function Igr(e){if(!e)return null;for(let t of e.items)if(t.kind==="file"&&Mgr(t.type)){let r=t.getAsFile();if(r)return r}return null}function Dgr(e){return e?Array.from(e.files).find(t=>Mgr(t.type))??null:null}function Ogr(e,t){return(0,Ngr.useEffect)(()=>{if(!t)return;let i=o=>{let a=Igr(o.clipboardData);a&&(o.preventDefault(),e(a))};return globalThis.addEventListener("paste",i),()=>globalThis.removeEventListener("paste",i)},[e,t]),t?{onDrop:i=>{let o=Dgr(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 Bgr(e,t,r){let[n,i]=(0,sF.useState)([]),o=(0,sF.useRef)(0),a=yr(),s=(0,sF.useCallback)(async f=>{let d=o.current++;i(h=>[...h.filter(p=>!p.error),{id:d}]);try{let h=await Lgr(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}=Ogr(s,r);return{uploads:n,onDrop:l,onDragOver:u}}function Fgr({cwd:e,screenshots:t,screenshotScope:r,requestId:n,seededScreenshots:i}){let{screenshots:o,add:a,remove:s,update:l,clearPersisted:u}=Pgr(t?r:void 0,n,t?i:[]),{uploads:f,onDrop:d,onDragOver:h}=Bgr(e,a,t);return{screenshots:o,removeScreenshot:s,updateScreenshot:l,decision:{attachments:()=>o.map(({path:p,alt:m,group:g})=>g?{path:p,alt:m,group:g}:{path:p,alt:m}),clearPersisted:u},uploads:f,onDrop:d,onDragOver:h}}var U2=E(fe(),1);var $gr="assist:pr-preview-comments:",DHe=e=>`${$gr}${e}`;function NHe(e){return Qu(DHe(e))}function fK(e,t){Ju(DHe(e),t)}function X0e(e){FR(DHe(e))}function zgr(){hk($gr)}function Hgr(e){let t=kE(e),r="";for(let n=t.nextNode();n;n=t.nextNode())r+=n.textContent??"";return r}function Qjn(e,t,r){let n=-1;for(let i=e.indexOf(t);i!==-1;i=e.indexOf(t,i+1))(n===-1||Math.abs(i-r)<Math.abs(n-r))&&(n=i);return n}function Ugr(e,t){return e.flatMap(r=>{let n=Qjn(t,r.quote,r.start);return n===-1?[]:[{...r,start:n,end:n+r.quote.length}]})}function Wgr(e,t,r){let n=NHe(e);if(n.length>0||!t||!r)return n;let i=Ugr(NHe(t),Hgr(r));return fK(e,i),X0e(t),i}function Ggr(e,t,r){let[n,i]=(0,U2.useState)([]),o=(0,U2.useRef)(0);(0,U2.useEffect)(()=>{zgr(),i(Wgr(e,t,r.current).map(l=>({...l,id:o.current++})))},[e,t,r]);let a=(0,U2.useCallback)(l=>{i(u=>{let f=[...u,{...l,id:o.current++}];return fK(e,f),f})},[e]),s=(0,U2.useCallback)(l=>{i(u=>{let f=u.filter(d=>d.id!==l);return fK(e,f),f})},[e]);return{comments:n,add:a,remove:s}}var Qgr=E(fe(),1);var Vgr="assist:pr-preview-chain:",OHe=e=>`${Vgr}${e}`;function qgr(e){if(e)return Qu(OHe(e))[0]}function jgr(e,t){e&&Ju(OHe(e),[t])}function Ygr(e){e&&FR(OHe(e))}function Kgr(){hk(Vgr)}function Xgr(e,t,r){if(!e)return{reviewAfter:!1,announceAfter:!1,draft:!1,autoMerge:!1};Kgr();let n=qgr(t);return{reviewAfter:n?.reviewAfter??!0,announceAfter:n?.announceAfter??!0,draft:n?.draft??r,autoMerge:n?.autoMerge??!1}}function Zgr(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 Jgr(e,t,r,n,i,o,a){let[s,l]=(0,Qgr.useState)(()=>Xgr(n,t,i));return{chain:s,setChain:d=>{l(d),jgr(t,d)},onDecide:(d,h,p=!1)=>{let m=d==="approve";r(d,{...Zgr(m,h,s,m?o.attachments():[],a()),...m&&p?{autostart:!0}:{}}),X0e(e),m&&(Ygr(t),o.clearPersisted())}}}var c0r=E(fe(),1);var Jjn=/^ {0,3}#{1,6}[ \t]+acceptance criteria[ \t]*$/i,eYn=/^ {0,3}#{1,6}[ \t]/;function Zk(e){let t=e.split(`
|
|
3883
3883
|
`),r=t.findIndex(a=>Jjn.test(a));if(r===-1)return null;let n=r+1;for(;n<t.length&&!eYn.test(t[n]);)n+=1;let i=r+1;for(;i<n&&t[i].trim()==="";)i+=1;let o=n;for(;o>i&&t[o-1].trim()==="";)o-=1;return i===n&&(i=r+1,o=r+1),{before:t.slice(0,i),lines:t.slice(i,o),after:t.slice(o)}}function Z0e(e){let t=0;for(let r of e)t+=r===" "?4:1;return t}function Q0e(e){let t=[];return e.map(r=>{for(;t.length>0&&r<t[t.length-1];)t.pop();return(t.length===0||r>t[t.length-1])&&t.push(r),t.length-1})}var tYn=" ";function rYn({text:e,depth:t}){let r=`${tYn.repeat(t)}1.`;return e===""?r:`${r} ${e}`}function J0e(e,t){let r=Zk(e);return r?[...r.before,...t.map(rYn),...r.after].join(`
|
|
3884
3884
|
`):e}var nYn=/^([ \t]*)(?:[-*+]|\d+[.)])(?:[ \t]+(.*))?$/,iYn=/^\[[ xX]\][ \t]*/;function oYn(e){return e.slice(0,e.length-e.trimStart().length)}function e0r(e){let t=Zk(e);if(!t)return e;let r=t.lines.filter(i=>i.trim()!=="").map(i=>{let o=nYn.exec(i);return{width:Z0e(o?o[1]:oYn(i)),text:(o?o[2]??"":i.trim()).replace(iYn,"")}}),n=Q0e(r.map(i=>i.width));return J0e(e,Kk(r.map((i,o)=>({text:i.text,depth:n[o]}))))}var t0r=`## Acceptance criteria
|
|
3885
3885
|
|
|
@@ -4019,7 +4019,7 @@ ${f.join(`
|
|
|
4019
4019
|
`,uni=po`
|
|
4020
4020
|
0%, 100% { transform: scale(1); }
|
|
4021
4021
|
50% { transform: scale(1.08); }
|
|
4022
|
-
`,ewr={content:'""',position:"absolute",borderRadius:"inherit",background:"conic-gradient(from calc(var(--rainbow-pill-h) * 1deg) in oklch longer hue, oklch(66% 0.21 0), oklch(66% 0.21 0))",animation:`${cni} 1.8s linear infinite`},fni={display:"inline-flex",alignItems:"center",px:1.5,py:"3px",borderRadius:999,position:"relative",isolation:"isolate",fontWeight:700,animation:`${uni} 1.6s ease-in-out infinite`,"&::before":{...ewr,inset:0,zIndex:-1},"&::after":{...ewr,inset:"-5px",zIndex:-2,filter:"blur(9px)",opacity:.85},"& span":{color:ol.rainbowPill.text,textShadow:ol.rainbowPill.shadow},"@media (prefers-reduced-motion: reduce)":{animation:"none","&::before, &::after":{animation:"none"}}};function twr({children:e}){return(0,qA.jsxs)(qA.Fragment,{children:[(0,qA.jsx)(i5,{styles:lni}),(0,qA.jsx)(J,{component:"span","data-testid":"rainbow-pill",sx:fni,children:e})]})}function rwr({pct:e,timeLabel:t}){return[Math.round(e),...(t.match(/\d+/g)??[]).map(Number)].join(",")}function nwr(e){if(e.length!==2)return!1;let[t,r]=e;return rwr(t)===rwr(r)}var pT=E($(),1);function owr({rateLimits:e}){let t=GF(3e4),r=[{window:e.five_hour,windowSeconds:18e3,fallbackLabel:"5h"},{window:e.seven_day,windowSeconds:604800,fallbackLabel:"7d"}].filter(o=>o.window?.used_percentage!=null),n=nwr(r.map(o=>({pct:o.window?.used_percentage??0,timeLabel:ove(o.window?.resets_at,o.fallbackLabel,t)}))),i=r.map((o,a)=>(0,pT.jsxs)(iwr.Fragment,{children:[a>0?(0,pT.jsx)(J,{component:"span",sx:{color:u$,mr:.5},children:","}):null,(0,pT.jsx)(JCr,{window:o.window,windowSeconds:o.windowSeconds,fallbackLabel:o.fallbackLabel,now:t})]},o.fallbackLabel));return n?(0,pT.jsx)(twr,{children:i}):(0,pT.jsx)(pT.Fragment,{children:i})}var A_=E($(),1);function swr({groups:e}){return(0,A_.jsx)(A_.Fragment,{children:e.map((t,r)=>(0,A_.jsxs)(awr.Fragment,{children:[(0,A_.jsx)(J,{component:"span",sx:{color:u$,ml:r>0?1:0,mr:.5},children:Iu(t.harness)}),(0,A_.jsx)(owr,{rateLimits:t.rateLimits})]},t.harness))})}var lwr={root:{fontFamily:"fontFamilyMono",fontSize:12,display:"grid",gap:1},group:{display:"grid",gap:"2px"},heading:{color:e=>e.tokens.color.onAppBar.secondary},foot:{pt:.75,opacity:.6,borderTop:"1px solid color-mix(in srgb, currentColor 18%, transparent)"}};function dni(e){if(e==="over")return{level:"warn",boundary:100};if(e==="warn")return{level:"ok",boundary:75}}function hni(e){if(e==="ok")return{level:"warn",boundary:75};if(e==="warn")return{level:"over",boundary:100}}function pni(e,t,r,n){if(e>=t)return;let i=e/t;return Math.round(r-n*(1-i))}function fwr(e,t,r,n){if(t==null)return{kind:"unprojectable"};let i=HWe(t,r,n);if(i==null)return{kind:"unprojectable"};let o=h_(e,t,r,n),a=dni(o),s=hni(o);return{kind:"projected",recovery:a&&{level:a.level,pct:a.boundary*i,at:pni(e,a.boundary,t,r)},worse:s&&{level:s.level,pct:s.boundary*i}}}function sve(e){return t=>t.tokens.color.onAppBar.level[e]}function dwr(e,t){return e.at==null?"not before reset":`${e.level==="ok"?"green":"under"} in ${T1e(e.at,t)}`}var P_=E($(),1),hwr={display:"contents"};function cGe({direction:e,threshold:t}){let r=e==="back";if(!t)return(0,P_.jsxs)(J,{component:"span",sx:hwr,children:[(0,P_.jsx)("span",{}),(0,P_.jsx)("span",{})]});let n=(0,P_.jsx)(J,{component:"span",sx:{opacity:.6},children:r?"\u2190":"\u2192"}),i=(0,P_.jsxs)(J,{component:"span",sx:{color:sve(t.level),textAlign:"right"},children:[Math.round(t.pct),"%"]});return(0,P_.jsxs)(J,{component:"span",sx:hwr,children:[r?i:n,r?n:i]})}var pwr={row:{display:"grid",gridTemplateColumns:"2.5ch 4ch 1ch 4ch 1ch 4ch auto",alignItems:"baseline",gap:.75,fontVariantNumeric:"tabular-nums"},pctWeight:500,note:{pl:.75,color:e=>e.tokens.color.onAppBar.secondary}};var L_=E($(),1);function mwr({label:e,pct:t,resetsAt:r,windowSeconds:n,now:i}){let o=pwr,a=h_(t,r,n,i),s=fwr(t,r,n,i),l=s.kind==="projected"?s:void 0;return(0,L_.jsxs)(J,{sx:o.row,children:[(0,L_.jsx)(J,{component:"span",sx:{minWidth:"2ch"},children:e}),(0,L_.jsx)(cGe,{direction:"back",threshold:l?.recovery}),(0,L_.jsxs)(J,{component:"span",sx:{minWidth:"4ch",textAlign:"right",fontWeight:o.pctWeight,color:sve(a)},children:[Math.round(t),"%"]}),(0,L_.jsx)(cGe,{direction:"forward",threshold:l?.worse}),(0,L_.jsx)(J,{component:"span",sx:o.note,children:l?l.recovery&&dwr(l.recovery,i):"no projection yet"})]})}function gwr(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 vwr=E($(),1);function ywr({rateLimits:e,now:t}){return gwr(e).map(r=>(0,vwr.jsx)(mwr,{label:r.label,pct:r.pct,resetsAt:r.resetsAt,windowSeconds:r.windowSeconds,now:t},r.label))}var jA=E($(),1);function bwr({groups:e}){let t=GF(3e4),r=lwr;return(0,jA.jsxs)(J,{sx:r.root,children:[e.map(n=>(0,jA.jsxs)(J,{sx:r.group,children:[(0,jA.jsx)(J,{sx:r.heading,children:Iu(n.harness)}),(0,jA.jsx)(ywr,{rateLimits:n.rateLimits,now:t})]},n.harness)),(0,jA.jsx)(J,{sx:r.foot,children:"Account usage per harness \u2014 view history"})]})}var uGe=E($(),1),mni="Claude account usage (5h / 7d windows) \u2014 view history";function xwr(e){return e.length===0?{title:mni,content:"Usage"}:{title:(0,uGe.jsx)(bwr,{groups:e}),content:(0,uGe.jsx)(swr,{groups:e})}}var Twr={display:"flex",alignItems:"center",height:22,px:1,borderRadius:1,fontSize:"inherit","&:hover, &:focus-visible":{bgcolor:e=>e.tokens.color.statusBar.hover,color:e=>e.tokens.color.statusBar.hoverText}},Swr={tooltip:{sx:{p:"10px 12px",minWidth:300,maxWidth:"none"}}};var fGe=E($(),1),gni={};function Cwr({rateLimits:e,harnessRateLimits:t=gni}){let{title:r,content:n}=xwr(ZCr(e,t));return(0,fGe.jsx)(lr,{title:r,placement:"top-start",slotProps:Swr,children:(0,fGe.jsx)(rn,{component:ws,to:"/usage",underline:"none",color:"inherit",sx:Twr,children:n})})}var _wr=E(fe(),1);var M_="0.946.0";var lve=E(fe(),1),dGe=(0,lve.createContext)(null);function cve(){return(0,lve.useContext)(dGe)}var hGe=E($(),1);function wwr(){let e=cve();return!e||e===M_?null:(0,hGe.jsx)(lr,{title:`Daemon is running v${e}, but this page was served by v${M_}. Restart the daemon to match.`,children:(0,hGe.jsx)(Z1e,{fontSize:"small",color:"warning","aria-label":"Version mismatch"})})}var kwr=e=>({display:"inline-flex",alignItems:"center",gap:.75,px:1,py:0,height:22,borderRadius:1,fontSize:"inherit",lineHeight:1.5,color:"inherit",opacity:1,bgcolor:t=>e?kv(t).active:"transparent",transition:"opacity .2s ease, background-color .2s ease, color .2s ease","&:hover, &:focus-visible":{bgcolor:t=>kv(t).hover,color:t=>kv(t).hoverText},"& .ready-dot":{width:6,height:6,borderRadius:"50%",bgcolor:t=>kv(t).dot,boxShadow:t=>`0 0 0 3px ${kv(t).dotRing}`},"& .ready-count":{fontWeight:500,color:t=>kv(t).readyText}});var lg=E($(),1);function Ewr(){let{entries:e}=RF(),t=Ni(),r=(0,_wr.useCallback)(()=>t("/updates"),[t]),{matches:n,chords:i}=jn("openUpdates");if(Eo(n,r),!M_)return null;let o=e.filter(NF).length;return(0,lg.jsxs)(lg.Fragment,{children:[(0,lg.jsx)(lr,{describeChild:!0,placement:"top-end",title:(0,lg.jsx)(Nu,{label:"Updates",chords:i}),children:(0,lg.jsxs)(ln,{component:ws,to:"/updates","aria-label":o?`Updates: ${o} node${o>1?"s have":" has"} an update ready`:"Updates",sx:kwr(o>0),children:[o>0&&(0,lg.jsx)("span",{className:"ready-dot","aria-hidden":!0}),(0,lg.jsxs)("span",{children:["v",M_]}),o>0&&(0,lg.jsxs)("span",{className:"ready-count",children:[o," ready"]})]})}),(0,lg.jsx)(wwr,{})]})}var uve=E($(),1);function Rwr({socket:e}){return(0,uve.jsx)(KCr,{start:(0,uve.jsx)(Cwr,{rateLimits:e.rateLimits,harnessRateLimits:e.harnessRateLimits}),end:(0,uve.jsx)(Ewr,{})})}var mve=E(fe(),1);var pve=E(fe(),1);function Awr(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 I_=E($(),1),yni={display:"flex",gap:1,alignItems:"center",minWidth:0},vni={display:"flex",gap:1,alignItems:"baseline",minWidth:0,overflow:"hidden"},bni={fontFamily:"fontFamilyMono",fontSize:13,whiteSpace:"nowrap"},xni={fontFamily:"fontFamilyMono",fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};function Tni(e){let t=e.lastIndexOf("/");return t===-1?{dir:"",basename:e}:{dir:e.slice(0,t),basename:e.slice(t+1)}}function Pwr({files:e,highlight:t,onHighlight:r,onSelect:n}){return(0,I_.jsx)(zp,{dense:!0,sx:{py:0},children:e.map((i,o)=>{let{dir:a,basename:s}=Tni(i);return(0,I_.jsxs)(dn,{selected:o===t,onMouseEnter:()=>r(o),onClick:()=>n(i),sx:yni,children:[(0,I_.jsx)(ige,{path:i}),(0,I_.jsxs)(J,{sx:vni,children:[(0,I_.jsx)(Me,{component:"span",sx:bni,children:s}),(0,I_.jsx)(Me,{component:"span",color:"text.secondary",sx:xni,children:a})]})]},i)})})}var fve=E($(),1),Sni={maxHeight:420,overflowY:"auto"},Cni={px:2,py:2,fontSize:13};function Lwr({message:e,files:t,highlight:r,onHighlight:n,onSelect:i}){return(0,fve.jsx)(J,{sx:Sni,children:e?(0,fve.jsx)(Me,{color:"text.secondary",sx:Cni,children:e}):(0,fve.jsx)(Pwr,{files:t,highlight:r,onHighlight:n,onSelect:i})})}var Mwr=E($(),1),wni={mt:6,alignSelf:"flex-start"};function dve({onClose:e,onEntered:t,centered:r=!1,children:n}){return(0,Mwr.jsx)(Gl,{open:!0,onClose:e,maxWidth:"sm",fullWidth:!0,slotProps:{paper:{sx:r?void 0:wni},transition:{onEntered:t}},children:n})}var hve=E(fe(),1);var Iwr={files:[],loading:!1,error:!1};function Dwr(e,t){let[r,n]=(0,hve.useState)(Iwr),i=yr();return(0,hve.useEffect)(()=>{if(!e){n(Iwr);return}let o=!1;return n(s=>({...s,loading:!0})),(async()=>{try{let s=await fetch(jr(`/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 YA=E($(),1);function kni(e,t,r){let n=new URLSearchParams({path:e});return t&&n.set("cwd",t),t&&r&&n.set("node",r),`/file?${n}`}function Nwr({onClose:e}){let{worktreeNode:t}=Fn();return(0,YA.jsx)(gf.Provider,{value:t,children:(0,YA.jsx)(_ni,{onClose:e})})}function _ni({onClose:e}){let{worktreeCwd:t,worktreeNode:r}=Fn(),[n,i]=(0,pve.useState)(""),o=Dwr(t,n),a=Ni(),s=(0,pve.useRef)(null),l=p=>a(kni(p,t,r)),{highlight:u,setHighlight:f,onKeyDown:d}=x_(o.files,n,l,e),h=p=>{l(p),e()};return(0,YA.jsxs)(dve,{onClose:e,onEntered:()=>s.current?.focus(),children:[(0,YA.jsx)(SS,{autoFocus:!0,inputRef:s,value:n,onChange:i,onKeyDown:d,placeholder:"Search files by name..."}),(0,YA.jsx)(Lwr,{message:Awr(t,n,o),files:o.files,highlight:u,onHighlight:f,onSelect:h})]})}function Owr(e){Eo(jn("quickOpen").matches,e)}var Fwr=E($(),1);function Bwr(){let[e,t]=(0,mve.useState)(!1);return Owr((0,mve.useCallback)(()=>t(!0),[])),e?(0,Fwr.jsx)(Nwr,{onClose:()=>t(!1)}):null}var gve=E($(),1);function $wr({notice:e,onClose:t,onView:r}){let n=e?.sessionId??null;return(0,gve.jsx)(Dh,{open:e!==null,autoHideDuration:6e3,onClose:t,children:(0,gve.jsx)(yi,{severity:"success",variant:"filled",onClose:t,action:n!==null?(0,gve.jsx)(Dt,{color:"inherit",size:"small",onClick:()=>r(n),children:"View"}):void 0,children:e?.message})})}var PX=E(fe(),1);function zwr(e){let t=["claude"];return e.exposeCodexActions&&t.push("codex"),e.exposePiActions&&t.push("pi"),t}var Jwr=E(fe(),1);var Hwr=E($(),1),Uwr=ut((0,Hwr.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 Eni={connected:"success.main",connecting:"warning.main",disconnected:"error.main","version-blocked":"error.main"};function Wwr(e){return e?Eni[e]:"success.main"}function Gwr(e){return e.split("-")[0].split(".").map(Number)}function Vwr(e,t){if(!e||!t||e===t)return;let r=Gwr(e),n=Gwr(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 KA=E($(),1),Rni={height:16,fontSize:10},Ani={opacity:.6,fontSize:"0.85em"};function Pni(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 RX({nodes:e,name:t,showVersion:r=!1}){let n=cve()??M_,i=e.links.find(a=>a.name===t),o=Vwr(i?.peerVersion,n);return(0,KA.jsx)(lr,{title:Pni(e,t),placement:"right",children:(0,KA.jsxs)(J,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:.75},children:[(0,KA.jsx)(Uwr,{sx:{fontSize:8,color:Wwr(i?.state)}}),t,r&&i?.peerVersion&&(0,KA.jsxs)(J,{component:"span",sx:Ani,children:["v",i.peerVersion]}),o&&(0,KA.jsx)(qn,{label:o,size:"small",color:o==="behind"?"warning":"info",sx:Rni})]})})}var XA=E($(),1),Lni={opacity:.6},Mni={display:"inline-flex",alignItems:"center",gap:.5,px:.5,border:1,borderStyle:"dashed",borderRadius:1};function qwr({nodes:e,name:t,clone:r}){let n=(0,XA.jsx)(RX,{nodes:e,name:t});return r.kind==="cloned"?n:r.kind==="unavailable"?(0,XA.jsx)(J,{component:"span",sx:Lni,children:n}):(0,XA.jsx)(lr,{title:KF(t,r.cloneTarget),children:(0,XA.jsxs)(J,{component:"span",sx:Mni,children:[(0,XA.jsx)(YF,{sx:{fontSize:14}}),n]})})}var Ywr=E($(),1),Ini={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 jwr({value:e,label:t,checked:r,autoFocus:n,onSelect:i}){return(0,Ywr.jsx)(ln,{role:"radio","aria-checked":r,"data-value":e,tabIndex:r?0:-1,autoFocus:n&&r,onClick:i,sx:Ini,children:t})}var Kwr={ArrowRight:1,ArrowLeft:-1};function Dni(e,t,r){if(e.key==="Tab"){let n=t+(e.shiftKey?-1:1);return n>=0&&n<r?n:void 0}return(t+Kwr[e.key]+r)%r}function Xwr(e,t,r,n){return i=>{if(i.key==="ArrowUp"||i.key==="ArrowDown"){if(!n)return;i.preventDefault(),n();return}if(i.key!=="Tab"&&!Kwr[i.key]){P2(i);return}let o=Dni(i,e.indexOf(t),e.length);o!==void 0&&(i.preventDefault(),r(e[o]),i.currentTarget.querySelector(`[data-value="${e[o]}"]`)?.focus())}}var Zwr=E(fe(),1);function f$(e){return e?.querySelector('[aria-checked="true"]')}function Qwr(e,t){(0,Zwr.useEffect)(()=>{let r=e.current;if(!r?.contains(document.activeElement))return;let n=f$(r);n&&n!==document.activeElement&&n.focus()},[e,t])}var pGe=E($(),1),Nni={border:1,borderColor:"divider",borderRadius:1,height:40,p:"2px",flexShrink:0};function yve({label:e,options:t,value:r,onChange:n,optionLabel:i=u=>u,groupRef:o,autoFocus:a,onTrack:s,onToggleRow:l}){return Qwr(o,r),(0,pGe.jsx)(Lt,{ref:o,direction:"row",role:"radiogroup","aria-label":e,spacing:"2px",onFocus:s,onKeyDown:Xwr(t,r,n,l),sx:Nni,children:t.map(u=>(0,pGe.jsx)(jwr,{value:u,label:i(u),checked:u===r,autoFocus:a,onSelect:()=>n(u)},u))})}var mGe=E($(),1);function ekr({value:e,onChange:t,cloneState:r}){let{nodes:n,names:i,visible:o}=Ec(),a=(0,Jwr.useRef)(null);return!o||!n||!e?null:(0,mGe.jsx)(yve,{label:"Machine",options:i,value:e,onChange:t,optionLabel:s=>(0,mGe.jsx)(qwr,{nodes:n,name:s,clone:r(s)}),groupRef:a,autoFocus:!1,onTrack:()=>{}})}var vve=E($(),1);function tkr({prompt:e,children:t}){return(0,vve.jsxs)(Lt,{children:[e,(0,vve.jsx)(Lt,{spacing:1,sx:{px:1.5,pb:1.5},children:t})]})}var nkr=E($(),1),Oni=".MuiOutlinedInput-notchedOutline",Bni={"& .MuiOutlinedInput-root":{px:"18px",py:2,minHeight:92,alignItems:"flex-start",bgcolor:"transparent",borderRadius:0,fontSize:15},[`&&& ${Oni}`]:{border:0},"& textarea::placeholder":{color:"text.disabled",opacity:1}};function rkr({value:e,onChange:t,placeholder:r,inputRef:n,autoFocus:i,onTrack:o}){return(0,nkr.jsx)(ei,{sx:Bni,value:e,onChange:a=>t(a.target.value),onKeyDown:P2,onFocus:o,onSelect:o,inputRef:n,placeholder:r,autoFocus:i,fullWidth:!0,multiline:!0,minRows:3,maxRows:12,slotProps:{htmlInput:{"aria-label":"Prompt"}}})}var skr=E(fe(),1);var mT={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:Jge,submitLabel:"Start session"},design:{placeholder:"Describe the design task...",submitLabel:"Start design"}},ikr=Object.keys(mT);var gGe=E($(),1);function okr({anchor:e,harness:t,harnesses:r,onPick:n,onClose:i}){return(0,gGe.jsx)(Os,{open:e!==null,anchorEl:e,onClose:i,slotProps:{list:{dense:!0,"aria-label":"Harness"}},children:r.map(o=>(0,gGe.jsx)(dn,{role:"menuitemradio","aria-checked":o===t,selected:o===t,onClick:()=>{n(o),i()},sx:{fontSize:13},children:Iu(o)},o))})}var ZA=E($(),1);function akr(e){return t=>t==="prompt"&&e?(0,ZA.jsxs)(ZA.Fragment,{children:["prompt",(0,ZA.jsx)(J,{component:"span",sx:{fontWeight:400,whiteSpace:"pre"},children:` \xB7 ${Iu(e)}`}),(0,ZA.jsx)(bd,{sx:{fontSize:18,mr:-.75}})]}):t}var QA=E($(),1);function lkr({draft:e,harness:t,harnesses:r,focus:n}){let[i,o]=(0,skr.useState)(null),a=e.mode==="prompt"&&r.length>1,s=()=>o(f$(n.modeRef.current)??null),l=u=>{a&&u==="prompt"?s():e.setMode(u)};return(0,QA.jsxs)(QA.Fragment,{children:[(0,QA.jsx)(yve,{label:"Mode",options:ikr,value:e.mode,onChange:l,optionLabel:akr(r.length>1?t:void 0),groupRef:n.modeRef,autoFocus:n.autoFocus==="mode",onTrack:n.trackMode,onToggleRow:a?s:void 0}),(0,QA.jsx)(okr,{anchor:i,harness:t,harnesses:r,onPick:e.setHarness,onClose:()=>o(null)})]})}var Tkr=E(fe(),1);var yGe=E($(),1),Fni={zIndex:e=>e.zIndex.modal+1};function ckr({open:e,anchor:t,children:r}){return(0,yGe.jsx)(iP,{open:e,anchorEl:t,placement:"bottom-start",sx:Fni,children:(0,yGe.jsx)(tn,{sx:{maxHeight:240,overflowY:"auto",width:t?.clientWidth},onMouseDown:n=>n.preventDefault(),children:r})})}var ukr=E($(),1),fkr=ut((0,ukr.jsx)("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z"}),"KeyboardArrowDown");var vGe=E($(),1),$ni={fontSize:13,height:36,pr:1,cursor:"pointer","& input":{cursor:"text"}},zni={fontSize:16,color:"text.disabled"};function dkr(e){return{htmlInput:{role:"combobox","aria-label":"Repo","aria-expanded":e},input:{sx:$ni,endAdornment:(0,vGe.jsx)(s2e,{position:"end",children:(0,vGe.jsx)(fkr,{sx:zni})})}}}var hkr=E(W6(),1);function pkr({open:e,highlighted:t,accept:r,close:n,navigate:i,openList:o}){return a=>{if(!e){if(a.key==="ArrowDown"){a.preventDefault(),o();return}P2(a);return}if(a.key!=="Escape"){if(a.key==="Enter"){if(a.preventDefault(),t===void 0)return;(0,hkr.flushSync)(()=>{r(t),n()}),P2(a);return}if(a.key!=="Tab"){i(a);return}t!==void 0&&r(t),n()}}}function mkr(e,t){let r=t.trim().toLowerCase();return r?e.filter(n=>gv(n).toLowerCase().includes(r)):e}var bGe=E(fe(),1);function gkr(){let[e,t]=(0,bGe.useState)(!1),[r,n]=(0,bGe.useState)("");return{open:e,query:r,show:()=>t(!0),filterBy:i=>{n(i),t(!0)},close:()=>{t(!1),n("")}}}var vkr=E(fe(),1);var ykr=e=>e?gv(e):"";function bkr(e){let[t,r]=(0,vkr.useState)(()=>ykr(e));return{text:t,setText:r,showRepo:n=>r(ykr(n))}}function xkr(e,t,r){let n=gkr(),i=bkr(t),o=mkr(e,n.query),a=f=>{r(f),i.showRepo(f)},s=x_(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:pkr({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 d$=E($(),1);function Skr({repos:e,value:t,onChange:r,inputRef:n,autoFocus:i,onTrack:o}){let a=xkr(e,t,r),s=(0,Tkr.useRef)(null);return(0,d$.jsxs)(J,{ref:s,sx:{flex:1,minWidth:0},children:[(0,d$.jsx)(ei,{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:dkr(a.open)}),(0,d$.jsx)(ckr,{open:a.open,anchor:s.current,children:(0,d$.jsx)(q1e,{repos:a.filtered,selected:t,highlight:a.highlight,onHighlight:a.setHighlight,onSelect:a.pick})})]})}var D_=E($(),1);function Ckr({cloneState:e,...t}){let{draft:r,focus:n}=t,{repos:i}=Fn();return(0,D_.jsxs)(tkr,{prompt:(0,D_.jsx)(rkr,{value:r.prompt,onChange:r.setPrompt,placeholder:mT[r.mode].placeholder,inputRef:n.promptRef,autoFocus:n.autoFocus==="prompt",onTrack:n.trackPrompt}),children:[(0,D_.jsxs)(Lt,{direction:"row",spacing:1,sx:{alignItems:"flex-start"},children:[(0,D_.jsx)(Skr,{repos:i,value:r.cwd,onChange:r.setCwd,inputRef:n.repoRef,autoFocus:n.autoFocus==="repo",onTrack:n.trackRepo}),(0,D_.jsx)(lkr,{...t})]}),(0,D_.jsx)(ekr,{value:r.node,onChange:r.setNode,cloneState:e})]})}var _kr=E($(),1),wkr=[["Enter","start"],["Shift+Enter","newline"],["Esc","close"]];function kkr({submitLabel:e,disabled:t=!1,loading:r=!1}){return(0,_kr.jsx)(Dt,{type:"submit",variant:"contained",disabled:t,loading:r,children:e})}var JA=E($(),1),Hni=e=>({alignItems:"center",flexWrap:"wrap",gap:"14px",py:"10px",pl:"18px",pr:1.5,borderTop:1,borderColor:e.tokens.color.lineSoft,bgcolor:"background.default",fontSize:12,color:"text.secondary"}),Uni=e=>({mr:.5,px:"5px",border:1,borderColor:"divider",borderRadius:"4px",fontFamily:e.typography.fontFamilyMono,fontSize:10.5,color:"text.primary"});function Ekr(e){return(0,JA.jsxs)(Lt,{direction:"row",sx:Hni,children:[wkr.map(([t,r])=>(0,JA.jsxs)("span",{children:[(0,JA.jsx)(J,{component:"kbd",sx:Uni,children:t}),r]},t)),(0,JA.jsx)(J,{sx:{flex:1}}),(0,JA.jsx)(kkr,{...e})]})}var e6=E(fe(),1);function Rkr(e,t){let r=(0,e6.useRef)(e),n=(0,e6.useRef)(null),i=(0,e6.useRef)(null),o=(0,e6.useRef)(null),a=(0,e6.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:f$(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 Wni(e,t,r){return e?r.kind==="cloned"?{kind:"launch",cwd:r.cwd}:r.kind==="clonable"?{kind:"clone",prompt:Y1e(r,t)}:{kind:"blocked"}:{kind:"launch",cwd:e}}function Akr(e,t){let{names:r,visible:n}=Ec(),i=W1e(t,n?r:[void 0]);return{cloneState:i,target:Wni(t,e,i(e))}}function Pkr({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}]:[];Sfr(mT[e].sessionMode,n,(u,f)=>o.onCreateAssist(u,f,...l),()=>{},r)}function Lkr(e,t,r,n){return r.kind==="blocked"||e.modePending?!1:r.kind==="clone"?(N1e(r.prompt,n.onCreateAssist),!0):(Pkr({mode:e.mode,harness:t,prompt:e.prompt,cwd:r.cwd,node:e.node},n),e.clear(),!0)}var bve=E(fe(),1);function Mkr(e,t){let[r,n]=(0,bve.useState)(!1);return(0,bve.useEffect)(()=>{!r||e.modePending||(n(!1),t())},[r,e.modePending,t]),()=>{e.modePending?n(!0):t()}}function Ikr(e,t,r,n,i){let o=Mkr(e,()=>{Lkr(e,t,r,n)&&i()});return a=>{a.preventDefault(),o()}}var AX=E(fe(),1);function Dkr(e,t){let r=(0,AX.useRef)(e),n=(0,AX.useRef)(null);return(0,AX.useEffect)(()=>{if(r.current&&!e){let i=n.current;i?.isConnected?i.focus():t()}r.current=e},[e,t]),i=>{n.current=i.target}}var Okr=E($(),1),Gni={border:0,margin:0,padding:0,minWidth:0};function Nkr({loading:e,restoreFocus:t,children:r}){let n=Dkr(e,t);return(0,Okr.jsx)("fieldset",{disabled:e,style:Gni,onFocus:n,children:r})}var t6=E($(),1);function Bkr({draft:e,launchers:t,onClose:r}){let n=Rkr(e.focus,e.setFocus),i=zwr(m_()),o=i.includes(e.harness)?e.harness:"claude",{target:a,cloneState:s}=Akr(e.node,e.cwd),l=Ikr(e,o,a,t,r);return(0,t6.jsx)(dve,{onClose:r,onEntered:n.restore,centered:!0,children:(0,t6.jsx)("form",{onSubmit:l,children:(0,t6.jsxs)(Nkr,{loading:e.modePending,restoreFocus:n.restore,children:[(0,t6.jsx)(Ckr,{draft:e,harness:o,harnesses:i,focus:n,cloneState:s}),(0,t6.jsx)(Ekr,{submitLabel:a.kind==="clone"?"Clone":mT[e.mode].submitLabel,disabled:a.kind==="blocked",loading:e.modePending})]})})})}var xve=E(fe(),1);var Vni=1e3;async function qni(e){try{let t=e?`?cwd=${encodeURIComponent(e)}`:"",n=await(await fetch(`/api/new-session-defaults${t}`)).json();return Object.hasOwn(mT,n?.mode)?n.mode:null}catch{return null}}function Fkr(e,t=0){let[r,n]=(0,xve.useState)(null);return(0,xve.useEffect)(()=>{let i=!1,o,a=async()=>{let s=await qni(e);i||(s?n({cwd:e,opens:t,mode:s}):o=setTimeout(a,Vni))};return a(),()=>{i=!0,clearTimeout(o)}},[e,t]),r?{mode:r.mode,pending:r.cwd!==e||r.opens!==t}:null}function $kr(e,{visible:t,names:r,selected:n}){if(t)return e&&r.includes(e)?e:n}var gT=E(fe(),1),zkr={field:"prompt",selectionStart:0,selectionEnd:0};function Hkr(){let[e,t]=(0,gT.useState)(""),[r,n]=(0,gT.useState)(),[i,o]=(0,gT.useState)(),[a,s]=(0,gT.useState)("claude"),[l,u]=(0,gT.useState)(),[f,d]=(0,gT.useState)(zkr),h=(0,gT.useCallback)(()=>{t(""),n(void 0),o(void 0),u(void 0),d(zkr)},[]);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 Ukr(e,t=Fkr){let{selectedCwd:r}=Fn(),n=Ec(),i=Hkr(),o=i.cwd??r,a=t(o,e);return a?{...i,cwd:o,mode:i.mode??a.mode,modePending:i.mode===void 0&&a.pending,node:$kr(i.node,n)}:null}function Wkr(e){Eo(jn("newSession").matches,e)}var Gkr=E(fe(),1);function Vkr(e,t){let{selectedCwd:r}=Fn(),[n,i]=Wc(),o=n.get("new"),a=n.get("newCwd")??r,{setPrompt:s,setCwd:l,setFocus:u}=e??{};(0,Gkr.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 jkr=E($(),1);function qkr({launchers:e}){let[t,r]=(0,PX.useState)(!1),[n,i]=(0,PX.useState)(0),o=Ukr(n),a=(0,PX.useCallback)(()=>{r(!0),i(s=>s+1)},[]);return Wkr(a),Vkr(o,a),!t||!o?null:(0,jkr.jsx)(Bkr,{draft:o,launchers:e,onClose:()=>r(!1)})}var Tve=E($(),1);function Ykr({reconnecting:e}){return(0,Tve.jsx)(Dh,{open:e,children:(0,Tve.jsx)(yi,{severity:"info",variant:"filled",icon:(0,Tve.jsx)(oo,{size:16,color:"inherit"}),children:"Reconnecting\u2026"})})}var _v=E($(),1);function Kkr({socket:e,onViewLaunchedSession:t}){return(0,_v.jsxs)(_v.Fragment,{children:[(0,_v.jsx)(Bwr,{}),(0,_v.jsx)(qkr,{launchers:{onCreate:e.createSession,onCreateDesign:e.createDesignSession,onCreateHarness:e.createHarnessSession,onCreateAssist:e.createAssistSession}}),(0,_v.jsx)(Ykr,{reconnecting:e.reconnecting}),(0,_v.jsx)(Ql,{error:e.error,onClose:e.clearError}),(0,_v.jsx)($wr,{notice:e.success,onClose:e.clearSuccess,onView:t})]})}var Ev=E(fe(),1);var jni=6e4;function Yni(e,t,r){return t.map(n=>e.find(i=>i.name===n)??{name:n,local:n===r,loading:!0})}function Xkr(e){let t=e.nodes?.local,r=e.names.join(`
|
|
4022
|
+
`,ewr={content:'""',position:"absolute",borderRadius:"inherit",background:"conic-gradient(from calc(var(--rainbow-pill-h) * 1deg) in oklch longer hue, oklch(66% 0.21 0), oklch(66% 0.21 0))",animation:`${cni} 1.8s linear infinite`},fni={display:"inline-flex",alignItems:"center",px:1.5,py:"3px",borderRadius:999,position:"relative",isolation:"isolate",fontWeight:700,animation:`${uni} 1.6s ease-in-out infinite`,"&::before":{...ewr,inset:0,zIndex:-1},"&::after":{...ewr,inset:"-5px",zIndex:-2,filter:"blur(9px)",opacity:.85},"& span":{color:ol.rainbowPill.text,textShadow:ol.rainbowPill.shadow},"@media (prefers-reduced-motion: reduce)":{animation:"none","&::before, &::after":{animation:"none"}}};function twr({children:e}){return(0,qA.jsxs)(qA.Fragment,{children:[(0,qA.jsx)(i5,{styles:lni}),(0,qA.jsx)(J,{component:"span","data-testid":"rainbow-pill",sx:fni,children:e})]})}function rwr({pct:e,timeLabel:t}){return[Math.round(e),...(t.match(/\d+/g)??[]).map(Number)].join(",")}function nwr(e){if(e.length!==2)return!1;let[t,r]=e;return rwr(t)===rwr(r)}var pT=E($(),1);function owr({rateLimits:e}){let t=GF(3e4),r=[{window:e.five_hour,windowSeconds:18e3,fallbackLabel:"5h"},{window:e.seven_day,windowSeconds:604800,fallbackLabel:"7d"}].filter(o=>o.window?.used_percentage!=null),n=nwr(r.map(o=>({pct:o.window?.used_percentage??0,timeLabel:ove(o.window?.resets_at,o.fallbackLabel,t)}))),i=r.map((o,a)=>(0,pT.jsxs)(iwr.Fragment,{children:[a>0?(0,pT.jsx)(J,{component:"span",sx:{color:u$,mr:.5},children:","}):null,(0,pT.jsx)(JCr,{window:o.window,windowSeconds:o.windowSeconds,fallbackLabel:o.fallbackLabel,now:t})]},o.fallbackLabel));return n?(0,pT.jsx)(twr,{children:i}):(0,pT.jsx)(pT.Fragment,{children:i})}var A_=E($(),1);function swr({groups:e}){return(0,A_.jsx)(A_.Fragment,{children:e.map((t,r)=>(0,A_.jsxs)(awr.Fragment,{children:[(0,A_.jsx)(J,{component:"span",sx:{color:u$,ml:r>0?1:0,mr:.5},children:Iu(t.harness)}),(0,A_.jsx)(owr,{rateLimits:t.rateLimits})]},t.harness))})}var lwr={root:{fontFamily:"fontFamilyMono",fontSize:12,display:"grid",gap:1},group:{display:"grid",gap:"2px"},heading:{color:e=>e.tokens.color.onAppBar.secondary},foot:{pt:.75,opacity:.6,borderTop:"1px solid color-mix(in srgb, currentColor 18%, transparent)"}};function dni(e){if(e==="over")return{level:"warn",boundary:100};if(e==="warn")return{level:"ok",boundary:75}}function hni(e){if(e==="ok")return{level:"warn",boundary:75};if(e==="warn")return{level:"over",boundary:100}}function pni(e,t,r,n){if(e>=t)return;let i=e/t;return Math.round(r-n*(1-i))}function fwr(e,t,r,n){if(t==null)return{kind:"unprojectable"};let i=HWe(t,r,n);if(i==null)return{kind:"unprojectable"};let o=h_(e,t,r,n),a=dni(o),s=hni(o);return{kind:"projected",recovery:a&&{level:a.level,pct:a.boundary*i,at:pni(e,a.boundary,t,r)},worse:s&&{level:s.level,pct:s.boundary*i}}}function sve(e){return t=>t.tokens.color.onAppBar.level[e]}function dwr(e,t){return e.at==null?"not before reset":`${e.level==="ok"?"green":"under"} in ${T1e(e.at,t)}`}var P_=E($(),1),hwr={display:"contents"};function cGe({direction:e,threshold:t}){let r=e==="back";if(!t)return(0,P_.jsxs)(J,{component:"span",sx:hwr,children:[(0,P_.jsx)("span",{}),(0,P_.jsx)("span",{})]});let n=(0,P_.jsx)(J,{component:"span",sx:{opacity:.6},children:r?"\u2190":"\u2192"}),i=(0,P_.jsxs)(J,{component:"span",sx:{color:sve(t.level),textAlign:"right"},children:[Math.round(t.pct),"%"]});return(0,P_.jsxs)(J,{component:"span",sx:hwr,children:[r?i:n,r?n:i]})}var pwr={row:{display:"grid",gridTemplateColumns:"2.5ch 4ch 1ch 4ch 1ch 4ch auto",alignItems:"baseline",gap:.75,fontVariantNumeric:"tabular-nums"},pctWeight:500,note:{pl:.75,color:e=>e.tokens.color.onAppBar.secondary}};var L_=E($(),1);function mwr({label:e,pct:t,resetsAt:r,windowSeconds:n,now:i}){let o=pwr,a=h_(t,r,n,i),s=fwr(t,r,n,i),l=s.kind==="projected"?s:void 0;return(0,L_.jsxs)(J,{sx:o.row,children:[(0,L_.jsx)(J,{component:"span",sx:{minWidth:"2ch"},children:e}),(0,L_.jsx)(cGe,{direction:"back",threshold:l?.recovery}),(0,L_.jsxs)(J,{component:"span",sx:{minWidth:"4ch",textAlign:"right",fontWeight:o.pctWeight,color:sve(a)},children:[Math.round(t),"%"]}),(0,L_.jsx)(cGe,{direction:"forward",threshold:l?.worse}),(0,L_.jsx)(J,{component:"span",sx:o.note,children:l?l.recovery&&dwr(l.recovery,i):"no projection yet"})]})}function gwr(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 vwr=E($(),1);function ywr({rateLimits:e,now:t}){return gwr(e).map(r=>(0,vwr.jsx)(mwr,{label:r.label,pct:r.pct,resetsAt:r.resetsAt,windowSeconds:r.windowSeconds,now:t},r.label))}var jA=E($(),1);function bwr({groups:e}){let t=GF(3e4),r=lwr;return(0,jA.jsxs)(J,{sx:r.root,children:[e.map(n=>(0,jA.jsxs)(J,{sx:r.group,children:[(0,jA.jsx)(J,{sx:r.heading,children:Iu(n.harness)}),(0,jA.jsx)(ywr,{rateLimits:n.rateLimits,now:t})]},n.harness)),(0,jA.jsx)(J,{sx:r.foot,children:"Account usage per harness \u2014 view history"})]})}var uGe=E($(),1),mni="Claude account usage (5h / 7d windows) \u2014 view history";function xwr(e){return e.length===0?{title:mni,content:"Usage"}:{title:(0,uGe.jsx)(bwr,{groups:e}),content:(0,uGe.jsx)(swr,{groups:e})}}var Twr={display:"flex",alignItems:"center",height:22,px:1,borderRadius:1,fontSize:"inherit","&:hover, &:focus-visible":{bgcolor:e=>e.tokens.color.statusBar.hover,color:e=>e.tokens.color.statusBar.hoverText}},Swr={tooltip:{sx:{p:"10px 12px",minWidth:300,maxWidth:"none"}}};var fGe=E($(),1),gni={};function Cwr({rateLimits:e,harnessRateLimits:t=gni}){let{title:r,content:n}=xwr(ZCr(e,t));return(0,fGe.jsx)(lr,{title:r,placement:"top-start",slotProps:Swr,children:(0,fGe.jsx)(rn,{component:ws,to:"/usage",underline:"none",color:"inherit",sx:Twr,children:n})})}var _wr=E(fe(),1);var M_="0.947.0";var lve=E(fe(),1),dGe=(0,lve.createContext)(null);function cve(){return(0,lve.useContext)(dGe)}var hGe=E($(),1);function wwr(){let e=cve();return!e||e===M_?null:(0,hGe.jsx)(lr,{title:`Daemon is running v${e}, but this page was served by v${M_}. Restart the daemon to match.`,children:(0,hGe.jsx)(Z1e,{fontSize:"small",color:"warning","aria-label":"Version mismatch"})})}var kwr=e=>({display:"inline-flex",alignItems:"center",gap:.75,px:1,py:0,height:22,borderRadius:1,fontSize:"inherit",lineHeight:1.5,color:"inherit",opacity:1,bgcolor:t=>e?kv(t).active:"transparent",transition:"opacity .2s ease, background-color .2s ease, color .2s ease","&:hover, &:focus-visible":{bgcolor:t=>kv(t).hover,color:t=>kv(t).hoverText},"& .ready-dot":{width:6,height:6,borderRadius:"50%",bgcolor:t=>kv(t).dot,boxShadow:t=>`0 0 0 3px ${kv(t).dotRing}`},"& .ready-count":{fontWeight:500,color:t=>kv(t).readyText}});var lg=E($(),1);function Ewr(){let{entries:e}=RF(),t=Ni(),r=(0,_wr.useCallback)(()=>t("/updates"),[t]),{matches:n,chords:i}=jn("openUpdates");if(Eo(n,r),!M_)return null;let o=e.filter(NF).length;return(0,lg.jsxs)(lg.Fragment,{children:[(0,lg.jsx)(lr,{describeChild:!0,placement:"top-end",title:(0,lg.jsx)(Nu,{label:"Updates",chords:i}),children:(0,lg.jsxs)(ln,{component:ws,to:"/updates","aria-label":o?`Updates: ${o} node${o>1?"s have":" has"} an update ready`:"Updates",sx:kwr(o>0),children:[o>0&&(0,lg.jsx)("span",{className:"ready-dot","aria-hidden":!0}),(0,lg.jsxs)("span",{children:["v",M_]}),o>0&&(0,lg.jsxs)("span",{className:"ready-count",children:[o," ready"]})]})}),(0,lg.jsx)(wwr,{})]})}var uve=E($(),1);function Rwr({socket:e}){return(0,uve.jsx)(KCr,{start:(0,uve.jsx)(Cwr,{rateLimits:e.rateLimits,harnessRateLimits:e.harnessRateLimits}),end:(0,uve.jsx)(Ewr,{})})}var mve=E(fe(),1);var pve=E(fe(),1);function Awr(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 I_=E($(),1),yni={display:"flex",gap:1,alignItems:"center",minWidth:0},vni={display:"flex",gap:1,alignItems:"baseline",minWidth:0,overflow:"hidden"},bni={fontFamily:"fontFamilyMono",fontSize:13,whiteSpace:"nowrap"},xni={fontFamily:"fontFamilyMono",fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};function Tni(e){let t=e.lastIndexOf("/");return t===-1?{dir:"",basename:e}:{dir:e.slice(0,t),basename:e.slice(t+1)}}function Pwr({files:e,highlight:t,onHighlight:r,onSelect:n}){return(0,I_.jsx)(zp,{dense:!0,sx:{py:0},children:e.map((i,o)=>{let{dir:a,basename:s}=Tni(i);return(0,I_.jsxs)(dn,{selected:o===t,onMouseEnter:()=>r(o),onClick:()=>n(i),sx:yni,children:[(0,I_.jsx)(ige,{path:i}),(0,I_.jsxs)(J,{sx:vni,children:[(0,I_.jsx)(Me,{component:"span",sx:bni,children:s}),(0,I_.jsx)(Me,{component:"span",color:"text.secondary",sx:xni,children:a})]})]},i)})})}var fve=E($(),1),Sni={maxHeight:420,overflowY:"auto"},Cni={px:2,py:2,fontSize:13};function Lwr({message:e,files:t,highlight:r,onHighlight:n,onSelect:i}){return(0,fve.jsx)(J,{sx:Sni,children:e?(0,fve.jsx)(Me,{color:"text.secondary",sx:Cni,children:e}):(0,fve.jsx)(Pwr,{files:t,highlight:r,onHighlight:n,onSelect:i})})}var Mwr=E($(),1),wni={mt:6,alignSelf:"flex-start"};function dve({onClose:e,onEntered:t,centered:r=!1,children:n}){return(0,Mwr.jsx)(Gl,{open:!0,onClose:e,maxWidth:"sm",fullWidth:!0,slotProps:{paper:{sx:r?void 0:wni},transition:{onEntered:t}},children:n})}var hve=E(fe(),1);var Iwr={files:[],loading:!1,error:!1};function Dwr(e,t){let[r,n]=(0,hve.useState)(Iwr),i=yr();return(0,hve.useEffect)(()=>{if(!e){n(Iwr);return}let o=!1;return n(s=>({...s,loading:!0})),(async()=>{try{let s=await fetch(jr(`/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 YA=E($(),1);function kni(e,t,r){let n=new URLSearchParams({path:e});return t&&n.set("cwd",t),t&&r&&n.set("node",r),`/file?${n}`}function Nwr({onClose:e}){let{worktreeNode:t}=Fn();return(0,YA.jsx)(gf.Provider,{value:t,children:(0,YA.jsx)(_ni,{onClose:e})})}function _ni({onClose:e}){let{worktreeCwd:t,worktreeNode:r}=Fn(),[n,i]=(0,pve.useState)(""),o=Dwr(t,n),a=Ni(),s=(0,pve.useRef)(null),l=p=>a(kni(p,t,r)),{highlight:u,setHighlight:f,onKeyDown:d}=x_(o.files,n,l,e),h=p=>{l(p),e()};return(0,YA.jsxs)(dve,{onClose:e,onEntered:()=>s.current?.focus(),children:[(0,YA.jsx)(SS,{autoFocus:!0,inputRef:s,value:n,onChange:i,onKeyDown:d,placeholder:"Search files by name..."}),(0,YA.jsx)(Lwr,{message:Awr(t,n,o),files:o.files,highlight:u,onHighlight:f,onSelect:h})]})}function Owr(e){Eo(jn("quickOpen").matches,e)}var Fwr=E($(),1);function Bwr(){let[e,t]=(0,mve.useState)(!1);return Owr((0,mve.useCallback)(()=>t(!0),[])),e?(0,Fwr.jsx)(Nwr,{onClose:()=>t(!1)}):null}var gve=E($(),1);function $wr({notice:e,onClose:t,onView:r}){let n=e?.sessionId??null;return(0,gve.jsx)(Dh,{open:e!==null,autoHideDuration:6e3,onClose:t,children:(0,gve.jsx)(yi,{severity:"success",variant:"filled",onClose:t,action:n!==null?(0,gve.jsx)(Dt,{color:"inherit",size:"small",onClick:()=>r(n),children:"View"}):void 0,children:e?.message})})}var PX=E(fe(),1);function zwr(e){let t=["claude"];return e.exposeCodexActions&&t.push("codex"),e.exposePiActions&&t.push("pi"),t}var Jwr=E(fe(),1);var Hwr=E($(),1),Uwr=ut((0,Hwr.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 Eni={connected:"success.main",connecting:"warning.main",disconnected:"error.main","version-blocked":"error.main"};function Wwr(e){return e?Eni[e]:"success.main"}function Gwr(e){return e.split("-")[0].split(".").map(Number)}function Vwr(e,t){if(!e||!t||e===t)return;let r=Gwr(e),n=Gwr(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 KA=E($(),1),Rni={height:16,fontSize:10},Ani={opacity:.6,fontSize:"0.85em"};function Pni(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 RX({nodes:e,name:t,showVersion:r=!1}){let n=cve()??M_,i=e.links.find(a=>a.name===t),o=Vwr(i?.peerVersion,n);return(0,KA.jsx)(lr,{title:Pni(e,t),placement:"right",children:(0,KA.jsxs)(J,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:.75},children:[(0,KA.jsx)(Uwr,{sx:{fontSize:8,color:Wwr(i?.state)}}),t,r&&i?.peerVersion&&(0,KA.jsxs)(J,{component:"span",sx:Ani,children:["v",i.peerVersion]}),o&&(0,KA.jsx)(qn,{label:o,size:"small",color:o==="behind"?"warning":"info",sx:Rni})]})})}var XA=E($(),1),Lni={opacity:.6},Mni={display:"inline-flex",alignItems:"center",gap:.5,px:.5,border:1,borderStyle:"dashed",borderRadius:1};function qwr({nodes:e,name:t,clone:r}){let n=(0,XA.jsx)(RX,{nodes:e,name:t});return r.kind==="cloned"?n:r.kind==="unavailable"?(0,XA.jsx)(J,{component:"span",sx:Lni,children:n}):(0,XA.jsx)(lr,{title:KF(t,r.cloneTarget),children:(0,XA.jsxs)(J,{component:"span",sx:Mni,children:[(0,XA.jsx)(YF,{sx:{fontSize:14}}),n]})})}var Ywr=E($(),1),Ini={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 jwr({value:e,label:t,checked:r,autoFocus:n,onSelect:i}){return(0,Ywr.jsx)(ln,{role:"radio","aria-checked":r,"data-value":e,tabIndex:r?0:-1,autoFocus:n&&r,onClick:i,sx:Ini,children:t})}var Kwr={ArrowRight:1,ArrowLeft:-1};function Dni(e,t,r){if(e.key==="Tab"){let n=t+(e.shiftKey?-1:1);return n>=0&&n<r?n:void 0}return(t+Kwr[e.key]+r)%r}function Xwr(e,t,r,n){return i=>{if(i.key==="ArrowUp"||i.key==="ArrowDown"){if(!n)return;i.preventDefault(),n();return}if(i.key!=="Tab"&&!Kwr[i.key]){P2(i);return}let o=Dni(i,e.indexOf(t),e.length);o!==void 0&&(i.preventDefault(),r(e[o]),i.currentTarget.querySelector(`[data-value="${e[o]}"]`)?.focus())}}var Zwr=E(fe(),1);function f$(e){return e?.querySelector('[aria-checked="true"]')}function Qwr(e,t){(0,Zwr.useEffect)(()=>{let r=e.current;if(!r?.contains(document.activeElement))return;let n=f$(r);n&&n!==document.activeElement&&n.focus()},[e,t])}var pGe=E($(),1),Nni={border:1,borderColor:"divider",borderRadius:1,height:40,p:"2px",flexShrink:0};function yve({label:e,options:t,value:r,onChange:n,optionLabel:i=u=>u,groupRef:o,autoFocus:a,onTrack:s,onToggleRow:l}){return Qwr(o,r),(0,pGe.jsx)(Lt,{ref:o,direction:"row",role:"radiogroup","aria-label":e,spacing:"2px",onFocus:s,onKeyDown:Xwr(t,r,n,l),sx:Nni,children:t.map(u=>(0,pGe.jsx)(jwr,{value:u,label:i(u),checked:u===r,autoFocus:a,onSelect:()=>n(u)},u))})}var mGe=E($(),1);function ekr({value:e,onChange:t,cloneState:r}){let{nodes:n,names:i,visible:o}=Ec(),a=(0,Jwr.useRef)(null);return!o||!n||!e?null:(0,mGe.jsx)(yve,{label:"Machine",options:i,value:e,onChange:t,optionLabel:s=>(0,mGe.jsx)(qwr,{nodes:n,name:s,clone:r(s)}),groupRef:a,autoFocus:!1,onTrack:()=>{}})}var vve=E($(),1);function tkr({prompt:e,children:t}){return(0,vve.jsxs)(Lt,{children:[e,(0,vve.jsx)(Lt,{spacing:1,sx:{px:1.5,pb:1.5},children:t})]})}var nkr=E($(),1),Oni=".MuiOutlinedInput-notchedOutline",Bni={"& .MuiOutlinedInput-root":{px:"18px",py:2,minHeight:92,alignItems:"flex-start",bgcolor:"transparent",borderRadius:0,fontSize:15},[`&&& ${Oni}`]:{border:0},"& textarea::placeholder":{color:"text.disabled",opacity:1}};function rkr({value:e,onChange:t,placeholder:r,inputRef:n,autoFocus:i,onTrack:o}){return(0,nkr.jsx)(ei,{sx:Bni,value:e,onChange:a=>t(a.target.value),onKeyDown:P2,onFocus:o,onSelect:o,inputRef:n,placeholder:r,autoFocus:i,fullWidth:!0,multiline:!0,minRows:3,maxRows:12,slotProps:{htmlInput:{"aria-label":"Prompt"}}})}var skr=E(fe(),1);var mT={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:Jge,submitLabel:"Start session"},design:{placeholder:"Describe the design task...",submitLabel:"Start design"}},ikr=Object.keys(mT);var gGe=E($(),1);function okr({anchor:e,harness:t,harnesses:r,onPick:n,onClose:i}){return(0,gGe.jsx)(Os,{open:e!==null,anchorEl:e,onClose:i,slotProps:{list:{dense:!0,"aria-label":"Harness"}},children:r.map(o=>(0,gGe.jsx)(dn,{role:"menuitemradio","aria-checked":o===t,selected:o===t,onClick:()=>{n(o),i()},sx:{fontSize:13},children:Iu(o)},o))})}var ZA=E($(),1);function akr(e){return t=>t==="prompt"&&e?(0,ZA.jsxs)(ZA.Fragment,{children:["prompt",(0,ZA.jsx)(J,{component:"span",sx:{fontWeight:400,whiteSpace:"pre"},children:` \xB7 ${Iu(e)}`}),(0,ZA.jsx)(bd,{sx:{fontSize:18,mr:-.75}})]}):t}var QA=E($(),1);function lkr({draft:e,harness:t,harnesses:r,focus:n}){let[i,o]=(0,skr.useState)(null),a=e.mode==="prompt"&&r.length>1,s=()=>o(f$(n.modeRef.current)??null),l=u=>{a&&u==="prompt"?s():e.setMode(u)};return(0,QA.jsxs)(QA.Fragment,{children:[(0,QA.jsx)(yve,{label:"Mode",options:ikr,value:e.mode,onChange:l,optionLabel:akr(r.length>1?t:void 0),groupRef:n.modeRef,autoFocus:n.autoFocus==="mode",onTrack:n.trackMode,onToggleRow:a?s:void 0}),(0,QA.jsx)(okr,{anchor:i,harness:t,harnesses:r,onPick:e.setHarness,onClose:()=>o(null)})]})}var Tkr=E(fe(),1);var yGe=E($(),1),Fni={zIndex:e=>e.zIndex.modal+1};function ckr({open:e,anchor:t,children:r}){return(0,yGe.jsx)(iP,{open:e,anchorEl:t,placement:"bottom-start",sx:Fni,children:(0,yGe.jsx)(tn,{sx:{maxHeight:240,overflowY:"auto",width:t?.clientWidth},onMouseDown:n=>n.preventDefault(),children:r})})}var ukr=E($(),1),fkr=ut((0,ukr.jsx)("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z"}),"KeyboardArrowDown");var vGe=E($(),1),$ni={fontSize:13,height:36,pr:1,cursor:"pointer","& input":{cursor:"text"}},zni={fontSize:16,color:"text.disabled"};function dkr(e){return{htmlInput:{role:"combobox","aria-label":"Repo","aria-expanded":e},input:{sx:$ni,endAdornment:(0,vGe.jsx)(s2e,{position:"end",children:(0,vGe.jsx)(fkr,{sx:zni})})}}}var hkr=E(W6(),1);function pkr({open:e,highlighted:t,accept:r,close:n,navigate:i,openList:o}){return a=>{if(!e){if(a.key==="ArrowDown"){a.preventDefault(),o();return}P2(a);return}if(a.key!=="Escape"){if(a.key==="Enter"){if(a.preventDefault(),t===void 0)return;(0,hkr.flushSync)(()=>{r(t),n()}),P2(a);return}if(a.key!=="Tab"){i(a);return}t!==void 0&&r(t),n()}}}function mkr(e,t){let r=t.trim().toLowerCase();return r?e.filter(n=>gv(n).toLowerCase().includes(r)):e}var bGe=E(fe(),1);function gkr(){let[e,t]=(0,bGe.useState)(!1),[r,n]=(0,bGe.useState)("");return{open:e,query:r,show:()=>t(!0),filterBy:i=>{n(i),t(!0)},close:()=>{t(!1),n("")}}}var vkr=E(fe(),1);var ykr=e=>e?gv(e):"";function bkr(e){let[t,r]=(0,vkr.useState)(()=>ykr(e));return{text:t,setText:r,showRepo:n=>r(ykr(n))}}function xkr(e,t,r){let n=gkr(),i=bkr(t),o=mkr(e,n.query),a=f=>{r(f),i.showRepo(f)},s=x_(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:pkr({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 d$=E($(),1);function Skr({repos:e,value:t,onChange:r,inputRef:n,autoFocus:i,onTrack:o}){let a=xkr(e,t,r),s=(0,Tkr.useRef)(null);return(0,d$.jsxs)(J,{ref:s,sx:{flex:1,minWidth:0},children:[(0,d$.jsx)(ei,{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:dkr(a.open)}),(0,d$.jsx)(ckr,{open:a.open,anchor:s.current,children:(0,d$.jsx)(q1e,{repos:a.filtered,selected:t,highlight:a.highlight,onHighlight:a.setHighlight,onSelect:a.pick})})]})}var D_=E($(),1);function Ckr({cloneState:e,...t}){let{draft:r,focus:n}=t,{repos:i}=Fn();return(0,D_.jsxs)(tkr,{prompt:(0,D_.jsx)(rkr,{value:r.prompt,onChange:r.setPrompt,placeholder:mT[r.mode].placeholder,inputRef:n.promptRef,autoFocus:n.autoFocus==="prompt",onTrack:n.trackPrompt}),children:[(0,D_.jsxs)(Lt,{direction:"row",spacing:1,sx:{alignItems:"flex-start"},children:[(0,D_.jsx)(Skr,{repos:i,value:r.cwd,onChange:r.setCwd,inputRef:n.repoRef,autoFocus:n.autoFocus==="repo",onTrack:n.trackRepo}),(0,D_.jsx)(lkr,{...t})]}),(0,D_.jsx)(ekr,{value:r.node,onChange:r.setNode,cloneState:e})]})}var _kr=E($(),1),wkr=[["Enter","start"],["Shift+Enter","newline"],["Esc","close"]];function kkr({submitLabel:e,disabled:t=!1,loading:r=!1}){return(0,_kr.jsx)(Dt,{type:"submit",variant:"contained",disabled:t,loading:r,children:e})}var JA=E($(),1),Hni=e=>({alignItems:"center",flexWrap:"wrap",gap:"14px",py:"10px",pl:"18px",pr:1.5,borderTop:1,borderColor:e.tokens.color.lineSoft,bgcolor:"background.default",fontSize:12,color:"text.secondary"}),Uni=e=>({mr:.5,px:"5px",border:1,borderColor:"divider",borderRadius:"4px",fontFamily:e.typography.fontFamilyMono,fontSize:10.5,color:"text.primary"});function Ekr(e){return(0,JA.jsxs)(Lt,{direction:"row",sx:Hni,children:[wkr.map(([t,r])=>(0,JA.jsxs)("span",{children:[(0,JA.jsx)(J,{component:"kbd",sx:Uni,children:t}),r]},t)),(0,JA.jsx)(J,{sx:{flex:1}}),(0,JA.jsx)(kkr,{...e})]})}var e6=E(fe(),1);function Rkr(e,t){let r=(0,e6.useRef)(e),n=(0,e6.useRef)(null),i=(0,e6.useRef)(null),o=(0,e6.useRef)(null),a=(0,e6.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:f$(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 Wni(e,t,r){return e?r.kind==="cloned"?{kind:"launch",cwd:r.cwd}:r.kind==="clonable"?{kind:"clone",prompt:Y1e(r,t)}:{kind:"blocked"}:{kind:"launch",cwd:e}}function Akr(e,t){let{names:r,visible:n}=Ec(),i=W1e(t,n?r:[void 0]);return{cloneState:i,target:Wni(t,e,i(e))}}function Pkr({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}]:[];Sfr(mT[e].sessionMode,n,(u,f)=>o.onCreateAssist(u,f,...l),()=>{},r)}function Lkr(e,t,r,n){return r.kind==="blocked"||e.modePending?!1:r.kind==="clone"?(N1e(r.prompt,n.onCreateAssist),!0):(Pkr({mode:e.mode,harness:t,prompt:e.prompt,cwd:r.cwd,node:e.node},n),e.clear(),!0)}var bve=E(fe(),1);function Mkr(e,t){let[r,n]=(0,bve.useState)(!1);return(0,bve.useEffect)(()=>{!r||e.modePending||(n(!1),t())},[r,e.modePending,t]),()=>{e.modePending?n(!0):t()}}function Ikr(e,t,r,n,i){let o=Mkr(e,()=>{Lkr(e,t,r,n)&&i()});return a=>{a.preventDefault(),o()}}var AX=E(fe(),1);function Dkr(e,t){let r=(0,AX.useRef)(e),n=(0,AX.useRef)(null);return(0,AX.useEffect)(()=>{if(r.current&&!e){let i=n.current;i?.isConnected?i.focus():t()}r.current=e},[e,t]),i=>{n.current=i.target}}var Okr=E($(),1),Gni={border:0,margin:0,padding:0,minWidth:0};function Nkr({loading:e,restoreFocus:t,children:r}){let n=Dkr(e,t);return(0,Okr.jsx)("fieldset",{disabled:e,style:Gni,onFocus:n,children:r})}var t6=E($(),1);function Bkr({draft:e,launchers:t,onClose:r}){let n=Rkr(e.focus,e.setFocus),i=zwr(m_()),o=i.includes(e.harness)?e.harness:"claude",{target:a,cloneState:s}=Akr(e.node,e.cwd),l=Ikr(e,o,a,t,r);return(0,t6.jsx)(dve,{onClose:r,onEntered:n.restore,centered:!0,children:(0,t6.jsx)("form",{onSubmit:l,children:(0,t6.jsxs)(Nkr,{loading:e.modePending,restoreFocus:n.restore,children:[(0,t6.jsx)(Ckr,{draft:e,harness:o,harnesses:i,focus:n,cloneState:s}),(0,t6.jsx)(Ekr,{submitLabel:a.kind==="clone"?"Clone":mT[e.mode].submitLabel,disabled:a.kind==="blocked",loading:e.modePending})]})})})}var xve=E(fe(),1);var Vni=1e3;async function qni(e){try{let t=e?`?cwd=${encodeURIComponent(e)}`:"",n=await(await fetch(`/api/new-session-defaults${t}`)).json();return Object.hasOwn(mT,n?.mode)?n.mode:null}catch{return null}}function Fkr(e,t=0){let[r,n]=(0,xve.useState)(null);return(0,xve.useEffect)(()=>{let i=!1,o,a=async()=>{let s=await qni(e);i||(s?n({cwd:e,opens:t,mode:s}):o=setTimeout(a,Vni))};return a(),()=>{i=!0,clearTimeout(o)}},[e,t]),r?{mode:r.mode,pending:r.cwd!==e||r.opens!==t}:null}function $kr(e,{visible:t,names:r,selected:n}){if(t)return e&&r.includes(e)?e:n}var gT=E(fe(),1),zkr={field:"prompt",selectionStart:0,selectionEnd:0};function Hkr(){let[e,t]=(0,gT.useState)(""),[r,n]=(0,gT.useState)(),[i,o]=(0,gT.useState)(),[a,s]=(0,gT.useState)("claude"),[l,u]=(0,gT.useState)(),[f,d]=(0,gT.useState)(zkr),h=(0,gT.useCallback)(()=>{t(""),n(void 0),o(void 0),u(void 0),d(zkr)},[]);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 Ukr(e,t=Fkr){let{selectedCwd:r}=Fn(),n=Ec(),i=Hkr(),o=i.cwd??r,a=t(o,e);return a?{...i,cwd:o,mode:i.mode??a.mode,modePending:i.mode===void 0&&a.pending,node:$kr(i.node,n)}:null}function Wkr(e){Eo(jn("newSession").matches,e)}var Gkr=E(fe(),1);function Vkr(e,t){let{selectedCwd:r}=Fn(),[n,i]=Wc(),o=n.get("new"),a=n.get("newCwd")??r,{setPrompt:s,setCwd:l,setFocus:u}=e??{};(0,Gkr.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 jkr=E($(),1);function qkr({launchers:e}){let[t,r]=(0,PX.useState)(!1),[n,i]=(0,PX.useState)(0),o=Ukr(n),a=(0,PX.useCallback)(()=>{r(!0),i(s=>s+1)},[]);return Wkr(a),Vkr(o,a),!t||!o?null:(0,jkr.jsx)(Bkr,{draft:o,launchers:e,onClose:()=>r(!1)})}var Tve=E($(),1);function Ykr({reconnecting:e}){return(0,Tve.jsx)(Dh,{open:e,children:(0,Tve.jsx)(yi,{severity:"info",variant:"filled",icon:(0,Tve.jsx)(oo,{size:16,color:"inherit"}),children:"Reconnecting\u2026"})})}var _v=E($(),1);function Kkr({socket:e,onViewLaunchedSession:t}){return(0,_v.jsxs)(_v.Fragment,{children:[(0,_v.jsx)(Bwr,{}),(0,_v.jsx)(qkr,{launchers:{onCreate:e.createSession,onCreateDesign:e.createDesignSession,onCreateHarness:e.createHarnessSession,onCreateAssist:e.createAssistSession}}),(0,_v.jsx)(Ykr,{reconnecting:e.reconnecting}),(0,_v.jsx)(Ql,{error:e.error,onClose:e.clearError}),(0,_v.jsx)($wr,{notice:e.success,onClose:e.clearSuccess,onView:t})]})}var Ev=E(fe(),1);var jni=6e4;function Yni(e,t,r){return t.map(n=>e.find(i=>i.name===n)??{name:n,local:n===r,loading:!0})}function Xkr(e){let t=e.nodes?.local,r=e.names.join(`
|
|
4023
4023
|
`),[n,i]=(0,Ev.useState)([]),o=(0,Ev.useRef)(0),a=(0,Ev.useCallback)(()=>{let l=r?r.split(`
|
|
4024
4024
|
`):[];if(l.length===0)return;let u=++o.current;i(f=>Yni(f,l,t));for(let f of l)h1e(f,f===t).then(d=>{u===o.current&&i(h=>h.map(p=>p.name===f?d:p))})},[r,t]);(0,Ev.useEffect)(()=>{a();let l=setInterval(a,jni);return()=>clearInterval(l)},[a]);let s=n.length===0;return(0,Ev.useMemo)(()=>({entries:n,loading:s,refresh:a}),[n,s,a])}var N_=E($(),1);function Zkr({shell:e,children:t}){let{socket:r,selection:n,launch:i,sidebarCollapse:o}=e,a=Xkr(r.nodeSelection);return(0,N_.jsx)(MWe.Provider,{value:a,children:(0,N_.jsx)(Awe.Provider,{value:o,children:(0,N_.jsx)(cU.Provider,{value:n,children:(0,N_.jsx)(ZWe.Provider,{value:r.nodeSelection,children:(0,N_.jsx)(gf.Provider,{value:n.selectedNode,children:(0,N_.jsx)(yze.Provider,{value:i,children:(0,N_.jsx)(kit,{children:t})})})})})})})}var Qkr=E($(),1),Jkr=ut((0,Qkr.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 e_r=E(fe(),1);var D0=E($(),1),Kni={ml:1,textTransform:"none",fontSize:12};function t_r(){let{nodes:e,names:t,visible:r,selected:n,select:i}=Ec(),[o,a]=(0,e_r.useState)(null);return!r||!e||!n?null:(0,D0.jsxs)(D0.Fragment,{children:[(0,D0.jsx)(Dt,{size:"small",color:"inherit",startIcon:(0,D0.jsx)(Jkr,{fontSize:"small"}),"aria-label":"Machine","aria-haspopup":"menu",onClick:s=>a(s.currentTarget),sx:Kni,children:(0,D0.jsx)(RX,{nodes:e,name:n})}),(0,D0.jsx)(Os,{anchorEl:o,open:!!o,onClose:()=>a(null),children:t.map(s=>(0,D0.jsx)(dn,{selected:s===n,onClick:()=>{i(s),a(null)},sx:{fontSize:13},children:(0,D0.jsx)(RX,{nodes:e,name:s,showVersion:!0})},s))})]})}var LX=E(fe(),1);function r_r(e,t){return[...e[0].slice(0,-1),String(t+1)]}var Sve=E($(),1);function n_r({index:e,label:t,...r}){let{chords:n}=jn("navTab");return(0,Sve.jsx)(lr,{describeChild:!0,title:(0,Sve.jsx)(Nu,{label:t,chords:[r_r(n,e)]}),children:(0,Sve.jsx)(Qv,{label:t,...r})})}var xGe=E(fe(),1);function i_r(e,t){let{bound:r}=jn("navTab"),n=e.length,i=(0,xGe.useCallback)(a=>(bU(a,r)??n)<n,[r,n]),o=(0,xGe.useCallback)(a=>{let s=e[bU(a,r)??-1];s&&t(s)},[e,t,r]);Eo(i,o)}var Cve=E(fe(),1);function o_r(){let[e,t]=(0,Cve.useState)(!1);return(0,Cve.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 wve=E(fe(),1);async function Xni(e,t){let r=await fetch(jr(`/api/releases/configured?cwd=${encodeURIComponent(e)}`,t));return r.ok?(await r.json())?.configured===!0:void 0}function a_r(e){let[t,r]=(0,wve.useState)(null),n=yr(),i=`${n??""}\0${e}`;return(0,wve.useEffect)(()=>{if(!e)return;let o=!1;return Xni(e,n).catch(()=>{}).then(a=>{o||r({key:i,configured:a})}),()=>{o=!0}},[e,n,i]),t?.key===i?t.configured:void 0}var s_r=E(fe(),1);function l_r(e){let{pathname:t}=Uo(),r=Ni(),n=t==="/releases"||t.startsWith("/releases/");(0,s_r.useEffect)(()=>{e===!1&&n&&r("/sessions",{replace:!0})},[e,n,r])}var Zni={path:"/sessions",label:"Sessions"},Qni={path:"/backlog",label:"Backlog"},Jni={path:"/next",label:"Next"},eii={path:"/releases",label:"Releases"},tii={path:"/news",label:"News"};function c_r(e,t){return[Zni,Qni,Jni,...e?[eii]:[],...t?[tii]:[]]}var TGe=E($(),1),rii={mx:"6px"};function u_r({cwd:e}){let t=Uo(),r=Ni(),n=a_r(e),i=o_r();l_r(n);let o=n===!0,a=(0,LX.useMemo)(()=>c_r(o,i),[o,i]),s=(0,LX.useMemo)(()=>a.map(f=>f.path),[a]),l=a.findIndex(f=>t.pathname.startsWith(f.path)),u=(0,LX.useCallback)(f=>{t.pathname!==f&&r(f)},[t.pathname,r]);return i_r(s,u),(0,TGe.jsx)(N5,{sx:rii,value:l===-1?!1:l,textColor:"inherit",indicatorColor:"secondary",children:a.map((f,d)=>(0,TGe.jsx)(n_r,{index:d,label:f.label,onClick:()=>u(f.path)},f.path))})}var MX=E($(),1),nii={ml:.75,bgcolor:"primary.main",color:"primary.contrastText",transition:"filter 0.2s ease, transform 0.2s ease","& .MuiSvgIcon-root":{fontSize:18},"&:hover":{bgcolor:"primary.main",filter:"brightness(1.08)"},"&:active":{transform:"translateY(1px)"}};function f_r(){let[,e]=Wc(),{label:t,chords:r}=jn("newSession");return(0,MX.jsx)(lr,{title:(0,MX.jsx)(Nu,{label:t,chords:r}),children:(0,MX.jsx)(ar,{sx:nii,"aria-label":"New session",onClick:()=>e(i=>(i.set("new",""),i),{replace:!0}),children:(0,MX.jsx)(OS,{})})})}var kve=E(fe(),1);var IX=E($(),1),iii={strokeWidth:2};function d_r(e){return(0,IX.jsxs)(r0e,{viewBox:"0 0 24 24",sx:iii,...e,children:[(0,IX.jsx)("path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 3.5c-.3 1.15-.3 2.35 0 3.5A5.4 5.4 0 0 0 4 10.5c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"}),(0,IX.jsx)("path",{d:"M9 18c-4.51 2-5-2-7-2"})]})}var DX=E($(),1);function h_r({cwd:e}){let[t,r]=(0,kve.useState)(null),n=yr();return(0,kve.useEffect)(()=>{if(!e){r(null);return}let i=!1;return(async()=>{try{let a=await(await fetch(jr(`/api/github-url?cwd=${encodeURIComponent(e)}`,n))).json();i||r(a?.url??null)}catch{i||r(null)}})(),()=>{i=!0}},[e,n]),t?(0,DX.jsx)(lr,{title:"Open in GitHub",children:(0,DX.jsx)(J,{component:"span",sx:n0e,children:(0,DX.jsx)(ar,{onClick:()=>window.open(t,"_blank"),children:(0,DX.jsx)(d_r,{})})})}):null}var N0=E($(),1),oii={color:"inherit",mr:1.5};function p_r({reconnecting:e}){let{pending:t,error:r,clearError:n,restart:i}=d_("webserver",e);return(0,N0.jsxs)(N0.Fragment,{children:[(0,N0.jsx)(lr,{title:"Restart web server",children:(0,N0.jsx)("span",{children:(0,N0.jsx)(ar,{sx:oii,disabled:t,onClick:i,children:t?(0,N0.jsx)(oo,{size:24}):(0,N0.jsx)(f1e,{})})})}),(0,N0.jsx)(Ql,{error:r,onClose:n})]})}var y_r=E(fe(),1);var m_r=E(fe(),1);function g_r(e){let t=Xn().palette.primary.main;Eo(jn("focusRepoPicker").matches,(0,m_r.useCallback)(()=>Kl({locate:()=>e.current?.querySelector("button")??null,focus:r=>r.focus()},t),[e,t]))}var NX=E($(),1),aii={width:240,ml:2};function v_r({repos:e,selected:t,onSelect:r}){let n=(0,y_r.useRef)(null);g_r(n);let{chords:i}=jn("focusRepoPicker");return(0,NX.jsx)(J,{ref:n,sx:aii,children:(0,NX.jsx)(e0e,{label:t?gv(t):"Select repo...",tooltip:(0,NX.jsx)(Nu,{label:"Repo",chords:i}),typeToOpen:!0,children:(o,a)=>(0,NX.jsx)(zTr,{repos:e,selected:t,onSelect:r,close:o,initialFilter:a})})})}var R_r=E(fe(),1);var OX=E(fe(),1);function _ve(e){let[t,r]=(0,OX.useState)([]),[n,i]=(0,OX.useState)(!0),o=yr();return(0,OX.useEffect)(()=>{if(!e){r([]),i(!1);return}let a=!1;return i(!0),fetch(jr(`/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 SGe=E($(),1);function CGe({text:e}){return(0,SGe.jsx)(J,{sx:{p:1.5},children:(0,SGe.jsx)(Me,{sx:{fontSize:13,color:"text.secondary"},children:e})})}var r6=E($(),1);function b_r({pr:e,highlighted:t,onHover:r,onPick:n}){let i=V1e(t);return(0,r6.jsx)(dn,{ref:i,selected:t,onMouseDown:o=>o.preventDefault(),onMouseEnter:r,onClick:()=>n(e),sx:{alignItems:"flex-start",py:.75,whiteSpace:"normal"},children:(0,r6.jsxs)(Lt,{spacing:.25,sx:{minWidth:0},children:[(0,r6.jsxs)(Me,{sx:{fontSize:13,lineHeight:1.3,fontWeight:500},children:[e.title,e.isDraft&&(0,r6.jsx)(qn,{label:"Draft",size:"small",variant:"outlined",sx:{ml:.75,height:18,fontSize:10,verticalAlign:"middle"}})]}),(0,r6.jsxs)(Me,{sx:{fontSize:11,color:"text.secondary"},children:["#",e.number," \xB7 ",e.author," \xB7 ",_o(e.createdAt)]})]})})}var wGe=E($(),1);function x_r({prs:e,highlight:t,onHighlight:r,onPick:n}){return(0,wGe.jsx)(zp,{dense:!0,disablePadding:!0,sx:{maxHeight:200,overflowY:"auto"},children:e.map((i,o)=>(0,wGe.jsx)(b_r,{pr:i,highlighted:o===t,onHover:()=>r(o),onPick:n},i.number))})}var S_r=E(fe(),1);function T_r(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 C_r(e,t,r){let[n,i]=(0,S_r.useState)(""),o=T_r(e,n),{highlight:a,setHighlight:s,onKeyDown:l}=x_(o,n,t,r);return{filter:n,setFilter:i,filtered:o,highlight:a,setHighlight:s,onKeyDown:l,select:f=>{t(f),r()}}}var O_=E($(),1),w_r={...$B,left:"auto",width:320,maxHeight:"none",overflowY:"visible"};function k_r({cwd:e,onPick:t,close:r}){let{prs:n,loading:i}=_ve(e),o=C_r(n,t,r);return i||n.length===0?(0,O_.jsx)(tn,{elevation:4,sx:w_r,children:(0,O_.jsx)(CGe,{text:i?"Loading open PRs\u2026":"No open PRs"})}):(0,O_.jsxs)(tn,{elevation:4,sx:w_r,children:[(0,O_.jsx)(SS,{autoFocus:!0,value:o.filter,onChange:o.setFilter,onKeyDown:o.onKeyDown,placeholder:"Filter PRs..."}),o.filtered.length===0?(0,O_.jsx)(CGe,{text:"No PRs match"}):(0,O_.jsx)(x_r,{prs:o.filtered,highlight:o.highlight,onHighlight:o.setHighlight,onPick:o.select})]})}var E_r=E($(),1);function __r({cwd:e,onPick:t,close:r}){return(0,E_r.jsx)(k_r,{cwd:e,onPick:t,close:r})}var B_=E($(),1);function A_r({cwd:e,disabled:t,onSelect:r}){let{prs:n,loading:i}=_ve(e),[o,a]=(0,R_r.useState)(null);return i||n.length===0?null:(0,B_.jsxs)(B_.Fragment,{children:[(0,B_.jsx)(e0e,{label:"prs",disabled:t,children:s=>(0,B_.jsx)(__r,{cwd:e,onPick:a,close:s})}),o&&(0,B_.jsx)(Age,{pr:o,onSelect:s=>{r(o,s),a(null)},onCancel:()=>a(null)})]})}var L_r=E($(),1);function P_r({onStartRun:e,cwd:t}){let r=Kge(t);return!t||r.length===0?null:(0,L_r.jsx)(jge,{runs:r,onSelect:n=>e(n,t)})}var BX=E($(),1);function M_r({onCreateAssist:e,onStartRun:t}){let{selectedCwd:r,selectedNode:n}=Fn();return(0,BX.jsxs)(Lt,{direction:"row",spacing:.5,sx:{alignItems:"center","&:not(:empty)":{ml:2}},children:[(0,BX.jsx)(A_r,{cwd:r,disabled:!r,onSelect:(i,o)=>e([...o,String(i.number)],r,{...CB(i),node:n})}),(0,BX.jsx)(P_r,{onStartRun:(i,o)=>t(i,o,void 0,void 0,n),cwd:r})]})}var kp=E($(),1),sii={minHeight:48,pl:1,pr:14};function I_r({socket:e,selection:t}){let{collapsed:r,onToggleCollapsed:n}=NS();return(0,kp.jsxs)(D5,{variant:"dense",disableGutters:!0,sx:sii,children:[r&&(0,kp.jsx)(Dre,{collapsed:r,onToggleCollapsed:n}),(0,kp.jsx)(p_r,{reconnecting:e.reconnecting}),(0,kp.jsx)(u_r,{cwd:t.selectedCwd}),(0,kp.jsx)(t_r,{}),(0,kp.jsx)(v_r,{repos:t.repos,selected:t.selectedCwd,onSelect:t.setSelectedCwd}),(0,kp.jsxs)(J,{sx:{display:"flex",alignItems:"center",ml:1},children:[(0,kp.jsx)(i0e,{cwd:t.selectedCwd}),(0,kp.jsx)(h_r,{cwd:t.selectedCwd}),(0,kp.jsx)(f_r,{})]}),(0,kp.jsx)(M_r,{onCreateAssist:e.createAssistSession,onStartRun:e.startRun})]})}var Eve=E(fe(),1);function D_r(){let[e,t]=(0,Eve.useState)(null);return(0,Eve.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 O_r=E($(),1),lii={lineHeight:"32px",bgcolor:"transparent"};function N_r(){let e=D_r();return e?(0,O_r.jsx)($xe,{sx:lii,children:e}):null}var B_r=E($(),1),F_r=ut((0,B_r.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 $_r=E($(),1),z_r=ut((0,$_r.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 H_r=E($(),1),U_r=ut((0,H_r.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 W_r=E($(),1),G_r=ut((0,W_r.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 kGe=E($(),1);function V_r({mode:e}){return e==="dark"?(0,kGe.jsx)(G_r,{fontSize:"small"}):(0,kGe.jsx)(U_r,{fontSize:"small"})}var q_r=E($(),1),j_r=ut((0,q_r.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 h$=E($(),1);function Y_r(){let e=Bge();return(0,h$.jsxs)(dn,{onClick:()=>Vmt(!e),children:[(0,h$.jsx)(HT,{children:(0,h$.jsx)(j_r,{fontSize:"small"})}),(0,h$.jsx)($p,{children:e?"Hide render HUD":"Show render HUD"})]})}var fl=E($(),1);function K_r({mode:e,restartLabel:t,updateLabel:r,onToggleColorMode:n,onShowShortcuts:i,onRestart:o,onUpdate:a}){return[(0,fl.jsxs)(dn,{onClick:n,children:[(0,fl.jsx)(HT,{children:(0,fl.jsx)(V_r,{mode:e})}),(0,fl.jsx)($p,{children:"Toggle dark mode"})]},"color-mode"),(0,fl.jsx)(Y_r,{},"render-hud"),(0,fl.jsxs)(dn,{onClick:i,children:[(0,fl.jsx)(HT,{children:(0,fl.jsx)(F_r,{fontSize:"small"})}),(0,fl.jsx)($p,{children:"Keyboard shortcuts"})]},"shortcuts"),(0,fl.jsx)(qi,{},"restart-divider"),(0,fl.jsxs)(dn,{onClick:o,children:[(0,fl.jsx)(HT,{children:(0,fl.jsx)(qL,{fontSize:"small"})}),(0,fl.jsx)($p,{children:t})]},"restart"),(0,fl.jsxs)(dn,{onClick:a,children:[(0,fl.jsx)(HT,{children:(0,fl.jsx)(z_r,{fontSize:"small"})}),(0,fl.jsx)($p,{children:r})]},"update")]}var X_r=E(fe(),1);var Q_r=E($(),1);function Z_r({peer:e,onRestart:t,onClose:r}){let[n,i]=(0,X_r.useState)(!1);return(0,Q_r.jsx)(bi,{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 J_r(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 cii=Object.keys(HL);function e5r(){let e=UL();return J_r(cii.map(t=>AS(t,e)))}var _p=E($(),1),uii={display:"flex",alignItems:"center",justifyContent:"space-between",pr:1},fii={display:"flex",alignItems:"center",justifyContent:"space-between",gap:2,py:.5};function t5r({onClose:e}){let t=e5r();return(0,_p.jsxs)(Gl,{open:!0,onClose:e,maxWidth:"xs",fullWidth:!0,"aria-labelledby":"shortcuts-dialog-title",children:[(0,_p.jsxs)(_u,{id:"shortcuts-dialog-title",sx:uii,children:["Keyboard shortcuts",(0,_p.jsx)(ar,{size:"small","aria-label":"Close",onClick:e,children:(0,_p.jsx)(Wo,{fontSize:"small"})})]}),(0,_p.jsx)(ku,{dividers:!0,children:t.map(r=>(0,_p.jsxs)(J,{component:"section",sx:{mb:1.5},children:[(0,_p.jsx)(Me,{variant:"overline",color:"text.secondary",children:r.name}),r.shortcuts.map(n=>(0,_p.jsxs)(J,{sx:fii,children:[(0,_p.jsx)(Me,{variant:"body2",children:n.label}),(0,_p.jsx)(Lt,{direction:"row",spacing:.5,children:(0,_p.jsx)(ure,{chords:n.chords})})]},n.label))]},r.name))})]})}var n6=E($(),1);function r5r({reconnecting:e,onClose:t}){let{pending:r,error:n,clearError:i,restart:o}=d_(FF.target,e);return(0,n6.jsxs)(n6.Fragment,{children:[(0,n6.jsx)(bi,{title:FF.label,message:FF.message,confirmLabel:"Restart",busy:r,autoFocusConfirm:!0,onConfirm:()=>{o()},onCancel:t}),(0,n6.jsx)(Ql,{error:n,onClose:i})]})}var i5r=E($(),1);function dii(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 n5r({peer:e,onConfirm:t,onClose:r}){return(0,i5r.jsx)(bi,{...dii(e),confirmLabel:"Update",onConfirm:()=>{t(),r()},onCancel:r})}var O0=E(fe(),1);async function hii(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 o5r(e,t){let r=await hii(e);if(!r)return t;let n=r.remediation?` \u2014 ${r.remediation}`:"";return`${t}: ${r.hop} hop failed: ${r.error}${n}`}var yT=E(fe(),1);function a5r(e){let{nodes:t}=Ec(),[r,n]=(0,yT.useState)(null),i=(0,yT.useRef)(!1),o=r?t?.links.find(l=>l.name===r.peer):void 0;(0,yT.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,yT.useCallback)((l,u)=>{i.current=!1,n({peer:l,describe:u})},[]),s=(0,yT.useCallback)(()=>n(null),[]);return{watch:a,stop:s}}var pii=9e4;function Rve(){let[e,t]=(0,O0.useState)(null),[r,n]=(0,O0.useState)(null),i=(0,O0.useRef)(void 0),o=(0,O0.useCallback)(f=>{clearTimeout(i.current),t(f)},[]),{watch:a,stop:s}=a5r(o);(0,O0.useEffect)(()=>()=>clearTimeout(i.current),[]);let l=(0,O0.useCallback)(async(f,d)=>{n(await o5r(f,d))},[]);return{requestThenAwait:(0,O0.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`)},pii),!0):(await l(f,`${d} failed (${await BF(m)})`),!1)},[l,a,s]),back:e,clearBack:()=>t(null),error:r,clearError:()=>n(null)}}var mii=(e,t)=>t?`${e} is back (v${t})`:`${e} is back`;function s5r(){let{requestThenAwait:e,...t}=Rve();return{restart:n=>e(n,`Restart ${n}`,()=>f_("both",n),mii),...t}}var FX=E(fe(),1);var B0=E(fe(),1);function l5r(e){return e.commandType==="assist"&&e.assistArgs?.[0]==="update"&&e.status==="done"}function Ave(e,t,r){let[n,i]=(0,B0.useState)(!1),[o,a]=(0,B0.useState)(!1),s=(0,B0.useRef)(!1),l=(0,B0.useRef)(e);l.current=e;let u=(0,B0.useRef)(new Set),f=(0,B0.useCallback)(()=>{s.current=!1,a(!1),u.current=new Set(l.current.filter(l5r).map(d=>d.id)),i(!0)},[]);return(0,B0.useEffect)(()=>{if(!n||o)return;if(t){s.current=!0;return}if(!s.current)return;e.some(h=>l5r(h)&&h.node===r&&!u.current.has(h.id))&&a(!0)},[n,o,t,e,r]),{arm:f,completed:o}}var c5r=(e,t)=>t?`${e} updated to v${t}`:`${e} updated`;function gii(e){return fetch(`/api/self-update?node=${encodeURIComponent(e)}`,{method:"POST"})}function u5r(e){let{nodes:t}=Ec(),{launchAssist:r}=al(),{requestThenAwait:n,...i}=Rve(),[o,a]=(0,FX.useState)(null),[s,l]=(0,FX.useState)(),u=m=>t?.links.find(g=>g.name===m)?.state,{arm:f,completed:d}=Ave(e,u(s)!=="connected",s);(0,FX.useEffect)(()=>{!d||!s||(l(void 0),n(s,`Restart ${s}'s web server`,()=>f_("webserver",s),c5r))},[d,s,n]);let h=async m=>{a(`Updating assist on ${m}\u2026`),await n(m,`Update ${m}`,()=>gii(m),c5r),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 F0=E($(),1);function f5r({dialog:e,peer:t,sessions:r,reconnecting:n,onClose:i}){let{launchAssist:o,armUpdateReload:a}=al(),s=s5r(),l=u5r(r);return(0,F0.jsxs)(F0.Fragment,{children:[e==="shortcuts"&&(0,F0.jsx)(t5r,{onClose:i}),e==="restart"&&t&&(0,F0.jsx)(Z_r,{peer:t,onRestart:s.restart,onClose:i}),e==="restart"&&!t&&(0,F0.jsx)(r5r,{reconnecting:n,onClose:i}),e==="update"&&(0,F0.jsx)(n5r,{peer:t,onConfirm:()=>{if(t){l.update(t);return}a(),o(["update"])},onClose:i}),(0,F0.jsx)(QK,{notices:s}),(0,F0.jsx)(QK,{notices:l})]})}var d5r=E($(),1),h5r=ut((0,d5r.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 p5r=E(fe(),1);var $X=E($(),1);function m5r(){let e=Ni(),t=(0,p5r.useCallback)(()=>e("/config"),[e]),{matches:r,chords:n}=jn("openConfig");return Eo(r,t),(0,$X.jsx)(lr,{describeChild:!0,title:(0,$X.jsx)(Nu,{label:"Config",chords:n}),children:(0,$X.jsx)(ar,{size:"small",sx:{color:"inherit"},"aria-label":"Config",onClick:t,children:(0,$X.jsx)(h5r,{fontSize:"small"})})})}var g5r=E($(),1),y5r=ut((0,g5r.jsx)("path",{d:"M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z"}),"Menu");var Pve=E(fe(),1);var zX=E($(),1);function v5r({open:e,onOpen:t}){let r=(0,Pve.useRef)(null),{matches:n,chords:i}=jn("openMenu");return Eo(n,(0,Pve.useCallback)(()=>{r.current&&t(r.current)},[t])),(0,zX.jsx)(lr,{describeChild:!0,title:(0,zX.jsx)(Nu,{label:"Menu",chords:i}),children:(0,zX.jsx)(ar,{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,zX.jsx)(y5r,{fontSize:"small"})})})}var HX=E($(),1);function b5r({open:e,onOpen:t}){return(0,HX.jsxs)(J,{sx:{position:"fixed",top:8,right:16,zIndex:r=>r.zIndex.drawer+2,display:"flex",alignItems:"center",gap:.5,color:"inherit"},children:[(0,HX.jsx)(m5r,{}),(0,HX.jsx)(v5r,{open:e,onOpen:t})]})}var i6=E(fe(),1);var T5r=E(fe(),1);var x5r=!0,yii=new Set(["openMenu","cycleCards"]),vii=Object.keys(HL).filter(e=>!yii.has(e));function S5r(e,t){let r=UL();(0,T5r.useEffect)(()=>{if(!e)return;let n=i=>{vii.some(o=>AS(o,r).matches(i))&&t()};return globalThis.addEventListener("keydown",n,x5r),()=>globalThis.removeEventListener("keydown",n,x5r)},[e,t,r])}function C5r(){let[e,t]=(0,i6.useState)(null),[r,n]=(0,i6.useState)(!0),i=!!e,o=(0,i6.useCallback)(()=>t(null),[]),a=(0,i6.useCallback)(s=>{n(!0),t(s)},[]);return S5r(i,(0,i6.useCallback)(()=>{n(!1),t(null)},[])),{anchorEl:e,open:i,close:o,openAt:a,restoreFocus:r}}var UX=E(fe(),1);function w5r(e){Eo(jn("shortcutsSheet").matches,e)}function k5r(){let[e,t]=(0,UX.useState)(null);w5r((0,UX.useCallback)(()=>t("shortcuts"),[]));let r=(0,UX.useCallback)(()=>t(null),[]);return{dialog:e,showDialog:t,closeDialog:r}}function _5r(){let{nodes:e,selected:t}=Ec();return e&&t&&t!==e.local?t:void 0}function E5r(e){return{restartLabel:e?`Restart ${e}`:FF.label,updateLabel:e?`Update assist on ${e}`:"Update assist"}}var vT=E($(),1);function R5r({mode:e,toggle:t,sessions:r,reconnecting:n}){let{anchorEl:i,open:o,close:a,openAt:s,restoreFocus:l}=C5r(),{dialog:u,showDialog:f,closeDialog:d}=k5r(),h=_5r(),p=m=>()=>{a(),f(m)};return(0,vT.jsxs)(vT.Fragment,{children:[(0,vT.jsx)(b5r,{open:o,onOpen:s}),(0,vT.jsxs)(Os,{anchorEl:i,open:o,onClose:a,disableRestoreFocus:!l,anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:[(0,vT.jsx)(N_r,{}),K_r({mode:e,...E5r(h),onToggleColorMode:()=>{t(),a()},onShowShortcuts:p("shortcuts"),onRestart:p("restart"),onUpdate:p("update")})]}),(0,vT.jsx)(f5r,{dialog:u,peer:h,sessions:r,reconnecting:n,onClose:d})]})}var L5r=E(fe(),1);var P5r=E($(),1);function A5r({conflict:e,onConfirm:t,onCancel:r}){let{name:n,cwd:i,port:o,group:a}=e.existing,s=rm(i),l=o?` on port ${o}`:"",u=s?` in ${s}`:"",f=a?`, holding the ${a} server slot`:"";return(0,P5r.jsx)(bi,{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 Lve=E($(),1);function M5r({socket:e,children:t}){let{serverConflict:r,clearServerConflict:n,retrySession:i,stopSession:o,startRun:a,discardSession:s}=e,l=(0,L5r.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,Lve.jsxs)(Twe.Provider,{value:l,children:[t,r&&(0,Lve.jsx)(A5r,{conflict:r,onConfirm:u,onCancel:n})]})}var I5r=new Map;function D5r(e,t){if(!xie())return;let r=I5r.get(e);if(I5r.set(e,t),!!r)for(let[n,i]of Object.entries(t))Object.is(i,r[n])||Cy(`\u0394 ${e}.${n}`)}var Ive=E(fe(),1);function N5r(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||nm(i)!==t?null:n}function Rv(e,t,r){if(e)return t.find(n=>n.id===e)??r.find(n=>n.sessionId===e)}function Mve(){let{pathname:e}=Uo();return e.startsWith("/backlog")||e.startsWith("/usage")}function O5r({selectedCwd:e,selectedCardId:t,sessions:r,history:n,activeByRepo:i,onSelect:o}){let a=Rv(t,r,n),s=a&&nm(a),l=!!(s&&s===e),u=N5r(i,e,r),f=(0,Ive.useRef)(t),d=Mve();(0,Ive.useEffect)(()=>{let h=f.current!==t&&!!s;f.current=t,!(d||h||l||!u)&&o(u)},[t,s,l,u,o,d])}var Ove=E(fe(),1);function B5r(e,t,r,n){return Rv(e,t,r)?.cwd||n}function F5r(e,t,r,n){let i=B5r(e,t,r,n.cwd),o=Rv(e,t,r);return{cwd:i,node:o?.cwd?o.node:n.node}}var _Ge=E(fe(),1);function $5r(e,t,r){let{cwd:n,node:i,origin:o}=r,a=(0,_Ge.useCallback)((l,u)=>{let f=fT(u,t),d=bX(e,l);return d?d.clones[f]:f===(l===n?i:wp)?l:void 0},[e,t,n,i]),s=(0,_Ge.useCallback)(l=>bX(e,l)?.origin??(l===n?o:void 0),[e,n,o]);return{cloneOn:a,originOf:s}}var Dve=E(fe(),1);function z5r(e,t,r,n){let i=(0,Dve.useRef)(e);(0,Dve.useEffect)(()=>{if(i.current===e)return;i.current=e;let o=bX(t,r)?.clones[e];o&&n(o,e)},[e,t,r,n])}var p$=E(fe(),1);function H5r(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(wp)?wp:[...n][0]}function U5r(e,t,r,n){let[i,o]=(0,p$.useState)({cwd:e}),a=(0,p$.useCallback)((l,u,f)=>o({cwd:l,node:u,origin:f}),[]);(0,p$.useEffect)(()=>{e&&!i.cwd&&o({cwd:e})},[e,i.cwd]);let s=H5r(t,{cwd:i.cwd,node:i.node===void 0?void 0:fT(i.node,n)},r);return{selectedCwd:i.cwd,selectedNode:s||void 0,selectedPick:{cwd:i.cwd,node:s,origin:i.origin},setSelectedCwd:a}}var W5r=E(fe(),1);function Nve(e,t,r){let n=Rv(e,t,r);return n&&nm(n)}function G5r(e,t,r,n){let i=Nve(e,t,r),o=Rv(e,t,r),a=o?.node??wp,s=o?.repoGroup?.origin;(0,W5r.useEffect)(()=>{i&&n(i,a,s)},[i,a,s,n])}function V5r(e,t,r,n,i){let o=i.nodes?.local,a=fT(i.selected,o),s=(0,Ove.useMemo)(()=>dSr(e,t),[e,t]),{selectedCwd:l,selectedNode:u,selectedPick:f,setSelectedCwd:d}=U5r(e,s,a,o);G5r(r,n,t,d),z5r(a,s,l,d);let{cloneOn:h,originOf:p}=$5r(s,o,f),m=(0,Ove.useMemo)(()=>s.map(v=>hSr(v,a)),[s,a]),{cwd:g,node:y}=F5r(r,n,t,{cwd:l,node:u});return(0,Ove.useMemo)(()=>({repos:m,selectedCwd:l,selectedNode:u,worktreeCwd:g,worktreeNode:y,setSelectedCwd:d,cloneOn:h,originOf:p}),[m,l,u,g,y,d,h,p])}var Fve=E(fe(),1);var F_=E(fe(),1);var q5r=E(fe(),1),Bve="assist:reloaded-after-update";function j5r(e){(0,q5r.useEffect)(()=>{globalThis.sessionStorage?.getItem(Bve)&&(globalThis.sessionStorage.removeItem(Bve),e({message:"Reloaded after updating assist",sessionId:null}))},[e])}function Y5r(e,t,r,n){let{arm:i,completed:o}=Ave(e,t),a=(0,F_.useRef)(!1),s=(0,F_.useCallback)(()=>{globalThis.sessionStorage?.setItem(Bve,"1")},[]),{error:l,restart:u}=d_("webserver",t,s);return j5r(r),(0,F_.useEffect)(()=>{l&&n(l)},[l,n]),(0,F_.useEffect)(()=>{!o||a.current||(a.current=!0,u())},[o,u]),{armUpdateReload:(0,F_.useCallback)(()=>{a.current=!1,i()},[i])}}function K5r(e){let{armUpdateReload:t}=Y5r(e.sessions,e.reconnecting,e.setSuccess,e.setError),r=py(e.selectSession),n=(0,Fve.useMemo)(()=>({launchAssist:e.createAssistSession,launchAgentInStream:e.createSessionInStream,resumeSession:e.resumeSession,armUpdateReload:t,activateSession:r,sendInput:e.sendInput}),[e.createAssistSession,e.createSessionInStream,e.resumeSession,t,r,e.sendInput]),i=Ni(),o=(0,Fve.useCallback)(a=>{e.selectSession(a),i("/sessions"),e.clearSuccess()},[i,e.selectSession,e.clearSuccess]);return{launch:n,viewLaunchedSession:o}}var X5r=E(fe(),1);function Z5r(e,t,r,n){let i=Nve(e,t,r);(0,X5r.useEffect)(()=>{e&&i&&n({type:"set-active",cwd:i,sessionId:e})},[e,i,n])}var $ve=E(fe(),1);function Q5r(e,t){let r=(0,$ve.useRef)(new Map);(0,$ve.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 m$=E(fe(),1),J5r="assist.sessions.node";function bii(){try{return localStorage.getItem(J5r)}catch{return null}}function xii(e){try{localStorage.setItem(J5r,e)}catch{}}function eEr(e){let[t,r]=(0,m$.useState)(bii),n=(0,m$.useCallback)(i=>{r(i),xii(i)},[]);return(0,m$.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 rEr=E(fe(),1);function tEr(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 nEr(e,t){return(0,rEr.useCallback)(r=>{let n=e.current;n?.readyState===WebSocket.OPEN&&n.send(JSON.stringify(r));let i=tEr(r);i&&t(i)},[e,t])}var Av=E(fe(),1);function zve(e,t,r,n,i){e({type:"create",prompt:r||void 0,cwd:n,...t,...i?{node:i}:{}})}function iEr(e){return(t,r,n)=>zve(e,{design:!0},t,r,n)}function oEr(e){return(t,r,n,i)=>zve(e,{harness:t},r,n,i)}function aEr(e){return(t,r,n)=>zve(e,{auto:!0},t,r,n)}function sEr(e){return(t,r,n)=>e({type:"create-assist",assistArgs:t,cwd:r,...n})}function lEr(e){return(t,r,n,i,o)=>e({type:"resume",sessionId:t,cwd:r,name:n,harness:i,node:o})}function cEr(e,t){return(r,n)=>{t.delete(r),e({type:"retry",sessionId:r,replace:n})}}function uEr(e,t){return r=>{t.delete(r),e({type:"restart",sessionId:r})}}function fEr(e,t){return r=>{e({type:"dismiss",sessionId:r}),t.delete(r)}}function dEr(e,t){return r=>{e({type:"discard",sessionId:r}),t.delete(r)}}function hEr(e){return t=>e({type:"stop",sessionId:t})}function pEr(e){return(t,r,n,i,o)=>e({type:"create-run",runName:t,cwd:r,replace:n,launchedFrom:i,node:o})}function mEr(e){return(t,r)=>e({type:"set-autoapprove",sessionId:t,enabled:r})}function gEr(e){return(t,r)=>e({type:"set-autoadvance",sessionId:t,enabled:r})}function yEr(e){return(t,r)=>e({type:"set-starred",sessionId:t,starred:r})}function vEr(e){return(t,r)=>e({type:"input",sessionId:t,data:r,viewerId:ZK})}function bEr(e){return(t,r,n,i)=>e({type:"resize",sessionId:t,cols:r,rows:n,viewerId:ZK,claim:i==="claim",refresh:i==="refresh"})}function xEr(e){return(t,r,n,i)=>e({type:"pr-decision",sessionId:t,requestId:r,decision:n,...i})}var o6=E(fe(),1);function TEr(e){return(t,r,n)=>e({type:"create",prompt:r||void 0,cwd:n,joinSessionId:t,auto:!0})}function SEr(e){return{createSession:(0,o6.useMemo)(()=>aEr(e),[e]),createSessionInStream:(0,o6.useMemo)(()=>TEr(e),[e]),createDesignSession:(0,o6.useMemo)(()=>iEr(e),[e]),createHarnessSession:(0,o6.useMemo)(()=>oEr(e),[e]),createAssistSession:(0,o6.useMemo)(()=>sEr(e),[e]),resumeSession:(0,o6.useMemo)(()=>lEr(e),[e])}}var WX=E(fe(),1);function CEr(e,t){let r=(0,WX.useCallback)((a,s)=>{cEr(e,t.current)(a,s)},[e,t]),n=(0,WX.useCallback)(a=>{uEr(e,t.current)(a)},[e,t]),i=(0,WX.useCallback)(a=>{fEr(e,t.current)(a)},[e,t]),o=(0,WX.useCallback)(a=>{dEr(e,t.current)(a)},[e,t]);return{retrySession:r,restartSession:n,dismissSession:i,discardSession:o}}function wEr(e,t,r){return(n,i)=>{let o=t.get(n);return o&&(i(o),e({type:"snapshot",sessionId:n})),r.set(n,i),()=>r.delete(n)}}function kEr(e,t,r){let n={...SEr(e),sendInput:(0,Av.useMemo)(()=>vEr(e),[e]),sendResize:(0,Av.useMemo)(()=>bEr(e),[e]),sendPrDecision:(0,Av.useMemo)(()=>xEr(e),[e]),setAutoApprove:(0,Av.useMemo)(()=>mEr(e),[e]),setAutoAdvance:(0,Av.useMemo)(()=>gEr(e),[e]),setStarred:(0,Av.useMemo)(()=>yEr(e),[e]),stopSession:(0,Av.useMemo)(()=>hEr(e),[e]),startRun:(0,Av.useMemo)(()=>pEr(e),[e])},i=(0,Av.useMemo)(()=>wEr(e,t.current,r.current),[e,t,r]);return{...n,...CEr(e,t),onOutput:i}}var GX=E(fe(),1);function _Er(e,t,r){let n=(0,GX.useCallback)(s=>{r(s),e({type:"fetch-transcript",sessionId:s})},[e,r]),i=(0,GX.useCallback)(s=>e({type:"fetch-user-messages",sessionId:s}),[e]),o=(0,GX.useCallback)(()=>{r(null)},[r]),a=(0,GX.useCallback)(s=>{r(null),t(s)},[t,r]);return{viewTranscript:n,fetchUserMessages:i,clearTranscript:o,selectSession:a}}var Gve=E(fe(),1);function EEr(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 g$=E(fe(),1);function REr(){let[e,t]=(0,g$.useState)(null),r=(0,g$.useRef)(e);r.current=e;let n=(0,g$.useCallback)(()=>r.current,[]);return{activeId:e,setActiveId:t,getActiveId:n}}var PEr=E(fe(),1);function AEr(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 LEr(e,t,r){let n=Mve();(0,PEr.useEffect)(()=>{if(n){t(null);return}t(i=>AEr(e,i,r))},[e,t,r,n])}var Hve=E(fe(),1);function MEr(){let[e,t]=(0,Hve.useState)({}),[r,n]=(0,Hve.useState)(null),[i,o]=(0,Hve.useState)(null);return{activeByRepo:e,setActiveByRepo:t,daemonVersion:r,setDaemonVersion:n,nodes:i,setNodes:o}}var $0=E(fe(),1);function IEr(e,t){for(let r of t)clearTimeout(e.get(r)),e.delete(r)}function DEr(e,t){let r=new Set(t.map(n=>n.id));return[...e.keys()].filter(n=>!r.has(n))}function NEr(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 OEr(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 BEr(e,t){return t.filter(r=>r.commandType==="run"&&e.get(r.id)!==r.startedAt).map(r=>r.id)}var Tii=1500;function FEr(){let[e,t]=(0,$0.useState)(new Set),r=(0,$0.useRef)(new Map),n=(0,$0.useRef)(new Map),i=(0,$0.useCallback)(s=>{t(l=>l.has(s)?l:new Set(l).add(s))},[]),o=(0,$0.useCallback)(s=>{let l=n.current;for(let u of s)clearTimeout(l.get(u)),l.set(u,setTimeout(()=>{l.delete(u),i(u)},Tii))},[i]);(0,$0.useEffect)(()=>{let s=n.current;return()=>{for(let l of s.values())clearTimeout(l)}},[]);let a=(0,$0.useCallback)(s=>{let l=DEr(r.current,s),u=[...OEr(r.current,s),...l],f=BEr(r.current,s);r.current=new Map(s.map(d=>[d.id,d.startedAt])),IEr(n.current,l),u.length&&t(d=>NEr(d,u)),o(f)},[o]);return{initialized:e,markInitialized:i,syncSessions:a}}var $_=E(fe(),1);function $Er(){let[e,t]=(0,$_.useState)(null),[r,n]=(0,$_.useState)(null),[i,o]=(0,$_.useState)(null),a=(0,$_.useCallback)(()=>t(null),[]),s=(0,$_.useCallback)(()=>n(null),[]),l=(0,$_.useCallback)(()=>o(null),[]);return{error:e,setError:t,clearError:a,success:r,setSuccess:n,clearSuccess:s,serverConflict:i,setServerConflict:o,clearServerConflict:l}}var Pv=E(fe(),1);function zEr(e,t){return[...e,{...t,status:"launching"}]}function Uve(e){return e.find(t=>t.status==="launching")}function HEr(e){let t=Uve(e);return t?e.filter(r=>r.id!==t.id):e}function UEr(e,t){let r=Uve(e);return r?EGe(e,r.id,t):e}function EGe(e,t,r){return e.map(n=>n.id===t&&n.status==="launching"?{...n,status:"error",error:r}:n)}function WEr(e,t){return e.filter(r=>r.id!==t)}var GEr=E(fe(),1);var Sii=6e4,Cii="Launch timed out \u2014 the session did not start.";function VEr(e,t){(0,GEr.useEffect)(()=>{let r=e.filter(i=>i.status==="launching");if(r.length===0)return;let n=r.map(i=>setTimeout(()=>t(o=>EGe(o,i.id,Cii)),Math.max(0,Sii-(Date.now()-i.startedAt))));return()=>n.forEach(clearTimeout)},[e,t])}function qEr(){let[e,t]=(0,Pv.useState)([]),r=(0,Pv.useRef)([]),n=(0,Pv.useCallback)(l=>{r.current=l(r.current),t(r.current)},[]),i=(0,Pv.useCallback)(l=>{n(u=>zEr(u,{id:crypto.randomUUID(),startedAt:Date.now(),...l}))},[n]),o=(0,Pv.useCallback)(()=>{let l=Uve(r.current);return n(HEr),l?.named?l.title:void 0},[n]),a=(0,Pv.useCallback)(l=>n(u=>UEr(u,l)),[n]),s=(0,Pv.useCallback)(l=>n(u=>WEr(u,l)),[n]);return VEr(e,n),{pendingLaunches:e,addPendingLaunch:i,resolvePendingLaunch:o,failPendingLaunch:a,dismissPendingLaunch:s}}var VX=E(fe(),1);function jEr(){let[e,t]=(0,VX.useState)(null),[r,n]=(0,VX.useState)({}),i=(0,VX.useCallback)((o,a)=>{o!=="claude"&&n(s=>({...s,[o]:a}))},[]);return{rateLimits:e,setRateLimits:t,harnessRateLimits:r,setHarnessRateLimits:i}}var YEr=E(fe(),1);function KEr(e,t){return(0,YEr.useCallback)(r=>{e(r),t(r)},[e,t])}var RGe=E(fe(),1);function XEr(){let e=(0,RGe.useRef)(new Map),t=(0,RGe.useRef)(new Map);return{buffers:e,handlers:t}}var Wve=E(fe(),1);function ZEr(){let[e,t]=(0,Wve.useState)(null),[r,n]=(0,Wve.useState)(null),[i,o]=(0,Wve.useState)(null);return{transcript:e,setTranscript:t,viewingTranscriptSessionId:r,setViewingTranscriptSessionId:n,userMessages:i,setUserMessages:o}}var z_=E(fe(),1);function QEr(e,t){let r=e.sessionId;t.buffers.current?.delete(r),t.handlers.current?.get(r)?.("\x1Bc")}function JEr(e,t){let r=e.sessionId,n=t.resolvePendingLaunch();e.isNew&&t.getActiveId()!==null||(t.setViewingTranscriptSessionId(null),t.setActiveId(r)),e.isNew&&t.setSuccess({message:n?`Started ${n}`:"New session started",sessionId:r})}function e4r(e,t){let r=e.message;t.setError(r),t.failPendingLaunch(r)}function t4r(e,t){let r=e.rateLimits,n=e.harness;!n||n==="claude"?t.setRateLimits(r):t.setHarnessRateLimits?.(n,r)}function r4r(e,t){t.setNodes({local:e.local,links:e.links??[]})}function n4r(e,t){t.setSuccess({message:e.message,sessionId:null})}function i4r(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 o4r(e,t){t.setServerConflict({existing:e.existing,runName:e.runName,cwd:e.cwd,sessionId:e.sessionId,launchedFrom:e.launchedFrom,node:e.node})}function a4r(e,t){let r=e.sessions;t.setSessions(r),e.cwd&&t.setCurrentCwd(e.cwd),t.setActiveByRepo(e.active??{})}function s4r(e,t){let r=e.sessionId,n=e.data;t.buffers.current?.set(r,n),t.handlers.current?.get(r)?.(`\x1Bc${n}`)}var wii={sessions:a4r,created:JEr,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:r4r,error:e4r,notice:n4r,"run-conflict":o4r,limits:t4r,clear:QEr,output:i4r,snapshot:s4r};function l4r(e,t){wii[e.type]?.(e,t)}function c4r(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=>{l4r(JSON.parse(i.data),e)},n.onclose=()=>t.onClose?.(),n}function u4r(e,t,r,n){let i=!1,o,a=0,s=!1,l=()=>{i||t(c4r(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 f4r(e){let t=(0,z_.useRef)(null),[r,n]=(0,z_.useState)(!1),{handleSessions:i,markInitialized:o,buffers:a,handlers:s}=e;(0,z_.useEffect)(()=>{let u=()=>{a.current?.clear();let d=s.current;if(d)for(let h of d.values())h("\x1Bc")},f=u4r({...e,setSessions:i},d=>{t.current=d},u,n);return()=>{f(),t.current?.close()}},[i,o,a,s]);let l=(0,z_.useCallback)(()=>{let u=t.current;u?.readyState===WebSocket.OPEN&&u.send(JSON.stringify({type:"history"}))},[]);return{wsRef:t,requestHistory:l,reconnecting:r}}function d4r(){let[e,t]=(0,Gve.useState)([]),[r,n]=(0,Gve.useState)([]),{activeId:i,setActiveId:o,getActiveId:a}=REr(),s=MEr(),l=ZEr(),[u,f]=(0,Gve.useState)(""),d=$Er(),h=qEr(),p=jEr(),{initialized:m,markInitialized:g,syncSessions:y}=FEr(),v=XEr(),b=KEr(y,t),{wsRef:x,requestHistory:C,reconnecting:S}=f4r({handleSessions:b,setHistory:n,getActiveId:a,setActiveId:o,...s,...l,setCurrentCwd:f,...d,...h,...p,markInitialized:g,...v});return LEr(e,o,EEr(s.activeByRepo,e)),{sessions:e,history:r,activeId:i,setActiveId:o,...s,...l,currentCwd:u,...d,...h,...p,initialized:m,wsRef:x,...v,requestHistory:C,reconnecting:S}}function h4r(){let e=d4r(),{wsRef:t,buffers:r,handlers:n,addPendingLaunch:i,activeId:o,sessions:a}=e,s=eEr(e.nodes),l=nEr(t,i),u=kEr(l,r,n);Z5r(o,a,e.history,l),Q5r(a,l);let f=_Er(l,e.setActiveId,e.setViewingTranscriptSessionId);return{...e,...u,...f,nodeSelection:s}}var y$=E(fe(),1);var p4r="assist:sidebar-collapsed";function m4r(){let[e,t]=(0,y$.useState)(()=>Qu(p4r).length>0),r=(0,y$.useCallback)(()=>{t(n=>{let i=!n;return Ju(p4r,i?[!0]:[]),i})},[]);return(0,y$.useMemo)(()=>({collapsed:e,onToggleCollapsed:r}),[e,r])}var g4r=E(fe(),1);function y4r(){(0,g4r.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await fetch("/api/hotkeys");if(!t.ok)return;let r=await t.json();e||dE.set(r)}catch{}})(),()=>{e=!0}},[])}function v4r(){let e=h4r(),t=Kme(e),r=V5r(e.currentCwd,e.history,t,e.sessions,e.nodeSelection);O5r({selectedCwd:r.selectedCwd,selectedCardId:t,sessions:e.sessions,history:e.history,activeByRepo:e.activeByRepo,onSelect:e.selectSession});let{launch:n,viewLaunchedSession:i}=K5r(e);y4r();let o=m4r();return D5r("shell",{...e,selection:r,launch:n,sidebarCollapse:o}),{socket:e,selection:r,launch:n,viewLaunchedSession:i,sidebarCollapse:o}}var cg=E($(),1),kii={zIndex:e=>e.zIndex.drawer+1},_ii={minHeight:48};function b4r({mode:e,toggle:t}){let r=v4r(),{socket:n,selection:i,viewLaunchedSession:o}=r;return(0,cg.jsx)(Zkr,{shell:r,children:(0,cg.jsxs)(dGe.Provider,{value:n.daemonVersion,children:[(0,cg.jsx)(R5r,{mode:e,toggle:t,sessions:n.sessions,reconnecting:n.reconnecting}),(0,cg.jsx)(Cxe,{position:"fixed",sx:kii,"data-testid":"toolbar",children:(0,cg.jsx)(I_r,{socket:n,selection:i})}),(0,cg.jsx)(D5,{variant:"dense",sx:_ii}),(0,cg.jsx)(M5r,{socket:n,children:(0,cg.jsx)(qCr,{socket:n})}),(0,cg.jsx)(Rwr,{socket:n}),(0,cg.jsx)(Kkr,{socket:n,onViewLaunchedSession:o})]})})}var x4r=E(fe(),1);function T4r(){let[e,t]=(0,x4r.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})}}function S4r({color:e,radius:t}){return{MuiMenu:{styleOverrides:{paper:{borderRadius:t.md},list:{padding:4}}},MuiMenuItem:{styleOverrides:{root:{minHeight:30,padding:"5px 10px",borderRadius:4,fontSize:13,"&:hover":{backgroundColor:e.raised},"& .MuiListItemIcon-root":{minWidth:28},"& .MuiSvgIcon-root":{fontSize:16},"& .MuiListItemText-primary":{fontSize:13}}}}}}function C4r(e){let{color:t,radius:r,elevation:n,type:i}=e,o={border:`1px solid ${t.line}`};return{...S4r(e),MuiTooltip:{styleOverrides:{tooltip:{...o,backgroundColor:t.overlay.background,color:t.overlay.text,borderRadius:r.md,boxShadow:n.overlay,fontSize:`${i.scale.caption/16}rem`,padding:"6px 10px"},arrow:{color:t.overlay.background}}},MuiPopover:{styleOverrides:{paper:{...o,boxShadow:n.overlay}}},MuiBackdrop:{styleOverrides:{root:{"&:not(.MuiBackdrop-invisible)":{backgroundColor:t.scrim,backdropFilter:"blur(2px)"}}}},MuiDialog:{styleOverrides:{paper:{...o,backgroundColor:t.surface,borderRadius:r.md+4,boxShadow:n.dialog}}}}}var w4r=({variant:e})=>e==="outlined"||e==="tonal",k4r=[{props:{size:"small"},style:{minHeight:26,padding:"4px 9px",fontSize:12}},{props:w4r,style:{padding:"5px 11px"}},{props:e=>w4r(e)&&e.size==="small",style:{padding:"3px 8px"}}];var Vve=["primary","secondary","success","warning","error","info"];function qX(e,t){return{backgroundColor:Ir(e,t),borderColor:Ir(e,.35),color:e}}function _4r({color:e}){return[{props:{variant:"tonal"},style:{backgroundColor:e.raised,border:`1px solid ${e.line}`,color:e.text.primary,"&:hover":{backgroundColor:e.raised,borderColor:e.text.disabled}}},...Vve.filter(t=>t!=="primary").map(t=>({props:{variant:"tonal",color:t},style:{...qX(e[t].main,.16),"&:hover":qX(e[t].main,.24)}}))]}var E4r={"& > *:nth-of-type(1)":{fontSize:16}};function R4r(e){let{color:t,radius:r}=e;return{MuiButton:{defaultProps:{disableElevation:!0},styleOverrides:{root:{minHeight:30,padding:"6px 12px",borderRadius:r.sm,fontSize:13,fontWeight:600,lineHeight:"18px"},startIcon:{marginLeft:-2,marginRight:6,...E4r},endIcon:{marginLeft:6,marginRight:-2,...E4r}},variants:[...k4r,{props:{variant:"text",color:"primary"},style:{color:t.text.secondary,"&:hover":{backgroundColor:t.raised,color:t.text.primary}}},..._4r(e),{props:{variant:"outlined",color:"error"},style:{borderColor:Ir(t.error.main,.35),"&:hover":{borderColor:t.error.main,backgroundColor:Ir(t.error.main,.1)}}}]}}}function AGe({color:e},t){return[{props:{variant:t,color:"default"},style:{backgroundColor:"transparent",border:`1px solid ${e.line}`,color:e.text.secondary,"&.MuiChip-clickable:hover":{backgroundColor:e.raised}}},...Vve.map(r=>({props:{variant:t,color:r},style:{...qX(e[r].main,.14),borderColor:"transparent","& .MuiChip-deleteIcon":{color:Ir(e[r].main,.7),"&:hover, &:active":{color:e[r].main}},"&.MuiChip-clickable:hover":{backgroundColor:Ir(e[r].main,.22)}}}))]}function A4r(e){return{MuiChip:{styleOverrides:{root:{height:20,fontSize:11,fontWeight:600,borderRadius:999},sizeSmall:{height:20,"& .MuiChip-label":{padding:"0 7px"}},label:{padding:"0 8px"},icon:{fontSize:14,marginLeft:6,marginRight:-2},deleteIcon:{fontSize:14,marginLeft:-2,marginRight:4},outlined:{borderColor:e.color.line}},variants:[...AGe(e,"tonal"),...AGe(e,"filled")]}}}function P4r(e){return{...R4r(e),MuiButtonGroup:{defaultProps:{disableElevation:!0},variants:[{props:{variant:"tonal"},style:{"& .MuiButtonGroup-middleButton, & .MuiButtonGroup-lastButton":{marginLeft:-1}}}]},...A4r(e)}}var PGe=e=>`color-mix(in srgb, currentColor ${e}%, transparent)`,Eii={".MuiAppBar-root &":{color:"inherit","&:hover":{backgroundColor:PGe(8)},"&.Mui-selected":{color:"inherit",backgroundColor:PGe(12),boxShadow:`inset 0 0 0 1px ${PGe(18)}`}}};function L4r({color:e,radius:t}){return{MuiTabs:{styleOverrides:{root:{minHeight:40,alignItems:"center"},list:{gap:2},indicator:{display:"none"}}},MuiTab:{styleOverrides:{root:{minHeight:30,padding:"6px 10px",borderRadius:t.sm,textTransform:"none",fontSize:13,fontWeight:500,opacity:1,color:e.text.secondary,"&:hover":{backgroundColor:e.raised,color:e.text.primary},"&.Mui-selected":{color:e.text.primary,backgroundColor:e.raised,boxShadow:`inset 0 0 0 1px ${e.line}`},...!e.appBar&&Eii}}}}}var M4r=(e,t)=>({width:e,height:e,"& .MuiSvgIcon-root":{fontSize:t}});function I4r({color:e,radius:t}){return{MuiIconButton:{styleOverrides:{root:{...M4r(30,18),padding:0,borderRadius:t.sm,"&:hover":{backgroundColor:e.raised}}},variants:[{props:{size:"small"},style:M4r(26,16)},{props:{color:"default"},style:{color:e.text.secondary,"&:hover":{color:e.text.primary}}}]}}}function D4r({color:e,radius:t}){return{MuiToggleButtonGroup:{styleOverrides:{root:{padding:2,gap:2,border:`1px solid ${e.line}`,borderRadius:t.sm,backgroundColor:e.background},grouped:{margin:0,border:0,borderRadius:4}}},MuiToggleButton:{styleOverrides:{root:{padding:"3px 8px",border:0,borderRadius:4,fontSize:13,fontWeight:500,lineHeight:"18px",textTransform:"none",color:e.text.secondary,"& .MuiSvgIcon-root":{fontSize:16},"&:hover":{backgroundColor:"transparent",color:e.text.primary},"&.Mui-selected, &.Mui-selected:hover":{backgroundColor:e.raised,color:e.text.primary}}}}}}var qve=".MuiOutlinedInput-notchedOutline";function N4r({color:e,radius:t}){return{MuiOutlinedInput:{styleOverrides:{root:{backgroundColor:e.background,borderRadius:t.sm,fontSize:13,color:e.text.primary,[`& ${qve}`]:{borderColor:e.line},[`&:hover ${qve}`]:{borderColor:e.text.disabled},[`&.Mui-focused ${qve}`]:{borderColor:e.primary.main,borderWidth:1},[`&.Mui-error ${qve}`]:{borderColor:e.error.main}}}},MuiInputLabel:{styleOverrides:{root:{fontSize:13,color:e.text.secondary,"&.Mui-focused":{color:e.primary.main}}}},MuiSelect:{styleOverrides:{icon:{color:e.text.disabled}}}}}function O4r({color:e}){return{MuiSwitch:{styleOverrides:{root:{width:34,height:20,padding:0,"& .MuiSwitch-switchBase":{padding:2,color:e.text.secondary,"&.Mui-checked":{transform:"translateX(14px)",color:e.primary.contrastText},"&.Mui-checked + .MuiSwitch-track":{backgroundColor:e.primary.main,opacity:1}},"& .MuiSwitch-thumb":{width:16,height:16,boxShadow:"none"},"& .MuiSwitch-track":{borderRadius:10,backgroundColor:e.line,opacity:1}}}},MuiFormControlLabel:{styleOverrides:{root:{"&:has(.MuiSwitch-root)":{marginLeft:0,gap:8}}}}}}function B4r(e){let{appBar:t}=e.color;return{...C4r(e),...P4r(e),...I4r(e),...D4r(e),...N4r(e),...O4r(e),...L4r(e),MuiPaper:{styleOverrides:{root:{backgroundImage:"none"},outlined:{borderColor:e.color.line}}},MuiAppBar:{defaultProps:{elevation:e.elevation.appBar},styleOverrides:{root:t&&{backgroundColor:t.background,color:t.text,borderBottom:`1px solid ${e.color.line}`}}}}}var Lv="#0e1116",LGe="#141820",jve="#1b202a",Yve="#e3e7ee",MGe="#8a93a3",jX="#8b9cff",Kve="#5fd0a0",Xve="#f2b45a",Zve="#f27a7a",F4r={secondary:"rgba(255, 255, 255, 0.7)",hover:"rgba(255, 255, 255, 0.12)",active:"rgba(255, 255, 255, 0.16)",dot:"#ffb74d",dotRing:"rgba(0, 0, 0, 0.15)"},Qve={dark:{color:{background:Lv,surface:LGe,raised:jve,line:"#262c37",lineSoft:"#1d222b",text:{primary:Yve,secondary:MGe,disabled:"#5c6473"},selected:"rgba(139, 156, 255, 0.14)",wash:{warning:"rgba(242, 180, 90, 0.09)",error:"rgba(242, 122, 122, 0.09)"},well:Lv,stripe:jve,overlay:{background:jve,text:Yve},scrim:"rgba(0, 0, 0, 0.5)",appBar:{background:LGe,text:Yve},onAppBar:{...F4r,secondary:MGe,level:{ok:Kve,warn:Xve,over:Zve}},statusBar:{background:LGe,text:MGe,hoverText:Yve,secondary:"#5c6473",hover:jve,active:"transparent",dot:jX,dotRing:"rgba(139, 156, 255, 0.14)",readyText:jX,level:{ok:Kve,warn:Xve,over:Zve}},primary:{main:jX,contrastText:Lv},secondary:{main:"#c99bff",contrastText:Lv},success:{main:Kve,contrastText:Lv},warning:{main:Xve,contrastText:Lv},error:{main:Zve,contrastText:Lv},info:{main:"#6cb6ff",contrastText:Lv}},terminal:{background:Lv,foreground:"#d6dbe4",cursor:jX,cursorAccent:Lv,selectionBackground:"rgba(139, 156, 255, 0.28)",black:"#1b2029",red:Zve,green:Kve,yellow:Xve,blue:jX,magenta:"#c99bff",cyan:"#6cc8d8",white:"#c3c9d4",brightBlack:"#5c6473",brightRed:"#ff9a9a",brightGreen:"#82e0b6",brightYellow:"#ffc97a",brightBlue:"#a9b6ff",brightMagenta:"#dcb8ff",brightCyan:"#8fdbe8",brightWhite:"#eef1f6"},elevation:{appBar:0,overlay:"0 14px 34px rgba(0, 0, 0, 0.45)",dialog:"0 30px 60px rgba(0, 0, 0, 0.5)"}},light:{color:{background:"#fff",surface:"#fff",raised:"rgba(0, 0, 0, 0.04)",line:"rgba(0, 0, 0, 0.12)",lineSoft:"rgba(0, 0, 0, 0.12)",text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},selected:"rgba(0, 0, 0, 0.08)",wash:{warning:"rgba(255, 167, 38, 0.09)",error:"rgba(244, 67, 54, 0.09)"},well:"#f3f4f6",stripe:"rgba(0, 0, 0, 0.1)",overlay:{background:"rgba(97, 97, 97, 0.92)",text:"#fff"},onAppBar:{...F4r,level:{ok:"#b9f6ca",warn:"#ffe57f",over:"#ffcdd2"}},primary:{main:"#1976d2",light:"#42a5f5",dark:"#1565c0",contrastText:"#fff"},secondary:{main:"#9c27b0",light:"#ba68c8",dark:"#7b1fa2",contrastText:"#fff"},success:{main:"#2e7d32",light:"#4caf50",dark:"#1b5e20",contrastText:"#fff"},warning:{main:"#ed6c02",light:"#ff9800",dark:"#e65100",contrastText:"#fff"},error:{main:"#d32f2f",light:"#ef5350",dark:"#c62828",contrastText:"#fff"},info:{main:"#0288d1",light:"#03a9f4",dark:"#01579b",contrastText:"#fff"},scrim:"rgba(15, 23, 42, 0.32)",statusBar:{background:"#f3f4f6",text:"rgba(0, 0, 0, 0.6)",hoverText:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.38)",hover:"rgba(0, 0, 0, 0.06)",active:"transparent",dot:"#1976d2",dotRing:"rgba(25, 118, 210, 0.16)",readyText:"#1976d2",level:{ok:"#2e7d32",warn:"#ed6c02",over:"#d32f2f"}}},terminal:{background:"#ffffff",foreground:"#333333",cursor:"#333333",cursorAccent:"#ffffff",selectionBackground:"#add6ff",black:"#000000",red:"#cd3131",green:"#107c10",yellow:"#949800",blue:"#0451a5",magenta:"#bc05bc",cyan:"#0598bc",white:"#555555",brightBlack:"#666666",brightRed:"#cd3131",brightGreen:"#14ce14",brightYellow:"#b5ba00",brightBlue:"#0451a5",brightMagenta:"#bc05bc",brightCyan:"#0598bc",brightWhite:"#a5a5a5"},elevation:{appBar:0,overlay:"0 8px 24px rgba(15, 23, 42, 0.12)",dialog:"0 24px 48px rgba(15, 23, 42, 0.18)"}},font:{ui:'"Geist Variable", "Segoe UI", system-ui, sans-serif',mono:'"Geist Mono Variable", ui-monospace, Menlo, Consolas, monospace',terminal:'"Geist Mono Variable", ui-monospace, Menlo, Consolas, monospace'},type:{fontSize:14,terminalFontSize:13,scale:{caption:12,body2:14,body1:15,subtitle2:14,subtitle1:15,h6:16,h5:18,h4:24,button:14},button:{textTransform:"none",fontWeight:600}},radius:{sm:6,md:8},spacing:8};var bT=e=>`${e/16}rem`;function $4r({font:e,type:t}){let{scale:r}=t;return{fontFamily:e.ui,fontFamilyMono:e.mono,fontSize:t.fontSize,button:{...t.button,fontSize:bT(r.button)},caption:{fontSize:bT(r.caption)},body2:{fontSize:bT(r.body2)},body1:{fontSize:bT(r.body1)},subtitle2:{fontSize:bT(r.subtitle2)},subtitle1:{fontSize:bT(r.subtitle1)},h6:{fontSize:bT(r.h6)},h5:{fontSize:bT(r.h5)},h4:{fontSize:bT(r.h4)}}}function z4r(e){return{MuiButtonBase:{styleOverrides:{root:{cursor:"pointer","&.Mui-disabled":{cursor:"default"}}}},MuiLink:{styleOverrides:{root:{cursor:"pointer"}}},MuiAppBar:{defaultProps:{elevation:e.elevation.appBar}}}}function Rii(e){let{dark:t,light:r,...n}=Qve;return{...n,...e==="dark"?t:r,mode:e}}function H4r(e){let t=Rii(e),{color:r}=t;return q0({tokens:t,palette:{mode:e,background:{default:r.background,paper:r.surface},primary:r.primary,secondary:r.secondary,success:r.success,warning:r.warning,error:r.error,info:r.info,text:r.text,divider:r.line,action:{hover:r.raised,selected:r.selected}},typography:$4r(t),shape:{borderRadius:t.radius.sm},spacing:t.spacing,components:{...z4r(t),...B4r(t)}})}function U4r(){if(typeof document>"u"||!document.fonts)return Promise.resolve();let{font:e,type:t}=Qve;return Promise.allSettled([document.fonts.load(`${t.fontSize}px ${e.ui}`),document.fonts.load(`${t.terminalFontSize}px ${e.terminal}`)])}var W4r=E(fe(),1);var Jve=E($(),1),Aii=5;function G4r({children:e}){let[t,r]=(0,W4r.useState)(null);return(0,Jve.jsxs)(Ywe.Provider,{value:t,children:[e,(0,Jve.jsx)(J,{ref:r,"data-testid":"toast-stack",sx:{position:"fixed",zIndex:"snackbar",bottom:{xs:1,sm:3},left:{xs:1,sm:"50%"},right:{xs:1,sm:"auto"},transform:{sm:"translateX(-50%)"},display:"flex",flexDirection:"column",alignItems:{xs:"stretch",sm:"center"},gap:1,pointerEvents:"none","& > *":{pointerEvents:"auto"},[`& > :nth-last-of-type(n+${Aii+1})`]:{display:"none"}}})]})}var xT=E($(),1);function Pii(){let{mode:e,toggle:t}=T4r(),r=(0,q4r.useMemo)(()=>H4r(e),[e]);return(0,xT.jsxs)(tQ,{theme:r,children:[(0,xT.jsx)(UQ,{}),(0,xT.jsx)(G4r,{children:(0,xT.jsx)(b4r,{mode:e,toggle:t})})]})}var Lii=KCe([{path:"*",element:(0,xT.jsx)(Pii,{})}]);function Mii(){return(0,xT.jsx)(HCe,{router:Lii})}var V4r=document.getElementById("app");V4r&&U4r().then(()=>{(0,j4r.createRoot)(V4r).render((0,xT.jsx)(Mii,{}))});})();
|
|
4025
4025
|
/*! 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.
|
|
9
|
+
version: "0.947.0",
|
|
10
10
|
type: "module",
|
|
11
11
|
main: "dist/index.js",
|
|
12
12
|
bin: {
|
|
@@ -19935,7 +19935,7 @@ var PATTERN_DENIES = [
|
|
|
19935
19935
|
},
|
|
19936
19936
|
{
|
|
19937
19937
|
pattern: "gh issue edit",
|
|
19938
|
-
message: "Do not run 'gh issue edit' directly. Use 'assist github issue edit <number> [-R <owner>/<repo>] [--body <body>]' instead \u2014 it opens the body in the assist web preview pane and pushes nothing back until the user approves it. When you already know the body you want, pass it with --body (--body - reads stdin) so the first preview shows your proposal; without --body the pane shows the issue's current body. To make a targeted change to the current body, run it with --fetch first, which writes that body to a working file and prints its path without opening a preview; edit the file, then re-run without --fetch so the first preview shows your revision. Run 'assist github issue edit --help' for how the working file and the preview pane fit together; it is authoritative on how approval is handled in this environment."
|
|
19938
|
+
message: "Do not run 'gh issue edit' directly. Use 'assist github issue edit <number> [-R <owner>/<repo>] [--body <body>]' instead \u2014 it opens the body in the assist web preview pane and pushes nothing back until the user approves it. When you already know the body you want, pass it with --body (--body - reads stdin) so the first preview shows your proposal; without --body the pane shows the issue's current body. To make a targeted change to the current body, run it with --fetch first, which writes that body to a working file and prints its path without opening a preview; edit the file, then re-run without --fetch so the first preview shows your revision. Run 'assist github issue edit --help' for how the working file and the preview pane fit together; it is authoritative on how approval is handled in this environment. To remove yourself as an assignee, use 'assist github issue unassign <number> [-R <owner>/<repo>]'."
|
|
19939
19939
|
},
|
|
19940
19940
|
{
|
|
19941
19941
|
pattern: "gh issue comment",
|
|
@@ -19951,7 +19951,7 @@ var PATTERN_DENIES = [
|
|
|
19951
19951
|
enabled: () => loadConfig().cliHook?.blockNpmRun !== false
|
|
19952
19952
|
}
|
|
19953
19953
|
];
|
|
19954
|
-
var GH_ISSUE_API_MESSAGE = "Do not write to GitHub issues with 'gh api' (REST issue endpoints or GraphQL issue mutations) \u2014 it bypasses the content validation and the approval pane that every outward-facing issue write goes through. Use 'assist github issue create --title <title> --body <body>' to open an issue, 'assist github issue edit <number>' to rework one's body, 'assist github issue comment <number> --body <body>' to post a comment, or 'assist github issue edit-comment <comment-id> --body <body>' to amend a comment that is already posted. Each validates the content and gates it on the user's approval before anything reaches GitHub; run the command's --help for how to compose it.";
|
|
19954
|
+
var GH_ISSUE_API_MESSAGE = "Do not write to GitHub issues with 'gh api' (REST issue endpoints or GraphQL issue mutations) \u2014 it bypasses the content validation and the approval pane that every outward-facing issue write goes through. Use 'assist github issue create --title <title> --body <body>' to open an issue, 'assist github issue edit <number>' to rework one's body, 'assist github issue comment <number> --body <body>' to post a comment, or 'assist github issue edit-comment <comment-id> --body <body>' to amend a comment that is already posted. Each validates the content and gates it on the user's approval before anything reaches GitHub; run the command's --help for how to compose it. To remove yourself as an assignee, use 'assist github issue unassign <number> [-R <owner>/<repo>]'.";
|
|
19955
19955
|
var BRANCH_CREATION_MESSAGE = "Do not create branches with raw git. Use the /branch command, or 'assist branch <slug> [--jira <KEY>]' \u2014 it branches off the fresh remote default and enforces the team naming convention.";
|
|
19956
19956
|
var CLOSE_WITH_COMMENT_MESSAGE = "Do not post a comment through 'gh issue close', 'gh issue reopen' or 'gh pr close' with --comment/-c \u2014 it goes to GitHub without the approval pane. Post the comment first with 'assist github issue comment <number> --body <body> [-R <owner>/<repo>]', which validates it and gates it on the user's approval, then run the same close/reopen without --comment.";
|
|
19957
19957
|
var CLOSE_WITH_COMMENT_REGEX = /gh (?:issue (?:close|reopen)|pr close)[^;&|]*? (?:--comment|-c)/;
|
|
@@ -27416,16 +27416,25 @@ function moveIssueToInProgress(target) {
|
|
|
27416
27416
|
for (const item of items2) moveItem(item);
|
|
27417
27417
|
}
|
|
27418
27418
|
|
|
27419
|
-
// src/commands/github/issue/
|
|
27420
|
-
|
|
27421
|
-
function startIssue(numberArg, options2) {
|
|
27419
|
+
// src/commands/github/issue/parseIssueTarget.ts
|
|
27420
|
+
function parseIssueTarget(numberArg, repoOption, usage) {
|
|
27422
27421
|
const number = Number.parseInt(numberArg, 10);
|
|
27423
27422
|
if (!Number.isInteger(number) || number <= 0) {
|
|
27424
|
-
console.error(
|
|
27423
|
+
console.error(usage);
|
|
27425
27424
|
process.exit(1);
|
|
27426
27425
|
}
|
|
27427
|
-
const { owner, repo } = resolveIssueRepoTarget(
|
|
27428
|
-
|
|
27426
|
+
const { owner, repo } = resolveIssueRepoTarget(repoOption);
|
|
27427
|
+
return { owner, repo, number, slug: `${owner}/${repo}` };
|
|
27428
|
+
}
|
|
27429
|
+
|
|
27430
|
+
// src/commands/github/issue/startIssue.ts
|
|
27431
|
+
var USAGE5 = "Usage: assist github issue started <number> [-R <owner>/<repo>]";
|
|
27432
|
+
function startIssue(numberArg, options2) {
|
|
27433
|
+
const { owner, repo, number, slug: slug2 } = parseIssueTarget(
|
|
27434
|
+
numberArg,
|
|
27435
|
+
options2.repo,
|
|
27436
|
+
USAGE5
|
|
27437
|
+
);
|
|
27429
27438
|
try {
|
|
27430
27439
|
assignIssueToSelf(number, slug2);
|
|
27431
27440
|
} catch (error) {
|
|
@@ -27450,6 +27459,39 @@ function registerStartIssue(issueCommand) {
|
|
|
27450
27459
|
internalCommand(startedCommand, "/github started");
|
|
27451
27460
|
}
|
|
27452
27461
|
|
|
27462
|
+
// src/commands/github/issue/unassignIssue.ts
|
|
27463
|
+
var USAGE6 = "Usage: assist github issue unassign <number> [-R <owner>/<repo>]";
|
|
27464
|
+
function unassignIssue(numberArg, options2) {
|
|
27465
|
+
const { number, slug: slug2 } = parseIssueTarget(numberArg, options2.repo, USAGE6);
|
|
27466
|
+
try {
|
|
27467
|
+
runGhOrThrow(
|
|
27468
|
+
[
|
|
27469
|
+
"issue",
|
|
27470
|
+
"edit",
|
|
27471
|
+
String(number),
|
|
27472
|
+
"--repo",
|
|
27473
|
+
slug2,
|
|
27474
|
+
"--remove-assignee",
|
|
27475
|
+
"@me"
|
|
27476
|
+
],
|
|
27477
|
+
`Could not unassign you from ${slug2}#${number}`
|
|
27478
|
+
);
|
|
27479
|
+
} catch (error) {
|
|
27480
|
+
console.error(error instanceof Error ? error.message : String(error));
|
|
27481
|
+
process.exit(1);
|
|
27482
|
+
}
|
|
27483
|
+
console.log(`Removed @me from ${slug2}#${number}`);
|
|
27484
|
+
}
|
|
27485
|
+
|
|
27486
|
+
// src/commands/github/issue/registerUnassignIssue.ts
|
|
27487
|
+
function registerUnassignIssue(issueCommand) {
|
|
27488
|
+
const unassignCommand = issueCommand.command("unassign <number>").description("Remove yourself from a GitHub issue's assignees").option(
|
|
27489
|
+
"-R, --repo <owner/repo>",
|
|
27490
|
+
"Target repository (defaults to the current repo)"
|
|
27491
|
+
).action(unassignIssue);
|
|
27492
|
+
internalCommand(unassignCommand, "agents removing an assignee");
|
|
27493
|
+
}
|
|
27494
|
+
|
|
27453
27495
|
// src/commands/registerGithubIssue.ts
|
|
27454
27496
|
function registerGithubIssue(githubCommand) {
|
|
27455
27497
|
const issueCommand = githubCommand.command("issue").description("GitHub issue utilities");
|
|
@@ -27458,6 +27500,7 @@ function registerGithubIssue(githubCommand) {
|
|
|
27458
27500
|
registerCommentIssue(issueCommand);
|
|
27459
27501
|
registerEditIssueComment(issueCommand);
|
|
27460
27502
|
registerStartIssue(issueCommand);
|
|
27503
|
+
registerUnassignIssue(issueCommand);
|
|
27461
27504
|
registerFixStructure(issueCommand);
|
|
27462
27505
|
}
|
|
27463
27506
|
|
|
@@ -31789,10 +31832,10 @@ function resolveDraftState(options2, command) {
|
|
|
31789
31832
|
}
|
|
31790
31833
|
|
|
31791
31834
|
// src/commands/prs/raise.ts
|
|
31792
|
-
var
|
|
31835
|
+
var USAGE7 = "Usage: assist prs raise --title <title> --what <what> --why <why> [--how <how>] [--resolves <key>] [--screenshot '[Group/]Caption=path'] [--force]";
|
|
31793
31836
|
async function raise(options2, command) {
|
|
31794
31837
|
const screenshots = parseScreenshotSpecs(options2.screenshot);
|
|
31795
|
-
const { title, body } = buildValidatedBody(options2,
|
|
31838
|
+
const { title, body } = buildValidatedBody(options2, USAGE7);
|
|
31796
31839
|
const resolved = { ...options2, draft: resolveDraftState(options2, command) };
|
|
31797
31840
|
const existing = findOpenPrNumber();
|
|
31798
31841
|
const sessionId = process.env.ASSIST_SESSION_ID;
|
|
@@ -41102,7 +41145,7 @@ async function previewSlackThreadParts({
|
|
|
41102
41145
|
}
|
|
41103
41146
|
|
|
41104
41147
|
// src/commands/slack/postSlackMessage.ts
|
|
41105
|
-
var
|
|
41148
|
+
var USAGE8 = "Usage: assist slack post [channel] --body <body|-> | --parts <file>...";
|
|
41106
41149
|
async function postSlackMessage(channelArg, options2) {
|
|
41107
41150
|
const channel = (channelArg ?? loadConfig().slack?.channel ?? "").trim();
|
|
41108
41151
|
const body = options2.body?.trim();
|
|
@@ -41111,12 +41154,12 @@ async function postSlackMessage(channelArg, options2) {
|
|
|
41111
41154
|
console.error(
|
|
41112
41155
|
'No channel given and slack.channel is not set. Pass one, or set a default with: assist config set slack.channel "#general"'
|
|
41113
41156
|
);
|
|
41114
|
-
console.error(
|
|
41157
|
+
console.error(USAGE8);
|
|
41115
41158
|
process.exit(1);
|
|
41116
41159
|
}
|
|
41117
41160
|
if (body && partFiles.length > 0) {
|
|
41118
41161
|
console.error("Error: --parts cannot be combined with --body.");
|
|
41119
|
-
console.error(
|
|
41162
|
+
console.error(USAGE8);
|
|
41120
41163
|
process.exit(1);
|
|
41121
41164
|
}
|
|
41122
41165
|
const threadTs = options2.thread;
|
|
@@ -41126,7 +41169,7 @@ async function postSlackMessage(channelArg, options2) {
|
|
|
41126
41169
|
return;
|
|
41127
41170
|
}
|
|
41128
41171
|
if (!body) {
|
|
41129
|
-
console.error(
|
|
41172
|
+
console.error(USAGE8);
|
|
41130
41173
|
process.exit(1);
|
|
41131
41174
|
}
|
|
41132
41175
|
const { dir, bodyPath } = slackWorkingFile(channel);
|