@staff0rd/assist 0.318.7 → 0.318.8

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.
@@ -261,7 +261,7 @@ ${e}</tr>
261
261
  `}tablecell(e){let t=this.parser.parseInline(e.tokens),r=e.header?"th":"td";return(e.align?`<${r} align="${e.align}">`:`<${r}>`)+t+`</${r}>
262
262
  `}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>${En(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=rz(e);if(i===null)return o;e=i;let s='<a href="'+e+'"';return t&&(s+=' title="'+En(t)+'"'),s+=">"+o+"</a>",s}image({href:e,title:t,text:r,tokens:o}){o&&(r=this.parser.parseInline(o,this.parser.textRenderer));let i=rz(e);if(i===null)return En(r);e=i;let s=`<img src="${e}" alt="${r}"`;return t&&(s+=` title="${En(t)}"`),s+=">",s}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:En(e.text)}},KR=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""}},La=class zR{constructor(t){Ve(this,"options");Ve(this,"renderer");Ve(this,"textRenderer");this.options=t||Fu,this.options.renderer=this.options.renderer||new _S,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new KR}static parse(t,r){return new zR(r).parse(t)}static parseInline(t,r){return new zR(r).parseInline(t)}parse(t,r=!0){let o="";for(let i=0;i<t.length;i++){let s=t[i];if(this.options.extensions?.renderers?.[s.type]){let a=s,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 n=s;switch(n.type){case"space":{o+=this.renderer.space(n);continue}case"hr":{o+=this.renderer.hr(n);continue}case"heading":{o+=this.renderer.heading(n);continue}case"code":{o+=this.renderer.code(n);continue}case"table":{o+=this.renderer.table(n);continue}case"blockquote":{o+=this.renderer.blockquote(n);continue}case"list":{o+=this.renderer.list(n);continue}case"html":{o+=this.renderer.html(n);continue}case"paragraph":{o+=this.renderer.paragraph(n);continue}case"text":{let a=n,l=this.renderer.text(a);for(;i+1<t.length&&t[i+1].type==="text";)a=t[++i],l+=`
263
263
  `+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 "'+n.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 s=t[i];if(this.options.extensions?.renderers?.[s.type]){let a=this.options.extensions.renderers[s.type].call({parser:this},s);if(a!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(s.type)){o+=a||"";continue}}let n=s;switch(n.type){case"escape":{o+=r.text(n);break}case"html":{o+=r.html(n);break}case"link":{o+=r.link(n);break}case"image":{o+=r.image(n);break}case"strong":{o+=r.strong(n);break}case"em":{o+=r.em(n);break}case"codespan":{o+=r.codespan(n);break}case"br":{o+=r.br(n);break}case"del":{o+=r.del(n);break}case"text":{o+=r.text(n);break}default:{let a='Token with "'+n.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return o}},BR,yS=(BR=class{constructor(e){Ve(this,"options");Ve(this,"block");this.options=e||Fu}preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}provideLexer(){return this.block?Oa.lex:Oa.lexInline}provideParser(){return this.block?La.parse:La.parseInline}},Ve(BR,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"])),BR),Gie=class{constructor(...e){Ve(this,"defaults",FR());Ve(this,"options",this.setOptions);Ve(this,"parse",this.parseMarkdown(!0));Ve(this,"parseInline",this.parseMarkdown(!1));Ve(this,"Parser",La);Ve(this,"Renderer",_S);Ve(this,"TextRenderer",KR);Ve(this,"Lexer",Oa);Ve(this,"Tokenizer",bS);Ve(this,"Hooks",yS);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 s of i.header)r=r.concat(this.walkTokens(s.tokens,t));for(let s of i.rows)for(let n of s)r=r.concat(this.walkTokens(n.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(s=>{let n=i[s].flat(1/0);r=r.concat(this.walkTokens(n,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 s=t.renderers[i.name];s?t.renderers[i.name]=function(...n){let a=i.renderer.apply(this,n);return a===!1&&(a=s.apply(this,n)),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 s=t[i.level];s?s.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 _S(this.defaults);for(let s in r.renderer){if(!(s in i))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let n=s,a=r.renderer[n],l=i[n];i[n]=(...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 bS(this.defaults);for(let s in r.tokenizer){if(!(s in i))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let n=s,a=r.tokenizer[n],l=i[n];i[n]=(...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 yS;for(let s in r.hooks){if(!(s in i))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let n=s,a=r.hooks[n],l=i[n];yS.passThroughHooks.has(s)?i[n]=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[n]=(...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,s=r.walkTokens;o.walkTokens=function(n){let a=[];return a.push(s.call(this,n)),i&&(a=a.concat(i.call(this,n))),a}}this.defaults={...this.defaults,...o}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return Oa.lex(e,t??this.defaults)}parser(e,t){return La.parse(e,t??this.defaults)}parseMarkdown(e){return(r,o)=>{let i={...o},s={...this.defaults,...i},n=this.onError(!!s.silent,!!s.async);if(this.defaults.async===!0&&i.async===!1)return n(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 n(new Error("marked(): input parameter is undefined or null"));if(typeof r!="string")return n(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));s.hooks&&(s.hooks.options=s,s.hooks.block=e);let a=s.hooks?s.hooks.provideLexer():e?Oa.lex:Oa.lexInline,l=s.hooks?s.hooks.provideParser():e?La.parse:La.parseInline;if(s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(r):r).then(c=>a(c,s)).then(c=>s.hooks?s.hooks.processAllTokens(c):c).then(c=>s.walkTokens?Promise.all(this.walkTokens(c,s.walkTokens)).then(()=>c):c).then(c=>l(c,s)).then(c=>s.hooks?s.hooks.postprocess(c):c).catch(n);try{s.hooks&&(r=s.hooks.preprocess(r));let c=a(r,s);s.hooks&&(c=s.hooks.processAllTokens(c)),s.walkTokens&&this.walkTokens(c,s.walkTokens);let u=l(c,s);return s.hooks&&(u=s.hooks.postprocess(u)),u}catch(c){return n(c)}}}onError(e,t){return r=>{if(r.message+=`
264
- Please report this to https://github.com/markedjs/marked.`,e){let o="<p>An error occurred:</p><pre>"+En(r.message+"",!0)+"</pre>";return t?Promise.resolve(o):o}if(t)return Promise.reject(r);throw r}}},zu=new Gie;function $e(e,t){return zu.parse(e,t)}$e.options=$e.setOptions=function(e){return zu.setOptions(e),$e.defaults=zu.defaults,sz($e.defaults),$e};$e.getDefaults=FR;$e.defaults=Fu;$e.use=function(...e){return zu.use(...e),$e.defaults=zu.defaults,sz($e.defaults),$e};$e.walkTokens=function(e,t){return zu.walkTokens(e,t)};$e.parseInline=zu.parseInline;$e.Parser=La;$e.parser=La.parse;$e.Renderer=_S;$e.TextRenderer=KR;$e.Lexer=Oa;$e.lexer=Oa.lex;$e.Tokenizer=bS;$e.Hooks=yS;$e.parse=$e;var IKe=$e.options,zKe=$e.setOptions,FKe=$e.use,$Ke=$e.walkTokens,UKe=$e.parseInline;var HKe=La.parse,jKe=Oa.lex;var Jl=y(C(),1);function gz({criteria:e}){return e.length===0?null:(0,Jl.jsxs)(ee,{sx:{mb:2},children:[(0,Jl.jsx)(te,{variant:"overline",sx:{color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"},children:"Acceptance Criteria"}),(0,Jl.jsx)(mn,{disablePadding:!0,children:e.map((t,r)=>(0,Jl.jsxs)(_l,{disableGutters:!0,disablePadding:!0,sx:{py:.5,display:"flex",alignItems:"baseline"},children:[(0,Jl.jsxs)(te,{component:"span",sx:{color:"text.secondary",mr:1},children:[r+1,"."]}),(0,Jl.jsx)(ee,{component:"span",className:"markdown",dangerouslySetInnerHTML:{__html:$e.parseInline(t)}})]},t))})]})}var $u=y(C(),1),Yie={alignItems:"center",fontSize:"0.75rem",color:"text.secondary",mb:.5},Xie={color:"text.disabled"},Zie={fontWeight:500},Qie={summary:"Phase summary",comment:"Comment"};function yz({comment:e}){return(0,$u.jsxs)(ft,{direction:"row",spacing:.5,sx:Yie,children:[e.id!==void 0&&(0,$u.jsxs)(te,{variant:"caption",sx:Xie,children:["#",e.id]}),(0,$u.jsx)(te,{variant:"caption",sx:Zie,children:Qie[e.type]}),e.phase!==void 0&&(0,$u.jsxs)(te,{variant:"caption",children:["\xB7 Phase ",e.phase]}),(0,$u.jsxs)(te,{variant:"caption",children:["\xB7 ",Jie(e.timestamp)]})]})}function Jie(e){return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}var vz=y(C(),1),bz=fe((0,vz.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 GR=y(I(),1);var kn=y(C(),1),ese={mt:-.5,mr:-.5,color:"text.secondary"};function _z({itemId:e,commentId:t,onDeleted:r}){let o=xr(),[i,s]=(0,GR.useState)(!1),[n,a]=(0,GR.useState)(),l=()=>a(void 0);return(0,kn.jsxs)(kn.Fragment,{children:[i&&(0,kn.jsx)(ms,{message:"Are you sure you want to delete this comment?",onConfirm:async()=>{s(!1);try{await z6(e,t,o),await r()}catch(c){a(c instanceof Error?c.message:"Failed to delete comment")}},onCancel:()=>s(!1)}),(0,kn.jsx)(gn,{open:n!==void 0,autoHideDuration:6e3,onClose:l,children:(0,kn.jsx)(fn,{severity:"error",variant:"filled",onClose:l,children:n})}),(0,kn.jsx)(Ct,{"aria-label":"Delete comment",size:"small",sx:ese,onClick:()=>s(!0),children:(0,kn.jsx)(bz,{fontSize:"inherit"})})]})}var Uu=y(C(),1),tse={summary:{bgcolor:"warning.light",borderColor:"warning.dark"},comment:{bgcolor:"action.selected",borderColor:"divider"}},rse={justifyContent:"space-between",alignItems:"flex-start"},ose={color:"text.primary",whiteSpace:"pre-wrap"};function ise(e){return{p:1.5,bgcolor:e.bgcolor,borderColor:e.borderColor}}function Sz({comment:e,itemId:t,onDeleted:r}){return(0,Uu.jsxs)(st,{variant:"outlined",sx:ise(tse[e.type]),children:[(0,Uu.jsxs)(ft,{direction:"row",sx:rse,children:[(0,Uu.jsx)(yz,{comment:e}),e.id!==void 0&&t!==void 0&&r&&(0,Uu.jsx)(_z,{itemId:t,commentId:e.id,onDeleted:r})]}),(0,Uu.jsx)(te,{variant:"body2",sx:ose,children:e.text})]})}var Df=y(C(),1),sse={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function xz({comments:e,itemId:t,onCommentDeleted:r}){return e.length===0?null:(0,Df.jsxs)(ee,{sx:{mb:2},children:[(0,Df.jsx)(te,{variant:"overline",sx:sse,children:"Comments"}),(0,Df.jsx)(ft,{spacing:1,children:e.map((o,i)=>(0,Df.jsx)(Sz,{comment:o,itemId:t,onDeleted:r},`${o.timestamp}-${i}`))})]})}var TS=y(C(),1),Tz={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"}},nse=["todo","in-progress","done","wontdo"];function wz({current:e,onStatusChange:t}){return t?(0,TS.jsx)(Md,{value:e,onChange:r=>t(r.target.value),size:"small",sx:{fontSize:"0.75rem",fontWeight:500,borderRadius:4,bgcolor:Tz[e].bg,color:Tz[e].text,"& .MuiSelect-select":{py:.5,px:1.5},"& .MuiSelect-icon":{color:"inherit"}},children:nse.map(r=>(0,TS.jsx)(es,{value:r,children:r},r))}):(0,TS.jsx)(_t,{label:e,size:"small",color:aS[e],sx:{fontWeight:500,fontSize:"0.75rem"}})}var Bf=y(C(),1),ase={alignItems:"center",color:"text.disabled",fontSize:"0.875rem",mb:2},lse={fontWeight:500,fontSize:"0.75rem"};function Cz({item:e,onStatusChange:t}){let r=nS[e.type];return(0,Bf.jsxs)(ft,{direction:"row",spacing:1,sx:ase,children:[(0,Bf.jsxs)(te,{variant:"body2",color:"text.disabled",children:["#",e.id]}),r&&(0,Bf.jsx)(_t,{label:e.type,size:"small",color:r,sx:lse}),(0,Bf.jsx)(wz,{current:e.status,onStatusChange:t})]})}var Rz=y(C(),1),cse={lineHeight:1.7,"& p":{mt:0}};function Pz({content:e}){return(0,Rz.jsx)(ee,{className:"markdown",sx:cse,dangerouslySetInnerHTML:{__html:$e.parse(e)}})}var Da=y(C(),1);function Ez({checks:e}){return(0,Da.jsxs)(ee,{sx:{mt:1,pt:1},children:[(0,Da.jsx)(bd,{sx:{mb:1}}),(0,Da.jsx)(te,{variant:"overline",sx:{color:"text.disabled",letterSpacing:"0.08em"},children:"Manual Checks"}),(0,Da.jsx)(mn,{disablePadding:!0,sx:{ml:.5,mt:.5},children:e.map(t=>(0,Da.jsxs)(_l,{disableGutters:!0,disablePadding:!0,sx:{py:.25,display:"flex",alignItems:"baseline"},children:[(0,Da.jsx)(te,{component:"span",sx:{mr:1,fontSize:"0.875rem",color:"text.secondary"},children:"\u2610"}),(0,Da.jsx)(ee,{component:"span",className:"markdown",sx:{fontSize:"0.875rem",color:"text.secondary"},dangerouslySetInnerHTML:{__html:$e.parseInline(t)}})]},t))})]})}var Az=y(I(),1);var kz=y(I(),1),Mn=y(C(),1);function Mz({phaseName:e,onConfirm:t,onCancel:r}){let[o,i]=(0,kz.useState)("");return(0,Mn.jsxs)(md,{open:!0,onClose:r,maxWidth:"xs",fullWidth:!0,children:[(0,Mn.jsxs)(vd,{children:["Rewind to ",e,"?"]}),(0,Mn.jsxs)(yd,{children:[(0,Mn.jsx)(te,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"This will mark all later phases as incomplete."}),(0,Mn.jsx)(vn,{fullWidth:!0,multiline:!0,rows:3,size:"small",placeholder:"Reason for rewinding...",value:o,onChange:s=>i(s.target.value)})]}),(0,Mn.jsxs)(gd,{children:[(0,Mn.jsx)(dt,{onClick:r,children:"Cancel"}),(0,Mn.jsx)(dt,{variant:"contained",color:"warning",disabled:o.trim().length===0,onClick:()=>t(o.trim()),children:"Rewind"})]})]})}var Hu=y(C(),1);function Oz({itemId:e,phaseNumber:t,phaseName:r,onRewound:o}){let i=xr(),[s,n]=(0,Az.useState)(!1);return(0,Hu.jsxs)(Hu.Fragment,{children:[(0,Hu.jsx)(dt,{size:"small",color:"warning",variant:"outlined",onClick:()=>n(!0),sx:{ml:"auto",textTransform:"none",fontSize:"0.75rem"},children:"Rewind"}),s&&(0,Hu.jsx)(Mz,{phaseName:r,onConfirm:async a=>{await F6(e,t,a,i),await o()},onCancel:()=>n(!1)})]})}var Nf=y(C(),1),use={done:{label:"Done",color:"success"},current:{label:"In Progress",color:"info"},upcoming:{label:"Upcoming",color:"default"}},pse={alignItems:"center",mb:1},dse={fontWeight:500},fse={fontWeight:500,fontSize:"0.75rem"};function Lz({phase:e,index:t,status:r,itemId:o,onRewind:i}){let s=use[r],n=r==="done"&&o!==void 0&&i;return(0,Nf.jsxs)(ft,{direction:"row",spacing:1,sx:pse,children:[(0,Nf.jsxs)(te,{sx:dse,children:["Phase ",t+1,": ",e.name]}),(0,Nf.jsx)(_t,{label:s.label,size:"small",color:s.color,sx:fse}),n&&(0,Nf.jsx)(Oz,{itemId:o,phaseNumber:t+1,phaseName:e.name,onRewound:i})]})}var If=y(C(),1);function Dz({tasks:e,marker:t}){return(0,If.jsx)(mn,{disablePadding:!0,sx:{ml:.5},children:e.map(r=>(0,If.jsxs)(_l,{disableGutters:!0,disablePadding:!0,sx:{py:.25,display:"flex",alignItems:"baseline"},children:[(0,If.jsx)(te,{component:"span",sx:{color:"text.secondary",mr:1},children:t}),(0,If.jsx)(ee,{component:"span",className:"markdown",dangerouslySetInnerHTML:{__html:$e.parseInline(r.task)}})]},r.task))})}var zf=y(C(),1),hse={done:{borderColor:"success.light",bgcolor:"success.light"},current:{borderColor:"info.main",bgcolor:"info.light",ring:"info.light"},upcoming:{borderColor:"divider",bgcolor:"background.paper"}};function mse(e){return{p:2,borderColor:e.borderColor,bgcolor:e.bgcolor,...e.ring?{boxShadow:"0 0 0 2px",borderColor:"info.main"}:{}}}var gse={done:"\u2713",current:"\u2022",upcoming:"\u2022"};function Bz({phase:e,index:t,status:r,itemId:o,onRewind:i}){let s=e.manualChecks??[];return(0,zf.jsxs)(st,{variant:"outlined",sx:mse(hse[r]),children:[(0,zf.jsx)(Lz,{phase:e,index:t,status:r,itemId:o,onRewind:i}),(0,zf.jsx)(Dz,{tasks:e.tasks,marker:gse[r]}),s.length>0&&(0,zf.jsx)(Ez,{checks:s})]})}var Ff=y(C(),1);function yse(e,t){if(t===void 0)return"upcoming";let r=e+1;return r<t?"done":r===t?"current":"upcoming"}function Nz({phases:e,currentPhase:t,itemId:r,onRewind:o}){return e.length===0?null:(0,Ff.jsxs)(ee,{sx:{mb:2},children:[(0,Ff.jsx)(te,{variant:"overline",sx:{color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"},children:"Plan"}),(0,Ff.jsx)(ft,{spacing:1.5,children:e.map((i,s)=>(0,Ff.jsx)(Bz,{phase:i,index:s,status:yse(s,t),itemId:r,onRewind:o},i.name))})]})}var Gs=y(C(),1),vse={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function Iz({item:e,onStatusChange:t,onRewind:r,onCommentDeleted:o}){return(0,Gs.jsxs)(st,{variant:"outlined",sx:{p:3},children:[(0,Gs.jsx)(te,{variant:"h5",component:"h2",children:e.name}),(0,Gs.jsx)(Cz,{item:e,onStatusChange:t}),e.description&&(0,Gs.jsxs)(ee,{sx:{mb:2},children:[(0,Gs.jsx)(te,{variant:"overline",sx:vse,children:"Description"}),(0,Gs.jsx)(Pz,{content:e.description})]}),(0,Gs.jsx)(gz,{criteria:e.acceptanceCriteria}),e.plan&&(0,Gs.jsx)(Nz,{phases:e.plan,currentPhase:e.currentPhase,itemId:e.id,onRewind:r}),e.comments&&(0,Gs.jsx)(xz,{comments:e.comments,itemId:e.id,onCommentDeleted:o})]})}var zz=y(C(),1),Fz=fe((0,zz.jsx)("path",{d:"M3 17v2h6v-2zM3 5v2h10V5zm10 16v-2h8v-2h-8v-2h-2v6zM7 9v2H3v2h4v2h2V9zm14 4v-2H11v2zm-6-4h2V7h4V5h-4V3h-2z"}),"Tune");var $z=y(I(),1);var YR=y(C(),1);function Uz({itemId:e}){let{launchAssist:t}=Of(),r=Lr(),o=xr(),[i,s]=(0,$z.useState)(!1);return(0,YR.jsx)(dt,{variant:"outlined",size:"small",startIcon:(0,YR.jsx)(Fz,{}),disabled:i,onClick:a=>{a.stopPropagation(),!i&&(s(!0),t(["refine","--once",String(e)],o),r("/sessions"))},children:"Refine"})}var Ys=y(C(),1),bse={justifyContent:"space-between",alignItems:"center",mb:2};function _se({item:e,onDeleted:t}){return(0,Ys.jsxs)(ft,{direction:"row",sx:bse,children:[(0,Ys.jsx)(X6,{to:"/backlog"}),(0,Ys.jsxs)(ft,{direction:"row",spacing:1,children:[sS(e)&&(0,Ys.jsx)(pS,{itemId:e.id}),(0,Ys.jsx)(Uz,{itemId:e.id}),(0,Ys.jsx)(J6,{itemId:e.id,onDeleted:t})]})]})}function Hz({item:e,onReload:t}){let r=Lr(),o=xr();return(0,Ys.jsxs)(ee,{children:[(0,Ys.jsx)(_se,{item:e,onDeleted:async()=>{await t(),r("/backlog")}}),(0,Ys.jsx)(Iz,{item:e,onStatusChange:async n=>{await hS(e.id,n,o),await t()},onRewind:t,onCommentDeleted:t})]})}var wS=y(C(),1),Sse={display:"flex",justifyContent:"center",py:6};function Wz({onReload:e}){let{id:t}=gR(),r=Number(t),{item:o,loading:i,reload:s}=Y6(r),n=(0,jz.useCallback)(async()=>{await Promise.all([s(),e()])},[s,e]);return i?(0,wS.jsx)(ee,{sx:Sse,children:(0,wS.jsx)(Xt,{})}):o?(0,wS.jsx)(Hz,{item:o,onReload:n}):null}var ju=y(C(),1);function Vz({items:e,loading:t,socket:r,onReload:o}){return(0,ju.jsxs)(Du,{children:[(0,ju.jsx)(li,{index:!0,element:(0,ju.jsx)(G6,{items:e,loading:t,socket:r,onReload:o})}),(0,ju.jsx)(li,{path:"items/:id",element:(0,ju.jsx)(Wz,{onReload:o})})]})}var Xs=y(I(),1);var qz=new Map;function Kz(e,t){return JSON.stringify([e??null,t])}var ey={get(e,t){return qz.get(Kz(e,t))},set(e,t,r){qz.set(Kz(e,t),r)}};function Gz(e,t){return e===t?!0:e.length!==t.length?!1:e.every((r,o)=>{let i=t[o];return r.id===i.id&&r.type===i.type&&r.name===i.name&&r.status===i.status&&r.starred===i.starred})}async function Yz(e,t){return(await(await fetch(Di("/api/backlog/exists",e),{signal:t})).json()).exists}async function Xz(e,t,r){let o=await Yz(e,r),i=o?await Ql({cwd:e,signal:r,showCompleted:t}):[];return r.aborted||ey.set(e,t,i),{found:o,items:i}}function Zz(e,t,r,o){(async()=>{try{let{found:i,items:s}=await Xz(e,t,r);r.aborted||o(i,s)}catch{}})()}var xse=5e3;function Qz(e,t,r){let o=new AbortController,i=()=>Zz(e,t,o.signal,r);i();let s=setInterval(i,xse);return()=>{o.abort(),clearInterval(s)}}function Jz(){let e=xr(),[t]=Mf(),r=ey.get(e,t),o=r??[],i=r===void 0,[s,n]=(0,Xs.useState)(o),[a,l]=(0,Xs.useState)(i),[c,u]=(0,Xs.useState)(!0),[p,f]=(0,Xs.useState)(e),[d,h]=(0,Xs.useState)(t);(e!==p||t!==d)&&(f(e),h(t),n(o),l(i),u(!0));let m=(0,Xs.useCallback)(async()=>{let g=await Ql({cwd:e,showCompleted:t});n(g),ey.set(e,t,g),l(!1)},[e,t]);(0,Xs.useEffect)(()=>(u(!0),Qz(e,t,(g,b)=>{u(g),n(v=>Gz(v,b)?v:b),l(!1)})),[e,t]);let S=(0,Xs.useCallback)(async()=>{await N6(e),u(!0),l(!0),await m()},[e,m]);return{items:s,loading:a,exists:c,reload:m,initialize:S}}var ty=y(C(),1);function e8({socket:e}){let{items:t,loading:r,exists:o,reload:i,initialize:s}=Jz();return o?(0,ty.jsx)(Du,{children:(0,ty.jsx)(li,{path:"/*",element:(0,ty.jsx)(Vz,{items:t,loading:r,socket:e,onReload:i})})}):(0,ty.jsx)(_6,{onInit:s})}var t8=["B","KB","MB","GB","TB"];function r8(e){if(e<1024)return`${e} B`;let t=e,r=0;for(;t>=1024&&r<t8.length-1;)t/=1024,r++;return`${t.toFixed(1)} ${t8[r]}`}var Ba=y(C(),1);function Tse(e){return e.split(/[/\\]/).pop()??e}function o8({backup:e}){return(0,Ba.jsxs)(la,{children:[(0,Ba.jsx)(pr,{children:new Date(e.createdAt).toLocaleString()}),(0,Ba.jsx)(pr,{sx:{fontFamily:"monospace",wordBreak:"break-all"},children:(0,Ba.jsx)(yr,{title:e.filePath,children:(0,Ba.jsx)("span",{children:Tse(e.filePath)})})}),(0,Ba.jsx)(pr,{align:"right",children:r8(e.sizeBytes)}),(0,Ba.jsx)(pr,{align:"right",children:e.durationMs==null?"\u2014":`${(e.durationMs/1e3).toFixed(1)}s`})]})}var gs=y(C(),1);function i8({backups:e}){return(0,gs.jsx)(Um,{component:st,children:(0,gs.jsxs)(zm,{size:"small",children:[(0,gs.jsx)(Hm,{children:(0,gs.jsxs)(la,{children:[(0,gs.jsx)(pr,{children:"Time"}),(0,gs.jsx)(pr,{children:"File"}),(0,gs.jsx)(pr,{align:"right",children:"Size"}),(0,gs.jsx)(pr,{align:"right",children:"Duration"})]})}),(0,gs.jsx)(Fm,{children:e.map(t=>(0,gs.jsx)(o8,{backup:t},t.id))})]})})}var ry=y(I(),1),Wu=y(C(),1),CS=e=>{let{title:t,emptyMessage:r,fetchRows:o,children:i}=e,[s,n]=(0,ry.useState)([]),[a,l]=(0,ry.useState)(!0);return(0,ry.useEffect)(()=>{o().then(n).finally(()=>l(!1))},[o]),a?(0,Wu.jsx)(ee,{sx:{display:"flex",justifyContent:"center",py:6},children:(0,Wu.jsx)(Xt,{})}):(0,Wu.jsxs)(vl,{maxWidth:"md",sx:{py:3,px:2},children:[(0,Wu.jsx)(te,{variant:"h6",sx:{mb:2},children:t}),s.length===0?(0,Wu.jsx)(te,{color:"text.secondary",align:"center",sx:{py:6},children:r}):i(s)]})};var XR=y(C(),1);async function wse(){return(await fetch("/api/backups/list")).json()}function s8(){return(0,XR.jsx)(CS,{title:"Backups",emptyMessage:"No backups recorded yet.",fetchRows:wse,children:e=>(0,XR.jsx)(i8,{backups:e})})}var oy=y(I(),1);function n8(e){let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);if(t<60)return"just now";let r=Math.floor(t/60);if(r<60)return`${r}m ago`;let o=Math.floor(r/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`}var Na=y(C(),1),Cse={display:"block",bgcolor:"background.paper",borderRadius:2,p:2.5,transition:"background-color 0.15s","&:hover":{bgcolor:"action.hover"}},Pse={width:16,height:16};function a8({item:e}){return(0,Na.jsxs)(au,{href:e.link,target:"_blank",rel:"noopener noreferrer",underline:"none",color:"inherit",sx:Cse,children:[(0,Na.jsxs)(ee,{sx:{display:"flex",alignItems:"center",gap:1,mb:.75},children:[(0,Na.jsx)(NT,{src:`${e.feedOrigin}/favicon.ico`,variant:"rounded",sx:Pse,children:" "}),(0,Na.jsx)(_t,{label:e.feedTitle,size:"small"}),(0,Na.jsx)(te,{variant:"body2",color:"text.secondary",children:n8(e.pubDate)})]}),(0,Na.jsx)(te,{variant:"h6",sx:{fontWeight:500,lineHeight:1.3},children:e.title}),e.excerpt&&(0,Na.jsx)(te,{variant:"body2",color:"text.secondary",sx:{mt:.75},children:e.excerpt})]})}function Rse(e){let t=new Date(e),r=new Date;return t.toLocaleDateString("en-US",{weekday:"long",month:"short",day:"numeric",year:t.getFullYear()!==r.getFullYear()?"numeric":void 0})}function Ese(e){return new Date(e).toISOString().slice(0,10)}function l8(e){let t=new Map;for(let r of e){let o=Ese(r.pubDate),i=t.get(o);i?i.items.push(r):t.set(o,{label:Rse(r.pubDate),items:[r]})}return[...t.values()]}var Zs=y(C(),1);async function kse(){return(await fetch("/api/news/items")).json()}function c8(){let[e,t]=(0,oy.useState)([]),[r,o]=(0,oy.useState)(!0);return(0,oy.useEffect)(()=>{kse().then(i=>t(l8(i))).finally(()=>o(!1))},[]),r?(0,Zs.jsx)(ee,{sx:{display:"flex",justifyContent:"center",py:6},children:(0,Zs.jsx)(Xt,{})}):e.length===0?(0,Zs.jsx)(vl,{maxWidth:"md",sx:{py:3,px:2},children:(0,Zs.jsx)(te,{color:"text.secondary",align:"center",sx:{py:6},children:"No news items."})}):(0,Zs.jsx)(vl,{maxWidth:"md",sx:{py:3,px:2},children:e.map(i=>(0,Zs.jsxs)(ee,{sx:{mb:4},children:[(0,Zs.jsx)(te,{variant:"overline",color:"text.secondary",sx:{display:"block",mb:1,px:.5},children:i.label}),(0,Zs.jsx)(ft,{spacing:1,children:i.items.map(s=>(0,Zs.jsx)(a8,{item:s},`${s.link}-${s.pubDate}`))})]},i.label))})}var Ox=y(I(),1);var ay=y(I(),1);var NS=y(I(),1);function PS(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 Qs=y(C(),1),RS={height:18,fontSize:"0.65rem"};function u8({session:e}){let{activity:t}=e,r=t?.kind==="backlog",o=r&&t.phase===t.totalPhases;return r?(0,Qs.jsxs)(Qs.Fragment,{children:[(0,Qs.jsx)(_t,{label:`#${t.itemId}`,size:"small",sx:RS,clickable:!0,component:hs,to:`/backlog/items/${t.itemId}`,onClick:i=>i.stopPropagation()}),(0,Qs.jsx)(_t,{label:`${t.phase}/${t.totalPhases}`,size:"small",color:o?"primary":"default",sx:RS})]}):(0,Qs.jsxs)(Qs.Fragment,{children:[(0,Qs.jsx)(_t,{label:PS(e),size:"small",color:"primary",variant:"outlined",sx:RS}),t?.itemId!=null&&(0,Qs.jsx)(_t,{label:`#${t.itemId}`,size:"small",sx:RS,clickable:!0,component:hs,to:`/backlog/items/${t.itemId}`,onClick:i=>i.stopPropagation()})]})}function $f(e){return!!e&&/^[A-Za-z]:[\\/]/.test(e)}function ES(e){if(!e)return"";let t=e.split(/[/\\]/).filter(Boolean);return t[t.length-1]??""}var ZR=y(C(),1);function p8(e){return(0,ZR.jsx)(ll,{viewBox:"0 0 24 24",...e,children:(0,ZR.jsx)("path",{d:"M0 3.449 9.75 2.1v9.451H0m10.949-9.602L24 0v11.4H10.949M0 12.6h9.75v9.451L0 20.699m10.949-8.099H24V24l-12.9-1.801"})})}var QR=y(C(),1);function ec(){return(0,QR.jsx)(yr,{title:"Windows",children:(0,QR.jsx)(p8,{sx:{fontSize:13,color:"info.main"}})})}var tc=y(C(),1),Mse={height:18,fontSize:"0.65rem"};function d8({session:e}){let t=ES(e.cwd);return(0,tc.jsxs)(tc.Fragment,{children:[t&&(0,tc.jsx)(_t,{label:t,size:"small",sx:Mse}),$f(e.cwd)&&(0,tc.jsx)(ec,{}),(0,tc.jsx)(u8,{session:e})]})}var f8=y(C(),1),h8=fe((0,f8.jsx)("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check");var eE=y(I(),1);var JR=y(C(),1);function Uf({error:e,onClose:t}){return(0,JR.jsx)(gn,{open:e!==null,autoHideDuration:8e3,onClose:t,anchorOrigin:{vertical:"bottom",horizontal:"center"},children:(0,JR.jsx)(fn,{severity:"error",variant:"filled",onClose:t,children:e})})}var Ia=y(C(),1);function m8({target:e,cwd:t,onDismiss:r}){let{itemId:o,phase:i,totalPhases:s}=e,[n,a]=(0,eE.useState)(!1),[l,c]=(0,eE.useState)(null),u=async()=>{try{await hS(o,"done",t),a(!1),r()}catch{c(`Failed to mark item #${o} as done`)}};return(0,Ia.jsxs)(Ia.Fragment,{children:[(0,Ia.jsx)(Ct,{size:"small",onClick:p=>{p.stopPropagation(),a(!0)},title:"Mark done",sx:{color:"text.disabled","&:hover":{color:"text.primary"}},children:(0,Ia.jsx)(h8,{sx:{fontSize:16}})}),n&&(0,Ia.jsx)(ms,{title:`Mark #${o} done`,message:`${i??0} of ${s??0} phases completed. Mark this backlog item as done and end its session?`,confirmLabel:"Mark done",onConfirm:u,onCancel:()=>a(!1)}),(0,Ia.jsx)(Uf,{error:l,onClose:()=>c(null)})]})}var g8=y(C(),1),y8=fe((0,g8.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 v8=y(I(),1);var rc=y(C(),1);function b8({status:e,onDismiss:t}){let[r,o]=(0,v8.useState)(!1),i=e==="done";return(0,rc.jsxs)(rc.Fragment,{children:[(0,rc.jsx)(Ct,{size:"small",onClick:s=>{s.stopPropagation(),i?t():o(!0)},title:"Dismiss",sx:{color:"text.disabled","&:hover":{color:"text.primary"}},children:(0,rc.jsx)(y8,{sx:{fontSize:16}})}),r&&(0,rc.jsx)(ms,{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 _8=y(C(),1),S8=fe((0,_8.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 tE=y(C(),1);function x8({onRetry:e}){return(0,tE.jsx)(Ct,{size:"small",onClick:t=>{t.stopPropagation(),e()},title:"Retry",sx:{color:"text.disabled","&:hover":{color:"text.primary"}},children:(0,tE.jsx)(S8,{sx:{fontSize:14}})})}var za=y(I(),1);function Vu(e){let t=e.activity?.itemId;if(!(!e.cwd||e.activity?.kind!=="backlog"||t==null))return{cwd:e.cwd,itemId:t}}function iy(e,t){return`${e}::${t}`}function T8(e){let t=new Set;for(let r of e){let o=Vu(r);o&&t.add(o.cwd)}return[...t].sort()}async function Ase(e){try{return(await Ql({cwd:e,showCompleted:!0})).filter(r=>r.starred).map(r=>iy(e,r.id))}catch{return[]}}async function w8(e){let t=await Promise.all(e.map(Ase));return new Set(t.flat())}var kS=y(I(),1);function Ose(e,t,r){let o=new Set(e);return r?o.add(t):o.delete(t),o}function C8(e,t){let r=Vu(t);return r?e.has(iy(r.cwd,r.itemId)):!1}function P8(e,t){let r=Vu(t);if(!r)return;let o=iy(r.cwd,r.itemId);e(i=>{let s=!i.has(o);return mS(r.itemId,s,r.cwd),Ose(i,o,s)})}function Lse(e,t){let r=!1,o=e?e.split("|"):[];return w8(o).then(i=>{r||t(i)}),()=>{r=!0}}function R8(e){let[t,r]=(0,kS.useState)(new Set);return(0,kS.useEffect)(()=>Lse(e,r),[e]),[t,r]}var M8=y(C(),1),E8=(0,za.createContext)(null);function k8({sessions:e,children:t}){let r=T8(e).join("|"),[o,i]=R8(r),s=(0,za.useCallback)(l=>C8(o,l),[o]),n=(0,za.useCallback)(l=>P8(i,l),[i]),a=(0,za.useMemo)(()=>({isStarred:s,toggleStar:n}),[s,n]);return(0,M8.jsx)(E8.Provider,{value:a,children:t})}function MS(){let e=(0,za.useContext)(E8);if(!e)throw new Error("useStarredSessions must be used within a StarredSessionsProvider");return e}var AS=y(C(),1);function A8({session:e}){let{isStarred:t,toggleStar:r}=MS(),o=t(e);return(0,AS.jsx)(Ct,{size:"small",onClick:i=>{i.stopPropagation(),r(e)},title:o?"Unstar":"Star","aria-label":o?"Unstar":"Star","aria-pressed":o,sx:{color:o?"warning.main":"text.disabled","&:hover":{color:o?"warning.main":"text.primary"}},children:o?(0,AS.jsx)(dS,{sx:{fontSize:16}}):(0,AS.jsx)(fS,{sx:{fontSize:16}})})}var Fa=y(C(),1);function O8({session:e,onRetry:t,onDismiss:r}){let{status:o}=e,i=cS(e),s=Vu(e)!==void 0;return(0,Fa.jsxs)(ee,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,Fa.jsx)(d8,{session:e}),(0,Fa.jsx)(ee,{sx:{flex:1}}),o==="done"&&t&&(0,Fa.jsx)(x8,{onRetry:t}),s&&(0,Fa.jsx)(A8,{session:e}),i&&(0,Fa.jsx)(m8,{target:i,cwd:e.cwd,onDismiss:r}),(0,Fa.jsx)(b8,{status:o,onDismiss:r})]})}function L8(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 Dse(e.assistArgs)??e.assistArgs?.[0]??e.name;case"run":return e.runName?`run: ${e.runName}`:e.name;default:return e.name}}function Dse(e){let t=e?.slice(1).filter(r=>!r.startsWith("--"));return t?.[t.length-1]}var Hf=y(C(),1);function OS(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 D8({session:e,onRetry:t,onDismiss:r}){let{activity:o,status:i}=e,s=o?.kind==="backlog"&&i!=="done"?o.phaseName:void 0;return(0,Hf.jsxs)(ee,{sx:{display:"flex",flexDirection:"column",gap:.5},children:[(0,Hf.jsx)(O8,{session:e,onRetry:t,onDismiss:r}),(0,Hf.jsx)(te,{variant:"body2",sx:{color:"text.primary",overflowWrap:"anywhere"},children:L8(e)}),s&&(0,Hf.jsx)(te,{variant:"caption",sx:{color:"text.secondary",overflowWrap:"anywhere"},children:s})]})}var $a=y(C(),1),rE={height:18,fontSize:"0.65rem"};function B8({session:e}){let t=ES(e.cwd);return(0,$a.jsxs)($a.Fragment,{children:[t&&(0,$a.jsx)(_t,{label:t,size:"small",sx:rE}),e.origin==="windows"&&(0,$a.jsx)(ec,{}),e.sessionType&&e.sessionType!=="next"&&(0,$a.jsx)(_t,{label:e.sessionType,size:"small",color:"primary",variant:"outlined",sx:rE}),e.itemId!=null&&(0,$a.jsx)(_t,{label:`#${e.itemId}`,size:"small",sx:rE,clickable:!0,component:hs,to:`/backlog/items/${e.itemId}`,onClick:r=>r.stopPropagation()})]})}function N8(e){return e.prompt||e.name}var ys=y(C(),1);function Bse({onResume:e}){return(0,ys.jsx)(Ct,{size:"small",onClick:t=>{t.stopPropagation(),e()},title:"Resume",sx:{color:"text.disabled","&:hover":{color:"text.primary"}},children:(0,ys.jsx)(Yg,{sx:{fontSize:14}})})}function I8({session:e,onView:t,onResume:r}){return(0,ys.jsx)(qt,{onClick:()=>t(e),sx:OS(!1),children:(0,ys.jsxs)(ee,{sx:{display:"flex",flexDirection:"column",gap:.5},children:[(0,ys.jsxs)(ee,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,ys.jsx)(B8,{session:e}),(0,ys.jsx)(ee,{sx:{flex:1}}),(0,ys.jsx)(Bse,{onResume:()=>r(e)})]}),(0,ys.jsx)(te,{variant:"body2",sx:{color:"text.primary",overflowWrap:"anywhere"},children:N8(e)}),(0,ys.jsx)(te,{variant:"caption",color:"text.disabled",sx:{alignSelf:"flex-end"},children:eS(e.timestamp)})]})})}var DS=y(I(),1);var z8=y(C(),1),F8=fe((0,z8.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");var $8=y(C(),1),U8=fe((0,$8.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");var LS=y(C(),1);function H8({label:e,open:t,onClick:r,disabled:o=!1}){return(0,LS.jsx)(dt,{size:"small",variant:"outlined",disabled:o,onClick:r,endIcon:t?(0,LS.jsx)(U8,{}):(0,LS.jsx)(F8,{}),sx:{textTransform:"none",fontSize:11,justifyContent:"space-between",maxWidth:"100%",overflow:"hidden"},fullWidth:!0,children:e})}var BS=y(C(),1),jf={position:"absolute",top:"100%",left:0,right:0,mt:.25,maxHeight:200,overflowY:"auto",zIndex:10};function Wf({label:e,children:t,disabled:r=!1}){let[o,i]=(0,DS.useState)(!1),s=(0,DS.useRef)(null);return(0,BS.jsxs)(st,{component:"fieldset",ref:s,variant:"outlined",sx:{position:"relative",border:"none",m:0,p:0},onBlur:n=>{s.current?.contains(n.relatedTarget)||i(!1)},children:[(0,BS.jsx)(H8,{label:e,open:o,disabled:r,onClick:()=>i(!o)}),o&&t(()=>i(!1))]})}var Vf=y(C(),1);function j8({items:e,selected:t,onToggle:r}){return(0,Vf.jsx)(cu,{dense:!0,sx:jf,children:e.map(o=>(0,Vf.jsxs)(es,{onClick:()=>r(o),dense:!0,children:[(0,Vf.jsx)(zT,{size:"small",checked:t.has(o),sx:{p:0,mr:1}}),(0,Vf.jsx)(lu,{primary:o,slotProps:{primary:{variant:"caption"}}})]},o))})}var oE=y(C(),1);function Nse(e){return e.size===0?"All projects":e.size===1?[...e][0]:`${e.size} projects`}function W8({projects:e,selected:t,onChange:r}){let o=i=>{let s=new Set(t);s.has(i)?s.delete(i):s.add(i),r(s)};return(0,oE.jsx)(Wf,{label:Nse(t),children:()=>(0,oE.jsx)(j8,{items:e,selected:t,onToggle:o})})}function V8(e){let t=new Set;for(let r of e)t.add(r.project);return[...t].sort()}function q8(e,t){return t.size===0?e:e.filter(r=>t.has(r.project))}var An=y(C(),1);function Ise({hasAny:e}){return(0,An.jsx)(te,{variant:"caption",color:"text.disabled",sx:{display:"block",textAlign:"center",p:2},children:e?"No sessions match filter":"No session history"})}function zse({sessions:e,onView:t,onResume:r}){return(0,An.jsxs)(ee,{sx:{flex:1,overflow:"auto",p:1},children:[e.map(o=>(0,An.jsx)(I8,{session:o,onView:t,onResume:r},o.sessionId)),e.length===0&&(0,An.jsx)(Ise,{hasAny:!1})]})}function K8({sessions:e,onView:t,onResume:r}){let[o,i]=(0,NS.useState)(new Set),s=(0,NS.useMemo)(()=>V8(e),[e]),n=q8(e,o);return(0,An.jsxs)(ee,{sx:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden"},children:[s.length>1&&(0,An.jsx)(ee,{sx:{px:1,pt:1},children:(0,An.jsx)(W8,{projects:s,selected:o,onChange:i})}),(0,An.jsx)(zse,{sessions:n,onView:t,onResume:r})]})}function IS(e,t){return!t.has(e.id)&&e.status!=="done"&&e.status!=="error"}var iE=y(C(),1);function zS({label:e,checked:t,onChange:r}){return(0,iE.jsx)(xd,{sx:{m:0,mt:.5},onClick:o=>o.stopPropagation(),control:(0,iE.jsx)(Ld,{size:"small",checked:t,onChange:o=>r(o.target.checked)}),label:e,slotProps:{typography:{variant:"caption",color:"text.secondary"}}})}var Y8=y(C(),1);function G8({label:e="Continue",...t}){return(0,Y8.jsx)(zS,{label:e,...t})}var Z8=y(C(),1);function X8(e){return(0,Z8.jsx)(zS,{label:"Auto-run",...e})}var qu=y(C(),1);function Q8({session:e,onSetAutoRun:t,onSetAutoAdvance:r}){let o=PS(e),i=e.activity,s=i?.kind==="backlog"&&i.phase!==void 0&&i.phase===i.totalPhases;return(0,qu.jsxs)(qu.Fragment,{children:[(o==="draft"||o==="bug"||o==="refine")&&(0,qu.jsx)(X8,{checked:e.autoRun??!1,onChange:t}),i?.kind==="backlog"&&(0,qu.jsx)(G8,{label:s?"Dismiss":"Continue",checked:e.autoAdvance??!0,onChange:r})]})}var eF=y(C(),1);function J8({error:e}){return e?(0,eF.jsx)(te,{variant:"caption",color:"error.main",sx:{display:"block",mt:.5},children:e}):null}var Ku=y(C(),1),Fse={running:"success.main",waiting:"warning.main",done:"info.main",error:"error.main"};function tF({status:e,elapsed:t,restored:r}){return(0,Ku.jsxs)(ee,{sx:{display:"flex",justifyContent:"space-between",mt:.5},children:[(0,Ku.jsxs)(ee,{sx:{display:"flex",gap:1},children:[(0,Ku.jsxs)(te,{variant:"caption",sx:{color:Fse[e]},children:["\u25CF ",e]}),r!==void 0&&(0,Ku.jsx)(te,{variant:"caption",sx:{color:r?"success.main":"warning.main"},children:r?"restored":"not restored"})]}),(0,Ku.jsx)(te,{variant:"caption",color:"text.disabled",children:t})]})}var FS=y(I(),1);function rF(e=0,t=null){let[,r]=(0,FS.useState)(0);(0,FS.useEffect)(()=>{if(t==null)return;let a=setInterval(()=>r(l=>l+1),1e3);return()=>clearInterval(a)},[t]);let o=t==null?e:e+(Date.now()-t),i=Math.floor(o/1e3),s=Math.floor(i/60),n=i%60;return s>=60?`${Math.floor(s/60)}h ${s%60}m`:s>0?`${s}m ${n}s`:`${n}s`}var Ni=y(C(),1);function oF({session:e,active:t,loading:r,onClick:o,onRetry:i,onDismiss:s,onSetAutoRun:n,onSetAutoAdvance:a}){let l=rF(e.runningMs,e.runningSince);return(0,Ni.jsxs)(qt,{onClick:o,sx:OS(t),children:[(0,Ni.jsx)(D8,{session:e,onRetry:i,onDismiss:s}),r?(0,Ni.jsxs)(ee,{sx:{display:"flex",alignItems:"center",gap:1,mt:.5},children:[(0,Ni.jsx)(Xt,{size:12}),(0,Ni.jsx)(te,{variant:"caption",color:"text.disabled",children:"Starting\u2026"})]}):(0,Ni.jsxs)(Ni.Fragment,{children:[(0,Ni.jsx)(tF,{status:e.status,elapsed:l,restored:e.restored}),e.status==="error"&&(0,Ni.jsx)(J8,{error:e.error}),(0,Ni.jsx)(Q8,{session:e,onSetAutoRun:n,onSetAutoAdvance:a})]})]})}var sy=y(C(),1);function iF({sessions:e,activeId:t,initialized:r,onSelect:o,onRetry:i,onDismiss:s,onSetAutoRun:n,onSetAutoAdvance:a}){return(0,sy.jsxs)(ee,{sx:{flex:1,overflow:"auto",p:1},children:[e.map(l=>(0,sy.jsx)(oF,{session:l,active:l.id===t,loading:IS(l,r),onClick:()=>o(l.id),onRetry:(l.commandType==="run"||l.commandType==="assist")&&l.status==="done"?()=>i(l.id):void 0,onDismiss:()=>s(l.id),onSetAutoRun:c=>n(l.id,c),onSetAutoAdvance:c=>a(l.id,c)},l.id)),e.length===0&&(0,sy.jsx)(te,{variant:"caption",color:"text.disabled",sx:{display:"block",textAlign:"center",p:2},children:"No sessions yet"})]})}var ny=y(C(),1),sF={minHeight:36,py:0,fontSize:12};function nF({tab:e,activeCount:t,historyCount:r,onChange:o}){return(0,ny.jsxs)(Vm,{value:e==="active"?0:1,onChange:(s,n)=>o(n===0?"active":"history"),variant:"fullWidth",sx:{borderBottom:1,borderColor:"divider",minHeight:36},children:[(0,ny.jsx)(Tl,{label:`Active ${t}`,sx:sF}),(0,ny.jsx)(Tl,{label:`History ${r}`,sx:sF})]})}var qf=y(C(),1),$se={width:"25%",borderRight:1,borderColor:"divider",display:"flex",flexDirection:"column",bgcolor:"background.paper"};function aF(e){return(0,qf.jsxs)(ee,{sx:$se,children:[(0,qf.jsx)(nF,{tab:e.tab,activeCount:e.sessions.length,historyCount:e.history.length,onChange:e.onTabChange}),e.tab==="active"?(0,qf.jsx)(iF,{sessions:e.sessions,activeId:e.activeId,initialized:e.initialized,onSelect:e.onSelect,onRetry:e.onRetry,onDismiss:e.onDismiss,onSetAutoRun:e.onSetAutoRun,onSetAutoAdvance:e.onSetAutoAdvance}):(0,qf.jsx)(K8,{sessions:e.history,onView:e.onView,onResume:e.onResume})]})}function lF(e,t){return[...e.filter(r=>t(r)),...e.filter(r=>!t(r))]}var uF=y(C(),1);function cF({socket:e,tab:t,onTabChange:r}){let{isStarred:o}=MS(),i=(0,ay.useMemo)(()=>lF(e.sessions,o),[e.sessions,o]),s=(0,ay.useCallback)(a=>{e.resumeSession(a.sessionId,a.cwd,a.name),r("active")},[e.resumeSession,r]),n=(0,ay.useCallback)(a=>{e.viewTranscript(a.sessionId)},[e.viewTranscript]);return(0,uF.jsx)(aF,{sessions:i,history:e.history,activeId:e.activeId,tab:t,onTabChange:r,onSelect:e.selectSession,onView:n,onResume:s,onRetry:e.retrySession,onDismiss:e.dismissSession,onSetAutoRun:e.setAutoRun,onSetAutoAdvance:e.setAutoAdvance,initialized:e.initialized})}var ly=y(C(),1);function pF(){return(0,ly.jsxs)(ee,{sx:{position:"absolute",inset:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,bgcolor:"background.default"},children:[(0,ly.jsx)(Xt,{size:28}),(0,ly.jsx)(te,{variant:"body2",color:"text.disabled",children:"Starting session\u2026"})]})}var j7=y(I(),1);var Uy=y(I(),1);var Use=2,Hse=1,dF=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"))),s=window.getComputedStyle(this._terminal.element),n={top:parseInt(s.getPropertyValue("padding-top")),bottom:parseInt(s.getPropertyValue("padding-bottom")),right:parseInt(s.getPropertyValue("padding-right")),left:parseInt(s.getPropertyValue("padding-left"))},a=n.top+n.bottom,l=n.right+n.left,c=o-a,u=i-l-t;return{cols:Math.max(Use,Math.floor(u/e.css.cell.width)),rows:Math.max(Hse,Math.floor(c/e.css.cell.height))}}};var jse=Object.defineProperty,Wse=Object.getOwnPropertyDescriptor,Vse=(e,t,r,o)=>{for(var i=o>1?void 0:o?Wse(t,r):t,s=e.length-1,n;s>=0;s--)(n=e[s])&&(i=(o?n(t,r,i):n(i))||i);return o&&i&&jse(t,r,i),i},qse=(e,t)=>(r,o)=>t(r,o,e),Kse=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?fF.isErrorNoTelemetry(e)?new fF(e.message+`
264
+ Please report this to https://github.com/markedjs/marked.`,e){let o="<p>An error occurred:</p><pre>"+En(r.message+"",!0)+"</pre>";return t?Promise.resolve(o):o}if(t)return Promise.reject(r);throw r}}},zu=new Gie;function $e(e,t){return zu.parse(e,t)}$e.options=$e.setOptions=function(e){return zu.setOptions(e),$e.defaults=zu.defaults,sz($e.defaults),$e};$e.getDefaults=FR;$e.defaults=Fu;$e.use=function(...e){return zu.use(...e),$e.defaults=zu.defaults,sz($e.defaults),$e};$e.walkTokens=function(e,t){return zu.walkTokens(e,t)};$e.parseInline=zu.parseInline;$e.Parser=La;$e.parser=La.parse;$e.Renderer=_S;$e.TextRenderer=KR;$e.Lexer=Oa;$e.lexer=Oa.lex;$e.Tokenizer=bS;$e.Hooks=yS;$e.parse=$e;var IKe=$e.options,zKe=$e.setOptions,FKe=$e.use,$Ke=$e.walkTokens,UKe=$e.parseInline;var HKe=La.parse,jKe=Oa.lex;var Jl=y(C(),1);function gz({criteria:e}){return e.length===0?null:(0,Jl.jsxs)(ee,{sx:{mb:2},children:[(0,Jl.jsx)(te,{variant:"overline",sx:{color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"},children:"Acceptance Criteria"}),(0,Jl.jsx)(mn,{disablePadding:!0,children:e.map((t,r)=>(0,Jl.jsxs)(_l,{disableGutters:!0,disablePadding:!0,sx:{py:.5,display:"flex",alignItems:"baseline"},children:[(0,Jl.jsxs)(te,{component:"span",sx:{color:"text.secondary",mr:1},children:[r+1,"."]}),(0,Jl.jsx)(ee,{component:"span",className:"markdown",dangerouslySetInnerHTML:{__html:$e.parseInline(t)}})]},t))})]})}var $u=y(C(),1),Yie={alignItems:"center",fontSize:"0.75rem",color:"text.secondary",mb:.5},Xie={color:"text.disabled"},Zie={fontWeight:500},Qie={summary:"Phase summary",comment:"Comment"};function yz({comment:e}){return(0,$u.jsxs)(ft,{direction:"row",spacing:.5,sx:Yie,children:[e.id!==void 0&&(0,$u.jsxs)(te,{variant:"caption",sx:Xie,children:["#",e.id]}),(0,$u.jsx)(te,{variant:"caption",sx:Zie,children:Qie[e.type]}),e.phase!==void 0&&(0,$u.jsxs)(te,{variant:"caption",children:["\xB7 Phase ",e.phase]}),(0,$u.jsxs)(te,{variant:"caption",children:["\xB7 ",Jie(e.timestamp)]})]})}function Jie(e){return new Date(e).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}var vz=y(C(),1),bz=fe((0,vz.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 GR=y(I(),1);var kn=y(C(),1),ese={mt:-.5,mr:-.5,color:"text.secondary"};function _z({itemId:e,commentId:t,onDeleted:r}){let o=xr(),[i,s]=(0,GR.useState)(!1),[n,a]=(0,GR.useState)(),l=()=>a(void 0);return(0,kn.jsxs)(kn.Fragment,{children:[i&&(0,kn.jsx)(ms,{message:"Are you sure you want to delete this comment?",onConfirm:async()=>{s(!1);try{await z6(e,t,o),await r()}catch(c){a(c instanceof Error?c.message:"Failed to delete comment")}},onCancel:()=>s(!1)}),(0,kn.jsx)(gn,{open:n!==void 0,autoHideDuration:6e3,onClose:l,children:(0,kn.jsx)(fn,{severity:"error",variant:"filled",onClose:l,children:n})}),(0,kn.jsx)(Ct,{"aria-label":"Delete comment",size:"small",sx:ese,onClick:()=>s(!0),children:(0,kn.jsx)(bz,{fontSize:"inherit"})})]})}var Uu=y(C(),1),tse={summary:{bgcolor:"warning.light",borderColor:"warning.dark"},comment:{bgcolor:"action.selected",borderColor:"divider"}},rse={justifyContent:"space-between",alignItems:"flex-start"},ose={color:"text.primary",whiteSpace:"pre-wrap"};function ise(e){return{p:1.5,bgcolor:e.bgcolor,borderColor:e.borderColor}}function Sz({comment:e,itemId:t,onDeleted:r}){return(0,Uu.jsxs)(st,{variant:"outlined",sx:ise(tse[e.type]),children:[(0,Uu.jsxs)(ft,{direction:"row",sx:rse,children:[(0,Uu.jsx)(yz,{comment:e}),e.id!==void 0&&t!==void 0&&r&&(0,Uu.jsx)(_z,{itemId:t,commentId:e.id,onDeleted:r})]}),(0,Uu.jsx)(te,{variant:"body2",sx:ose,children:e.text})]})}var Df=y(C(),1),sse={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function xz({comments:e,itemId:t,onCommentDeleted:r}){return e.length===0?null:(0,Df.jsxs)(ee,{sx:{mb:2},children:[(0,Df.jsx)(te,{variant:"overline",sx:sse,children:"Comments"}),(0,Df.jsx)(ft,{spacing:1,children:e.map((o,i)=>(0,Df.jsx)(Sz,{comment:o,itemId:t,onDeleted:r},`${o.timestamp}-${i}`))})]})}var TS=y(C(),1),Tz={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"}},nse=["todo","in-progress","done","wontdo"];function wz({current:e,onStatusChange:t}){return t?(0,TS.jsx)(Md,{value:e,onChange:r=>t(r.target.value),size:"small",sx:{fontSize:"0.75rem",fontWeight:500,borderRadius:4,bgcolor:Tz[e].bg,color:Tz[e].text,"& .MuiSelect-select":{py:.5,px:1.5},"& .MuiSelect-icon":{color:"inherit"}},children:nse.map(r=>(0,TS.jsx)(es,{value:r,children:r},r))}):(0,TS.jsx)(_t,{label:e,size:"small",color:aS[e],sx:{fontWeight:500,fontSize:"0.75rem"}})}var Bf=y(C(),1),ase={alignItems:"center",color:"text.disabled",fontSize:"0.875rem",mb:2},lse={fontWeight:500,fontSize:"0.75rem"};function Cz({item:e,onStatusChange:t}){let r=nS[e.type];return(0,Bf.jsxs)(ft,{direction:"row",spacing:1,sx:ase,children:[(0,Bf.jsxs)(te,{variant:"body2",color:"text.disabled",children:["#",e.id]}),r&&(0,Bf.jsx)(_t,{label:e.type,size:"small",color:r,sx:lse}),(0,Bf.jsx)(wz,{current:e.status,onStatusChange:t})]})}var Rz=y(C(),1),cse={lineHeight:1.7,"& p":{mt:0}};function Pz({content:e}){return(0,Rz.jsx)(ee,{className:"markdown",sx:cse,dangerouslySetInnerHTML:{__html:$e.parse(e)}})}var Da=y(C(),1);function Ez({checks:e}){return(0,Da.jsxs)(ee,{sx:{mt:1,pt:1},children:[(0,Da.jsx)(bd,{sx:{mb:1}}),(0,Da.jsx)(te,{variant:"overline",sx:{color:"text.disabled",letterSpacing:"0.08em"},children:"Manual Checks"}),(0,Da.jsx)(mn,{disablePadding:!0,sx:{ml:.5,mt:.5},children:e.map(t=>(0,Da.jsxs)(_l,{disableGutters:!0,disablePadding:!0,sx:{py:.25,display:"flex",alignItems:"baseline"},children:[(0,Da.jsx)(te,{component:"span",sx:{mr:1,fontSize:"0.875rem",color:"text.secondary"},children:"\u2610"}),(0,Da.jsx)(ee,{component:"span",className:"markdown",sx:{fontSize:"0.875rem",color:"text.secondary"},dangerouslySetInnerHTML:{__html:$e.parseInline(t)}})]},t))})]})}var Az=y(I(),1);var kz=y(I(),1),Mn=y(C(),1);function Mz({phaseName:e,onConfirm:t,onCancel:r}){let[o,i]=(0,kz.useState)("");return(0,Mn.jsxs)(md,{open:!0,onClose:r,maxWidth:"xs",fullWidth:!0,children:[(0,Mn.jsxs)(vd,{children:["Rewind to ",e,"?"]}),(0,Mn.jsxs)(yd,{children:[(0,Mn.jsx)(te,{variant:"body2",color:"text.secondary",sx:{mb:2},children:"This will mark all later phases as incomplete."}),(0,Mn.jsx)(vn,{fullWidth:!0,multiline:!0,rows:3,size:"small",placeholder:"Reason for rewinding...",value:o,onChange:s=>i(s.target.value)})]}),(0,Mn.jsxs)(gd,{children:[(0,Mn.jsx)(dt,{onClick:r,children:"Cancel"}),(0,Mn.jsx)(dt,{variant:"contained",color:"warning",disabled:o.trim().length===0,onClick:()=>t(o.trim()),children:"Rewind"})]})]})}var Hu=y(C(),1);function Oz({itemId:e,phaseNumber:t,phaseName:r,onRewound:o}){let i=xr(),[s,n]=(0,Az.useState)(!1);return(0,Hu.jsxs)(Hu.Fragment,{children:[(0,Hu.jsx)(dt,{size:"small",color:"warning",variant:"outlined",onClick:()=>n(!0),sx:{ml:"auto",textTransform:"none",fontSize:"0.75rem"},children:"Rewind"}),s&&(0,Hu.jsx)(Mz,{phaseName:r,onConfirm:async a=>{await F6(e,t,a,i),await o()},onCancel:()=>n(!1)})]})}var Nf=y(C(),1),use={done:{label:"Done",color:"success"},current:{label:"In Progress",color:"info"},upcoming:{label:"Upcoming",color:"default"}},pse={alignItems:"center",mb:1},dse={fontWeight:500},fse={fontWeight:500,fontSize:"0.75rem"};function Lz({phase:e,index:t,status:r,itemId:o,onRewind:i}){let s=use[r],n=r==="done"&&o!==void 0&&i;return(0,Nf.jsxs)(ft,{direction:"row",spacing:1,sx:pse,children:[(0,Nf.jsxs)(te,{sx:dse,children:["Phase ",t+1,": ",e.name]}),(0,Nf.jsx)(_t,{label:s.label,size:"small",color:s.color,sx:fse}),n&&(0,Nf.jsx)(Oz,{itemId:o,phaseNumber:t+1,phaseName:e.name,onRewound:i})]})}var If=y(C(),1);function Dz({tasks:e,marker:t}){return(0,If.jsx)(mn,{disablePadding:!0,sx:{ml:.5},children:e.map(r=>(0,If.jsxs)(_l,{disableGutters:!0,disablePadding:!0,sx:{py:.25,display:"flex",alignItems:"baseline"},children:[(0,If.jsx)(te,{component:"span",sx:{color:"text.secondary",mr:1},children:t}),(0,If.jsx)(ee,{component:"span",className:"markdown",dangerouslySetInnerHTML:{__html:$e.parseInline(r.task)}})]},r.task))})}var zf=y(C(),1),hse={done:{borderColor:"success.light",bgcolor:"success.light"},current:{borderColor:"info.main",bgcolor:"info.light",ring:"info.light"},upcoming:{borderColor:"divider",bgcolor:"background.paper"}};function mse(e){return{p:2,borderColor:e.borderColor,bgcolor:e.bgcolor,...e.ring?{boxShadow:"0 0 0 2px",borderColor:"info.main"}:{}}}var gse={done:"\u2713",current:"\u2022",upcoming:"\u2022"};function Bz({phase:e,index:t,status:r,itemId:o,onRewind:i}){let s=e.manualChecks??[];return(0,zf.jsxs)(st,{variant:"outlined",sx:mse(hse[r]),children:[(0,zf.jsx)(Lz,{phase:e,index:t,status:r,itemId:o,onRewind:i}),(0,zf.jsx)(Dz,{tasks:e.tasks,marker:gse[r]}),s.length>0&&(0,zf.jsx)(Ez,{checks:s})]})}var Ff=y(C(),1);function yse(e,t){if(t===void 0)return"upcoming";let r=e+1;return r<t?"done":r===t?"current":"upcoming"}function Nz({phases:e,currentPhase:t,itemId:r,onRewind:o}){return e.length===0?null:(0,Ff.jsxs)(ee,{sx:{mb:2},children:[(0,Ff.jsx)(te,{variant:"overline",sx:{color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"},children:"Plan"}),(0,Ff.jsx)(ft,{spacing:1.5,children:e.map((i,s)=>(0,Ff.jsx)(Bz,{phase:i,index:s,status:yse(s,t),itemId:r,onRewind:o},i.name))})]})}var Gs=y(C(),1),vse={color:"text.secondary",mb:1,display:"block",letterSpacing:"0.08em"};function Iz({item:e,onStatusChange:t,onRewind:r,onCommentDeleted:o}){return(0,Gs.jsxs)(st,{variant:"outlined",sx:{p:3},children:[(0,Gs.jsx)(te,{variant:"h5",component:"h2",children:e.name}),(0,Gs.jsx)(Cz,{item:e,onStatusChange:t}),e.description&&(0,Gs.jsxs)(ee,{sx:{mb:2},children:[(0,Gs.jsx)(te,{variant:"overline",sx:vse,children:"Description"}),(0,Gs.jsx)(Pz,{content:e.description})]}),(0,Gs.jsx)(gz,{criteria:e.acceptanceCriteria}),e.plan&&(0,Gs.jsx)(Nz,{phases:e.plan,currentPhase:e.currentPhase,itemId:e.id,onRewind:r}),e.comments&&(0,Gs.jsx)(xz,{comments:e.comments,itemId:e.id,onCommentDeleted:o})]})}var zz=y(C(),1),Fz=fe((0,zz.jsx)("path",{d:"M3 17v2h6v-2zM3 5v2h10V5zm10 16v-2h8v-2h-8v-2h-2v6zM7 9v2H3v2h4v2h2V9zm14 4v-2H11v2zm-6-4h2V7h4V5h-4V3h-2z"}),"Tune");var $z=y(I(),1);var YR=y(C(),1);function Uz({itemId:e}){let{launchAssist:t}=Of(),r=Lr(),o=xr(),[i,s]=(0,$z.useState)(!1);return(0,YR.jsx)(dt,{variant:"outlined",size:"small",startIcon:(0,YR.jsx)(Fz,{}),disabled:i,onClick:a=>{a.stopPropagation(),!i&&(s(!0),t(["refine","--once",String(e)],o),r("/sessions"))},children:"Refine"})}var Ys=y(C(),1),bse={justifyContent:"space-between",alignItems:"center",mb:2};function _se({item:e,onDeleted:t}){return(0,Ys.jsxs)(ft,{direction:"row",sx:bse,children:[(0,Ys.jsx)(X6,{to:"/backlog"}),(0,Ys.jsxs)(ft,{direction:"row",spacing:1,children:[sS(e)&&(0,Ys.jsx)(pS,{itemId:e.id}),(0,Ys.jsx)(Uz,{itemId:e.id}),(0,Ys.jsx)(J6,{itemId:e.id,onDeleted:t})]})]})}function Hz({item:e,onReload:t}){let r=Lr(),o=xr();return(0,Ys.jsxs)(ee,{children:[(0,Ys.jsx)(_se,{item:e,onDeleted:async()=>{await t(),r("/backlog")}}),(0,Ys.jsx)(Iz,{item:e,onStatusChange:async n=>{await hS(e.id,n,o),await t()},onRewind:t,onCommentDeleted:t})]})}var wS=y(C(),1),Sse={display:"flex",justifyContent:"center",py:6};function Wz({onReload:e}){let{id:t}=gR(),r=Number(t),{item:o,loading:i,reload:s}=Y6(r),n=(0,jz.useCallback)(async()=>{await Promise.all([s(),e()])},[s,e]);return i?(0,wS.jsx)(ee,{sx:Sse,children:(0,wS.jsx)(Xt,{})}):o?(0,wS.jsx)(Hz,{item:o,onReload:n}):null}var ju=y(C(),1);function Vz({items:e,loading:t,socket:r,onReload:o}){return(0,ju.jsxs)(Du,{children:[(0,ju.jsx)(li,{index:!0,element:(0,ju.jsx)(G6,{items:e,loading:t,socket:r,onReload:o})}),(0,ju.jsx)(li,{path:"items/:id",element:(0,ju.jsx)(Wz,{onReload:o})})]})}var Xs=y(I(),1);var qz=new Map;function Kz(e,t){return JSON.stringify([e??null,t])}var ey={get(e,t){return qz.get(Kz(e,t))},set(e,t,r){qz.set(Kz(e,t),r)}};function Gz(e,t){return e===t?!0:e.length!==t.length?!1:e.every((r,o)=>{let i=t[o];return r.id===i.id&&r.type===i.type&&r.name===i.name&&r.status===i.status&&r.starred===i.starred})}async function Yz(e,t){return(await(await fetch(Di("/api/backlog/exists",e),{signal:t})).json()).exists}async function Xz(e,t,r){let o=await Yz(e,r),i=o?await Ql({cwd:e,signal:r,showCompleted:t}):[];return r.aborted||ey.set(e,t,i),{found:o,items:i}}function Zz(e,t,r,o){(async()=>{try{let{found:i,items:s}=await Xz(e,t,r);r.aborted||o(i,s)}catch{}})()}var xse=5e3;function Qz(e,t,r){let o=new AbortController,i=()=>Zz(e,t,o.signal,r);i();let s=setInterval(i,xse);return()=>{o.abort(),clearInterval(s)}}function Jz(){let e=xr(),[t]=Mf(),r=ey.get(e,t),o=r??[],i=r===void 0,[s,n]=(0,Xs.useState)(o),[a,l]=(0,Xs.useState)(i),[c,u]=(0,Xs.useState)(!0),[p,f]=(0,Xs.useState)(e),[d,h]=(0,Xs.useState)(t);(e!==p||t!==d)&&(f(e),h(t),n(o),l(i),u(!0));let m=(0,Xs.useCallback)(async()=>{let g=await Ql({cwd:e,showCompleted:t});n(g),ey.set(e,t,g),l(!1)},[e,t]);(0,Xs.useEffect)(()=>(u(!0),Qz(e,t,(g,b)=>{u(g),n(v=>Gz(v,b)?v:b),l(!1)})),[e,t]);let S=(0,Xs.useCallback)(async()=>{await N6(e),u(!0),l(!0),await m()},[e,m]);return{items:s,loading:a,exists:c,reload:m,initialize:S}}var ty=y(C(),1);function e8({socket:e}){let{items:t,loading:r,exists:o,reload:i,initialize:s}=Jz();return o?(0,ty.jsx)(Du,{children:(0,ty.jsx)(li,{path:"/*",element:(0,ty.jsx)(Vz,{items:t,loading:r,socket:e,onReload:i})})}):(0,ty.jsx)(_6,{onInit:s})}var t8=["B","KB","MB","GB","TB"];function r8(e){if(e<1024)return`${e} B`;let t=e,r=0;for(;t>=1024&&r<t8.length-1;)t/=1024,r++;return`${t.toFixed(1)} ${t8[r]}`}var Ba=y(C(),1);function Tse(e){return e.split(/[/\\]/).pop()??e}function o8({backup:e}){return(0,Ba.jsxs)(la,{children:[(0,Ba.jsx)(pr,{children:new Date(e.createdAt).toLocaleString()}),(0,Ba.jsx)(pr,{sx:{fontFamily:"monospace",wordBreak:"break-all"},children:(0,Ba.jsx)(yr,{title:e.filePath,children:(0,Ba.jsx)("span",{children:Tse(e.filePath)})})}),(0,Ba.jsx)(pr,{align:"right",children:r8(e.sizeBytes)}),(0,Ba.jsx)(pr,{align:"right",children:e.durationMs==null?"\u2014":`${(e.durationMs/1e3).toFixed(1)}s`})]})}var gs=y(C(),1);function i8({backups:e}){return(0,gs.jsx)(Um,{component:st,children:(0,gs.jsxs)(zm,{size:"small",children:[(0,gs.jsx)(Hm,{children:(0,gs.jsxs)(la,{children:[(0,gs.jsx)(pr,{children:"Time"}),(0,gs.jsx)(pr,{children:"File"}),(0,gs.jsx)(pr,{align:"right",children:"Size"}),(0,gs.jsx)(pr,{align:"right",children:"Duration"})]})}),(0,gs.jsx)(Fm,{children:e.map(t=>(0,gs.jsx)(o8,{backup:t},t.id))})]})})}var ry=y(I(),1),Wu=y(C(),1),CS=e=>{let{title:t,emptyMessage:r,fetchRows:o,children:i}=e,[s,n]=(0,ry.useState)([]),[a,l]=(0,ry.useState)(!0);return(0,ry.useEffect)(()=>{o().then(n).finally(()=>l(!1))},[o]),a?(0,Wu.jsx)(ee,{sx:{display:"flex",justifyContent:"center",py:6},children:(0,Wu.jsx)(Xt,{})}):(0,Wu.jsxs)(vl,{maxWidth:"md",sx:{py:3,px:2},children:[(0,Wu.jsx)(te,{variant:"h6",sx:{mb:2},children:t}),s.length===0?(0,Wu.jsx)(te,{color:"text.secondary",align:"center",sx:{py:6},children:r}):i(s)]})};var XR=y(C(),1);async function wse(){return(await fetch("/api/backups/list")).json()}function s8(){return(0,XR.jsx)(CS,{title:"Backups",emptyMessage:"No backups recorded yet.",fetchRows:wse,children:e=>(0,XR.jsx)(i8,{backups:e})})}var oy=y(I(),1);function n8(e){let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);if(t<60)return"just now";let r=Math.floor(t/60);if(r<60)return`${r}m ago`;let o=Math.floor(r/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`}var Na=y(C(),1),Cse={display:"block",bgcolor:"background.paper",borderRadius:2,p:2.5,transition:"background-color 0.15s","&:hover":{bgcolor:"action.hover"}},Pse={width:16,height:16};function a8({item:e}){return(0,Na.jsxs)(au,{href:e.link,target:"_blank",rel:"noopener noreferrer",underline:"none",color:"inherit",sx:Cse,children:[(0,Na.jsxs)(ee,{sx:{display:"flex",alignItems:"center",gap:1,mb:.75},children:[(0,Na.jsx)(NT,{src:`${e.feedOrigin}/favicon.ico`,variant:"rounded",sx:Pse,children:" "}),(0,Na.jsx)(_t,{label:e.feedTitle,size:"small"}),(0,Na.jsx)(te,{variant:"body2",color:"text.secondary",children:n8(e.pubDate)})]}),(0,Na.jsx)(te,{variant:"h6",sx:{fontWeight:500,lineHeight:1.3},children:e.title}),e.excerpt&&(0,Na.jsx)(te,{variant:"body2",color:"text.secondary",sx:{mt:.75},children:e.excerpt})]})}function Rse(e){let t=new Date(e),r=new Date;return t.toLocaleDateString("en-US",{weekday:"long",month:"short",day:"numeric",year:t.getFullYear()!==r.getFullYear()?"numeric":void 0})}function Ese(e){return new Date(e).toISOString().slice(0,10)}function l8(e){let t=new Map;for(let r of e){let o=Ese(r.pubDate),i=t.get(o);i?i.items.push(r):t.set(o,{label:Rse(r.pubDate),items:[r]})}return[...t.values()]}var Zs=y(C(),1);async function kse(){return(await fetch("/api/news/items")).json()}function c8(){let[e,t]=(0,oy.useState)([]),[r,o]=(0,oy.useState)(!0);return(0,oy.useEffect)(()=>{kse().then(i=>t(l8(i))).finally(()=>o(!1))},[]),r?(0,Zs.jsx)(ee,{sx:{display:"flex",justifyContent:"center",py:6},children:(0,Zs.jsx)(Xt,{})}):e.length===0?(0,Zs.jsx)(vl,{maxWidth:"md",sx:{py:3,px:2},children:(0,Zs.jsx)(te,{color:"text.secondary",align:"center",sx:{py:6},children:"No news items."})}):(0,Zs.jsx)(vl,{maxWidth:"md",sx:{py:3,px:2},children:e.map(i=>(0,Zs.jsxs)(ee,{sx:{mb:4},children:[(0,Zs.jsx)(te,{variant:"overline",color:"text.secondary",sx:{display:"block",mb:1,px:.5},children:i.label}),(0,Zs.jsx)(ft,{spacing:1,children:i.items.map(s=>(0,Zs.jsx)(a8,{item:s},`${s.link}-${s.pubDate}`))})]},i.label))})}var Ox=y(I(),1);var ay=y(I(),1);var NS=y(I(),1);function PS(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 Qs=y(C(),1),RS={height:18,fontSize:"0.65rem"};function u8({session:e}){let{activity:t}=e,r=t?.kind==="backlog",o=r&&t.phase===t.totalPhases;return r?(0,Qs.jsxs)(Qs.Fragment,{children:[(0,Qs.jsx)(_t,{label:`#${t.itemId}`,size:"small",sx:RS,clickable:!0,component:hs,to:`/backlog/items/${t.itemId}`,onClick:i=>i.stopPropagation()}),(0,Qs.jsx)(_t,{label:`${t.phase}/${t.totalPhases}`,size:"small",color:o?"primary":"default",sx:RS})]}):(0,Qs.jsxs)(Qs.Fragment,{children:[(0,Qs.jsx)(_t,{label:PS(e),size:"small",color:"primary",variant:"outlined",sx:RS}),t?.itemId!=null&&(0,Qs.jsx)(_t,{label:`#${t.itemId}`,size:"small",sx:RS,clickable:!0,component:hs,to:`/backlog/items/${t.itemId}`,onClick:i=>i.stopPropagation()})]})}function $f(e){return!!e&&/^[A-Za-z]:[\\/]/.test(e)}function ES(e){if(!e)return"";let t=e.split(/[/\\]/).filter(Boolean);return t[t.length-1]??""}var ZR=y(C(),1);function p8(e){return(0,ZR.jsx)(ll,{viewBox:"0 0 24 24",...e,children:(0,ZR.jsx)("path",{d:"M0 3.449 9.75 2.1v9.451H0m10.949-9.602L24 0v11.4H10.949M0 12.6h9.75v9.451L0 20.699m10.949-8.099H24V24l-12.9-1.801"})})}var QR=y(C(),1);function ec(){return(0,QR.jsx)(yr,{title:"Windows",children:(0,QR.jsx)(p8,{sx:{fontSize:13,color:"info.main"}})})}var tc=y(C(),1),Mse={height:18,fontSize:"0.65rem"};function d8({session:e}){let t=ES(e.cwd);return(0,tc.jsxs)(tc.Fragment,{children:[t&&(0,tc.jsx)(_t,{label:t,size:"small",sx:Mse}),$f(e.cwd)&&(0,tc.jsx)(ec,{}),(0,tc.jsx)(u8,{session:e})]})}var f8=y(C(),1),h8=fe((0,f8.jsx)("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check");var eE=y(I(),1);var JR=y(C(),1);function Uf({error:e,onClose:t}){return(0,JR.jsx)(gn,{open:e!==null,autoHideDuration:8e3,onClose:t,anchorOrigin:{vertical:"bottom",horizontal:"center"},children:(0,JR.jsx)(fn,{severity:"error",variant:"filled",onClose:t,children:e})})}var Ia=y(C(),1);function m8({target:e,cwd:t,onDismiss:r}){let{itemId:o,phase:i,totalPhases:s}=e,[n,a]=(0,eE.useState)(!1),[l,c]=(0,eE.useState)(null),u=async()=>{try{await hS(o,"done",t),a(!1),r()}catch{c(`Failed to mark item #${o} as done`)}};return(0,Ia.jsxs)(Ia.Fragment,{children:[(0,Ia.jsx)(Ct,{size:"small",onClick:p=>{p.stopPropagation(),a(!0)},title:"Mark done",sx:{color:"text.disabled","&:hover":{color:"text.primary"}},children:(0,Ia.jsx)(h8,{sx:{fontSize:16}})}),n&&(0,Ia.jsx)(ms,{title:`Mark #${o} done`,message:`${i??0} of ${s??0} phases completed. Mark this backlog item as done and end its session?`,confirmLabel:"Mark done",onConfirm:u,onCancel:()=>a(!1)}),(0,Ia.jsx)(Uf,{error:l,onClose:()=>c(null)})]})}var g8=y(C(),1),y8=fe((0,g8.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 v8=y(I(),1);var rc=y(C(),1);function b8({status:e,onDismiss:t}){let[r,o]=(0,v8.useState)(!1),i=e==="done";return(0,rc.jsxs)(rc.Fragment,{children:[(0,rc.jsx)(Ct,{size:"small",onClick:s=>{s.stopPropagation(),i?t():o(!0)},title:"Dismiss",sx:{color:"text.disabled","&:hover":{color:"text.primary"}},children:(0,rc.jsx)(y8,{sx:{fontSize:16}})}),r&&(0,rc.jsx)(ms,{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 _8=y(C(),1),S8=fe((0,_8.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 tE=y(C(),1);function x8({onRetry:e}){return(0,tE.jsx)(Ct,{size:"small",onClick:t=>{t.stopPropagation(),e()},title:"Retry",sx:{color:"text.disabled","&:hover":{color:"text.primary"}},children:(0,tE.jsx)(S8,{sx:{fontSize:14}})})}var za=y(I(),1);function Vu(e){let t=e.activity?.itemId;if(!(!e.cwd||e.activity?.kind!=="backlog"||t==null))return{cwd:e.cwd,itemId:t}}function iy(e,t){return`${e}::${t}`}function T8(e){let t=new Set;for(let r of e){let o=Vu(r);o&&t.add(o.cwd)}return[...t].sort()}async function Ase(e){try{return(await Ql({cwd:e,showCompleted:!0})).filter(r=>r.starred).map(r=>iy(e,r.id))}catch{return[]}}async function w8(e){let t=await Promise.all(e.map(Ase));return new Set(t.flat())}var kS=y(I(),1);function Ose(e,t,r){let o=new Set(e);return r?o.add(t):o.delete(t),o}function C8(e,t){let r=Vu(t);return r?e.has(iy(r.cwd,r.itemId)):!1}function P8(e,t){let r=Vu(t);if(!r)return;let o=iy(r.cwd,r.itemId);e(i=>{let s=!i.has(o);return mS(r.itemId,s,r.cwd),Ose(i,o,s)})}function Lse(e,t){let r=!1,o=e?e.split("|"):[];return w8(o).then(i=>{r||t(i)}),()=>{r=!0}}function R8(e){let[t,r]=(0,kS.useState)(new Set);return(0,kS.useEffect)(()=>Lse(e,r),[e]),[t,r]}var M8=y(C(),1),E8=(0,za.createContext)(null);function k8({sessions:e,children:t}){let r=T8(e).join("|"),[o,i]=R8(r),s=(0,za.useCallback)(l=>C8(o,l),[o]),n=(0,za.useCallback)(l=>P8(i,l),[i]),a=(0,za.useMemo)(()=>({isStarred:s,toggleStar:n}),[s,n]);return(0,M8.jsx)(E8.Provider,{value:a,children:t})}function MS(){let e=(0,za.useContext)(E8);if(!e)throw new Error("useStarredSessions must be used within a StarredSessionsProvider");return e}var AS=y(C(),1);function A8({session:e}){let{isStarred:t,toggleStar:r}=MS(),o=t(e);return(0,AS.jsx)(Ct,{size:"small",onClick:i=>{i.stopPropagation(),r(e)},title:o?"Unstar":"Star","aria-label":o?"Unstar":"Star","aria-pressed":o,sx:{color:o?"warning.main":"text.disabled","&:hover":{color:o?"warning.main":"text.primary"}},children:o?(0,AS.jsx)(dS,{sx:{fontSize:16}}):(0,AS.jsx)(fS,{sx:{fontSize:16}})})}var Fa=y(C(),1);function O8({session:e,onRetry:t,onDismiss:r}){let{status:o}=e,i=cS(e),s=Vu(e)!==void 0;return(0,Fa.jsxs)(ee,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,Fa.jsx)(d8,{session:e}),(0,Fa.jsx)(ee,{sx:{flex:1}}),o==="done"&&t&&(0,Fa.jsx)(x8,{onRetry:t}),s&&(0,Fa.jsx)(A8,{session:e}),i&&(0,Fa.jsx)(m8,{target:i,cwd:e.cwd,onDismiss:r}),(0,Fa.jsx)(b8,{status:o,onDismiss:r})]})}function L8(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 Dse(e.assistArgs)??e.assistArgs?.[0]??e.name;case"run":return e.runName?`run: ${e.runName}`:e.name;default:return e.name}}function Dse(e){let t=e?.slice(1).filter(r=>!r.startsWith("--"));return t?.[t.length-1]}var Hf=y(C(),1);function OS(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 D8({session:e,onRetry:t,onDismiss:r}){let{activity:o,status:i}=e,s=o?.kind==="backlog"&&i!=="done"?o.phaseName:void 0;return(0,Hf.jsxs)(ee,{sx:{display:"flex",flexDirection:"column",gap:.5},children:[(0,Hf.jsx)(O8,{session:e,onRetry:t,onDismiss:r}),(0,Hf.jsx)(te,{variant:"body2",sx:{color:"text.primary",overflowWrap:"anywhere",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:5,overflow:"hidden"},children:L8(e)}),s&&(0,Hf.jsx)(te,{variant:"caption",sx:{color:"text.secondary",overflowWrap:"anywhere"},children:s})]})}var $a=y(C(),1),rE={height:18,fontSize:"0.65rem"};function B8({session:e}){let t=ES(e.cwd);return(0,$a.jsxs)($a.Fragment,{children:[t&&(0,$a.jsx)(_t,{label:t,size:"small",sx:rE}),e.origin==="windows"&&(0,$a.jsx)(ec,{}),e.sessionType&&e.sessionType!=="next"&&(0,$a.jsx)(_t,{label:e.sessionType,size:"small",color:"primary",variant:"outlined",sx:rE}),e.itemId!=null&&(0,$a.jsx)(_t,{label:`#${e.itemId}`,size:"small",sx:rE,clickable:!0,component:hs,to:`/backlog/items/${e.itemId}`,onClick:r=>r.stopPropagation()})]})}function N8(e){return e.prompt||e.name}var ys=y(C(),1);function Bse({onResume:e}){return(0,ys.jsx)(Ct,{size:"small",onClick:t=>{t.stopPropagation(),e()},title:"Resume",sx:{color:"text.disabled","&:hover":{color:"text.primary"}},children:(0,ys.jsx)(Yg,{sx:{fontSize:14}})})}function I8({session:e,onView:t,onResume:r}){return(0,ys.jsx)(qt,{onClick:()=>t(e),sx:OS(!1),children:(0,ys.jsxs)(ee,{sx:{display:"flex",flexDirection:"column",gap:.5},children:[(0,ys.jsxs)(ee,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,ys.jsx)(B8,{session:e}),(0,ys.jsx)(ee,{sx:{flex:1}}),(0,ys.jsx)(Bse,{onResume:()=>r(e)})]}),(0,ys.jsx)(te,{variant:"body2",sx:{color:"text.primary",overflowWrap:"anywhere"},children:N8(e)}),(0,ys.jsx)(te,{variant:"caption",color:"text.disabled",sx:{alignSelf:"flex-end"},children:eS(e.timestamp)})]})})}var DS=y(I(),1);var z8=y(C(),1),F8=fe((0,z8.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");var $8=y(C(),1),U8=fe((0,$8.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");var LS=y(C(),1);function H8({label:e,open:t,onClick:r,disabled:o=!1}){return(0,LS.jsx)(dt,{size:"small",variant:"outlined",disabled:o,onClick:r,endIcon:t?(0,LS.jsx)(U8,{}):(0,LS.jsx)(F8,{}),sx:{textTransform:"none",fontSize:11,justifyContent:"space-between",maxWidth:"100%",overflow:"hidden"},fullWidth:!0,children:e})}var BS=y(C(),1),jf={position:"absolute",top:"100%",left:0,right:0,mt:.25,maxHeight:200,overflowY:"auto",zIndex:10};function Wf({label:e,children:t,disabled:r=!1}){let[o,i]=(0,DS.useState)(!1),s=(0,DS.useRef)(null);return(0,BS.jsxs)(st,{component:"fieldset",ref:s,variant:"outlined",sx:{position:"relative",border:"none",m:0,p:0},onBlur:n=>{s.current?.contains(n.relatedTarget)||i(!1)},children:[(0,BS.jsx)(H8,{label:e,open:o,disabled:r,onClick:()=>i(!o)}),o&&t(()=>i(!1))]})}var Vf=y(C(),1);function j8({items:e,selected:t,onToggle:r}){return(0,Vf.jsx)(cu,{dense:!0,sx:jf,children:e.map(o=>(0,Vf.jsxs)(es,{onClick:()=>r(o),dense:!0,children:[(0,Vf.jsx)(zT,{size:"small",checked:t.has(o),sx:{p:0,mr:1}}),(0,Vf.jsx)(lu,{primary:o,slotProps:{primary:{variant:"caption"}}})]},o))})}var oE=y(C(),1);function Nse(e){return e.size===0?"All projects":e.size===1?[...e][0]:`${e.size} projects`}function W8({projects:e,selected:t,onChange:r}){let o=i=>{let s=new Set(t);s.has(i)?s.delete(i):s.add(i),r(s)};return(0,oE.jsx)(Wf,{label:Nse(t),children:()=>(0,oE.jsx)(j8,{items:e,selected:t,onToggle:o})})}function V8(e){let t=new Set;for(let r of e)t.add(r.project);return[...t].sort()}function q8(e,t){return t.size===0?e:e.filter(r=>t.has(r.project))}var An=y(C(),1);function Ise({hasAny:e}){return(0,An.jsx)(te,{variant:"caption",color:"text.disabled",sx:{display:"block",textAlign:"center",p:2},children:e?"No sessions match filter":"No session history"})}function zse({sessions:e,onView:t,onResume:r}){return(0,An.jsxs)(ee,{sx:{flex:1,overflow:"auto",p:1},children:[e.map(o=>(0,An.jsx)(I8,{session:o,onView:t,onResume:r},o.sessionId)),e.length===0&&(0,An.jsx)(Ise,{hasAny:!1})]})}function K8({sessions:e,onView:t,onResume:r}){let[o,i]=(0,NS.useState)(new Set),s=(0,NS.useMemo)(()=>V8(e),[e]),n=q8(e,o);return(0,An.jsxs)(ee,{sx:{flex:1,display:"flex",flexDirection:"column",overflow:"hidden"},children:[s.length>1&&(0,An.jsx)(ee,{sx:{px:1,pt:1},children:(0,An.jsx)(W8,{projects:s,selected:o,onChange:i})}),(0,An.jsx)(zse,{sessions:n,onView:t,onResume:r})]})}function IS(e,t){return!t.has(e.id)&&e.status!=="done"&&e.status!=="error"}var iE=y(C(),1);function zS({label:e,checked:t,onChange:r}){return(0,iE.jsx)(xd,{sx:{m:0,mt:.5},onClick:o=>o.stopPropagation(),control:(0,iE.jsx)(Ld,{size:"small",checked:t,onChange:o=>r(o.target.checked)}),label:e,slotProps:{typography:{variant:"caption",color:"text.secondary"}}})}var Y8=y(C(),1);function G8({label:e="Continue",...t}){return(0,Y8.jsx)(zS,{label:e,...t})}var Z8=y(C(),1);function X8(e){return(0,Z8.jsx)(zS,{label:"Auto-run",...e})}var qu=y(C(),1);function Q8({session:e,onSetAutoRun:t,onSetAutoAdvance:r}){let o=PS(e),i=e.activity,s=i?.kind==="backlog"&&i.phase!==void 0&&i.phase===i.totalPhases;return(0,qu.jsxs)(qu.Fragment,{children:[(o==="draft"||o==="bug"||o==="refine")&&(0,qu.jsx)(X8,{checked:e.autoRun??!1,onChange:t}),i?.kind==="backlog"&&(0,qu.jsx)(G8,{label:s?"Dismiss":"Continue",checked:e.autoAdvance??!0,onChange:r})]})}var eF=y(C(),1);function J8({error:e}){return e?(0,eF.jsx)(te,{variant:"caption",color:"error.main",sx:{display:"block",mt:.5},children:e}):null}var Ku=y(C(),1),Fse={running:"success.main",waiting:"warning.main",done:"info.main",error:"error.main"};function tF({status:e,elapsed:t,restored:r}){return(0,Ku.jsxs)(ee,{sx:{display:"flex",justifyContent:"space-between",mt:.5},children:[(0,Ku.jsxs)(ee,{sx:{display:"flex",gap:1},children:[(0,Ku.jsxs)(te,{variant:"caption",sx:{color:Fse[e]},children:["\u25CF ",e]}),r!==void 0&&(0,Ku.jsx)(te,{variant:"caption",sx:{color:r?"success.main":"warning.main"},children:r?"restored":"not restored"})]}),(0,Ku.jsx)(te,{variant:"caption",color:"text.disabled",children:t})]})}var FS=y(I(),1);function rF(e=0,t=null){let[,r]=(0,FS.useState)(0);(0,FS.useEffect)(()=>{if(t==null)return;let a=setInterval(()=>r(l=>l+1),1e3);return()=>clearInterval(a)},[t]);let o=t==null?e:e+(Date.now()-t),i=Math.floor(o/1e3),s=Math.floor(i/60),n=i%60;return s>=60?`${Math.floor(s/60)}h ${s%60}m`:s>0?`${s}m ${n}s`:`${n}s`}var Ni=y(C(),1);function oF({session:e,active:t,loading:r,onClick:o,onRetry:i,onDismiss:s,onSetAutoRun:n,onSetAutoAdvance:a}){let l=rF(e.runningMs,e.runningSince);return(0,Ni.jsxs)(qt,{onClick:o,sx:OS(t),children:[(0,Ni.jsx)(D8,{session:e,onRetry:i,onDismiss:s}),r?(0,Ni.jsxs)(ee,{sx:{display:"flex",alignItems:"center",gap:1,mt:.5},children:[(0,Ni.jsx)(Xt,{size:12}),(0,Ni.jsx)(te,{variant:"caption",color:"text.disabled",children:"Starting\u2026"})]}):(0,Ni.jsxs)(Ni.Fragment,{children:[(0,Ni.jsx)(tF,{status:e.status,elapsed:l,restored:e.restored}),e.status==="error"&&(0,Ni.jsx)(J8,{error:e.error}),(0,Ni.jsx)(Q8,{session:e,onSetAutoRun:n,onSetAutoAdvance:a})]})]})}var sy=y(C(),1);function iF({sessions:e,activeId:t,initialized:r,onSelect:o,onRetry:i,onDismiss:s,onSetAutoRun:n,onSetAutoAdvance:a}){return(0,sy.jsxs)(ee,{sx:{flex:1,overflow:"auto",p:1},children:[e.map(l=>(0,sy.jsx)(oF,{session:l,active:l.id===t,loading:IS(l,r),onClick:()=>o(l.id),onRetry:(l.commandType==="run"||l.commandType==="assist")&&l.status==="done"?()=>i(l.id):void 0,onDismiss:()=>s(l.id),onSetAutoRun:c=>n(l.id,c),onSetAutoAdvance:c=>a(l.id,c)},l.id)),e.length===0&&(0,sy.jsx)(te,{variant:"caption",color:"text.disabled",sx:{display:"block",textAlign:"center",p:2},children:"No sessions yet"})]})}var ny=y(C(),1),sF={minHeight:36,py:0,fontSize:12};function nF({tab:e,activeCount:t,historyCount:r,onChange:o}){return(0,ny.jsxs)(Vm,{value:e==="active"?0:1,onChange:(s,n)=>o(n===0?"active":"history"),variant:"fullWidth",sx:{borderBottom:1,borderColor:"divider",minHeight:36},children:[(0,ny.jsx)(Tl,{label:`Active ${t}`,sx:sF}),(0,ny.jsx)(Tl,{label:`History ${r}`,sx:sF})]})}var qf=y(C(),1),$se={width:"25%",borderRight:1,borderColor:"divider",display:"flex",flexDirection:"column",bgcolor:"background.paper"};function aF(e){return(0,qf.jsxs)(ee,{sx:$se,children:[(0,qf.jsx)(nF,{tab:e.tab,activeCount:e.sessions.length,historyCount:e.history.length,onChange:e.onTabChange}),e.tab==="active"?(0,qf.jsx)(iF,{sessions:e.sessions,activeId:e.activeId,initialized:e.initialized,onSelect:e.onSelect,onRetry:e.onRetry,onDismiss:e.onDismiss,onSetAutoRun:e.onSetAutoRun,onSetAutoAdvance:e.onSetAutoAdvance}):(0,qf.jsx)(K8,{sessions:e.history,onView:e.onView,onResume:e.onResume})]})}function lF(e,t){return[...e.filter(r=>t(r)),...e.filter(r=>!t(r))]}var uF=y(C(),1);function cF({socket:e,tab:t,onTabChange:r}){let{isStarred:o}=MS(),i=(0,ay.useMemo)(()=>lF(e.sessions,o),[e.sessions,o]),s=(0,ay.useCallback)(a=>{e.resumeSession(a.sessionId,a.cwd,a.name),r("active")},[e.resumeSession,r]),n=(0,ay.useCallback)(a=>{e.viewTranscript(a.sessionId)},[e.viewTranscript]);return(0,uF.jsx)(aF,{sessions:i,history:e.history,activeId:e.activeId,tab:t,onTabChange:r,onSelect:e.selectSession,onView:n,onResume:s,onRetry:e.retrySession,onDismiss:e.dismissSession,onSetAutoRun:e.setAutoRun,onSetAutoAdvance:e.setAutoAdvance,initialized:e.initialized})}var ly=y(C(),1);function pF(){return(0,ly.jsxs)(ee,{sx:{position:"absolute",inset:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,bgcolor:"background.default"},children:[(0,ly.jsx)(Xt,{size:28}),(0,ly.jsx)(te,{variant:"body2",color:"text.disabled",children:"Starting session\u2026"})]})}var j7=y(I(),1);var Uy=y(I(),1);var Use=2,Hse=1,dF=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"))),s=window.getComputedStyle(this._terminal.element),n={top:parseInt(s.getPropertyValue("padding-top")),bottom:parseInt(s.getPropertyValue("padding-bottom")),right:parseInt(s.getPropertyValue("padding-right")),left:parseInt(s.getPropertyValue("padding-left"))},a=n.top+n.bottom,l=n.right+n.left,c=o-a,u=i-l-t;return{cols:Math.max(Use,Math.floor(u/e.css.cell.width)),rows:Math.max(Hse,Math.floor(c/e.css.cell.height))}}};var jse=Object.defineProperty,Wse=Object.getOwnPropertyDescriptor,Vse=(e,t,r,o)=>{for(var i=o>1?void 0:o?Wse(t,r):t,s=e.length-1,n;s>=0;s--)(n=e[s])&&(i=(o?n(t,r,i):n(i))||i);return o&&i&&jse(t,r,i),i},qse=(e,t)=>(r,o)=>t(r,o,e),Kse=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?fF.isErrorNoTelemetry(e)?new fF(e.message+`
265
265
 
266
266
  `+e.stack):new Error(e.message+`
267
267
 
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ import { Command } from "commander";
6
6
  // package.json
7
7
  var package_default = {
8
8
  name: "@staff0rd/assist",
9
- version: "0.318.7",
9
+ version: "0.318.8",
10
10
  type: "module",
11
11
  main: "dist/index.js",
12
12
  bin: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@staff0rd/assist",
3
- "version": "0.318.7",
3
+ "version": "0.318.8",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "bin": {