@staff0rd/assist 0.272.2 → 0.272.3
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.
|
@@ -200,7 +200,7 @@ ${e}</tr>
|
|
|
200
200
|
`}tablecell(e){let t=this.parser.parseInline(e.tokens),r=e.header?"th":"td";return(e.align?`<${r} align="${e.align}">`:`<${r}>`)+t+`</${r}>
|
|
201
201
|
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${Gn(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:r}){let o=this.parser.parseInline(r),i=aI(e);if(i===null)return o;e=i;let n='<a href="'+e+'"';return t&&(n+=' title="'+Gn(t)+'"'),n+=">"+o+"</a>",n}image({href:e,title:t,text:r,tokens:o}){o&&(r=this.parser.parseInline(o,this.parser.textRenderer));let i=aI(e);if(i===null)return Gn(r);e=i;let n=`<img src="${e}" alt="${r}"`;return t&&(n+=` title="${Gn(t)}"`),n+=">",n}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:Gn(e.text)}},fC=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}},Vs=class iC{constructor(t){Ve(this,"options");Ve(this,"renderer");Ve(this,"textRenderer");this.options=t||Dc,this.options.renderer=this.options.renderer||new R_,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new fC}static parse(t,r){return new iC(r).parse(t)}static parseInline(t,r){return new iC(r).parseInline(t)}parse(t,r=!0){let o="";for(let i=0;i<t.length;i++){let n=t[i];if(this.options.extensions?.renderers?.[n.type]){let a=n,l=this.options.extensions.renderers[a.type].call({parser:this},a);if(l!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(a.type)){o+=l||"";continue}}let s=n;switch(s.type){case"space":{o+=this.renderer.space(s);continue}case"hr":{o+=this.renderer.hr(s);continue}case"heading":{o+=this.renderer.heading(s);continue}case"code":{o+=this.renderer.code(s);continue}case"table":{o+=this.renderer.table(s);continue}case"blockquote":{o+=this.renderer.blockquote(s);continue}case"list":{o+=this.renderer.list(s);continue}case"html":{o+=this.renderer.html(s);continue}case"paragraph":{o+=this.renderer.paragraph(s);continue}case"text":{let a=s,l=this.renderer.text(a);for(;i+1<t.length&&t[i+1].type==="text";)a=t[++i],l+=`
|
|
202
202
|
`+this.renderer.text(a);r?o+=this.renderer.paragraph({type:"paragraph",raw:l,text:l,tokens:[{type:"text",raw:l,text:l,escaped:!0}]}):o+=l;continue}default:{let a='Token with "'+s.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return o}parseInline(t,r=this.renderer){let o="";for(let i=0;i<t.length;i++){let n=t[i];if(this.options.extensions?.renderers?.[n.type]){let a=this.options.extensions.renderers[n.type].call({parser:this},n);if(a!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(n.type)){o+=a||"";continue}}let s=n;switch(s.type){case"escape":{o+=r.text(s);break}case"html":{o+=r.html(s);break}case"link":{o+=r.link(s);break}case"image":{o+=r.image(s);break}case"strong":{o+=r.strong(s);break}case"em":{o+=r.em(s);break}case"codespan":{o+=r.codespan(s);break}case"br":{o+=r.br(s);break}case"del":{o+=r.del(s);break}case"text":{o+=r.text(s);break}default:{let a='Token with "'+s.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return o}},tC,w_=(tC=class{constructor(e){Ve(this,"options");Ve(this,"block");this.options=e||Dc}preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}provideLexer(){return this.block?Ws.lex:Ws.lexInline}provideParser(){return this.block?Vs.parse:Vs.parseInline}},Ve(tC,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"])),tC),HZ=class{constructor(...e){Ve(this,"defaults",nC());Ve(this,"options",this.setOptions);Ve(this,"parse",this.parseMarkdown(!0));Ve(this,"parseInline",this.parseMarkdown(!1));Ve(this,"Parser",Vs);Ve(this,"Renderer",R_);Ve(this,"TextRenderer",fC);Ve(this,"Lexer",Ws);Ve(this,"Tokenizer",P_);Ve(this,"Hooks",w_);this.use(...e)}walkTokens(e,t){let r=[];for(let o of e)switch(r=r.concat(t.call(this,o)),o.type){case"table":{let i=o;for(let n of i.header)r=r.concat(this.walkTokens(n.tokens,t));for(let n of i.rows)for(let s of n)r=r.concat(this.walkTokens(s.tokens,t));break}case"list":{let i=o;r=r.concat(this.walkTokens(i.items,t));break}default:{let i=o;this.defaults.extensions?.childTokens?.[i.type]?this.defaults.extensions.childTokens[i.type].forEach(n=>{let s=i[n].flat(1/0);r=r.concat(this.walkTokens(s,t))}):i.tokens&&(r=r.concat(this.walkTokens(i.tokens,t)))}}return r}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(r=>{let o={...r};if(o.async=this.defaults.async||o.async||!1,r.extensions&&(r.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){let n=t.renderers[i.name];n?t.renderers[i.name]=function(...s){let a=i.renderer.apply(this,s);return a===!1&&(a=n.apply(this,s)),a}:t.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let n=t[i.level];n?n.unshift(i.tokenizer):t[i.level]=[i.tokenizer],i.start&&(i.level==="block"?t.startBlock?t.startBlock.push(i.start):t.startBlock=[i.start]:i.level==="inline"&&(t.startInline?t.startInline.push(i.start):t.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(t.childTokens[i.name]=i.childTokens)}),o.extensions=t),r.renderer){let i=this.defaults.renderer||new R_(this.defaults);for(let n in r.renderer){if(!(n in i))throw new Error(`renderer '${n}' does not exist`);if(["options","parser"].includes(n))continue;let s=n,a=r.renderer[s],l=i[s];i[s]=(...c)=>{let u=a.apply(i,c);return u===!1&&(u=l.apply(i,c)),u||""}}o.renderer=i}if(r.tokenizer){let i=this.defaults.tokenizer||new P_(this.defaults);for(let n in r.tokenizer){if(!(n in i))throw new Error(`tokenizer '${n}' does not exist`);if(["options","rules","lexer"].includes(n))continue;let s=n,a=r.tokenizer[s],l=i[s];i[s]=(...c)=>{let u=a.apply(i,c);return u===!1&&(u=l.apply(i,c)),u}}o.tokenizer=i}if(r.hooks){let i=this.defaults.hooks||new w_;for(let n in r.hooks){if(!(n in i))throw new Error(`hook '${n}' does not exist`);if(["options","block"].includes(n))continue;let s=n,a=r.hooks[s],l=i[s];w_.passThroughHooks.has(n)?i[s]=c=>{if(this.defaults.async)return Promise.resolve(a.call(i,c)).then(p=>l.call(i,p));let u=a.call(i,c);return l.call(i,u)}:i[s]=(...c)=>{let u=a.apply(i,c);return u===!1&&(u=l.apply(i,c)),u}}o.hooks=i}if(r.walkTokens){let i=this.defaults.walkTokens,n=r.walkTokens;o.walkTokens=function(s){let a=[];return a.push(n.call(this,s)),i&&(a=a.concat(i.call(this,s))),a}}this.defaults={...this.defaults,...o}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return Ws.lex(e,t??this.defaults)}parser(e,t){return Vs.parse(e,t??this.defaults)}parseMarkdown(e){return(r,o)=>{let i={...o},n={...this.defaults,...i},s=this.onError(!!n.silent,!!n.async);if(this.defaults.async===!0&&i.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof r>"u"||r===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof r!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));n.hooks&&(n.hooks.options=n,n.hooks.block=e);let a=n.hooks?n.hooks.provideLexer():e?Ws.lex:Ws.lexInline,l=n.hooks?n.hooks.provideParser():e?Vs.parse:Vs.parseInline;if(n.async)return Promise.resolve(n.hooks?n.hooks.preprocess(r):r).then(c=>a(c,n)).then(c=>n.hooks?n.hooks.processAllTokens(c):c).then(c=>n.walkTokens?Promise.all(this.walkTokens(c,n.walkTokens)).then(()=>c):c).then(c=>l(c,n)).then(c=>n.hooks?n.hooks.postprocess(c):c).catch(s);try{n.hooks&&(r=n.hooks.preprocess(r));let c=a(r,n);n.hooks&&(c=n.hooks.processAllTokens(c)),n.walkTokens&&this.walkTokens(c,n.walkTokens);let u=l(c,n);return n.hooks&&(u=n.hooks.postprocess(u)),u}catch(c){return s(c)}}}onError(e,t){return r=>{if(r.message+=`
|
|
203
|
-
Please report this to https://github.com/markedjs/marked.`,e){let o="<p>An error occurred:</p><pre>"+Gn(r.message+"",!0)+"</pre>";return t?Promise.resolve(o):o}if(t)return Promise.reject(r);throw r}}},Mc=new HZ;function Me(e,t){return Mc.parse(e,t)}Me.options=Me.setOptions=function(e){return Mc.setOptions(e),Me.defaults=Mc.defaults,uI(Me.defaults),Me};Me.getDefaults=nC;Me.defaults=Dc;Me.use=function(...e){return Mc.use(...e),Me.defaults=Mc.defaults,uI(Me.defaults),Me};Me.walkTokens=function(e,t){return Mc.walkTokens(e,t)};Me.parseInline=Mc.parseInline;Me.Parser=Vs;Me.parser=Vs.parse;Me.Renderer=R_;Me.TextRenderer=fC;Me.Lexer=Ws;Me.lexer=Ws.lex;Me.Tokenizer=P_;Me.Hooks=w_;Me.parse=Me;var B6e=Me.options,N6e=Me.setOptions,L6e=Me.use,I6e=Me.walkTokens,z6e=Me.parseInline;var F6e=Vs.parse,H6e=Ws.lex;var SI=S(N(),1),tl=S(R(),1);function UZ({text:e}){return(0,tl.jsx)(pe,{sx:t=>({border:1,borderColor:"divider",borderRadius:1,p:1.5,mt:1,minHeight:60,bgcolor:t.palette.mode==="dark"?"grey.900":"grey.50"}),dangerouslySetInnerHTML:{__html:Me.parse(e||"")}})}function xI({value:e,onChange:t}){let[r,o]=(0,SI.useState)(!1);return(0,tl.jsxs)(pe,{sx:{mb:2},children:[(0,tl.jsxs)(ee,{variant:"body2",sx:{fontWeight:"medium",mb:.5},children:["Description"," ",(0,tl.jsx)(sv,{component:"button",type:"button",variant:"caption",onClick:()=>o(!r),sx:{ml:1},children:"(preview)"})]}),(0,tl.jsx)(po,{fullWidth:!0,multiline:!0,minRows:4,size:"small",placeholder:"Markdown supported",value:e,onChange:i=>t(i.target.value)}),r&&(0,tl.jsx)(UZ,{text:e})]})}var km=S(R(),1);function TI({submitLabel:e,onCancel:t}){return(0,km.jsxs)(Ge,{direction:"row",spacing:1,sx:{mt:2},children:[(0,km.jsx)(Le,{type:"submit",variant:"contained",children:e}),(0,km.jsx)(Le,{type:"button",variant:"outlined",onClick:t,children:"Cancel"})]})}var CI=S(R(),1);function wI({value:e,onChange:t}){return(0,CI.jsx)(po,{label:"Name",required:!0,fullWidth:!0,size:"small",placeholder:"Item name",value:e,onChange:r=>t(r.target.value),sx:{mb:2}})}var Ac=S(R(),1);function PI({value:e,onChange:t}){return(0,Ac.jsxs)(dp,{sx:{mb:2},children:[(0,Ac.jsx)(mp,{children:"Type"}),(0,Ac.jsx)(kv,{row:!0,name:"type",value:e,onChange:r=>t(r.target.value),children:["story","bug"].map(r=>(0,Ac.jsx)(_a,{value:r,control:(0,Ac.jsx)(Ev,{size:"small"}),label:r.charAt(0).toUpperCase()+r.slice(1)},r))})]})}var bn=S(R(),1);function RI({title:e,submitLabel:t,type:r,onTypeChange:o,name:i,onNameChange:n,description:s,onDescriptionChange:a,initialAc:l,onAcChange:c,onCancel:u}){return(0,bn.jsxs)(bn.Fragment,{children:[(0,bn.jsx)(ee,{variant:"h6",sx:{mb:2},children:e}),(0,bn.jsx)(PI,{value:r,onChange:o}),(0,bn.jsx)(wI,{value:i,onChange:n}),(0,bn.jsx)(xI,{value:s,onChange:a}),(0,bn.jsx)(iI,{initial:l,onChange:c}),(0,bn.jsx)(TI,{submitLabel:t,onCancel:u})]})}var Cd=S(N(),1);function EI(e){let t=tI(e),[r,o]=(0,Cd.useState)(t.type),[i,n]=(0,Cd.useState)(t.name),[s,a]=(0,Cd.useState)(t.description),l=(0,Cd.useRef)(t.ac);return{defaults:t,type:r,setType:o,name:i,setName:n,description:s,setDescription:a,setAc(c){l.current=c},fields(){return{type:r,name:i,description:s,criteria:l.current}}}}var rl=S(R(),1);function O_({item:e,onReload:t,backTo:r}){let o=Ir(),i=hr(),n=EI(e);return(0,rl.jsxs)(rl.Fragment,{children:[(0,rl.jsx)(__,{to:r}),(0,rl.jsx)(vt,{component:"form",variant:"outlined",sx:{p:3},onSubmit:s=>rI(s,n.fields(),e,i,async a=>{await t(),o(`/backlog/items/${a}`)}),children:(0,rl.jsx)(RI,{title:n.defaults.title,submitLabel:n.defaults.submitLabel,type:n.type,onTypeChange:n.setType,name:n.name,onNameChange:n.setName,description:n.description,onDescriptionChange:n.setDescription,initialAc:n.defaults.ac,onAcChange:n.setAc,onCancel:()=>o(r)})})]})}var qs=S(N(),1);function jZ(e,t){let r=new URLSearchParams;e&&r.set("q",e),t&&r.set("showCompleted","true");let o=r.toString();return o?`/api/items?${o}`:"/api/items"}async function Om({query:e,cwd:t,signal:r,showCompleted:o}={}){return(await fetch(Wo(jZ(e,o),t),{signal:r})).json()}var kI=S(N(),1),OI="backlog-show-completed",hC=new Set,MI=$Z();function $Z(){try{return localStorage.getItem(OI)==="true"}catch{return!1}}function WZ(e){return hC.add(e),()=>hC.delete(e)}function VZ(){return MI}function qZ(e){MI=e;try{localStorage.setItem(OI,String(e))}catch{}for(let t of hC)t()}function Pd(){return[(0,kI.useSyncExternalStore)(WZ,VZ),qZ]}function DI(){let e=hr(),[t]=Pd(),[r,o]=(0,qs.useState)(""),[i,n]=(0,qs.useState)(null),[s,a]=(0,qs.useState)(!1),[l,c]=(0,qs.useState)(e),u=(0,qs.useRef)(void 0);return e!==l&&(c(e),n(null),a(r.trim().length>0)),(0,qs.useEffect)(()=>{if(u.current!==void 0&&clearTimeout(u.current),!r.trim()){n(null),a(!1);return}let p=new AbortController,{signal:f}=p;return a(!0),u.current=setTimeout(async()=>{try{let d=await Om({query:r,cwd:e,signal:f,showCompleted:t});if(f.aborted)return;n(d),a(!1)}catch(d){if(!f.aborted)throw d}},250),()=>{u.current!==void 0&&clearTimeout(u.current),p.abort()}},[r,e,t]),{query:r,setQuery:o,results:i,loading:s}}var mC=S(R(),1);function AI(){let[e,t]=Pd();return(0,mC.jsx)(_a,{control:(0,mC.jsx)(Pp,{checked:e,onChange:()=>t(!e),size:"small"}),label:"Show completed",slotProps:{typography:{variant:"body2",color:"text.secondary"}}})}function M_(e){return e.status==="todo"||e.status==="in-progress"}var D_={story:"info",bug:"error"},A_={todo:"default","in-progress":"warning",done:"success",wontdo:"error"};var NI=S(R(),1),KZ={flexShrink:0,fontWeight:500,fontSize:"0.75rem",height:22};function BI(){return(0,NI.jsx)(Ar,{label:"in progress",size:"small",color:A_["in-progress"],sx:KZ})}var LI=S(R(),1),yC=ve((0,LI.jsx)("path",{d:"M8 5v14l11-7z"}),"PlayArrow");var II=S(N(),1);var B_=S(N(),1),gC=(0,B_.createContext)({launchAssist:()=>{}});function N_(){return(0,B_.useContext)(gC)}var Bc=S(R(),1);function L_({itemId:e,compact:t=!1}){let{launchAssist:r}=N_(),o=Ir(),i=hr(),[n,s]=(0,II.useState)(!1),a=l=>{l.stopPropagation(),!n&&(s(!0),r(["backlog","run",String(e)],i),o("/sessions"))};return t?(0,Bc.jsx)(Ra,{title:"Build",children:(0,Bc.jsx)("span",{children:(0,Bc.jsx)(Or,{component:"span",role:"button","aria-label":"Build",color:"success",size:"small",disabled:n,onClick:a,children:(0,Bc.jsx)(yC,{})})})}):(0,Bc.jsx)(Le,{variant:"contained",color:"success",size:"small",startIcon:(0,Bc.jsx)(yC,{}),disabled:n,onClick:a,children:"Build"})}var FI=S(R(),1),GZ={todo:"\u25CB","in-progress":"\u25D4",done:"\u25CF",wontdo:"\u2715"},YZ={todo:"text.disabled","in-progress":"warning.main",done:"success.main",wontdo:"error.main"};function XZ(e){return{fontSize:"1.125rem",flexShrink:0,color:YZ[e]}}function zI({status:e}){return(0,FI.jsx)(ee,{sx:XZ(e),children:GZ[e]})}var Ks=S(R(),1),HI={display:"flex",alignItems:"center",gap:1.5,width:"100%",textAlign:"left",p:2,mb:1,borderRadius:2,border:1,borderColor:"divider",bgcolor:"background.paper",transition:"box-shadow 0.2s","&:hover":{boxShadow:3}},ZZ=HI,QZ={...HI,borderColor:"warning.main",borderLeft:4,borderLeftColor:"warning.main",bgcolor:e=>on(e.palette.warning.main,.08)},JZ={color:"text.disabled",flexShrink:0},eQ={fontWeight:500,flex:1,textAlign:"left"},tQ={flexShrink:0,fontWeight:500,fontSize:"0.75rem",height:22};function UI({item:e,onSelect:t}){let r=e.status==="in-progress";return(0,Ks.jsxs)(Ut,{onClick:t,sx:r?QZ:ZZ,children:[(0,Ks.jsx)(zI,{status:e.status}),(0,Ks.jsx)(Ar,{label:e.type,size:"small",color:D_[e.type],sx:tQ}),(0,Ks.jsxs)(ee,{variant:"body2",sx:JZ,children:["#",e.id]}),(0,Ks.jsx)(ee,{sx:eQ,children:e.name}),r&&(0,Ks.jsx)(BI,{}),M_(e)&&(0,Ks.jsx)(L_,{itemId:e.id,compact:!0})]})}var Gs=S(R(),1),rQ={display:"flex",justifyContent:"center",py:6},oQ={textAlign:"center",color:"text.disabled",py:6,px:2};function iQ({query:e}){let t=e.trim()?"No items match your search.":"No items in the backlog.";return(0,Gs.jsx)(pe,{sx:oQ,children:t})}function jI({loading:e,query:t,items:r,onSelect:o}){return e?(0,Gs.jsx)(pe,{sx:rQ,children:(0,Gs.jsx)(Bo,{})}):r.length===0?(0,Gs.jsx)(iQ,{query:t}):(0,Gs.jsx)(Gs.Fragment,{children:r.map(i=>(0,Gs.jsx)(UI,{item:i,onSelect:()=>o(i)},i.id))})}var WI=S(R(),1);function $I({value:e,onChange:t}){return(0,WI.jsx)(po,{fullWidth:!0,size:"small",placeholder:"Search backlog\u2026",value:e,onChange:r=>t(r.target.value),sx:{mb:2}})}var yi=S(R(),1),nQ={justifyContent:"space-between",alignItems:"center",mb:3},sQ={fontWeight:600},aQ={alignItems:"center"};function lQ({onAdd:e}){return(0,yi.jsxs)(Ge,{direction:"row",sx:nQ,children:[(0,yi.jsx)(ee,{variant:"h5",sx:sQ,children:"Backlog"}),(0,yi.jsxs)(Ge,{direction:"row",spacing:2,sx:aQ,children:[(0,yi.jsx)(AI,{}),(0,yi.jsx)(Le,{variant:"contained",size:"small",onClick:e,children:"+ Add Item"})]})]})}function VI({items:e,loading:t}){let r=Ir(),{query:o,setQuery:i,results:n,loading:s}=DI();return(0,yi.jsxs)(yi.Fragment,{children:[(0,yi.jsx)(lQ,{onAdd:()=>r("/backlog/add")}),(0,yi.jsx)($I,{value:o,onChange:i}),(0,yi.jsx)(jI,{loading:t||s,query:o,items:n??e,onSelect:l=>r(`/backlog/items/${l.id}`)})]})}var x3=S(N(),1);var Nc=S(N(),1);async function vC(e,t,r){let o=await fetch(Wo(`/api/items/${e}`,t),{signal:r});return o.ok?o.json():null}function qI(e){let t=hr(),[r,o]=(0,Nc.useState)(null),[i,n]=(0,Nc.useState)(!0),s=(0,Nc.useCallback)(async()=>{o(await vC(e,t))},[e,t]);return(0,Nc.useEffect)(()=>{let a=new AbortController,{signal:l}=a;return n(!0),(async()=>{try{let c=await vC(e,t,l);if(l.aborted)return;o(c),n(!1)}catch(c){if(!l.aborted)throw c}})(),()=>a.abort()},[e,t]),{item:r,loading:i,reload:s}}var KI=S(N(),1);var Ys=S(R(),1);function Rd({onConfirm:e,onCancel:t,title:r="Confirm deletion",message:o="Are you sure you want to delete this item?",confirmLabel:i="Delete"}){return(0,Ys.jsxs)(lp,{open:!0,onClose:t,maxWidth:"xs",fullWidth:!0,children:[(0,Ys.jsx)(pp,{children:r}),(0,Ys.jsx)(up,{children:(0,Ys.jsx)(ev,{children:o})}),(0,Ys.jsxs)(cp,{children:[(0,Ys.jsx)(Le,{onClick:t,children:"Cancel"}),(0,Ys.jsx)(Le,{variant:"contained",color:"error",onClick:e,children:i})]})]})}var Lc=S(R(),1);function GI({itemId:e,onDeleted:t}){let r=hr(),[o,i]=(0,KI.useState)(!1);return(0,Lc.jsxs)(Lc.Fragment,{children:[o&&(0,Lc.jsx)(Rd,{onConfirm:async()=>{await Y5(e,r),await t()},onCancel:()=>i(!1)}),(0,Lc.jsx)(Le,{variant:"contained",color:"error",size:"small",onClick:()=>i(!0),children:"Delete"})]})}var ol=S(R(),1);function YI({criteria:e}){return e.length===0?null:(0,ol.jsxs)(pe,{sx:{mb:2},children:[(0,ol.jsx)(ee,{variant:"overline",sx:{color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"},children:"Acceptance Criteria"}),(0,ol.jsx)(In,{disablePadding:!0,children:e.map((t,r)=>(0,ol.jsxs)(xa,{disableGutters:!0,disablePadding:!0,sx:{py:.5,display:"flex",alignItems:"baseline"},children:[(0,ol.jsxs)(ee,{component:"span",sx:{color:"text.secondary",mr:1},children:[r+1,"."]}),(0,ol.jsx)(pe,{component:"span",className:"markdown",dangerouslySetInnerHTML:{__html:Me.parseInline(t)}})]},t))})]})}var Ic=S(R(),1),cQ={alignItems:"center",fontSize:"0.75rem",color:"text.secondary",mb:.5},uQ={color:"text.disabled"},pQ={fontWeight:500},dQ={summary:"Phase summary",comment:"Comment"};function XI({comment:e}){return(0,Ic.jsxs)(Ge,{direction:"row",spacing:.5,sx:cQ,children:[e.id!==void 0&&(0,Ic.jsxs)(ee,{variant:"caption",sx:uQ,children:["#",e.id]}),(0,Ic.jsx)(ee,{variant:"caption",sx:pQ,children:dQ[e.type]}),e.phase!==void 0&&(0,Ic.jsxs)(ee,{variant:"caption",children:["\xB7 Phase ",e.phase]}),(0,Ic.jsxs)(ee,{variant:"caption",children:["\xB7 ",fQ(e.timestamp)]})]})}function fQ(e){return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}var ZI=S(R(),1),QI=ve((0,ZI.jsx)("path",{d:"M16 9v10H8V9zm-1.5-6h-5l-1 1H5v2h14V4h-3.5zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2z"}),"DeleteOutlined");var bC=S(N(),1);var Yn=S(R(),1),hQ={mt:-.5,mr:-.5,color:"text.secondary"};function JI({itemId:e,commentId:t,onDeleted:r}){let o=hr(),[i,n]=(0,bC.useState)(!1),[s,a]=(0,bC.useState)(),l=()=>a(void 0);return(0,Yn.jsxs)(Yn.Fragment,{children:[i&&(0,Yn.jsx)(Rd,{message:"Are you sure you want to delete this comment?",onConfirm:async()=>{n(!1);try{await X5(e,t,o),await r()}catch(c){a(c instanceof Error?c.message:"Failed to delete comment")}},onCancel:()=>n(!1)}),(0,Yn.jsx)(wp,{open:s!==void 0,autoHideDuration:6e3,onClose:l,children:(0,Yn.jsx)(Ku,{severity:"error",variant:"filled",onClose:l,children:s})}),(0,Yn.jsx)(Or,{"aria-label":"Delete comment",size:"small",sx:hQ,onClick:()=>n(!0),children:(0,Yn.jsx)(QI,{fontSize:"inherit"})})]})}var zc=S(R(),1),mQ={summary:{bgcolor:"warning.light",borderColor:"warning.dark"},comment:{bgcolor:"action.selected",borderColor:"divider"}},yQ={justifyContent:"space-between",alignItems:"flex-start"},gQ={color:"text.primary",whiteSpace:"pre-wrap"};function vQ(e){return{p:1.5,bgcolor:e.bgcolor,borderColor:e.borderColor}}function e3({comment:e,itemId:t,onDeleted:r}){return(0,zc.jsxs)(vt,{variant:"outlined",sx:vQ(mQ[e.type]),children:[(0,zc.jsxs)(Ge,{direction:"row",sx:yQ,children:[(0,zc.jsx)(XI,{comment:e}),e.id!==void 0&&t!==void 0&&r&&(0,zc.jsx)(JI,{itemId:t,commentId:e.id,onDeleted:r})]}),(0,zc.jsx)(ee,{variant:"body2",sx:gQ,children:e.text})]})}var Ed=S(R(),1),bQ={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function t3({comments:e,itemId:t,onCommentDeleted:r}){return e.length===0?null:(0,Ed.jsxs)(pe,{sx:{mb:2},children:[(0,Ed.jsx)(ee,{variant:"overline",sx:bQ,children:"Comments"}),(0,Ed.jsx)(Ge,{spacing:1,children:e.map((o,i)=>(0,Ed.jsx)(e3,{comment:o,itemId:t,onDeleted:r},`${o.timestamp}-${i}`))})]})}var I_=S(R(),1),r3={todo:{bg:"action.selected",text:"text.primary"},"in-progress":{bg:"warning.main",text:"warning.contrastText"},done:{bg:"success.main",text:"success.contrastText"},wontdo:{bg:"error.main",text:"error.contrastText"}},_Q=["todo","in-progress","done","wontdo"];function o3({current:e,onStatusChange:t}){return t?(0,I_.jsx)(xp,{value:e,onChange:r=>t(r.target.value),size:"small",sx:{fontSize:"0.75rem",fontWeight:500,borderRadius:4,bgcolor:r3[e].bg,color:r3[e].text,"& .MuiSelect-select":{py:.5,px:1.5},"& .MuiSelect-icon":{color:"inherit"}},children:_Q.map(r=>(0,I_.jsx)(wa,{value:r,children:r},r))}):(0,I_.jsx)(Ar,{label:e,size:"small",color:A_[e],sx:{fontWeight:500,fontSize:"0.75rem"}})}var kd=S(R(),1),SQ={alignItems:"center",color:"text.disabled",fontSize:"0.875rem",mb:2},xQ={fontWeight:500,fontSize:"0.75rem"};function i3({item:e,onStatusChange:t}){let r=D_[e.type];return(0,kd.jsxs)(Ge,{direction:"row",spacing:1,sx:SQ,children:[(0,kd.jsxs)(ee,{variant:"body2",color:"text.disabled",children:["#",e.id]}),r&&(0,kd.jsx)(Ar,{label:e.type,size:"small",color:r,sx:xQ}),(0,kd.jsx)(o3,{current:e.status,onStatusChange:t})]})}var s3=S(R(),1),TQ={lineHeight:1.7,"& p":{mt:0}};function n3({content:e}){return(0,s3.jsx)(pe,{className:"markdown",sx:TQ,dangerouslySetInnerHTML:{__html:Me.parse(e)}})}var Xs=S(R(),1);function a3({checks:e}){return(0,Xs.jsxs)(pe,{sx:{mt:1,pt:1},children:[(0,Xs.jsx)(ov,{sx:{mb:1}}),(0,Xs.jsx)(ee,{variant:"overline",sx:{color:"text.disabled",letterSpacing:"0.08em"},children:"Manual Checks"}),(0,Xs.jsx)(In,{disablePadding:!0,sx:{ml:.5,mt:.5},children:e.map(t=>(0,Xs.jsxs)(xa,{disableGutters:!0,disablePadding:!0,sx:{py:.25,display:"flex",alignItems:"baseline"},children:[(0,Xs.jsx)(ee,{component:"span",sx:{mr:1,fontSize:"0.875rem",color:"text.secondary"},children:"\u2610"}),(0,Xs.jsx)(pe,{component:"span",className:"markdown",sx:{fontSize:"0.875rem",color:"text.secondary"},dangerouslySetInnerHTML:{__html:Me.parseInline(t)}})]},t))})]})}var u3=S(N(),1);var l3=S(N(),1),Xn=S(R(),1);function c3({phaseName:e,onConfirm:t,onCancel:r}){let[o,i]=(0,l3.useState)("");return(0,Xn.jsxs)(lp,{open:!0,onClose:r,maxWidth:"xs",fullWidth:!0,children:[(0,Xn.jsxs)(pp,{children:["Rewind to ",e,"?"]}),(0,Xn.jsxs)(up,{children:[(0,Xn.jsx)(ee,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"This will mark all later phases as incomplete."}),(0,Xn.jsx)(po,{fullWidth:!0,multiline:!0,rows:3,size:"small",placeholder:"Reason for rewinding...",value:o,onChange:n=>i(n.target.value)})]}),(0,Xn.jsxs)(cp,{children:[(0,Xn.jsx)(Le,{onClick:r,children:"Cancel"}),(0,Xn.jsx)(Le,{variant:"contained",color:"warning",disabled:o.trim().length===0,onClick:()=>t(o.trim()),children:"Rewind"})]})]})}var Fc=S(R(),1);function p3({itemId:e,phaseNumber:t,phaseName:r,onRewound:o}){let i=hr(),[n,s]=(0,u3.useState)(!1);return(0,Fc.jsxs)(Fc.Fragment,{children:[(0,Fc.jsx)(Le,{size:"small",color:"warning",variant:"outlined",onClick:()=>s(!0),sx:{ml:"auto",textTransform:"none",fontSize:"0.75rem"},children:"Rewind"}),n&&(0,Fc.jsx)(c3,{phaseName:r,onConfirm:async a=>{await J5(e,t,a,i),await o()},onCancel:()=>s(!1)})]})}var Od=S(R(),1),wQ={done:{label:"Done",color:"success"},current:{label:"In Progress",color:"info"},upcoming:{label:"Upcoming",color:"default"}},CQ={alignItems:"center",mb:1},PQ={fontWeight:500},RQ={fontWeight:500,fontSize:"0.75rem"};function d3({phase:e,index:t,status:r,itemId:o,onRewind:i}){let n=wQ[r],s=r==="done"&&o!==void 0&&i;return(0,Od.jsxs)(Ge,{direction:"row",spacing:1,sx:CQ,children:[(0,Od.jsxs)(ee,{sx:PQ,children:["Phase ",t+1,": ",e.name]}),(0,Od.jsx)(Ar,{label:n.label,size:"small",color:n.color,sx:RQ}),s&&(0,Od.jsx)(p3,{itemId:o,phaseNumber:t+1,phaseName:e.name,onRewound:i})]})}var Md=S(R(),1);function f3({tasks:e,marker:t}){return(0,Md.jsx)(In,{disablePadding:!0,sx:{ml:.5},children:e.map(r=>(0,Md.jsxs)(xa,{disableGutters:!0,disablePadding:!0,sx:{py:.25,display:"flex",alignItems:"baseline"},children:[(0,Md.jsx)(ee,{component:"span",sx:{color:"text.secondary",mr:1},children:t}),(0,Md.jsx)(pe,{component:"span",className:"markdown",dangerouslySetInnerHTML:{__html:Me.parseInline(r.task)}})]},r.task))})}var Dd=S(R(),1),EQ={done:{borderColor:"success.light",bgcolor:"success.light"},current:{borderColor:"info.main",bgcolor:"info.light",ring:"info.light"},upcoming:{borderColor:"divider",bgcolor:"background.paper"}};function kQ(e){return{p:2,borderColor:e.borderColor,bgcolor:e.bgcolor,...e.ring?{boxShadow:"0 0 0 2px",borderColor:"info.main"}:{}}}var OQ={done:"\u2713",current:"\u2022",upcoming:"\u2022"};function h3({phase:e,index:t,status:r,itemId:o,onRewind:i}){let n=e.manualChecks??[];return(0,Dd.jsxs)(vt,{variant:"outlined",sx:kQ(EQ[r]),children:[(0,Dd.jsx)(d3,{phase:e,index:t,status:r,itemId:o,onRewind:i}),(0,Dd.jsx)(f3,{tasks:e.tasks,marker:OQ[r]}),n.length>0&&(0,Dd.jsx)(a3,{checks:n})]})}var Ad=S(R(),1);function MQ(e,t){if(t===void 0)return"upcoming";let r=e+1;return r<t?"done":r===t?"current":"upcoming"}function m3({phases:e,currentPhase:t,itemId:r,onRewind:o}){return e.length===0?null:(0,Ad.jsxs)(pe,{sx:{mb:2},children:[(0,Ad.jsx)(ee,{variant:"overline",sx:{color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"},children:"Plan"}),(0,Ad.jsx)(Ge,{spacing:1.5,children:e.map((i,n)=>(0,Ad.jsx)(h3,{phase:i,index:n,status:MQ(n,t),itemId:r,onRewind:o},i.name))})]})}var _n=S(R(),1),DQ={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function y3({item:e,onStatusChange:t,onRewind:r,onCommentDeleted:o}){return(0,_n.jsxs)(vt,{variant:"outlined",sx:{p:3},children:[(0,_n.jsx)(ee,{variant:"h5",component:"h2",children:e.name}),(0,_n.jsx)(i3,{item:e,onStatusChange:t}),e.description&&(0,_n.jsxs)(pe,{sx:{mb:2},children:[(0,_n.jsx)(ee,{variant:"overline",sx:DQ,children:"Description"}),(0,_n.jsx)(n3,{content:e.description})]}),(0,_n.jsx)(YI,{criteria:e.acceptanceCriteria}),e.plan&&(0,_n.jsx)(m3,{phases:e.plan,currentPhase:e.currentPhase,itemId:e.id,onRewind:r}),e.comments&&(0,_n.jsx)(t3,{comments:e.comments,itemId:e.id,onCommentDeleted:o})]})}var g3=S(R(),1),v3=ve((0,g3.jsx)("path",{d:"M3 17v2h6v-2zM3 5v2h10V5zm10 16v-2h8v-2h-8v-2h-2v6zM7 9v2H3v2h4v2h2V9zm14 4v-2H11v2zm-6-4h2V7h4V5h-4V3h-2z"}),"Tune");var b3=S(N(),1);var _C=S(R(),1);function _3({itemId:e}){let{launchAssist:t}=N_(),r=Ir(),o=hr(),[i,n]=(0,b3.useState)(!1);return(0,_C.jsx)(Le,{variant:"outlined",size:"small",startIcon:(0,_C.jsx)(v3,{}),disabled:i,onClick:a=>{a.stopPropagation(),!i&&(n(!0),t(["refine","--once",String(e)],o),r("/sessions"))},children:"Refine"})}var Wi=S(R(),1),AQ={justifyContent:"space-between",alignItems:"center",mb:2};function BQ({item:e,onDeleted:t}){let r=Ir();return(0,Wi.jsxs)(Ge,{direction:"row",sx:AQ,children:[(0,Wi.jsx)(__,{to:"/backlog"}),(0,Wi.jsxs)(Ge,{direction:"row",spacing:1,children:[M_(e)&&(0,Wi.jsx)(L_,{itemId:e.id}),(0,Wi.jsx)(_3,{itemId:e.id}),(0,Wi.jsx)(Le,{variant:"contained",color:"inherit",size:"small",onClick:()=>r(`/backlog/items/${e.id}/edit`),children:"Edit"}),(0,Wi.jsx)(GI,{itemId:e.id,onDeleted:t})]})]})}function S3({item:e,onReload:t}){let r=Ir(),o=hr();return(0,Wi.jsxs)(pe,{children:[(0,Wi.jsx)(BQ,{item:e,onDeleted:async()=>{await t(),r("/backlog")}}),(0,Wi.jsx)(y3,{item:e,onStatusChange:async s=>{await Q5(e.id,s,o),await t()},onRewind:t,onCommentDeleted:t})]})}var Mm=S(R(),1),NQ={display:"flex",justifyContent:"center",py:6};function SC({mode:e,onReload:t}){let{id:r}=Uw(),o=Number(r),{item:i,loading:n,reload:s}=qI(o),a=(0,x3.useCallback)(async()=>{await Promise.all([s(),t()])},[s,t]);return n?(0,Mm.jsx)(pe,{sx:NQ,children:(0,Mm.jsx)(Bo,{})}):i?e==="edit"?(0,Mm.jsx)(O_,{item:i,onReload:a,backTo:`/backlog/items/${o}`}):(0,Mm.jsx)(S3,{item:i,onReload:a}):null}var Sn=S(R(),1);function T3({items:e,loading:t,onReload:r}){return(0,Sn.jsxs)(Oc,{children:[(0,Sn.jsx)(mi,{index:!0,element:(0,Sn.jsx)(VI,{items:e,loading:t})}),(0,Sn.jsx)(mi,{path:"items/:id",element:(0,Sn.jsx)(SC,{mode:"detail",onReload:r})}),(0,Sn.jsx)(mi,{path:"items/:id/edit",element:(0,Sn.jsx)(SC,{mode:"edit",onReload:r})}),(0,Sn.jsx)(mi,{path:"add",element:(0,Sn.jsx)(O_,{onReload:r,backTo:"/backlog"})})]})}var Zn=S(N(),1);async function w3(e,t){return(await(await fetch(Wo("/api/backlog/exists",e),{signal:t})).json()).exists}function C3(){let e=hr(),[t]=Pd(),[r,o]=(0,Zn.useState)([]),[i,n]=(0,Zn.useState)(!0),[s,a]=(0,Zn.useState)(!0),[l,c]=(0,Zn.useState)(e);e!==l&&(c(e),o([]),n(!0),a(!0));let u=(0,Zn.useCallback)(async()=>{o(await Om({cwd:e,showCompleted:t})),n(!1)},[e,t]);(0,Zn.useEffect)(()=>{let f=new AbortController,{signal:d}=f;return n(!0),a(!0),(async()=>{try{let h=await w3(e,d),y=h?await Om({cwd:e,signal:d,showCompleted:t}):[];if(d.aborted)return;a(h),o(y),n(!1)}catch(h){if(!d.aborted)throw h}})(),()=>f.abort()},[e,t]);let p=(0,Zn.useCallback)(async()=>{await K5(e),a(!0),n(!0),await u()},[e,u]);return{items:r,loading:i,exists:s,reload:u,initialize:p}}var Dm=S(R(),1);function P3(){let{items:e,loading:t,exists:r,reload:o,initialize:i}=C3();return r?(0,Dm.jsx)(Oc,{children:(0,Dm.jsx)(mi,{path:"/*",element:(0,Dm.jsx)(T3,{items:e,loading:t,onReload:o})})}):(0,Dm.jsx)(V5,{onInit:i})}var S0=S(N(),1);var i4=S(N(),1);var $_=S(N(),1);function R3(e){if(!e)return"";let t=e.split(/[/\\]/).filter(Boolean);return t[t.length-1]??""}function z_(e){if(e.activity?.kind==="backlog")return"next";switch(e.commandType){case"assist":{let t=e.assistArgs?.[0];return t==="draft"||t==="bug"||t==="next"||t==="refine"?t:"prompt"}case"run":return"run";default:return"prompt"}}var Vo=S(R(),1),Am={height:18,fontSize:"0.65rem"};function E3({session:e}){let t=R3(e.cwd),{activity:r}=e,o=r?.kind==="backlog",i=o&&r.phase===r.totalPhases;return(0,Vo.jsxs)(Vo.Fragment,{children:[t&&(0,Vo.jsx)(Ar,{label:t,size:"small",sx:Am}),o?(0,Vo.jsxs)(Vo.Fragment,{children:[(0,Vo.jsx)(Ar,{label:`#${r.itemId}`,size:"small",sx:Am,clickable:!0,component:Sd,to:`/backlog/items/${r.itemId}`,onClick:n=>n.stopPropagation()}),(0,Vo.jsx)(Ar,{label:`${r.phase}/${r.totalPhases}`,size:"small",color:i?"primary":"default",sx:Am})]}):(0,Vo.jsxs)(Vo.Fragment,{children:[(0,Vo.jsx)(Ar,{label:z_(e),size:"small",color:"primary",variant:"outlined",sx:Am}),r?.itemId!=null&&(0,Vo.jsx)(Ar,{label:`#${r.itemId}`,size:"small",sx:Am,clickable:!0,component:Sd,to:`/backlog/items/${r.itemId}`,onClick:n=>n.stopPropagation()})]})]})}var k3=S(R(),1),O3=ve((0,k3.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");var M3=S(N(),1);var il=S(R(),1);function D3({status:e,onDismiss:t}){let[r,o]=(0,M3.useState)(!1),i=e==="done";return(0,il.jsxs)(il.Fragment,{children:[(0,il.jsx)(Or,{size:"small",onClick:n=>{n.stopPropagation(),i?t():o(!0)},title:"Dismiss",sx:{color:"text.disabled","&:hover":{color:"text.primary"}},children:(0,il.jsx)(O3,{sx:{fontSize:16}})}),r&&(0,il.jsx)(Rd,{title:"End session",message:"This will stop the running session and kill its process. Are you sure?",confirmLabel:"End session",onConfirm:()=>{o(!1),t()},onCancel:()=>o(!1)})]})}var A3=S(R(),1),B3=ve((0,A3.jsx)("path",{d:"M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8"}),"Replay");var xC=S(R(),1);function N3({onRetry:e}){return(0,xC.jsx)(Or,{size:"small",onClick:t=>{t.stopPropagation(),e()},title:"Retry",sx:{color:"text.disabled","&:hover":{color:"text.primary"}},children:(0,xC.jsx)(B3,{sx:{fontSize:14}})})}function L3(e){let{activity:t}=e;if(t?.kind==="backlog")return t.itemName??e.name;if(e.assistArgs?.[0]==="refine"&&t?.itemName)return t.itemName;switch(e.commandType){case"assist":return LQ(e.assistArgs)??e.assistArgs?.[0]??e.name;case"run":return e.runName?`run: ${e.runName}`:e.name;default:return e.name}}function LQ(e){let t=e?.slice(1).filter(r=>!r.startsWith("--"));return t?.[t.length-1]}var Zs=S(R(),1);function F_(e){return{display:"block",width:"100%",textAlign:"left",p:"10px 12px",mb:.5,borderRadius:1.5,bgcolor:e?"action.selected":"background.default",border:1,borderColor:e?"primary.main":"transparent",cursor:"pointer",transition:"background 0.15s","&:hover":e?void 0:{bgcolor:"action.hover"}}}function I3({session:e,onRetry:t,onDismiss:r}){let{status:o}=e;return(0,Zs.jsxs)(pe,{sx:{display:"flex",flexDirection:"column",gap:.5},children:[(0,Zs.jsxs)(pe,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,Zs.jsx)(E3,{session:e}),(0,Zs.jsx)(pe,{sx:{flex:1}}),o==="done"&&t&&(0,Zs.jsx)(N3,{onRetry:t}),(0,Zs.jsx)(D3,{status:o,onDismiss:r})]}),(0,Zs.jsx)(ee,{variant:"body2",sx:{color:"text.primary",overflowWrap:"anywhere"},children:L3(e)})]})}function z3(e){let t=Date.now()-new Date(e).getTime(),r=Math.floor(t/1e3);if(r<60)return"just now";let o=Math.floor(r/60);if(o<60)return`${o}m ago`;let i=Math.floor(o/60);if(i<24)return`${i}h ago`;let n=Math.floor(i/24);return n<30?`${n}d ago`:`${Math.floor(n/30)}mo ago`}var Hc=S(R(),1);function F3({session:e,onResume:t}){return(0,Hc.jsxs)(Ut,{onClick:()=>t(e),sx:F_(!1),children:[(0,Hc.jsx)(ee,{variant:"body2",noWrap:!0,sx:{color:"text.primary"},children:e.name}),(0,Hc.jsxs)(pe,{sx:{display:"flex",justifyContent:"space-between",mt:.5},children:[(0,Hc.jsx)(ee,{variant:"caption",color:"info.main",children:e.project}),(0,Hc.jsx)(ee,{variant:"caption",color:"text.disabled",children:z3(e.timestamp)})]})]})}var U_=S(N(),1);var H3=S(R(),1),U3=ve((0,H3.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");var j3=S(R(),1),$3=ve((0,j3.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");var H_=S(R(),1);function W3({label:e,open:t,onClick:r,disabled:o=!1}){return(0,H_.jsx)(Le,{size:"small",variant:"outlined",disabled:o,onClick:r,endIcon:t?(0,H_.jsx)($3,{}):(0,H_.jsx)(U3,{}),sx:{textTransform:"none",fontSize:11,justifyContent:"space-between",maxWidth:"100%",overflow:"hidden"},fullWidth:!0,children:e})}var j_=S(R(),1),Bd={position:"absolute",top:"100%",left:0,right:0,mt:.25,maxHeight:200,overflowY:"auto",zIndex:10};function Nd({label:e,children:t,disabled:r=!1}){let[o,i]=(0,U_.useState)(!1),n=(0,U_.useRef)(null);return(0,j_.jsxs)(vt,{component:"fieldset",ref:n,variant:"outlined",sx:{position:"relative",border:"none",m:0,p:0},onBlur:s=>{n.current?.contains(s.relatedTarget)||i(!1)},children:[(0,j_.jsx)(W3,{label:e,open:o,disabled:r,onClick:()=>i(!o)}),o&&t(()=>i(!1))]})}var Ld=S(R(),1);function V3({items:e,selected:t,onToggle:r}){return(0,Ld.jsx)(ic,{dense:!0,sx:Bd,children:e.map(o=>(0,Ld.jsxs)(wa,{onClick:()=>r(o),dense:!0,children:[(0,Ld.jsx)(hx,{size:"small",checked:t.has(o),sx:{p:0,mr:1}}),(0,Ld.jsx)(Mx,{primary:o,slotProps:{primary:{variant:"caption"}}})]},o))})}var TC=S(R(),1);function IQ(e){return e.size===0?"All projects":e.size===1?[...e][0]:`${e.size} projects`}function q3({projects:e,selected:t,onChange:r}){let o=i=>{let n=new Set(t);n.has(i)?n.delete(i):n.add(i),r(n)};return(0,TC.jsx)(Nd,{label:IQ(t),children:()=>(0,TC.jsx)(V3,{items:e,selected:t,onToggle:o})})}function K3(e){let t=new Set;for(let r of e)t.add(r.project);return[...t].sort()}function G3(e,t){return t.size===0?e:e.filter(r=>t.has(r.project))}var Qn=S(R(),1);function zQ({hasAny:e}){return(0,Qn.jsx)(ee,{variant:"caption",color:"text.disabled",sx:{display:"block",textAlign:"center",p:2},children:e?"No sessions match filter":"No session history"})}function FQ({sessions:e,onResume:t}){return(0,Qn.jsxs)(pe,{sx:{flex:1,overflow:"auto",p:1},children:[e.map(r=>(0,Qn.jsx)(F3,{session:r,onResume:t},r.sessionId)),e.length===0&&(0,Qn.jsx)(zQ,{hasAny:!1})]})}function Y3({sessions:e,onResume:t}){let[r,o]=(0,$_.useState)(new Set),i=(0,$_.useMemo)(()=>K3(e),[e]),n=G3(e,r);return(0,Qn.jsxs)(pe,{sx:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden"},children:[i.length>1&&(0,Qn.jsx)(pe,{sx:{px:1,pt:1},children:(0,Qn.jsx)(q3,{projects:i,selected:r,onChange:o})}),(0,Qn.jsx)(FQ,{sessions:n,onResume:t})]})}var wC=S(R(),1);function X3({checked:e,onChange:t}){return(0,wC.jsx)(_a,{sx:{m:0,mt:.5},onClick:r=>r.stopPropagation(),control:(0,wC.jsx)(Pp,{size:"small",checked:e,onChange:r=>t(r.target.checked)}),label:"Auto-run",slotProps:{typography:{variant:"caption",color:"text.secondary"}}})}var Uc=S(R(),1),HQ={running:"success.main",waiting:"warning.main",done:"info.main"};function Z3({status:e,elapsed:t,restored:r}){return(0,Uc.jsxs)(pe,{sx:{display:"flex",justifyContent:"space-between",mt:.5},children:[(0,Uc.jsxs)(pe,{sx:{display:"flex",gap:1},children:[(0,Uc.jsxs)(ee,{variant:"caption",sx:{color:HQ[e]},children:["\u25CF ",e]}),r!==void 0&&(0,Uc.jsx)(ee,{variant:"caption",sx:{color:r?"success.main":"warning.main"},children:r?"restored":"not restored"})]}),(0,Uc.jsx)(ee,{variant:"caption",color:"text.disabled",children:t})]})}var Id=S(N(),1);function Q3(e,t){let[,r]=(0,Id.useState)(0),o=t==="done";(0,Id.useEffect)(()=>{if(o)return;let l=setInterval(()=>r(c=>c+1),1e3);return()=>clearInterval(l)},[o]);let i=(0,Id.useRef)(null);o?i.current??(i.current=Date.now()-e):i.current=null;let n=Math.floor((i.current??Date.now()-e)/1e3),s=Math.floor(n/60),a=n%60;return s>=60?`${Math.floor(s/60)}h ${s%60}m`:s>0?`${s}m ${a}s`:`${a}s`}var Vi=S(R(),1);function J3({session:e,active:t,loading:r,onClick:o,onRetry:i,onDismiss:n,onSetAutoRun:s}){let a=Q3(e.startedAt,e.status),l=z_(e),c=l==="draft"||l==="bug"||l==="refine";return(0,Vi.jsxs)(Ut,{onClick:o,sx:F_(t),children:[(0,Vi.jsx)(I3,{session:e,onRetry:i,onDismiss:n}),r?(0,Vi.jsxs)(pe,{sx:{display:"flex",alignItems:"center",gap:1,mt:.5},children:[(0,Vi.jsx)(Bo,{size:12}),(0,Vi.jsx)(ee,{variant:"caption",color:"text.disabled",children:"Starting\u2026"})]}):(0,Vi.jsxs)(Vi.Fragment,{children:[(0,Vi.jsx)(Z3,{status:e.status,elapsed:a,restored:e.restored}),c&&(0,Vi.jsx)(X3,{checked:e.autoRun??!1,onChange:s})]})]})}var Bm=S(R(),1);function e4({sessions:e,activeId:t,initialized:r,onSelect:o,onRetry:i,onDismiss:n,onSetAutoRun:s}){return(0,Bm.jsxs)(pe,{sx:{flex:1,overflow:"auto",p:1},children:[e.map(a=>(0,Bm.jsx)(J3,{session:a,active:a.id===t,loading:!r.has(a.id),onClick:()=>o(a.id),onRetry:(a.commandType==="run"||a.commandType==="assist")&&a.status==="done"?()=>i(a.id):void 0,onDismiss:()=>n(a.id),onSetAutoRun:l=>s(a.id,l)},a.id)),e.length===0&&(0,Bm.jsx)(ee,{variant:"caption",color:"text.disabled",sx:{display:"block",textAlign:"center",p:2},children:"No sessions yet"})]})}var Nm=S(R(),1),t4={minHeight:36,py:0,fontSize:12};function r4({tab:e,activeCount:t,historyCount:r,onChange:o}){return(0,Nm.jsxs)(Sh,{value:e==="active"?0:1,onChange:(n,s)=>o(s===0?"active":"history"),variant:"fullWidth",sx:{borderBottom:1,borderColor:"divider",minHeight:36},children:[(0,Nm.jsx)(nc,{label:`Active ${t}`,sx:t4}),(0,Nm.jsx)(nc,{label:`History ${r}`,sx:t4})]})}var zd=S(R(),1),UQ={width:"25%",borderRight:1,borderColor:"divider",display:"flex",flexDirection:"column",bgcolor:"background.paper"};function o4(e){return(0,zd.jsxs)(pe,{sx:UQ,children:[(0,zd.jsx)(r4,{tab:e.tab,activeCount:e.sessions.length,historyCount:e.history.length,onChange:e.onTabChange}),e.tab==="active"?(0,zd.jsx)(e4,{sessions:e.sessions,activeId:e.activeId,initialized:e.initialized,onSelect:e.onSelect,onRetry:e.onRetry,onDismiss:e.onDismiss,onSetAutoRun:e.onSetAutoRun}):(0,zd.jsx)(Y3,{sessions:e.history,onResume:e.onResume})]})}var s4=S(R(),1);function n4({socket:e,tab:t,onTabChange:r}){let o=(0,i4.useCallback)(i=>{e.resumeSession(i.sessionId,i.cwd,i.name),r("active")},[e.resumeSession,r]);return(0,s4.jsx)(o4,{sessions:e.sessions,history:e.history,activeId:e.activeId,tab:t,onTabChange:r,onSelect:e.setActiveId,onResume:o,onRetry:e.retrySession,onDismiss:e.dismissSession,onSetAutoRun:e.setAutoRun,initialized:e.initialized})}var Lm=S(R(),1);function a4(){return(0,Lm.jsxs)(pe,{sx:{position:"absolute",inset:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,bgcolor:"background.default"},children:[(0,Lm.jsx)(Bo,{size:28}),(0,Lm.jsx)(ee,{variant:"body2",color:"text.disabled",children:"Starting session\u2026"})]})}var y6=S(N(),1);var sy=S(N(),1);var jQ=2,$Q=1,l4=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,r=window.getComputedStyle(this._terminal.element.parentElement),o=parseInt(r.getPropertyValue("height")),i=Math.max(0,parseInt(r.getPropertyValue("width"))),n=window.getComputedStyle(this._terminal.element),s={top:parseInt(n.getPropertyValue("padding-top")),bottom:parseInt(n.getPropertyValue("padding-bottom")),right:parseInt(n.getPropertyValue("padding-right")),left:parseInt(n.getPropertyValue("padding-left"))},a=s.top+s.bottom,l=s.right+s.left,c=o-a,u=i-l-t;return{cols:Math.max(jQ,Math.floor(u/e.css.cell.width)),rows:Math.max($Q,Math.floor(c/e.css.cell.height))}}};var WQ=class{constructor(e,t,r,o={}){this._terminal=e,this._regex=t,this._handler=r,this._options=o}provideLinks(e,t){let r=qQ.computeLink(e,this._regex,this._terminal,this._handler);t(this._addCallbacks(r))}_addCallbacks(e){return e.map(t=>(t.leave=this._options.leave,t.hover=(r,o)=>{if(this._options.hover){let{range:i}=t;this._options.hover(r,o,i)}},t))}};function VQ(e){try{let t=new URL(e),r=t.password&&t.username?`${t.protocol}//${t.username}:${t.password}@${t.host}`:t.username?`${t.protocol}//${t.username}@${t.host}`:`${t.protocol}//${t.host}`;return e.toLocaleLowerCase().startsWith(r.toLocaleLowerCase())}catch{return!1}}var qQ=class W_{static computeLink(t,r,o,i){let n=new RegExp(r.source,(r.flags||"")+"g"),[s,a]=W_._getWindowedLineStrings(t-1,o),l=s.join(""),c,u=[];for(;c=n.exec(l);){let p=c[0];if(!VQ(p))continue;let[f,d]=W_._mapStrIdx(o,a,0,c.index),[h,y]=W_._mapStrIdx(o,f,d,p.length);if(f===-1||d===-1||h===-1||y===-1)continue;let b={start:{x:d+1,y:f+1},end:{x:y,y:h+1}};u.push({range:b,text:p,activate:i})}return u}static _getWindowedLineStrings(t,r){let o,i=t,n=t,s=0,a="",l=[];if(o=r.buffer.active.getLine(t)){let c=o.translateToString(!0);if(o.isWrapped&&c[0]!==" "){for(s=0;(o=r.buffer.active.getLine(--i))&&s<2048&&(a=o.translateToString(!0),s+=a.length,l.push(a),!(!o.isWrapped||a.indexOf(" ")!==-1)););l.reverse()}for(l.push(c),s=0;(o=r.buffer.active.getLine(++n))&&o.isWrapped&&s<2048&&(a=o.translateToString(!0),s+=a.length,l.push(a),a.indexOf(" ")===-1););}return[l,i]}static _mapStrIdx(t,r,o,i){let n=t.buffer.active,s=n.getNullCell(),a=o;for(;i;){let l=n.getLine(r);if(!l)return[-1,-1];for(let c=a;c<l.length;++c){l.getCell(c,s);let u=s.getChars();if(s.getWidth()&&(i-=u.length||1,c===l.length-1&&u==="")){let p=n.getLine(r+1);p&&p.isWrapped&&(p.getCell(0,s),s.getWidth()===2&&(i+=1))}if(i<0)return[r,c]}r++,a=0}return[r,a]}},KQ=/(https?|HTTPS?):[/]{2}[^\s"'!*(){}|\\\^<>`]*[^\s"':,.!?{}|\\\^~\[\]`()<>]/;function GQ(e,t){let r=window.open();if(r){try{r.opener=null}catch{}r.location.href=t}else console.warn("Opening link blocked as opener could not be cleared")}var c4=class{constructor(e=GQ,t={}){this._handler=e,this._options=t}activate(e){this._terminal=e;let t=this._options,r=t.urlRegex||KQ;this._linkProvider=this._terminal.registerLinkProvider(new WQ(this._terminal,r,this._handler,t))}dispose(){this._linkProvider?.dispose()}};var fz=Object.defineProperty,YQ=Object.getOwnPropertyDescriptor,XQ=(e,t)=>{for(var r in t)fz(e,r,{get:t[r],enumerable:!0})},Qt=(e,t,r,o)=>{for(var i=o>1?void 0:o?YQ(t,r):t,n=e.length-1,s;n>=0;n--)(s=e[n])&&(i=(o?s(t,r,i):s(i))||i);return o&&i&&fz(t,r,i),i},ie=(e,t)=>(r,o)=>t(r,o,e),u4="Terminal input",UC={get:()=>u4,set:e=>u4=e},p4="Too much output to announce, navigate to rows manually to read",jC={get:()=>p4,set:e=>p4=e};function ZQ(e){return e.replace(/\r?\n/g,"\r")}function QQ(e,t){return t?"\x1B[200~"+e+"\x1B[201~":e}function JQ(e,t){e.clipboardData&&e.clipboardData.setData("text/plain",t.selectionText),e.preventDefault()}function eJ(e,t,r,o){if(e.stopPropagation(),e.clipboardData){let i=e.clipboardData.getData("text/plain");hz(i,t,r,o)}}function hz(e,t,r,o){e=ZQ(e),e=QQ(e,r.decPrivateModes.bracketedPasteMode&&o.rawOptions.ignoreBracketedPasteMode!==!0),r.triggerDataEvent(e,!0),t.value=""}function mz(e,t,r){let o=r.getBoundingClientRect(),i=e.clientX-o.left-10,n=e.clientY-o.top-10;t.style.width="20px",t.style.height="20px",t.style.left=`${i}px`,t.style.top=`${n}px`,t.style.zIndex="1000",t.focus()}function d4(e,t,r,o,i){mz(e,t,r),i&&o.rightClickSelect(e),t.value=o.selectionText,t.select()}function cl(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function m0(e,t=0,r=e.length){let o="";for(let i=t;i<r;++i){let n=e[i];n>65535?(n-=65536,o+=String.fromCharCode((n>>10)+55296)+String.fromCharCode(n%1024+56320)):o+=String.fromCharCode(n)}return o}var tJ=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let r=e.length;if(!r)return 0;let o=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[o++]=(this._interim-55296)*1024+n-56320+65536:(t[o++]=this._interim,t[o++]=n),this._interim=0}for(let n=i;n<r;++n){let s=e.charCodeAt(n);if(55296<=s&&s<=56319){if(++n>=r)return this._interim=s,o;let a=e.charCodeAt(n);56320<=a&&a<=57343?t[o++]=(s-55296)*1024+a-56320+65536:(t[o++]=s,t[o++]=a);continue}s!==65279&&(t[o++]=s)}return o}},rJ=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let r=e.length;if(!r)return 0;let o=0,i,n,s,a,l=0,c=0;if(this.interim[0]){let f=!1,d=this.interim[0];d&=(d&224)===192?31:(d&240)===224?15:7;let h=0,y;for(;(y=this.interim[++h]&63)&&h<4;)d<<=6,d|=y;let b=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,m=b-h;for(;c<m;){if(c>=r)return 0;if(y=e[c++],(y&192)!==128){c--,f=!0;break}else this.interim[h++]=y,d<<=6,d|=y&63}f||(b===2?d<128?c--:t[o++]=d:b===3?d<2048||d>=55296&&d<=57343||d===65279||(t[o++]=d):d<65536||d>1114111||(t[o++]=d)),this.interim.fill(0)}let u=r-4,p=c;for(;p<r;){for(;p<u&&!((i=e[p])&128)&&!((n=e[p+1])&128)&&!((s=e[p+2])&128)&&!((a=e[p+3])&128);)t[o++]=i,t[o++]=n,t[o++]=s,t[o++]=a,p+=4;if(i=e[p++],i<128)t[o++]=i;else if((i&224)===192){if(p>=r)return this.interim[0]=i,o;if(n=e[p++],(n&192)!==128){p--;continue}if(l=(i&31)<<6|n&63,l<128){p--;continue}t[o++]=l}else if((i&240)===224){if(p>=r)return this.interim[0]=i,o;if(n=e[p++],(n&192)!==128){p--;continue}if(p>=r)return this.interim[0]=i,this.interim[1]=n,o;if(s=e[p++],(s&192)!==128){p--;continue}if(l=(i&15)<<12|(n&63)<<6|s&63,l<2048||l>=55296&&l<=57343||l===65279)continue;t[o++]=l}else if((i&248)===240){if(p>=r)return this.interim[0]=i,o;if(n=e[p++],(n&192)!==128){p--;continue}if(p>=r)return this.interim[0]=i,this.interim[1]=n,o;if(s=e[p++],(s&192)!==128){p--;continue}if(p>=r)return this.interim[0]=i,this.interim[1]=n,this.interim[2]=s,o;if(a=e[p++],(a&192)!==128){p--;continue}if(l=(i&7)<<18|(n&63)<<12|(s&63)<<6|a&63,l<65536||l>1114111)continue;t[o++]=l}}return o}},yz="",ul=" ",ry=class gz{constructor(){this.fg=0,this.bg=0,this.extended=new s0}static toColorRGB(t){return[t>>>16&255,t>>>8&255,t&255]}static fromColorRGB(t){return(t[0]&255)<<16|(t[1]&255)<<8|t[2]&255}clone(){let t=new gz;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},s0=class vz{constructor(t=0,r=0){this._ext=0,this._urlId=0,this._ext=t,this._urlId=r}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(t){this._ext=t}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(t){this._ext&=-469762049,this._ext|=t<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(t){this._ext&=-67108864,this._ext|=t&67108863}get urlId(){return this._urlId}set urlId(t){this._urlId=t}get underlineVariantOffset(){let t=(this._ext&3758096384)>>29;return t<0?t^4294967288:t}set underlineVariantOffset(t){this._ext&=536870911,this._ext|=t<<29&3758096384}clone(){return new vz(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Yi=class bz extends ry{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new s0,this.combinedData=""}static fromCharData(t){let r=new bz;return r.setFromCharData(t),r}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?cl(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(t){this.fg=t[0],this.bg=0;let r=!1;if(t[1].length>2)r=!0;else if(t[1].length===2){let o=t[1].charCodeAt(0);if(55296<=o&&o<=56319){let i=t[1].charCodeAt(1);56320<=i&&i<=57343?this.content=(o-55296)*1024+i-56320+65536|t[2]<<22:r=!0}else r=!0}else this.content=t[1].charCodeAt(0)|t[2]<<22;r&&(this.combinedData=t[1],this.content=2097152|t[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},f4="di$target",$C="di$dependencies",CC=new Map;function oJ(e){return e[$C]||[]}function jr(e){if(CC.has(e))return CC.get(e);let t=function(r,o,i){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");iJ(t,r,i)};return t._id=e,CC.set(e,t),t}function iJ(e,t,r){t[f4]===t?t[$C].push({id:e,index:r}):(t[$C]=[{id:e,index:r}],t[f4]=t)}var ko=jr("BufferService"),_z=jr("CoreMouseService"),Yc=jr("CoreService"),nJ=jr("CharsetService"),CP=jr("InstantiationService"),Sz=jr("LogService"),Oo=jr("OptionsService"),xz=jr("OscLinkService"),sJ=jr("UnicodeService"),oy=jr("DecorationService"),WC=class{constructor(e,t,r){this._bufferService=e,this._optionsService=t,this._oscLinkService=r}provideLinks(e,t){let r=this._bufferService.buffer.lines.get(e-1);if(!r){t(void 0);return}let o=[],i=this._optionsService.rawOptions.linkHandler,n=new Yi,s=r.getTrimmedLength(),a=-1,l=-1,c=!1;for(let u=0;u<s;u++)if(!(l===-1&&!r.hasContent(u))){if(r.loadCell(u,n),n.hasExtendedAttrs()&&n.extended.urlId)if(l===-1){l=u,a=n.extended.urlId;continue}else c=n.extended.urlId!==a;else l!==-1&&(c=!0);if(c||l!==-1&&u===s-1){let p=this._oscLinkService.getLinkData(a)?.uri;if(p){let f={start:{x:l+1,y:e},end:{x:u+(!c&&u===s-1?1:0),y:e}},d=!1;if(!i?.allowNonHttpProtocols)try{let h=new URL(p);["http:","https:"].includes(h.protocol)||(d=!0)}catch{d=!0}d||o.push({text:p,range:f,activate:(h,y)=>i?i.activate(h,y,f):aJ(h,y),hover:(h,y)=>i?.hover?.(h,y,f),leave:(h,y)=>i?.leave?.(h,y,f)})}c=!1,n.hasExtendedAttrs()&&n.extended.urlId?(l=u,a=n.extended.urlId):(l=-1,a=-1)}}t(o)}};WC=Qt([ie(0,ko),ie(1,Oo),ie(2,xz)],WC);function aJ(e,t){if(confirm(`Do you want to navigate to ${t}?
|
|
203
|
+
Please report this to https://github.com/markedjs/marked.`,e){let o="<p>An error occurred:</p><pre>"+Gn(r.message+"",!0)+"</pre>";return t?Promise.resolve(o):o}if(t)return Promise.reject(r);throw r}}},Mc=new HZ;function Me(e,t){return Mc.parse(e,t)}Me.options=Me.setOptions=function(e){return Mc.setOptions(e),Me.defaults=Mc.defaults,uI(Me.defaults),Me};Me.getDefaults=nC;Me.defaults=Dc;Me.use=function(...e){return Mc.use(...e),Me.defaults=Mc.defaults,uI(Me.defaults),Me};Me.walkTokens=function(e,t){return Mc.walkTokens(e,t)};Me.parseInline=Mc.parseInline;Me.Parser=Vs;Me.parser=Vs.parse;Me.Renderer=R_;Me.TextRenderer=fC;Me.Lexer=Ws;Me.lexer=Ws.lex;Me.Tokenizer=P_;Me.Hooks=w_;Me.parse=Me;var B6e=Me.options,N6e=Me.setOptions,L6e=Me.use,I6e=Me.walkTokens,z6e=Me.parseInline;var F6e=Vs.parse,H6e=Ws.lex;var SI=S(N(),1),tl=S(R(),1);function UZ({text:e}){return(0,tl.jsx)(pe,{sx:t=>({border:1,borderColor:"divider",borderRadius:1,p:1.5,mt:1,minHeight:60,bgcolor:t.palette.mode==="dark"?"grey.900":"grey.50"}),dangerouslySetInnerHTML:{__html:Me.parse(e||"")}})}function xI({value:e,onChange:t}){let[r,o]=(0,SI.useState)(!1);return(0,tl.jsxs)(pe,{sx:{mb:2},children:[(0,tl.jsxs)(ee,{variant:"body2",sx:{fontWeight:"medium",mb:.5},children:["Description"," ",(0,tl.jsx)(sv,{component:"button",type:"button",variant:"caption",onClick:()=>o(!r),sx:{ml:1},children:"(preview)"})]}),(0,tl.jsx)(po,{fullWidth:!0,multiline:!0,minRows:4,size:"small",placeholder:"Markdown supported",value:e,onChange:i=>t(i.target.value)}),r&&(0,tl.jsx)(UZ,{text:e})]})}var km=S(R(),1);function TI({submitLabel:e,onCancel:t}){return(0,km.jsxs)(Ge,{direction:"row",spacing:1,sx:{mt:2},children:[(0,km.jsx)(Le,{type:"submit",variant:"contained",children:e}),(0,km.jsx)(Le,{type:"button",variant:"outlined",onClick:t,children:"Cancel"})]})}var CI=S(R(),1);function wI({value:e,onChange:t}){return(0,CI.jsx)(po,{label:"Name",required:!0,fullWidth:!0,size:"small",placeholder:"Item name",value:e,onChange:r=>t(r.target.value),sx:{mb:2}})}var Ac=S(R(),1);function PI({value:e,onChange:t}){return(0,Ac.jsxs)(dp,{sx:{mb:2},children:[(0,Ac.jsx)(mp,{children:"Type"}),(0,Ac.jsx)(kv,{row:!0,name:"type",value:e,onChange:r=>t(r.target.value),children:["story","bug"].map(r=>(0,Ac.jsx)(_a,{value:r,control:(0,Ac.jsx)(Ev,{size:"small"}),label:r.charAt(0).toUpperCase()+r.slice(1)},r))})]})}var bn=S(R(),1);function RI({title:e,submitLabel:t,type:r,onTypeChange:o,name:i,onNameChange:n,description:s,onDescriptionChange:a,initialAc:l,onAcChange:c,onCancel:u}){return(0,bn.jsxs)(bn.Fragment,{children:[(0,bn.jsx)(ee,{variant:"h6",sx:{mb:2},children:e}),(0,bn.jsx)(PI,{value:r,onChange:o}),(0,bn.jsx)(wI,{value:i,onChange:n}),(0,bn.jsx)(xI,{value:s,onChange:a}),(0,bn.jsx)(iI,{initial:l,onChange:c}),(0,bn.jsx)(TI,{submitLabel:t,onCancel:u})]})}var Cd=S(N(),1);function EI(e){let t=tI(e),[r,o]=(0,Cd.useState)(t.type),[i,n]=(0,Cd.useState)(t.name),[s,a]=(0,Cd.useState)(t.description),l=(0,Cd.useRef)(t.ac);return{defaults:t,type:r,setType:o,name:i,setName:n,description:s,setDescription:a,setAc(c){l.current=c},fields(){return{type:r,name:i,description:s,criteria:l.current}}}}var rl=S(R(),1);function O_({item:e,onReload:t,backTo:r}){let o=Ir(),i=hr(),n=EI(e);return(0,rl.jsxs)(rl.Fragment,{children:[(0,rl.jsx)(__,{to:r}),(0,rl.jsx)(vt,{component:"form",variant:"outlined",sx:{p:3},onSubmit:s=>rI(s,n.fields(),e,i,async a=>{await t(),o(`/backlog/items/${a}`)}),children:(0,rl.jsx)(RI,{title:n.defaults.title,submitLabel:n.defaults.submitLabel,type:n.type,onTypeChange:n.setType,name:n.name,onNameChange:n.setName,description:n.description,onDescriptionChange:n.setDescription,initialAc:n.defaults.ac,onAcChange:n.setAc,onCancel:()=>o(r)})})]})}var qs=S(N(),1);function jZ(e,t){let r=new URLSearchParams;e&&r.set("q",e),t&&r.set("showCompleted","true");let o=r.toString();return o?`/api/items?${o}`:"/api/items"}async function Om({query:e,cwd:t,signal:r,showCompleted:o}={}){return(await fetch(Wo(jZ(e,o),t),{signal:r})).json()}var kI=S(N(),1),OI="backlog-show-completed",hC=new Set,MI=$Z();function $Z(){try{return localStorage.getItem(OI)==="true"}catch{return!1}}function WZ(e){return hC.add(e),()=>hC.delete(e)}function VZ(){return MI}function qZ(e){MI=e;try{localStorage.setItem(OI,String(e))}catch{}for(let t of hC)t()}function Pd(){return[(0,kI.useSyncExternalStore)(WZ,VZ),qZ]}function DI(){let e=hr(),[t]=Pd(),[r,o]=(0,qs.useState)(""),[i,n]=(0,qs.useState)(null),[s,a]=(0,qs.useState)(!1),[l,c]=(0,qs.useState)(e),u=(0,qs.useRef)(void 0);return e!==l&&(c(e),n(null),a(r.trim().length>0)),(0,qs.useEffect)(()=>{if(u.current!==void 0&&clearTimeout(u.current),!r.trim()){n(null),a(!1);return}let p=new AbortController,{signal:f}=p;return a(!0),u.current=setTimeout(async()=>{try{let d=await Om({query:r,cwd:e,signal:f,showCompleted:t});if(f.aborted)return;n(d),a(!1)}catch(d){if(!f.aborted)throw d}},250),()=>{u.current!==void 0&&clearTimeout(u.current),p.abort()}},[r,e,t]),{query:r,setQuery:o,results:i,loading:s}}var mC=S(R(),1);function AI(){let[e,t]=Pd();return(0,mC.jsx)(_a,{control:(0,mC.jsx)(Pp,{checked:e,onChange:()=>t(!e),size:"small"}),label:"Show completed",slotProps:{typography:{variant:"body2",color:"text.secondary"}}})}function M_(e){return e.status==="todo"||e.status==="in-progress"}var D_={story:"info",bug:"error"},A_={todo:"default","in-progress":"warning",done:"success",wontdo:"error"};var NI=S(R(),1),KZ={flexShrink:0,fontWeight:500,fontSize:"0.75rem",height:22};function BI(){return(0,NI.jsx)(Ar,{label:"in progress",size:"small",color:A_["in-progress"],sx:KZ})}var LI=S(R(),1),yC=ve((0,LI.jsx)("path",{d:"M8 5v14l11-7z"}),"PlayArrow");var II=S(N(),1);var B_=S(N(),1),gC=(0,B_.createContext)({launchAssist:()=>{}});function N_(){return(0,B_.useContext)(gC)}var Bc=S(R(),1);function L_({itemId:e,compact:t=!1}){let{launchAssist:r}=N_(),o=Ir(),i=hr(),[n,s]=(0,II.useState)(!1),a=l=>{l.stopPropagation(),!n&&(s(!0),r(["backlog","run",String(e)],i),o("/sessions"))};return t?(0,Bc.jsx)(Ra,{title:"Build",children:(0,Bc.jsx)("span",{children:(0,Bc.jsx)(Or,{component:"span",role:"button","aria-label":"Build",color:"success",size:"small",disabled:n,onClick:a,children:(0,Bc.jsx)(yC,{})})})}):(0,Bc.jsx)(Le,{variant:"contained",color:"success",size:"small",startIcon:(0,Bc.jsx)(yC,{}),disabled:n,onClick:a,children:"Build"})}var FI=S(R(),1),GZ={todo:"\u25CB","in-progress":"\u25D4",done:"\u25CF",wontdo:"\u2715"},YZ={todo:"text.disabled","in-progress":"warning.main",done:"success.main",wontdo:"error.main"};function XZ(e){return{fontSize:"1.125rem",flexShrink:0,color:YZ[e]}}function zI({status:e}){return(0,FI.jsx)(ee,{sx:XZ(e),children:GZ[e]})}var Ks=S(R(),1),HI={display:"flex",alignItems:"center",gap:1.5,width:"100%",textAlign:"left",p:2,mb:1,borderRadius:2,border:1,borderColor:"divider",bgcolor:"background.paper",transition:"box-shadow 0.2s","&:hover":{boxShadow:3}},ZZ=HI,QZ={...HI,borderColor:"warning.main",borderLeft:4,borderLeftColor:"warning.main",bgcolor:e=>on(e.palette.warning.main,.08)},JZ={color:"text.disabled",flexShrink:0},eQ={fontWeight:500,flex:1,textAlign:"left"},tQ={flexShrink:0,fontWeight:500,fontSize:"0.75rem",height:22};function UI({item:e,onSelect:t}){let r=e.status==="in-progress";return(0,Ks.jsxs)(Ut,{onClick:t,sx:r?QZ:ZZ,children:[(0,Ks.jsx)(zI,{status:e.status}),(0,Ks.jsx)(Ar,{label:e.type,size:"small",color:D_[e.type],sx:tQ}),(0,Ks.jsxs)(ee,{variant:"body2",sx:JZ,children:["#",e.id]}),(0,Ks.jsx)(ee,{sx:eQ,children:e.name}),r&&(0,Ks.jsx)(BI,{}),M_(e)&&(0,Ks.jsx)(L_,{itemId:e.id,compact:!0})]})}var Gs=S(R(),1),rQ={display:"flex",justifyContent:"center",py:6},oQ={textAlign:"center",color:"text.disabled",py:6,px:2};function iQ({query:e}){let t=e.trim()?"No items match your search.":"No items in the backlog.";return(0,Gs.jsx)(pe,{sx:oQ,children:t})}function jI({loading:e,query:t,items:r,onSelect:o}){return e?(0,Gs.jsx)(pe,{sx:rQ,children:(0,Gs.jsx)(Bo,{})}):r.length===0?(0,Gs.jsx)(iQ,{query:t}):(0,Gs.jsx)(Gs.Fragment,{children:r.map(i=>(0,Gs.jsx)(UI,{item:i,onSelect:()=>o(i)},i.id))})}var WI=S(R(),1);function $I({value:e,onChange:t}){return(0,WI.jsx)(po,{fullWidth:!0,size:"small",placeholder:"Search backlog\u2026",value:e,onChange:r=>t(r.target.value),sx:{mb:2}})}var yi=S(R(),1),nQ={justifyContent:"space-between",alignItems:"center",mb:3},sQ={fontWeight:600},aQ={alignItems:"center"};function lQ({onAdd:e}){return(0,yi.jsxs)(Ge,{direction:"row",sx:nQ,children:[(0,yi.jsx)(ee,{variant:"h5",sx:sQ,children:"Backlog"}),(0,yi.jsxs)(Ge,{direction:"row",spacing:2,sx:aQ,children:[(0,yi.jsx)(AI,{}),(0,yi.jsx)(Le,{variant:"contained",size:"small",onClick:e,children:"+ Add Item"})]})]})}function VI({items:e,loading:t}){let r=Ir(),{query:o,setQuery:i,results:n,loading:s}=DI();return(0,yi.jsxs)(yi.Fragment,{children:[(0,yi.jsx)(lQ,{onAdd:()=>r("/backlog/add")}),(0,yi.jsx)($I,{value:o,onChange:i}),(0,yi.jsx)(jI,{loading:t||s,query:o,items:n??e,onSelect:l=>r(`/backlog/items/${l.id}`)})]})}var x3=S(N(),1);var Nc=S(N(),1);async function vC(e,t,r){let o=await fetch(Wo(`/api/items/${e}`,t),{signal:r});return o.ok?o.json():null}function qI(e){let t=hr(),[r,o]=(0,Nc.useState)(null),[i,n]=(0,Nc.useState)(!0),s=(0,Nc.useCallback)(async()=>{o(await vC(e,t))},[e,t]);return(0,Nc.useEffect)(()=>{let a=new AbortController,{signal:l}=a;return n(!0),(async()=>{try{let c=await vC(e,t,l);if(l.aborted)return;o(c),n(!1)}catch(c){if(!l.aborted)throw c}})(),()=>a.abort()},[e,t]),{item:r,loading:i,reload:s}}var KI=S(N(),1);var Ys=S(R(),1);function Rd({onConfirm:e,onCancel:t,title:r="Confirm deletion",message:o="Are you sure you want to delete this item?",confirmLabel:i="Delete"}){return(0,Ys.jsxs)(lp,{open:!0,onClose:t,maxWidth:"xs",fullWidth:!0,children:[(0,Ys.jsx)(pp,{children:r}),(0,Ys.jsx)(up,{children:(0,Ys.jsx)(ev,{children:o})}),(0,Ys.jsxs)(cp,{children:[(0,Ys.jsx)(Le,{onClick:t,children:"Cancel"}),(0,Ys.jsx)(Le,{variant:"contained",color:"error",onClick:e,children:i})]})]})}var Lc=S(R(),1);function GI({itemId:e,onDeleted:t}){let r=hr(),[o,i]=(0,KI.useState)(!1);return(0,Lc.jsxs)(Lc.Fragment,{children:[o&&(0,Lc.jsx)(Rd,{onConfirm:async()=>{await Y5(e,r),await t()},onCancel:()=>i(!1)}),(0,Lc.jsx)(Le,{variant:"contained",color:"error",size:"small",onClick:()=>i(!0),children:"Delete"})]})}var ol=S(R(),1);function YI({criteria:e}){return e.length===0?null:(0,ol.jsxs)(pe,{sx:{mb:2},children:[(0,ol.jsx)(ee,{variant:"overline",sx:{color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"},children:"Acceptance Criteria"}),(0,ol.jsx)(In,{disablePadding:!0,children:e.map((t,r)=>(0,ol.jsxs)(xa,{disableGutters:!0,disablePadding:!0,sx:{py:.5,display:"flex",alignItems:"baseline"},children:[(0,ol.jsxs)(ee,{component:"span",sx:{color:"text.secondary",mr:1},children:[r+1,"."]}),(0,ol.jsx)(pe,{component:"span",className:"markdown",dangerouslySetInnerHTML:{__html:Me.parseInline(t)}})]},t))})]})}var Ic=S(R(),1),cQ={alignItems:"center",fontSize:"0.75rem",color:"text.secondary",mb:.5},uQ={color:"text.disabled"},pQ={fontWeight:500},dQ={summary:"Phase summary",comment:"Comment"};function XI({comment:e}){return(0,Ic.jsxs)(Ge,{direction:"row",spacing:.5,sx:cQ,children:[e.id!==void 0&&(0,Ic.jsxs)(ee,{variant:"caption",sx:uQ,children:["#",e.id]}),(0,Ic.jsx)(ee,{variant:"caption",sx:pQ,children:dQ[e.type]}),e.phase!==void 0&&(0,Ic.jsxs)(ee,{variant:"caption",children:["\xB7 Phase ",e.phase]}),(0,Ic.jsxs)(ee,{variant:"caption",children:["\xB7 ",fQ(e.timestamp)]})]})}function fQ(e){return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}var ZI=S(R(),1),QI=ve((0,ZI.jsx)("path",{d:"M16 9v10H8V9zm-1.5-6h-5l-1 1H5v2h14V4h-3.5zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2z"}),"DeleteOutlined");var bC=S(N(),1);var Yn=S(R(),1),hQ={mt:-.5,mr:-.5,color:"text.secondary"};function JI({itemId:e,commentId:t,onDeleted:r}){let o=hr(),[i,n]=(0,bC.useState)(!1),[s,a]=(0,bC.useState)(),l=()=>a(void 0);return(0,Yn.jsxs)(Yn.Fragment,{children:[i&&(0,Yn.jsx)(Rd,{message:"Are you sure you want to delete this comment?",onConfirm:async()=>{n(!1);try{await X5(e,t,o),await r()}catch(c){a(c instanceof Error?c.message:"Failed to delete comment")}},onCancel:()=>n(!1)}),(0,Yn.jsx)(wp,{open:s!==void 0,autoHideDuration:6e3,onClose:l,children:(0,Yn.jsx)(Ku,{severity:"error",variant:"filled",onClose:l,children:s})}),(0,Yn.jsx)(Or,{"aria-label":"Delete comment",size:"small",sx:hQ,onClick:()=>n(!0),children:(0,Yn.jsx)(QI,{fontSize:"inherit"})})]})}var zc=S(R(),1),mQ={summary:{bgcolor:"warning.light",borderColor:"warning.dark"},comment:{bgcolor:"action.selected",borderColor:"divider"}},yQ={justifyContent:"space-between",alignItems:"flex-start"},gQ={color:"text.primary",whiteSpace:"pre-wrap"};function vQ(e){return{p:1.5,bgcolor:e.bgcolor,borderColor:e.borderColor}}function e3({comment:e,itemId:t,onDeleted:r}){return(0,zc.jsxs)(vt,{variant:"outlined",sx:vQ(mQ[e.type]),children:[(0,zc.jsxs)(Ge,{direction:"row",sx:yQ,children:[(0,zc.jsx)(XI,{comment:e}),e.id!==void 0&&t!==void 0&&r&&(0,zc.jsx)(JI,{itemId:t,commentId:e.id,onDeleted:r})]}),(0,zc.jsx)(ee,{variant:"body2",sx:gQ,children:e.text})]})}var Ed=S(R(),1),bQ={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function t3({comments:e,itemId:t,onCommentDeleted:r}){return e.length===0?null:(0,Ed.jsxs)(pe,{sx:{mb:2},children:[(0,Ed.jsx)(ee,{variant:"overline",sx:bQ,children:"Comments"}),(0,Ed.jsx)(Ge,{spacing:1,children:e.map((o,i)=>(0,Ed.jsx)(e3,{comment:o,itemId:t,onDeleted:r},`${o.timestamp}-${i}`))})]})}var I_=S(R(),1),r3={todo:{bg:"action.selected",text:"text.primary"},"in-progress":{bg:"warning.main",text:"warning.contrastText"},done:{bg:"success.main",text:"success.contrastText"},wontdo:{bg:"error.main",text:"error.contrastText"}},_Q=["todo","in-progress","done","wontdo"];function o3({current:e,onStatusChange:t}){return t?(0,I_.jsx)(xp,{value:e,onChange:r=>t(r.target.value),size:"small",sx:{fontSize:"0.75rem",fontWeight:500,borderRadius:4,bgcolor:r3[e].bg,color:r3[e].text,"& .MuiSelect-select":{py:.5,px:1.5},"& .MuiSelect-icon":{color:"inherit"}},children:_Q.map(r=>(0,I_.jsx)(wa,{value:r,children:r},r))}):(0,I_.jsx)(Ar,{label:e,size:"small",color:A_[e],sx:{fontWeight:500,fontSize:"0.75rem"}})}var kd=S(R(),1),SQ={alignItems:"center",color:"text.disabled",fontSize:"0.875rem",mb:2},xQ={fontWeight:500,fontSize:"0.75rem"};function i3({item:e,onStatusChange:t}){let r=D_[e.type];return(0,kd.jsxs)(Ge,{direction:"row",spacing:1,sx:SQ,children:[(0,kd.jsxs)(ee,{variant:"body2",color:"text.disabled",children:["#",e.id]}),r&&(0,kd.jsx)(Ar,{label:e.type,size:"small",color:r,sx:xQ}),(0,kd.jsx)(o3,{current:e.status,onStatusChange:t})]})}var s3=S(R(),1),TQ={lineHeight:1.7,"& p":{mt:0}};function n3({content:e}){return(0,s3.jsx)(pe,{className:"markdown",sx:TQ,dangerouslySetInnerHTML:{__html:Me.parse(e)}})}var Xs=S(R(),1);function a3({checks:e}){return(0,Xs.jsxs)(pe,{sx:{mt:1,pt:1},children:[(0,Xs.jsx)(ov,{sx:{mb:1}}),(0,Xs.jsx)(ee,{variant:"overline",sx:{color:"text.disabled",letterSpacing:"0.08em"},children:"Manual Checks"}),(0,Xs.jsx)(In,{disablePadding:!0,sx:{ml:.5,mt:.5},children:e.map(t=>(0,Xs.jsxs)(xa,{disableGutters:!0,disablePadding:!0,sx:{py:.25,display:"flex",alignItems:"baseline"},children:[(0,Xs.jsx)(ee,{component:"span",sx:{mr:1,fontSize:"0.875rem",color:"text.secondary"},children:"\u2610"}),(0,Xs.jsx)(pe,{component:"span",className:"markdown",sx:{fontSize:"0.875rem",color:"text.secondary"},dangerouslySetInnerHTML:{__html:Me.parseInline(t)}})]},t))})]})}var u3=S(N(),1);var l3=S(N(),1),Xn=S(R(),1);function c3({phaseName:e,onConfirm:t,onCancel:r}){let[o,i]=(0,l3.useState)("");return(0,Xn.jsxs)(lp,{open:!0,onClose:r,maxWidth:"xs",fullWidth:!0,children:[(0,Xn.jsxs)(pp,{children:["Rewind to ",e,"?"]}),(0,Xn.jsxs)(up,{children:[(0,Xn.jsx)(ee,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"This will mark all later phases as incomplete."}),(0,Xn.jsx)(po,{fullWidth:!0,multiline:!0,rows:3,size:"small",placeholder:"Reason for rewinding...",value:o,onChange:n=>i(n.target.value)})]}),(0,Xn.jsxs)(cp,{children:[(0,Xn.jsx)(Le,{onClick:r,children:"Cancel"}),(0,Xn.jsx)(Le,{variant:"contained",color:"warning",disabled:o.trim().length===0,onClick:()=>t(o.trim()),children:"Rewind"})]})]})}var Fc=S(R(),1);function p3({itemId:e,phaseNumber:t,phaseName:r,onRewound:o}){let i=hr(),[n,s]=(0,u3.useState)(!1);return(0,Fc.jsxs)(Fc.Fragment,{children:[(0,Fc.jsx)(Le,{size:"small",color:"warning",variant:"outlined",onClick:()=>s(!0),sx:{ml:"auto",textTransform:"none",fontSize:"0.75rem"},children:"Rewind"}),n&&(0,Fc.jsx)(c3,{phaseName:r,onConfirm:async a=>{await J5(e,t,a,i),await o()},onCancel:()=>s(!1)})]})}var Od=S(R(),1),wQ={done:{label:"Done",color:"success"},current:{label:"In Progress",color:"info"},upcoming:{label:"Upcoming",color:"default"}},CQ={alignItems:"center",mb:1},PQ={fontWeight:500},RQ={fontWeight:500,fontSize:"0.75rem"};function d3({phase:e,index:t,status:r,itemId:o,onRewind:i}){let n=wQ[r],s=r==="done"&&o!==void 0&&i;return(0,Od.jsxs)(Ge,{direction:"row",spacing:1,sx:CQ,children:[(0,Od.jsxs)(ee,{sx:PQ,children:["Phase ",t+1,": ",e.name]}),(0,Od.jsx)(Ar,{label:n.label,size:"small",color:n.color,sx:RQ}),s&&(0,Od.jsx)(p3,{itemId:o,phaseNumber:t+1,phaseName:e.name,onRewound:i})]})}var Md=S(R(),1);function f3({tasks:e,marker:t}){return(0,Md.jsx)(In,{disablePadding:!0,sx:{ml:.5},children:e.map(r=>(0,Md.jsxs)(xa,{disableGutters:!0,disablePadding:!0,sx:{py:.25,display:"flex",alignItems:"baseline"},children:[(0,Md.jsx)(ee,{component:"span",sx:{color:"text.secondary",mr:1},children:t}),(0,Md.jsx)(pe,{component:"span",className:"markdown",dangerouslySetInnerHTML:{__html:Me.parseInline(r.task)}})]},r.task))})}var Dd=S(R(),1),EQ={done:{borderColor:"success.light",bgcolor:"success.light"},current:{borderColor:"info.main",bgcolor:"info.light",ring:"info.light"},upcoming:{borderColor:"divider",bgcolor:"background.paper"}};function kQ(e){return{p:2,borderColor:e.borderColor,bgcolor:e.bgcolor,...e.ring?{boxShadow:"0 0 0 2px",borderColor:"info.main"}:{}}}var OQ={done:"\u2713",current:"\u2022",upcoming:"\u2022"};function h3({phase:e,index:t,status:r,itemId:o,onRewind:i}){let n=e.manualChecks??[];return(0,Dd.jsxs)(vt,{variant:"outlined",sx:kQ(EQ[r]),children:[(0,Dd.jsx)(d3,{phase:e,index:t,status:r,itemId:o,onRewind:i}),(0,Dd.jsx)(f3,{tasks:e.tasks,marker:OQ[r]}),n.length>0&&(0,Dd.jsx)(a3,{checks:n})]})}var Ad=S(R(),1);function MQ(e,t){if(t===void 0)return"upcoming";let r=e+1;return r<t?"done":r===t?"current":"upcoming"}function m3({phases:e,currentPhase:t,itemId:r,onRewind:o}){return e.length===0?null:(0,Ad.jsxs)(pe,{sx:{mb:2},children:[(0,Ad.jsx)(ee,{variant:"overline",sx:{color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"},children:"Plan"}),(0,Ad.jsx)(Ge,{spacing:1.5,children:e.map((i,n)=>(0,Ad.jsx)(h3,{phase:i,index:n,status:MQ(n,t),itemId:r,onRewind:o},i.name))})]})}var _n=S(R(),1),DQ={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function y3({item:e,onStatusChange:t,onRewind:r,onCommentDeleted:o}){return(0,_n.jsxs)(vt,{variant:"outlined",sx:{p:3},children:[(0,_n.jsx)(ee,{variant:"h5",component:"h2",children:e.name}),(0,_n.jsx)(i3,{item:e,onStatusChange:t}),e.description&&(0,_n.jsxs)(pe,{sx:{mb:2},children:[(0,_n.jsx)(ee,{variant:"overline",sx:DQ,children:"Description"}),(0,_n.jsx)(n3,{content:e.description})]}),(0,_n.jsx)(YI,{criteria:e.acceptanceCriteria}),e.plan&&(0,_n.jsx)(m3,{phases:e.plan,currentPhase:e.currentPhase,itemId:e.id,onRewind:r}),e.comments&&(0,_n.jsx)(t3,{comments:e.comments,itemId:e.id,onCommentDeleted:o})]})}var g3=S(R(),1),v3=ve((0,g3.jsx)("path",{d:"M3 17v2h6v-2zM3 5v2h10V5zm10 16v-2h8v-2h-8v-2h-2v6zM7 9v2H3v2h4v2h2V9zm14 4v-2H11v2zm-6-4h2V7h4V5h-4V3h-2z"}),"Tune");var b3=S(N(),1);var _C=S(R(),1);function _3({itemId:e}){let{launchAssist:t}=N_(),r=Ir(),o=hr(),[i,n]=(0,b3.useState)(!1);return(0,_C.jsx)(Le,{variant:"outlined",size:"small",startIcon:(0,_C.jsx)(v3,{}),disabled:i,onClick:a=>{a.stopPropagation(),!i&&(n(!0),t(["refine","--once",String(e)],o),r("/sessions"))},children:"Refine"})}var Wi=S(R(),1),AQ={justifyContent:"space-between",alignItems:"center",mb:2};function BQ({item:e,onDeleted:t}){let r=Ir();return(0,Wi.jsxs)(Ge,{direction:"row",sx:AQ,children:[(0,Wi.jsx)(__,{to:"/backlog"}),(0,Wi.jsxs)(Ge,{direction:"row",spacing:1,children:[M_(e)&&(0,Wi.jsx)(L_,{itemId:e.id}),(0,Wi.jsx)(_3,{itemId:e.id}),(0,Wi.jsx)(Le,{variant:"contained",color:"inherit",size:"small",onClick:()=>r(`/backlog/items/${e.id}/edit`),children:"Edit"}),(0,Wi.jsx)(GI,{itemId:e.id,onDeleted:t})]})]})}function S3({item:e,onReload:t}){let r=Ir(),o=hr();return(0,Wi.jsxs)(pe,{children:[(0,Wi.jsx)(BQ,{item:e,onDeleted:async()=>{await t(),r("/backlog")}}),(0,Wi.jsx)(y3,{item:e,onStatusChange:async s=>{await Q5(e.id,s,o),await t()},onRewind:t,onCommentDeleted:t})]})}var Mm=S(R(),1),NQ={display:"flex",justifyContent:"center",py:6};function SC({mode:e,onReload:t}){let{id:r}=Uw(),o=Number(r),{item:i,loading:n,reload:s}=qI(o),a=(0,x3.useCallback)(async()=>{await Promise.all([s(),t()])},[s,t]);return n?(0,Mm.jsx)(pe,{sx:NQ,children:(0,Mm.jsx)(Bo,{})}):i?e==="edit"?(0,Mm.jsx)(O_,{item:i,onReload:a,backTo:`/backlog/items/${o}`}):(0,Mm.jsx)(S3,{item:i,onReload:a}):null}var Sn=S(R(),1);function T3({items:e,loading:t,onReload:r}){return(0,Sn.jsxs)(Oc,{children:[(0,Sn.jsx)(mi,{index:!0,element:(0,Sn.jsx)(VI,{items:e,loading:t})}),(0,Sn.jsx)(mi,{path:"items/:id",element:(0,Sn.jsx)(SC,{mode:"detail",onReload:r})}),(0,Sn.jsx)(mi,{path:"items/:id/edit",element:(0,Sn.jsx)(SC,{mode:"edit",onReload:r})}),(0,Sn.jsx)(mi,{path:"add",element:(0,Sn.jsx)(O_,{onReload:r,backTo:"/backlog"})})]})}var Zn=S(N(),1);async function w3(e,t){return(await(await fetch(Wo("/api/backlog/exists",e),{signal:t})).json()).exists}function C3(){let e=hr(),[t]=Pd(),[r,o]=(0,Zn.useState)([]),[i,n]=(0,Zn.useState)(!0),[s,a]=(0,Zn.useState)(!0),[l,c]=(0,Zn.useState)(e);e!==l&&(c(e),o([]),n(!0),a(!0));let u=(0,Zn.useCallback)(async()=>{o(await Om({cwd:e,showCompleted:t})),n(!1)},[e,t]);(0,Zn.useEffect)(()=>{let f=new AbortController,{signal:d}=f;return n(!0),a(!0),(async()=>{try{let h=await w3(e,d),y=h?await Om({cwd:e,signal:d,showCompleted:t}):[];if(d.aborted)return;a(h),o(y),n(!1)}catch(h){if(!d.aborted)throw h}})(),()=>f.abort()},[e,t]);let p=(0,Zn.useCallback)(async()=>{await K5(e),a(!0),n(!0),await u()},[e,u]);return{items:r,loading:i,exists:s,reload:u,initialize:p}}var Dm=S(R(),1);function P3(){let{items:e,loading:t,exists:r,reload:o,initialize:i}=C3();return r?(0,Dm.jsx)(Oc,{children:(0,Dm.jsx)(mi,{path:"/*",element:(0,Dm.jsx)(T3,{items:e,loading:t,onReload:o})})}):(0,Dm.jsx)(V5,{onInit:i})}var S0=S(N(),1);var i4=S(N(),1);var $_=S(N(),1);function R3(e){if(!e)return"";let t=e.split(/[/\\]/).filter(Boolean);return t[t.length-1]??""}function z_(e){if(e.activity?.kind==="backlog")return"next";switch(e.commandType){case"assist":{let t=e.assistArgs?.[0];return t==="draft"||t==="bug"||t==="next"||t==="refine"?t:"prompt"}case"run":return"run";default:return"prompt"}}var Vo=S(R(),1),Am={height:18,fontSize:"0.65rem"};function E3({session:e}){let t=R3(e.cwd),{activity:r}=e,o=r?.kind==="backlog",i=o&&r.phase===r.totalPhases;return(0,Vo.jsxs)(Vo.Fragment,{children:[t&&(0,Vo.jsx)(Ar,{label:t,size:"small",sx:Am}),o?(0,Vo.jsxs)(Vo.Fragment,{children:[(0,Vo.jsx)(Ar,{label:`#${r.itemId}`,size:"small",sx:Am,clickable:!0,component:Sd,to:`/backlog/items/${r.itemId}`,onClick:n=>n.stopPropagation()}),(0,Vo.jsx)(Ar,{label:`${r.phase}/${r.totalPhases}`,size:"small",color:i?"primary":"default",sx:Am})]}):(0,Vo.jsxs)(Vo.Fragment,{children:[(0,Vo.jsx)(Ar,{label:z_(e),size:"small",color:"primary",variant:"outlined",sx:Am}),r?.itemId!=null&&(0,Vo.jsx)(Ar,{label:`#${r.itemId}`,size:"small",sx:Am,clickable:!0,component:Sd,to:`/backlog/items/${r.itemId}`,onClick:n=>n.stopPropagation()})]})]})}var k3=S(R(),1),O3=ve((0,k3.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");var M3=S(N(),1);var il=S(R(),1);function D3({status:e,onDismiss:t}){let[r,o]=(0,M3.useState)(!1),i=e==="done";return(0,il.jsxs)(il.Fragment,{children:[(0,il.jsx)(Or,{size:"small",onClick:n=>{n.stopPropagation(),i?t():o(!0)},title:"Dismiss",sx:{color:"text.disabled","&:hover":{color:"text.primary"}},children:(0,il.jsx)(O3,{sx:{fontSize:16}})}),r&&(0,il.jsx)(Rd,{title:"End session",message:"This will stop the running session and kill its process. Are you sure?",confirmLabel:"End session",onConfirm:()=>{o(!1),t()},onCancel:()=>o(!1)})]})}var A3=S(R(),1),B3=ve((0,A3.jsx)("path",{d:"M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8"}),"Replay");var xC=S(R(),1);function N3({onRetry:e}){return(0,xC.jsx)(Or,{size:"small",onClick:t=>{t.stopPropagation(),e()},title:"Retry",sx:{color:"text.disabled","&:hover":{color:"text.primary"}},children:(0,xC.jsx)(B3,{sx:{fontSize:14}})})}function L3(e){let{activity:t}=e;if(t?.kind==="backlog")return t.itemName??e.name;if(e.assistArgs?.[0]==="refine"&&t?.itemName)return t.itemName;switch(e.commandType){case"assist":return LQ(e.assistArgs)??e.assistArgs?.[0]??e.name;case"run":return e.runName?`run: ${e.runName}`:e.name;default:return e.name}}function LQ(e){let t=e?.slice(1).filter(r=>!r.startsWith("--"));return t?.[t.length-1]}var Zs=S(R(),1);function F_(e){return{display:"block",width:"100%",textAlign:"left",p:"10px 12px",mb:.5,borderRadius:1.5,bgcolor:e?"action.selected":"background.default",border:1,borderColor:e?"primary.main":"transparent",cursor:e?"default":"pointer",transition:"background 0.15s","&:hover":e?void 0:{bgcolor:"action.hover"}}}function I3({session:e,onRetry:t,onDismiss:r}){let{status:o}=e;return(0,Zs.jsxs)(pe,{sx:{display:"flex",flexDirection:"column",gap:.5},children:[(0,Zs.jsxs)(pe,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,Zs.jsx)(E3,{session:e}),(0,Zs.jsx)(pe,{sx:{flex:1}}),o==="done"&&t&&(0,Zs.jsx)(N3,{onRetry:t}),(0,Zs.jsx)(D3,{status:o,onDismiss:r})]}),(0,Zs.jsx)(ee,{variant:"body2",sx:{color:"text.primary",overflowWrap:"anywhere"},children:L3(e)})]})}function z3(e){let t=Date.now()-new Date(e).getTime(),r=Math.floor(t/1e3);if(r<60)return"just now";let o=Math.floor(r/60);if(o<60)return`${o}m ago`;let i=Math.floor(o/60);if(i<24)return`${i}h ago`;let n=Math.floor(i/24);return n<30?`${n}d ago`:`${Math.floor(n/30)}mo ago`}var Hc=S(R(),1);function F3({session:e,onResume:t}){return(0,Hc.jsxs)(Ut,{onClick:()=>t(e),sx:F_(!1),children:[(0,Hc.jsx)(ee,{variant:"body2",noWrap:!0,sx:{color:"text.primary"},children:e.name}),(0,Hc.jsxs)(pe,{sx:{display:"flex",justifyContent:"space-between",mt:.5},children:[(0,Hc.jsx)(ee,{variant:"caption",color:"info.main",children:e.project}),(0,Hc.jsx)(ee,{variant:"caption",color:"text.disabled",children:z3(e.timestamp)})]})]})}var U_=S(N(),1);var H3=S(R(),1),U3=ve((0,H3.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");var j3=S(R(),1),$3=ve((0,j3.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");var H_=S(R(),1);function W3({label:e,open:t,onClick:r,disabled:o=!1}){return(0,H_.jsx)(Le,{size:"small",variant:"outlined",disabled:o,onClick:r,endIcon:t?(0,H_.jsx)($3,{}):(0,H_.jsx)(U3,{}),sx:{textTransform:"none",fontSize:11,justifyContent:"space-between",maxWidth:"100%",overflow:"hidden"},fullWidth:!0,children:e})}var j_=S(R(),1),Bd={position:"absolute",top:"100%",left:0,right:0,mt:.25,maxHeight:200,overflowY:"auto",zIndex:10};function Nd({label:e,children:t,disabled:r=!1}){let[o,i]=(0,U_.useState)(!1),n=(0,U_.useRef)(null);return(0,j_.jsxs)(vt,{component:"fieldset",ref:n,variant:"outlined",sx:{position:"relative",border:"none",m:0,p:0},onBlur:s=>{n.current?.contains(s.relatedTarget)||i(!1)},children:[(0,j_.jsx)(W3,{label:e,open:o,disabled:r,onClick:()=>i(!o)}),o&&t(()=>i(!1))]})}var Ld=S(R(),1);function V3({items:e,selected:t,onToggle:r}){return(0,Ld.jsx)(ic,{dense:!0,sx:Bd,children:e.map(o=>(0,Ld.jsxs)(wa,{onClick:()=>r(o),dense:!0,children:[(0,Ld.jsx)(hx,{size:"small",checked:t.has(o),sx:{p:0,mr:1}}),(0,Ld.jsx)(Mx,{primary:o,slotProps:{primary:{variant:"caption"}}})]},o))})}var TC=S(R(),1);function IQ(e){return e.size===0?"All projects":e.size===1?[...e][0]:`${e.size} projects`}function q3({projects:e,selected:t,onChange:r}){let o=i=>{let n=new Set(t);n.has(i)?n.delete(i):n.add(i),r(n)};return(0,TC.jsx)(Nd,{label:IQ(t),children:()=>(0,TC.jsx)(V3,{items:e,selected:t,onToggle:o})})}function K3(e){let t=new Set;for(let r of e)t.add(r.project);return[...t].sort()}function G3(e,t){return t.size===0?e:e.filter(r=>t.has(r.project))}var Qn=S(R(),1);function zQ({hasAny:e}){return(0,Qn.jsx)(ee,{variant:"caption",color:"text.disabled",sx:{display:"block",textAlign:"center",p:2},children:e?"No sessions match filter":"No session history"})}function FQ({sessions:e,onResume:t}){return(0,Qn.jsxs)(pe,{sx:{flex:1,overflow:"auto",p:1},children:[e.map(r=>(0,Qn.jsx)(F3,{session:r,onResume:t},r.sessionId)),e.length===0&&(0,Qn.jsx)(zQ,{hasAny:!1})]})}function Y3({sessions:e,onResume:t}){let[r,o]=(0,$_.useState)(new Set),i=(0,$_.useMemo)(()=>K3(e),[e]),n=G3(e,r);return(0,Qn.jsxs)(pe,{sx:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden"},children:[i.length>1&&(0,Qn.jsx)(pe,{sx:{px:1,pt:1},children:(0,Qn.jsx)(q3,{projects:i,selected:r,onChange:o})}),(0,Qn.jsx)(FQ,{sessions:n,onResume:t})]})}var wC=S(R(),1);function X3({checked:e,onChange:t}){return(0,wC.jsx)(_a,{sx:{m:0,mt:.5},onClick:r=>r.stopPropagation(),control:(0,wC.jsx)(Pp,{size:"small",checked:e,onChange:r=>t(r.target.checked)}),label:"Auto-run",slotProps:{typography:{variant:"caption",color:"text.secondary"}}})}var Uc=S(R(),1),HQ={running:"success.main",waiting:"warning.main",done:"info.main"};function Z3({status:e,elapsed:t,restored:r}){return(0,Uc.jsxs)(pe,{sx:{display:"flex",justifyContent:"space-between",mt:.5},children:[(0,Uc.jsxs)(pe,{sx:{display:"flex",gap:1},children:[(0,Uc.jsxs)(ee,{variant:"caption",sx:{color:HQ[e]},children:["\u25CF ",e]}),r!==void 0&&(0,Uc.jsx)(ee,{variant:"caption",sx:{color:r?"success.main":"warning.main"},children:r?"restored":"not restored"})]}),(0,Uc.jsx)(ee,{variant:"caption",color:"text.disabled",children:t})]})}var Id=S(N(),1);function Q3(e,t){let[,r]=(0,Id.useState)(0),o=t==="done";(0,Id.useEffect)(()=>{if(o)return;let l=setInterval(()=>r(c=>c+1),1e3);return()=>clearInterval(l)},[o]);let i=(0,Id.useRef)(null);o?i.current??(i.current=Date.now()-e):i.current=null;let n=Math.floor((i.current??Date.now()-e)/1e3),s=Math.floor(n/60),a=n%60;return s>=60?`${Math.floor(s/60)}h ${s%60}m`:s>0?`${s}m ${a}s`:`${a}s`}var Vi=S(R(),1);function J3({session:e,active:t,loading:r,onClick:o,onRetry:i,onDismiss:n,onSetAutoRun:s}){let a=Q3(e.startedAt,e.status),l=z_(e),c=l==="draft"||l==="bug"||l==="refine";return(0,Vi.jsxs)(Ut,{onClick:o,sx:F_(t),children:[(0,Vi.jsx)(I3,{session:e,onRetry:i,onDismiss:n}),r?(0,Vi.jsxs)(pe,{sx:{display:"flex",alignItems:"center",gap:1,mt:.5},children:[(0,Vi.jsx)(Bo,{size:12}),(0,Vi.jsx)(ee,{variant:"caption",color:"text.disabled",children:"Starting\u2026"})]}):(0,Vi.jsxs)(Vi.Fragment,{children:[(0,Vi.jsx)(Z3,{status:e.status,elapsed:a,restored:e.restored}),c&&(0,Vi.jsx)(X3,{checked:e.autoRun??!1,onChange:s})]})]})}var Bm=S(R(),1);function e4({sessions:e,activeId:t,initialized:r,onSelect:o,onRetry:i,onDismiss:n,onSetAutoRun:s}){return(0,Bm.jsxs)(pe,{sx:{flex:1,overflow:"auto",p:1},children:[e.map(a=>(0,Bm.jsx)(J3,{session:a,active:a.id===t,loading:!r.has(a.id),onClick:()=>o(a.id),onRetry:(a.commandType==="run"||a.commandType==="assist")&&a.status==="done"?()=>i(a.id):void 0,onDismiss:()=>n(a.id),onSetAutoRun:l=>s(a.id,l)},a.id)),e.length===0&&(0,Bm.jsx)(ee,{variant:"caption",color:"text.disabled",sx:{display:"block",textAlign:"center",p:2},children:"No sessions yet"})]})}var Nm=S(R(),1),t4={minHeight:36,py:0,fontSize:12};function r4({tab:e,activeCount:t,historyCount:r,onChange:o}){return(0,Nm.jsxs)(Sh,{value:e==="active"?0:1,onChange:(n,s)=>o(s===0?"active":"history"),variant:"fullWidth",sx:{borderBottom:1,borderColor:"divider",minHeight:36},children:[(0,Nm.jsx)(nc,{label:`Active ${t}`,sx:t4}),(0,Nm.jsx)(nc,{label:`History ${r}`,sx:t4})]})}var zd=S(R(),1),UQ={width:"25%",borderRight:1,borderColor:"divider",display:"flex",flexDirection:"column",bgcolor:"background.paper"};function o4(e){return(0,zd.jsxs)(pe,{sx:UQ,children:[(0,zd.jsx)(r4,{tab:e.tab,activeCount:e.sessions.length,historyCount:e.history.length,onChange:e.onTabChange}),e.tab==="active"?(0,zd.jsx)(e4,{sessions:e.sessions,activeId:e.activeId,initialized:e.initialized,onSelect:e.onSelect,onRetry:e.onRetry,onDismiss:e.onDismiss,onSetAutoRun:e.onSetAutoRun}):(0,zd.jsx)(Y3,{sessions:e.history,onResume:e.onResume})]})}var s4=S(R(),1);function n4({socket:e,tab:t,onTabChange:r}){let o=(0,i4.useCallback)(i=>{e.resumeSession(i.sessionId,i.cwd,i.name),r("active")},[e.resumeSession,r]);return(0,s4.jsx)(o4,{sessions:e.sessions,history:e.history,activeId:e.activeId,tab:t,onTabChange:r,onSelect:e.setActiveId,onResume:o,onRetry:e.retrySession,onDismiss:e.dismissSession,onSetAutoRun:e.setAutoRun,initialized:e.initialized})}var Lm=S(R(),1);function a4(){return(0,Lm.jsxs)(pe,{sx:{position:"absolute",inset:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,bgcolor:"background.default"},children:[(0,Lm.jsx)(Bo,{size:28}),(0,Lm.jsx)(ee,{variant:"body2",color:"text.disabled",children:"Starting session\u2026"})]})}var y6=S(N(),1);var sy=S(N(),1);var jQ=2,$Q=1,l4=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,r=window.getComputedStyle(this._terminal.element.parentElement),o=parseInt(r.getPropertyValue("height")),i=Math.max(0,parseInt(r.getPropertyValue("width"))),n=window.getComputedStyle(this._terminal.element),s={top:parseInt(n.getPropertyValue("padding-top")),bottom:parseInt(n.getPropertyValue("padding-bottom")),right:parseInt(n.getPropertyValue("padding-right")),left:parseInt(n.getPropertyValue("padding-left"))},a=s.top+s.bottom,l=s.right+s.left,c=o-a,u=i-l-t;return{cols:Math.max(jQ,Math.floor(u/e.css.cell.width)),rows:Math.max($Q,Math.floor(c/e.css.cell.height))}}};var WQ=class{constructor(e,t,r,o={}){this._terminal=e,this._regex=t,this._handler=r,this._options=o}provideLinks(e,t){let r=qQ.computeLink(e,this._regex,this._terminal,this._handler);t(this._addCallbacks(r))}_addCallbacks(e){return e.map(t=>(t.leave=this._options.leave,t.hover=(r,o)=>{if(this._options.hover){let{range:i}=t;this._options.hover(r,o,i)}},t))}};function VQ(e){try{let t=new URL(e),r=t.password&&t.username?`${t.protocol}//${t.username}:${t.password}@${t.host}`:t.username?`${t.protocol}//${t.username}@${t.host}`:`${t.protocol}//${t.host}`;return e.toLocaleLowerCase().startsWith(r.toLocaleLowerCase())}catch{return!1}}var qQ=class W_{static computeLink(t,r,o,i){let n=new RegExp(r.source,(r.flags||"")+"g"),[s,a]=W_._getWindowedLineStrings(t-1,o),l=s.join(""),c,u=[];for(;c=n.exec(l);){let p=c[0];if(!VQ(p))continue;let[f,d]=W_._mapStrIdx(o,a,0,c.index),[h,y]=W_._mapStrIdx(o,f,d,p.length);if(f===-1||d===-1||h===-1||y===-1)continue;let b={start:{x:d+1,y:f+1},end:{x:y,y:h+1}};u.push({range:b,text:p,activate:i})}return u}static _getWindowedLineStrings(t,r){let o,i=t,n=t,s=0,a="",l=[];if(o=r.buffer.active.getLine(t)){let c=o.translateToString(!0);if(o.isWrapped&&c[0]!==" "){for(s=0;(o=r.buffer.active.getLine(--i))&&s<2048&&(a=o.translateToString(!0),s+=a.length,l.push(a),!(!o.isWrapped||a.indexOf(" ")!==-1)););l.reverse()}for(l.push(c),s=0;(o=r.buffer.active.getLine(++n))&&o.isWrapped&&s<2048&&(a=o.translateToString(!0),s+=a.length,l.push(a),a.indexOf(" ")===-1););}return[l,i]}static _mapStrIdx(t,r,o,i){let n=t.buffer.active,s=n.getNullCell(),a=o;for(;i;){let l=n.getLine(r);if(!l)return[-1,-1];for(let c=a;c<l.length;++c){l.getCell(c,s);let u=s.getChars();if(s.getWidth()&&(i-=u.length||1,c===l.length-1&&u==="")){let p=n.getLine(r+1);p&&p.isWrapped&&(p.getCell(0,s),s.getWidth()===2&&(i+=1))}if(i<0)return[r,c]}r++,a=0}return[r,a]}},KQ=/(https?|HTTPS?):[/]{2}[^\s"'!*(){}|\\\^<>`]*[^\s"':,.!?{}|\\\^~\[\]`()<>]/;function GQ(e,t){let r=window.open();if(r){try{r.opener=null}catch{}r.location.href=t}else console.warn("Opening link blocked as opener could not be cleared")}var c4=class{constructor(e=GQ,t={}){this._handler=e,this._options=t}activate(e){this._terminal=e;let t=this._options,r=t.urlRegex||KQ;this._linkProvider=this._terminal.registerLinkProvider(new WQ(this._terminal,r,this._handler,t))}dispose(){this._linkProvider?.dispose()}};var fz=Object.defineProperty,YQ=Object.getOwnPropertyDescriptor,XQ=(e,t)=>{for(var r in t)fz(e,r,{get:t[r],enumerable:!0})},Qt=(e,t,r,o)=>{for(var i=o>1?void 0:o?YQ(t,r):t,n=e.length-1,s;n>=0;n--)(s=e[n])&&(i=(o?s(t,r,i):s(i))||i);return o&&i&&fz(t,r,i),i},ie=(e,t)=>(r,o)=>t(r,o,e),u4="Terminal input",UC={get:()=>u4,set:e=>u4=e},p4="Too much output to announce, navigate to rows manually to read",jC={get:()=>p4,set:e=>p4=e};function ZQ(e){return e.replace(/\r?\n/g,"\r")}function QQ(e,t){return t?"\x1B[200~"+e+"\x1B[201~":e}function JQ(e,t){e.clipboardData&&e.clipboardData.setData("text/plain",t.selectionText),e.preventDefault()}function eJ(e,t,r,o){if(e.stopPropagation(),e.clipboardData){let i=e.clipboardData.getData("text/plain");hz(i,t,r,o)}}function hz(e,t,r,o){e=ZQ(e),e=QQ(e,r.decPrivateModes.bracketedPasteMode&&o.rawOptions.ignoreBracketedPasteMode!==!0),r.triggerDataEvent(e,!0),t.value=""}function mz(e,t,r){let o=r.getBoundingClientRect(),i=e.clientX-o.left-10,n=e.clientY-o.top-10;t.style.width="20px",t.style.height="20px",t.style.left=`${i}px`,t.style.top=`${n}px`,t.style.zIndex="1000",t.focus()}function d4(e,t,r,o,i){mz(e,t,r),i&&o.rightClickSelect(e),t.value=o.selectionText,t.select()}function cl(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function m0(e,t=0,r=e.length){let o="";for(let i=t;i<r;++i){let n=e[i];n>65535?(n-=65536,o+=String.fromCharCode((n>>10)+55296)+String.fromCharCode(n%1024+56320)):o+=String.fromCharCode(n)}return o}var tJ=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let r=e.length;if(!r)return 0;let o=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[o++]=(this._interim-55296)*1024+n-56320+65536:(t[o++]=this._interim,t[o++]=n),this._interim=0}for(let n=i;n<r;++n){let s=e.charCodeAt(n);if(55296<=s&&s<=56319){if(++n>=r)return this._interim=s,o;let a=e.charCodeAt(n);56320<=a&&a<=57343?t[o++]=(s-55296)*1024+a-56320+65536:(t[o++]=s,t[o++]=a);continue}s!==65279&&(t[o++]=s)}return o}},rJ=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let r=e.length;if(!r)return 0;let o=0,i,n,s,a,l=0,c=0;if(this.interim[0]){let f=!1,d=this.interim[0];d&=(d&224)===192?31:(d&240)===224?15:7;let h=0,y;for(;(y=this.interim[++h]&63)&&h<4;)d<<=6,d|=y;let b=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,m=b-h;for(;c<m;){if(c>=r)return 0;if(y=e[c++],(y&192)!==128){c--,f=!0;break}else this.interim[h++]=y,d<<=6,d|=y&63}f||(b===2?d<128?c--:t[o++]=d:b===3?d<2048||d>=55296&&d<=57343||d===65279||(t[o++]=d):d<65536||d>1114111||(t[o++]=d)),this.interim.fill(0)}let u=r-4,p=c;for(;p<r;){for(;p<u&&!((i=e[p])&128)&&!((n=e[p+1])&128)&&!((s=e[p+2])&128)&&!((a=e[p+3])&128);)t[o++]=i,t[o++]=n,t[o++]=s,t[o++]=a,p+=4;if(i=e[p++],i<128)t[o++]=i;else if((i&224)===192){if(p>=r)return this.interim[0]=i,o;if(n=e[p++],(n&192)!==128){p--;continue}if(l=(i&31)<<6|n&63,l<128){p--;continue}t[o++]=l}else if((i&240)===224){if(p>=r)return this.interim[0]=i,o;if(n=e[p++],(n&192)!==128){p--;continue}if(p>=r)return this.interim[0]=i,this.interim[1]=n,o;if(s=e[p++],(s&192)!==128){p--;continue}if(l=(i&15)<<12|(n&63)<<6|s&63,l<2048||l>=55296&&l<=57343||l===65279)continue;t[o++]=l}else if((i&248)===240){if(p>=r)return this.interim[0]=i,o;if(n=e[p++],(n&192)!==128){p--;continue}if(p>=r)return this.interim[0]=i,this.interim[1]=n,o;if(s=e[p++],(s&192)!==128){p--;continue}if(p>=r)return this.interim[0]=i,this.interim[1]=n,this.interim[2]=s,o;if(a=e[p++],(a&192)!==128){p--;continue}if(l=(i&7)<<18|(n&63)<<12|(s&63)<<6|a&63,l<65536||l>1114111)continue;t[o++]=l}}return o}},yz="",ul=" ",ry=class gz{constructor(){this.fg=0,this.bg=0,this.extended=new s0}static toColorRGB(t){return[t>>>16&255,t>>>8&255,t&255]}static fromColorRGB(t){return(t[0]&255)<<16|(t[1]&255)<<8|t[2]&255}clone(){let t=new gz;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},s0=class vz{constructor(t=0,r=0){this._ext=0,this._urlId=0,this._ext=t,this._urlId=r}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(t){this._ext=t}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(t){this._ext&=-469762049,this._ext|=t<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(t){this._ext&=-67108864,this._ext|=t&67108863}get urlId(){return this._urlId}set urlId(t){this._urlId=t}get underlineVariantOffset(){let t=(this._ext&3758096384)>>29;return t<0?t^4294967288:t}set underlineVariantOffset(t){this._ext&=536870911,this._ext|=t<<29&3758096384}clone(){return new vz(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Yi=class bz extends ry{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new s0,this.combinedData=""}static fromCharData(t){let r=new bz;return r.setFromCharData(t),r}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?cl(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(t){this.fg=t[0],this.bg=0;let r=!1;if(t[1].length>2)r=!0;else if(t[1].length===2){let o=t[1].charCodeAt(0);if(55296<=o&&o<=56319){let i=t[1].charCodeAt(1);56320<=i&&i<=57343?this.content=(o-55296)*1024+i-56320+65536|t[2]<<22:r=!0}else r=!0}else this.content=t[1].charCodeAt(0)|t[2]<<22;r&&(this.combinedData=t[1],this.content=2097152|t[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},f4="di$target",$C="di$dependencies",CC=new Map;function oJ(e){return e[$C]||[]}function jr(e){if(CC.has(e))return CC.get(e);let t=function(r,o,i){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");iJ(t,r,i)};return t._id=e,CC.set(e,t),t}function iJ(e,t,r){t[f4]===t?t[$C].push({id:e,index:r}):(t[$C]=[{id:e,index:r}],t[f4]=t)}var ko=jr("BufferService"),_z=jr("CoreMouseService"),Yc=jr("CoreService"),nJ=jr("CharsetService"),CP=jr("InstantiationService"),Sz=jr("LogService"),Oo=jr("OptionsService"),xz=jr("OscLinkService"),sJ=jr("UnicodeService"),oy=jr("DecorationService"),WC=class{constructor(e,t,r){this._bufferService=e,this._optionsService=t,this._oscLinkService=r}provideLinks(e,t){let r=this._bufferService.buffer.lines.get(e-1);if(!r){t(void 0);return}let o=[],i=this._optionsService.rawOptions.linkHandler,n=new Yi,s=r.getTrimmedLength(),a=-1,l=-1,c=!1;for(let u=0;u<s;u++)if(!(l===-1&&!r.hasContent(u))){if(r.loadCell(u,n),n.hasExtendedAttrs()&&n.extended.urlId)if(l===-1){l=u,a=n.extended.urlId;continue}else c=n.extended.urlId!==a;else l!==-1&&(c=!0);if(c||l!==-1&&u===s-1){let p=this._oscLinkService.getLinkData(a)?.uri;if(p){let f={start:{x:l+1,y:e},end:{x:u+(!c&&u===s-1?1:0),y:e}},d=!1;if(!i?.allowNonHttpProtocols)try{let h=new URL(p);["http:","https:"].includes(h.protocol)||(d=!0)}catch{d=!0}d||o.push({text:p,range:f,activate:(h,y)=>i?i.activate(h,y,f):aJ(h,y),hover:(h,y)=>i?.hover?.(h,y,f),leave:(h,y)=>i?.leave?.(h,y,f)})}c=!1,n.hasExtendedAttrs()&&n.extended.urlId?(l=u,a=n.extended.urlId):(l=-1,a=-1)}}t(o)}};WC=Qt([ie(0,ko),ie(1,Oo),ie(2,xz)],WC);function aJ(e,t){if(confirm(`Do you want to navigate to ${t}?
|
|
204
204
|
|
|
205
205
|
WARNING: This link could potentially be dangerous`)){let r=window.open();if(r){try{r.opener=null}catch{}r.location.href=t}else console.warn("Opening link blocked as opener could not be cleared")}}var y0=jr("CharSizeService"),ra=jr("CoreBrowserService"),PP=jr("MouseService"),oa=jr("RenderService"),lJ=jr("SelectionService"),Tz=jr("CharacterJoinerService"),jd=jr("ThemeService"),wz=jr("LinkProviderService"),cJ=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?h4.isErrorNoTelemetry(e)?new h4(e.message+`
|
|
206
206
|
|
package/dist/index.js
CHANGED