@cuongtran001/kanna 0.47.1 → 0.47.2
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.
|
@@ -647,7 +647,7 @@ Please change the parent <Route path="${C}"> to <Route path="${C==="/"?"*":`${C}
|
|
|
647
647
|
|
|
648
648
|
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
649
649
|
|
|
650
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return b.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},lq="DialogDescriptionWarning",cq=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${p5(lq).contentName}}.`;return b.useEffect(()=>{var s;const i=(s=e.current)==null?void 0:s.getAttribute("aria-describedby");t&&i&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},m5=t5,g5=i5,jC=s5,OC=o5,v5=l5,uq=u5,dq=f5;function b5(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=b5(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function y5(){for(var e,t,n=0,r="",i=arguments.length;n<i;n++)(e=arguments[n])&&(t=b5(e))&&(r&&(r+=" "),r+=t);return r}const fq=(e,t)=>{const n=new Array(e.length+t.length);for(let r=0;r<e.length;r++)n[r]=e[r];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},hq=(e,t)=>({classGroupId:e,validator:t}),_5=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),zv="-",SN=[],pq="arbitrary..",mq=e=>{const t=vq(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:o=>{if(o.startsWith("[")&&o.endsWith("]"))return gq(o);const l=o.split(zv),c=l[0]===""&&l.length>1?1:0;return x5(l,c,t)},getConflictingClassGroupIds:(o,l)=>{if(l){const c=r[o],d=n[o];return c?d?fq(d,c):c:d||SN}return n[o]||SN}}},x5=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const i=e[t],s=n.nextPart.get(i);if(s){const d=x5(e,t+1,s);if(d)return d}const o=n.validators;if(o===null)return;const l=t===0?e.join(zv):e.slice(t).join(zv),c=o.length;for(let d=0;d<c;d++){const p=o[d];if(p.validator(l))return p.classGroupId}},gq=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),r=t.slice(0,n);return r?pq+r:void 0})(),vq=e=>{const{theme:t,classGroups:n}=e;return bq(n,t)},bq=(e,t)=>{const n=_5();for(const r in e){const i=e[r];zC(i,n,r,t)}return n},zC=(e,t,n,r)=>{const i=e.length;for(let s=0;s<i;s++){const o=e[s];yq(o,t,n,r)}},yq=(e,t,n,r)=>{if(typeof e=="string"){_q(e,t,n);return}if(typeof e=="function"){xq(e,t,n,r);return}Sq(e,t,n,r)},_q=(e,t,n)=>{const r=e===""?t:S5(t,e);r.classGroupId=n},xq=(e,t,n,r)=>{if(wq(e)){zC(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(hq(n,e))},Sq=(e,t,n,r)=>{const i=Object.entries(e),s=i.length;for(let o=0;o<s;o++){const[l,c]=i[o];zC(c,S5(t,l),n,r)}},S5=(e,t)=>{let n=e;const r=t.split(zv),i=r.length;for(let s=0;s<i;s++){const o=r[s];let l=n.nextPart.get(o);l||(l=_5(),n.nextPart.set(o,l)),n=l}return n},wq=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Cq=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null);const i=(s,o)=>{n[s]=o,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(s){let o=n[s];if(o!==void 0)return o;if((o=r[s])!==void 0)return i(s,o),o},set(s,o){s in n?n[s]=o:i(s,o)}}},iw="!",wN=":",kq=[],CN=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Eq=e=>{const{prefix:t,experimentalParseClassName:n}=e;let r=i=>{const s=[];let o=0,l=0,c=0,d;const p=i.length;for(let x=0;x<p;x++){const w=i[x];if(o===0&&l===0){if(w===wN){s.push(i.slice(c,x)),c=x+1;continue}if(w==="/"){d=x;continue}}w==="["?o++:w==="]"?o--:w==="("?l++:w===")"&&l--}const h=s.length===0?i:i.slice(c);let g=h,v=!1;h.endsWith(iw)?(g=h.slice(0,-1),v=!0):h.startsWith(iw)&&(g=h.slice(1),v=!0);const _=d&&d>c?d-c:void 0;return CN(s,v,g,_)};if(t){const i=t+wN,s=r;r=o=>o.startsWith(i)?s(o.slice(i.length)):CN(kq,!1,o,void 0,!0)}if(n){const i=r;r=s=>n({className:s,parseClassName:i})}return r},Rq=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,r)=>{t.set(n,1e6+r)}),n=>{const r=[];let i=[];for(let s=0;s<n.length;s++){const o=n[s],l=o[0]==="[",c=t.has(o);l||c?(i.length>0&&(i.sort(),r.push(...i),i=[]),r.push(o)):i.push(o)}return i.length>0&&(i.sort(),r.push(...i)),r}},Tq=e=>({cache:Cq(e.cacheSize),parseClassName:Eq(e),sortModifiers:Rq(e),...mq(e)}),Aq=/\s+/,Nq=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:s}=t,o=[],l=e.trim().split(Aq);let c="";for(let d=l.length-1;d>=0;d-=1){const p=l[d],{isExternal:h,modifiers:g,hasImportantModifier:v,baseClassName:_,maybePostfixModifierPosition:x}=n(p);if(h){c=p+(c.length>0?" "+c:c);continue}let w=!!x,C=r(w?_.substring(0,x):_);if(!C){if(!w){c=p+(c.length>0?" "+c:c);continue}if(C=r(_),!C){c=p+(c.length>0?" "+c:c);continue}w=!1}const k=g.length===0?"":g.length===1?g[0]:s(g).join(":"),R=v?k+iw:k,T=R+C;if(o.indexOf(T)>-1)continue;o.push(T);const A=i(C,w);for(let N=0;N<A.length;++N){const M=A[N];o.push(R+M)}c=p+(c.length>0?" "+c:c)}return c},Mq=(...e)=>{let t=0,n,r,i="";for(;t<e.length;)(n=e[t++])&&(r=w5(n))&&(i&&(i+=" "),i+=r);return i},w5=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=w5(e[r]))&&(n&&(n+=" "),n+=t);return n},Lq=(e,...t)=>{let n,r,i,s;const o=c=>{const d=t.reduce((p,h)=>h(p),e());return n=Tq(d),r=n.cache.get,i=n.cache.set,s=l,l(c)},l=c=>{const d=r(c);if(d)return d;const p=Nq(c,n);return i(c,p),p};return s=o,(...c)=>s(Mq(...c))},Dq=[],gr=e=>{const t=n=>n[e]||Dq;return t.isThemeGetter=!0,t},C5=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,k5=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Iq=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Pq=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,jq=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Oq=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,zq=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Bq=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ja=e=>Iq.test(e),Gt=e=>!!e&&!Number.isNaN(Number(e)),el=e=>!!e&&Number.isInteger(Number(e)),mx=e=>e.endsWith("%")&&Gt(e.slice(0,-1)),Ko=e=>Pq.test(e),E5=()=>!0,Fq=e=>jq.test(e)&&!Oq.test(e),BC=()=>!1,$q=e=>zq.test(e),Hq=e=>Bq.test(e),Uq=e=>!nt(e)&&!at(e),Vq=e=>Nl(e,A5,BC),nt=e=>C5.test(e),tc=e=>Nl(e,N5,Fq),kN=e=>Nl(e,Zq,Gt),Wq=e=>Nl(e,L5,E5),Gq=e=>Nl(e,M5,BC),EN=e=>Nl(e,R5,BC),qq=e=>Nl(e,T5,Hq),ug=e=>Nl(e,D5,$q),at=e=>k5.test(e),Xf=e=>Fc(e,N5),Kq=e=>Fc(e,M5),RN=e=>Fc(e,R5),Yq=e=>Fc(e,A5),Xq=e=>Fc(e,T5),dg=e=>Fc(e,D5,!0),Qq=e=>Fc(e,L5,!0),Nl=(e,t,n)=>{const r=C5.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Fc=(e,t,n=!1)=>{const r=k5.exec(e);return r?r[1]?t(r[1]):n:!1},R5=e=>e==="position"||e==="percentage",T5=e=>e==="image"||e==="url",A5=e=>e==="length"||e==="size"||e==="bg-size",N5=e=>e==="length",Zq=e=>e==="number",M5=e=>e==="family-name",L5=e=>e==="number"||e==="weight",D5=e=>e==="shadow",Jq=()=>{const e=gr("color"),t=gr("font"),n=gr("text"),r=gr("font-weight"),i=gr("tracking"),s=gr("leading"),o=gr("breakpoint"),l=gr("container"),c=gr("spacing"),d=gr("radius"),p=gr("shadow"),h=gr("inset-shadow"),g=gr("text-shadow"),v=gr("drop-shadow"),_=gr("blur"),x=gr("perspective"),w=gr("aspect"),C=gr("ease"),k=gr("animate"),R=()=>["auto","avoid","all","avoid-page","page","left","right","column"],T=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],A=()=>[...T(),at,nt],N=()=>["auto","hidden","clip","visible","scroll"],M=()=>["auto","contain","none"],D=()=>[at,nt,c],W=()=>[Ja,"full","auto",...D()],I=()=>[el,"none","subgrid",at,nt],$=()=>["auto",{span:["full",el,at,nt]},el,at,nt],B=()=>[el,"auto",at,nt],j=()=>["auto","min","max","fr",at,nt],F=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],V=()=>["start","end","center","stretch","center-safe","end-safe"],z=()=>["auto",...D()],H=()=>[Ja,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...D()],U=()=>[Ja,"screen","full","dvw","lvw","svw","min","max","fit",...D()],Y=()=>[Ja,"screen","full","lh","dvh","lvh","svh","min","max","fit",...D()],P=()=>[e,at,nt],G=()=>[...T(),RN,EN,{position:[at,nt]}],J=()=>["no-repeat",{repeat:["","x","y","space","round"]}],O=()=>["auto","cover","contain",Yq,Vq,{size:[at,nt]}],ie=()=>[mx,Xf,tc],Z=()=>["","none","full",d,at,nt],oe=()=>["",Gt,Xf,tc],se=()=>["solid","dashed","dotted","double"],ve=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ue=()=>[Gt,mx,RN,EN],ye=()=>["","none",_,at,nt],Ee=()=>["none",Gt,at,nt],Ae=()=>["none",Gt,at,nt],De=()=>[Gt,at,nt],me=()=>[Ja,"full",...D()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Ko],breakpoint:[Ko],color:[E5],container:[Ko],"drop-shadow":[Ko],ease:["in","out","in-out"],font:[Uq],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Ko],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Ko],shadow:[Ko],spacing:["px",Gt],text:[Ko],"text-shadow":[Ko],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ja,nt,at,w]}],container:["container"],columns:[{columns:[Gt,nt,at,l]}],"break-after":[{"break-after":R()}],"break-before":[{"break-before":R()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:A()}],overflow:[{overflow:N()}],"overflow-x":[{"overflow-x":N()}],"overflow-y":[{"overflow-y":N()}],overscroll:[{overscroll:M()}],"overscroll-x":[{"overscroll-x":M()}],"overscroll-y":[{"overscroll-y":M()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:W()}],"inset-x":[{"inset-x":W()}],"inset-y":[{"inset-y":W()}],start:[{"inset-s":W(),start:W()}],end:[{"inset-e":W(),end:W()}],"inset-bs":[{"inset-bs":W()}],"inset-be":[{"inset-be":W()}],top:[{top:W()}],right:[{right:W()}],bottom:[{bottom:W()}],left:[{left:W()}],visibility:["visible","invisible","collapse"],z:[{z:[el,"auto",at,nt]}],basis:[{basis:[Ja,"full","auto",l,...D()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Gt,Ja,"auto","initial","none",nt]}],grow:[{grow:["",Gt,at,nt]}],shrink:[{shrink:["",Gt,at,nt]}],order:[{order:[el,"first","last","none",at,nt]}],"grid-cols":[{"grid-cols":I()}],"col-start-end":[{col:$()}],"col-start":[{"col-start":B()}],"col-end":[{"col-end":B()}],"grid-rows":[{"grid-rows":I()}],"row-start-end":[{row:$()}],"row-start":[{"row-start":B()}],"row-end":[{"row-end":B()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":j()}],"auto-rows":[{"auto-rows":j()}],gap:[{gap:D()}],"gap-x":[{"gap-x":D()}],"gap-y":[{"gap-y":D()}],"justify-content":[{justify:[...F(),"normal"]}],"justify-items":[{"justify-items":[...V(),"normal"]}],"justify-self":[{"justify-self":["auto",...V()]}],"align-content":[{content:["normal",...F()]}],"align-items":[{items:[...V(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...V(),{baseline:["","last"]}]}],"place-content":[{"place-content":F()}],"place-items":[{"place-items":[...V(),"baseline"]}],"place-self":[{"place-self":["auto",...V()]}],p:[{p:D()}],px:[{px:D()}],py:[{py:D()}],ps:[{ps:D()}],pe:[{pe:D()}],pbs:[{pbs:D()}],pbe:[{pbe:D()}],pt:[{pt:D()}],pr:[{pr:D()}],pb:[{pb:D()}],pl:[{pl:D()}],m:[{m:z()}],mx:[{mx:z()}],my:[{my:z()}],ms:[{ms:z()}],me:[{me:z()}],mbs:[{mbs:z()}],mbe:[{mbe:z()}],mt:[{mt:z()}],mr:[{mr:z()}],mb:[{mb:z()}],ml:[{ml:z()}],"space-x":[{"space-x":D()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":D()}],"space-y-reverse":["space-y-reverse"],size:[{size:H()}],"inline-size":[{inline:["auto",...U()]}],"min-inline-size":[{"min-inline":["auto",...U()]}],"max-inline-size":[{"max-inline":["none",...U()]}],"block-size":[{block:["auto",...Y()]}],"min-block-size":[{"min-block":["auto",...Y()]}],"max-block-size":[{"max-block":["none",...Y()]}],w:[{w:[l,"screen",...H()]}],"min-w":[{"min-w":[l,"screen","none",...H()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[o]},...H()]}],h:[{h:["screen","lh",...H()]}],"min-h":[{"min-h":["screen","lh","none",...H()]}],"max-h":[{"max-h":["screen","lh",...H()]}],"font-size":[{text:["base",n,Xf,tc]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,Qq,Wq]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",mx,nt]}],"font-family":[{font:[Kq,Gq,t]}],"font-features":[{"font-features":[nt]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[i,at,nt]}],"line-clamp":[{"line-clamp":[Gt,"none",at,kN]}],leading:[{leading:[s,...D()]}],"list-image":[{"list-image":["none",at,nt]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",at,nt]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...se(),"wavy"]}],"text-decoration-thickness":[{decoration:[Gt,"from-font","auto",at,tc]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[Gt,"auto",at,nt]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:D()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",at,nt]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",at,nt]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:G()}],"bg-repeat":[{bg:J()}],"bg-size":[{bg:O()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},el,at,nt],radial:["",at,nt],conic:[el,at,nt]},Xq,qq]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:ie()}],"gradient-via-pos":[{via:ie()}],"gradient-to-pos":[{to:ie()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:Z()}],"rounded-s":[{"rounded-s":Z()}],"rounded-e":[{"rounded-e":Z()}],"rounded-t":[{"rounded-t":Z()}],"rounded-r":[{"rounded-r":Z()}],"rounded-b":[{"rounded-b":Z()}],"rounded-l":[{"rounded-l":Z()}],"rounded-ss":[{"rounded-ss":Z()}],"rounded-se":[{"rounded-se":Z()}],"rounded-ee":[{"rounded-ee":Z()}],"rounded-es":[{"rounded-es":Z()}],"rounded-tl":[{"rounded-tl":Z()}],"rounded-tr":[{"rounded-tr":Z()}],"rounded-br":[{"rounded-br":Z()}],"rounded-bl":[{"rounded-bl":Z()}],"border-w":[{border:oe()}],"border-w-x":[{"border-x":oe()}],"border-w-y":[{"border-y":oe()}],"border-w-s":[{"border-s":oe()}],"border-w-e":[{"border-e":oe()}],"border-w-bs":[{"border-bs":oe()}],"border-w-be":[{"border-be":oe()}],"border-w-t":[{"border-t":oe()}],"border-w-r":[{"border-r":oe()}],"border-w-b":[{"border-b":oe()}],"border-w-l":[{"border-l":oe()}],"divide-x":[{"divide-x":oe()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":oe()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...se(),"hidden","none"]}],"divide-style":[{divide:[...se(),"hidden","none"]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...se(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Gt,at,nt]}],"outline-w":[{outline:["",Gt,Xf,tc]}],"outline-color":[{outline:P()}],shadow:[{shadow:["","none",p,dg,ug]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":["none",h,dg,ug]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:oe()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[Gt,tc]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":oe()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":["none",g,dg,ug]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[Gt,at,nt]}],"mix-blend":[{"mix-blend":[...ve(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ve()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Gt]}],"mask-image-linear-from-pos":[{"mask-linear-from":ue()}],"mask-image-linear-to-pos":[{"mask-linear-to":ue()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":ue()}],"mask-image-t-to-pos":[{"mask-t-to":ue()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":ue()}],"mask-image-r-to-pos":[{"mask-r-to":ue()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":ue()}],"mask-image-b-to-pos":[{"mask-b-to":ue()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":ue()}],"mask-image-l-to-pos":[{"mask-l-to":ue()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":ue()}],"mask-image-x-to-pos":[{"mask-x-to":ue()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":ue()}],"mask-image-y-to-pos":[{"mask-y-to":ue()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[at,nt]}],"mask-image-radial-from-pos":[{"mask-radial-from":ue()}],"mask-image-radial-to-pos":[{"mask-radial-to":ue()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":T()}],"mask-image-conic-pos":[{"mask-conic":[Gt]}],"mask-image-conic-from-pos":[{"mask-conic-from":ue()}],"mask-image-conic-to-pos":[{"mask-conic-to":ue()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:G()}],"mask-repeat":[{mask:J()}],"mask-size":[{mask:O()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",at,nt]}],filter:[{filter:["","none",at,nt]}],blur:[{blur:ye()}],brightness:[{brightness:[Gt,at,nt]}],contrast:[{contrast:[Gt,at,nt]}],"drop-shadow":[{"drop-shadow":["","none",v,dg,ug]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:["",Gt,at,nt]}],"hue-rotate":[{"hue-rotate":[Gt,at,nt]}],invert:[{invert:["",Gt,at,nt]}],saturate:[{saturate:[Gt,at,nt]}],sepia:[{sepia:["",Gt,at,nt]}],"backdrop-filter":[{"backdrop-filter":["","none",at,nt]}],"backdrop-blur":[{"backdrop-blur":ye()}],"backdrop-brightness":[{"backdrop-brightness":[Gt,at,nt]}],"backdrop-contrast":[{"backdrop-contrast":[Gt,at,nt]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Gt,at,nt]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Gt,at,nt]}],"backdrop-invert":[{"backdrop-invert":["",Gt,at,nt]}],"backdrop-opacity":[{"backdrop-opacity":[Gt,at,nt]}],"backdrop-saturate":[{"backdrop-saturate":[Gt,at,nt]}],"backdrop-sepia":[{"backdrop-sepia":["",Gt,at,nt]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":D()}],"border-spacing-x":[{"border-spacing-x":D()}],"border-spacing-y":[{"border-spacing-y":D()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",at,nt]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Gt,"initial",at,nt]}],ease:[{ease:["linear","initial",C,at,nt]}],delay:[{delay:[Gt,at,nt]}],animate:[{animate:["none",k,at,nt]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[x,at,nt]}],"perspective-origin":[{"perspective-origin":A()}],rotate:[{rotate:Ee()}],"rotate-x":[{"rotate-x":Ee()}],"rotate-y":[{"rotate-y":Ee()}],"rotate-z":[{"rotate-z":Ee()}],scale:[{scale:Ae()}],"scale-x":[{"scale-x":Ae()}],"scale-y":[{"scale-y":Ae()}],"scale-z":[{"scale-z":Ae()}],"scale-3d":["scale-3d"],skew:[{skew:De()}],"skew-x":[{"skew-x":De()}],"skew-y":[{"skew-y":De()}],transform:[{transform:[at,nt,"","none","gpu","cpu"]}],"transform-origin":[{origin:A()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:me()}],"translate-x":[{"translate-x":me()}],"translate-y":[{"translate-y":me()}],"translate-z":[{"translate-z":me()}],"translate-none":["translate-none"],accent:[{accent:P()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:P()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",at,nt]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":D()}],"scroll-mx":[{"scroll-mx":D()}],"scroll-my":[{"scroll-my":D()}],"scroll-ms":[{"scroll-ms":D()}],"scroll-me":[{"scroll-me":D()}],"scroll-mbs":[{"scroll-mbs":D()}],"scroll-mbe":[{"scroll-mbe":D()}],"scroll-mt":[{"scroll-mt":D()}],"scroll-mr":[{"scroll-mr":D()}],"scroll-mb":[{"scroll-mb":D()}],"scroll-ml":[{"scroll-ml":D()}],"scroll-p":[{"scroll-p":D()}],"scroll-px":[{"scroll-px":D()}],"scroll-py":[{"scroll-py":D()}],"scroll-ps":[{"scroll-ps":D()}],"scroll-pe":[{"scroll-pe":D()}],"scroll-pbs":[{"scroll-pbs":D()}],"scroll-pbe":[{"scroll-pbe":D()}],"scroll-pt":[{"scroll-pt":D()}],"scroll-pr":[{"scroll-pr":D()}],"scroll-pb":[{"scroll-pb":D()}],"scroll-pl":[{"scroll-pl":D()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",at,nt]}],fill:[{fill:["none",...P()]}],"stroke-w":[{stroke:[Gt,Xf,tc,kN]}],stroke:[{stroke:["none",...P()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},eK=Lq(Jq);function he(...e){return eK(y5(e))}function dc(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function tK(e){return e.startsWith("chatId:")?e.slice(7):e}const Vh="data-focus-fallback-ignore",I5="data-allow-focus-retain",Bv="kanna:restore-chat-input-focus",FC="data-chat-input",Fv="data-chat-selection-zone";function fc(e,t){return!!(e!=null&&e.closest(`[${t}]`))}function P5(e){var n;const t=e;return t!=null&&t.matches?t.matches("input:not([type='checkbox']):not([type='radio']):not([type='button']):not([type='submit']):not([type='reset']), textarea, select")||t.isContentEditable||((n=t.getAttribute)==null?void 0:n.call(t,"role"))==="textbox"?!0:fc(e,I5):!1}function nK(e){const t=e;return t!=null&&t.matches?P5(e)||(t.tabIndex??-1)>=0||t.matches("button, a[href], summary")?!0:fc(e,I5):!1}function TN(e){return!!e.querySelector(`[${Vh}][data-state='open']`)}function rK(e){return e?!e.isCollapsed&&e.toString().trim().length>0:!1}function iK(e,t){if(!e)return!1;const n=Array.from(t.querySelectorAll(`textarea[${FC}]`)).filter(o=>!o.disabled);if(n.length===0)return!1;const r=n.indexOf(e),i=r>=0?(r+1)%n.length:0,s=n[i];return s?(s.focus({preventScroll:!0}),!0):!1}function AN(e){const{activeElement:t,fallback:n,hasActiveOverlay:r}=e;if(!n||n.disabled||r||t===n)return"none";if(e.trigger==="escape")return e.defaultPrevented||fc(t,FC)||e.canCancel?"none":"escape-focus";const{pointerStartTarget:i,pointerEndTarget:s,root:o,hasActiveSelection:l}=e,c=s??i;return!o||!c||!o.contains(c)||fc(c,Vh)||fc(t,Vh)||l&&(fc(i,Fv)||fc(c,Fv))||P5(t)?"none":t&&t===c?"restore":nK(t)?"none":"restore"}const wo=m5,sK=g5,j5=b.forwardRef(({className:e,...t},n)=>f.jsx(jC,{ref:n,className:he("fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));j5.displayName=jC.displayName;const oK={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg"},qs=b.forwardRef(({className:e,children:t,size:n="md",...r},i)=>f.jsxs(sK,{children:[f.jsx(j5,{}),f.jsxs(OC,{ref:i,[Vh]:"",onCloseAutoFocus:s=>{var o;s.preventDefault(),window.dispatchEvent(new Event(Bv)),(o=r.onCloseAutoFocus)==null||o.call(r,s)},className:he("fixed left-1/2 top-1/2 z-50 w-full -translate-x-1/2 -translate-y-1/2 rounded-xl border border-border bg-background shadow-xl duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]","max-h-[85vh] flex flex-col",oK[n],e),...r,children:[t,f.jsxs(dq,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[f.jsx(Ro,{className:"h-4 w-4"}),f.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));qs.displayName=OC.displayName;function $C({className:e,...t}){return f.jsx("div",{className:he("shrink-0 flex flex-col space-y-1.5 p-4 border-b border-border",e),...t})}function Co({className:e,...t}){return f.jsx(v5,{className:he("text-lg font-medium leading-none tracking-tight",e),...t})}function Od({className:e,...t}){return f.jsx(uq,{className:he("text-sm text-muted-foreground",e),...t})}function fa({className:e,...t}){return f.jsx("div",{className:he("flex-1 min-h-0 overflow-y-auto px-4 pb-4 pt-3.5",e),...t})}function kl({className:e,...t}){return f.jsx("div",{className:he("shrink-0 flex justify-end gap-2 border-t border-border bg-background p-2 rounded-b-xl",e),...t})}function aK({className:e,...t}){return f.jsx("button",{className:he("touch-manipulation inline-flex items-center justify-center whitespace-nowrap cursor-pointer text-sm font-medium transition-colors","rounded-full h-9 px-4","bg-primary text-primary-foreground hover:bg-primary/90","disabled:pointer-events-none disabled:bg-primary/20 disabled:text-primary/60",e),...t})}function lK({className:e,...t}){return f.jsx("button",{className:he("touch-manipulation inline-flex items-center justify-center whitespace-nowrap cursor-pointer text-sm font-medium transition-colors","rounded-full h-9 px-4","hover:bg-accent dark:hover:bg-card hover:text-accent-foreground text-muted-foreground","disabled:pointer-events-none disabled:text-muted-foreground/50",e),...t})}function cK({open:e,shareUrl:t,onOpenChange:n,onOpenLink:r,onCopyLink:i}){const[s,o]=b.useState(!1);b.useEffect(()=>{e||o(!1)},[e,t]);const l=async()=>{await i()&&(o(!0),window.setTimeout(()=>{o(!1)},2e3))};return f.jsx(wo,{open:e,onOpenChange:n,children:f.jsxs(qs,{size:"md",children:[f.jsxs($C,{children:[f.jsx(Co,{children:"Shared Link"}),f.jsx(Od,{children:"Shared links are snapshots in time and contain all attachments, tool calls and history. Be mindful of sensitive info."})]}),f.jsx(fa,{className:"space-y-3",children:f.jsxs("div",{className:"flex w-full items-center gap-2 rounded-2xl border border-border bg-muted/40 pl-4 px-3 py-2.5",children:[f.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-sm text-foreground",children:t}),f.jsx("button",{type:"button",onClick:()=>void l(),title:s?"Copied":"Copy link","aria-label":s?"Copied":"Copy link",className:"flex flex-shrink-0 items-center justify-center rounded-lg text-logo hover:text-logo/60 transition-colors hover:bg-background hover:text-foreground",children:s?f.jsx(pi,{className:"h-4 w-4 text-emerald-400"}):f.jsx(Cl,{className:"h-4 w-4"})})]})}),f.jsx(kl,{children:f.jsxs(aK,{type:"button",onClick:r,children:[f.jsx(Ub,{className:"mr-2 h-4 w-4"}),"Open"]})})]})})}const NN=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,MN=y5,uK=(e,t)=>n=>{var r;if((t==null?void 0:t.variants)==null)return MN(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:i,defaultVariants:s}=t,o=Object.keys(i).map(d=>{const p=n==null?void 0:n[d],h=s==null?void 0:s[d];if(p===null)return null;const g=NN(p)||NN(h);return i[d][g]}),l=n&&Object.entries(n).reduce((d,p)=>{let[h,g]=p;return g===void 0||(d[h]=g),d},{}),c=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((d,p)=>{let{class:h,className:g,...v}=p;return Object.entries(v).every(_=>{let[x,w]=_;return Array.isArray(w)?w.includes({...s,...l}[x]):{...s,...l}[x]===w})?[...d,h,g]:d},[]);return MN(e,o,c,n==null?void 0:n.class,n==null?void 0:n.className)},Zb=uK("touch-manipulation inline-flex items-center justify-center whitespace-nowrap cursor-pointer rounded-md text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none",{variants:{variant:{default:"bg-primary text-primary-foreground disabled:bg-primary/50 disabled:text-primary-foreground/90 hover:bg-primary/90",juicy:"bg-logo text-primary-foreground disabled:text-primary-foreground/50 hover:bg-logo/90",destructive:"bg-destructive/80 dark:text-white",outline:"border disabled:bg-transparent disabled:text-foreground/50 border-inpu disabled:border-input/90 bg-card hover:bg-muted hover:text-accent-foreground",secondary:"bg-transparent border border-border text-secondary-foreground hover:text-secondary-foreground/60 disabled:text-secondary-foreground/50",ghost:"hover:bg-accent dark:hover:bg-card hover:text-accent-foreground text-muted-foreground disabled:text-muted-foreground/50 border border-border/0 hover:border-border",link:"text-primary disabled:text-primary/50 underline-offset-4 hover:underline",none:""},size:{default:"h-10 px-4 rounded-full py-2",sm:"h-9 rounded-full px-3",lg:"h-11 rounded-full px-8",icon:"h-9 w-9 rounded-full","icon-mobile":"h-11 w-11 rounded-full md:h-9 md:w-9",none:"","icon-sm":"h-5.5 w-5.5 rounded-md"}},defaultVariants:{variant:"default",size:"default"}}),Xe=b.forwardRef(({className:e,variant:t,size:n,type:r="button",...i},s)=>f.jsx("button",{type:r,className:he(Zb({variant:t,size:n,className:e})),ref:s,...i}));Xe.displayName="Button";const nr=b.forwardRef(({className:e,type:t,...n},r)=>f.jsx("input",{ref:r,type:t,className:he("flex w-full rounded-lg border border-border bg-background px-3 py-2 text-sm text-foreground outline-none placeholder:text-muted-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50",e),...n}));nr.displayName="Input";const O5=b.createContext(null);function dK({children:e}){const[t,n]=b.useState(null),[r,i]=b.useState(""),s=b.useRef(null);b.useEffect(()=>{(t==null?void 0:t.kind)==="prompt"&&(i(t.options.initialValue??""),setTimeout(()=>{var v,_;(v=s.current)==null||v.focus(),(_=s.current)==null||_.select()},0))},[t]);const o=b.useCallback(()=>{n(null),i("")},[]),l=b.useCallback(()=>{t&&(t.kind==="confirm"?t.resolve(!1):t.kind==="prompt"?t.resolve(null):t.resolve(),o())},[o,t]),c=b.useCallback(()=>{t&&(t.kind==="confirm"?t.resolve(!0):t.kind==="prompt"?t.resolve(r.trim()||null):t.resolve(),o())},[o,t,r]),d=b.useCallback(v=>new Promise(_=>{n({kind:"confirm",options:v,resolve:_})}),[]),p=b.useCallback(v=>new Promise(_=>{n({kind:"prompt",options:v,resolve:_})}),[]),h=b.useCallback(v=>new Promise(_=>{n({kind:"alert",options:v,resolve:_})}),[]),g=b.useMemo(()=>({confirm:d,prompt:p,alert:h}),[h,d,p]);return f.jsxs(O5.Provider,{value:g,children:[e,f.jsx(wo,{open:t!==null,onOpenChange:v=>{v||!t||l()},children:f.jsx(qs,{size:"sm",onKeyDown:v=>{v.key!=="Enter"||v.shiftKey||!t||t.kind!=="confirm"||(v.preventDefault(),c())},children:t?f.jsxs(f.Fragment,{children:[f.jsxs(fa,{className:"space-y-4",children:[f.jsx(Co,{children:t.options.title}),t.options.description?f.jsx(Od,{children:t.options.description}):null,t.kind==="prompt"?f.jsx(nr,{ref:s,type:"text",value:r,onChange:v=>i(v.target.value),onKeyDown:v=>{v.key==="Enter"&&(v.preventDefault(),c())},placeholder:t.options.placeholder}):null]}),f.jsxs(kl,{children:[f.jsx(Xe,{variant:"ghost",size:"sm",onClick:l,className:t.kind==="alert"?"hidden":void 0,children:"cancelLabel"in t.options?t.options.cancelLabel??"Cancel":"Cancel"}),f.jsx(Xe,{variant:t.kind==="confirm"?t.options.confirmVariant??"default":"secondary",size:"sm",onClick:c,disabled:t.kind==="prompt"&&!r.trim(),children:t.kind==="alert"?t.options.closeLabel??"OK":"confirmLabel"in t.options?t.options.confirmLabel??"Confirm":"Confirm"})]})]}):null})})]})}function Ep(){const e=b.useContext(O5);if(!e)throw new Error("useAppDialog must be used within AppDialogProvider");return e}const HC=b.forwardRef(({className:e,...t},n)=>f.jsx("div",{ref:n,className:he("bg-card text-card-foreground",e),...t}));HC.displayName="Card";const UC=b.forwardRef(({className:e,...t},n)=>f.jsx("div",{ref:n,className:he("flex flex-col space-y-1.5 p-2",e),...t}));UC.displayName="CardHeader";const z5=b.forwardRef(({className:e,...t},n)=>f.jsx("h3",{ref:n,className:he("text-2xl font-semibold leading-none tracking-tight",e),...t}));z5.displayName="CardTitle";const B5=b.forwardRef(({className:e,...t},n)=>f.jsx("p",{ref:n,className:he("text-sm text-muted-foreground",e),...t}));B5.displayName="CardDescription";const VC=b.forwardRef(({className:e,...t},n)=>f.jsx("div",{ref:n,className:he("p-6 pt-0",e),...t}));VC.displayName="CardContent";const fK=b.forwardRef(({className:e,...t},n)=>f.jsx("div",{ref:n,className:he("flex items-center p-6 pt-0",e),...t}));fK.displayName="CardFooter";const hK=["top","right","bottom","left"],El=Math.min,Vi=Math.max,$v=Math.round,fg=Math.floor,_o=e=>({x:e,y:e}),pK={left:"right",right:"left",bottom:"top",top:"bottom"};function sw(e,t,n){return Vi(e,El(t,n))}function ha(e,t){return typeof e=="function"?e(t):e}function pa(e){return e.split("-")[0]}function zd(e){return e.split("-")[1]}function WC(e){return e==="x"?"y":"x"}function GC(e){return e==="y"?"height":"width"}function mo(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function qC(e){return WC(mo(e))}function mK(e,t,n){n===void 0&&(n=!1);const r=zd(e),i=qC(e),s=GC(i);let o=i==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(o=Hv(o)),[o,Hv(o)]}function gK(e){const t=Hv(e);return[ow(e),t,ow(t)]}function ow(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const LN=["left","right"],DN=["right","left"],vK=["top","bottom"],bK=["bottom","top"];function yK(e,t,n){switch(e){case"top":case"bottom":return n?t?DN:LN:t?LN:DN;case"left":case"right":return t?vK:bK;default:return[]}}function _K(e,t,n,r){const i=zd(e);let s=yK(pa(e),n==="start",r);return i&&(s=s.map(o=>o+"-"+i),t&&(s=s.concat(s.map(ow)))),s}function Hv(e){const t=pa(e);return pK[t]+e.slice(t.length)}function xK(e){return{top:0,right:0,bottom:0,left:0,...e}}function F5(e){return typeof e!="number"?xK(e):{top:e,right:e,bottom:e,left:e}}function Uv(e){const{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function IN(e,t,n){let{reference:r,floating:i}=e;const s=mo(t),o=qC(t),l=GC(o),c=pa(t),d=s==="y",p=r.x+r.width/2-i.width/2,h=r.y+r.height/2-i.height/2,g=r[l]/2-i[l]/2;let v;switch(c){case"top":v={x:p,y:r.y-i.height};break;case"bottom":v={x:p,y:r.y+r.height};break;case"right":v={x:r.x+r.width,y:h};break;case"left":v={x:r.x-i.width,y:h};break;default:v={x:r.x,y:r.y}}switch(zd(t)){case"start":v[o]-=g*(n&&d?-1:1);break;case"end":v[o]+=g*(n&&d?-1:1);break}return v}async function SK(e,t){var n;t===void 0&&(t={});const{x:r,y:i,platform:s,rects:o,elements:l,strategy:c}=e,{boundary:d="clippingAncestors",rootBoundary:p="viewport",elementContext:h="floating",altBoundary:g=!1,padding:v=0}=ha(t,e),_=F5(v),w=l[g?h==="floating"?"reference":"floating":h],C=Uv(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(w)))==null||n?w:w.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(l.floating)),boundary:d,rootBoundary:p,strategy:c})),k=h==="floating"?{x:r,y:i,width:o.floating.width,height:o.floating.height}:o.reference,R=await(s.getOffsetParent==null?void 0:s.getOffsetParent(l.floating)),T=await(s.isElement==null?void 0:s.isElement(R))?await(s.getScale==null?void 0:s.getScale(R))||{x:1,y:1}:{x:1,y:1},A=Uv(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:k,offsetParent:R,strategy:c}):k);return{top:(C.top-A.top+_.top)/T.y,bottom:(A.bottom-C.bottom+_.bottom)/T.y,left:(C.left-A.left+_.left)/T.x,right:(A.right-C.right+_.right)/T.x}}const wK=50,CK=async(e,t,n)=>{const{placement:r="bottom",strategy:i="absolute",middleware:s=[],platform:o}=n,l=o.detectOverflow?o:{...o,detectOverflow:SK},c=await(o.isRTL==null?void 0:o.isRTL(t));let d=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:p,y:h}=IN(d,r,c),g=r,v=0;const _={};for(let x=0;x<s.length;x++){const w=s[x];if(!w)continue;const{name:C,fn:k}=w,{x:R,y:T,data:A,reset:N}=await k({x:p,y:h,initialPlacement:r,placement:g,strategy:i,middlewareData:_,rects:d,platform:l,elements:{reference:e,floating:t}});p=R??p,h=T??h,_[C]={..._[C],...A},N&&v<wK&&(v++,typeof N=="object"&&(N.placement&&(g=N.placement),N.rects&&(d=N.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):N.rects),{x:p,y:h}=IN(d,g,c)),x=-1)}return{x:p,y:h,placement:g,strategy:i,middlewareData:_}},kK=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:i,rects:s,platform:o,elements:l,middlewareData:c}=t,{element:d,padding:p=0}=ha(e,t)||{};if(d==null)return{};const h=F5(p),g={x:n,y:r},v=qC(i),_=GC(v),x=await o.getDimensions(d),w=v==="y",C=w?"top":"left",k=w?"bottom":"right",R=w?"clientHeight":"clientWidth",T=s.reference[_]+s.reference[v]-g[v]-s.floating[_],A=g[v]-s.reference[v],N=await(o.getOffsetParent==null?void 0:o.getOffsetParent(d));let M=N?N[R]:0;(!M||!await(o.isElement==null?void 0:o.isElement(N)))&&(M=l.floating[R]||s.floating[_]);const D=T/2-A/2,W=M/2-x[_]/2-1,I=El(h[C],W),$=El(h[k],W),B=I,j=M-x[_]-$,F=M/2-x[_]/2+D,V=sw(B,F,j),z=!c.arrow&&zd(i)!=null&&F!==V&&s.reference[_]/2-(F<B?I:$)-x[_]/2<0,H=z?F<B?F-B:F-j:0;return{[v]:g[v]+H,data:{[v]:V,centerOffset:F-V-H,...z&&{alignmentOffset:H}},reset:z}}}),EK=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,r;const{placement:i,middlewareData:s,rects:o,initialPlacement:l,platform:c,elements:d}=t,{mainAxis:p=!0,crossAxis:h=!0,fallbackPlacements:g,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:_="none",flipAlignment:x=!0,...w}=ha(e,t);if((n=s.arrow)!=null&&n.alignmentOffset)return{};const C=pa(i),k=mo(l),R=pa(l)===l,T=await(c.isRTL==null?void 0:c.isRTL(d.floating)),A=g||(R||!x?[Hv(l)]:gK(l)),N=_!=="none";!g&&N&&A.push(..._K(l,x,_,T));const M=[l,...A],D=await c.detectOverflow(t,w),W=[];let I=((r=s.flip)==null?void 0:r.overflows)||[];if(p&&W.push(D[C]),h){const F=mK(i,o,T);W.push(D[F[0]],D[F[1]])}if(I=[...I,{placement:i,overflows:W}],!W.every(F=>F<=0)){var $,B;const F=((($=s.flip)==null?void 0:$.index)||0)+1,V=M[F];if(V&&(!(h==="alignment"?k!==mo(V):!1)||I.every(U=>mo(U.placement)===k?U.overflows[0]>0:!0)))return{data:{index:F,overflows:I},reset:{placement:V}};let z=(B=I.filter(H=>H.overflows[0]<=0).sort((H,U)=>H.overflows[1]-U.overflows[1])[0])==null?void 0:B.placement;if(!z)switch(v){case"bestFit":{var j;const H=(j=I.filter(U=>{if(N){const Y=mo(U.placement);return Y===k||Y==="y"}return!0}).map(U=>[U.placement,U.overflows.filter(Y=>Y>0).reduce((Y,P)=>Y+P,0)]).sort((U,Y)=>U[1]-Y[1])[0])==null?void 0:j[0];H&&(z=H);break}case"initialPlacement":z=l;break}if(i!==z)return{reset:{placement:z}}}return{}}}};function PN(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function jN(e){return hK.some(t=>e[t]>=0)}const RK=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:r}=t,{strategy:i="referenceHidden",...s}=ha(e,t);switch(i){case"referenceHidden":{const o=await r.detectOverflow(t,{...s,elementContext:"reference"}),l=PN(o,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:jN(l)}}}case"escaped":{const o=await r.detectOverflow(t,{...s,altBoundary:!0}),l=PN(o,n.floating);return{data:{escapedOffsets:l,escaped:jN(l)}}}default:return{}}}}},$5=new Set(["left","top"]);async function TK(e,t){const{placement:n,platform:r,elements:i}=e,s=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=pa(n),l=zd(n),c=mo(n)==="y",d=$5.has(o)?-1:1,p=s&&c?-1:1,h=ha(t,e);let{mainAxis:g,crossAxis:v,alignmentAxis:_}=typeof h=="number"?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:h.mainAxis||0,crossAxis:h.crossAxis||0,alignmentAxis:h.alignmentAxis};return l&&typeof _=="number"&&(v=l==="end"?_*-1:_),c?{x:v*p,y:g*d}:{x:g*d,y:v*p}}const AK=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:i,y:s,placement:o,middlewareData:l}=t,c=await TK(t,e);return o===((n=l.offset)==null?void 0:n.placement)&&(r=l.arrow)!=null&&r.alignmentOffset?{}:{x:i+c.x,y:s+c.y,data:{...c,placement:o}}}}},NK=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:i,platform:s}=t,{mainAxis:o=!0,crossAxis:l=!1,limiter:c={fn:C=>{let{x:k,y:R}=C;return{x:k,y:R}}},...d}=ha(e,t),p={x:n,y:r},h=await s.detectOverflow(t,d),g=mo(pa(i)),v=WC(g);let _=p[v],x=p[g];if(o){const C=v==="y"?"top":"left",k=v==="y"?"bottom":"right",R=_+h[C],T=_-h[k];_=sw(R,_,T)}if(l){const C=g==="y"?"top":"left",k=g==="y"?"bottom":"right",R=x+h[C],T=x-h[k];x=sw(R,x,T)}const w=c.fn({...t,[v]:_,[g]:x});return{...w,data:{x:w.x-n,y:w.y-r,enabled:{[v]:o,[g]:l}}}}}},MK=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:i,rects:s,middlewareData:o}=t,{offset:l=0,mainAxis:c=!0,crossAxis:d=!0}=ha(e,t),p={x:n,y:r},h=mo(i),g=WC(h);let v=p[g],_=p[h];const x=ha(l,t),w=typeof x=="number"?{mainAxis:x,crossAxis:0}:{mainAxis:0,crossAxis:0,...x};if(c){const R=g==="y"?"height":"width",T=s.reference[g]-s.floating[R]+w.mainAxis,A=s.reference[g]+s.reference[R]-w.mainAxis;v<T?v=T:v>A&&(v=A)}if(d){var C,k;const R=g==="y"?"width":"height",T=$5.has(pa(i)),A=s.reference[h]-s.floating[R]+(T&&((C=o.offset)==null?void 0:C[h])||0)+(T?0:w.crossAxis),N=s.reference[h]+s.reference[R]+(T?0:((k=o.offset)==null?void 0:k[h])||0)-(T?w.crossAxis:0);_<A?_=A:_>N&&(_=N)}return{[g]:v,[h]:_}}}},LK=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:i,rects:s,platform:o,elements:l}=t,{apply:c=()=>{},...d}=ha(e,t),p=await o.detectOverflow(t,d),h=pa(i),g=zd(i),v=mo(i)==="y",{width:_,height:x}=s.floating;let w,C;h==="top"||h==="bottom"?(w=h,C=g===(await(o.isRTL==null?void 0:o.isRTL(l.floating))?"start":"end")?"left":"right"):(C=h,w=g==="end"?"top":"bottom");const k=x-p.top-p.bottom,R=_-p.left-p.right,T=El(x-p[w],k),A=El(_-p[C],R),N=!t.middlewareData.shift;let M=T,D=A;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(D=R),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(M=k),N&&!g){const I=Vi(p.left,0),$=Vi(p.right,0),B=Vi(p.top,0),j=Vi(p.bottom,0);v?D=_-2*(I!==0||$!==0?I+$:Vi(p.left,p.right)):M=x-2*(B!==0||j!==0?B+j:Vi(p.top,p.bottom))}await c({...t,availableWidth:D,availableHeight:M});const W=await o.getDimensions(l.floating);return _!==W.width||x!==W.height?{reset:{rects:!0}}:{}}}};function Jb(){return typeof window<"u"}function Bd(e){return H5(e)?(e.nodeName||"").toLowerCase():"#document"}function Wi(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function To(e){var t;return(t=(H5(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function H5(e){return Jb()?e instanceof Node||e instanceof Wi(e).Node:!1}function Ks(e){return Jb()?e instanceof Element||e instanceof Wi(e).Element:!1}function ya(e){return Jb()?e instanceof HTMLElement||e instanceof Wi(e).HTMLElement:!1}function ON(e){return!Jb()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Wi(e).ShadowRoot}function Rp(e){const{overflow:t,overflowX:n,overflowY:r,display:i}=Ys(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!=="inline"&&i!=="contents"}function DK(e){return/^(table|td|th)$/.test(Bd(e))}function e0(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const IK=/transform|translate|scale|rotate|perspective|filter/,PK=/paint|layout|strict|content/,nc=e=>!!e&&e!=="none";let gx;function KC(e){const t=Ks(e)?Ys(e):e;return nc(t.transform)||nc(t.translate)||nc(t.scale)||nc(t.rotate)||nc(t.perspective)||!YC()&&(nc(t.backdropFilter)||nc(t.filter))||IK.test(t.willChange||"")||PK.test(t.contain||"")}function jK(e){let t=Rl(e);for(;ya(t)&&!gd(t);){if(KC(t))return t;if(e0(t))return null;t=Rl(t)}return null}function YC(){return gx==null&&(gx=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),gx}function gd(e){return/^(html|body|#document)$/.test(Bd(e))}function Ys(e){return Wi(e).getComputedStyle(e)}function t0(e){return Ks(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Rl(e){if(Bd(e)==="html")return e;const t=e.assignedSlot||e.parentNode||ON(e)&&e.host||To(e);return ON(t)?t.host:t}function U5(e){const t=Rl(e);return gd(t)?e.ownerDocument?e.ownerDocument.body:e.body:ya(t)&&Rp(t)?t:U5(t)}function Wh(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const i=U5(e),s=i===((r=e.ownerDocument)==null?void 0:r.body),o=Wi(i);if(s){const l=aw(o);return t.concat(o,o.visualViewport||[],Rp(i)?i:[],l&&n?Wh(l):[])}else return t.concat(i,Wh(i,[],n))}function aw(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function V5(e){const t=Ys(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const i=ya(e),s=i?e.offsetWidth:n,o=i?e.offsetHeight:r,l=$v(n)!==s||$v(r)!==o;return l&&(n=s,r=o),{width:n,height:r,$:l}}function XC(e){return Ks(e)?e:e.contextElement}function id(e){const t=XC(e);if(!ya(t))return _o(1);const n=t.getBoundingClientRect(),{width:r,height:i,$:s}=V5(t);let o=(s?$v(n.width):n.width)/r,l=(s?$v(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!l||!Number.isFinite(l))&&(l=1),{x:o,y:l}}const OK=_o(0);function W5(e){const t=Wi(e);return!YC()||!t.visualViewport?OK:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function zK(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Wi(e)?!1:t}function Tc(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const i=e.getBoundingClientRect(),s=XC(e);let o=_o(1);t&&(r?Ks(r)&&(o=id(r)):o=id(e));const l=zK(s,n,r)?W5(s):_o(0);let c=(i.left+l.x)/o.x,d=(i.top+l.y)/o.y,p=i.width/o.x,h=i.height/o.y;if(s){const g=Wi(s),v=r&&Ks(r)?Wi(r):r;let _=g,x=aw(_);for(;x&&r&&v!==_;){const w=id(x),C=x.getBoundingClientRect(),k=Ys(x),R=C.left+(x.clientLeft+parseFloat(k.paddingLeft))*w.x,T=C.top+(x.clientTop+parseFloat(k.paddingTop))*w.y;c*=w.x,d*=w.y,p*=w.x,h*=w.y,c+=R,d+=T,_=Wi(x),x=aw(_)}}return Uv({width:p,height:h,x:c,y:d})}function n0(e,t){const n=t0(e).scrollLeft;return t?t.left+n:Tc(To(e)).left+n}function G5(e,t){const n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-n0(e,n),i=n.top+t.scrollTop;return{x:r,y:i}}function BK(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e;const s=i==="fixed",o=To(r),l=t?e0(t.floating):!1;if(r===o||l&&s)return n;let c={scrollLeft:0,scrollTop:0},d=_o(1);const p=_o(0),h=ya(r);if((h||!h&&!s)&&((Bd(r)!=="body"||Rp(o))&&(c=t0(r)),h)){const v=Tc(r);d=id(r),p.x=v.x+r.clientLeft,p.y=v.y+r.clientTop}const g=o&&!h&&!s?G5(o,c):_o(0);return{width:n.width*d.x,height:n.height*d.y,x:n.x*d.x-c.scrollLeft*d.x+p.x+g.x,y:n.y*d.y-c.scrollTop*d.y+p.y+g.y}}function FK(e){return Array.from(e.getClientRects())}function $K(e){const t=To(e),n=t0(e),r=e.ownerDocument.body,i=Vi(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),s=Vi(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let o=-n.scrollLeft+n0(e);const l=-n.scrollTop;return Ys(r).direction==="rtl"&&(o+=Vi(t.clientWidth,r.clientWidth)-i),{width:i,height:s,x:o,y:l}}const zN=25;function HK(e,t){const n=Wi(e),r=To(e),i=n.visualViewport;let s=r.clientWidth,o=r.clientHeight,l=0,c=0;if(i){s=i.width,o=i.height;const p=YC();(!p||p&&t==="fixed")&&(l=i.offsetLeft,c=i.offsetTop)}const d=n0(r);if(d<=0){const p=r.ownerDocument,h=p.body,g=getComputedStyle(h),v=p.compatMode==="CSS1Compat"&&parseFloat(g.marginLeft)+parseFloat(g.marginRight)||0,_=Math.abs(r.clientWidth-h.clientWidth-v);_<=zN&&(s-=_)}else d<=zN&&(s+=d);return{width:s,height:o,x:l,y:c}}function UK(e,t){const n=Tc(e,!0,t==="fixed"),r=n.top+e.clientTop,i=n.left+e.clientLeft,s=ya(e)?id(e):_o(1),o=e.clientWidth*s.x,l=e.clientHeight*s.y,c=i*s.x,d=r*s.y;return{width:o,height:l,x:c,y:d}}function BN(e,t,n){let r;if(t==="viewport")r=HK(e,n);else if(t==="document")r=$K(To(e));else if(Ks(t))r=UK(t,n);else{const i=W5(e);r={x:t.x-i.x,y:t.y-i.y,width:t.width,height:t.height}}return Uv(r)}function q5(e,t){const n=Rl(e);return n===t||!Ks(n)||gd(n)?!1:Ys(n).position==="fixed"||q5(n,t)}function VK(e,t){const n=t.get(e);if(n)return n;let r=Wh(e,[],!1).filter(l=>Ks(l)&&Bd(l)!=="body"),i=null;const s=Ys(e).position==="fixed";let o=s?Rl(e):e;for(;Ks(o)&&!gd(o);){const l=Ys(o),c=KC(o);!c&&l.position==="fixed"&&(i=null),(s?!c&&!i:!c&&l.position==="static"&&!!i&&(i.position==="absolute"||i.position==="fixed")||Rp(o)&&!c&&q5(e,o))?r=r.filter(p=>p!==o):i=l,o=Rl(o)}return t.set(e,r),r}function WK(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e;const o=[...n==="clippingAncestors"?e0(t)?[]:VK(t,this._c):[].concat(n),r],l=BN(t,o[0],i);let c=l.top,d=l.right,p=l.bottom,h=l.left;for(let g=1;g<o.length;g++){const v=BN(t,o[g],i);c=Vi(v.top,c),d=El(v.right,d),p=El(v.bottom,p),h=Vi(v.left,h)}return{width:d-h,height:p-c,x:h,y:c}}function GK(e){const{width:t,height:n}=V5(e);return{width:t,height:n}}function qK(e,t,n){const r=ya(t),i=To(t),s=n==="fixed",o=Tc(e,!0,s,t);let l={scrollLeft:0,scrollTop:0};const c=_o(0);function d(){c.x=n0(i)}if(r||!r&&!s)if((Bd(t)!=="body"||Rp(i))&&(l=t0(t)),r){const v=Tc(t,!0,s,t);c.x=v.x+t.clientLeft,c.y=v.y+t.clientTop}else i&&d();s&&!r&&i&&d();const p=i&&!r&&!s?G5(i,l):_o(0),h=o.left+l.scrollLeft-c.x-p.x,g=o.top+l.scrollTop-c.y-p.y;return{x:h,y:g,width:o.width,height:o.height}}function vx(e){return Ys(e).position==="static"}function FN(e,t){if(!ya(e)||Ys(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return To(e)===n&&(n=n.ownerDocument.body),n}function K5(e,t){const n=Wi(e);if(e0(e))return n;if(!ya(e)){let i=Rl(e);for(;i&&!gd(i);){if(Ks(i)&&!vx(i))return i;i=Rl(i)}return n}let r=FN(e,t);for(;r&&DK(r)&&vx(r);)r=FN(r,t);return r&&gd(r)&&vx(r)&&!KC(r)?n:r||jK(e)||n}const KK=async function(e){const t=this.getOffsetParent||K5,n=this.getDimensions,r=await n(e.floating);return{reference:qK(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function YK(e){return Ys(e).direction==="rtl"}const XK={convertOffsetParentRelativeRectToViewportRelativeRect:BK,getDocumentElement:To,getClippingRect:WK,getOffsetParent:K5,getElementRects:KK,getClientRects:FK,getDimensions:GK,getScale:id,isElement:Ks,isRTL:YK};function Y5(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function QK(e,t){let n=null,r;const i=To(e);function s(){var l;clearTimeout(r),(l=n)==null||l.disconnect(),n=null}function o(l,c){l===void 0&&(l=!1),c===void 0&&(c=1),s();const d=e.getBoundingClientRect(),{left:p,top:h,width:g,height:v}=d;if(l||t(),!g||!v)return;const _=fg(h),x=fg(i.clientWidth-(p+g)),w=fg(i.clientHeight-(h+v)),C=fg(p),R={rootMargin:-_+"px "+-x+"px "+-w+"px "+-C+"px",threshold:Vi(0,El(1,c))||1};let T=!0;function A(N){const M=N[0].intersectionRatio;if(M!==c){if(!T)return o();M?o(!1,M):r=setTimeout(()=>{o(!1,1e-7)},1e3)}M===1&&!Y5(d,e.getBoundingClientRect())&&o(),T=!1}try{n=new IntersectionObserver(A,{...R,root:i.ownerDocument})}catch{n=new IntersectionObserver(A,R)}n.observe(e)}return o(!0),s}function ZK(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:i=!0,ancestorResize:s=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:c=!1}=r,d=XC(e),p=i||s?[...d?Wh(d):[],...t?Wh(t):[]]:[];p.forEach(C=>{i&&C.addEventListener("scroll",n,{passive:!0}),s&&C.addEventListener("resize",n)});const h=d&&l?QK(d,n):null;let g=-1,v=null;o&&(v=new ResizeObserver(C=>{let[k]=C;k&&k.target===d&&v&&t&&(v.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var R;(R=v)==null||R.observe(t)})),n()}),d&&!c&&v.observe(d),t&&v.observe(t));let _,x=c?Tc(e):null;c&&w();function w(){const C=Tc(e);x&&!Y5(x,C)&&n(),x=C,_=requestAnimationFrame(w)}return n(),()=>{var C;p.forEach(k=>{i&&k.removeEventListener("scroll",n),s&&k.removeEventListener("resize",n)}),h==null||h(),(C=v)==null||C.disconnect(),v=null,c&&cancelAnimationFrame(_)}}const JK=AK,eY=NK,tY=EK,nY=LK,rY=RK,$N=kK,iY=MK,sY=(e,t,n)=>{const r=new Map,i={platform:XK,...n},s={...i.platform,_c:r};return CK(e,t,{...i,platform:s})};var oY=typeof document<"u",aY=function(){},dv=oY?b.useLayoutEffect:aY;function Vv(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Vv(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){const s=i[r];if(!(s==="_owner"&&e.$$typeof)&&!Vv(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function X5(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function HN(e,t){const n=X5(e);return Math.round(t*n)/n}function bx(e){const t=b.useRef(e);return dv(()=>{t.current=e}),t}function lY(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:i,elements:{reference:s,floating:o}={},transform:l=!0,whileElementsMounted:c,open:d}=e,[p,h]=b.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[g,v]=b.useState(r);Vv(g,r)||v(r);const[_,x]=b.useState(null),[w,C]=b.useState(null),k=b.useCallback(U=>{U!==N.current&&(N.current=U,x(U))},[]),R=b.useCallback(U=>{U!==M.current&&(M.current=U,C(U))},[]),T=s||_,A=o||w,N=b.useRef(null),M=b.useRef(null),D=b.useRef(p),W=c!=null,I=bx(c),$=bx(i),B=bx(d),j=b.useCallback(()=>{if(!N.current||!M.current)return;const U={placement:t,strategy:n,middleware:g};$.current&&(U.platform=$.current),sY(N.current,M.current,U).then(Y=>{const P={...Y,isPositioned:B.current!==!1};F.current&&!Vv(D.current,P)&&(D.current=P,bs.flushSync(()=>{h(P)}))})},[g,t,n,$,B]);dv(()=>{d===!1&&D.current.isPositioned&&(D.current.isPositioned=!1,h(U=>({...U,isPositioned:!1})))},[d]);const F=b.useRef(!1);dv(()=>(F.current=!0,()=>{F.current=!1}),[]),dv(()=>{if(T&&(N.current=T),A&&(M.current=A),T&&A){if(I.current)return I.current(T,A,j);j()}},[T,A,j,I,W]);const V=b.useMemo(()=>({reference:N,floating:M,setReference:k,setFloating:R}),[k,R]),z=b.useMemo(()=>({reference:T,floating:A}),[T,A]),H=b.useMemo(()=>{const U={position:n,left:0,top:0};if(!z.floating)return U;const Y=HN(z.floating,p.x),P=HN(z.floating,p.y);return l?{...U,transform:"translate("+Y+"px, "+P+"px)",...X5(z.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:Y,top:P}},[n,l,z.floating,p.x,p.y]);return b.useMemo(()=>({...p,update:j,refs:V,elements:z,floatingStyles:H}),[p,j,V,z,H])}const cY=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:r,padding:i}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?$N({element:r.current,padding:i}).fn(n):{}:r?$N({element:r,padding:i}).fn(n):{}}}},uY=(e,t)=>{const n=JK(e);return{name:n.name,fn:n.fn,options:[e,t]}},dY=(e,t)=>{const n=eY(e);return{name:n.name,fn:n.fn,options:[e,t]}},fY=(e,t)=>({fn:iY(e).fn,options:[e,t]}),hY=(e,t)=>{const n=tY(e);return{name:n.name,fn:n.fn,options:[e,t]}},pY=(e,t)=>{const n=nY(e);return{name:n.name,fn:n.fn,options:[e,t]}},mY=(e,t)=>{const n=rY(e);return{name:n.name,fn:n.fn,options:[e,t]}},gY=(e,t)=>{const n=cY(e);return{name:n.name,fn:n.fn,options:[e,t]}};var vY="Arrow",Q5=b.forwardRef((e,t)=>{const{children:n,width:r=10,height:i=5,...s}=e;return f.jsx(Jt.svg,{...s,ref:t,width:r,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:f.jsx("polygon",{points:"0,0 30,0 15,10"})})});Q5.displayName=vY;var bY=Q5;function yY(e){const[t,n]=b.useState(void 0);return ni(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const s=i[0];let o,l;if("borderBoxSize"in s){const c=s.borderBoxSize,d=Array.isArray(c)?c[0]:c;o=d.inlineSize,l=d.blockSize}else o=e.offsetWidth,l=e.offsetHeight;n({width:o,height:l})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}var QC="Popper",[Z5,Ml]=ba(QC),[_Y,J5]=Z5(QC),eO=e=>{const{__scopePopper:t,children:n}=e,[r,i]=b.useState(null);return f.jsx(_Y,{scope:t,anchor:r,onAnchorChange:i,children:n})};eO.displayName=QC;var tO="PopperAnchor",nO=b.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...i}=e,s=J5(tO,n),o=b.useRef(null),l=yn(t,o),c=b.useRef(null);return b.useEffect(()=>{const d=c.current;c.current=(r==null?void 0:r.current)||o.current,d!==c.current&&s.onAnchorChange(c.current)}),r?null:f.jsx(Jt.div,{...i,ref:l})});nO.displayName=tO;var ZC="PopperContent",[xY,SY]=Z5(ZC),rO=b.forwardRef((e,t)=>{var se,ve,ue,ye,Ee,Ae;const{__scopePopper:n,side:r="bottom",sideOffset:i=0,align:s="center",alignOffset:o=0,arrowPadding:l=0,avoidCollisions:c=!0,collisionBoundary:d=[],collisionPadding:p=0,sticky:h="partial",hideWhenDetached:g=!1,updatePositionStrategy:v="optimized",onPlaced:_,...x}=e,w=J5(ZC,n),[C,k]=b.useState(null),R=yn(t,De=>k(De)),[T,A]=b.useState(null),N=yY(T),M=(N==null?void 0:N.width)??0,D=(N==null?void 0:N.height)??0,W=r+(s!=="center"?"-"+s:""),I=typeof p=="number"?p:{top:0,right:0,bottom:0,left:0,...p},$=Array.isArray(d)?d:[d],B=$.length>0,j={padding:I,boundary:$.filter(CY),altBoundary:B},{refs:F,floatingStyles:V,placement:z,isPositioned:H,middlewareData:U}=lY({strategy:"fixed",placement:W,whileElementsMounted:(...De)=>ZK(...De,{animationFrame:v==="always"}),elements:{reference:w.anchor},middleware:[uY({mainAxis:i+D,alignmentAxis:o}),c&&dY({mainAxis:!0,crossAxis:!1,limiter:h==="partial"?fY():void 0,...j}),c&&hY({...j}),pY({...j,apply:({elements:De,rects:me,availableWidth:et,availableHeight:Lt})=>{const{width:Ot,height:Yt}=me.reference,Tt=De.floating.style;Tt.setProperty("--radix-popper-available-width",`${et}px`),Tt.setProperty("--radix-popper-available-height",`${Lt}px`),Tt.setProperty("--radix-popper-anchor-width",`${Ot}px`),Tt.setProperty("--radix-popper-anchor-height",`${Yt}px`)}}),T&&gY({element:T,padding:l}),kY({arrowWidth:M,arrowHeight:D}),g&&mY({strategy:"referenceHidden",...j})]}),[Y,P]=oO(z),G=Gs(_);ni(()=>{H&&(G==null||G())},[H,G]);const J=(se=U.arrow)==null?void 0:se.x,O=(ve=U.arrow)==null?void 0:ve.y,ie=((ue=U.arrow)==null?void 0:ue.centerOffset)!==0,[Z,oe]=b.useState();return ni(()=>{C&&oe(window.getComputedStyle(C).zIndex)},[C]),f.jsx("div",{ref:F.setFloating,"data-radix-popper-content-wrapper":"",style:{...V,transform:H?V.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Z,"--radix-popper-transform-origin":[(ye=U.transformOrigin)==null?void 0:ye.x,(Ee=U.transformOrigin)==null?void 0:Ee.y].join(" "),...((Ae=U.hide)==null?void 0:Ae.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:f.jsx(xY,{scope:n,placedSide:Y,onArrowChange:A,arrowX:J,arrowY:O,shouldHideArrow:ie,children:f.jsx(Jt.div,{"data-side":Y,"data-align":P,...x,ref:R,style:{...x.style,animation:H?void 0:"none"}})})})});rO.displayName=ZC;var iO="PopperArrow",wY={top:"bottom",right:"left",bottom:"top",left:"right"},sO=b.forwardRef(function(t,n){const{__scopePopper:r,...i}=t,s=SY(iO,r),o=wY[s.placedSide];return f.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:f.jsx(bY,{...i,ref:n,style:{...i.style,display:"block"}})})});sO.displayName=iO;function CY(e){return e!==null}var kY=e=>({name:"transformOrigin",options:e,fn(t){var w,C,k;const{placement:n,rects:r,middlewareData:i}=t,o=((w=i.arrow)==null?void 0:w.centerOffset)!==0,l=o?0:e.arrowWidth,c=o?0:e.arrowHeight,[d,p]=oO(n),h={start:"0%",center:"50%",end:"100%"}[p],g=(((C=i.arrow)==null?void 0:C.x)??0)+l/2,v=(((k=i.arrow)==null?void 0:k.y)??0)+c/2;let _="",x="";return d==="bottom"?(_=o?h:`${g}px`,x=`${-c}px`):d==="top"?(_=o?h:`${g}px`,x=`${r.floating.height+c}px`):d==="right"?(_=`${-c}px`,x=o?h:`${v}px`):d==="left"&&(_=`${r.floating.width+c}px`,x=o?h:`${v}px`),{data:{x:_,y:x}}}});function oO(e){const[t,n="center"]=e.split("-");return[t,n]}var r0=eO,Tp=nO,i0=rO,s0=sO,aO=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),EY="VisuallyHidden",lO=b.forwardRef((e,t)=>f.jsx(Jt.span,{...e,ref:t,style:{...aO,...e.style}}));lO.displayName=EY;var RY=lO,[o0]=ba("Tooltip",[Ml]),a0=Ml(),cO="TooltipProvider",TY=700,lw="tooltip.open",[AY,JC]=o0(cO),uO=e=>{const{__scopeTooltip:t,delayDuration:n=TY,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:s}=e,o=b.useRef(!0),l=b.useRef(!1),c=b.useRef(0);return b.useEffect(()=>{const d=c.current;return()=>window.clearTimeout(d)},[]),f.jsx(AY,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:b.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:b.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:l,onPointerInTransitChange:b.useCallback(d=>{l.current=d},[]),disableHoverableContent:i,children:s})};uO.displayName=cO;var Gh="Tooltip",[NY,Ap]=o0(Gh),dO=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:s,disableHoverableContent:o,delayDuration:l}=e,c=JC(Gh,e.__scopeTooltip),d=a0(t),[p,h]=b.useState(null),g=ua(),v=b.useRef(0),_=o??c.disableHoverableContent,x=l??c.delayDuration,w=b.useRef(!1),[C,k]=md({prop:r,defaultProp:i??!1,onChange:M=>{M?(c.onOpen(),document.dispatchEvent(new CustomEvent(lw))):c.onClose(),s==null||s(M)},caller:Gh}),R=b.useMemo(()=>C?w.current?"delayed-open":"instant-open":"closed",[C]),T=b.useCallback(()=>{window.clearTimeout(v.current),v.current=0,w.current=!1,k(!0)},[k]),A=b.useCallback(()=>{window.clearTimeout(v.current),v.current=0,k(!1)},[k]),N=b.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{w.current=!0,k(!0),v.current=0},x)},[x,k]);return b.useEffect(()=>()=>{v.current&&(window.clearTimeout(v.current),v.current=0)},[]),f.jsx(r0,{...d,children:f.jsx(NY,{scope:t,contentId:g,open:C,stateAttribute:R,trigger:p,onTriggerChange:h,onTriggerEnter:b.useCallback(()=>{c.isOpenDelayedRef.current?N():T()},[c.isOpenDelayedRef,N,T]),onTriggerLeave:b.useCallback(()=>{_?A():(window.clearTimeout(v.current),v.current=0)},[A,_]),onOpen:T,onClose:A,disableHoverableContent:_,children:n})})};dO.displayName=Gh;var cw="TooltipTrigger",fO=b.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,i=Ap(cw,n),s=JC(cw,n),o=a0(n),l=b.useRef(null),c=yn(t,l,i.onTriggerChange),d=b.useRef(!1),p=b.useRef(!1),h=b.useCallback(()=>d.current=!1,[]);return b.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),f.jsx(Tp,{asChild:!0,...o,children:f.jsx(Jt.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:c,onPointerMove:Ze(e.onPointerMove,g=>{g.pointerType!=="touch"&&!p.current&&!s.isPointerInTransitRef.current&&(i.onTriggerEnter(),p.current=!0)}),onPointerLeave:Ze(e.onPointerLeave,()=>{i.onTriggerLeave(),p.current=!1}),onPointerDown:Ze(e.onPointerDown,()=>{i.open&&i.onClose(),d.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:Ze(e.onFocus,()=>{d.current||i.onOpen()}),onBlur:Ze(e.onBlur,i.onClose),onClick:Ze(e.onClick,i.onClose)})})});fO.displayName=cw;var ek="TooltipPortal",[MY,LY]=o0(ek,{forceMount:void 0}),hO=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,s=Ap(ek,t);return f.jsx(MY,{scope:t,forceMount:n,children:f.jsx(ks,{present:n||s.open,children:f.jsx(jd,{asChild:!0,container:i,children:r})})})};hO.displayName=ek;var vd="TooltipContent",pO=b.forwardRef((e,t)=>{const n=LY(vd,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i="top",...s}=e,o=Ap(vd,e.__scopeTooltip);return f.jsx(ks,{present:r||o.open,children:o.disableHoverableContent?f.jsx(mO,{side:i,...s,ref:t}):f.jsx(DY,{side:i,...s,ref:t})})}),DY=b.forwardRef((e,t)=>{const n=Ap(vd,e.__scopeTooltip),r=JC(vd,e.__scopeTooltip),i=b.useRef(null),s=yn(t,i),[o,l]=b.useState(null),{trigger:c,onClose:d}=n,p=i.current,{onPointerInTransitChange:h}=r,g=b.useCallback(()=>{l(null),h(!1)},[h]),v=b.useCallback((_,x)=>{const w=_.currentTarget,C={x:_.clientX,y:_.clientY},k=zY(C,w.getBoundingClientRect()),R=BY(C,k),T=FY(x.getBoundingClientRect()),A=HY([...R,...T]);l(A),h(!0)},[h]);return b.useEffect(()=>()=>g(),[g]),b.useEffect(()=>{if(c&&p){const _=w=>v(w,p),x=w=>v(w,c);return c.addEventListener("pointerleave",_),p.addEventListener("pointerleave",x),()=>{c.removeEventListener("pointerleave",_),p.removeEventListener("pointerleave",x)}}},[c,p,v,g]),b.useEffect(()=>{if(o){const _=x=>{const w=x.target,C={x:x.clientX,y:x.clientY},k=(c==null?void 0:c.contains(w))||(p==null?void 0:p.contains(w)),R=!$Y(C,o);k?g():R&&(g(),d())};return document.addEventListener("pointermove",_),()=>document.removeEventListener("pointermove",_)}},[c,p,o,d,g]),f.jsx(mO,{...e,ref:s})}),[IY,PY]=o0(Gh,{isInside:!1}),jY=WW("TooltipContent"),mO=b.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:s,onPointerDownOutside:o,...l}=e,c=Ap(vd,n),d=a0(n),{onClose:p}=c;return b.useEffect(()=>(document.addEventListener(lw,p),()=>document.removeEventListener(lw,p)),[p]),b.useEffect(()=>{if(c.trigger){const h=g=>{const v=g.target;v!=null&&v.contains(c.trigger)&&p()};return window.addEventListener("scroll",h,{capture:!0}),()=>window.removeEventListener("scroll",h,{capture:!0})}},[c.trigger,p]),f.jsx(Pd,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:o,onFocusOutside:h=>h.preventDefault(),onDismiss:p,children:f.jsxs(i0,{"data-state":c.stateAttribute,...d,...l,ref:t,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[f.jsx(jY,{children:r}),f.jsx(IY,{scope:n,isInside:!0,children:f.jsx(RY,{id:c.contentId,role:"tooltip",children:i||r})})]})})});pO.displayName=vd;var gO="TooltipArrow",OY=b.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,i=a0(n);return PY(gO,n).isInside?null:f.jsx(s0,{...i,...r,ref:t})});OY.displayName=gO;function zY(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(n,r,i,s)){case s:return"left";case i:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function BY(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function FY(e){const{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function $Y(e,t){const{x:n,y:r}=e;let i=!1;for(let s=0,o=t.length-1;s<t.length;o=s++){const l=t[s],c=t[o],d=l.x,p=l.y,h=c.x,g=c.y;p>r!=g>r&&n<(h-d)*(r-p)/(g-p)+d&&(i=!i)}return i}function HY(e){const t=e.slice();return t.sort((n,r)=>n.x<r.x?-1:n.x>r.x?1:n.y<r.y?-1:n.y>r.y?1:0),UY(t)}function UY(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const i=e[r];for(;t.length>=2;){const s=t[t.length-1],o=t[t.length-2];if((s.x-o.x)*(i.y-o.y)>=(s.y-o.y)*(i.x-o.x))t.pop();else break}t.push(i)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const i=e[r];for(;n.length>=2;){const s=n[n.length-1],o=n[n.length-2];if((s.x-o.x)*(i.y-o.y)>=(s.y-o.y)*(i.x-o.x))n.pop();else break}n.push(i)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var VY=uO,vO=dO,bO=fO,yO=hO,tk=pO;function _O({className:e,...t}){return f.jsx("kbd",{className:he("pointer-events-none inline-flex h-5 min-w-5 items-center justify-center rounded border border-border/60 bg-muted/50 px-1.5 font-mono text-[11px] font-medium text-current select-none",e),...t})}function WY({className:e,...t}){return f.jsx("span",{className:he("inline-flex items-center gap-0.5",e),...t})}const GY="z-50 overflow-hidden rounded-md border border-border bg-card p-0.5 text-[11px] font-medium text-card-foreground shadow-sm animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",nk=VY,ei=vO,ti=bO,Gr=b.forwardRef(({className:e,sideOffset:t=4,...n},r)=>f.jsx(yO,{children:f.jsx(tk,{ref:r,sideOffset:t,className:he("z-50 overflow-hidden rounded-md bg-card text-card-foreground border border-border px-3 py-1.5 text-xs animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n})}));Gr.displayName=tk.displayName;const Wv=vO,Gv=bO;function xO(e){return e.toUpperCase()}function qY(e){const t=e.split("+");return f.jsx(WY,{children:t.map((n,r)=>f.jsx(_O,{children:xO(n)},`${n}-${r}`))})}const qh=b.forwardRef(({className:e,sideOffset:t=4,children:n,shortcut:r,...i},s)=>{const o=r===void 0?null:Array.isArray(r)?r[0]??null:r;return f.jsx(yO,{children:f.jsx(tk,{ref:s,sideOffset:t,className:he(GY,e),...i,children:o?qY(o):f.jsx("span",{children:typeof n=="string"?xO(n):n})})})});qh.displayName="HotkeyTooltipContent";const KY="modulepreload",YY=function(e){return"/"+e},UN={},K=function(t,n,r){let i=Promise.resolve();if(n&&n.length>0){let o=function(d){return Promise.all(d.map(p=>Promise.resolve(p).then(h=>({status:"fulfilled",value:h}),h=>({status:"rejected",reason:h}))))};document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),c=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));i=o(n.map(d=>{if(d=YY(d),d in UN)return;UN[d]=!0;const p=d.endsWith(".css"),h=p?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${h}`))return;const g=document.createElement("link");if(g.rel=p?"stylesheet":KY,p||(g.as="script"),g.crossOrigin="",g.href=d,c&&g.setAttribute("nonce",c),document.head.appendChild(g),p)return new Promise((v,_)=>{g.addEventListener("load",v),g.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${d}`)))})}))}function s(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&s(l.reason);return t().catch(s)})},XY=b.lazy(()=>K(()=>import("./index-DnUvOgou.js"),[]).then(e=>({default:e.Toaster})));function QY(){return f.jsx(b.Suspense,{fallback:null,children:f.jsx(XY,{position:"bottom-right",theme:"system",closeButton:!0,duration:6e3})})}const ZY="0.47.1",JY={version:ZY},tr="Kanna",VN="kanna",eX=".kanna",tX=".kanna-dev",nX="KANNA_RUNTIME_PROFILE",rk=`kanna/${JY.version}`,rX="[kanna]",iX=`~/${tr}`;function l0(){var t;return(t=globalThis.process)==null?void 0:t.env}function sX(e=l0()){var t;return((t=e==null?void 0:e[nX])==null?void 0:t.trim().toLowerCase())==="dev"?"dev":"prod"}function oX(e=l0()){return sX(e)==="dev"?tX:eX}function aX(e=l0()){return`~/${oX(e)}`}function lX(e=l0()){return`${aX(e)}/keybindings.json`}function hg(e){return e?`${VN} ${e}`:VN}const WN=e=>{let t;const n=new Set,r=(d,p)=>{const h=typeof d=="function"?d(t):d;if(!Object.is(h,t)){const g=t;t=p??(typeof h!="object"||h===null)?h:Object.assign({},t,h),n.forEach(v=>v(t,g))}},i=()=>t,l={setState:r,getState:i,getInitialState:()=>c,subscribe:d=>(n.add(d),()=>n.delete(d))},c=t=e(r,i,l);return l},cX=(e=>e?WN(e):WN),uX=e=>e;function dX(e,t=uX){const n=An.useSyncExternalStore(e.subscribe,An.useCallback(()=>t(e.getState()),[e,t]),An.useCallback(()=>t(e.getInitialState()),[e,t]));return An.useDebugValue(n),n}const fX=e=>{const t=cX(e),n=r=>dX(t,r);return Object.assign(n,t),n},Js=(e=>fX),SO="always",wO="funk",hX=[{value:"blow",label:"Blow"},{value:"bottle",label:"Bottle"},{value:"frog",label:"Frog"},{value:"funk",label:"Funk"},{value:"glass",label:"Glass"},{value:"ping",label:"Ping"},{value:"pop",label:"Pop"},{value:"purr",label:"Purr"},{value:"tink",label:"Tink"}];function pX(e){switch(e){case"never":case"unfocused":case"always":return e;default:return SO}}function mX(e){switch(e){case"blow":case"bottle":case"frog":case"funk":case"glass":case"ping":case"pop":case"purr":case"tink":return e;default:return wO}}const gc=Js()(e=>({chatSoundPreference:SO,chatSoundId:wO,setChatSoundPreference:t=>e({chatSoundPreference:pX(t)}),setChatSoundId:t=>e({chatSoundId:mX(t)})})),gX={blow:"/chat-sounds/Blow.mp3",bottle:"/chat-sounds/Bottle.mp3",frog:"/chat-sounds/Frog.mp3",funk:"/chat-sounds/Funk.mp3",glass:"/chat-sounds/Glass.mp3",ping:"/chat-sounds/Ping.mp3",pop:"/chat-sounds/Pop.mp3",purr:"/chat-sounds/Purr.mp3",tink:"/chat-sounds/Tink.mp3"};function vX(e=document){return e.visibilityState!=="visible"||!e.hasFocus()}function bX(e){const t=new Audio(gX[e]);return t.preload="auto",t.play()}async function uw(e,t){if(t<=0)return;const n=Array.from({length:t},(r,i)=>new Promise(s=>{window.setTimeout(()=>{bX(e).catch(()=>{}).finally(()=>s())},i*90)}));await Promise.all(n)}function yX(e,t=document){return e==="never"?!1:e==="always"?!0:vX(t)}function _X(e){return e.projectGroups.reduce((t,n)=>t+n.chats.reduce((r,i)=>r+(i.unread?1:0)+(i.status==="waiting_for_user"?1:0),0),0)}function GN(e){let t=0;const n=new Set;for(const r of e.projectGroups)for(const i of r.chats)i.unread&&(t+=1),i.status==="waiting_for_user"&&n.add(i.chatId);return{unreadCount:t,waitingChatIds:n}}function xX(e,t){if(!e)return 0;const n=GN(e),r=GN(t),i=Math.max(0,r.unreadCount-n.unreadCount);let s=0;for(const o of r.waitingChatIds)n.waitingChatIds.has(o)||(s+=1);return i+s}function dw(e){return e.split(/[\s_-]+/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" ")}const SX=[/^(?:\/usr\/bin\/env\s+)?(?:\/bin\/)?(?:bash|zsh|sh)\s+(?:-[a-zA-Z]*c|-c)\s+(['"])([\s\S]*)\1$/,/^(?:\/usr\/bin\/env\s+)?(?:\/bin\/)?(?:bash|zsh|sh)\s+(?:-[a-zA-Z]*c|-c)\s+(.+)$/,/^(?:\/usr\/bin\/env\s+)?(?:cmd(?:\.exe)?)\s+\/c\s+(['"])([\s\S]*)\1$/i,/^(?:\/usr\/bin\/env\s+)?(?:cmd(?:\.exe)?)\s+\/c\s+(.+)$/i,/^(?:\/usr\/bin\/env\s+)?(?:powershell(?:\.exe)?|pwsh)\s+(?:-NoProfile\s+)?-Command\s+(['"])([\s\S]*)\1$/i,/^(?:\/usr\/bin\/env\s+)?(?:powershell(?:\.exe)?|pwsh)\s+(?:-NoProfile\s+)?-Command\s+(.+)$/i];function wX(e){const t=e.trim();for(const n of SX){const r=t.match(n);if(!r)continue;const i=(r[2]??r[1]??"").trim();if(i)return i}return t}function ik(e){return e.split("/").pop()||e}const CX=1440*6e4;function kX(e,t){const n=Math.max(0,t-e),r=Math.floor(n/1e3),i=Math.floor(r/3600),s=Math.floor(r%3600/60),o=r%60;return i>0?`${i}h ${s}m`:s>0?`${s}m ${o}s`:`${o}s`}function EX(e){const t=new Date(e),n=t.getHours().toString().padStart(2,"0"),r=t.getMinutes().toString().padStart(2,"0");return`${n}:${r}`}function RX(e,t){if(e===void 0)return null;const n=Math.max(0,t-e),r=6e4,i=60*r,s=CX,o=7*s;return n<r?"now":n<i?`${Math.floor(n/r)}m`:n<s?`${Math.floor(n/i)}h`:n<o?`${Math.floor(n/s)}d`:`${Math.floor(n/o)}w`}function TX(e){return e.lastMessageAt??e._creationTime}const Fd=({children:e,className:t,animate:n=!0,shimmerWidth:r,...i})=>f.jsx("span",{className:he("mx-auto max-w-md text-foreground/60",n&&"animate-shiny-pulse",t),...i,children:e}),sk=1e3,fv=60*sk,Qu=60*fv,yx=24*Qu;function ul(e){const t=Math.max(0,e);if(t<fv)return`${Math.floor(t/sk)}s`;if(t<Qu)return`${Math.floor(t/fv)}m`;if(t<yx){const i=Math.floor(t/Qu),s=Math.floor(t%Qu/fv);return s===0?`${i}h`:`${i}h ${s}m`}const n=Math.floor(t/yx),r=Math.floor(t%yx/Qu);return r===0?`${n}d`:`${n}d ${r}h`}function fw(e){const t=Math.max(0,e);if(t>=Qu)return ul(t);const n=Math.floor(t/sk),r=Math.floor(n/60),i=n%60;return`${r}:${i.toString().padStart(2,"0")}`}function hw(e){switch(e){case"idle":return"Idle";case"starting":return"Starting";case"running":return"Running";case"waiting_for_user":return"Waiting";case"failed":return"Failed"}}function pw(e){switch(e){case"running":return"active";case"waiting_for_user":return"attention";case"failed":return"destructive";case"idle":case"starting":default:return"muted"}}function mw(e){switch(e){case"active":return"text-emerald-500 dark:text-emerald-400";case"attention":return"text-amber-500 dark:text-amber-400";case"destructive":return"text-destructive";case"muted":default:return"text-muted-foreground"}}function ok(e){const t=e+"CollectionProvider",[n,r]=ba(t),[i,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=x=>{const{scope:w,children:C}=x,k=An.useRef(null),R=An.useRef(new Map).current;return f.jsx(i,{scope:w,itemMap:R,collectionRef:k,children:C})};o.displayName=t;const l=e+"CollectionSlot",c=Ec(l),d=An.forwardRef((x,w)=>{const{scope:C,children:k}=x,R=s(l,C),T=yn(w,R.collectionRef);return f.jsx(c,{ref:T,children:k})});d.displayName=l;const p=e+"CollectionItemSlot",h="data-radix-collection-item",g=Ec(p),v=An.forwardRef((x,w)=>{const{scope:C,children:k,...R}=x,T=An.useRef(null),A=yn(w,T),N=s(p,C);return An.useEffect(()=>(N.itemMap.set(T,{ref:T,...R}),()=>void N.itemMap.delete(T))),f.jsx(g,{[h]:"",ref:A,children:k})});v.displayName=p;function _(x){const w=s(e+"CollectionConsumer",x);return An.useCallback(()=>{const k=w.collectionRef.current;if(!k)return[];const R=Array.from(k.querySelectorAll(`[${h}]`));return Array.from(w.itemMap.values()).sort((N,M)=>R.indexOf(N.ref.current)-R.indexOf(M.ref.current))},[w.collectionRef,w.itemMap])}return[{Provider:o,Slot:d,ItemSlot:v},_,r]}var AX=b.createContext(void 0);function ak(e){const t=b.useContext(AX);return e||t||"ltr"}var _x="rovingFocusGroup.onEntryFocus",NX={bubbles:!1,cancelable:!0},Np="RovingFocusGroup",[gw,CO,MX]=ok(Np),[LX,kO]=ba(Np,[MX]),[DX,IX]=LX(Np),EO=b.forwardRef((e,t)=>f.jsx(gw.Provider,{scope:e.__scopeRovingFocusGroup,children:f.jsx(gw.Slot,{scope:e.__scopeRovingFocusGroup,children:f.jsx(PX,{...e,ref:t})})}));EO.displayName=Np;var PX=b.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:s,currentTabStopId:o,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:c,onEntryFocus:d,preventScrollOnEntryFocus:p=!1,...h}=e,g=b.useRef(null),v=yn(t,g),_=ak(s),[x,w]=md({prop:o,defaultProp:l??null,onChange:c,caller:Np}),[C,k]=b.useState(!1),R=Gs(d),T=CO(n),A=b.useRef(!1),[N,M]=b.useState(0);return b.useEffect(()=>{const D=g.current;if(D)return D.addEventListener(_x,R),()=>D.removeEventListener(_x,R)},[R]),f.jsx(DX,{scope:n,orientation:r,dir:_,loop:i,currentTabStopId:x,onItemFocus:b.useCallback(D=>w(D),[w]),onItemShiftTab:b.useCallback(()=>k(!0),[]),onFocusableItemAdd:b.useCallback(()=>M(D=>D+1),[]),onFocusableItemRemove:b.useCallback(()=>M(D=>D-1),[]),children:f.jsx(Jt.div,{tabIndex:C||N===0?-1:0,"data-orientation":r,...h,ref:v,style:{outline:"none",...e.style},onMouseDown:Ze(e.onMouseDown,()=>{A.current=!0}),onFocus:Ze(e.onFocus,D=>{const W=!A.current;if(D.target===D.currentTarget&&W&&!C){const I=new CustomEvent(_x,NX);if(D.currentTarget.dispatchEvent(I),!I.defaultPrevented){const $=T().filter(z=>z.focusable),B=$.find(z=>z.active),j=$.find(z=>z.id===x),V=[B,j,...$].filter(Boolean).map(z=>z.ref.current);AO(V,p)}}A.current=!1}),onBlur:Ze(e.onBlur,()=>k(!1))})})}),RO="RovingFocusGroupItem",TO=b.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:s,children:o,...l}=e,c=ua(),d=s||c,p=IX(RO,n),h=p.currentTabStopId===d,g=CO(n),{onFocusableItemAdd:v,onFocusableItemRemove:_,currentTabStopId:x}=p;return b.useEffect(()=>{if(r)return v(),()=>_()},[r,v,_]),f.jsx(gw.ItemSlot,{scope:n,id:d,focusable:r,active:i,children:f.jsx(Jt.span,{tabIndex:h?0:-1,"data-orientation":p.orientation,...l,ref:t,onMouseDown:Ze(e.onMouseDown,w=>{r?p.onItemFocus(d):w.preventDefault()}),onFocus:Ze(e.onFocus,()=>p.onItemFocus(d)),onKeyDown:Ze(e.onKeyDown,w=>{if(w.key==="Tab"&&w.shiftKey){p.onItemShiftTab();return}if(w.target!==w.currentTarget)return;const C=zX(w,p.orientation,p.dir);if(C!==void 0){if(w.metaKey||w.ctrlKey||w.altKey||w.shiftKey)return;w.preventDefault();let R=g().filter(T=>T.focusable).map(T=>T.ref.current);if(C==="last")R.reverse();else if(C==="prev"||C==="next"){C==="prev"&&R.reverse();const T=R.indexOf(w.currentTarget);R=p.loop?BX(R,T+1):R.slice(T+1)}setTimeout(()=>AO(R))}}),children:typeof o=="function"?o({isCurrentTabStop:h,hasTabStop:x!=null}):o})})});TO.displayName=RO;var jX={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function OX(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function zX(e,t,n){const r=OX(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return jX[r]}function AO(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function BX(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var FX=EO,$X=TO,vw=["Enter"," "],HX=["ArrowDown","PageUp","Home"],NO=["ArrowUp","PageDown","End"],UX=[...HX,...NO],VX={ltr:[...vw,"ArrowRight"],rtl:[...vw,"ArrowLeft"]},WX={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Mp="Menu",[Kh,GX,qX]=ok(Mp),[$c,MO]=ba(Mp,[qX,Ml,kO]),c0=Ml(),LO=kO(),[KX,Hc]=$c(Mp),[YX,Lp]=$c(Mp),DO=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:s,modal:o=!0}=e,l=c0(t),[c,d]=b.useState(null),p=b.useRef(!1),h=Gs(s),g=ak(i);return b.useEffect(()=>{const v=()=>{p.current=!0,document.addEventListener("pointerdown",_,{capture:!0,once:!0}),document.addEventListener("pointermove",_,{capture:!0,once:!0})},_=()=>p.current=!1;return document.addEventListener("keydown",v,{capture:!0}),()=>{document.removeEventListener("keydown",v,{capture:!0}),document.removeEventListener("pointerdown",_,{capture:!0}),document.removeEventListener("pointermove",_,{capture:!0})}},[]),f.jsx(r0,{...l,children:f.jsx(KX,{scope:t,open:n,onOpenChange:h,content:c,onContentChange:d,children:f.jsx(YX,{scope:t,onClose:b.useCallback(()=>h(!1),[h]),isUsingKeyboardRef:p,dir:g,modal:o,children:r})})})};DO.displayName=Mp;var XX="MenuAnchor",lk=b.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,i=c0(n);return f.jsx(Tp,{...i,...r,ref:t})});lk.displayName=XX;var ck="MenuPortal",[QX,IO]=$c(ck,{forceMount:void 0}),PO=e=>{const{__scopeMenu:t,forceMount:n,children:r,container:i}=e,s=Hc(ck,t);return f.jsx(QX,{scope:t,forceMount:n,children:f.jsx(ks,{present:n||s.open,children:f.jsx(jd,{asChild:!0,container:i,children:r})})})};PO.displayName=ck;var _s="MenuContent",[ZX,uk]=$c(_s),jO=b.forwardRef((e,t)=>{const n=IO(_s,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,s=Hc(_s,e.__scopeMenu),o=Lp(_s,e.__scopeMenu);return f.jsx(Kh.Provider,{scope:e.__scopeMenu,children:f.jsx(ks,{present:r||s.open,children:f.jsx(Kh.Slot,{scope:e.__scopeMenu,children:o.modal?f.jsx(JX,{...i,ref:t}):f.jsx(eQ,{...i,ref:t})})})})}),JX=b.forwardRef((e,t)=>{const n=Hc(_s,e.__scopeMenu),r=b.useRef(null),i=yn(t,r);return b.useEffect(()=>{const s=r.current;if(s)return Xb(s)},[]),f.jsx(dk,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:Ze(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),eQ=b.forwardRef((e,t)=>{const n=Hc(_s,e.__scopeMenu);return f.jsx(dk,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),tQ=Ec("MenuContent.ScrollLock"),dk=b.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:s,onCloseAutoFocus:o,disableOutsidePointerEvents:l,onEntryFocus:c,onEscapeKeyDown:d,onPointerDownOutside:p,onFocusOutside:h,onInteractOutside:g,onDismiss:v,disableOutsideScroll:_,...x}=e,w=Hc(_s,n),C=Lp(_s,n),k=c0(n),R=LO(n),T=GX(n),[A,N]=b.useState(null),M=b.useRef(null),D=yn(t,M,w.onContentChange),W=b.useRef(0),I=b.useRef(""),$=b.useRef(0),B=b.useRef(null),j=b.useRef("right"),F=b.useRef(0),V=_?kp:b.Fragment,z=_?{as:tQ,allowPinchZoom:!0}:void 0,H=Y=>{var se,ve;const P=I.current+Y,G=T().filter(ue=>!ue.disabled),J=document.activeElement,O=(se=G.find(ue=>ue.ref.current===J))==null?void 0:se.textValue,ie=G.map(ue=>ue.textValue),Z=hQ(ie,P,O),oe=(ve=G.find(ue=>ue.textValue===Z))==null?void 0:ve.ref.current;(function ue(ye){I.current=ye,window.clearTimeout(W.current),ye!==""&&(W.current=window.setTimeout(()=>ue(""),1e3))})(P),oe&&setTimeout(()=>oe.focus())};b.useEffect(()=>()=>window.clearTimeout(W.current),[]),Kb();const U=b.useCallback(Y=>{var G,J;return j.current===((G=B.current)==null?void 0:G.side)&&mQ(Y,(J=B.current)==null?void 0:J.area)},[]);return f.jsx(ZX,{scope:n,searchRef:I,onItemEnter:b.useCallback(Y=>{U(Y)&&Y.preventDefault()},[U]),onItemLeave:b.useCallback(Y=>{var P;U(Y)||((P=M.current)==null||P.focus(),N(null))},[U]),onTriggerLeave:b.useCallback(Y=>{U(Y)&&Y.preventDefault()},[U]),pointerGraceTimerRef:$,onPointerGraceIntentChange:b.useCallback(Y=>{B.current=Y},[]),children:f.jsx(V,{...z,children:f.jsx(Cp,{asChild:!0,trapped:i,onMountAutoFocus:Ze(s,Y=>{var P;Y.preventDefault(),(P=M.current)==null||P.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:f.jsx(Pd,{asChild:!0,disableOutsidePointerEvents:l,onEscapeKeyDown:d,onPointerDownOutside:p,onFocusOutside:h,onInteractOutside:g,onDismiss:v,children:f.jsx(FX,{asChild:!0,...R,dir:C.dir,orientation:"vertical",loop:r,currentTabStopId:A,onCurrentTabStopIdChange:N,onEntryFocus:Ze(c,Y=>{C.isUsingKeyboardRef.current||Y.preventDefault()}),preventScrollOnEntryFocus:!0,children:f.jsx(i0,{role:"menu","aria-orientation":"vertical","data-state":ZO(w.open),"data-radix-menu-content":"",dir:C.dir,...k,...x,ref:D,style:{outline:"none",...x.style},onKeyDown:Ze(x.onKeyDown,Y=>{const G=Y.target.closest("[data-radix-menu-content]")===Y.currentTarget,J=Y.ctrlKey||Y.altKey||Y.metaKey,O=Y.key.length===1;G&&(Y.key==="Tab"&&Y.preventDefault(),!J&&O&&H(Y.key));const ie=M.current;if(Y.target!==ie||!UX.includes(Y.key))return;Y.preventDefault();const oe=T().filter(se=>!se.disabled).map(se=>se.ref.current);NO.includes(Y.key)&&oe.reverse(),dQ(oe)}),onBlur:Ze(e.onBlur,Y=>{Y.currentTarget.contains(Y.target)||(window.clearTimeout(W.current),I.current="")}),onPointerMove:Ze(e.onPointerMove,Yh(Y=>{const P=Y.target,G=F.current!==Y.clientX;if(Y.currentTarget.contains(P)&&G){const J=Y.clientX>F.current?"right":"left";j.current=J,F.current=Y.clientX}}))})})})})})})});jO.displayName=_s;var nQ="MenuGroup",fk=b.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return f.jsx(Jt.div,{role:"group",...r,ref:t})});fk.displayName=nQ;var rQ="MenuLabel",OO=b.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return f.jsx(Jt.div,{...r,ref:t})});OO.displayName=rQ;var qv="MenuItem",qN="menu.itemSelect",u0=b.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...i}=e,s=b.useRef(null),o=Lp(qv,e.__scopeMenu),l=uk(qv,e.__scopeMenu),c=yn(t,s),d=b.useRef(!1),p=()=>{const h=s.current;if(!n&&h){const g=new CustomEvent(qN,{bubbles:!0,cancelable:!0});h.addEventListener(qN,v=>r==null?void 0:r(v),{once:!0}),Hj(h,g),g.defaultPrevented?d.current=!1:o.onClose()}};return f.jsx(zO,{...i,ref:c,disabled:n,onClick:Ze(e.onClick,p),onPointerDown:h=>{var g;(g=e.onPointerDown)==null||g.call(e,h),d.current=!0},onPointerUp:Ze(e.onPointerUp,h=>{var g;d.current||(g=h.currentTarget)==null||g.click()}),onKeyDown:Ze(e.onKeyDown,h=>{const g=l.searchRef.current!=="";n||g&&h.key===" "||vw.includes(h.key)&&(h.currentTarget.click(),h.preventDefault())})})});u0.displayName=qv;var zO=b.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:i,...s}=e,o=uk(qv,n),l=LO(n),c=b.useRef(null),d=yn(t,c),[p,h]=b.useState(!1),[g,v]=b.useState("");return b.useEffect(()=>{const _=c.current;_&&v((_.textContent??"").trim())},[s.children]),f.jsx(Kh.ItemSlot,{scope:n,disabled:r,textValue:i??g,children:f.jsx($X,{asChild:!0,...l,focusable:!r,children:f.jsx(Jt.div,{role:"menuitem","data-highlighted":p?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...s,ref:d,onPointerMove:Ze(e.onPointerMove,Yh(_=>{r?o.onItemLeave(_):(o.onItemEnter(_),_.defaultPrevented||_.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Ze(e.onPointerLeave,Yh(_=>o.onItemLeave(_))),onFocus:Ze(e.onFocus,()=>h(!0)),onBlur:Ze(e.onBlur,()=>h(!1))})})})}),iQ="MenuCheckboxItem",BO=b.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:r,...i}=e;return f.jsx(VO,{scope:e.__scopeMenu,checked:n,children:f.jsx(u0,{role:"menuitemcheckbox","aria-checked":Kv(n)?"mixed":n,...i,ref:t,"data-state":pk(n),onSelect:Ze(i.onSelect,()=>r==null?void 0:r(Kv(n)?!0:!n),{checkForDefaultPrevented:!1})})})});BO.displayName=iQ;var FO="MenuRadioGroup",[sQ,oQ]=$c(FO,{value:void 0,onValueChange:()=>{}}),$O=b.forwardRef((e,t)=>{const{value:n,onValueChange:r,...i}=e,s=Gs(r);return f.jsx(sQ,{scope:e.__scopeMenu,value:n,onValueChange:s,children:f.jsx(fk,{...i,ref:t})})});$O.displayName=FO;var HO="MenuRadioItem",UO=b.forwardRef((e,t)=>{const{value:n,...r}=e,i=oQ(HO,e.__scopeMenu),s=n===i.value;return f.jsx(VO,{scope:e.__scopeMenu,checked:s,children:f.jsx(u0,{role:"menuitemradio","aria-checked":s,...r,ref:t,"data-state":pk(s),onSelect:Ze(r.onSelect,()=>{var o;return(o=i.onValueChange)==null?void 0:o.call(i,n)},{checkForDefaultPrevented:!1})})})});UO.displayName=HO;var hk="MenuItemIndicator",[VO,aQ]=$c(hk,{checked:!1}),WO=b.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:r,...i}=e,s=aQ(hk,n);return f.jsx(ks,{present:r||Kv(s.checked)||s.checked===!0,children:f.jsx(Jt.span,{...i,ref:t,"data-state":pk(s.checked)})})});WO.displayName=hk;var lQ="MenuSeparator",GO=b.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return f.jsx(Jt.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});GO.displayName=lQ;var cQ="MenuArrow",qO=b.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,i=c0(n);return f.jsx(s0,{...i,...r,ref:t})});qO.displayName=cQ;var uQ="MenuSub",[Vke,KO]=$c(uQ),mh="MenuSubTrigger",YO=b.forwardRef((e,t)=>{const n=Hc(mh,e.__scopeMenu),r=Lp(mh,e.__scopeMenu),i=KO(mh,e.__scopeMenu),s=uk(mh,e.__scopeMenu),o=b.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:c}=s,d={__scopeMenu:e.__scopeMenu},p=b.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return b.useEffect(()=>p,[p]),b.useEffect(()=>{const h=l.current;return()=>{window.clearTimeout(h),c(null)}},[l,c]),f.jsx(lk,{asChild:!0,...d,children:f.jsx(zO,{id:i.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":i.contentId,"data-state":ZO(n.open),...e,ref:LC(t,i.onTriggerChange),onClick:h=>{var g;(g=e.onClick)==null||g.call(e,h),!(e.disabled||h.defaultPrevented)&&(h.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:Ze(e.onPointerMove,Yh(h=>{s.onItemEnter(h),!h.defaultPrevented&&!e.disabled&&!n.open&&!o.current&&(s.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),p()},100))})),onPointerLeave:Ze(e.onPointerLeave,Yh(h=>{var v,_;p();const g=(v=n.content)==null?void 0:v.getBoundingClientRect();if(g){const x=(_=n.content)==null?void 0:_.dataset.side,w=x==="right",C=w?-5:5,k=g[w?"left":"right"],R=g[w?"right":"left"];s.onPointerGraceIntentChange({area:[{x:h.clientX+C,y:h.clientY},{x:k,y:g.top},{x:R,y:g.top},{x:R,y:g.bottom},{x:k,y:g.bottom}],side:x}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(h),h.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:Ze(e.onKeyDown,h=>{var v;const g=s.searchRef.current!=="";e.disabled||g&&h.key===" "||VX[r.dir].includes(h.key)&&(n.onOpenChange(!0),(v=n.content)==null||v.focus(),h.preventDefault())})})})});YO.displayName=mh;var XO="MenuSubContent",QO=b.forwardRef((e,t)=>{const n=IO(_s,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,s=Hc(_s,e.__scopeMenu),o=Lp(_s,e.__scopeMenu),l=KO(XO,e.__scopeMenu),c=b.useRef(null),d=yn(t,c);return f.jsx(Kh.Provider,{scope:e.__scopeMenu,children:f.jsx(ks,{present:r||s.open,children:f.jsx(Kh.Slot,{scope:e.__scopeMenu,children:f.jsx(dk,{id:l.contentId,"aria-labelledby":l.triggerId,...i,ref:d,align:"start",side:o.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:p=>{var h;o.isUsingKeyboardRef.current&&((h=c.current)==null||h.focus()),p.preventDefault()},onCloseAutoFocus:p=>p.preventDefault(),onFocusOutside:Ze(e.onFocusOutside,p=>{p.target!==l.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:Ze(e.onEscapeKeyDown,p=>{o.onClose(),p.preventDefault()}),onKeyDown:Ze(e.onKeyDown,p=>{var v;const h=p.currentTarget.contains(p.target),g=WX[o.dir].includes(p.key);h&&g&&(s.onOpenChange(!1),(v=l.trigger)==null||v.focus(),p.preventDefault())})})})})})});QO.displayName=XO;function ZO(e){return e?"open":"closed"}function Kv(e){return e==="indeterminate"}function pk(e){return Kv(e)?"indeterminate":e?"checked":"unchecked"}function dQ(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function fQ(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function hQ(e,t,n){const i=t.length>1&&Array.from(t).every(d=>d===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let o=fQ(e,Math.max(s,0));i.length===1&&(o=o.filter(d=>d!==n));const c=o.find(d=>d.toLowerCase().startsWith(i.toLowerCase()));return c!==n?c:void 0}function pQ(e,t){const{x:n,y:r}=e;let i=!1;for(let s=0,o=t.length-1;s<t.length;o=s++){const l=t[s],c=t[o],d=l.x,p=l.y,h=c.x,g=c.y;p>r!=g>r&&n<(h-d)*(r-p)/(g-p)+d&&(i=!i)}return i}function mQ(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return pQ(n,t)}function Yh(e){return t=>t.pointerType==="mouse"?e(t):void 0}var gQ=DO,vQ=lk,bQ=PO,yQ=jO,_Q=fk,xQ=OO,SQ=u0,wQ=BO,CQ=$O,kQ=UO,EQ=WO,RQ=GO,TQ=qO,AQ=YO,NQ=QO,mk="ContextMenu",[MQ]=ba(mk,[MO]),mi=MO(),[LQ,JO]=MQ(mk),e3=e=>{const{__scopeContextMenu:t,children:n,onOpenChange:r,dir:i,modal:s=!0}=e,[o,l]=b.useState(!1),c=mi(t),d=Gs(r),p=b.useCallback(h=>{l(h),d(h)},[d]);return f.jsx(LQ,{scope:t,open:o,onOpenChange:p,modal:s,children:f.jsx(gQ,{...c,dir:i,open:o,onOpenChange:p,modal:s,children:n})})};e3.displayName=mk;var t3="ContextMenuTrigger",n3=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,disabled:r=!1,...i}=e,s=JO(t3,n),o=mi(n),l=b.useRef({x:0,y:0}),c=b.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...l.current})}),d=b.useRef(0),p=b.useCallback(()=>window.clearTimeout(d.current),[]),h=g=>{l.current={x:g.clientX,y:g.clientY},s.onOpenChange(!0)};return b.useEffect(()=>p,[p]),b.useEffect(()=>void(r&&p()),[r,p]),f.jsxs(f.Fragment,{children:[f.jsx(vQ,{...o,virtualRef:c}),f.jsx(Jt.span,{"data-state":s.open?"open":"closed","data-disabled":r?"":void 0,...i,ref:t,style:{WebkitTouchCallout:"none",...e.style},onContextMenu:r?e.onContextMenu:Ze(e.onContextMenu,g=>{p(),h(g),g.preventDefault()}),onPointerDown:r?e.onPointerDown:Ze(e.onPointerDown,pg(g=>{p(),d.current=window.setTimeout(()=>h(g),700)})),onPointerMove:r?e.onPointerMove:Ze(e.onPointerMove,pg(p)),onPointerCancel:r?e.onPointerCancel:Ze(e.onPointerCancel,pg(p)),onPointerUp:r?e.onPointerUp:Ze(e.onPointerUp,pg(p))})]})});n3.displayName=t3;var DQ="ContextMenuPortal",r3=e=>{const{__scopeContextMenu:t,...n}=e,r=mi(t);return f.jsx(bQ,{...r,...n})};r3.displayName=DQ;var i3="ContextMenuContent",s3=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=JO(i3,n),s=mi(n),o=b.useRef(!1);return f.jsx(yQ,{...s,...r,ref:t,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:l=>{var c;(c=e.onCloseAutoFocus)==null||c.call(e,l),!l.defaultPrevented&&o.current&&l.preventDefault(),o.current=!1},onInteractOutside:l=>{var c;(c=e.onInteractOutside)==null||c.call(e,l),!l.defaultPrevented&&!i.modal&&(o.current=!0)},style:{...e.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});s3.displayName=i3;var IQ="ContextMenuGroup",PQ=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(_Q,{...i,...r,ref:t})});PQ.displayName=IQ;var jQ="ContextMenuLabel",OQ=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(xQ,{...i,...r,ref:t})});OQ.displayName=jQ;var zQ="ContextMenuItem",o3=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(SQ,{...i,...r,ref:t})});o3.displayName=zQ;var BQ="ContextMenuCheckboxItem",FQ=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(wQ,{...i,...r,ref:t})});FQ.displayName=BQ;var $Q="ContextMenuRadioGroup",HQ=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(CQ,{...i,...r,ref:t})});HQ.displayName=$Q;var UQ="ContextMenuRadioItem",VQ=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(kQ,{...i,...r,ref:t})});VQ.displayName=UQ;var WQ="ContextMenuItemIndicator",GQ=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(EQ,{...i,...r,ref:t})});GQ.displayName=WQ;var qQ="ContextMenuSeparator",a3=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(RQ,{...i,...r,ref:t})});a3.displayName=qQ;var KQ="ContextMenuArrow",YQ=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(TQ,{...i,...r,ref:t})});YQ.displayName=KQ;var XQ="ContextMenuSubTrigger",QQ=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(AQ,{...i,...r,ref:t})});QQ.displayName=XQ;var ZQ="ContextMenuSubContent",JQ=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(NQ,{...i,...r,ref:t,style:{...e.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});JQ.displayName=ZQ;function pg(e){return t=>t.pointerType!=="mouse"?e(t):void 0}var eZ=e3,tZ=n3,nZ=r3,l3=s3,c3=o3,u3=a3;const d3=b.createContext(null);function $d({onOpenChange:e,...t}){const[n,r]=b.useState(0),i=b.useCallback(()=>{r(s=>s+1),e==null||e(!1)},[e]);return f.jsx(d3.Provider,{value:i,children:f.jsx(eZ,{onOpenChange:e,...t},n)})}const Hd=tZ,Uc=b.forwardRef(({className:e,...t},n)=>f.jsx(nZ,{children:f.jsx(l3,{ref:n,className:he("z-50 min-w-[170px] overflow-hidden rounded-xl border border-border bg-background p-1 shadow-lg outline-hidden animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",e),...t})}));Uc.displayName=l3.displayName;const Wn=b.forwardRef(({className:e,onSelect:t,...n},r)=>{const i=b.useContext(d3);return f.jsx(c3,{ref:r,className:he("relative flex cursor-default select-none items-center gap-2.5 rounded-lg px-3 py-2 text-xs font-medium text-foreground outline-hidden transition-colors hover:bg-muted focus:bg-muted data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),onSelect:s=>{t==null||t(s),i==null||i()},...n})});Wn.displayName=c3.displayName;const f3=b.forwardRef(({className:e,...t},n)=>f.jsx(u3,{ref:n,className:he("-mx-1 my-1 h-px bg-border",e),...t}));f3.displayName=u3.displayName;function rZ({editorLabel:e,onCopyPath:t,onShowArchived:n,onOpenInFinder:r,onOpenInEditor:i,onHide:s,children:o}){return f.jsxs($d,{children:[f.jsx(Hd,{asChild:!0,children:o}),f.jsxs(Uc,{children:[f.jsxs(Wn,{onSelect:l=>{l.stopPropagation(),t()},children:[f.jsx(Cl,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Copy Path"})]}),f.jsxs(Wn,{onSelect:l=>{l.stopPropagation(),n()},children:[f.jsx(CC,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Show Archived"})]}),f.jsxs(Wn,{onSelect:l=>{l.stopPropagation(),r()},children:[f.jsx(Vb,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Show in Finder"})]}),f.jsxs(Wn,{onSelect:l=>{l.stopPropagation(),i()},children:[f.jsx(kC,{className:"h-3.5 w-3.5"}),f.jsxs("span",{className:"text-xs font-medium",children:["Open in ",e]})]}),f.jsxs(Wn,{onSelect:l=>{l.stopPropagation(),s()},className:"text-destructive hover:bg-destructive/10 focus:bg-destructive/10",children:[f.jsx(D9,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Hide"})]})]})]})}function iZ({canFork:e,onRename:t,onShare:n,onOpenInFinder:r,onFork:i,onArchive:s,onDelete:o,children:l}){return f.jsxs($d,{children:[f.jsx(Hd,{asChild:!0,children:l}),f.jsxs(Uc,{children:[f.jsxs(Wn,{onSelect:c=>{c.preventDefault(),t()},children:[f.jsx(AC,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Rename"})]}),f.jsxs(Wn,{onSelect:c=>{c.preventDefault(),n()},children:[f.jsx(MC,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Share"})]}),f.jsxs(Wn,{onSelect:c=>{c.preventDefault(),r()},children:[f.jsx(Vb,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Open in Finder"})]}),f.jsxs(Wn,{disabled:!e,onSelect:c=>{c.preventDefault(),e&&i()},children:[f.jsx(Fj,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Fork"})]}),f.jsxs(Wn,{onSelect:c=>{c.preventDefault(),s()},children:[f.jsx(CC,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Archive"})]}),f.jsxs(Wn,{onSelect:c=>{c.preventDefault(),o()},className:"text-destructive dark:text-red-400 hover:bg-destructive/10 focus:bg-destructive/10 dark:hover:bg-red-500/20 dark:focus:bg-red-500/20",children:[f.jsx(Gb,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Delete"})]})]})]})}const sZ=new Set(["starting","running"]);function oZ({chat:e,activeChatId:t,nowMs:n,shortcutHint:r=null,showShortcutHint:i=!1,onSelectChat:s,onRenameChat:o,onShareChat:l,onOpenInFinder:c,onForkChat:d,onArchiveChat:p,onDeleteChat:h}){const g=(e.status==="running"||e.status==="waiting_for_user")&&e.stateEnteredAt!=null,v=g&&e.stateEnteredAt!=null?`${hw(e.status)} ${fw(n-e.stateEnteredAt)}`:ul(n-(e.lastMessageAt??e._creationTime)),_=i&&r?r:v,x=i&&!!r,w=tK(e.chatId),C=f.jsxs("div",{"data-chat-id":w,className:he("group flex items-center gap-2 pl-2.5 pr-0.5 py-0.5 rounded-lg cursor-pointer border-border/0 hover:border-border hover:bg-muted/20 active:scale-[0.985] border transition-all",t===w?"bg-muted hover:bg-muted border-border":"border-border/0 dark:hover:border-border/40 "),onClick:()=>s(e.chatId),children:[sZ.has(e.status)?f.jsx(bn,{className:"size-3.5 flex-shrink-0 animate-spin text-logo"}):e.status==="waiting_for_user"?f.jsx("div",{className:"relative ",children:f.jsxs("div",{className:" rounded-full z-0 size-3.5 flex items-center justify-center ",children:[f.jsx("div",{className:"absolute rounded-full z-0 size-2.5 bg-info/80 animate-ping"}),f.jsx("div",{className:" rounded-full z-0 size-2.5 bg-info ring-2 ring-muted/20 dark:ring-muted/50"})]})}):e.unread?f.jsx("div",{className:"relative ",children:f.jsxs("div",{className:" rounded-full z-0 size-3.5 flex items-center justify-center ",children:[f.jsx("div",{className:"absolute rounded-full z-0 size-2.5 bg-success/80 animate-ping"}),f.jsx("div",{className:" rounded-full z-0 size-2.5 bg-success ring-2 ring-muted/20 dark:ring-muted/50"})]})}):null,f.jsx("span",{className:"text-sm truncate flex-1 translate-y-[-0.5px]",children:e.status!=="idle"&&e.status!=="waiting_for_user"?f.jsx(Fd,{animate:e.status==="running",shimmerWidth:Math.max(20,e.title.length*3),children:e.title}):e.status!=="idle"||t===w||e.unread?f.jsx("span",{className:"",children:e.title}):f.jsx("span",{className:"text-slate-500 dark:text-slate-400",children:e.title})}),f.jsxs("div",{className:he("relative h-7 mr-[2px] shrink-0",e.canFork?"w-12":g?"w-20":"w-6"),children:[_?x?f.jsx("span",{className:"hidden md:flex absolute inset-0 items-center justify-end pr-0.5 text-[11px] text-foreground transition-opacity group-hover:opacity-0",children:f.jsx(_O,{className:"h-4 min-w-4 rounded-sm border-border/50 bg-transparent px-1 text-[10px]",children:r})}):f.jsx("span",{className:he("hidden md:flex absolute inset-0 items-center justify-end pr-1 text-[11px] tabular-nums opacity-80 transition-opacity group-hover:opacity-0",g?mw(pw(e.status)):"text-muted-foreground opacity-60"),children:_}):null,f.jsxs("div",{className:he("absolute inset-0 flex items-center justify-end gap-0 opacity-100 mr-[3px]",_?"md:opacity-0 md:group-hover:opacity-100":"opacity-100 md:opacity-0 md:group-hover:opacity-100"),children:[e.canFork?f.jsx(Xe,{variant:"ghost",size:"icon",className:"h-6 w-6 cursor-pointer rounded-sm hover:!bg-transparent !border-0",onClick:k=>{k.stopPropagation(),d(e.chatId)},title:"Fork chat",children:f.jsx(Fj,{className:"size-3.5"})}):null,f.jsx(Xe,{variant:"ghost",size:"icon",className:"h-6 w-6 cursor-pointer rounded-sm hover:!bg-transparent !border-0",onClick:k=>{k.stopPropagation(),p(e.chatId)},title:"Archive chat",children:f.jsx(CC,{className:"size-3.5"})})]})]})]},e._id);return f.jsx(iZ,{canFork:e.canFork,onRename:()=>o(e.chatId),onShare:()=>l(e.chatId),onOpenInFinder:()=>c(e.localPath),onFork:()=>d(e.chatId),onArchive:()=>p(e.chatId),onDelete:()=>h(e.chatId),children:C})}const aZ=b.memo(oZ);function lZ(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return b.useMemo(()=>r=>{t.forEach(i=>i(r))},t)}const d0=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Ud(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function gk(e){return"nodeType"in e}function Ni(e){var t,n;return e?Ud(e)?e:gk(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function vk(e){const{Document:t}=Ni(e);return e instanceof t}function Dp(e){return Ud(e)?!1:e instanceof Ni(e).HTMLElement}function h3(e){return e instanceof Ni(e).SVGElement}function Vd(e){return e?Ud(e)?e.document:gk(e)?vk(e)?e:Dp(e)||h3(e)?e.ownerDocument:document:document:document}const ko=d0?b.useLayoutEffect:b.useEffect;function bk(e){const t=b.useRef(e);return ko(()=>{t.current=e}),b.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return t.current==null?void 0:t.current(...r)},[])}function cZ(){const e=b.useRef(null),t=b.useCallback((r,i)=>{e.current=setInterval(r,i)},[]),n=b.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Xh(e,t){t===void 0&&(t=[e]);const n=b.useRef(e);return ko(()=>{n.current!==e&&(n.current=e)},t),n}function Ip(e,t){const n=b.useRef();return b.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function Yv(e){const t=bk(e),n=b.useRef(null),r=b.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function bw(e){const t=b.useRef();return b.useEffect(()=>{t.current=e},[e]),t.current}let xx={};function Pp(e,t){return b.useMemo(()=>{if(t)return t;const n=xx[e]==null?0:xx[e]+1;return xx[e]=n,e+"-"+n},[e,t])}function p3(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return r.reduce((s,o)=>{const l=Object.entries(o);for(const[c,d]of l){const p=s[c];p!=null&&(s[c]=p+e*d)}return s},{...t})}}const sd=p3(1),Xv=p3(-1);function uZ(e){return"clientX"in e&&"clientY"in e}function yk(e){if(!e)return!1;const{KeyboardEvent:t}=Ni(e.target);return t&&e instanceof t}function dZ(e){if(!e)return!1;const{TouchEvent:t}=Ni(e.target);return t&&e instanceof t}function yw(e){if(dZ(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return uZ(e)?{x:e.clientX,y:e.clientY}:null}const Qh=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[Qh.Translate.toString(e),Qh.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),KN="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function fZ(e){return e.matches(KN)?e:e.querySelector(KN)}const hZ={display:"none"};function pZ(e){let{id:t,value:n}=e;return An.createElement("div",{id:t,style:hZ},n)}function mZ(e){let{id:t,announcement:n,ariaLiveType:r="assertive"}=e;const i={position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};return An.createElement("div",{id:t,style:i,role:"status","aria-live":r,"aria-atomic":!0},n)}function gZ(){const[e,t]=b.useState("");return{announce:b.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const m3=b.createContext(null);function vZ(e){const t=b.useContext(m3);b.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of <DndContext>");return t(e)},[e,t])}function bZ(){const[e]=b.useState(()=>new Set),t=b.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[b.useCallback(r=>{let{type:i,event:s}=r;e.forEach(o=>{var l;return(l=o[i])==null?void 0:l.call(o,s)})},[e]),t]}const yZ={draggable:`
|
|
650
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return b.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},lq="DialogDescriptionWarning",cq=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${p5(lq).contentName}}.`;return b.useEffect(()=>{var s;const i=(s=e.current)==null?void 0:s.getAttribute("aria-describedby");t&&i&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},m5=t5,g5=i5,jC=s5,OC=o5,v5=l5,uq=u5,dq=f5;function b5(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=b5(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function y5(){for(var e,t,n=0,r="",i=arguments.length;n<i;n++)(e=arguments[n])&&(t=b5(e))&&(r&&(r+=" "),r+=t);return r}const fq=(e,t)=>{const n=new Array(e.length+t.length);for(let r=0;r<e.length;r++)n[r]=e[r];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},hq=(e,t)=>({classGroupId:e,validator:t}),_5=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),zv="-",SN=[],pq="arbitrary..",mq=e=>{const t=vq(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:o=>{if(o.startsWith("[")&&o.endsWith("]"))return gq(o);const l=o.split(zv),c=l[0]===""&&l.length>1?1:0;return x5(l,c,t)},getConflictingClassGroupIds:(o,l)=>{if(l){const c=r[o],d=n[o];return c?d?fq(d,c):c:d||SN}return n[o]||SN}}},x5=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const i=e[t],s=n.nextPart.get(i);if(s){const d=x5(e,t+1,s);if(d)return d}const o=n.validators;if(o===null)return;const l=t===0?e.join(zv):e.slice(t).join(zv),c=o.length;for(let d=0;d<c;d++){const p=o[d];if(p.validator(l))return p.classGroupId}},gq=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),r=t.slice(0,n);return r?pq+r:void 0})(),vq=e=>{const{theme:t,classGroups:n}=e;return bq(n,t)},bq=(e,t)=>{const n=_5();for(const r in e){const i=e[r];zC(i,n,r,t)}return n},zC=(e,t,n,r)=>{const i=e.length;for(let s=0;s<i;s++){const o=e[s];yq(o,t,n,r)}},yq=(e,t,n,r)=>{if(typeof e=="string"){_q(e,t,n);return}if(typeof e=="function"){xq(e,t,n,r);return}Sq(e,t,n,r)},_q=(e,t,n)=>{const r=e===""?t:S5(t,e);r.classGroupId=n},xq=(e,t,n,r)=>{if(wq(e)){zC(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(hq(n,e))},Sq=(e,t,n,r)=>{const i=Object.entries(e),s=i.length;for(let o=0;o<s;o++){const[l,c]=i[o];zC(c,S5(t,l),n,r)}},S5=(e,t)=>{let n=e;const r=t.split(zv),i=r.length;for(let s=0;s<i;s++){const o=r[s];let l=n.nextPart.get(o);l||(l=_5(),n.nextPart.set(o,l)),n=l}return n},wq=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Cq=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null);const i=(s,o)=>{n[s]=o,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(s){let o=n[s];if(o!==void 0)return o;if((o=r[s])!==void 0)return i(s,o),o},set(s,o){s in n?n[s]=o:i(s,o)}}},iw="!",wN=":",kq=[],CN=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Eq=e=>{const{prefix:t,experimentalParseClassName:n}=e;let r=i=>{const s=[];let o=0,l=0,c=0,d;const p=i.length;for(let x=0;x<p;x++){const w=i[x];if(o===0&&l===0){if(w===wN){s.push(i.slice(c,x)),c=x+1;continue}if(w==="/"){d=x;continue}}w==="["?o++:w==="]"?o--:w==="("?l++:w===")"&&l--}const h=s.length===0?i:i.slice(c);let g=h,v=!1;h.endsWith(iw)?(g=h.slice(0,-1),v=!0):h.startsWith(iw)&&(g=h.slice(1),v=!0);const _=d&&d>c?d-c:void 0;return CN(s,v,g,_)};if(t){const i=t+wN,s=r;r=o=>o.startsWith(i)?s(o.slice(i.length)):CN(kq,!1,o,void 0,!0)}if(n){const i=r;r=s=>n({className:s,parseClassName:i})}return r},Rq=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,r)=>{t.set(n,1e6+r)}),n=>{const r=[];let i=[];for(let s=0;s<n.length;s++){const o=n[s],l=o[0]==="[",c=t.has(o);l||c?(i.length>0&&(i.sort(),r.push(...i),i=[]),r.push(o)):i.push(o)}return i.length>0&&(i.sort(),r.push(...i)),r}},Tq=e=>({cache:Cq(e.cacheSize),parseClassName:Eq(e),sortModifiers:Rq(e),...mq(e)}),Aq=/\s+/,Nq=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:s}=t,o=[],l=e.trim().split(Aq);let c="";for(let d=l.length-1;d>=0;d-=1){const p=l[d],{isExternal:h,modifiers:g,hasImportantModifier:v,baseClassName:_,maybePostfixModifierPosition:x}=n(p);if(h){c=p+(c.length>0?" "+c:c);continue}let w=!!x,C=r(w?_.substring(0,x):_);if(!C){if(!w){c=p+(c.length>0?" "+c:c);continue}if(C=r(_),!C){c=p+(c.length>0?" "+c:c);continue}w=!1}const k=g.length===0?"":g.length===1?g[0]:s(g).join(":"),R=v?k+iw:k,T=R+C;if(o.indexOf(T)>-1)continue;o.push(T);const A=i(C,w);for(let N=0;N<A.length;++N){const M=A[N];o.push(R+M)}c=p+(c.length>0?" "+c:c)}return c},Mq=(...e)=>{let t=0,n,r,i="";for(;t<e.length;)(n=e[t++])&&(r=w5(n))&&(i&&(i+=" "),i+=r);return i},w5=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=w5(e[r]))&&(n&&(n+=" "),n+=t);return n},Lq=(e,...t)=>{let n,r,i,s;const o=c=>{const d=t.reduce((p,h)=>h(p),e());return n=Tq(d),r=n.cache.get,i=n.cache.set,s=l,l(c)},l=c=>{const d=r(c);if(d)return d;const p=Nq(c,n);return i(c,p),p};return s=o,(...c)=>s(Mq(...c))},Dq=[],gr=e=>{const t=n=>n[e]||Dq;return t.isThemeGetter=!0,t},C5=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,k5=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Iq=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Pq=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,jq=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Oq=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,zq=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Bq=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ja=e=>Iq.test(e),Gt=e=>!!e&&!Number.isNaN(Number(e)),el=e=>!!e&&Number.isInteger(Number(e)),mx=e=>e.endsWith("%")&&Gt(e.slice(0,-1)),Ko=e=>Pq.test(e),E5=()=>!0,Fq=e=>jq.test(e)&&!Oq.test(e),BC=()=>!1,$q=e=>zq.test(e),Hq=e=>Bq.test(e),Uq=e=>!nt(e)&&!at(e),Vq=e=>Nl(e,A5,BC),nt=e=>C5.test(e),tc=e=>Nl(e,N5,Fq),kN=e=>Nl(e,Zq,Gt),Wq=e=>Nl(e,L5,E5),Gq=e=>Nl(e,M5,BC),EN=e=>Nl(e,R5,BC),qq=e=>Nl(e,T5,Hq),ug=e=>Nl(e,D5,$q),at=e=>k5.test(e),Xf=e=>Fc(e,N5),Kq=e=>Fc(e,M5),RN=e=>Fc(e,R5),Yq=e=>Fc(e,A5),Xq=e=>Fc(e,T5),dg=e=>Fc(e,D5,!0),Qq=e=>Fc(e,L5,!0),Nl=(e,t,n)=>{const r=C5.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Fc=(e,t,n=!1)=>{const r=k5.exec(e);return r?r[1]?t(r[1]):n:!1},R5=e=>e==="position"||e==="percentage",T5=e=>e==="image"||e==="url",A5=e=>e==="length"||e==="size"||e==="bg-size",N5=e=>e==="length",Zq=e=>e==="number",M5=e=>e==="family-name",L5=e=>e==="number"||e==="weight",D5=e=>e==="shadow",Jq=()=>{const e=gr("color"),t=gr("font"),n=gr("text"),r=gr("font-weight"),i=gr("tracking"),s=gr("leading"),o=gr("breakpoint"),l=gr("container"),c=gr("spacing"),d=gr("radius"),p=gr("shadow"),h=gr("inset-shadow"),g=gr("text-shadow"),v=gr("drop-shadow"),_=gr("blur"),x=gr("perspective"),w=gr("aspect"),C=gr("ease"),k=gr("animate"),R=()=>["auto","avoid","all","avoid-page","page","left","right","column"],T=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],A=()=>[...T(),at,nt],N=()=>["auto","hidden","clip","visible","scroll"],M=()=>["auto","contain","none"],D=()=>[at,nt,c],W=()=>[Ja,"full","auto",...D()],I=()=>[el,"none","subgrid",at,nt],$=()=>["auto",{span:["full",el,at,nt]},el,at,nt],B=()=>[el,"auto",at,nt],j=()=>["auto","min","max","fr",at,nt],F=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],V=()=>["start","end","center","stretch","center-safe","end-safe"],z=()=>["auto",...D()],H=()=>[Ja,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...D()],U=()=>[Ja,"screen","full","dvw","lvw","svw","min","max","fit",...D()],Y=()=>[Ja,"screen","full","lh","dvh","lvh","svh","min","max","fit",...D()],P=()=>[e,at,nt],G=()=>[...T(),RN,EN,{position:[at,nt]}],J=()=>["no-repeat",{repeat:["","x","y","space","round"]}],O=()=>["auto","cover","contain",Yq,Vq,{size:[at,nt]}],ie=()=>[mx,Xf,tc],Z=()=>["","none","full",d,at,nt],oe=()=>["",Gt,Xf,tc],se=()=>["solid","dashed","dotted","double"],ve=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ue=()=>[Gt,mx,RN,EN],ye=()=>["","none",_,at,nt],Ee=()=>["none",Gt,at,nt],Ae=()=>["none",Gt,at,nt],De=()=>[Gt,at,nt],me=()=>[Ja,"full",...D()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Ko],breakpoint:[Ko],color:[E5],container:[Ko],"drop-shadow":[Ko],ease:["in","out","in-out"],font:[Uq],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Ko],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Ko],shadow:[Ko],spacing:["px",Gt],text:[Ko],"text-shadow":[Ko],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ja,nt,at,w]}],container:["container"],columns:[{columns:[Gt,nt,at,l]}],"break-after":[{"break-after":R()}],"break-before":[{"break-before":R()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:A()}],overflow:[{overflow:N()}],"overflow-x":[{"overflow-x":N()}],"overflow-y":[{"overflow-y":N()}],overscroll:[{overscroll:M()}],"overscroll-x":[{"overscroll-x":M()}],"overscroll-y":[{"overscroll-y":M()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:W()}],"inset-x":[{"inset-x":W()}],"inset-y":[{"inset-y":W()}],start:[{"inset-s":W(),start:W()}],end:[{"inset-e":W(),end:W()}],"inset-bs":[{"inset-bs":W()}],"inset-be":[{"inset-be":W()}],top:[{top:W()}],right:[{right:W()}],bottom:[{bottom:W()}],left:[{left:W()}],visibility:["visible","invisible","collapse"],z:[{z:[el,"auto",at,nt]}],basis:[{basis:[Ja,"full","auto",l,...D()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Gt,Ja,"auto","initial","none",nt]}],grow:[{grow:["",Gt,at,nt]}],shrink:[{shrink:["",Gt,at,nt]}],order:[{order:[el,"first","last","none",at,nt]}],"grid-cols":[{"grid-cols":I()}],"col-start-end":[{col:$()}],"col-start":[{"col-start":B()}],"col-end":[{"col-end":B()}],"grid-rows":[{"grid-rows":I()}],"row-start-end":[{row:$()}],"row-start":[{"row-start":B()}],"row-end":[{"row-end":B()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":j()}],"auto-rows":[{"auto-rows":j()}],gap:[{gap:D()}],"gap-x":[{"gap-x":D()}],"gap-y":[{"gap-y":D()}],"justify-content":[{justify:[...F(),"normal"]}],"justify-items":[{"justify-items":[...V(),"normal"]}],"justify-self":[{"justify-self":["auto",...V()]}],"align-content":[{content:["normal",...F()]}],"align-items":[{items:[...V(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...V(),{baseline:["","last"]}]}],"place-content":[{"place-content":F()}],"place-items":[{"place-items":[...V(),"baseline"]}],"place-self":[{"place-self":["auto",...V()]}],p:[{p:D()}],px:[{px:D()}],py:[{py:D()}],ps:[{ps:D()}],pe:[{pe:D()}],pbs:[{pbs:D()}],pbe:[{pbe:D()}],pt:[{pt:D()}],pr:[{pr:D()}],pb:[{pb:D()}],pl:[{pl:D()}],m:[{m:z()}],mx:[{mx:z()}],my:[{my:z()}],ms:[{ms:z()}],me:[{me:z()}],mbs:[{mbs:z()}],mbe:[{mbe:z()}],mt:[{mt:z()}],mr:[{mr:z()}],mb:[{mb:z()}],ml:[{ml:z()}],"space-x":[{"space-x":D()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":D()}],"space-y-reverse":["space-y-reverse"],size:[{size:H()}],"inline-size":[{inline:["auto",...U()]}],"min-inline-size":[{"min-inline":["auto",...U()]}],"max-inline-size":[{"max-inline":["none",...U()]}],"block-size":[{block:["auto",...Y()]}],"min-block-size":[{"min-block":["auto",...Y()]}],"max-block-size":[{"max-block":["none",...Y()]}],w:[{w:[l,"screen",...H()]}],"min-w":[{"min-w":[l,"screen","none",...H()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[o]},...H()]}],h:[{h:["screen","lh",...H()]}],"min-h":[{"min-h":["screen","lh","none",...H()]}],"max-h":[{"max-h":["screen","lh",...H()]}],"font-size":[{text:["base",n,Xf,tc]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,Qq,Wq]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",mx,nt]}],"font-family":[{font:[Kq,Gq,t]}],"font-features":[{"font-features":[nt]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[i,at,nt]}],"line-clamp":[{"line-clamp":[Gt,"none",at,kN]}],leading:[{leading:[s,...D()]}],"list-image":[{"list-image":["none",at,nt]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",at,nt]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...se(),"wavy"]}],"text-decoration-thickness":[{decoration:[Gt,"from-font","auto",at,tc]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[Gt,"auto",at,nt]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:D()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",at,nt]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",at,nt]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:G()}],"bg-repeat":[{bg:J()}],"bg-size":[{bg:O()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},el,at,nt],radial:["",at,nt],conic:[el,at,nt]},Xq,qq]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:ie()}],"gradient-via-pos":[{via:ie()}],"gradient-to-pos":[{to:ie()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:Z()}],"rounded-s":[{"rounded-s":Z()}],"rounded-e":[{"rounded-e":Z()}],"rounded-t":[{"rounded-t":Z()}],"rounded-r":[{"rounded-r":Z()}],"rounded-b":[{"rounded-b":Z()}],"rounded-l":[{"rounded-l":Z()}],"rounded-ss":[{"rounded-ss":Z()}],"rounded-se":[{"rounded-se":Z()}],"rounded-ee":[{"rounded-ee":Z()}],"rounded-es":[{"rounded-es":Z()}],"rounded-tl":[{"rounded-tl":Z()}],"rounded-tr":[{"rounded-tr":Z()}],"rounded-br":[{"rounded-br":Z()}],"rounded-bl":[{"rounded-bl":Z()}],"border-w":[{border:oe()}],"border-w-x":[{"border-x":oe()}],"border-w-y":[{"border-y":oe()}],"border-w-s":[{"border-s":oe()}],"border-w-e":[{"border-e":oe()}],"border-w-bs":[{"border-bs":oe()}],"border-w-be":[{"border-be":oe()}],"border-w-t":[{"border-t":oe()}],"border-w-r":[{"border-r":oe()}],"border-w-b":[{"border-b":oe()}],"border-w-l":[{"border-l":oe()}],"divide-x":[{"divide-x":oe()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":oe()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...se(),"hidden","none"]}],"divide-style":[{divide:[...se(),"hidden","none"]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...se(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Gt,at,nt]}],"outline-w":[{outline:["",Gt,Xf,tc]}],"outline-color":[{outline:P()}],shadow:[{shadow:["","none",p,dg,ug]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":["none",h,dg,ug]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:oe()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[Gt,tc]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":oe()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":["none",g,dg,ug]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[Gt,at,nt]}],"mix-blend":[{"mix-blend":[...ve(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ve()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Gt]}],"mask-image-linear-from-pos":[{"mask-linear-from":ue()}],"mask-image-linear-to-pos":[{"mask-linear-to":ue()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":ue()}],"mask-image-t-to-pos":[{"mask-t-to":ue()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":ue()}],"mask-image-r-to-pos":[{"mask-r-to":ue()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":ue()}],"mask-image-b-to-pos":[{"mask-b-to":ue()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":ue()}],"mask-image-l-to-pos":[{"mask-l-to":ue()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":ue()}],"mask-image-x-to-pos":[{"mask-x-to":ue()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":ue()}],"mask-image-y-to-pos":[{"mask-y-to":ue()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[at,nt]}],"mask-image-radial-from-pos":[{"mask-radial-from":ue()}],"mask-image-radial-to-pos":[{"mask-radial-to":ue()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":T()}],"mask-image-conic-pos":[{"mask-conic":[Gt]}],"mask-image-conic-from-pos":[{"mask-conic-from":ue()}],"mask-image-conic-to-pos":[{"mask-conic-to":ue()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:G()}],"mask-repeat":[{mask:J()}],"mask-size":[{mask:O()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",at,nt]}],filter:[{filter:["","none",at,nt]}],blur:[{blur:ye()}],brightness:[{brightness:[Gt,at,nt]}],contrast:[{contrast:[Gt,at,nt]}],"drop-shadow":[{"drop-shadow":["","none",v,dg,ug]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:["",Gt,at,nt]}],"hue-rotate":[{"hue-rotate":[Gt,at,nt]}],invert:[{invert:["",Gt,at,nt]}],saturate:[{saturate:[Gt,at,nt]}],sepia:[{sepia:["",Gt,at,nt]}],"backdrop-filter":[{"backdrop-filter":["","none",at,nt]}],"backdrop-blur":[{"backdrop-blur":ye()}],"backdrop-brightness":[{"backdrop-brightness":[Gt,at,nt]}],"backdrop-contrast":[{"backdrop-contrast":[Gt,at,nt]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Gt,at,nt]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Gt,at,nt]}],"backdrop-invert":[{"backdrop-invert":["",Gt,at,nt]}],"backdrop-opacity":[{"backdrop-opacity":[Gt,at,nt]}],"backdrop-saturate":[{"backdrop-saturate":[Gt,at,nt]}],"backdrop-sepia":[{"backdrop-sepia":["",Gt,at,nt]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":D()}],"border-spacing-x":[{"border-spacing-x":D()}],"border-spacing-y":[{"border-spacing-y":D()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",at,nt]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Gt,"initial",at,nt]}],ease:[{ease:["linear","initial",C,at,nt]}],delay:[{delay:[Gt,at,nt]}],animate:[{animate:["none",k,at,nt]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[x,at,nt]}],"perspective-origin":[{"perspective-origin":A()}],rotate:[{rotate:Ee()}],"rotate-x":[{"rotate-x":Ee()}],"rotate-y":[{"rotate-y":Ee()}],"rotate-z":[{"rotate-z":Ee()}],scale:[{scale:Ae()}],"scale-x":[{"scale-x":Ae()}],"scale-y":[{"scale-y":Ae()}],"scale-z":[{"scale-z":Ae()}],"scale-3d":["scale-3d"],skew:[{skew:De()}],"skew-x":[{"skew-x":De()}],"skew-y":[{"skew-y":De()}],transform:[{transform:[at,nt,"","none","gpu","cpu"]}],"transform-origin":[{origin:A()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:me()}],"translate-x":[{"translate-x":me()}],"translate-y":[{"translate-y":me()}],"translate-z":[{"translate-z":me()}],"translate-none":["translate-none"],accent:[{accent:P()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:P()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",at,nt]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":D()}],"scroll-mx":[{"scroll-mx":D()}],"scroll-my":[{"scroll-my":D()}],"scroll-ms":[{"scroll-ms":D()}],"scroll-me":[{"scroll-me":D()}],"scroll-mbs":[{"scroll-mbs":D()}],"scroll-mbe":[{"scroll-mbe":D()}],"scroll-mt":[{"scroll-mt":D()}],"scroll-mr":[{"scroll-mr":D()}],"scroll-mb":[{"scroll-mb":D()}],"scroll-ml":[{"scroll-ml":D()}],"scroll-p":[{"scroll-p":D()}],"scroll-px":[{"scroll-px":D()}],"scroll-py":[{"scroll-py":D()}],"scroll-ps":[{"scroll-ps":D()}],"scroll-pe":[{"scroll-pe":D()}],"scroll-pbs":[{"scroll-pbs":D()}],"scroll-pbe":[{"scroll-pbe":D()}],"scroll-pt":[{"scroll-pt":D()}],"scroll-pr":[{"scroll-pr":D()}],"scroll-pb":[{"scroll-pb":D()}],"scroll-pl":[{"scroll-pl":D()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",at,nt]}],fill:[{fill:["none",...P()]}],"stroke-w":[{stroke:[Gt,Xf,tc,kN]}],stroke:[{stroke:["none",...P()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},eK=Lq(Jq);function he(...e){return eK(y5(e))}function dc(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function tK(e){return e.startsWith("chatId:")?e.slice(7):e}const Vh="data-focus-fallback-ignore",I5="data-allow-focus-retain",Bv="kanna:restore-chat-input-focus",FC="data-chat-input",Fv="data-chat-selection-zone";function fc(e,t){return!!(e!=null&&e.closest(`[${t}]`))}function P5(e){var n;const t=e;return t!=null&&t.matches?t.matches("input:not([type='checkbox']):not([type='radio']):not([type='button']):not([type='submit']):not([type='reset']), textarea, select")||t.isContentEditable||((n=t.getAttribute)==null?void 0:n.call(t,"role"))==="textbox"?!0:fc(e,I5):!1}function nK(e){const t=e;return t!=null&&t.matches?P5(e)||(t.tabIndex??-1)>=0||t.matches("button, a[href], summary")?!0:fc(e,I5):!1}function TN(e){return!!e.querySelector(`[${Vh}][data-state='open']`)}function rK(e){return e?!e.isCollapsed&&e.toString().trim().length>0:!1}function iK(e,t){if(!e)return!1;const n=Array.from(t.querySelectorAll(`textarea[${FC}]`)).filter(o=>!o.disabled);if(n.length===0)return!1;const r=n.indexOf(e),i=r>=0?(r+1)%n.length:0,s=n[i];return s?(s.focus({preventScroll:!0}),!0):!1}function AN(e){const{activeElement:t,fallback:n,hasActiveOverlay:r}=e;if(!n||n.disabled||r||t===n)return"none";if(e.trigger==="escape")return e.defaultPrevented||fc(t,FC)||e.canCancel?"none":"escape-focus";const{pointerStartTarget:i,pointerEndTarget:s,root:o,hasActiveSelection:l}=e,c=s??i;return!o||!c||!o.contains(c)||fc(c,Vh)||fc(t,Vh)||l&&(fc(i,Fv)||fc(c,Fv))||P5(t)?"none":t&&t===c?"restore":nK(t)?"none":"restore"}const wo=m5,sK=g5,j5=b.forwardRef(({className:e,...t},n)=>f.jsx(jC,{ref:n,className:he("fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));j5.displayName=jC.displayName;const oK={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg"},qs=b.forwardRef(({className:e,children:t,size:n="md",...r},i)=>f.jsxs(sK,{children:[f.jsx(j5,{}),f.jsxs(OC,{ref:i,[Vh]:"",onCloseAutoFocus:s=>{var o;s.preventDefault(),window.dispatchEvent(new Event(Bv)),(o=r.onCloseAutoFocus)==null||o.call(r,s)},className:he("fixed left-1/2 top-1/2 z-50 w-full -translate-x-1/2 -translate-y-1/2 rounded-xl border border-border bg-background shadow-xl duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]","max-h-[85vh] flex flex-col",oK[n],e),...r,children:[t,f.jsxs(dq,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[f.jsx(Ro,{className:"h-4 w-4"}),f.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));qs.displayName=OC.displayName;function $C({className:e,...t}){return f.jsx("div",{className:he("shrink-0 flex flex-col space-y-1.5 p-4 border-b border-border",e),...t})}function Co({className:e,...t}){return f.jsx(v5,{className:he("text-lg font-medium leading-none tracking-tight",e),...t})}function Od({className:e,...t}){return f.jsx(uq,{className:he("text-sm text-muted-foreground",e),...t})}function fa({className:e,...t}){return f.jsx("div",{className:he("flex-1 min-h-0 overflow-y-auto px-4 pb-4 pt-3.5",e),...t})}function kl({className:e,...t}){return f.jsx("div",{className:he("shrink-0 flex justify-end gap-2 border-t border-border bg-background p-2 rounded-b-xl",e),...t})}function aK({className:e,...t}){return f.jsx("button",{className:he("touch-manipulation inline-flex items-center justify-center whitespace-nowrap cursor-pointer text-sm font-medium transition-colors","rounded-full h-9 px-4","bg-primary text-primary-foreground hover:bg-primary/90","disabled:pointer-events-none disabled:bg-primary/20 disabled:text-primary/60",e),...t})}function lK({className:e,...t}){return f.jsx("button",{className:he("touch-manipulation inline-flex items-center justify-center whitespace-nowrap cursor-pointer text-sm font-medium transition-colors","rounded-full h-9 px-4","hover:bg-accent dark:hover:bg-card hover:text-accent-foreground text-muted-foreground","disabled:pointer-events-none disabled:text-muted-foreground/50",e),...t})}function cK({open:e,shareUrl:t,onOpenChange:n,onOpenLink:r,onCopyLink:i}){const[s,o]=b.useState(!1);b.useEffect(()=>{e||o(!1)},[e,t]);const l=async()=>{await i()&&(o(!0),window.setTimeout(()=>{o(!1)},2e3))};return f.jsx(wo,{open:e,onOpenChange:n,children:f.jsxs(qs,{size:"md",children:[f.jsxs($C,{children:[f.jsx(Co,{children:"Shared Link"}),f.jsx(Od,{children:"Shared links are snapshots in time and contain all attachments, tool calls and history. Be mindful of sensitive info."})]}),f.jsx(fa,{className:"space-y-3",children:f.jsxs("div",{className:"flex w-full items-center gap-2 rounded-2xl border border-border bg-muted/40 pl-4 px-3 py-2.5",children:[f.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-sm text-foreground",children:t}),f.jsx("button",{type:"button",onClick:()=>void l(),title:s?"Copied":"Copy link","aria-label":s?"Copied":"Copy link",className:"flex flex-shrink-0 items-center justify-center rounded-lg text-logo hover:text-logo/60 transition-colors hover:bg-background hover:text-foreground",children:s?f.jsx(pi,{className:"h-4 w-4 text-emerald-400"}):f.jsx(Cl,{className:"h-4 w-4"})})]})}),f.jsx(kl,{children:f.jsxs(aK,{type:"button",onClick:r,children:[f.jsx(Ub,{className:"mr-2 h-4 w-4"}),"Open"]})})]})})}const NN=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,MN=y5,uK=(e,t)=>n=>{var r;if((t==null?void 0:t.variants)==null)return MN(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:i,defaultVariants:s}=t,o=Object.keys(i).map(d=>{const p=n==null?void 0:n[d],h=s==null?void 0:s[d];if(p===null)return null;const g=NN(p)||NN(h);return i[d][g]}),l=n&&Object.entries(n).reduce((d,p)=>{let[h,g]=p;return g===void 0||(d[h]=g),d},{}),c=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((d,p)=>{let{class:h,className:g,...v}=p;return Object.entries(v).every(_=>{let[x,w]=_;return Array.isArray(w)?w.includes({...s,...l}[x]):{...s,...l}[x]===w})?[...d,h,g]:d},[]);return MN(e,o,c,n==null?void 0:n.class,n==null?void 0:n.className)},Zb=uK("touch-manipulation inline-flex items-center justify-center whitespace-nowrap cursor-pointer rounded-md text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none",{variants:{variant:{default:"bg-primary text-primary-foreground disabled:bg-primary/50 disabled:text-primary-foreground/90 hover:bg-primary/90",juicy:"bg-logo text-primary-foreground disabled:text-primary-foreground/50 hover:bg-logo/90",destructive:"bg-destructive/80 dark:text-white",outline:"border disabled:bg-transparent disabled:text-foreground/50 border-inpu disabled:border-input/90 bg-card hover:bg-muted hover:text-accent-foreground",secondary:"bg-transparent border border-border text-secondary-foreground hover:text-secondary-foreground/60 disabled:text-secondary-foreground/50",ghost:"hover:bg-accent dark:hover:bg-card hover:text-accent-foreground text-muted-foreground disabled:text-muted-foreground/50 border border-border/0 hover:border-border",link:"text-primary disabled:text-primary/50 underline-offset-4 hover:underline",none:""},size:{default:"h-10 px-4 rounded-full py-2",sm:"h-9 rounded-full px-3",lg:"h-11 rounded-full px-8",icon:"h-9 w-9 rounded-full","icon-mobile":"h-11 w-11 rounded-full md:h-9 md:w-9",none:"","icon-sm":"h-5.5 w-5.5 rounded-md"}},defaultVariants:{variant:"default",size:"default"}}),Xe=b.forwardRef(({className:e,variant:t,size:n,type:r="button",...i},s)=>f.jsx("button",{type:r,className:he(Zb({variant:t,size:n,className:e})),ref:s,...i}));Xe.displayName="Button";const nr=b.forwardRef(({className:e,type:t,...n},r)=>f.jsx("input",{ref:r,type:t,className:he("flex w-full rounded-lg border border-border bg-background px-3 py-2 text-sm text-foreground outline-none placeholder:text-muted-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50",e),...n}));nr.displayName="Input";const O5=b.createContext(null);function dK({children:e}){const[t,n]=b.useState(null),[r,i]=b.useState(""),s=b.useRef(null);b.useEffect(()=>{(t==null?void 0:t.kind)==="prompt"&&(i(t.options.initialValue??""),setTimeout(()=>{var v,_;(v=s.current)==null||v.focus(),(_=s.current)==null||_.select()},0))},[t]);const o=b.useCallback(()=>{n(null),i("")},[]),l=b.useCallback(()=>{t&&(t.kind==="confirm"?t.resolve(!1):t.kind==="prompt"?t.resolve(null):t.resolve(),o())},[o,t]),c=b.useCallback(()=>{t&&(t.kind==="confirm"?t.resolve(!0):t.kind==="prompt"?t.resolve(r.trim()||null):t.resolve(),o())},[o,t,r]),d=b.useCallback(v=>new Promise(_=>{n({kind:"confirm",options:v,resolve:_})}),[]),p=b.useCallback(v=>new Promise(_=>{n({kind:"prompt",options:v,resolve:_})}),[]),h=b.useCallback(v=>new Promise(_=>{n({kind:"alert",options:v,resolve:_})}),[]),g=b.useMemo(()=>({confirm:d,prompt:p,alert:h}),[h,d,p]);return f.jsxs(O5.Provider,{value:g,children:[e,f.jsx(wo,{open:t!==null,onOpenChange:v=>{v||!t||l()},children:f.jsx(qs,{size:"sm",onKeyDown:v=>{v.key!=="Enter"||v.shiftKey||!t||t.kind!=="confirm"||(v.preventDefault(),c())},children:t?f.jsxs(f.Fragment,{children:[f.jsxs(fa,{className:"space-y-4",children:[f.jsx(Co,{children:t.options.title}),t.options.description?f.jsx(Od,{children:t.options.description}):null,t.kind==="prompt"?f.jsx(nr,{ref:s,type:"text",value:r,onChange:v=>i(v.target.value),onKeyDown:v=>{v.key==="Enter"&&(v.preventDefault(),c())},placeholder:t.options.placeholder}):null]}),f.jsxs(kl,{children:[f.jsx(Xe,{variant:"ghost",size:"sm",onClick:l,className:t.kind==="alert"?"hidden":void 0,children:"cancelLabel"in t.options?t.options.cancelLabel??"Cancel":"Cancel"}),f.jsx(Xe,{variant:t.kind==="confirm"?t.options.confirmVariant??"default":"secondary",size:"sm",onClick:c,disabled:t.kind==="prompt"&&!r.trim(),children:t.kind==="alert"?t.options.closeLabel??"OK":"confirmLabel"in t.options?t.options.confirmLabel??"Confirm":"Confirm"})]})]}):null})})]})}function Ep(){const e=b.useContext(O5);if(!e)throw new Error("useAppDialog must be used within AppDialogProvider");return e}const HC=b.forwardRef(({className:e,...t},n)=>f.jsx("div",{ref:n,className:he("bg-card text-card-foreground",e),...t}));HC.displayName="Card";const UC=b.forwardRef(({className:e,...t},n)=>f.jsx("div",{ref:n,className:he("flex flex-col space-y-1.5 p-2",e),...t}));UC.displayName="CardHeader";const z5=b.forwardRef(({className:e,...t},n)=>f.jsx("h3",{ref:n,className:he("text-2xl font-semibold leading-none tracking-tight",e),...t}));z5.displayName="CardTitle";const B5=b.forwardRef(({className:e,...t},n)=>f.jsx("p",{ref:n,className:he("text-sm text-muted-foreground",e),...t}));B5.displayName="CardDescription";const VC=b.forwardRef(({className:e,...t},n)=>f.jsx("div",{ref:n,className:he("p-6 pt-0",e),...t}));VC.displayName="CardContent";const fK=b.forwardRef(({className:e,...t},n)=>f.jsx("div",{ref:n,className:he("flex items-center p-6 pt-0",e),...t}));fK.displayName="CardFooter";const hK=["top","right","bottom","left"],El=Math.min,Vi=Math.max,$v=Math.round,fg=Math.floor,_o=e=>({x:e,y:e}),pK={left:"right",right:"left",bottom:"top",top:"bottom"};function sw(e,t,n){return Vi(e,El(t,n))}function ha(e,t){return typeof e=="function"?e(t):e}function pa(e){return e.split("-")[0]}function zd(e){return e.split("-")[1]}function WC(e){return e==="x"?"y":"x"}function GC(e){return e==="y"?"height":"width"}function mo(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function qC(e){return WC(mo(e))}function mK(e,t,n){n===void 0&&(n=!1);const r=zd(e),i=qC(e),s=GC(i);let o=i==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(o=Hv(o)),[o,Hv(o)]}function gK(e){const t=Hv(e);return[ow(e),t,ow(t)]}function ow(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const LN=["left","right"],DN=["right","left"],vK=["top","bottom"],bK=["bottom","top"];function yK(e,t,n){switch(e){case"top":case"bottom":return n?t?DN:LN:t?LN:DN;case"left":case"right":return t?vK:bK;default:return[]}}function _K(e,t,n,r){const i=zd(e);let s=yK(pa(e),n==="start",r);return i&&(s=s.map(o=>o+"-"+i),t&&(s=s.concat(s.map(ow)))),s}function Hv(e){const t=pa(e);return pK[t]+e.slice(t.length)}function xK(e){return{top:0,right:0,bottom:0,left:0,...e}}function F5(e){return typeof e!="number"?xK(e):{top:e,right:e,bottom:e,left:e}}function Uv(e){const{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function IN(e,t,n){let{reference:r,floating:i}=e;const s=mo(t),o=qC(t),l=GC(o),c=pa(t),d=s==="y",p=r.x+r.width/2-i.width/2,h=r.y+r.height/2-i.height/2,g=r[l]/2-i[l]/2;let v;switch(c){case"top":v={x:p,y:r.y-i.height};break;case"bottom":v={x:p,y:r.y+r.height};break;case"right":v={x:r.x+r.width,y:h};break;case"left":v={x:r.x-i.width,y:h};break;default:v={x:r.x,y:r.y}}switch(zd(t)){case"start":v[o]-=g*(n&&d?-1:1);break;case"end":v[o]+=g*(n&&d?-1:1);break}return v}async function SK(e,t){var n;t===void 0&&(t={});const{x:r,y:i,platform:s,rects:o,elements:l,strategy:c}=e,{boundary:d="clippingAncestors",rootBoundary:p="viewport",elementContext:h="floating",altBoundary:g=!1,padding:v=0}=ha(t,e),_=F5(v),w=l[g?h==="floating"?"reference":"floating":h],C=Uv(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(w)))==null||n?w:w.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(l.floating)),boundary:d,rootBoundary:p,strategy:c})),k=h==="floating"?{x:r,y:i,width:o.floating.width,height:o.floating.height}:o.reference,R=await(s.getOffsetParent==null?void 0:s.getOffsetParent(l.floating)),T=await(s.isElement==null?void 0:s.isElement(R))?await(s.getScale==null?void 0:s.getScale(R))||{x:1,y:1}:{x:1,y:1},A=Uv(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:k,offsetParent:R,strategy:c}):k);return{top:(C.top-A.top+_.top)/T.y,bottom:(A.bottom-C.bottom+_.bottom)/T.y,left:(C.left-A.left+_.left)/T.x,right:(A.right-C.right+_.right)/T.x}}const wK=50,CK=async(e,t,n)=>{const{placement:r="bottom",strategy:i="absolute",middleware:s=[],platform:o}=n,l=o.detectOverflow?o:{...o,detectOverflow:SK},c=await(o.isRTL==null?void 0:o.isRTL(t));let d=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:p,y:h}=IN(d,r,c),g=r,v=0;const _={};for(let x=0;x<s.length;x++){const w=s[x];if(!w)continue;const{name:C,fn:k}=w,{x:R,y:T,data:A,reset:N}=await k({x:p,y:h,initialPlacement:r,placement:g,strategy:i,middlewareData:_,rects:d,platform:l,elements:{reference:e,floating:t}});p=R??p,h=T??h,_[C]={..._[C],...A},N&&v<wK&&(v++,typeof N=="object"&&(N.placement&&(g=N.placement),N.rects&&(d=N.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):N.rects),{x:p,y:h}=IN(d,g,c)),x=-1)}return{x:p,y:h,placement:g,strategy:i,middlewareData:_}},kK=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:i,rects:s,platform:o,elements:l,middlewareData:c}=t,{element:d,padding:p=0}=ha(e,t)||{};if(d==null)return{};const h=F5(p),g={x:n,y:r},v=qC(i),_=GC(v),x=await o.getDimensions(d),w=v==="y",C=w?"top":"left",k=w?"bottom":"right",R=w?"clientHeight":"clientWidth",T=s.reference[_]+s.reference[v]-g[v]-s.floating[_],A=g[v]-s.reference[v],N=await(o.getOffsetParent==null?void 0:o.getOffsetParent(d));let M=N?N[R]:0;(!M||!await(o.isElement==null?void 0:o.isElement(N)))&&(M=l.floating[R]||s.floating[_]);const D=T/2-A/2,W=M/2-x[_]/2-1,I=El(h[C],W),$=El(h[k],W),B=I,j=M-x[_]-$,F=M/2-x[_]/2+D,V=sw(B,F,j),z=!c.arrow&&zd(i)!=null&&F!==V&&s.reference[_]/2-(F<B?I:$)-x[_]/2<0,H=z?F<B?F-B:F-j:0;return{[v]:g[v]+H,data:{[v]:V,centerOffset:F-V-H,...z&&{alignmentOffset:H}},reset:z}}}),EK=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,r;const{placement:i,middlewareData:s,rects:o,initialPlacement:l,platform:c,elements:d}=t,{mainAxis:p=!0,crossAxis:h=!0,fallbackPlacements:g,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:_="none",flipAlignment:x=!0,...w}=ha(e,t);if((n=s.arrow)!=null&&n.alignmentOffset)return{};const C=pa(i),k=mo(l),R=pa(l)===l,T=await(c.isRTL==null?void 0:c.isRTL(d.floating)),A=g||(R||!x?[Hv(l)]:gK(l)),N=_!=="none";!g&&N&&A.push(..._K(l,x,_,T));const M=[l,...A],D=await c.detectOverflow(t,w),W=[];let I=((r=s.flip)==null?void 0:r.overflows)||[];if(p&&W.push(D[C]),h){const F=mK(i,o,T);W.push(D[F[0]],D[F[1]])}if(I=[...I,{placement:i,overflows:W}],!W.every(F=>F<=0)){var $,B;const F=((($=s.flip)==null?void 0:$.index)||0)+1,V=M[F];if(V&&(!(h==="alignment"?k!==mo(V):!1)||I.every(U=>mo(U.placement)===k?U.overflows[0]>0:!0)))return{data:{index:F,overflows:I},reset:{placement:V}};let z=(B=I.filter(H=>H.overflows[0]<=0).sort((H,U)=>H.overflows[1]-U.overflows[1])[0])==null?void 0:B.placement;if(!z)switch(v){case"bestFit":{var j;const H=(j=I.filter(U=>{if(N){const Y=mo(U.placement);return Y===k||Y==="y"}return!0}).map(U=>[U.placement,U.overflows.filter(Y=>Y>0).reduce((Y,P)=>Y+P,0)]).sort((U,Y)=>U[1]-Y[1])[0])==null?void 0:j[0];H&&(z=H);break}case"initialPlacement":z=l;break}if(i!==z)return{reset:{placement:z}}}return{}}}};function PN(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function jN(e){return hK.some(t=>e[t]>=0)}const RK=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:r}=t,{strategy:i="referenceHidden",...s}=ha(e,t);switch(i){case"referenceHidden":{const o=await r.detectOverflow(t,{...s,elementContext:"reference"}),l=PN(o,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:jN(l)}}}case"escaped":{const o=await r.detectOverflow(t,{...s,altBoundary:!0}),l=PN(o,n.floating);return{data:{escapedOffsets:l,escaped:jN(l)}}}default:return{}}}}},$5=new Set(["left","top"]);async function TK(e,t){const{placement:n,platform:r,elements:i}=e,s=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=pa(n),l=zd(n),c=mo(n)==="y",d=$5.has(o)?-1:1,p=s&&c?-1:1,h=ha(t,e);let{mainAxis:g,crossAxis:v,alignmentAxis:_}=typeof h=="number"?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:h.mainAxis||0,crossAxis:h.crossAxis||0,alignmentAxis:h.alignmentAxis};return l&&typeof _=="number"&&(v=l==="end"?_*-1:_),c?{x:v*p,y:g*d}:{x:g*d,y:v*p}}const AK=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:i,y:s,placement:o,middlewareData:l}=t,c=await TK(t,e);return o===((n=l.offset)==null?void 0:n.placement)&&(r=l.arrow)!=null&&r.alignmentOffset?{}:{x:i+c.x,y:s+c.y,data:{...c,placement:o}}}}},NK=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:i,platform:s}=t,{mainAxis:o=!0,crossAxis:l=!1,limiter:c={fn:C=>{let{x:k,y:R}=C;return{x:k,y:R}}},...d}=ha(e,t),p={x:n,y:r},h=await s.detectOverflow(t,d),g=mo(pa(i)),v=WC(g);let _=p[v],x=p[g];if(o){const C=v==="y"?"top":"left",k=v==="y"?"bottom":"right",R=_+h[C],T=_-h[k];_=sw(R,_,T)}if(l){const C=g==="y"?"top":"left",k=g==="y"?"bottom":"right",R=x+h[C],T=x-h[k];x=sw(R,x,T)}const w=c.fn({...t,[v]:_,[g]:x});return{...w,data:{x:w.x-n,y:w.y-r,enabled:{[v]:o,[g]:l}}}}}},MK=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:i,rects:s,middlewareData:o}=t,{offset:l=0,mainAxis:c=!0,crossAxis:d=!0}=ha(e,t),p={x:n,y:r},h=mo(i),g=WC(h);let v=p[g],_=p[h];const x=ha(l,t),w=typeof x=="number"?{mainAxis:x,crossAxis:0}:{mainAxis:0,crossAxis:0,...x};if(c){const R=g==="y"?"height":"width",T=s.reference[g]-s.floating[R]+w.mainAxis,A=s.reference[g]+s.reference[R]-w.mainAxis;v<T?v=T:v>A&&(v=A)}if(d){var C,k;const R=g==="y"?"width":"height",T=$5.has(pa(i)),A=s.reference[h]-s.floating[R]+(T&&((C=o.offset)==null?void 0:C[h])||0)+(T?0:w.crossAxis),N=s.reference[h]+s.reference[R]+(T?0:((k=o.offset)==null?void 0:k[h])||0)-(T?w.crossAxis:0);_<A?_=A:_>N&&(_=N)}return{[g]:v,[h]:_}}}},LK=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:i,rects:s,platform:o,elements:l}=t,{apply:c=()=>{},...d}=ha(e,t),p=await o.detectOverflow(t,d),h=pa(i),g=zd(i),v=mo(i)==="y",{width:_,height:x}=s.floating;let w,C;h==="top"||h==="bottom"?(w=h,C=g===(await(o.isRTL==null?void 0:o.isRTL(l.floating))?"start":"end")?"left":"right"):(C=h,w=g==="end"?"top":"bottom");const k=x-p.top-p.bottom,R=_-p.left-p.right,T=El(x-p[w],k),A=El(_-p[C],R),N=!t.middlewareData.shift;let M=T,D=A;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(D=R),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(M=k),N&&!g){const I=Vi(p.left,0),$=Vi(p.right,0),B=Vi(p.top,0),j=Vi(p.bottom,0);v?D=_-2*(I!==0||$!==0?I+$:Vi(p.left,p.right)):M=x-2*(B!==0||j!==0?B+j:Vi(p.top,p.bottom))}await c({...t,availableWidth:D,availableHeight:M});const W=await o.getDimensions(l.floating);return _!==W.width||x!==W.height?{reset:{rects:!0}}:{}}}};function Jb(){return typeof window<"u"}function Bd(e){return H5(e)?(e.nodeName||"").toLowerCase():"#document"}function Wi(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function To(e){var t;return(t=(H5(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function H5(e){return Jb()?e instanceof Node||e instanceof Wi(e).Node:!1}function Ks(e){return Jb()?e instanceof Element||e instanceof Wi(e).Element:!1}function ya(e){return Jb()?e instanceof HTMLElement||e instanceof Wi(e).HTMLElement:!1}function ON(e){return!Jb()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Wi(e).ShadowRoot}function Rp(e){const{overflow:t,overflowX:n,overflowY:r,display:i}=Ys(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!=="inline"&&i!=="contents"}function DK(e){return/^(table|td|th)$/.test(Bd(e))}function e0(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const IK=/transform|translate|scale|rotate|perspective|filter/,PK=/paint|layout|strict|content/,nc=e=>!!e&&e!=="none";let gx;function KC(e){const t=Ks(e)?Ys(e):e;return nc(t.transform)||nc(t.translate)||nc(t.scale)||nc(t.rotate)||nc(t.perspective)||!YC()&&(nc(t.backdropFilter)||nc(t.filter))||IK.test(t.willChange||"")||PK.test(t.contain||"")}function jK(e){let t=Rl(e);for(;ya(t)&&!gd(t);){if(KC(t))return t;if(e0(t))return null;t=Rl(t)}return null}function YC(){return gx==null&&(gx=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),gx}function gd(e){return/^(html|body|#document)$/.test(Bd(e))}function Ys(e){return Wi(e).getComputedStyle(e)}function t0(e){return Ks(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Rl(e){if(Bd(e)==="html")return e;const t=e.assignedSlot||e.parentNode||ON(e)&&e.host||To(e);return ON(t)?t.host:t}function U5(e){const t=Rl(e);return gd(t)?e.ownerDocument?e.ownerDocument.body:e.body:ya(t)&&Rp(t)?t:U5(t)}function Wh(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);const i=U5(e),s=i===((r=e.ownerDocument)==null?void 0:r.body),o=Wi(i);if(s){const l=aw(o);return t.concat(o,o.visualViewport||[],Rp(i)?i:[],l&&n?Wh(l):[])}else return t.concat(i,Wh(i,[],n))}function aw(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function V5(e){const t=Ys(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const i=ya(e),s=i?e.offsetWidth:n,o=i?e.offsetHeight:r,l=$v(n)!==s||$v(r)!==o;return l&&(n=s,r=o),{width:n,height:r,$:l}}function XC(e){return Ks(e)?e:e.contextElement}function id(e){const t=XC(e);if(!ya(t))return _o(1);const n=t.getBoundingClientRect(),{width:r,height:i,$:s}=V5(t);let o=(s?$v(n.width):n.width)/r,l=(s?$v(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!l||!Number.isFinite(l))&&(l=1),{x:o,y:l}}const OK=_o(0);function W5(e){const t=Wi(e);return!YC()||!t.visualViewport?OK:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function zK(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Wi(e)?!1:t}function Tc(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);const i=e.getBoundingClientRect(),s=XC(e);let o=_o(1);t&&(r?Ks(r)&&(o=id(r)):o=id(e));const l=zK(s,n,r)?W5(s):_o(0);let c=(i.left+l.x)/o.x,d=(i.top+l.y)/o.y,p=i.width/o.x,h=i.height/o.y;if(s){const g=Wi(s),v=r&&Ks(r)?Wi(r):r;let _=g,x=aw(_);for(;x&&r&&v!==_;){const w=id(x),C=x.getBoundingClientRect(),k=Ys(x),R=C.left+(x.clientLeft+parseFloat(k.paddingLeft))*w.x,T=C.top+(x.clientTop+parseFloat(k.paddingTop))*w.y;c*=w.x,d*=w.y,p*=w.x,h*=w.y,c+=R,d+=T,_=Wi(x),x=aw(_)}}return Uv({width:p,height:h,x:c,y:d})}function n0(e,t){const n=t0(e).scrollLeft;return t?t.left+n:Tc(To(e)).left+n}function G5(e,t){const n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-n0(e,n),i=n.top+t.scrollTop;return{x:r,y:i}}function BK(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e;const s=i==="fixed",o=To(r),l=t?e0(t.floating):!1;if(r===o||l&&s)return n;let c={scrollLeft:0,scrollTop:0},d=_o(1);const p=_o(0),h=ya(r);if((h||!h&&!s)&&((Bd(r)!=="body"||Rp(o))&&(c=t0(r)),h)){const v=Tc(r);d=id(r),p.x=v.x+r.clientLeft,p.y=v.y+r.clientTop}const g=o&&!h&&!s?G5(o,c):_o(0);return{width:n.width*d.x,height:n.height*d.y,x:n.x*d.x-c.scrollLeft*d.x+p.x+g.x,y:n.y*d.y-c.scrollTop*d.y+p.y+g.y}}function FK(e){return Array.from(e.getClientRects())}function $K(e){const t=To(e),n=t0(e),r=e.ownerDocument.body,i=Vi(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),s=Vi(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let o=-n.scrollLeft+n0(e);const l=-n.scrollTop;return Ys(r).direction==="rtl"&&(o+=Vi(t.clientWidth,r.clientWidth)-i),{width:i,height:s,x:o,y:l}}const zN=25;function HK(e,t){const n=Wi(e),r=To(e),i=n.visualViewport;let s=r.clientWidth,o=r.clientHeight,l=0,c=0;if(i){s=i.width,o=i.height;const p=YC();(!p||p&&t==="fixed")&&(l=i.offsetLeft,c=i.offsetTop)}const d=n0(r);if(d<=0){const p=r.ownerDocument,h=p.body,g=getComputedStyle(h),v=p.compatMode==="CSS1Compat"&&parseFloat(g.marginLeft)+parseFloat(g.marginRight)||0,_=Math.abs(r.clientWidth-h.clientWidth-v);_<=zN&&(s-=_)}else d<=zN&&(s+=d);return{width:s,height:o,x:l,y:c}}function UK(e,t){const n=Tc(e,!0,t==="fixed"),r=n.top+e.clientTop,i=n.left+e.clientLeft,s=ya(e)?id(e):_o(1),o=e.clientWidth*s.x,l=e.clientHeight*s.y,c=i*s.x,d=r*s.y;return{width:o,height:l,x:c,y:d}}function BN(e,t,n){let r;if(t==="viewport")r=HK(e,n);else if(t==="document")r=$K(To(e));else if(Ks(t))r=UK(t,n);else{const i=W5(e);r={x:t.x-i.x,y:t.y-i.y,width:t.width,height:t.height}}return Uv(r)}function q5(e,t){const n=Rl(e);return n===t||!Ks(n)||gd(n)?!1:Ys(n).position==="fixed"||q5(n,t)}function VK(e,t){const n=t.get(e);if(n)return n;let r=Wh(e,[],!1).filter(l=>Ks(l)&&Bd(l)!=="body"),i=null;const s=Ys(e).position==="fixed";let o=s?Rl(e):e;for(;Ks(o)&&!gd(o);){const l=Ys(o),c=KC(o);!c&&l.position==="fixed"&&(i=null),(s?!c&&!i:!c&&l.position==="static"&&!!i&&(i.position==="absolute"||i.position==="fixed")||Rp(o)&&!c&&q5(e,o))?r=r.filter(p=>p!==o):i=l,o=Rl(o)}return t.set(e,r),r}function WK(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e;const o=[...n==="clippingAncestors"?e0(t)?[]:VK(t,this._c):[].concat(n),r],l=BN(t,o[0],i);let c=l.top,d=l.right,p=l.bottom,h=l.left;for(let g=1;g<o.length;g++){const v=BN(t,o[g],i);c=Vi(v.top,c),d=El(v.right,d),p=El(v.bottom,p),h=Vi(v.left,h)}return{width:d-h,height:p-c,x:h,y:c}}function GK(e){const{width:t,height:n}=V5(e);return{width:t,height:n}}function qK(e,t,n){const r=ya(t),i=To(t),s=n==="fixed",o=Tc(e,!0,s,t);let l={scrollLeft:0,scrollTop:0};const c=_o(0);function d(){c.x=n0(i)}if(r||!r&&!s)if((Bd(t)!=="body"||Rp(i))&&(l=t0(t)),r){const v=Tc(t,!0,s,t);c.x=v.x+t.clientLeft,c.y=v.y+t.clientTop}else i&&d();s&&!r&&i&&d();const p=i&&!r&&!s?G5(i,l):_o(0),h=o.left+l.scrollLeft-c.x-p.x,g=o.top+l.scrollTop-c.y-p.y;return{x:h,y:g,width:o.width,height:o.height}}function vx(e){return Ys(e).position==="static"}function FN(e,t){if(!ya(e)||Ys(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return To(e)===n&&(n=n.ownerDocument.body),n}function K5(e,t){const n=Wi(e);if(e0(e))return n;if(!ya(e)){let i=Rl(e);for(;i&&!gd(i);){if(Ks(i)&&!vx(i))return i;i=Rl(i)}return n}let r=FN(e,t);for(;r&&DK(r)&&vx(r);)r=FN(r,t);return r&&gd(r)&&vx(r)&&!KC(r)?n:r||jK(e)||n}const KK=async function(e){const t=this.getOffsetParent||K5,n=this.getDimensions,r=await n(e.floating);return{reference:qK(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function YK(e){return Ys(e).direction==="rtl"}const XK={convertOffsetParentRelativeRectToViewportRelativeRect:BK,getDocumentElement:To,getClippingRect:WK,getOffsetParent:K5,getElementRects:KK,getClientRects:FK,getDimensions:GK,getScale:id,isElement:Ks,isRTL:YK};function Y5(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function QK(e,t){let n=null,r;const i=To(e);function s(){var l;clearTimeout(r),(l=n)==null||l.disconnect(),n=null}function o(l,c){l===void 0&&(l=!1),c===void 0&&(c=1),s();const d=e.getBoundingClientRect(),{left:p,top:h,width:g,height:v}=d;if(l||t(),!g||!v)return;const _=fg(h),x=fg(i.clientWidth-(p+g)),w=fg(i.clientHeight-(h+v)),C=fg(p),R={rootMargin:-_+"px "+-x+"px "+-w+"px "+-C+"px",threshold:Vi(0,El(1,c))||1};let T=!0;function A(N){const M=N[0].intersectionRatio;if(M!==c){if(!T)return o();M?o(!1,M):r=setTimeout(()=>{o(!1,1e-7)},1e3)}M===1&&!Y5(d,e.getBoundingClientRect())&&o(),T=!1}try{n=new IntersectionObserver(A,{...R,root:i.ownerDocument})}catch{n=new IntersectionObserver(A,R)}n.observe(e)}return o(!0),s}function ZK(e,t,n,r){r===void 0&&(r={});const{ancestorScroll:i=!0,ancestorResize:s=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:c=!1}=r,d=XC(e),p=i||s?[...d?Wh(d):[],...t?Wh(t):[]]:[];p.forEach(C=>{i&&C.addEventListener("scroll",n,{passive:!0}),s&&C.addEventListener("resize",n)});const h=d&&l?QK(d,n):null;let g=-1,v=null;o&&(v=new ResizeObserver(C=>{let[k]=C;k&&k.target===d&&v&&t&&(v.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var R;(R=v)==null||R.observe(t)})),n()}),d&&!c&&v.observe(d),t&&v.observe(t));let _,x=c?Tc(e):null;c&&w();function w(){const C=Tc(e);x&&!Y5(x,C)&&n(),x=C,_=requestAnimationFrame(w)}return n(),()=>{var C;p.forEach(k=>{i&&k.removeEventListener("scroll",n),s&&k.removeEventListener("resize",n)}),h==null||h(),(C=v)==null||C.disconnect(),v=null,c&&cancelAnimationFrame(_)}}const JK=AK,eY=NK,tY=EK,nY=LK,rY=RK,$N=kK,iY=MK,sY=(e,t,n)=>{const r=new Map,i={platform:XK,...n},s={...i.platform,_c:r};return CK(e,t,{...i,platform:s})};var oY=typeof document<"u",aY=function(){},dv=oY?b.useLayoutEffect:aY;function Vv(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Vv(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){const s=i[r];if(!(s==="_owner"&&e.$$typeof)&&!Vv(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function X5(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function HN(e,t){const n=X5(e);return Math.round(t*n)/n}function bx(e){const t=b.useRef(e);return dv(()=>{t.current=e}),t}function lY(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:i,elements:{reference:s,floating:o}={},transform:l=!0,whileElementsMounted:c,open:d}=e,[p,h]=b.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[g,v]=b.useState(r);Vv(g,r)||v(r);const[_,x]=b.useState(null),[w,C]=b.useState(null),k=b.useCallback(U=>{U!==N.current&&(N.current=U,x(U))},[]),R=b.useCallback(U=>{U!==M.current&&(M.current=U,C(U))},[]),T=s||_,A=o||w,N=b.useRef(null),M=b.useRef(null),D=b.useRef(p),W=c!=null,I=bx(c),$=bx(i),B=bx(d),j=b.useCallback(()=>{if(!N.current||!M.current)return;const U={placement:t,strategy:n,middleware:g};$.current&&(U.platform=$.current),sY(N.current,M.current,U).then(Y=>{const P={...Y,isPositioned:B.current!==!1};F.current&&!Vv(D.current,P)&&(D.current=P,bs.flushSync(()=>{h(P)}))})},[g,t,n,$,B]);dv(()=>{d===!1&&D.current.isPositioned&&(D.current.isPositioned=!1,h(U=>({...U,isPositioned:!1})))},[d]);const F=b.useRef(!1);dv(()=>(F.current=!0,()=>{F.current=!1}),[]),dv(()=>{if(T&&(N.current=T),A&&(M.current=A),T&&A){if(I.current)return I.current(T,A,j);j()}},[T,A,j,I,W]);const V=b.useMemo(()=>({reference:N,floating:M,setReference:k,setFloating:R}),[k,R]),z=b.useMemo(()=>({reference:T,floating:A}),[T,A]),H=b.useMemo(()=>{const U={position:n,left:0,top:0};if(!z.floating)return U;const Y=HN(z.floating,p.x),P=HN(z.floating,p.y);return l?{...U,transform:"translate("+Y+"px, "+P+"px)",...X5(z.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:Y,top:P}},[n,l,z.floating,p.x,p.y]);return b.useMemo(()=>({...p,update:j,refs:V,elements:z,floatingStyles:H}),[p,j,V,z,H])}const cY=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:r,padding:i}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?$N({element:r.current,padding:i}).fn(n):{}:r?$N({element:r,padding:i}).fn(n):{}}}},uY=(e,t)=>{const n=JK(e);return{name:n.name,fn:n.fn,options:[e,t]}},dY=(e,t)=>{const n=eY(e);return{name:n.name,fn:n.fn,options:[e,t]}},fY=(e,t)=>({fn:iY(e).fn,options:[e,t]}),hY=(e,t)=>{const n=tY(e);return{name:n.name,fn:n.fn,options:[e,t]}},pY=(e,t)=>{const n=nY(e);return{name:n.name,fn:n.fn,options:[e,t]}},mY=(e,t)=>{const n=rY(e);return{name:n.name,fn:n.fn,options:[e,t]}},gY=(e,t)=>{const n=cY(e);return{name:n.name,fn:n.fn,options:[e,t]}};var vY="Arrow",Q5=b.forwardRef((e,t)=>{const{children:n,width:r=10,height:i=5,...s}=e;return f.jsx(Jt.svg,{...s,ref:t,width:r,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:f.jsx("polygon",{points:"0,0 30,0 15,10"})})});Q5.displayName=vY;var bY=Q5;function yY(e){const[t,n]=b.useState(void 0);return ni(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const s=i[0];let o,l;if("borderBoxSize"in s){const c=s.borderBoxSize,d=Array.isArray(c)?c[0]:c;o=d.inlineSize,l=d.blockSize}else o=e.offsetWidth,l=e.offsetHeight;n({width:o,height:l})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}var QC="Popper",[Z5,Ml]=ba(QC),[_Y,J5]=Z5(QC),eO=e=>{const{__scopePopper:t,children:n}=e,[r,i]=b.useState(null);return f.jsx(_Y,{scope:t,anchor:r,onAnchorChange:i,children:n})};eO.displayName=QC;var tO="PopperAnchor",nO=b.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:r,...i}=e,s=J5(tO,n),o=b.useRef(null),l=yn(t,o),c=b.useRef(null);return b.useEffect(()=>{const d=c.current;c.current=(r==null?void 0:r.current)||o.current,d!==c.current&&s.onAnchorChange(c.current)}),r?null:f.jsx(Jt.div,{...i,ref:l})});nO.displayName=tO;var ZC="PopperContent",[xY,SY]=Z5(ZC),rO=b.forwardRef((e,t)=>{var se,ve,ue,ye,Ee,Ae;const{__scopePopper:n,side:r="bottom",sideOffset:i=0,align:s="center",alignOffset:o=0,arrowPadding:l=0,avoidCollisions:c=!0,collisionBoundary:d=[],collisionPadding:p=0,sticky:h="partial",hideWhenDetached:g=!1,updatePositionStrategy:v="optimized",onPlaced:_,...x}=e,w=J5(ZC,n),[C,k]=b.useState(null),R=yn(t,De=>k(De)),[T,A]=b.useState(null),N=yY(T),M=(N==null?void 0:N.width)??0,D=(N==null?void 0:N.height)??0,W=r+(s!=="center"?"-"+s:""),I=typeof p=="number"?p:{top:0,right:0,bottom:0,left:0,...p},$=Array.isArray(d)?d:[d],B=$.length>0,j={padding:I,boundary:$.filter(CY),altBoundary:B},{refs:F,floatingStyles:V,placement:z,isPositioned:H,middlewareData:U}=lY({strategy:"fixed",placement:W,whileElementsMounted:(...De)=>ZK(...De,{animationFrame:v==="always"}),elements:{reference:w.anchor},middleware:[uY({mainAxis:i+D,alignmentAxis:o}),c&&dY({mainAxis:!0,crossAxis:!1,limiter:h==="partial"?fY():void 0,...j}),c&&hY({...j}),pY({...j,apply:({elements:De,rects:me,availableWidth:et,availableHeight:Lt})=>{const{width:Ot,height:Yt}=me.reference,Tt=De.floating.style;Tt.setProperty("--radix-popper-available-width",`${et}px`),Tt.setProperty("--radix-popper-available-height",`${Lt}px`),Tt.setProperty("--radix-popper-anchor-width",`${Ot}px`),Tt.setProperty("--radix-popper-anchor-height",`${Yt}px`)}}),T&&gY({element:T,padding:l}),kY({arrowWidth:M,arrowHeight:D}),g&&mY({strategy:"referenceHidden",...j})]}),[Y,P]=oO(z),G=Gs(_);ni(()=>{H&&(G==null||G())},[H,G]);const J=(se=U.arrow)==null?void 0:se.x,O=(ve=U.arrow)==null?void 0:ve.y,ie=((ue=U.arrow)==null?void 0:ue.centerOffset)!==0,[Z,oe]=b.useState();return ni(()=>{C&&oe(window.getComputedStyle(C).zIndex)},[C]),f.jsx("div",{ref:F.setFloating,"data-radix-popper-content-wrapper":"",style:{...V,transform:H?V.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Z,"--radix-popper-transform-origin":[(ye=U.transformOrigin)==null?void 0:ye.x,(Ee=U.transformOrigin)==null?void 0:Ee.y].join(" "),...((Ae=U.hide)==null?void 0:Ae.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:f.jsx(xY,{scope:n,placedSide:Y,onArrowChange:A,arrowX:J,arrowY:O,shouldHideArrow:ie,children:f.jsx(Jt.div,{"data-side":Y,"data-align":P,...x,ref:R,style:{...x.style,animation:H?void 0:"none"}})})})});rO.displayName=ZC;var iO="PopperArrow",wY={top:"bottom",right:"left",bottom:"top",left:"right"},sO=b.forwardRef(function(t,n){const{__scopePopper:r,...i}=t,s=SY(iO,r),o=wY[s.placedSide];return f.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:f.jsx(bY,{...i,ref:n,style:{...i.style,display:"block"}})})});sO.displayName=iO;function CY(e){return e!==null}var kY=e=>({name:"transformOrigin",options:e,fn(t){var w,C,k;const{placement:n,rects:r,middlewareData:i}=t,o=((w=i.arrow)==null?void 0:w.centerOffset)!==0,l=o?0:e.arrowWidth,c=o?0:e.arrowHeight,[d,p]=oO(n),h={start:"0%",center:"50%",end:"100%"}[p],g=(((C=i.arrow)==null?void 0:C.x)??0)+l/2,v=(((k=i.arrow)==null?void 0:k.y)??0)+c/2;let _="",x="";return d==="bottom"?(_=o?h:`${g}px`,x=`${-c}px`):d==="top"?(_=o?h:`${g}px`,x=`${r.floating.height+c}px`):d==="right"?(_=`${-c}px`,x=o?h:`${v}px`):d==="left"&&(_=`${r.floating.width+c}px`,x=o?h:`${v}px`),{data:{x:_,y:x}}}});function oO(e){const[t,n="center"]=e.split("-");return[t,n]}var r0=eO,Tp=nO,i0=rO,s0=sO,aO=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),EY="VisuallyHidden",lO=b.forwardRef((e,t)=>f.jsx(Jt.span,{...e,ref:t,style:{...aO,...e.style}}));lO.displayName=EY;var RY=lO,[o0]=ba("Tooltip",[Ml]),a0=Ml(),cO="TooltipProvider",TY=700,lw="tooltip.open",[AY,JC]=o0(cO),uO=e=>{const{__scopeTooltip:t,delayDuration:n=TY,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:s}=e,o=b.useRef(!0),l=b.useRef(!1),c=b.useRef(0);return b.useEffect(()=>{const d=c.current;return()=>window.clearTimeout(d)},[]),f.jsx(AY,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:b.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:b.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:l,onPointerInTransitChange:b.useCallback(d=>{l.current=d},[]),disableHoverableContent:i,children:s})};uO.displayName=cO;var Gh="Tooltip",[NY,Ap]=o0(Gh),dO=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:s,disableHoverableContent:o,delayDuration:l}=e,c=JC(Gh,e.__scopeTooltip),d=a0(t),[p,h]=b.useState(null),g=ua(),v=b.useRef(0),_=o??c.disableHoverableContent,x=l??c.delayDuration,w=b.useRef(!1),[C,k]=md({prop:r,defaultProp:i??!1,onChange:M=>{M?(c.onOpen(),document.dispatchEvent(new CustomEvent(lw))):c.onClose(),s==null||s(M)},caller:Gh}),R=b.useMemo(()=>C?w.current?"delayed-open":"instant-open":"closed",[C]),T=b.useCallback(()=>{window.clearTimeout(v.current),v.current=0,w.current=!1,k(!0)},[k]),A=b.useCallback(()=>{window.clearTimeout(v.current),v.current=0,k(!1)},[k]),N=b.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{w.current=!0,k(!0),v.current=0},x)},[x,k]);return b.useEffect(()=>()=>{v.current&&(window.clearTimeout(v.current),v.current=0)},[]),f.jsx(r0,{...d,children:f.jsx(NY,{scope:t,contentId:g,open:C,stateAttribute:R,trigger:p,onTriggerChange:h,onTriggerEnter:b.useCallback(()=>{c.isOpenDelayedRef.current?N():T()},[c.isOpenDelayedRef,N,T]),onTriggerLeave:b.useCallback(()=>{_?A():(window.clearTimeout(v.current),v.current=0)},[A,_]),onOpen:T,onClose:A,disableHoverableContent:_,children:n})})};dO.displayName=Gh;var cw="TooltipTrigger",fO=b.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,i=Ap(cw,n),s=JC(cw,n),o=a0(n),l=b.useRef(null),c=yn(t,l,i.onTriggerChange),d=b.useRef(!1),p=b.useRef(!1),h=b.useCallback(()=>d.current=!1,[]);return b.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),f.jsx(Tp,{asChild:!0,...o,children:f.jsx(Jt.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:c,onPointerMove:Ze(e.onPointerMove,g=>{g.pointerType!=="touch"&&!p.current&&!s.isPointerInTransitRef.current&&(i.onTriggerEnter(),p.current=!0)}),onPointerLeave:Ze(e.onPointerLeave,()=>{i.onTriggerLeave(),p.current=!1}),onPointerDown:Ze(e.onPointerDown,()=>{i.open&&i.onClose(),d.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:Ze(e.onFocus,()=>{d.current||i.onOpen()}),onBlur:Ze(e.onBlur,i.onClose),onClick:Ze(e.onClick,i.onClose)})})});fO.displayName=cw;var ek="TooltipPortal",[MY,LY]=o0(ek,{forceMount:void 0}),hO=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,s=Ap(ek,t);return f.jsx(MY,{scope:t,forceMount:n,children:f.jsx(ks,{present:n||s.open,children:f.jsx(jd,{asChild:!0,container:i,children:r})})})};hO.displayName=ek;var vd="TooltipContent",pO=b.forwardRef((e,t)=>{const n=LY(vd,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i="top",...s}=e,o=Ap(vd,e.__scopeTooltip);return f.jsx(ks,{present:r||o.open,children:o.disableHoverableContent?f.jsx(mO,{side:i,...s,ref:t}):f.jsx(DY,{side:i,...s,ref:t})})}),DY=b.forwardRef((e,t)=>{const n=Ap(vd,e.__scopeTooltip),r=JC(vd,e.__scopeTooltip),i=b.useRef(null),s=yn(t,i),[o,l]=b.useState(null),{trigger:c,onClose:d}=n,p=i.current,{onPointerInTransitChange:h}=r,g=b.useCallback(()=>{l(null),h(!1)},[h]),v=b.useCallback((_,x)=>{const w=_.currentTarget,C={x:_.clientX,y:_.clientY},k=zY(C,w.getBoundingClientRect()),R=BY(C,k),T=FY(x.getBoundingClientRect()),A=HY([...R,...T]);l(A),h(!0)},[h]);return b.useEffect(()=>()=>g(),[g]),b.useEffect(()=>{if(c&&p){const _=w=>v(w,p),x=w=>v(w,c);return c.addEventListener("pointerleave",_),p.addEventListener("pointerleave",x),()=>{c.removeEventListener("pointerleave",_),p.removeEventListener("pointerleave",x)}}},[c,p,v,g]),b.useEffect(()=>{if(o){const _=x=>{const w=x.target,C={x:x.clientX,y:x.clientY},k=(c==null?void 0:c.contains(w))||(p==null?void 0:p.contains(w)),R=!$Y(C,o);k?g():R&&(g(),d())};return document.addEventListener("pointermove",_),()=>document.removeEventListener("pointermove",_)}},[c,p,o,d,g]),f.jsx(mO,{...e,ref:s})}),[IY,PY]=o0(Gh,{isInside:!1}),jY=WW("TooltipContent"),mO=b.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:s,onPointerDownOutside:o,...l}=e,c=Ap(vd,n),d=a0(n),{onClose:p}=c;return b.useEffect(()=>(document.addEventListener(lw,p),()=>document.removeEventListener(lw,p)),[p]),b.useEffect(()=>{if(c.trigger){const h=g=>{const v=g.target;v!=null&&v.contains(c.trigger)&&p()};return window.addEventListener("scroll",h,{capture:!0}),()=>window.removeEventListener("scroll",h,{capture:!0})}},[c.trigger,p]),f.jsx(Pd,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:o,onFocusOutside:h=>h.preventDefault(),onDismiss:p,children:f.jsxs(i0,{"data-state":c.stateAttribute,...d,...l,ref:t,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[f.jsx(jY,{children:r}),f.jsx(IY,{scope:n,isInside:!0,children:f.jsx(RY,{id:c.contentId,role:"tooltip",children:i||r})})]})})});pO.displayName=vd;var gO="TooltipArrow",OY=b.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,i=a0(n);return PY(gO,n).isInside?null:f.jsx(s0,{...i,...r,ref:t})});OY.displayName=gO;function zY(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(n,r,i,s)){case s:return"left";case i:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function BY(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function FY(e){const{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function $Y(e,t){const{x:n,y:r}=e;let i=!1;for(let s=0,o=t.length-1;s<t.length;o=s++){const l=t[s],c=t[o],d=l.x,p=l.y,h=c.x,g=c.y;p>r!=g>r&&n<(h-d)*(r-p)/(g-p)+d&&(i=!i)}return i}function HY(e){const t=e.slice();return t.sort((n,r)=>n.x<r.x?-1:n.x>r.x?1:n.y<r.y?-1:n.y>r.y?1:0),UY(t)}function UY(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const i=e[r];for(;t.length>=2;){const s=t[t.length-1],o=t[t.length-2];if((s.x-o.x)*(i.y-o.y)>=(s.y-o.y)*(i.x-o.x))t.pop();else break}t.push(i)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const i=e[r];for(;n.length>=2;){const s=n[n.length-1],o=n[n.length-2];if((s.x-o.x)*(i.y-o.y)>=(s.y-o.y)*(i.x-o.x))n.pop();else break}n.push(i)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var VY=uO,vO=dO,bO=fO,yO=hO,tk=pO;function _O({className:e,...t}){return f.jsx("kbd",{className:he("pointer-events-none inline-flex h-5 min-w-5 items-center justify-center rounded border border-border/60 bg-muted/50 px-1.5 font-mono text-[11px] font-medium text-current select-none",e),...t})}function WY({className:e,...t}){return f.jsx("span",{className:he("inline-flex items-center gap-0.5",e),...t})}const GY="z-50 overflow-hidden rounded-md border border-border bg-card p-0.5 text-[11px] font-medium text-card-foreground shadow-sm animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",nk=VY,ei=vO,ti=bO,Gr=b.forwardRef(({className:e,sideOffset:t=4,...n},r)=>f.jsx(yO,{children:f.jsx(tk,{ref:r,sideOffset:t,className:he("z-50 overflow-hidden rounded-md bg-card text-card-foreground border border-border px-3 py-1.5 text-xs animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n})}));Gr.displayName=tk.displayName;const Wv=vO,Gv=bO;function xO(e){return e.toUpperCase()}function qY(e){const t=e.split("+");return f.jsx(WY,{children:t.map((n,r)=>f.jsx(_O,{children:xO(n)},`${n}-${r}`))})}const qh=b.forwardRef(({className:e,sideOffset:t=4,children:n,shortcut:r,...i},s)=>{const o=r===void 0?null:Array.isArray(r)?r[0]??null:r;return f.jsx(yO,{children:f.jsx(tk,{ref:s,sideOffset:t,className:he(GY,e),...i,children:o?qY(o):f.jsx("span",{children:typeof n=="string"?xO(n):n})})})});qh.displayName="HotkeyTooltipContent";const KY="modulepreload",YY=function(e){return"/"+e},UN={},K=function(t,n,r){let i=Promise.resolve();if(n&&n.length>0){let o=function(d){return Promise.all(d.map(p=>Promise.resolve(p).then(h=>({status:"fulfilled",value:h}),h=>({status:"rejected",reason:h}))))};document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),c=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));i=o(n.map(d=>{if(d=YY(d),d in UN)return;UN[d]=!0;const p=d.endsWith(".css"),h=p?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${h}`))return;const g=document.createElement("link");if(g.rel=p?"stylesheet":KY,p||(g.as="script"),g.crossOrigin="",g.href=d,c&&g.setAttribute("nonce",c),document.head.appendChild(g),p)return new Promise((v,_)=>{g.addEventListener("load",v),g.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${d}`)))})}))}function s(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&s(l.reason);return t().catch(s)})},XY=b.lazy(()=>K(()=>import("./index-HXyRev17.js"),[]).then(e=>({default:e.Toaster})));function QY(){return f.jsx(b.Suspense,{fallback:null,children:f.jsx(XY,{position:"bottom-right",theme:"system",closeButton:!0,duration:6e3})})}const ZY="0.47.2",JY={version:ZY},tr="Kanna",VN="kanna",eX=".kanna",tX=".kanna-dev",nX="KANNA_RUNTIME_PROFILE",rk=`kanna/${JY.version}`,rX="[kanna]",iX=`~/${tr}`;function l0(){var t;return(t=globalThis.process)==null?void 0:t.env}function sX(e=l0()){var t;return((t=e==null?void 0:e[nX])==null?void 0:t.trim().toLowerCase())==="dev"?"dev":"prod"}function oX(e=l0()){return sX(e)==="dev"?tX:eX}function aX(e=l0()){return`~/${oX(e)}`}function lX(e=l0()){return`${aX(e)}/keybindings.json`}function hg(e){return e?`${VN} ${e}`:VN}const WN=e=>{let t;const n=new Set,r=(d,p)=>{const h=typeof d=="function"?d(t):d;if(!Object.is(h,t)){const g=t;t=p??(typeof h!="object"||h===null)?h:Object.assign({},t,h),n.forEach(v=>v(t,g))}},i=()=>t,l={setState:r,getState:i,getInitialState:()=>c,subscribe:d=>(n.add(d),()=>n.delete(d))},c=t=e(r,i,l);return l},cX=(e=>e?WN(e):WN),uX=e=>e;function dX(e,t=uX){const n=An.useSyncExternalStore(e.subscribe,An.useCallback(()=>t(e.getState()),[e,t]),An.useCallback(()=>t(e.getInitialState()),[e,t]));return An.useDebugValue(n),n}const fX=e=>{const t=cX(e),n=r=>dX(t,r);return Object.assign(n,t),n},Js=(e=>fX),SO="always",wO="funk",hX=[{value:"blow",label:"Blow"},{value:"bottle",label:"Bottle"},{value:"frog",label:"Frog"},{value:"funk",label:"Funk"},{value:"glass",label:"Glass"},{value:"ping",label:"Ping"},{value:"pop",label:"Pop"},{value:"purr",label:"Purr"},{value:"tink",label:"Tink"}];function pX(e){switch(e){case"never":case"unfocused":case"always":return e;default:return SO}}function mX(e){switch(e){case"blow":case"bottle":case"frog":case"funk":case"glass":case"ping":case"pop":case"purr":case"tink":return e;default:return wO}}const gc=Js()(e=>({chatSoundPreference:SO,chatSoundId:wO,setChatSoundPreference:t=>e({chatSoundPreference:pX(t)}),setChatSoundId:t=>e({chatSoundId:mX(t)})})),gX={blow:"/chat-sounds/Blow.mp3",bottle:"/chat-sounds/Bottle.mp3",frog:"/chat-sounds/Frog.mp3",funk:"/chat-sounds/Funk.mp3",glass:"/chat-sounds/Glass.mp3",ping:"/chat-sounds/Ping.mp3",pop:"/chat-sounds/Pop.mp3",purr:"/chat-sounds/Purr.mp3",tink:"/chat-sounds/Tink.mp3"};function vX(e=document){return e.visibilityState!=="visible"||!e.hasFocus()}function bX(e){const t=new Audio(gX[e]);return t.preload="auto",t.play()}async function uw(e,t){if(t<=0)return;const n=Array.from({length:t},(r,i)=>new Promise(s=>{window.setTimeout(()=>{bX(e).catch(()=>{}).finally(()=>s())},i*90)}));await Promise.all(n)}function yX(e,t=document){return e==="never"?!1:e==="always"?!0:vX(t)}function _X(e){return e.projectGroups.reduce((t,n)=>t+n.chats.reduce((r,i)=>r+(i.unread?1:0)+(i.status==="waiting_for_user"?1:0),0),0)}function GN(e){let t=0;const n=new Set;for(const r of e.projectGroups)for(const i of r.chats)i.unread&&(t+=1),i.status==="waiting_for_user"&&n.add(i.chatId);return{unreadCount:t,waitingChatIds:n}}function xX(e,t){if(!e)return 0;const n=GN(e),r=GN(t),i=Math.max(0,r.unreadCount-n.unreadCount);let s=0;for(const o of r.waitingChatIds)n.waitingChatIds.has(o)||(s+=1);return i+s}function dw(e){return e.split(/[\s_-]+/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join(" ")}const SX=[/^(?:\/usr\/bin\/env\s+)?(?:\/bin\/)?(?:bash|zsh|sh)\s+(?:-[a-zA-Z]*c|-c)\s+(['"])([\s\S]*)\1$/,/^(?:\/usr\/bin\/env\s+)?(?:\/bin\/)?(?:bash|zsh|sh)\s+(?:-[a-zA-Z]*c|-c)\s+(.+)$/,/^(?:\/usr\/bin\/env\s+)?(?:cmd(?:\.exe)?)\s+\/c\s+(['"])([\s\S]*)\1$/i,/^(?:\/usr\/bin\/env\s+)?(?:cmd(?:\.exe)?)\s+\/c\s+(.+)$/i,/^(?:\/usr\/bin\/env\s+)?(?:powershell(?:\.exe)?|pwsh)\s+(?:-NoProfile\s+)?-Command\s+(['"])([\s\S]*)\1$/i,/^(?:\/usr\/bin\/env\s+)?(?:powershell(?:\.exe)?|pwsh)\s+(?:-NoProfile\s+)?-Command\s+(.+)$/i];function wX(e){const t=e.trim();for(const n of SX){const r=t.match(n);if(!r)continue;const i=(r[2]??r[1]??"").trim();if(i)return i}return t}function ik(e){return e.split("/").pop()||e}const CX=1440*6e4;function kX(e,t){const n=Math.max(0,t-e),r=Math.floor(n/1e3),i=Math.floor(r/3600),s=Math.floor(r%3600/60),o=r%60;return i>0?`${i}h ${s}m`:s>0?`${s}m ${o}s`:`${o}s`}function EX(e){const t=new Date(e),n=t.getHours().toString().padStart(2,"0"),r=t.getMinutes().toString().padStart(2,"0");return`${n}:${r}`}function RX(e,t){if(e===void 0)return null;const n=Math.max(0,t-e),r=6e4,i=60*r,s=CX,o=7*s;return n<r?"now":n<i?`${Math.floor(n/r)}m`:n<s?`${Math.floor(n/i)}h`:n<o?`${Math.floor(n/s)}d`:`${Math.floor(n/o)}w`}function TX(e){return e.lastMessageAt??e._creationTime}const Fd=({children:e,className:t,animate:n=!0,shimmerWidth:r,...i})=>f.jsx("span",{className:he("mx-auto max-w-md text-foreground/60",n&&"animate-shiny-pulse",t),...i,children:e}),sk=1e3,fv=60*sk,Qu=60*fv,yx=24*Qu;function ul(e){const t=Math.max(0,e);if(t<fv)return`${Math.floor(t/sk)}s`;if(t<Qu)return`${Math.floor(t/fv)}m`;if(t<yx){const i=Math.floor(t/Qu),s=Math.floor(t%Qu/fv);return s===0?`${i}h`:`${i}h ${s}m`}const n=Math.floor(t/yx),r=Math.floor(t%yx/Qu);return r===0?`${n}d`:`${n}d ${r}h`}function fw(e){const t=Math.max(0,e);if(t>=Qu)return ul(t);const n=Math.floor(t/sk),r=Math.floor(n/60),i=n%60;return`${r}:${i.toString().padStart(2,"0")}`}function hw(e){switch(e){case"idle":return"Idle";case"starting":return"Starting";case"running":return"Running";case"waiting_for_user":return"Waiting";case"failed":return"Failed"}}function pw(e){switch(e){case"running":return"active";case"waiting_for_user":return"attention";case"failed":return"destructive";case"idle":case"starting":default:return"muted"}}function mw(e){switch(e){case"active":return"text-emerald-500 dark:text-emerald-400";case"attention":return"text-amber-500 dark:text-amber-400";case"destructive":return"text-destructive";case"muted":default:return"text-muted-foreground"}}function ok(e){const t=e+"CollectionProvider",[n,r]=ba(t),[i,s]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=x=>{const{scope:w,children:C}=x,k=An.useRef(null),R=An.useRef(new Map).current;return f.jsx(i,{scope:w,itemMap:R,collectionRef:k,children:C})};o.displayName=t;const l=e+"CollectionSlot",c=Ec(l),d=An.forwardRef((x,w)=>{const{scope:C,children:k}=x,R=s(l,C),T=yn(w,R.collectionRef);return f.jsx(c,{ref:T,children:k})});d.displayName=l;const p=e+"CollectionItemSlot",h="data-radix-collection-item",g=Ec(p),v=An.forwardRef((x,w)=>{const{scope:C,children:k,...R}=x,T=An.useRef(null),A=yn(w,T),N=s(p,C);return An.useEffect(()=>(N.itemMap.set(T,{ref:T,...R}),()=>void N.itemMap.delete(T))),f.jsx(g,{[h]:"",ref:A,children:k})});v.displayName=p;function _(x){const w=s(e+"CollectionConsumer",x);return An.useCallback(()=>{const k=w.collectionRef.current;if(!k)return[];const R=Array.from(k.querySelectorAll(`[${h}]`));return Array.from(w.itemMap.values()).sort((N,M)=>R.indexOf(N.ref.current)-R.indexOf(M.ref.current))},[w.collectionRef,w.itemMap])}return[{Provider:o,Slot:d,ItemSlot:v},_,r]}var AX=b.createContext(void 0);function ak(e){const t=b.useContext(AX);return e||t||"ltr"}var _x="rovingFocusGroup.onEntryFocus",NX={bubbles:!1,cancelable:!0},Np="RovingFocusGroup",[gw,CO,MX]=ok(Np),[LX,kO]=ba(Np,[MX]),[DX,IX]=LX(Np),EO=b.forwardRef((e,t)=>f.jsx(gw.Provider,{scope:e.__scopeRovingFocusGroup,children:f.jsx(gw.Slot,{scope:e.__scopeRovingFocusGroup,children:f.jsx(PX,{...e,ref:t})})}));EO.displayName=Np;var PX=b.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:s,currentTabStopId:o,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:c,onEntryFocus:d,preventScrollOnEntryFocus:p=!1,...h}=e,g=b.useRef(null),v=yn(t,g),_=ak(s),[x,w]=md({prop:o,defaultProp:l??null,onChange:c,caller:Np}),[C,k]=b.useState(!1),R=Gs(d),T=CO(n),A=b.useRef(!1),[N,M]=b.useState(0);return b.useEffect(()=>{const D=g.current;if(D)return D.addEventListener(_x,R),()=>D.removeEventListener(_x,R)},[R]),f.jsx(DX,{scope:n,orientation:r,dir:_,loop:i,currentTabStopId:x,onItemFocus:b.useCallback(D=>w(D),[w]),onItemShiftTab:b.useCallback(()=>k(!0),[]),onFocusableItemAdd:b.useCallback(()=>M(D=>D+1),[]),onFocusableItemRemove:b.useCallback(()=>M(D=>D-1),[]),children:f.jsx(Jt.div,{tabIndex:C||N===0?-1:0,"data-orientation":r,...h,ref:v,style:{outline:"none",...e.style},onMouseDown:Ze(e.onMouseDown,()=>{A.current=!0}),onFocus:Ze(e.onFocus,D=>{const W=!A.current;if(D.target===D.currentTarget&&W&&!C){const I=new CustomEvent(_x,NX);if(D.currentTarget.dispatchEvent(I),!I.defaultPrevented){const $=T().filter(z=>z.focusable),B=$.find(z=>z.active),j=$.find(z=>z.id===x),V=[B,j,...$].filter(Boolean).map(z=>z.ref.current);AO(V,p)}}A.current=!1}),onBlur:Ze(e.onBlur,()=>k(!1))})})}),RO="RovingFocusGroupItem",TO=b.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:s,children:o,...l}=e,c=ua(),d=s||c,p=IX(RO,n),h=p.currentTabStopId===d,g=CO(n),{onFocusableItemAdd:v,onFocusableItemRemove:_,currentTabStopId:x}=p;return b.useEffect(()=>{if(r)return v(),()=>_()},[r,v,_]),f.jsx(gw.ItemSlot,{scope:n,id:d,focusable:r,active:i,children:f.jsx(Jt.span,{tabIndex:h?0:-1,"data-orientation":p.orientation,...l,ref:t,onMouseDown:Ze(e.onMouseDown,w=>{r?p.onItemFocus(d):w.preventDefault()}),onFocus:Ze(e.onFocus,()=>p.onItemFocus(d)),onKeyDown:Ze(e.onKeyDown,w=>{if(w.key==="Tab"&&w.shiftKey){p.onItemShiftTab();return}if(w.target!==w.currentTarget)return;const C=zX(w,p.orientation,p.dir);if(C!==void 0){if(w.metaKey||w.ctrlKey||w.altKey||w.shiftKey)return;w.preventDefault();let R=g().filter(T=>T.focusable).map(T=>T.ref.current);if(C==="last")R.reverse();else if(C==="prev"||C==="next"){C==="prev"&&R.reverse();const T=R.indexOf(w.currentTarget);R=p.loop?BX(R,T+1):R.slice(T+1)}setTimeout(()=>AO(R))}}),children:typeof o=="function"?o({isCurrentTabStop:h,hasTabStop:x!=null}):o})})});TO.displayName=RO;var jX={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function OX(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function zX(e,t,n){const r=OX(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return jX[r]}function AO(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function BX(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var FX=EO,$X=TO,vw=["Enter"," "],HX=["ArrowDown","PageUp","Home"],NO=["ArrowUp","PageDown","End"],UX=[...HX,...NO],VX={ltr:[...vw,"ArrowRight"],rtl:[...vw,"ArrowLeft"]},WX={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Mp="Menu",[Kh,GX,qX]=ok(Mp),[$c,MO]=ba(Mp,[qX,Ml,kO]),c0=Ml(),LO=kO(),[KX,Hc]=$c(Mp),[YX,Lp]=$c(Mp),DO=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:s,modal:o=!0}=e,l=c0(t),[c,d]=b.useState(null),p=b.useRef(!1),h=Gs(s),g=ak(i);return b.useEffect(()=>{const v=()=>{p.current=!0,document.addEventListener("pointerdown",_,{capture:!0,once:!0}),document.addEventListener("pointermove",_,{capture:!0,once:!0})},_=()=>p.current=!1;return document.addEventListener("keydown",v,{capture:!0}),()=>{document.removeEventListener("keydown",v,{capture:!0}),document.removeEventListener("pointerdown",_,{capture:!0}),document.removeEventListener("pointermove",_,{capture:!0})}},[]),f.jsx(r0,{...l,children:f.jsx(KX,{scope:t,open:n,onOpenChange:h,content:c,onContentChange:d,children:f.jsx(YX,{scope:t,onClose:b.useCallback(()=>h(!1),[h]),isUsingKeyboardRef:p,dir:g,modal:o,children:r})})})};DO.displayName=Mp;var XX="MenuAnchor",lk=b.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,i=c0(n);return f.jsx(Tp,{...i,...r,ref:t})});lk.displayName=XX;var ck="MenuPortal",[QX,IO]=$c(ck,{forceMount:void 0}),PO=e=>{const{__scopeMenu:t,forceMount:n,children:r,container:i}=e,s=Hc(ck,t);return f.jsx(QX,{scope:t,forceMount:n,children:f.jsx(ks,{present:n||s.open,children:f.jsx(jd,{asChild:!0,container:i,children:r})})})};PO.displayName=ck;var _s="MenuContent",[ZX,uk]=$c(_s),jO=b.forwardRef((e,t)=>{const n=IO(_s,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,s=Hc(_s,e.__scopeMenu),o=Lp(_s,e.__scopeMenu);return f.jsx(Kh.Provider,{scope:e.__scopeMenu,children:f.jsx(ks,{present:r||s.open,children:f.jsx(Kh.Slot,{scope:e.__scopeMenu,children:o.modal?f.jsx(JX,{...i,ref:t}):f.jsx(eQ,{...i,ref:t})})})})}),JX=b.forwardRef((e,t)=>{const n=Hc(_s,e.__scopeMenu),r=b.useRef(null),i=yn(t,r);return b.useEffect(()=>{const s=r.current;if(s)return Xb(s)},[]),f.jsx(dk,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:Ze(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),eQ=b.forwardRef((e,t)=>{const n=Hc(_s,e.__scopeMenu);return f.jsx(dk,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),tQ=Ec("MenuContent.ScrollLock"),dk=b.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:s,onCloseAutoFocus:o,disableOutsidePointerEvents:l,onEntryFocus:c,onEscapeKeyDown:d,onPointerDownOutside:p,onFocusOutside:h,onInteractOutside:g,onDismiss:v,disableOutsideScroll:_,...x}=e,w=Hc(_s,n),C=Lp(_s,n),k=c0(n),R=LO(n),T=GX(n),[A,N]=b.useState(null),M=b.useRef(null),D=yn(t,M,w.onContentChange),W=b.useRef(0),I=b.useRef(""),$=b.useRef(0),B=b.useRef(null),j=b.useRef("right"),F=b.useRef(0),V=_?kp:b.Fragment,z=_?{as:tQ,allowPinchZoom:!0}:void 0,H=Y=>{var se,ve;const P=I.current+Y,G=T().filter(ue=>!ue.disabled),J=document.activeElement,O=(se=G.find(ue=>ue.ref.current===J))==null?void 0:se.textValue,ie=G.map(ue=>ue.textValue),Z=hQ(ie,P,O),oe=(ve=G.find(ue=>ue.textValue===Z))==null?void 0:ve.ref.current;(function ue(ye){I.current=ye,window.clearTimeout(W.current),ye!==""&&(W.current=window.setTimeout(()=>ue(""),1e3))})(P),oe&&setTimeout(()=>oe.focus())};b.useEffect(()=>()=>window.clearTimeout(W.current),[]),Kb();const U=b.useCallback(Y=>{var G,J;return j.current===((G=B.current)==null?void 0:G.side)&&mQ(Y,(J=B.current)==null?void 0:J.area)},[]);return f.jsx(ZX,{scope:n,searchRef:I,onItemEnter:b.useCallback(Y=>{U(Y)&&Y.preventDefault()},[U]),onItemLeave:b.useCallback(Y=>{var P;U(Y)||((P=M.current)==null||P.focus(),N(null))},[U]),onTriggerLeave:b.useCallback(Y=>{U(Y)&&Y.preventDefault()},[U]),pointerGraceTimerRef:$,onPointerGraceIntentChange:b.useCallback(Y=>{B.current=Y},[]),children:f.jsx(V,{...z,children:f.jsx(Cp,{asChild:!0,trapped:i,onMountAutoFocus:Ze(s,Y=>{var P;Y.preventDefault(),(P=M.current)==null||P.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:f.jsx(Pd,{asChild:!0,disableOutsidePointerEvents:l,onEscapeKeyDown:d,onPointerDownOutside:p,onFocusOutside:h,onInteractOutside:g,onDismiss:v,children:f.jsx(FX,{asChild:!0,...R,dir:C.dir,orientation:"vertical",loop:r,currentTabStopId:A,onCurrentTabStopIdChange:N,onEntryFocus:Ze(c,Y=>{C.isUsingKeyboardRef.current||Y.preventDefault()}),preventScrollOnEntryFocus:!0,children:f.jsx(i0,{role:"menu","aria-orientation":"vertical","data-state":ZO(w.open),"data-radix-menu-content":"",dir:C.dir,...k,...x,ref:D,style:{outline:"none",...x.style},onKeyDown:Ze(x.onKeyDown,Y=>{const G=Y.target.closest("[data-radix-menu-content]")===Y.currentTarget,J=Y.ctrlKey||Y.altKey||Y.metaKey,O=Y.key.length===1;G&&(Y.key==="Tab"&&Y.preventDefault(),!J&&O&&H(Y.key));const ie=M.current;if(Y.target!==ie||!UX.includes(Y.key))return;Y.preventDefault();const oe=T().filter(se=>!se.disabled).map(se=>se.ref.current);NO.includes(Y.key)&&oe.reverse(),dQ(oe)}),onBlur:Ze(e.onBlur,Y=>{Y.currentTarget.contains(Y.target)||(window.clearTimeout(W.current),I.current="")}),onPointerMove:Ze(e.onPointerMove,Yh(Y=>{const P=Y.target,G=F.current!==Y.clientX;if(Y.currentTarget.contains(P)&&G){const J=Y.clientX>F.current?"right":"left";j.current=J,F.current=Y.clientX}}))})})})})})})});jO.displayName=_s;var nQ="MenuGroup",fk=b.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return f.jsx(Jt.div,{role:"group",...r,ref:t})});fk.displayName=nQ;var rQ="MenuLabel",OO=b.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return f.jsx(Jt.div,{...r,ref:t})});OO.displayName=rQ;var qv="MenuItem",qN="menu.itemSelect",u0=b.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...i}=e,s=b.useRef(null),o=Lp(qv,e.__scopeMenu),l=uk(qv,e.__scopeMenu),c=yn(t,s),d=b.useRef(!1),p=()=>{const h=s.current;if(!n&&h){const g=new CustomEvent(qN,{bubbles:!0,cancelable:!0});h.addEventListener(qN,v=>r==null?void 0:r(v),{once:!0}),Hj(h,g),g.defaultPrevented?d.current=!1:o.onClose()}};return f.jsx(zO,{...i,ref:c,disabled:n,onClick:Ze(e.onClick,p),onPointerDown:h=>{var g;(g=e.onPointerDown)==null||g.call(e,h),d.current=!0},onPointerUp:Ze(e.onPointerUp,h=>{var g;d.current||(g=h.currentTarget)==null||g.click()}),onKeyDown:Ze(e.onKeyDown,h=>{const g=l.searchRef.current!=="";n||g&&h.key===" "||vw.includes(h.key)&&(h.currentTarget.click(),h.preventDefault())})})});u0.displayName=qv;var zO=b.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:i,...s}=e,o=uk(qv,n),l=LO(n),c=b.useRef(null),d=yn(t,c),[p,h]=b.useState(!1),[g,v]=b.useState("");return b.useEffect(()=>{const _=c.current;_&&v((_.textContent??"").trim())},[s.children]),f.jsx(Kh.ItemSlot,{scope:n,disabled:r,textValue:i??g,children:f.jsx($X,{asChild:!0,...l,focusable:!r,children:f.jsx(Jt.div,{role:"menuitem","data-highlighted":p?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...s,ref:d,onPointerMove:Ze(e.onPointerMove,Yh(_=>{r?o.onItemLeave(_):(o.onItemEnter(_),_.defaultPrevented||_.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Ze(e.onPointerLeave,Yh(_=>o.onItemLeave(_))),onFocus:Ze(e.onFocus,()=>h(!0)),onBlur:Ze(e.onBlur,()=>h(!1))})})})}),iQ="MenuCheckboxItem",BO=b.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:r,...i}=e;return f.jsx(VO,{scope:e.__scopeMenu,checked:n,children:f.jsx(u0,{role:"menuitemcheckbox","aria-checked":Kv(n)?"mixed":n,...i,ref:t,"data-state":pk(n),onSelect:Ze(i.onSelect,()=>r==null?void 0:r(Kv(n)?!0:!n),{checkForDefaultPrevented:!1})})})});BO.displayName=iQ;var FO="MenuRadioGroup",[sQ,oQ]=$c(FO,{value:void 0,onValueChange:()=>{}}),$O=b.forwardRef((e,t)=>{const{value:n,onValueChange:r,...i}=e,s=Gs(r);return f.jsx(sQ,{scope:e.__scopeMenu,value:n,onValueChange:s,children:f.jsx(fk,{...i,ref:t})})});$O.displayName=FO;var HO="MenuRadioItem",UO=b.forwardRef((e,t)=>{const{value:n,...r}=e,i=oQ(HO,e.__scopeMenu),s=n===i.value;return f.jsx(VO,{scope:e.__scopeMenu,checked:s,children:f.jsx(u0,{role:"menuitemradio","aria-checked":s,...r,ref:t,"data-state":pk(s),onSelect:Ze(r.onSelect,()=>{var o;return(o=i.onValueChange)==null?void 0:o.call(i,n)},{checkForDefaultPrevented:!1})})})});UO.displayName=HO;var hk="MenuItemIndicator",[VO,aQ]=$c(hk,{checked:!1}),WO=b.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:r,...i}=e,s=aQ(hk,n);return f.jsx(ks,{present:r||Kv(s.checked)||s.checked===!0,children:f.jsx(Jt.span,{...i,ref:t,"data-state":pk(s.checked)})})});WO.displayName=hk;var lQ="MenuSeparator",GO=b.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return f.jsx(Jt.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});GO.displayName=lQ;var cQ="MenuArrow",qO=b.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,i=c0(n);return f.jsx(s0,{...i,...r,ref:t})});qO.displayName=cQ;var uQ="MenuSub",[Vke,KO]=$c(uQ),mh="MenuSubTrigger",YO=b.forwardRef((e,t)=>{const n=Hc(mh,e.__scopeMenu),r=Lp(mh,e.__scopeMenu),i=KO(mh,e.__scopeMenu),s=uk(mh,e.__scopeMenu),o=b.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:c}=s,d={__scopeMenu:e.__scopeMenu},p=b.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return b.useEffect(()=>p,[p]),b.useEffect(()=>{const h=l.current;return()=>{window.clearTimeout(h),c(null)}},[l,c]),f.jsx(lk,{asChild:!0,...d,children:f.jsx(zO,{id:i.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":i.contentId,"data-state":ZO(n.open),...e,ref:LC(t,i.onTriggerChange),onClick:h=>{var g;(g=e.onClick)==null||g.call(e,h),!(e.disabled||h.defaultPrevented)&&(h.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:Ze(e.onPointerMove,Yh(h=>{s.onItemEnter(h),!h.defaultPrevented&&!e.disabled&&!n.open&&!o.current&&(s.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),p()},100))})),onPointerLeave:Ze(e.onPointerLeave,Yh(h=>{var v,_;p();const g=(v=n.content)==null?void 0:v.getBoundingClientRect();if(g){const x=(_=n.content)==null?void 0:_.dataset.side,w=x==="right",C=w?-5:5,k=g[w?"left":"right"],R=g[w?"right":"left"];s.onPointerGraceIntentChange({area:[{x:h.clientX+C,y:h.clientY},{x:k,y:g.top},{x:R,y:g.top},{x:R,y:g.bottom},{x:k,y:g.bottom}],side:x}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(h),h.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:Ze(e.onKeyDown,h=>{var v;const g=s.searchRef.current!=="";e.disabled||g&&h.key===" "||VX[r.dir].includes(h.key)&&(n.onOpenChange(!0),(v=n.content)==null||v.focus(),h.preventDefault())})})})});YO.displayName=mh;var XO="MenuSubContent",QO=b.forwardRef((e,t)=>{const n=IO(_s,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,s=Hc(_s,e.__scopeMenu),o=Lp(_s,e.__scopeMenu),l=KO(XO,e.__scopeMenu),c=b.useRef(null),d=yn(t,c);return f.jsx(Kh.Provider,{scope:e.__scopeMenu,children:f.jsx(ks,{present:r||s.open,children:f.jsx(Kh.Slot,{scope:e.__scopeMenu,children:f.jsx(dk,{id:l.contentId,"aria-labelledby":l.triggerId,...i,ref:d,align:"start",side:o.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:p=>{var h;o.isUsingKeyboardRef.current&&((h=c.current)==null||h.focus()),p.preventDefault()},onCloseAutoFocus:p=>p.preventDefault(),onFocusOutside:Ze(e.onFocusOutside,p=>{p.target!==l.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:Ze(e.onEscapeKeyDown,p=>{o.onClose(),p.preventDefault()}),onKeyDown:Ze(e.onKeyDown,p=>{var v;const h=p.currentTarget.contains(p.target),g=WX[o.dir].includes(p.key);h&&g&&(s.onOpenChange(!1),(v=l.trigger)==null||v.focus(),p.preventDefault())})})})})})});QO.displayName=XO;function ZO(e){return e?"open":"closed"}function Kv(e){return e==="indeterminate"}function pk(e){return Kv(e)?"indeterminate":e?"checked":"unchecked"}function dQ(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function fQ(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function hQ(e,t,n){const i=t.length>1&&Array.from(t).every(d=>d===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let o=fQ(e,Math.max(s,0));i.length===1&&(o=o.filter(d=>d!==n));const c=o.find(d=>d.toLowerCase().startsWith(i.toLowerCase()));return c!==n?c:void 0}function pQ(e,t){const{x:n,y:r}=e;let i=!1;for(let s=0,o=t.length-1;s<t.length;o=s++){const l=t[s],c=t[o],d=l.x,p=l.y,h=c.x,g=c.y;p>r!=g>r&&n<(h-d)*(r-p)/(g-p)+d&&(i=!i)}return i}function mQ(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return pQ(n,t)}function Yh(e){return t=>t.pointerType==="mouse"?e(t):void 0}var gQ=DO,vQ=lk,bQ=PO,yQ=jO,_Q=fk,xQ=OO,SQ=u0,wQ=BO,CQ=$O,kQ=UO,EQ=WO,RQ=GO,TQ=qO,AQ=YO,NQ=QO,mk="ContextMenu",[MQ]=ba(mk,[MO]),mi=MO(),[LQ,JO]=MQ(mk),e3=e=>{const{__scopeContextMenu:t,children:n,onOpenChange:r,dir:i,modal:s=!0}=e,[o,l]=b.useState(!1),c=mi(t),d=Gs(r),p=b.useCallback(h=>{l(h),d(h)},[d]);return f.jsx(LQ,{scope:t,open:o,onOpenChange:p,modal:s,children:f.jsx(gQ,{...c,dir:i,open:o,onOpenChange:p,modal:s,children:n})})};e3.displayName=mk;var t3="ContextMenuTrigger",n3=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,disabled:r=!1,...i}=e,s=JO(t3,n),o=mi(n),l=b.useRef({x:0,y:0}),c=b.useRef({getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...l.current})}),d=b.useRef(0),p=b.useCallback(()=>window.clearTimeout(d.current),[]),h=g=>{l.current={x:g.clientX,y:g.clientY},s.onOpenChange(!0)};return b.useEffect(()=>p,[p]),b.useEffect(()=>void(r&&p()),[r,p]),f.jsxs(f.Fragment,{children:[f.jsx(vQ,{...o,virtualRef:c}),f.jsx(Jt.span,{"data-state":s.open?"open":"closed","data-disabled":r?"":void 0,...i,ref:t,style:{WebkitTouchCallout:"none",...e.style},onContextMenu:r?e.onContextMenu:Ze(e.onContextMenu,g=>{p(),h(g),g.preventDefault()}),onPointerDown:r?e.onPointerDown:Ze(e.onPointerDown,pg(g=>{p(),d.current=window.setTimeout(()=>h(g),700)})),onPointerMove:r?e.onPointerMove:Ze(e.onPointerMove,pg(p)),onPointerCancel:r?e.onPointerCancel:Ze(e.onPointerCancel,pg(p)),onPointerUp:r?e.onPointerUp:Ze(e.onPointerUp,pg(p))})]})});n3.displayName=t3;var DQ="ContextMenuPortal",r3=e=>{const{__scopeContextMenu:t,...n}=e,r=mi(t);return f.jsx(bQ,{...r,...n})};r3.displayName=DQ;var i3="ContextMenuContent",s3=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=JO(i3,n),s=mi(n),o=b.useRef(!1);return f.jsx(yQ,{...s,...r,ref:t,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:l=>{var c;(c=e.onCloseAutoFocus)==null||c.call(e,l),!l.defaultPrevented&&o.current&&l.preventDefault(),o.current=!1},onInteractOutside:l=>{var c;(c=e.onInteractOutside)==null||c.call(e,l),!l.defaultPrevented&&!i.modal&&(o.current=!0)},style:{...e.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});s3.displayName=i3;var IQ="ContextMenuGroup",PQ=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(_Q,{...i,...r,ref:t})});PQ.displayName=IQ;var jQ="ContextMenuLabel",OQ=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(xQ,{...i,...r,ref:t})});OQ.displayName=jQ;var zQ="ContextMenuItem",o3=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(SQ,{...i,...r,ref:t})});o3.displayName=zQ;var BQ="ContextMenuCheckboxItem",FQ=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(wQ,{...i,...r,ref:t})});FQ.displayName=BQ;var $Q="ContextMenuRadioGroup",HQ=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(CQ,{...i,...r,ref:t})});HQ.displayName=$Q;var UQ="ContextMenuRadioItem",VQ=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(kQ,{...i,...r,ref:t})});VQ.displayName=UQ;var WQ="ContextMenuItemIndicator",GQ=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(EQ,{...i,...r,ref:t})});GQ.displayName=WQ;var qQ="ContextMenuSeparator",a3=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(RQ,{...i,...r,ref:t})});a3.displayName=qQ;var KQ="ContextMenuArrow",YQ=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(TQ,{...i,...r,ref:t})});YQ.displayName=KQ;var XQ="ContextMenuSubTrigger",QQ=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(AQ,{...i,...r,ref:t})});QQ.displayName=XQ;var ZQ="ContextMenuSubContent",JQ=b.forwardRef((e,t)=>{const{__scopeContextMenu:n,...r}=e,i=mi(n);return f.jsx(NQ,{...i,...r,ref:t,style:{...e.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});JQ.displayName=ZQ;function pg(e){return t=>t.pointerType!=="mouse"?e(t):void 0}var eZ=e3,tZ=n3,nZ=r3,l3=s3,c3=o3,u3=a3;const d3=b.createContext(null);function $d({onOpenChange:e,...t}){const[n,r]=b.useState(0),i=b.useCallback(()=>{r(s=>s+1),e==null||e(!1)},[e]);return f.jsx(d3.Provider,{value:i,children:f.jsx(eZ,{onOpenChange:e,...t},n)})}const Hd=tZ,Uc=b.forwardRef(({className:e,...t},n)=>f.jsx(nZ,{children:f.jsx(l3,{ref:n,className:he("z-50 min-w-[170px] overflow-hidden rounded-xl border border-border bg-background p-1 shadow-lg outline-hidden animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",e),...t})}));Uc.displayName=l3.displayName;const Wn=b.forwardRef(({className:e,onSelect:t,...n},r)=>{const i=b.useContext(d3);return f.jsx(c3,{ref:r,className:he("relative flex cursor-default select-none items-center gap-2.5 rounded-lg px-3 py-2 text-xs font-medium text-foreground outline-hidden transition-colors hover:bg-muted focus:bg-muted data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),onSelect:s=>{t==null||t(s),i==null||i()},...n})});Wn.displayName=c3.displayName;const f3=b.forwardRef(({className:e,...t},n)=>f.jsx(u3,{ref:n,className:he("-mx-1 my-1 h-px bg-border",e),...t}));f3.displayName=u3.displayName;function rZ({editorLabel:e,onCopyPath:t,onShowArchived:n,onOpenInFinder:r,onOpenInEditor:i,onHide:s,children:o}){return f.jsxs($d,{children:[f.jsx(Hd,{asChild:!0,children:o}),f.jsxs(Uc,{children:[f.jsxs(Wn,{onSelect:l=>{l.stopPropagation(),t()},children:[f.jsx(Cl,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Copy Path"})]}),f.jsxs(Wn,{onSelect:l=>{l.stopPropagation(),n()},children:[f.jsx(CC,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Show Archived"})]}),f.jsxs(Wn,{onSelect:l=>{l.stopPropagation(),r()},children:[f.jsx(Vb,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Show in Finder"})]}),f.jsxs(Wn,{onSelect:l=>{l.stopPropagation(),i()},children:[f.jsx(kC,{className:"h-3.5 w-3.5"}),f.jsxs("span",{className:"text-xs font-medium",children:["Open in ",e]})]}),f.jsxs(Wn,{onSelect:l=>{l.stopPropagation(),s()},className:"text-destructive hover:bg-destructive/10 focus:bg-destructive/10",children:[f.jsx(D9,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Hide"})]})]})]})}function iZ({canFork:e,onRename:t,onShare:n,onOpenInFinder:r,onFork:i,onArchive:s,onDelete:o,children:l}){return f.jsxs($d,{children:[f.jsx(Hd,{asChild:!0,children:l}),f.jsxs(Uc,{children:[f.jsxs(Wn,{onSelect:c=>{c.preventDefault(),t()},children:[f.jsx(AC,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Rename"})]}),f.jsxs(Wn,{onSelect:c=>{c.preventDefault(),n()},children:[f.jsx(MC,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Share"})]}),f.jsxs(Wn,{onSelect:c=>{c.preventDefault(),r()},children:[f.jsx(Vb,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Open in Finder"})]}),f.jsxs(Wn,{disabled:!e,onSelect:c=>{c.preventDefault(),e&&i()},children:[f.jsx(Fj,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Fork"})]}),f.jsxs(Wn,{onSelect:c=>{c.preventDefault(),s()},children:[f.jsx(CC,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Archive"})]}),f.jsxs(Wn,{onSelect:c=>{c.preventDefault(),o()},className:"text-destructive dark:text-red-400 hover:bg-destructive/10 focus:bg-destructive/10 dark:hover:bg-red-500/20 dark:focus:bg-red-500/20",children:[f.jsx(Gb,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Delete"})]})]})]})}const sZ=new Set(["starting","running"]);function oZ({chat:e,activeChatId:t,nowMs:n,shortcutHint:r=null,showShortcutHint:i=!1,onSelectChat:s,onRenameChat:o,onShareChat:l,onOpenInFinder:c,onForkChat:d,onArchiveChat:p,onDeleteChat:h}){const g=(e.status==="running"||e.status==="waiting_for_user")&&e.stateEnteredAt!=null,v=g&&e.stateEnteredAt!=null?`${hw(e.status)} ${fw(n-e.stateEnteredAt)}`:ul(n-(e.lastMessageAt??e._creationTime)),_=i&&r?r:v,x=i&&!!r,w=tK(e.chatId),C=f.jsxs("div",{"data-chat-id":w,className:he("group flex items-center gap-2 pl-2.5 pr-0.5 py-0.5 rounded-lg cursor-pointer border-border/0 hover:border-border hover:bg-muted/20 active:scale-[0.985] border transition-all",t===w?"bg-muted hover:bg-muted border-border":"border-border/0 dark:hover:border-border/40 "),onClick:()=>s(e.chatId),children:[sZ.has(e.status)?f.jsx(bn,{className:"size-3.5 flex-shrink-0 animate-spin text-logo"}):e.status==="waiting_for_user"?f.jsx("div",{className:"relative ",children:f.jsxs("div",{className:" rounded-full z-0 size-3.5 flex items-center justify-center ",children:[f.jsx("div",{className:"absolute rounded-full z-0 size-2.5 bg-info/80 animate-ping"}),f.jsx("div",{className:" rounded-full z-0 size-2.5 bg-info ring-2 ring-muted/20 dark:ring-muted/50"})]})}):e.unread?f.jsx("div",{className:"relative ",children:f.jsxs("div",{className:" rounded-full z-0 size-3.5 flex items-center justify-center ",children:[f.jsx("div",{className:"absolute rounded-full z-0 size-2.5 bg-success/80 animate-ping"}),f.jsx("div",{className:" rounded-full z-0 size-2.5 bg-success ring-2 ring-muted/20 dark:ring-muted/50"})]})}):null,f.jsx("span",{className:"text-sm truncate flex-1 translate-y-[-0.5px]",children:e.status!=="idle"&&e.status!=="waiting_for_user"?f.jsx(Fd,{animate:e.status==="running",shimmerWidth:Math.max(20,e.title.length*3),children:e.title}):e.status!=="idle"||t===w||e.unread?f.jsx("span",{className:"",children:e.title}):f.jsx("span",{className:"text-slate-500 dark:text-slate-400",children:e.title})}),f.jsxs("div",{className:he("relative h-7 mr-[2px] shrink-0",e.canFork?"w-12":g?"w-20":"w-6"),children:[_?x?f.jsx("span",{className:"hidden md:flex absolute inset-0 items-center justify-end pr-0.5 text-[11px] text-foreground transition-opacity group-hover:opacity-0",children:f.jsx(_O,{className:"h-4 min-w-4 rounded-sm border-border/50 bg-transparent px-1 text-[10px]",children:r})}):f.jsx("span",{className:he("hidden md:flex absolute inset-0 items-center justify-end pr-1 text-[11px] tabular-nums opacity-80 transition-opacity group-hover:opacity-0",g?mw(pw(e.status)):"text-muted-foreground opacity-60"),children:_}):null,f.jsxs("div",{className:he("absolute inset-0 flex items-center justify-end gap-0 opacity-100 mr-[3px]",_?"md:opacity-0 md:group-hover:opacity-100":"opacity-100 md:opacity-0 md:group-hover:opacity-100"),children:[e.canFork?f.jsx(Xe,{variant:"ghost",size:"icon",className:"h-6 w-6 cursor-pointer rounded-sm hover:!bg-transparent !border-0",onClick:k=>{k.stopPropagation(),d(e.chatId)},title:"Fork chat",children:f.jsx(Fj,{className:"size-3.5"})}):null,f.jsx(Xe,{variant:"ghost",size:"icon",className:"h-6 w-6 cursor-pointer rounded-sm hover:!bg-transparent !border-0",onClick:k=>{k.stopPropagation(),p(e.chatId)},title:"Archive chat",children:f.jsx(CC,{className:"size-3.5"})})]})]})]},e._id);return f.jsx(iZ,{canFork:e.canFork,onRename:()=>o(e.chatId),onShare:()=>l(e.chatId),onOpenInFinder:()=>c(e.localPath),onFork:()=>d(e.chatId),onArchive:()=>p(e.chatId),onDelete:()=>h(e.chatId),children:C})}const aZ=b.memo(oZ);function lZ(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return b.useMemo(()=>r=>{t.forEach(i=>i(r))},t)}const d0=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Ud(e){const t=Object.prototype.toString.call(e);return t==="[object Window]"||t==="[object global]"}function gk(e){return"nodeType"in e}function Ni(e){var t,n;return e?Ud(e)?e:gk(e)&&(t=(n=e.ownerDocument)==null?void 0:n.defaultView)!=null?t:window:window}function vk(e){const{Document:t}=Ni(e);return e instanceof t}function Dp(e){return Ud(e)?!1:e instanceof Ni(e).HTMLElement}function h3(e){return e instanceof Ni(e).SVGElement}function Vd(e){return e?Ud(e)?e.document:gk(e)?vk(e)?e:Dp(e)||h3(e)?e.ownerDocument:document:document:document}const ko=d0?b.useLayoutEffect:b.useEffect;function bk(e){const t=b.useRef(e);return ko(()=>{t.current=e}),b.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return t.current==null?void 0:t.current(...r)},[])}function cZ(){const e=b.useRef(null),t=b.useCallback((r,i)=>{e.current=setInterval(r,i)},[]),n=b.useCallback(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[]);return[t,n]}function Xh(e,t){t===void 0&&(t=[e]);const n=b.useRef(e);return ko(()=>{n.current!==e&&(n.current=e)},t),n}function Ip(e,t){const n=b.useRef();return b.useMemo(()=>{const r=e(n.current);return n.current=r,r},[...t])}function Yv(e){const t=bk(e),n=b.useRef(null),r=b.useCallback(i=>{i!==n.current&&(t==null||t(i,n.current)),n.current=i},[]);return[n,r]}function bw(e){const t=b.useRef();return b.useEffect(()=>{t.current=e},[e]),t.current}let xx={};function Pp(e,t){return b.useMemo(()=>{if(t)return t;const n=xx[e]==null?0:xx[e]+1;return xx[e]=n,e+"-"+n},[e,t])}function p3(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return r.reduce((s,o)=>{const l=Object.entries(o);for(const[c,d]of l){const p=s[c];p!=null&&(s[c]=p+e*d)}return s},{...t})}}const sd=p3(1),Xv=p3(-1);function uZ(e){return"clientX"in e&&"clientY"in e}function yk(e){if(!e)return!1;const{KeyboardEvent:t}=Ni(e.target);return t&&e instanceof t}function dZ(e){if(!e)return!1;const{TouchEvent:t}=Ni(e.target);return t&&e instanceof t}function yw(e){if(dZ(e)){if(e.touches&&e.touches.length){const{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}else if(e.changedTouches&&e.changedTouches.length){const{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return uZ(e)?{x:e.clientX,y:e.clientY}:null}const Qh=Object.freeze({Translate:{toString(e){if(!e)return;const{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;const{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[Qh.Translate.toString(e),Qh.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}}),KN="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function fZ(e){return e.matches(KN)?e:e.querySelector(KN)}const hZ={display:"none"};function pZ(e){let{id:t,value:n}=e;return An.createElement("div",{id:t,style:hZ},n)}function mZ(e){let{id:t,announcement:n,ariaLiveType:r="assertive"}=e;const i={position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};return An.createElement("div",{id:t,style:i,role:"status","aria-live":r,"aria-atomic":!0},n)}function gZ(){const[e,t]=b.useState("");return{announce:b.useCallback(r=>{r!=null&&t(r)},[]),announcement:e}}const m3=b.createContext(null);function vZ(e){const t=b.useContext(m3);b.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of <DndContext>");return t(e)},[e,t])}function bZ(){const[e]=b.useState(()=>new Set),t=b.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[b.useCallback(r=>{let{type:i,event:s}=r;e.forEach(o=>{var l;return(l=o[i])==null?void 0:l.call(o,s)})},[e]),t]}const yZ={draggable:`
|
|
651
651
|
To pick up a draggable item, press the space bar.
|
|
652
652
|
While dragging, use the arrow keys to move the item.
|
|
653
653
|
Press space again to drop the item in its new position, or press escape to cancel.
|
|
@@ -2549,7 +2549,7 @@ XID_Start XIDS`.split(/\s/).map(e=>[k0(e),e])),Zse=new Map([["s",_r(383)],[_r(38
|
|
|
2549
2549
|
`))}function c(v,_,x,w){const C=x.enter("tableCell"),k=x.enter("phrasing"),R=x.containerPhrasing(v,{...w,before:s,after:s});return k(),C(),R}function d(v,_){return Ihe(v,{align:_,alignDelimiters:r,padding:n,stringLength:i})}function p(v,_,x){const w=v.children;let C=-1;const k=[],R=_.enter("table");for(;++C<w.length;)k[C]=h(w[C],_,x);return R(),k}function h(v,_,x){const w=v.children;let C=-1;const k=[],R=_.enter("tableRow");for(;++C<w.length;)k[C]=c(w[C],v,_,x);return R(),k}function g(v,_,x){let w=e8.inlineCode(v,_,x);return x.stack.includes("tableCell")&&(w=w.replace(/\|/g,"\\$&")),w}}function xpe(){return{exit:{taskListCheckValueChecked:mD,taskListCheckValueUnchecked:mD,paragraph:wpe}}}function Spe(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:Cpe}}}function mD(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function wpe(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const i=t.children;let s=-1,o;for(;++s<i.length;){const l=i[s];if(l.type==="paragraph"){o=l;break}}o===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function Cpe(e,t,n,r){const i=e.children[0],s=typeof e.checked=="boolean"&&i&&i.type==="paragraph",o="["+(e.checked?"x":" ")+"] ",l=n.createTracker(r);s&&l.move(o);let c=e8.listItem(e,t,n,{...r,...l.current()});return s&&(c=c.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,d)),c;function d(p){return p+o}}function kpe(){return[rhe(),Che(),The(),ppe(),xpe()]}function Epe(e){return{extensions:[ihe(),khe(e),Ahe(),_pe(e),Spe()]}}const Rpe={tokenize:Dpe,partial:!0},t8={tokenize:Ipe,partial:!0},n8={tokenize:Ppe,partial:!0},r8={tokenize:jpe,partial:!0},Tpe={tokenize:Ope,partial:!0},i8={name:"wwwAutolink",tokenize:Mpe,previous:o8},s8={name:"protocolAutolink",tokenize:Lpe,previous:a8},_a={name:"emailAutolink",tokenize:Npe,previous:l8},Ao={};function Ape(){return{text:Ao}}let ic=48;for(;ic<123;)Ao[ic]=_a,ic++,ic===58?ic=65:ic===91&&(ic=97);Ao[43]=_a;Ao[45]=_a;Ao[46]=_a;Ao[95]=_a;Ao[72]=[_a,s8];Ao[104]=[_a,s8];Ao[87]=[_a,i8];Ao[119]=[_a,i8];function Npe(e,t,n){const r=this;let i,s;return o;function o(h){return!y1(h)||!l8.call(r,r.previous)||hE(r.events)?n(h):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),l(h))}function l(h){return y1(h)?(e.consume(h),l):h===64?(e.consume(h),c):n(h)}function c(h){return h===46?e.check(Tpe,p,d)(h):h===45||h===95||Jr(h)?(s=!0,e.consume(h),c):p(h)}function d(h){return e.consume(h),i=!0,c}function p(h){return s&&i&&fi(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(h)):n(h)}}function Mpe(e,t,n){const r=this;return i;function i(o){return o!==87&&o!==119||!o8.call(r,r.previous)||hE(r.events)?n(o):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(Rpe,e.attempt(t8,e.attempt(n8,s),n),n)(o))}function s(o){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(o)}}function Lpe(e,t,n){const r=this;let i="",s=!1;return o;function o(h){return(h===72||h===104)&&a8.call(r,r.previous)&&!hE(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(h),e.consume(h),l):n(h)}function l(h){if(fi(h)&&i.length<5)return i+=String.fromCodePoint(h),e.consume(h),l;if(h===58){const g=i.toLowerCase();if(g==="http"||g==="https")return e.consume(h),c}return n(h)}function c(h){return h===47?(e.consume(h),s?d:(s=!0,c)):n(h)}function d(h){return h===null||vb(h)||Mn(h)||Lc(h)||N0(h)?n(h):e.attempt(t8,e.attempt(n8,p),n)(h)}function p(h){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(h)}}function Dpe(e,t,n){let r=0;return i;function i(o){return(o===87||o===119)&&r<3?(r++,e.consume(o),i):o===46&&r===3?(e.consume(o),s):n(o)}function s(o){return o===null?n(o):t(o)}}function Ipe(e,t,n){let r,i,s;return o;function o(d){return d===46||d===95?e.check(r8,c,l)(d):d===null||Mn(d)||Lc(d)||d!==45&&N0(d)?c(d):(s=!0,e.consume(d),o)}function l(d){return d===95?r=!0:(i=r,r=void 0),e.consume(d),o}function c(d){return i||r||!s?n(d):t(d)}}function Ppe(e,t){let n=0,r=0;return i;function i(o){return o===40?(n++,e.consume(o),i):o===41&&r<n?s(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(r8,t,s)(o):o===null||Mn(o)||Lc(o)?t(o):(e.consume(o),i)}function s(o){return o===41&&r++,e.consume(o),i}}function jpe(e,t,n){return r;function r(l){return l===33||l===34||l===39||l===41||l===42||l===44||l===46||l===58||l===59||l===63||l===95||l===126?(e.consume(l),r):l===38?(e.consume(l),s):l===93?(e.consume(l),i):l===60||l===null||Mn(l)||Lc(l)?t(l):n(l)}function i(l){return l===null||l===40||l===91||Mn(l)||Lc(l)?t(l):r(l)}function s(l){return fi(l)?o(l):n(l)}function o(l){return l===59?(e.consume(l),r):fi(l)?(e.consume(l),o):n(l)}}function Ope(e,t,n){return r;function r(s){return e.consume(s),i}function i(s){return Jr(s)?n(s):t(s)}}function o8(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||Mn(e)}function a8(e){return!fi(e)}function l8(e){return!(e===47||y1(e))}function y1(e){return e===43||e===45||e===46||e===95||Jr(e)}function hE(e){let t=e.length,n=!1;for(;t--;){const r=e[t][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const zpe={tokenize:Gpe,partial:!0};function Bpe(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:Upe,continuation:{tokenize:Vpe},exit:Wpe}},text:{91:{name:"gfmFootnoteCall",tokenize:Hpe},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:Fpe,resolveTo:$pe}}}}function Fpe(e,t,n){const r=this;let i=r.events.length;const s=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o;for(;i--;){const c=r.events[i][1];if(c.type==="labelImage"){o=c;break}if(c.type==="gfmFootnoteCall"||c.type==="labelLink"||c.type==="label"||c.type==="image"||c.type==="link")break}return l;function l(c){if(!o||!o._balanced)return n(c);const d=Vs(r.sliceSerialize({start:o.end,end:r.now()}));return d.codePointAt(0)!==94||!s.includes(d.slice(1))?n(c):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),t(c))}}function $pe(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const s={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},l=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",s,t],["enter",o,t],["exit",o,t],["exit",s,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...l),e}function Hpe(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s=0,o;return l;function l(h){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(h),e.exit("gfmFootnoteCallLabelMarker"),c}function c(h){return h!==94?n(h):(e.enter("gfmFootnoteCallMarker"),e.consume(h),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",d)}function d(h){if(s>999||h===93&&!o||h===null||h===91||Mn(h))return n(h);if(h===93){e.exit("chunkString");const g=e.exit("gfmFootnoteCallString");return i.includes(Vs(r.sliceSerialize(g)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(h),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(h)}return Mn(h)||(o=!0),s++,e.consume(h),h===92?p:d}function p(h){return h===91||h===92||h===93?(e.consume(h),s++,d):d(h)}}function Upe(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s,o=0,l;return c;function c(_){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(_),e.exit("gfmFootnoteDefinitionLabelMarker"),d}function d(_){return _===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(_),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",p):n(_)}function p(_){if(o>999||_===93&&!l||_===null||_===91||Mn(_))return n(_);if(_===93){e.exit("chunkString");const x=e.exit("gfmFootnoteDefinitionLabelString");return s=Vs(r.sliceSerialize(x)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(_),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),g}return Mn(_)||(l=!0),o++,e.consume(_),_===92?h:p}function h(_){return _===91||_===92||_===93?(e.consume(_),o++,p):p(_)}function g(_){return _===58?(e.enter("definitionMarker"),e.consume(_),e.exit("definitionMarker"),i.includes(s)||i.push(s),un(e,v,"gfmFootnoteDefinitionWhitespace")):n(_)}function v(_){return t(_)}}function Vpe(e,t,n){return e.check($p,t,e.attempt(zpe,t,n))}function Wpe(e){e.exit("gfmFootnoteDefinition")}function Gpe(e,t,n){const r=this;return un(e,i,"gfmFootnoteDefinitionIndent",5);function i(s){const o=r.events[r.events.length-1];return o&&o[1].type==="gfmFootnoteDefinitionIndent"&&o[2].sliceSerialize(o[1],!0).length===4?t(s):n(s)}}function qpe(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:s,resolveAll:i};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function i(o,l){let c=-1;for(;++c<o.length;)if(o[c][0]==="enter"&&o[c][1].type==="strikethroughSequenceTemporary"&&o[c][1]._close){let d=c;for(;d--;)if(o[d][0]==="exit"&&o[d][1].type==="strikethroughSequenceTemporary"&&o[d][1]._open&&o[c][1].end.offset-o[c][1].start.offset===o[d][1].end.offset-o[d][1].start.offset){o[c][1].type="strikethroughSequence",o[d][1].type="strikethroughSequence";const p={type:"strikethrough",start:Object.assign({},o[d][1].start),end:Object.assign({},o[c][1].end)},h={type:"strikethroughText",start:Object.assign({},o[d][1].end),end:Object.assign({},o[c][1].start)},g=[["enter",p,l],["enter",o[d][1],l],["exit",o[d][1],l],["enter",h,l]],v=l.parser.constructs.insideSpan.null;v&&Gi(g,g.length,0,M0(v,o.slice(d+1,c),l)),Gi(g,g.length,0,[["exit",h,l],["enter",o[c][1],l],["exit",o[c][1],l],["exit",p,l]]),Gi(o,d-1,c-d+3,g),c=d+g.length-2;break}}for(c=-1;++c<o.length;)o[c][1].type==="strikethroughSequenceTemporary"&&(o[c][1].type="data");return o}function s(o,l,c){const d=this.previous,p=this.events;let h=0;return g;function g(_){return d===126&&p[p.length-1][1].type!=="characterEscape"?c(_):(o.enter("strikethroughSequenceTemporary"),v(_))}function v(_){const x=Sd(d);if(_===126)return h>1?c(_):(o.consume(_),h++,v);if(h<2&&!n)return c(_);const w=o.exit("strikethroughSequenceTemporary"),C=Sd(_);return w._open=!C||C===2&&!!x,w._close=!x||x===2&&!!C,l(_)}}}class Kpe{constructor(){this.map=[]}add(t,n,r){Ype(this,t,n,r)}consume(t){if(this.map.sort(function(s,o){return s[0]-o[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let i=r.pop();for(;i;){for(const s of i)t.push(s);i=r.pop()}this.map.length=0}}function Ype(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function Xpe(e,t){let n=!1;const r=[];for(;t<e.length;){const i=e[t];if(n){if(i[0]==="enter")i[1].type==="tableContent"&&r.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(i[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const s=r.length-1;r[s]=r[s]==="left"?"center":"right"}}else if(i[1].type==="tableDelimiterRow")break}else i[0]==="enter"&&i[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return r}function Qpe(){return{flow:{null:{name:"table",tokenize:Zpe,resolveAll:Jpe}}}}function Zpe(e,t,n){const r=this;let i=0,s=0,o;return l;function l(I){let $=r.events.length-1;for(;$>-1;){const F=r.events[$][1].type;if(F==="lineEnding"||F==="linePrefix")$--;else break}const B=$>-1?r.events[$][1].type:null,j=B==="tableHead"||B==="tableRow"?N:c;return j===N&&r.parser.lazy[r.now().line]?n(I):j(I)}function c(I){return e.enter("tableHead"),e.enter("tableRow"),d(I)}function d(I){return I===124||(o=!0,s+=1),p(I)}function p(I){return I===null?n(I):_t(I)?s>1?(s=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(I),e.exit("lineEnding"),v):n(I):Zt(I)?un(e,p,"whitespace")(I):(s+=1,o&&(o=!1,i+=1),I===124?(e.enter("tableCellDivider"),e.consume(I),e.exit("tableCellDivider"),o=!0,p):(e.enter("data"),h(I)))}function h(I){return I===null||I===124||Mn(I)?(e.exit("data"),p(I)):(e.consume(I),I===92?g:h)}function g(I){return I===92||I===124?(e.consume(I),h):h(I)}function v(I){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(I):(e.enter("tableDelimiterRow"),o=!1,Zt(I)?un(e,_,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(I):_(I))}function _(I){return I===45||I===58?w(I):I===124?(o=!0,e.enter("tableCellDivider"),e.consume(I),e.exit("tableCellDivider"),x):A(I)}function x(I){return Zt(I)?un(e,w,"whitespace")(I):w(I)}function w(I){return I===58?(s+=1,o=!0,e.enter("tableDelimiterMarker"),e.consume(I),e.exit("tableDelimiterMarker"),C):I===45?(s+=1,C(I)):I===null||_t(I)?T(I):A(I)}function C(I){return I===45?(e.enter("tableDelimiterFiller"),k(I)):A(I)}function k(I){return I===45?(e.consume(I),k):I===58?(o=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(I),e.exit("tableDelimiterMarker"),R):(e.exit("tableDelimiterFiller"),R(I))}function R(I){return Zt(I)?un(e,T,"whitespace")(I):T(I)}function T(I){return I===124?_(I):I===null||_t(I)?!o||i!==s?A(I):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(I)):A(I)}function A(I){return n(I)}function N(I){return e.enter("tableRow"),M(I)}function M(I){return I===124?(e.enter("tableCellDivider"),e.consume(I),e.exit("tableCellDivider"),M):I===null||_t(I)?(e.exit("tableRow"),t(I)):Zt(I)?un(e,M,"whitespace")(I):(e.enter("data"),D(I))}function D(I){return I===null||I===124||Mn(I)?(e.exit("data"),M(I)):(e.consume(I),I===92?W:D)}function W(I){return I===92||I===124?(e.consume(I),D):D(I)}}function Jpe(e,t){let n=-1,r=!0,i=0,s=[0,0,0,0],o=[0,0,0,0],l=!1,c=0,d,p,h;const g=new Kpe;for(;++n<e.length;){const v=e[n],_=v[1];v[0]==="enter"?_.type==="tableHead"?(l=!1,c!==0&&(gD(g,t,c,d,p),p=void 0,c=0),d={type:"table",start:Object.assign({},_.start),end:Object.assign({},_.end)},g.add(n,0,[["enter",d,t]])):_.type==="tableRow"||_.type==="tableDelimiterRow"?(r=!0,h=void 0,s=[0,0,0,0],o=[0,n+1,0,0],l&&(l=!1,p={type:"tableBody",start:Object.assign({},_.start),end:Object.assign({},_.end)},g.add(n,0,[["enter",p,t]])),i=_.type==="tableDelimiterRow"?2:p?3:1):i&&(_.type==="data"||_.type==="tableDelimiterMarker"||_.type==="tableDelimiterFiller")?(r=!1,o[2]===0&&(s[1]!==0&&(o[0]=o[1],h=Og(g,t,s,i,void 0,h),s=[0,0,0,0]),o[2]=n)):_.type==="tableCellDivider"&&(r?r=!1:(s[1]!==0&&(o[0]=o[1],h=Og(g,t,s,i,void 0,h)),s=o,o=[s[1],n,0,0])):_.type==="tableHead"?(l=!0,c=n):_.type==="tableRow"||_.type==="tableDelimiterRow"?(c=n,s[1]!==0?(o[0]=o[1],h=Og(g,t,s,i,n,h)):o[1]!==0&&(h=Og(g,t,o,i,n,h)),i=0):i&&(_.type==="data"||_.type==="tableDelimiterMarker"||_.type==="tableDelimiterFiller")&&(o[3]=n)}for(c!==0&&gD(g,t,c,d,p),g.consume(t.events),n=-1;++n<t.events.length;){const v=t.events[n];v[0]==="enter"&&v[1].type==="table"&&(v[1]._align=Xpe(t.events,n))}return e}function Og(e,t,n,r,i,s){const o=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",l="tableContent";n[0]!==0&&(s.end=Object.assign({},Xu(t.events,n[0])),e.add(n[0],0,[["exit",s,t]]));const c=Xu(t.events,n[1]);if(s={type:o,start:Object.assign({},c),end:Object.assign({},c)},e.add(n[1],0,[["enter",s,t]]),n[2]!==0){const d=Xu(t.events,n[2]),p=Xu(t.events,n[3]),h={type:l,start:Object.assign({},d),end:Object.assign({},p)};if(e.add(n[2],0,[["enter",h,t]]),r!==2){const g=t.events[n[2]],v=t.events[n[3]];if(g[1].end=Object.assign({},v[1].end),g[1].type="chunkText",g[1].contentType="text",n[3]>n[2]+1){const _=n[2]+1,x=n[3]-n[2]-1;e.add(_,x,[])}}e.add(n[3]+1,0,[["exit",h,t]])}return i!==void 0&&(s.end=Object.assign({},Xu(t.events,i)),e.add(i,0,[["exit",s,t]]),s=void 0),s}function gD(e,t,n,r,i){const s=[],o=Xu(t.events,n);i&&(i.end=Object.assign({},o),s.push(["exit",i,t])),r.end=Object.assign({},o),s.push(["exit",r,t]),e.add(n+1,0,s)}function Xu(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const eme={name:"tasklistCheck",tokenize:nme};function tme(){return{text:{91:eme}}}function nme(e,t,n){const r=this;return i;function i(c){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(c):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),s)}function s(c){return Mn(c)?(e.enter("taskListCheckValueUnchecked"),e.consume(c),e.exit("taskListCheckValueUnchecked"),o):c===88||c===120?(e.enter("taskListCheckValueChecked"),e.consume(c),e.exit("taskListCheckValueChecked"),o):n(c)}function o(c){return c===93?(e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),l):n(c)}function l(c){return _t(c)?t(c):Zt(c)?e.check({tokenize:rme},t,n)(c):n(c)}}function rme(e,t,n){return un(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function ime(e){return y6([Ape(),Bpe(),qpe(e),Qpe(),tme()])}const sme={};function Gc(e){const t=this,n=e||sme,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),s=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),o=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(ime(n)),s.push(kpe()),o.push(Epe(n))}const ome=new Set([".c",".cc",".cfg",".conf",".cpp",".cs",".css",".diff",".env",".go",".graphql",".h",".hpp",".html",".ini",".java",".js",".json",".jsonc",".jsx",".kt",".log",".lua",".md",".mjs",".patch",".php",".pl",".properties",".py",".rb",".rs",".scss",".sh",".sql",".swift",".toml",".ts",".tsx",".txt",".vue",".xml",".yaml",".yml",".zsh"]),ame=new Set([".gitignore",".npmrc",".prettierrc",".python-version",".ruby-version",".tool-versions","Dockerfile","Gemfile","Makefile","Procfile"]);function zg(e){if(!e)return;const t=Number.parseInt(e,10);return Number.isFinite(t)&&t>0?t:void 0}function vD(e){var r,i;const t=/^(?<path>\/.+?)#L(?<line>\d+)(?:C(?<column>\d+))?$/.exec(e);if((r=t==null?void 0:t.groups)!=null&&r.path)return{path:t.groups.path,line:zg(t.groups.line),column:zg(t.groups.column)};const n=/^(?<path>\/.+?):(?<line>\d+)(?::(?<column>\d+))?$/.exec(e);return(i=n==null?void 0:n.groups)!=null&&i.path?{path:n.groups.path,line:zg(n.groups.line),column:zg(n.groups.column)}:e.startsWith("/")?{path:e}:null}function lme(e){if(!e)return null;const t=e.trim();if(!t||/^(mailto:|ftp:|file:)/i.test(t))return null;if(/^https?:/i.test(t)){if(typeof window>"u")return null;try{const n=new URL(t);return n.origin!==window.location.origin||!n.pathname.startsWith("/")?null:vD(`${n.pathname}${n.hash}`)}catch{return null}}return vD(t)}function cme(e){const t=e.split(/[\\/]/).pop()??e;if(ame.has(t))return!0;const n=t.lastIndexOf("."),r=n>=0?t.slice(n).toLowerCase():"";return ome.has(r)}function Bg(e,t){if(!e)return"";if(t){const n=t.endsWith("/")?t:`${t}/`;if(e.startsWith(n))return e.slice(n.length);if(e===t)return""}return e.replace(/^\/home\/user\/workspace\//,"")}const ume={readonly:!1,localLinkMode:"open",attachmentMode:"live"},dme=b.createContext(ume);function P0(){return b.useContext(dme)}const xb=()=>{},c8=b.createContext(xb);function u8({children:e,onOpenLocalLink:t}){return f.jsx(c8.Provider,{value:t??xb,children:e})}const _1={Task:jv,TaskOutput:jv,Bash:Wb,Glob:Eh,Grep:Eh,ExitPlanMode:sN,Read:Ij,Edit:V9,Write:G9,Delete:J9,NotebookEdit:AC,WebFetch:HU,TodoWrite:s9,WebSearch:Eh,KillShell:_W,AskUserQuestion:zj,Skill:pW,EnterPlanMode:sN},d8=TW;function f8(e){return _1[e]?_1[e]:d8}function xa({children:e,className:t}){return f.jsx("div",{className:he("flex gap-3 justify-start items-center",t),children:e})}function h8({children:e,className:t}){return f.jsx("div",{className:he("flex items-center gap-1.5 text-xs",t),children:e})}function Tl({children:e,className:t}){return f.jsx("span",{className:he("font-medium text-foreground/80",t),children:e})}function fme({children:e}){return f.jsx("span",{className:"text-muted-foreground",children:e})}function hme({children:e,className:t}){return f.jsxs(xa,{className:he("px-0.5 text-xs tracking-wide",t),children:[f.jsx("div",{className:"w-full h-[1px] bg-border"}),f.jsx(Tl,{className:"whitespace-nowrap text-[11px] tracking-widest text-muted-foreground/60 uppercase flex-shrink-0",children:e}),f.jsx("div",{className:"w-full h-[1px] bg-border"})]})}function j0({children:e,expandedContent:t,defaultExpanded:n=!1}){const[r,i]=b.useState(n);return f.jsxs("div",{className:"flex flex-col w-full",children:[f.jsxs("button",{onClick:()=>i(!r),className:`group/expandable-row cursor-pointer grid grid-cols-[auto_1fr] items-center gap-1 text-sm ${r?"":"hover:opacity-60 transition-opacity"}`,children:[f.jsx("div",{className:"grid grid-cols-[auto_1fr] items-center gap-1.5",children:e}),f.jsx(So,{className:`h-4.5 w-4.5 text-muted-icon translate-y-[0.5px] transition-all duration-200 opacity-0 group-hover/expandable-row:opacity-100 ${r?"rotate-90 opacity-100":""}`})]}),r&&t]})}function bD({label:e,children:t,copyText:n}){const[r,i]=b.useState(!1),s=n??Sb(t),o=b.useCallback(async()=>{await navigator.clipboard.writeText(s),i(!0),setTimeout(()=>i(!1),2e3)},[s]);return f.jsxs("div",{children:[f.jsx("span",{className:"font-medium text-muted-foreground",children:e}),f.jsxs("div",{className:"relative group/codeblock",children:[f.jsx("pre",{className:"my-1 text-xs font-mono whitespace-no-wrap break-all bg-muted border border-border rounded-lg p-2 max-h-64 overflow-auto w-full",children:t}),f.jsx(Xe,{variant:"ghost",size:"icon","aria-label":r?"Copied":"Copy code",className:he("absolute top-[4px] right-[4px] z-10 h-11 w-11 md:h-6.5 md:w-6.5 rounded-sm text-muted-foreground opacity-100 md:opacity-0 md:group-hover/codeblock:opacity-100 transition-opacity [@media(hover:none)]:!opacity-100",!r&&"hover:text-foreground",r&&"hover:!bg-transparent hover:!border-transparent"),onClick:o,children:r?f.jsx(pi,{className:"h-3.5 w-3.5 text-success"}):f.jsx(Cl,{className:"h-4 w-4"})})]})]})}function p8({children:e,icon:t,className:n}){return f.jsxs("span",{className:he("inline-flex items-center gap-1 px-2 py-1 bg-muted border border-border rounded-full",n),children:[t&&f.jsx(t,{className:"h-3 w-3 text-muted-foreground"}),e]})}function O0({children:e,className:t}){return f.jsxs("div",{className:he("grid grid-cols-[auto_1fr] gap-2 min-w-0",t),children:[f.jsx("div",{className:" min-w-5 flex flex-col relative items-center justify-center",children:f.jsx("div",{className:"min-h-full w-[1px] bg-muted-foreground/20"})}),f.jsx("div",{className:"-ml-[1px] min-w-0 overflow-hidden",children:e})]})}function Sb(e){if(typeof e=="string")return e;if(typeof e=="number")return String(e);if(Array.isArray(e))return e.map(Sb).join("");if(e&&typeof e=="object"&&"props"in e){const t=e.props;return Sb(t.children)}return""}function yD(e,t){return b.isValidElement(e)?b.cloneElement(e,{className:he(e.props.className,t)}):e}const pE={h1:({children:e})=>f.jsx("h1",{className:"text-[20px] font-normal leading-tight mt-5 mb-3 first:mt-0 last:mb-0",children:e}),h2:({children:e})=>f.jsx("h2",{className:"text-[18px] font-normal leading-tight mt-5 mb-3 first:mt-0 last:mb-0",children:e}),h3:({children:e})=>f.jsx("h3",{className:"text-[16px] font-normal leading-tight mt-5 mb-3 first:mt-0 last:mb-0",children:e}),h4:({children:e})=>f.jsx("h4",{className:"text-[16px] font-normal leading-tight mt-5 mb-3 first:mt-0 last:mb-0",children:e}),h5:({children:e})=>f.jsx("h5",{className:"text-[16px] font-normal leading-tight mt-5 mb-3 first:mt-0 last:mb-0",children:e}),h6:({children:e})=>f.jsx("h6",{className:"text-[16px] font-normal leading-tight mt-5 mb-3 first:mt-0 last:mb-0",children:e}),pre:({children:e,...t})=>{const[n,r]=b.useState(!1),i=Sb(e),s=async()=>{await navigator.clipboard.writeText(i),r(!0),setTimeout(()=>r(!1),2e3)};return f.jsxs("div",{className:"relative overflow-x-auto max-w-full min-w-0 no-code-highlight group/pre",children:[f.jsx("pre",{className:"min-w-0 rounded-xl py-2.5 px-3.5 [.no-pre-highlight_&]:bg-background",...t,children:e}),f.jsx(Xe,{variant:"ghost",size:"icon","aria-label":n?"Copied":"Copy code",className:he("absolute top-[35px] -translate-y-[50%] -translate-x-[1px] rounded-md right-1.5 h-11 w-11 md:h-8 md:w-8 text-muted-foreground opacity-100 md:opacity-0 md:group-hover/pre:opacity-100 transition-opacity [@media(hover:none)]:!opacity-100",!n&&"hover:text-foreground",n&&"hover:!bg-transparent hover:!border-transparent"),onClick:s,children:n?f.jsx(pi,{className:"h-4 w-4 text-success"}):f.jsx(Cl,{className:"h-4 w-4"})})]})},code:({children:e,className:t,...n})=>t?f.jsx("code",{className:"block text-xs whitespace-pre",...n,children:e}):f.jsx("code",{className:"break-all px-1 bg-border/60 dark:[.no-pre-highlight_&]:bg-background dark:[.text-pretty_&]:bg-neutral [.no-code-highlight_&]:!bg-transparent py-0.5 rounded text-sm whitespace-wrap",...n,children:e}),table:({children:e,...t})=>f.jsx("div",{className:"border border-border rounded-xl overflow-x-auto",children:f.jsx("table",{className:"table-auto min-w-full divide-y divide-border bg-background",...t,children:e})}),tbody:({children:e,...t})=>f.jsx("tbody",{className:"divide-y divide-border",...t,children:e}),th:({children:e,...t})=>f.jsx("th",{className:"text-left text-xs uppercase text-muted-foreground tracking-wider p-2 pl-0 first:pl-3 bg-muted dark:bg-card [&_*]:font-semibold",...t,children:e}),td:({children:e,...t})=>f.jsx("td",{className:"text-left p-2 pl-0 first:pl-3 [&_*]:font-normal ",...t,children:e}),p:({children:e,...t})=>f.jsx("p",{className:"break-words mt-5 mb-3 first:mt-0 last:mb-0",...t,children:e}),blockquote:({children:e,...t})=>(()=>{const n=b.Children.toArray(e),r=n[0];r!==void 0&&(n[0]=yD(r,"mt-0"));const i=n.length-1,s=n[i];return s!==void 0&&(n[i]=yD(s,"mb-0")),f.jsx("blockquote",{className:"my-2 mt-5 mb-3 first:mt-0 last:mb-0 border-l-2 border-border/80 pl-2 text-muted-foreground",...t,children:n})})(),a:({children:e,...t})=>f.jsx("a",{className:"transition-all underline decoration-2 text-logo decoration-logo/50 hover:text-logo/70 dark:text-logo dark:decoration-logo/70 dark:hover:text-logo/60 dark:hover:decoration-logo/40 ",target:"_blank",rel:"noopener noreferrer",...t,children:e})};function Zd(e){return{...pE,a:({children:t,href:n,onClick:r,...i})=>{const s=b.useContext(c8),o=P0(),l=lme(n);return l&&o.localLinkMode==="text"?f.jsx("span",{className:"transition-all underline decoration-2 text-logo decoration-logo/50",children:t}):f.jsx("a",{className:"transition-all underline decoration-2 text-logo decoration-logo/50 hover:text-logo/70 dark:text-logo dark:decoration-logo/70 dark:hover:text-logo/60 dark:hover:decoration-logo/40 ",href:n,target:l?void 0:"_blank",rel:l?void 0:"noopener noreferrer",onClick:c=>{r==null||r(c),!(c.defaultPrevented||!l||s===xb)&&(c.preventDefault(),s({...l,clientX:c.clientX,clientY:c.clientY,trigger:"click"}))},onContextMenu:c=>{!l||s===xb||(c.preventDefault(),s({...l,clientX:c.clientX,clientY:c.clientY,trigger:"contextmenu"}))},...i,children:t})}}}({...pE});function pme(e){const t=e.split(`
|
|
2550
2550
|
`),n=/^\s*(\d+)→(.*)$/;return t.map(r=>{const i=r.match(n);return i?{lineNumber:parseInt(i[1],10),content:i[2]}:{lineNumber:null,content:r}})}function mme(e){return e.replace(/<[^>]+>/g,"")}function gme(e,t){const n=e.split(`
|
|
2551
2551
|
`),r=t.split(`
|
|
2552
|
-
`),i=vme(n,r),s=bme(n,r,i);return yme(s)}function vme(e,t){const n=e.length,r=t.length,i=Array.from({length:n+1},()=>Array(r+1).fill(0));for(let s=1;s<=n;s++)for(let o=1;o<=r;o++)i[s][o]=e[s-1]===t[o-1]?i[s-1][o-1]+1:Math.max(i[s-1][o],i[s][o-1]);return i}function bme(e,t,n){const r=[];let i=e.length,s=t.length;for(;i>0||s>0;)i>0&&s>0&&e[i-1]===t[s-1]?(r.push({type:"context",text:e[i-1],oldIdx:i,newIdx:s}),i--,s--):s>0&&(i===0||n[i][s-1]>=n[i-1][s])?(r.push({type:"added",text:t[s-1],oldIdx:i,newIdx:s}),s--):(r.push({type:"removed",text:e[i-1],oldIdx:i,newIdx:s}),i--);return r.reverse()}function yme(e){return e.map(t=>{const n=t.type==="removed"?"-":t.type==="added"?"+":" ";return{type:t.type,content:`${n}${t.text}`}})}function bh({content:e,isDiff:t=!1,oldString:n,newString:r}){const i=b.useMemo(()=>t&&n!==void 0&&r!==void 0?gme(n,r):[],[t,n,r]),s=b.useMemo(()=>t?[]:pme(e),[e,t]),o=b.useMemo(()=>s.some(l=>l.lineNumber!==null),[s]);return t&&i.length>0?f.jsx("div",{className:"my-1 rounded-lg border border-border overflow-hidden",children:f.jsx("div",{className:"overflow-auto max-h-64 md:max-h-[50vh]",children:f.jsx("table",{className:"w-full border-collapse text-xs font-mono",children:f.jsx("tbody",{children:i.map((l,c)=>{const d=l.type==="removed"?"bg-destructive/10 dark:bg-destructive/15":l.type==="added"?"bg-success/10 dark:bg-success/15":"",p=l.type==="removed"?"text-destructive":l.type==="added"?"text-success":"text-foreground";return f.jsxs("tr",{className:d,children:[f.jsx("td",{className:`px-2 py-0 select-none w-0 whitespace-nowrap ${l.type==="removed"?"text-destructive/50":l.type==="added"?"text-success/50":"text-muted-foreground/50"}`,children:l.type==="removed"?"-":l.type==="added"?"+":" "}),f.jsx("td",{className:`px-2 py-0 whitespace-pre select-all ${p}`,children:l.content.slice(1)})]},c)})})})})}):f.jsx("div",{className:"my-1 rounded-lg border border-border overflow-hidden",children:f.jsx("div",{className:"overflow-auto max-h-64 md:max-h-[50vh]",children:f.jsx("table",{className:"w-full border-collapse text-xs font-mono",children:f.jsx("tbody",{children:s.map((l,c)=>f.jsxs("tr",{children:[o&&f.jsx("td",{className:"px-2 py-0 select-none w-0 whitespace-nowrap text-muted-foreground/50 text-right",children:l.lineNumber!==null?l.lineNumber:""}),f.jsx("td",{className:"px-2 py-0 whitespace-pre select-all text-foreground",children:mme(l.content)})]},c))})})})})}function mE({attachment:e,onOpenChange:t}){const[n,r]=b.useState({}),i=b.useMemo(()=>e?T0(e):null,[e]),s=e?n[e.id]:void 0,o=e!=null&&e.contentUrl?xme(e.contentUrl):"";b.useEffect(()=>{if(!e||!i||i.openInNewTab||i.kind==="image"||i.kind==="pdf"||i.kind==="external")return;const d=i.kind;if((s==null?void 0:s.status)==="loading"||(s==null?void 0:s.status)==="ready")return;let p=!1;return r(h=>({...h,[e.id]:{status:"loading"}})),Ule(e.contentUrl,jle).then(({content:h,truncated:g})=>{if(p)return;if(d==="table"){const _=e.mimeType==="text/tab-separated-values"?" ":",";r(x=>({...x,[e.id]:{status:"ready",kind:"table",truncated:g,table:Wle(h,_)}}));return}const v=d==="json"?Vle(h):h;r(_=>({..._,[e.id]:{status:"ready",kind:d,content:v,truncated:g}}))}).catch(h=>{if(p)return;const g=h instanceof Error?h.message:"Unable to load preview.";r(v=>({...v,[e.id]:{status:"error",message:g}}))}),()=>{p=!0}},[e==null?void 0:e.id,e==null?void 0:e.contentUrl,e==null?void 0:e.mimeType,i==null?void 0:i.kind,i==null?void 0:i.openInNewTab]);async function l(){var d;!o||typeof navigator>"u"||!((d=navigator.clipboard)!=null&&d.writeText)||await navigator.clipboard.writeText(o)}function c(){!o||typeof window>"u"||window.open(o,"_blank","noopener,noreferrer")}return f.jsx(wo,{open:e!==null&&!(i!=null&&i.openInNewTab),onOpenChange:t,children:f.jsx(qs,{size:"lg",className:"max-w-[min(92vw,960px)] overflow-hidden p-0",children:e&&i&&!i.openInNewTab?f.jsxs(f.Fragment,{children:[f.jsx($C,{className:"pr-12",children:f.jsx(Co,{className:"text-md",children:e.displayName})}),f.jsx(fa,{className:"bg-muted/20 p-4",children:_me(e,i.kind,s)}),f.jsxs(kl,{className:"items-center justify-between gap-3 px-4 py-3",children:[f.jsxs(Od,{className:"truncate",children:[e.mimeType," · ",A0(e.size)]}),f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsxs(lK,{type:"button",onClick:l,children:[f.jsx(yV,{className:"mr-2 h-4 w-4"}),"Copy Link"]}),f.jsxs(Xe,{type:"button",variant:"outline",onClick:c,children:[f.jsx(Ub,{className:"mr-2 h-4 w-4"}),"Open In New Tab"]})]})]})]}):null})})}function _me(e,t,n){if(t==="image")return f.jsx("div",{className:"flex items-center justify-center",children:f.jsx("img",{src:e.contentUrl,alt:e.displayName,className:"max-h-[70vh] w-auto max-w-full rounded-2xl object-contain"})});if(t==="pdf")return f.jsx("iframe",{src:e.contentUrl,title:e.displayName,className:"h-[70vh] w-full rounded-xl border border-border bg-background"});if(!n||n.status==="loading")return f.jsx("div",{className:"flex h-[50vh] items-center justify-center text-sm text-muted-foreground",children:"Loading preview…"});if(n.status==="error")return f.jsx("div",{className:"flex h-[50vh] items-center justify-center text-sm text-destructive",children:n.message});if(n.kind==="markdown"&&n.content!==void 0)return f.jsxs("div",{className:"space-y-3",children:[n.truncated?f.jsx(yS,{message:"Preview truncated to 1024 KB."}):null,f.jsx("div",{className:"prose prose-sm max-w-none overflow-auto rounded-xl border border-border bg-background p-4 prose-invert",children:f.jsx(Wc,{remarkPlugins:[Gc],components:Zd(),children:n.content})})]});if(n.kind==="table"&&n.table){const r=n.table.rows.length>0,[i,...s]=n.table.rows,o=[n.truncated?"Preview truncated to 1024 KB.":null,n.table.truncatedRows?`Showing first ${n.table.rows.length} of ${n.table.rowCount} rows.`:null,n.table.truncatedColumns?`Showing first ${u1} of ${n.table.columnCount} columns.`:null].filter(Boolean);return f.jsxs("div",{className:"space-y-3",children:[o.length>0?f.jsx(yS,{message:o.join(" ")}):null,f.jsx("div",{className:"max-h-[70vh] overflow-auto rounded-xl border border-border bg-background",children:f.jsxs("table",{className:"min-w-full border-collapse text-xs",children:[r?f.jsx("thead",{className:"sticky top-0 bg-muted",children:f.jsx("tr",{children:i.map((l,c)=>f.jsx("th",{className:"border-b border-border px-3 py-2 text-left font-medium text-foreground",children:l||" "},`${l}-${c}`))})}):null,f.jsx("tbody",{children:(r?s:n.table.rows).map((l,c)=>f.jsx("tr",{className:"odd:bg-background even:bg-muted/20",children:l.map((d,p)=>f.jsx("td",{className:"max-w-[320px] border-b border-border px-3 py-2 align-top text-foreground",children:f.jsx("div",{className:"whitespace-pre-wrap break-words",children:d||" "})},`${c}-${p}`))},c))})]})})]})}return f.jsxs("div",{className:"space-y-3",children:[n.truncated?f.jsx(yS,{message:"Preview truncated to 1024 KB."}):null,f.jsx(bh,{content:n.content??""})]})}function yS({message:e}){return f.jsx("div",{className:"rounded-xl border border-border bg-background px-3 py-2 text-sm text-muted-foreground",children:e})}function xme(e){return typeof window>"u"?e:new URL(e,document.baseURI||window.location.href).toString()}var z0="Popover",[m8]=ba(z0,[Ml]),Up=Ml(),[Sme,Pl]=m8(z0),g8=e=>{const{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:s,modal:o=!1}=e,l=Up(t),c=b.useRef(null),[d,p]=b.useState(!1),[h,g]=md({prop:r,defaultProp:i??!1,onChange:s,caller:z0});return f.jsx(r0,{...l,children:f.jsx(Sme,{scope:t,contentId:ua(),triggerRef:c,open:h,onOpenChange:g,onOpenToggle:b.useCallback(()=>g(v=>!v),[g]),hasCustomAnchor:d,onCustomAnchorAdd:b.useCallback(()=>p(!0),[]),onCustomAnchorRemove:b.useCallback(()=>p(!1),[]),modal:o,children:n})})};g8.displayName=z0;var v8="PopoverAnchor",wme=b.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Pl(v8,n),s=Up(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:l}=i;return b.useEffect(()=>(o(),()=>l()),[o,l]),f.jsx(Tp,{...s,...r,ref:t})});wme.displayName=v8;var b8="PopoverTrigger",y8=b.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Pl(b8,n),s=Up(n),o=yn(t,i.triggerRef),l=f.jsx(Jt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":C8(i.open),...r,ref:o,onClick:Ze(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?l:f.jsx(Tp,{asChild:!0,...s,children:l})});y8.displayName=b8;var gE="PopoverPortal",[Cme,kme]=m8(gE,{forceMount:void 0}),_8=e=>{const{__scopePopover:t,forceMount:n,children:r,container:i}=e,s=Pl(gE,t);return f.jsx(Cme,{scope:t,forceMount:n,children:f.jsx(ks,{present:n||s.open,children:f.jsx(jd,{asChild:!0,container:i,children:r})})})};_8.displayName=gE;var wd="PopoverContent",x8=b.forwardRef((e,t)=>{const n=kme(wd,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,s=Pl(wd,e.__scopePopover);return f.jsx(ks,{present:r||s.open,children:s.modal?f.jsx(Rme,{...i,ref:t}):f.jsx(Tme,{...i,ref:t})})});x8.displayName=wd;var Eme=Ec("PopoverContent.RemoveScroll"),Rme=b.forwardRef((e,t)=>{const n=Pl(wd,e.__scopePopover),r=b.useRef(null),i=yn(t,r),s=b.useRef(!1);return b.useEffect(()=>{const o=r.current;if(o)return Xb(o)},[]),f.jsx(kp,{as:Eme,allowPinchZoom:!0,children:f.jsx(S8,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Ze(e.onCloseAutoFocus,o=>{var l;o.preventDefault(),s.current||(l=n.triggerRef.current)==null||l.focus()}),onPointerDownOutside:Ze(e.onPointerDownOutside,o=>{const l=o.detail.originalEvent,c=l.button===0&&l.ctrlKey===!0,d=l.button===2||c;s.current=d},{checkForDefaultPrevented:!1}),onFocusOutside:Ze(e.onFocusOutside,o=>o.preventDefault(),{checkForDefaultPrevented:!1})})})}),Tme=b.forwardRef((e,t)=>{const n=Pl(wd,e.__scopePopover),r=b.useRef(!1),i=b.useRef(!1);return f.jsx(S8,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var o,l;(o=e.onCloseAutoFocus)==null||o.call(e,s),s.defaultPrevented||(r.current||(l=n.triggerRef.current)==null||l.focus(),s.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:s=>{var c,d;(c=e.onInteractOutside)==null||c.call(e,s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const o=s.target;((d=n.triggerRef.current)==null?void 0:d.contains(o))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&i.current&&s.preventDefault()}})}),S8=b.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:s,disableOutsidePointerEvents:o,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:d,onInteractOutside:p,...h}=e,g=Pl(wd,n),v=Up(n);return Kb(),f.jsx(Cp,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:s,children:f.jsx(Pd,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:p,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:d,onDismiss:()=>g.onOpenChange(!1),children:f.jsx(i0,{"data-state":C8(g.open),role:"dialog",id:g.contentId,...v,...h,ref:t,style:{...h.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),w8="PopoverClose",Ame=b.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Pl(w8,n);return f.jsx(Jt.button,{type:"button",...r,ref:t,onClick:Ze(e.onClick,()=>i.onOpenChange(!1))})});Ame.displayName=w8;var Nme="PopoverArrow",Mme=b.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Up(n);return f.jsx(s0,{...i,...r,ref:t})});Mme.displayName=Nme;function C8(e){return e?"open":"closed"}var Lme=g8,Dme=y8,Ime=_8,k8=x8;const E8=Lme,R8=Dme,vE=b.forwardRef(({className:e,align:t="center",sideOffset:n=4,...r},i)=>f.jsx(Ime,{children:f.jsx(k8,{ref:i,align:t,sideOffset:n,[Vh]:"",onCloseAutoFocus:s=>{var o;s.preventDefault(),window.dispatchEvent(new Event(Bv)),(o=r.onCloseAutoFocus)==null||o.call(r,s)},className:he("z-50 w-72 rounded-xl border border-border bg-background p-4 shadow-lg outline-hidden animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r})}));vE.displayName=k8.displayName;const Pme={sm:"text-sm px-2.5 py-1",md:"text-sm px-3 py-1.5"};function yc({value:e,onValueChange:t,options:n,size:r="md",className:i,optionClassName:s}){return f.jsx("div",{className:he("inline-flex items-center rounded-lg border border-border p-[3px] ",i),children:n.map(o=>{const l=o.value===e,c=o.icon,d=c?b.isValidElement(c)?c:(()=>{const h=c;return f.jsx(h,{className:r==="sm"?"h-3.5 w-3.5":"h-4 w-4"})})():null,p=f.jsxs("button",{type:"button",onClick:()=>t(o.value),disabled:o.disabled,"aria-pressed":l,className:he("rounded-[4px] border transition-colors",c?"grid grid-cols-[auto_auto] items-center gap-2":"inline-flex items-center",Pme[r],l?"bg-card text-foreground border-border":"border-transparent text-muted-foreground hover:text-foreground",o.disabled&&"opacity-50 pointer-events-none",s),children:[d,f.jsx("span",{children:o.label})]},o.value);return o.tooltip?f.jsxs(ei,{children:[f.jsx(ti,{asChild:!0,children:p}),f.jsx(Gr,{children:o.tooltip})]},o.value):p})})}const B0=b.forwardRef(({className:e,...t},n)=>f.jsx("textarea",{"data-gramm":"false","data-gramm_editor":"false","data-enable-grammarly":"false","data-1p-ignore":!0,autoComplete:"off",className:he("flex w-full rounded-lg border border-border bg-background px-2.5 py-2 text-sm placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),ref:n,...t}));B0.displayName="Textarea";const Fg={};function _D(e){return!e.isCollapsed&&!e.hasPreviewAttachment&&e.patch===void 0&&e.patchError===void 0&&!e.isPatchLoading}function jme(e,t){return!e||!t.mimeType||typeof t.size!="number"||t.changeType==="deleted"||!t.mimeType.startsWith("image/")&&t.mimeType!=="application/pdf"?null:{id:`diff:${t.path}`,kind:t.mimeType.startsWith("image/")?"image":"file",displayName:t.path.split("/").pop()??t.path,absolutePath:t.path,relativePath:t.path,contentUrl:`/api/projects/${e}/files/${encodeURIComponent(t.path)}/content`,mimeType:t.mimeType,size:t.size}}function T8(e){return e.isUntracked}function Ome(e){return T8(e)?e.path.includes("/"):!1}function _S(e){return f.jsxs(ei,{delayDuration:0,children:[f.jsx(ti,{asChild:!0,children:f.jsx("button",{type:"button","aria-label":e.label,title:e.label,onClick:e.onClick,className:he("flex h-11 w-11 md:h-7 md:w-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",e.active&&"bg-accent text-foreground"),children:e.children})}),f.jsx(Gr,{children:e.label})]})}function A8({checked:e,mixed:t=!1,label:n,className:r,onClick:i}){return f.jsx("button",{type:"button","aria-label":n??(e?"Exclude file from commit":"Include file in commit"),"aria-checked":t?"mixed":e,"aria-pressed":t?"mixed":e,onClick:s=>{s.stopPropagation(),i()},className:he("flex size-4.5 shrink-0 items-center justify-center rounded border transition-colors",e||t?"border-foreground bg-foreground text-background":"border-border bg-background text-transparent",r),children:t?f.jsx(PV,{className:"h-3 w-3",strokeWidth:3}):e?f.jsx(pi,{className:"h-3 w-3",strokeWidth:3}):null})}function bE(e){const t=Date.parse(e);if(!Number.isFinite(t))return"";const n=Date.now()-t,r=6e4,i=60*r,s=24*i,o=7*s,l=30*s,c=365*s;return n<r?"just now":n<i?`${Math.round(n/r)}m ago`:n<s?`${Math.round(n/i)}hr ago`:n<o?`${Math.round(n/s)}d ago`:n<l?`${Math.round(n/o)}wk ago`:n<c?`${Math.round(n/l)}mo ago`:`${Math.round(n/c)}yr ago`}function zme(e){return e?`Last fetched ${bE(e)}`:"No local fetch recorded"}function Bme({entry:e,isPendingPush:t=!1}){const n=bE(e.authoredAt),r=!!e.githubUrl;return f.jsxs("button",{type:"button",disabled:!r,onClick:()=>{!e.githubUrl||typeof window>"u"||window.open(e.githubUrl,"_blank","noopener,noreferrer")},className:he("flex w-full items-start gap-3 rounded-lg border border-border bg-background pl-3 pr-2 py-2 text-left transition-colors",r?"hover:bg-accent":"cursor-default opacity-60"),children:[f.jsxs("div",{className:"min-w-0 flex-1",children:[f.jsx("div",{className:"truncate text-sm font-medium text-foreground",children:e.summary}),e.description?f.jsx("div",{className:"mt-1 line-clamp-2 whitespace-pre-wrap text-xs text-muted-foreground",children:e.description}):null,f.jsxs("div",{className:"mt-1 flex min-w-0 items-center gap-1 text-xs text-muted-foreground",children:[e.authorName?f.jsx("span",{className:"truncate",children:e.authorName}):null,e.authorName&&n?f.jsx("span",{"aria-hidden":"true",children:"•"}):null,n?f.jsx("span",{children:n}):null]})]}),e.tags.length>0?f.jsxs("div",{className:"flex shrink-0 flex-wrap justify-end gap-1",children:[e.tags.map(i=>f.jsx("span",{className:"inline-flex items-center rounded-full bg-muted border border-border px-2 py-0.5 text-[11px]",children:i},i)),t?f.jsx("span",{className:"inline-flex items-center rounded-full bg-muted border border-border px-2 py-0.5 text-[11px]",children:f.jsx(Hh,{className:"size-3"})}):null]}):t?f.jsx("div",{className:"flex shrink-0 flex-wrap justify-end gap-1",children:f.jsx("span",{className:"inline-flex items-center rounded-full bg-muted border border-border px-2 py-0.5 text-[11px]",children:f.jsx(Hh,{className:"size-3"})})}):null]})}function xD(e){switch(e.kind){case"local":return 0;case"pull_request":return 1;case"remote":default:return 2}}function Fme(e){const t=new Map;for(const n of e){const r=t.get(n.name);(!r||xD(n)<xD(r))&&t.set(n.name,n)}return t}function $me(e,t){const n=Fme([...e.local,...e.pullRequests,...e.remote]);t&&n.delete(t);const r=new Set,i=e.defaultBranchName?n.get(e.defaultBranchName):void 0;i&&r.add(i.name);const s=e.recent.map(l=>n.get(l.name)??l).filter(l=>!!l&&!r.has(l.name));for(const l of s)r.add(l.name);const o=[...n.values()].filter(l=>!r.has(l.name)).sort((l,c)=>l.displayName.localeCompare(c.displayName));return{defaultBranch:i,recent:s,other:o}}function Hme({open:e,onOpenChange:t,onGetGitHubPublishInfo:n,onCheckGitHubRepoAvailability:r,onPublish:i}){const[s,o]=b.useState(null),[l,c]=b.useState(!1),[d,p]=b.useState(""),[h,g]=b.useState(""),[v,_]=b.useState("private"),[x,w]=b.useState(""),[C,k]=b.useState(null),[R,T]=b.useState(!1),[A,N]=b.useState(!1);b.useEffect(()=>{if(!e)return;let W=!1;return c(!0),k(null),n().then(I=>{W||(o(I),p(I.owners[0]??I.activeAccountLogin??""),g(I.suggestedRepoName),_("private"),w(""))}).finally(()=>{W||c(!1)}),()=>{W=!0}},[n,e]),b.useEffect(()=>{if(!e||!(s!=null&&s.ghInstalled)||!s.authenticated)return;const W=d.trim(),I=h.trim();if(!W||!I){k(null);return}let $=!1;T(!0);const B=window.setTimeout(()=>{r({owner:W,name:I}).then(j=>{$||k(j)}).finally(()=>{$||T(!1)})},250);return()=>{$=!0,window.clearTimeout(B)}},[s==null?void 0:s.authenticated,s==null?void 0:s.ghInstalled,h,r,e,d]);async function M(){if(!(!d.trim()||!h.trim())){N(!0);try{const W=await i({owner:d.trim(),name:h.trim(),visibility:v,description:x});W!=null&&W.ok&&t(!1)}finally{N(!1)}}}const D=!!(s!=null&&s.ghInstalled&&s.authenticated&&d.trim()&&h.trim()&&(C!=null&&C.available)&&!R&&!A);return f.jsx(wo,{open:e,onOpenChange:t,children:f.jsxs(qs,{size:"sm",className:"max-w-[min(92vw,475px)]",children:[f.jsxs(fa,{className:"space-y-2 px-4 pb-4 pt-4",children:[f.jsxs("div",{className:"space-y-1",children:[f.jsx(Co,{children:"Push to GitHub"}),f.jsx(Od,{children:"Create a GitHub repository from this local project using GitHub CLI."})]}),l?f.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[f.jsx(bn,{className:"size-4 animate-spin"}),f.jsx("span",{children:"Checking GitHub CLI…"})]}):s&&!s.ghInstalled?f.jsxs("div",{className:"space-y-2 text-sm text-muted-foreground",children:[f.jsx("p",{children:"GitHub CLI is not installed."}),f.jsx("div",{className:"rounded-lg border border-border px-3 py-2 font-mono text-xs text-foreground",children:"brew install gh"}),f.jsx("p",{children:"Then run:"}),f.jsx("div",{className:"rounded-lg border border-border px-3 py-2 font-mono text-xs text-foreground",children:"gh auth login"})]}):s&&!s.authenticated?f.jsxs("div",{className:"space-y-2 text-sm text-muted-foreground",children:[f.jsx("p",{children:"GitHub CLI is installed but not signed in."}),f.jsx("div",{className:"rounded-lg border border-border px-3 py-2 font-mono text-xs text-foreground",children:"gh auth login"})]}):f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"space-y-2",children:f.jsxs(hl,{value:d,onValueChange:p,children:[f.jsx(ra,{className:"pl-[11px] [&>span]:flex [&>span]:items-center [&>span]:gap-2",children:f.jsx(hc,{placeholder:"Select owner"})}),f.jsx(ia,{children:((s==null?void 0:s.owners)??[]).map(W=>f.jsx(Bs,{value:W,children:f.jsxs("span",{className:"flex items-center gap-2",children:[W===(s==null?void 0:s.activeAccountLogin)?f.jsx(qb,{className:"size-4 text-muted-foreground"}):f.jsx(t9,{className:"size-4 text-muted-foreground"}),f.jsx("span",{className:"pl-[1px]",children:W})]})},W))})]})}),f.jsx("div",{className:"space-y-2",children:f.jsxs("div",{className:"relative",children:[f.jsx(nr,{value:h,onChange:W=>g(W.target.value),placeholder:"my-repo",className:"pl-9 pr-10"}),f.jsx(qV,{className:"pointer-events-none absolute inset-y-0 left-3 my-auto size-4 text-muted-foreground"}),R?f.jsx("div",{className:"pointer-events-none absolute inset-y-0 right-3 flex items-center text-muted-foreground",children:f.jsx(bn,{className:"size-4 animate-spin"})}):C?f.jsx("div",{className:"absolute inset-y-0 right-2 flex items-center",children:f.jsxs(ei,{delayDuration:0,children:[f.jsx(ti,{asChild:!0,children:f.jsx("button",{type:"button",tabIndex:-1,"aria-label":C.message,className:he("flex size-6 items-center justify-center rounded-md",C.available?"text-success":"text-destructive"),children:C.available?f.jsx(pi,{className:"size-4"}):f.jsx(tw,{className:"size-4"})})}),f.jsx(Gr,{children:C.message})]})}):null]})}),f.jsx("div",{className:"space-y-2",children:f.jsxs("div",{className:"relative",children:[f.jsx(EC,{className:"pointer-events-none absolute left-3 top-3 size-4 text-muted-foreground"}),f.jsx(B0,{value:x,onChange:W=>w(W.target.value),rows:3,placeholder:"Optional description",className:"pl-9 outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background"})]})}),f.jsx("div",{className:"space-y-2",children:f.jsxs(hl,{value:v,onValueChange:W=>_(W),children:[f.jsx(ra,{className:"pl-[11px] [&>span]:flex [&>span]:items-center [&>span]:gap-2",children:f.jsx(hc,{placeholder:"Select visibility"})}),f.jsxs(ia,{children:[f.jsx(Bs,{value:"private",children:f.jsxs("span",{className:"flex items-center gap-2",children:[f.jsx(EV,{className:"size-4 text-muted-foreground"}),f.jsx("span",{className:"pl-[1px]",children:"Private"})]})}),f.jsx(Bs,{value:"public",children:f.jsxs("span",{className:"flex items-center gap-2",children:[f.jsx(mV,{className:"size-4 text-muted-foreground"}),f.jsx("span",{className:"pl-[1px]",children:"Public"})]})})]})]})})]})]}),f.jsxs(kl,{children:[f.jsx(Xe,{variant:"ghost",size:"sm",onClick:()=>t(!1),children:"Cancel"}),f.jsx(Xe,{size:"sm",disabled:!D,onClick:()=>void M(),children:A?f.jsxs(f.Fragment,{children:[f.jsx(bn,{className:"mr-1.5 size-3.5 animate-spin"}),"Publishing…"]}):"Push to GitHub"})]})]})})}function N8({value:e,onChange:t,placeholder:n,disabled:r,trailingAction:i}){return f.jsxs("div",{className:"relative",children:[f.jsx(Eh,{className:"pointer-events-none absolute left-2 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),f.jsx(nr,{value:e,onChange:s=>t(s.target.value),placeholder:n,className:he("h-9 pl-7 text-sm",i?"pr-14":void 0),disabled:r}),i?f.jsx("div",{className:"absolute right-1 top-1/2 -translate-y-1/2",children:i}):null]})}function _c({title:e,entries:t,emptyLabel:n,selectedName:r,disabled:i,stickyTitle:s=!1,onSelect:o}){return t.length===0&&!n?null:f.jsxs("div",{className:"space-y-1",children:[f.jsx("div",{className:he("px-1 py-1 text-[11px] font-medium uppercase tracking-[0.08em] text-muted-foreground",s&&"sticky top-0 z-10 bg-background"),children:e}),t.length===0?f.jsx("div",{className:"px-1 py-1 text-xs text-muted-foreground",children:n}):t.map(l=>{const c=r===l.name;return f.jsxs("button",{type:"button",disabled:i,onClick:()=>o(l),className:he("flex w-full items-start gap-2 rounded-lg px-2 py-2 text-left transition-colors disabled:opacity-60",c?"bg-accent text-foreground":"hover:bg-accent"),children:[l.kind==="pull_request"?f.jsx(Oj,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-muted-foreground"}):f.jsx(mc,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-muted-foreground"}),f.jsxs("div",{className:"min-w-0 flex-1",children:[f.jsxs("div",{className:"flex w-full items-center gap-3",children:[f.jsx("div",{className:"min-w-0 flex-1 overflow-hidden whitespace-nowrap text-sm text-foreground",children:l.displayName}),l.updatedAt?f.jsx("div",{className:"ml-auto shrink-0 text-right text-[11px] text-muted-foreground",children:bE(l.updatedAt)}):null]}),l.kind==="pull_request"&&l.description||l.headLabel?f.jsx("div",{className:"truncate text-xs text-muted-foreground",children:l.kind==="pull_request"?l.description??l.headLabel??l.name:l.headLabel??void 0}):null]})]},l.id)})]})}function Ume({open:e,onOpenChange:t,branchList:n,currentBranchName:r,onPreviewMergeBranch:i,onMergeBranch:s}){const[o,l]=b.useState(""),[c,d]=b.useState(null),[p,h]=b.useState(null),[g,v]=b.useState(null),[_,x]=b.useState(!1),[w,C]=b.useState(!1),k=b.useMemo(()=>n?$me(n,r):{defaultBranch:void 0,recent:[],other:[]},[n,r]),R=o.trim().toLowerCase(),T=b.useCallback($=>R?[$.displayName,$.name,$.description,$.prTitle,$.headLabel].some(B=>B==null?void 0:B.toLowerCase().includes(R)):!0,[R]),A=k.defaultBranch&&T(k.defaultBranch)?k.defaultBranch:void 0,N=k.recent.filter(T),M=k.other.filter(T),D=b.useMemo(()=>c?[k.defaultBranch,...k.recent,...k.other].find($=>$!==void 0&&$.name===c)??null:null,[k.defaultBranch,k.other,k.recent,c]);b.useEffect(()=>{e||(l(""),d(null),h(null),v(null),x(!1),C(!1))},[e]),b.useEffect(()=>{if(!e||!D){h(null),v(null),x(!1);return}let $=!1;return h(null),v(null),x(!0),i(D).then(B=>{$||h(B)}).catch(B=>{$||v(B instanceof Error?B.message:String(B))}).finally(()=>{$||x(!1)}),()=>{$=!0}},[i,e,D]);const W=!D||!p||_||w||p.status!=="mergeable";async function I(){if(!(!D||W)){C(!0);try{const $=await s(D);$!=null&&$.ok&&t(!1)}finally{C(!1)}}}return f.jsx(wo,{open:e,onOpenChange:t,children:f.jsxs(qs,{size:"sm",className:"max-w-[min(92vw,475px)]",children:[f.jsxs(fa,{className:"flex min-h-0 flex-col gap-3 px-4 pb-4 pt-4",children:[f.jsxs("div",{className:"space-y-1",children:[f.jsxs(Co,{children:["Merge into ",r??"current branch"]}),f.jsx(Od,{children:"Choose a branch to continue."})]}),f.jsx(N8,{value:o,onChange:l,placeholder:"Search branches"}),f.jsxs("div",{className:"max-h-[375px] space-y-3 overflow-y-auto pr-1",children:[f.jsx(_c,{title:"Default Branch",entries:A?[A]:[],emptyLabel:"No default branch available.",selectedName:c,onSelect:$=>d($.name)}),f.jsx(_c,{title:"Recent Branches",entries:N,emptyLabel:"No recent branches.",selectedName:c,onSelect:$=>d($.name)}),f.jsx(_c,{title:"Other Branches",entries:M,emptyLabel:"No other branches match this search.",selectedName:c,onSelect:$=>d($.name)})]}),f.jsx("div",{className:"px-2",children:D?_?f.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[f.jsx(bn,{className:"size-3.5 animate-spin"}),f.jsx("span",{children:"Checking merge preview…"})]}):g?f.jsx("div",{className:"text-sm text-destructive",children:g}):p?f.jsxs("div",{className:"flex items-start gap-2",children:[p.status==="up_to_date"?f.jsx(pi,{className:"mt-1 size-3.5 shrink-0 text-success"}):p.status==="conflicts"?f.jsx(tw,{className:"mt-1 size-3.5 shrink-0 text-warning"}):p.status==="mergeable"?f.jsx(jj,{className:"mt-1 size-3.5 shrink-0 text-muted-foreground"}):f.jsx(tw,{className:"mt-1 size-3.5 shrink-0 text-destructive"}),f.jsxs("div",{className:"min-w-0 space-y-1",children:[f.jsx("div",{className:"text-sm font-medium text-foreground",children:p.message}),p.detail?f.jsx("div",{className:"line-clamp-2 whitespace-pre-wrap text-xs text-muted-foreground",children:p.detail}):null]})]}):f.jsx("div",{className:"text-sm text-muted-foreground",children:"Preview unavailable."}):f.jsx("div",{className:"text-sm text-muted-foreground",children:"Select a branch to preview the merge."})})]}),f.jsx(kl,{children:f.jsxs("div",{className:"flex min-w-0 w-full items-center justify-end gap-2",children:[f.jsx(Xe,{variant:"ghost",size:"sm",onClick:()=>t(!1),children:"Cancel"}),f.jsx(Xe,{className:"max-w-full min-w-0",size:"sm",disabled:W,onClick:()=>void I(),children:w?f.jsxs(f.Fragment,{children:[f.jsx(bn,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}),"Merging…"]}):f.jsx("span",{className:"block max-w-full truncate",children:"Merge"})})]})})]})})}function Vme({currentBranchName:e,onListBranches:t,onPreviewMergeBranch:n,onMergeBranch:r,onCheckoutBranch:i,onCreateBranch:s}){const[o,l]=b.useState(!1),[c,d]=b.useState(!1),[p,h]=b.useState(!1),[g,v]=b.useState(!1),[_,x]=b.useState(""),[w,C]=b.useState("branches"),[k,R]=b.useState(null),[T,A]=b.useState(null);b.useEffect(()=>{o&&(h(!0),A(null),t().then(U=>R(U)).catch(U=>{A(U instanceof Error?U.message:String(U))}).finally(()=>{h(!1)}))},[t,o]);const N=_.trim().toLowerCase(),M=U=>U.filter(Y=>N?[Y.displayName,Y.name,Y.description,Y.prTitle,Y.headLabel].some(P=>P==null?void 0:P.toLowerCase().includes(N)):!0),D=(k==null?void 0:k.currentBranchName)??e,W=new Set(((k==null?void 0:k.pullRequests)??[]).map(U=>U.headRefName??U.name)),I=M((k==null?void 0:k.recent)??[]).filter(U=>U.name!==D),$=M((k==null?void 0:k.local)??[]).filter(U=>U.name!==D),B=M((k==null?void 0:k.remote)??[]).filter(U=>U.name!==D&&!W.has(U.name)),j=M((k==null?void 0:k.pullRequests)??[]).filter(U=>U.name!==D),F=(k==null?void 0:k.pullRequests.length)??0;async function V(U){v(!0);try{await i(U),l(!1),x(""),C("branches")}finally{v(!1)}}async function z(){v(!0);try{await s(),l(!1),x(""),C("branches")}finally{v(!1)}}function H(){l(!1),d(!0)}return f.jsxs(E8,{open:o,onOpenChange:l,children:[f.jsx(R8,{asChild:!0,children:f.jsxs("button",{type:"button",className:"flex min-w-0 max-w-full items-center gap-1 rounded-md px-1.5 py-1 text-sm transition-colors hover:bg-accent hover:text-foreground","aria-label":"Open branch switcher",children:[f.jsx(mc,{className:"h-3.5 w-3.5 shrink-0"}),f.jsx("span",{className:"truncate",children:e??"Detached HEAD"}),f.jsx(Id,{className:"h-3.5 w-3.5 shrink-0"})]})}),f.jsx(vE,{align:"start",className:"w-[320px] p-2",children:f.jsxs("div",{className:"space-y-2",children:[f.jsx(N8,{value:_,onChange:x,placeholder:w==="pull_requests"?"Search pull requests":"Search branches",disabled:p||g,trailingAction:f.jsx(Xe,{variant:"ghost",size:"sm",onClick:()=>void z(),disabled:p||g,className:"h-7 px-2 text-xs hover:!bg-transparent hover:!border-border/0",children:"+ New"})}),f.jsx(yc,{value:w,onValueChange:U=>C(U),size:"sm",className:"w-full",optionClassName:"flex-1 justify-center",options:[{value:"branches",label:"Branches"},{value:"pull_requests",label:`Open PRs ${F}`}]}),f.jsx("div",{className:"max-h-[420px] overflow-y-auto pr-1.5 -mr-[8px]",children:p?f.jsxs("div",{className:"flex items-center justify-center gap-2 py-6 text-sm text-muted-foreground",children:[f.jsx(bn,{className:"h-4 w-4 animate-spin"}),f.jsx("span",{children:"Loading branches…"})]}):T?f.jsx("div",{className:"rounded-lg border border-border px-3 py-2 text-sm text-muted-foreground",children:T}):w==="pull_requests"?f.jsx(_c,{title:"Open PRs",entries:j,emptyLabel:(k==null?void 0:k.pullRequestsStatus)==="error"?k.pullRequestsError??"Could not load pull requests.":(k==null?void 0:k.pullRequestsStatus)==="unavailable"?"Pull requests unavailable for this repository.":"No open pull requests.",disabled:g,stickyTitle:!0,onSelect:U=>{V(U)}}):f.jsxs("div",{className:"space-y-3",children:[f.jsx(_c,{title:"Recent",entries:I,emptyLabel:"No recent branches.",disabled:g,stickyTitle:!0,onSelect:U=>{V(U)}}),f.jsx(_c,{title:"Local",entries:$,emptyLabel:"No local branches.",disabled:g,stickyTitle:!0,onSelect:U=>{V(U)}}),f.jsx(_c,{title:"Remote",entries:B,emptyLabel:"No remote branches.",disabled:g,stickyTitle:!0,onSelect:U=>{V(U)}})]})}),D?f.jsx(Xe,{variant:"default",size:"sm",disabled:p||g||!!T,onClick:H,className:"h-9 w-full justify-center rounded-lg px-3 text-sm",children:f.jsxs("span",{className:"block max-w-full truncate",children:[f.jsx(uV,{className:"mr-1.5 inline h-3.5 w-3.5 shrink-0"}),"Merge branch into ",D,"..."]})}):null]})}),f.jsx(Ume,{open:c,onOpenChange:d,branchList:k,currentBranchName:D,onPreviewMergeBranch:n,onMergeBranch:r})]})}function Wme({file:e,rootRef:t,projectId:n,isCollapsed:r,isChecked:i,editorLabel:s,diffRenderMode:o,wrapLines:l,onToggleCollapsed:c,onToggleChecked:d,fileActions:p,patch:h,patchError:g,isPatchLoading:v,onLoadPatch:_}){const x=T8(e),w=Ome(e),[C,k]=b.useState(null),R=b.useRef(null),T=b.useRef(null),{sentinelRef:A,isStuck:N}=Ale({rootRef:t,disabled:r}),M=b.useMemo(()=>jme(n,e),[e,n]),D=M!==null,W=_D({isCollapsed:r,hasPreviewAttachment:D,patch:h,patchError:g,isPatchLoading:v});b.useEffect(()=>{if(!W)return;const j=`${e.path}\0${e.patchDigest}`;T.current!==j&&(T.current=j,_(e.path).catch(()=>{}))},[e.patchDigest,e.path,_,W]);function I(j){if(T0(j).openInNewTab){typeof window<"u"&&window.open(new URL(j.contentUrl,window.location.origin).toString(),"_blank","noopener,noreferrer");return}k(j.id)}function $(j){var V;j.preventDefault(),j.stopPropagation();const F=j.currentTarget.getBoundingClientRect();(V=R.current)==null||V.dispatchEvent(new MouseEvent("contextmenu",{bubbles:!0,cancelable:!0,clientX:F.left+F.width/2,clientY:F.bottom,view:window}))}function B(){if(!r){c();return}if(D||h!==void 0){c();return}if(v)return;if(!(g!==void 0||_D({isCollapsed:!1,hasPreviewAttachment:D,patch:h,patchError:g,isPatchLoading:v}))){c();return}_(e.path).then(()=>{c()}).catch(()=>{})}return f.jsxs($d,{children:[f.jsx(Hd,{asChild:!0,children:f.jsxs("div",{ref:R,className:"relative rounded-lg border border-border bg-background",children:[r?null:f.jsx("div",{ref:A,className:"pointer-events-none absolute inset-x-0 top-0 h-px","aria-hidden":"true"}),f.jsxs("div",{role:"button",tabIndex:0,onClick:B,onKeyDown:j=>{j.key!=="Enter"&&j.key!==" "||(j.preventDefault(),B())},className:he("group/header sticky top-0 z-20 flex cursor-pointer items-center justify-between gap-3 bg-background pl-[7px] pr-2.5 py-1.5 text-[13px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",!r&&!N&&"rounded-t-[calc(theme(borderRadius.lg)-1px)]",r&&"rounded-[calc(theme(borderRadius.lg)-1px)]",!r&&"border-b border-border/50"),children:[f.jsxs("div",{className:"flex min-w-0 items-center",children:[f.jsx(A8,{checked:i,onClick:d}),f.jsx("div",{className:"min-w-0 truncate select-none ml-2 mr-1",children:e.path})]}),f.jsxs("div",{className:"flex shrink-0 items-center gap-2 select-none",children:[f.jsxs("span",{className:"whitespace-nowrap text-xs font-mono",children:[e.additions>0?f.jsxs("span",{className:"text-success",children:["+",e.additions]}):null,e.deletions>0?f.jsxs("span",{className:e.additions>0?"ml-2 text-destructive":"text-destructive",children:["-",e.deletions]}):null]}),f.jsx("button",{type:"button","aria-label":`Open actions for ${e.path}`,onClick:$,className:"flex h-5 w-5 shrink-0 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:f.jsx(Hb,{className:"h-3.5 w-3.5 shrink-0"})}),v&&r&&!M?f.jsx(bn,{className:"h-3.5 w-3.5 shrink-0 animate-spin"}):r?f.jsx(Id,{className:"h-3.5 w-3.5 shrink-0"}):f.jsx(Mj,{className:"h-3.5 w-3.5 shrink-0"})]})]}),r?null:f.jsx("div",{className:"kanna-diff-patch overflow-hidden rounded-b-[calc(theme(borderRadius.lg)-1px)] pb-[1px]",children:M?f.jsx("div",{className:"flex justify-center p-3",children:M.kind==="image"?f.jsx(Qk,{attachment:M,onClick:()=>I(M)}):f.jsx(lp,{attachment:M,onClick:()=>I(M)})}):v?f.jsxs("div",{className:"flex items-center justify-center px-3 py-8 text-sm text-muted-foreground",children:[f.jsx(bn,{className:"mr-2 h-4 w-4 animate-spin"}),"Loading diff..."]}):g?f.jsx("div",{className:"px-3 py-4 text-sm text-destructive",children:g}):h!==void 0?f.jsx(Rle,{patch:h,options:{diffStyle:o,disableFileHeader:!0,disableBackground:!1,overflow:l?"wrap":"scroll",lineDiffType:"word",diffIndicators:"classic"}}):f.jsx("div",{className:"px-3 py-4 text-sm text-muted-foreground",children:"Diff unavailable."})}),f.jsx(mE,{attachment:M&&C===M.id?M:null,onOpenChange:j=>!j&&k(null)})]},e.path)}),f.jsxs(Uc,{children:[f.jsxs(Wn,{onSelect:j=>{j.stopPropagation(),p.onOpenFile(e.path)},children:[f.jsx(kC,{className:"h-3.5 w-3.5"}),f.jsxs("span",{className:"text-xs font-medium",children:["Open in ",s]})]}),f.jsxs(Wn,{onSelect:j=>{j.stopPropagation(),p.onOpenInFinder(e.path)},children:[f.jsx(Vb,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Open in Finder"})]}),f.jsxs(Wn,{onSelect:j=>{j.stopPropagation(),p.onDiscardFile(e.path)},className:"text-destructive hover:bg-destructive/10 focus:bg-destructive/10",children:[f.jsx(Gb,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Discard Changes"})]}),f.jsxs(Wn,{disabled:!x,onSelect:j=>{j.stopPropagation(),x&&p.onIgnoreFile(e.path)},children:[f.jsx(JA,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Ignore File"})]}),f.jsxs(Wn,{disabled:!w,onSelect:j=>{j.stopPropagation(),w&&p.onIgnoreFolder(e.path)},children:[f.jsx(JA,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Ignore folder..."})]}),f.jsx(f3,{}),f.jsxs(Wn,{onSelect:j=>{j.stopPropagation(),p.onCopyFilePath(e.path)},children:[f.jsx(Cl,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Copy File Path"})]}),f.jsxs(Wn,{onSelect:j=>{j.stopPropagation(),p.onCopyRelativePath(e.path)},children:[f.jsx(Cl,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Copy Relative Path"})]})]})]})}function Gme({projectId:e,diffs:t,editorLabel:n,diffRenderMode:r,wrapLines:i,onOpenFile:s,onOpenInFinder:o,onDiscardFile:l,onIgnoreFile:c,onIgnoreFolder:d,onCopyFilePath:p,onCopyRelativePath:h,onListBranches:g,onPreviewMergeBranch:v,onMergeBranch:_,onCheckoutBranch:x,onCreateBranch:w,onGenerateCommitMessage:C,onInitializeGit:k,onGetGitHubPublishInfo:R,onCheckGitHubRepoAvailability:T,onSetupGitHub:A,onCommit:N,onSyncWithRemote:M,onLoadPatch:D,onDiffRenderModeChange:W,onWrapLinesChange:I,onClose:$}){var Et;const B=b.useMemo(()=>({onOpenFile:s,onOpenInFinder:o,onDiscardFile:l,onIgnoreFile:c,onIgnoreFolder:d,onCopyFilePath:p,onCopyRelativePath:h}),[s,o,l,c,d,p,h]),j=t.files.length>0,[F,V]=b.useState(!1),[z,H]=b.useState(null),[U,Y]=b.useState(!1),[P,G]=b.useState(!1),[J,O]=b.useState({}),[ie,Z]=b.useState({}),[oe,se]=b.useState({}),ve=b.useRef(null),ue=b.useRef({}),ye=b.useMemo(()=>t.files.map(we=>we.path),[t.files]),Ee=b.useMemo(()=>ye.join("\0"),[ye]),Ae=Ri(we=>{var We;return e?((We=we.projectUi[e])==null?void 0:We.viewMode)??(j?"changes":"history"):j?"changes":"history"}),De=Ri(we=>{var We;return e?((We=we.projectUi[e])==null?void 0:We.collapsedPaths)??Fg:Fg}),me=Ri(we=>{var We;return e?((We=we.projectUi[e])==null?void 0:We.summary)??"":""}),et=Ri(we=>{var We;return e?((We=we.projectUi[e])==null?void 0:We.description)??"":""}),Lt=Ri(we=>we.reconcileCollapsedPaths),Ot=Ri(we=>we.toggleCollapsedPath),Yt=Ri(we=>we.setViewMode),Tt=Ri(we=>we.setCommitDraft),At=Ri(we=>we.clearCommitDraft),wt=Dg(we=>e?we.checkedPathsByProjectId[e]??Fg:Fg),Ue=Dg(we=>we.reconcileProject),ht=Dg(we=>we.setChecked),Ke=Dg(we=>we.setAllChecked),yt=b.useRef(j);b.useEffect(()=>{e&&Lt(e,ye)},[ye,Ee,e,Lt]),b.useEffect(()=>{const we=Object.fromEntries(t.files.map(Le=>[Le.path,Le.patchDigest])),We=Le=>ue.current[Le]===we[Le];O(Le=>Object.fromEntries(Object.entries(Le).filter(([bt])=>ye.includes(bt)&&We(bt)))),Z(Le=>Object.fromEntries(Object.entries(Le).filter(([bt])=>ye.includes(bt)&&We(bt)))),se(Le=>Object.fromEntries(Object.entries(Le).filter(([bt])=>ye.includes(bt)&&We(bt)))),ue.current=we},[t.files,ye,Ee]),b.useEffect(()=>{e&&Ue(e,ye)},[ye,Ee,e,Ue]),b.useEffect(()=>{if(!e)return;if(yt.current!==j){Yt(e,j?"changes":"history"),yt.current=j;return}yt.current=j},[j,e,Yt]);const de=b.useMemo(()=>t.files.filter(we=>wt[we.path]??!0).map(we=>we.path),[wt,t.files]),be=de.length,ze=t.files.length>0&&be===t.files.length,Ve=be>0&&be<t.files.length,Qe=me.trim(),rt=Qe.length>0,Bt=z!==null,Nt=F||Bt,pt=((Et=t.branchHistory)==null?void 0:Et.entries)??[],Ct=t.behindCount??0,lt=t.aheadCount??0,sn=t.hasUpstream===!0,Je=t.hasUpstream===!1&&!!t.branchName,en=t.hasOriginRemote===!0,Vt=t.branchName?t.branchName.split("/").map(we=>encodeURIComponent(we)).join("/"):null,on=Je?"publish":Ct>0?"pull":"fetch",Pt=t.originRepoSlug&&Vt?`https://github.com/${t.originRepoSlug}/compare/${Vt}?expand=1`:null,gt=!!(sn&&Pt&&t.branchName&&t.branchName!==t.defaultBranchName),He=t.status==="ready"&&be>0&&!Nt,ct=t.status==="ready"&&be>0&&rt&&!Nt,kt=en?"commit_and_push":"commit_only",Ft=t.branchName??"current branch";async function it(we){if(ct){H(we);try{const We=await N({paths:de,summary:Qe,description:et.trim(),mode:we});(We!=null&&We.ok||We!=null&&We.localCommitCreated)&&e&&At(e)}finally{H(null)}}}async function Se(){if(He){V(!0);try{const we=await C({paths:de});e&&Tt(e,{summary:we.subject,description:we.body})}finally{V(!1)}}}function st(we){if(!(!(we.metaKey||we.ctrlKey)||we.key!=="Enter")){if(we.preventDefault(),rt){it(kt);return}Se()}}async function Ge(we=on){if(!(t.status!=="ready"||U)){Y(!0);try{await M(we)}finally{Y(!1)}}}const qe=b.useCallback(async we=>{var We;if(J[we]!==void 0||oe[we])return J[we]??"";se(Le=>({...Le,[we]:!0})),Z(Le=>{if(!(we in Le))return Le;const{[we]:bt,...ae}=Le;return ae});try{const Le=await D(we);O(ae=>({...ae,[we]:Le}));const bt=(We=t.files.find(ae=>ae.path===we))==null?void 0:We.patchDigest;return bt&&(ue.current={...ue.current,[we]:bt}),Le}catch(Le){const bt=Le instanceof Error?Le.message:String(Le);throw Z(ae=>({...ae,[we]:bt})),Le}finally{se(Le=>{const{[we]:bt,...ae}=Le;return ae})}},[t.files,oe,D,J]);return f.jsx("div",{className:"h-full min-h-0 border-l border-border bg-background md:min-w-[370px]",children:f.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[f.jsxs("div",{className:"flex shrink-0 items-center gap-2 border-b border-border pl-2.5 pr-2 py-2",children:[f.jsx("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:f.jsx(Vme,{currentBranchName:t.branchName,onListBranches:g,onPreviewMergeBranch:v,onMergeBranch:_,onCheckoutBranch:x,onCreateBranch:w})}),t.status==="ready"?en?on==="publish"?f.jsxs(Xe,{variant:"ghost",size:"sm",onClick:()=>void Ge(),disabled:U,className:"h-7 gap-1.5 px-2 text-xs hover:!bg-transparent hover:!border-border/0",children:[U?f.jsx(bn,{className:"h-3.5 w-3.5 animate-spin"}):f.jsx(lv,{className:"h-3.5 w-3.5"}),f.jsx("span",{children:"Publish Branch"})]}):f.jsxs("div",{className:"flex items-center gap-1",children:[on==="fetch"?f.jsxs(ei,{delayDuration:0,children:[f.jsx(ti,{asChild:!0,children:f.jsxs(Xe,{variant:"ghost",size:"sm",onClick:()=>void Ge(),disabled:U,className:"h-7 gap-1.5 px-2 text-xs hover:!bg-transparent hover:!border-border/0",children:[U?f.jsx(bn,{className:"h-3.5 w-3.5 animate-spin"}):f.jsx(JV,{className:"h-3.5 w-3.5"}),f.jsx("span",{children:"Fetch"})]})}),f.jsx(Gr,{children:zme(t.lastFetchedAt)})]}):f.jsxs(Xe,{variant:"ghost",size:"sm",onClick:()=>void Ge(),disabled:U,className:"h-7 gap-1.5 px-2 text-xs hover:!bg-transparent hover:!border-border/0",children:[U?f.jsx(bn,{className:"h-3.5 w-3.5 animate-spin"}):f.jsx(Lj,{className:"h-3.5 w-3.5"}),f.jsx("span",{children:"Pull"}),f.jsx("span",{className:"inline-flex min-w-4 items-center justify-center rounded-full bg-muted px-1 text-[10px] text-muted-foreground",children:Ct})]}),sn&<>0?f.jsxs(Xe,{variant:"default",size:"sm",onClick:()=>void Ge("push"),disabled:U,className:"h-7 gap-1.5 px-2 text-xs",children:[U?f.jsx(bn,{className:"h-3.5 w-3.5 animate-spin"}):f.jsx(lv,{className:"h-3.5 w-3.5"}),f.jsx("span",{children:"Push"}),f.jsx("span",{className:"inline-flex min-w-4 items-center justify-center rounded-full bg-primary-foreground/15 px-1 text-[10px] text-primary-foreground",children:lt})]}):null,gt&&Pt?f.jsxs(Xe,{variant:"ghost",size:"sm",onClick:()=>{typeof window>"u"||window.open(Pt,"_blank","noopener,noreferrer")},className:"h-7 gap-1.5 px-2 text-xs hover:!bg-transparent hover:!border-border/0",children:[f.jsx(Oj,{className:"h-3.5 w-3.5"}),f.jsx("span",{children:"PR"})]}):null]}):f.jsxs(Xe,{variant:"default",size:"sm",onClick:()=>G(!0),className:"h-7 gap-1.5 px-3 text-xs",children:[f.jsx(hV,{className:"h-3.5 w-3.5"}),f.jsx("span",{children:"Push to GitHub"})]}):null]}),f.jsxs("div",{className:"relative min-h-0 flex-1",children:[f.jsx("div",{className:"sticky top-0 z-30 pl-[14px] pr-[12px] pt-[6px] bg-gradient-to-b from-background to-transparent",children:f.jsx("div",{className:"relative h-[40px] flex min-w-0 items-center justify-center gap-[13px]",children:f.jsxs("div",{className:"flex min-w-0 flex-1 items-center justify-between gap-[13px] relative",children:[Ae==="changes"?f.jsxs("div",{className:"flex items-center gap-2 text-[11px] text-muted-foreground/70",children:[f.jsx(A8,{checked:ze,mixed:Ve,label:Ve?"Select all files for commit":ze?"Unselect all files from commit":"Select all files for commit",onClick:()=>{!e||t.files.length===0||Ke(e,ye,Ve?!0:!ze)}}),f.jsxs("span",{children:[be," files"]})]}):f.jsx("div",{}),f.jsx("div",{className:"pointer-events-none absolute left-1/2 -translate-x-1/2 top-1/2 -translate-y-1/2",children:f.jsx("div",{className:"pointer-events-auto",children:f.jsx(yc,{value:Ae,onValueChange:we=>{e&&Yt(e,we)},size:"sm",optionClassName:"flex-1 justify-center",options:[{value:"changes",label:"Changes"},{value:"history",label:"History"}]})})}),Ae==="changes"?f.jsxs("div",{className:"flex items-center gap-1",children:[f.jsx(_S,{label:"Unified diff",active:r==="unified",onClick:()=>W("unified"),children:f.jsx(tW,{className:"h-4 w-4"})}),f.jsx(_S,{label:"Side-by-side diff",active:r==="split",onClick:()=>W("split"),children:f.jsx(x9,{className:"h-4 w-4"})}),f.jsx(_S,{label:i?"Disable word wrap":"Enable word wrap",active:i,onClick:()=>I(!i),children:f.jsx(EW,{className:"h-4 w-4"})})]}):f.jsx("div",{})]})})}),f.jsx("div",{ref:ve,className:"h-full overflow-y-auto [scrollbar-gutter:stable]",children:t.status==="no_repo"?f.jsx("div",{className:"flex h-full items-center justify-center px-6 py-3 text-center",children:f.jsxs("div",{className:"flex max-w-[280px] flex-col items-center gap-3",children:[f.jsx("p",{className:"text-sm text-muted-foreground",children:"Initialize git here to start tracking branches, diffs, and history."}),f.jsx(Xe,{size:"sm",onClick:()=>void k(),children:"Init Git"})]})}):Ae==="history"?pt.length===0?f.jsx("div",{className:"flex h-full items-center justify-center px-6 py-3 text-center",children:f.jsxs("p",{className:"text-sm text-muted-foreground",children:["No recent commits on ",t.branchName??"this branch","."]})}):f.jsx("div",{className:"space-y-1.5 p-1.5",children:pt.map((we,We)=>f.jsx(Bme,{entry:we,isPendingPush:We<lt},we.sha))}):t.files.length===0?f.jsx("div",{className:"flex h-full items-center justify-center px-6 py-3 text-center",children:f.jsx("p",{className:"text-sm text-muted-foreground",children:"No file changes."})}):f.jsxs("div",{className:"space-y-1.5 p-1.5 pb-10",children:[t.files.map(we=>{const We=De[we.path]??!0,Le=wt[we.path]??!0;return f.jsx(Wme,{file:we,rootRef:ve,projectId:e,isCollapsed:We,isChecked:Le,editorLabel:n,diffRenderMode:r,wrapLines:i,onToggleCollapsed:()=>{e&&Ot(e,we.path)},onToggleChecked:()=>{e&&ht(e,we.path,!Le)},fileActions:B,patch:J[we.path],patchError:ie[we.path],isPatchLoading:!!oe[we.path],onLoadPatch:qe},we.path)}),Ae==="changes"?f.jsxs("div",{className:"pointer-events-none sticky inset-x-0 bottom-11 py-1 pb-6 z-30 overflow-y-auto",children:[f.jsx("div",{className:"absolute inset-x-0 bottom-0 top-0 bg-gradient-to-t from-background to-transparent"}),f.jsx("div",{className:"pointer-events-auto relative",children:f.jsxs("div",{className:"space-y-0 rounded-xl mx-auto max-w-[700px]",children:[f.jsx(nr,{value:me,onChange:we=>{e&&Tt(e,{summary:we.target.value,description:et})},onKeyDown:st,placeholder:"Commit message (override)",className:"rounded-t-xl rounded-b-none px-3",disabled:Nt||t.status!=="ready"}),f.jsx(B0,{value:et,onChange:we=>{e&&Tt(e,{summary:me,description:we.target.value})},onKeyDown:st,placeholder:"Description",rows:5,className:"-mt-px rounded-t-none rounded-b-xl px-3 outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background mb-2",disabled:Nt||t.status!=="ready"}),f.jsx("div",{className:"w-full flex flex-row",children:f.jsxs($d,{children:[f.jsx(Hd,{asChild:!0,children:f.jsx(Xe,{type:"button",className:"-mt-px w-full rounded-xl",disabled:rt?!ct:!He,onClick:()=>{if(rt){it(kt);return}Se()},children:f.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[rt?Bt?f.jsx(bn,{strokeWidth:2.5,className:"size-3 shrink-0 animate-spin"}):kt==="commit_and_push"?t.hasUpstream?f.jsx(lv,{strokeWidth:2.5,className:"size-3 shrink-0"}):f.jsx(jj,{strokeWidth:2.5,className:"size-3 shrink-0"}):f.jsx(pi,{strokeWidth:2.5,className:"size-3 shrink-0"}):F?f.jsx(bn,{strokeWidth:2.5,className:"size-3 shrink-0 animate-spin"}):f.jsx(WV,{strokeWidth:2.5,className:"size-3 shrink-0"}),f.jsx("span",{className:"min-w-0 truncate text-left",children:rt?Bt?z==="commit_only"?"Committing...":"Committing & Pushing...":kt==="commit_only"?f.jsxs(f.Fragment,{children:["Commit to ",f.jsx(mc,{strokeWidth:2.5,className:"mr-[4.5px] ml-0.5 inline size-3 "}),Ft]}):t.hasUpstream?f.jsxs(f.Fragment,{children:["Commit & push to ",f.jsx(mc,{strokeWidth:2.5,className:"mr-[4.5px] ml-0.5 inline size-3 "}),Ft]}):f.jsxs(f.Fragment,{children:["Commit & publish ",f.jsx(mc,{strokeWidth:2.5,className:"mr-[4.5px] ml-0.5 inline size-3 "}),Ft]}):F?"Generating...":f.jsxs(f.Fragment,{children:["Generate message for ",f.jsx(mc,{strokeWidth:2.5,className:"mr-[4.5px] ml-0.5 inline size-3 "}),Ft]})})]})})}),t.hasUpstream?f.jsx(Uc,{children:f.jsx(Wn,{disabled:!rt||!ct,onSelect:we=>{we.stopPropagation(),it("commit_only")},children:"Commit Only"})}):null]})})]})})]}):null]})})]}),f.jsx(Hme,{open:P,onOpenChange:G,onGetGitHubPublishInfo:R,onCheckGitHubRepoAvailability:T,onPublish:A})]})})}const qme=b.memo(Gme);function Kme(e,t){const n=getComputedStyle(e),r=parseFloat(n.fontSize);return t*r}function Yme(e,t){const n=getComputedStyle(e.ownerDocument.body),r=parseFloat(n.fontSize);return t*r}function Xme(e){return e/100*window.innerHeight}function Qme(e){return e/100*window.innerWidth}function Zme(e){switch(typeof e){case"number":return[e,"px"];case"string":{const t=parseFloat(e);return e.endsWith("%")?[t,"%"]:e.endsWith("px")?[t,"px"]:e.endsWith("rem")?[t,"rem"]:e.endsWith("em")?[t,"em"]:e.endsWith("vh")?[t,"vh"]:e.endsWith("vw")?[t,"vw"]:[t,"%"]}}}function yh({groupSize:e,panelElement:t,styleProp:n}){let r;const[i,s]=Zme(n);switch(s){case"%":{r=i/100*e;break}case"px":{r=i;break}case"rem":{r=Yme(t,i);break}case"em":{r=Kme(t,i);break}case"vh":{r=Xme(i);break}case"vw":{r=Qme(i);break}}return r}function Ti(e){return parseFloat(e.toFixed(3))}function Cd({group:e}){const{orientation:t,panels:n}=e;return n.reduce((r,i)=>(r+=t==="horizontal"?i.element.offsetWidth:i.element.offsetHeight,r),0)}function x1(e){const{panels:t}=e,n=Cd({group:e});return n===0?t.map(r=>({groupResizeBehavior:r.panelConstraints.groupResizeBehavior,collapsedSize:0,collapsible:r.panelConstraints.collapsible===!0,defaultSize:void 0,disabled:r.panelConstraints.disabled,minSize:0,maxSize:100,panelId:r.id})):t.map(r=>{const{element:i,panelConstraints:s}=r;let o=0;if(s.collapsedSize!==void 0){const p=yh({groupSize:n,panelElement:i,styleProp:s.collapsedSize});o=Ti(p/n*100)}let l;if(s.defaultSize!==void 0){const p=yh({groupSize:n,panelElement:i,styleProp:s.defaultSize});l=Ti(p/n*100)}let c=0;if(s.minSize!==void 0){const p=yh({groupSize:n,panelElement:i,styleProp:s.minSize});c=Ti(p/n*100)}let d=100;if(s.maxSize!==void 0){const p=yh({groupSize:n,panelElement:i,styleProp:s.maxSize});d=Ti(p/n*100)}return{groupResizeBehavior:s.groupResizeBehavior,collapsedSize:o,collapsible:s.collapsible===!0,defaultSize:l,disabled:s.disabled,minSize:c,maxSize:d,panelId:r.id}})}function Tn(e,t="Assertion error"){if(!e)throw Error(t)}function S1(e,t){return Array.from(t).sort(e==="horizontal"?Jme:ege)}function Jme(e,t){const n=e.element.offsetLeft-t.element.offsetLeft;return n!==0?n:e.element.offsetWidth-t.element.offsetWidth}function ege(e,t){const n=e.element.offsetTop-t.element.offsetTop;return n!==0?n:e.element.offsetHeight-t.element.offsetHeight}function M8(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function L8(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function tge({orientation:e,rects:t,targetRect:n}){const r={x:n.x+n.width/2,y:n.y+n.height/2};let i,s=Number.MAX_VALUE;for(const o of t){const{x:l,y:c}=L8(r,o),d=e==="horizontal"?l:c;d<s&&(s=d,i=o)}return Tn(i,"No rect found"),i}let $g;function nge(){return $g===void 0&&(typeof matchMedia=="function"?$g=!!matchMedia("(pointer:coarse)").matches:$g=!1),$g}function D8(e){const{element:t,orientation:n,panels:r,separators:i}=e,s=S1(n,Array.from(t.children).filter(M8).map(_=>({element:_}))).map(({element:_})=>_),o=[];let l=!1,c=!1,d=-1,p=-1,h=0,g,v=[];{let _=-1;for(const x of s)x.hasAttribute("data-panel")&&(_++,x.ariaDisabled===null&&(h++,d===-1&&(d=_),p=_))}if(h>1){let _=-1;for(const x of s)if(x.hasAttribute("data-panel")){_++;const w=r.find(C=>C.element===x);if(w){if(g){const C=g.element.getBoundingClientRect(),k=x.getBoundingClientRect();let R;if(c){const T=n==="horizontal"?new DOMRect(C.right,C.top,0,C.height):new DOMRect(C.left,C.bottom,C.width,0),A=n==="horizontal"?new DOMRect(k.left,k.top,0,k.height):new DOMRect(k.left,k.top,k.width,0);switch(v.length){case 0:{R=[T,A];break}case 1:{const N=v[0],M=tge({orientation:n,rects:[C,k],targetRect:N.element.getBoundingClientRect()});R=[N,M===C?A:T];break}default:{R=v;break}}}else v.length?R=v:R=[n==="horizontal"?new DOMRect(C.right,k.top,k.left-C.right,k.height):new DOMRect(k.left,C.bottom,k.width,k.top-C.bottom)];for(const T of R){let A="width"in T?T:T.element.getBoundingClientRect();const N=nge()?e.resizeTargetMinimumSize.coarse:e.resizeTargetMinimumSize.fine;if(A.width<N){const D=N-A.width;A=new DOMRect(A.x-D/2,A.y,A.width+D,A.height)}if(A.height<N){const D=N-A.height;A=new DOMRect(A.x,A.y-D/2,A.width,A.height+D)}const M=_<=d||_>p;!l&&!M&&o.push({group:e,groupSize:Cd({group:e}),panels:[g,w],separator:"width"in T?void 0:T,rect:A}),l=!1}}c=!1,g=w,v=[]}}else if(x.hasAttribute("data-separator")){x.ariaDisabled!==null&&(l=!0);const w=i.find(C=>C.element===x);w?v.push(w):(g=void 0,v=[])}else c=!0}return o}var gl,ij;let I8=(ij=class{constructor(){Za(this,gl,{})}addListener(t,n){const r=mr(this,gl)[t];return r===void 0?mr(this,gl)[t]=[n]:r.includes(n)||r.push(n),()=>{this.removeListener(t,n)}}emit(t,n){const r=mr(this,gl)[t];if(r!==void 0)if(r.length===1)r[0].call(null,n);else{let i=!1,s=null;const o=Array.from(r);for(let l=0;l<o.length;l++){const c=o[l];try{c.call(null,n)}catch(d){s===null&&(i=!0,s=d)}}if(i)throw s}}removeAllListeners(){as(this,gl,{})}removeListener(t,n){const r=mr(this,gl)[t];if(r!==void 0){const i=r.indexOf(n);i>=0&&r.splice(i,1)}}},gl=new WeakMap,ij),vo=new Map;const P8=new I8;function rge(e){vo=new Map(vo),vo.delete(e)}function SD(e,t){for(const[n]of vo)if(n.id===e)return n}function xl(e,t){for(const[n,r]of vo)if(n.id===e)return r;if(t)throw Error(`Could not find data for Group with id ${e}`)}function qc(){return vo}function yE(e,t){return P8.addListener("groupChange",n=>{n.group.id===e&&t(n)})}function ga(e,t){const n=vo.get(e);vo=new Map(vo),vo.set(e,t),P8.emit("groupChange",{group:e,prev:n,next:t})}function ige(e,t,n){let r,i={x:1/0,y:1/0};for(const s of t){const o=L8(n,s.rect);switch(e){case"horizontal":{o.x<=i.x&&(r=s,i=o);break}case"vertical":{o.y<=i.y&&(r=s,i=o);break}}}return r?{distance:i,hitRegion:r}:void 0}function sge(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function oge(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:kD(e),b:kD(t)};let r;for(;n.a.at(-1)===n.b.at(-1);)r=n.a.pop(),n.b.pop();Tn(r,"Stacking order can only be calculated for elements with a common ancestor");const i={a:CD(wD(n.a)),b:CD(wD(n.b))};if(i.a===i.b){const s=r.childNodes,o={a:n.a.at(-1),b:n.b.at(-1)};let l=s.length;for(;l--;){const c=s[l];if(c===o.a)return 1;if(c===o.b)return-1}}return Math.sign(i.a-i.b)}const age=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function lge(e){const t=getComputedStyle(j8(e)??e).display;return t==="flex"||t==="inline-flex"}function cge(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||lge(e))||+t.opacity<1||"transform"in t&&t.transform!=="none"||"webkitTransform"in t&&t.webkitTransform!=="none"||"mixBlendMode"in t&&t.mixBlendMode!=="normal"||"filter"in t&&t.filter!=="none"||"webkitFilter"in t&&t.webkitFilter!=="none"||"isolation"in t&&t.isolation==="isolate"||age.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function wD(e){let t=e.length;for(;t--;){const n=e[t];if(Tn(n,"Missing node"),cge(n))return n}return null}function CD(e){return e&&Number(getComputedStyle(e).zIndex)||0}function kD(e){const t=[];for(;e;)t.push(e),e=j8(e);return t}function j8(e){const{parentNode:t}=e;return sge(t)?t.host:t}function uge(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function dge({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!M8(n)||n.contains(e)||e.contains(n))return!0;if(oge(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if(uge(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function _E(e,t){const n=[];return t.forEach((r,i)=>{if(i.disabled)return;const s=D8(i),o=ige(i.orientation,s,{x:e.clientX,y:e.clientY});o&&o.distance.x<=0&&o.distance.y<=0&&dge({groupElement:i.element,hitRegion:o.hitRegion.rect,pointerEventTarget:e.target})&&n.push(o.hitRegion)}),n}function fge(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function ci(e,t,n=0){return Math.abs(Ti(e)-Ti(t))<=n}function fo(e,t){return ci(e,t)?0:e>t?1:-1}function Ju({overrideDisabledPanels:e,panelConstraints:t,prevSize:n,size:r}){const{collapsedSize:i=0,collapsible:s,disabled:o,maxSize:l=100,minSize:c=0}=t;if(o&&!e)return n;if(fo(r,c)<0)if(s){const d=(i+c)/2;fo(r,d)<0?r=i:r=c}else r=c;return r=Math.min(l,r),r=Ti(r),r}function dp({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:s}){if(ci(e,0))return t;const o=s==="imperative-api",l=Object.values(t),c=Object.values(i),d=[...l],[p,h]=r;Tn(p!=null,"Invalid first pivot index"),Tn(h!=null,"Invalid second pivot index");let g=0;switch(s){case"keyboard":{{const x=e<0?h:p,w=n[x];Tn(w,`Panel constraints not found for index ${x}`);const{collapsedSize:C=0,collapsible:k,minSize:R=0}=w;if(k){const T=l[x];if(Tn(T!=null,`Previous layout not found for panel index ${x}`),ci(T,C)){const A=R-T;fo(A,Math.abs(e))>0&&(e=e<0?0-A:A)}}}{const x=e<0?p:h,w=n[x];Tn(w,`No panel constraints found for index ${x}`);const{collapsedSize:C=0,collapsible:k,minSize:R=0}=w;if(k){const T=l[x];if(Tn(T!=null,`Previous layout not found for panel index ${x}`),ci(T,R)){const A=T-C;fo(A,Math.abs(e))>0&&(e=e<0?0-A:A)}}}break}default:{const x=e<0?h:p,w=n[x];Tn(w,`Panel constraints not found for index ${x}`);const C=l[x],{collapsible:k,collapsedSize:R,minSize:T}=w;if(k&&fo(C,T)<0)if(e>0){const A=T-R,N=A/2,M=C+e;fo(M,T)<0&&(e=fo(e,N)<=0?0:A)}else{const A=T-R,N=100-A/2,M=C-e;fo(M,T)<0&&(e=fo(100+e,N)>0?0:-A)}break}}{const x=e<0?1:-1;let w=e<0?h:p,C=0;for(;;){const R=l[w];Tn(R!=null,`Previous layout not found for panel index ${w}`);const T=Ju({overrideDisabledPanels:o,panelConstraints:n[w],prevSize:R,size:100})-R;if(C+=T,w+=x,w<0||w>=n.length)break}const k=Math.min(Math.abs(e),Math.abs(C));e=e<0?0-k:k}{let x=e<0?p:h;for(;x>=0&&x<n.length;){const w=Math.abs(e)-Math.abs(g),C=l[x];Tn(C!=null,`Previous layout not found for panel index ${x}`);const k=C-w,R=Ju({overrideDisabledPanels:o,panelConstraints:n[x],prevSize:C,size:k});if(!ci(C,R)&&(g+=C-R,d[x]=R,g.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?x--:x++}}if(fge(c,d))return i;{const x=e<0?h:p,w=l[x];Tn(w!=null,`Previous layout not found for panel index ${x}`);const C=w+g,k=Ju({overrideDisabledPanels:o,panelConstraints:n[x],prevSize:w,size:C});if(d[x]=k,!ci(k,C)){let R=C-k,T=e<0?h:p;for(;T>=0&&T<n.length;){const A=d[T];Tn(A!=null,`Previous layout not found for panel index ${T}`);const N=A+R,M=Ju({overrideDisabledPanels:o,panelConstraints:n[T],prevSize:A,size:N});if(ci(A,M)||(R-=M-A,d[T]=M),ci(R,0))break;e>0?T--:T++}}}const v=Object.values(d).reduce((x,w)=>w+x,0);if(!ci(v,100,.1))return i;const _=Object.keys(i);return d.reduce((x,w,C)=>(x[_[C]]=w,x),{})}function Dc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(t[n]===void 0||fo(e[n],t[n])!==0)return!1;return!0}function Ic({layout:e,panelConstraints:t}){const n=Object.values(e),r=[...n],i=r.reduce((l,c)=>l+c,0);if(r.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${r.map(l=>`${l}%`).join(", ")}`);if(!ci(i,100)&&r.length>0)for(let l=0;l<t.length;l++){const c=r[l];Tn(c!=null,`No layout data found for index ${l}`);const d=100/i*c;r[l]=d}let s=0;for(let l=0;l<t.length;l++){const c=n[l];Tn(c!=null,`No layout data found for index ${l}`);const d=r[l];Tn(d!=null,`No layout data found for index ${l}`);const p=Ju({overrideDisabledPanels:!0,panelConstraints:t[l],prevSize:c,size:d});d!=p&&(s+=d-p,r[l]=p)}if(!ci(s,0))for(let l=0;l<t.length;l++){const c=r[l];Tn(c!=null,`No layout data found for index ${l}`);const d=c+s,p=Ju({overrideDisabledPanels:!0,panelConstraints:t[l],prevSize:c,size:d});if(c!==p&&(s-=p-c,r[l]=p,ci(s,0)))break}const o=Object.keys(e);return r.reduce((l,c,d)=>(l[o[d]]=c,l),{})}function O8({groupId:e,panelId:t}){const n=()=>{const l=qc();for(const[c,{defaultLayoutDeferred:d,derivedPanelConstraints:p,layout:h,groupSize:g,separatorToPanels:v}]of l)if(c.id===e)return{defaultLayoutDeferred:d,derivedPanelConstraints:p,group:c,groupSize:g,layout:h,separatorToPanels:v};throw Error(`Group ${e} not found`)},r=()=>{const l=n().derivedPanelConstraints.find(c=>c.panelId===t);if(l!==void 0)return l;throw Error(`Panel constraints not found for Panel ${t}`)},i=()=>{const l=n().group.panels.find(c=>c.id===t);if(l!==void 0)return l;throw Error(`Layout not found for Panel ${t}`)},s=()=>{const l=n().layout[t];if(l!==void 0)return l;throw Error(`Layout not found for Panel ${t}`)},o=l=>{const c=s();if(l===c)return;const{defaultLayoutDeferred:d,derivedPanelConstraints:p,group:h,groupSize:g,layout:v,separatorToPanels:_}=n(),x=h.panels.findIndex(R=>R.id===t),w=x===h.panels.length-1,C=dp({delta:w?c-l:l-c,initialLayout:v,panelConstraints:p,pivotIndices:w?[x-1,x]:[x,x+1],prevLayout:v,trigger:"imperative-api"}),k=Ic({layout:C,panelConstraints:p});Dc(v,k)||ga(h,{defaultLayoutDeferred:d,derivedPanelConstraints:p,groupSize:g,layout:k,separatorToPanels:_})};return{collapse:()=>{const{collapsible:l,collapsedSize:c}=r(),{mutableValues:d}=i(),p=s();l&&p!==c&&(d.expandToSize=p,o(c))},expand:()=>{const{collapsible:l,collapsedSize:c,minSize:d}=r(),{mutableValues:p}=i(),h=s();if(l&&h===c){let g=p.expandToSize??d;g===0&&(g=1),o(g)}},getSize:()=>{const{group:l}=n(),c=s(),{element:d}=i(),p=l.orientation==="horizontal"?d.offsetWidth:d.offsetHeight;return{asPercentage:c,inPixels:p}},isCollapsed:()=>{const{collapsible:l,collapsedSize:c}=r(),d=s();return l&&ci(c,d)},resize:l=>{const{group:c}=n(),{element:d}=i(),p=Cd({group:c}),h=yh({groupSize:p,panelElement:d,styleProp:l}),g=Ti(h/p*100);o(g)}}}function ED(e){if(e.defaultPrevented)return;const t=qc();_E(e,t).forEach(n=>{if(n.separator){const r=n.panels.find(i=>i.panelConstraints.defaultSize!==void 0);if(r){const i=r.panelConstraints.defaultSize,s=O8({groupId:n.group.id,panelId:r.id});s&&i!==void 0&&(s.resize(i),e.preventDefault())}}})}function xv(e){const t=qc();for(const[n]of t)if(n.separators.some(r=>r.element===e))return n;throw Error("Could not find parent Group for separator element")}function z8({groupId:e}){const t=()=>{const n=qc();for(const[r,i]of n)if(r.id===e)return{group:r,...i};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){const{defaultLayoutDeferred:n,layout:r}=t();return n?{}:r},setLayout(n){const{defaultLayoutDeferred:r,derivedPanelConstraints:i,group:s,groupSize:o,layout:l,separatorToPanels:c}=t(),d=Ic({layout:n,panelConstraints:i});return r?l:(Dc(l,d)||ga(s,{defaultLayoutDeferred:r,derivedPanelConstraints:i,groupSize:o,layout:d,separatorToPanels:c}),d)}}}function sc(e,t){const n=xv(e),r=xl(n.id,!0),i=n.separators.find(p=>p.element===e);Tn(i,"Matching separator not found");const s=r.separatorToPanels.get(i);Tn(s,"Matching panels not found");const o=s.map(p=>n.panels.indexOf(p)),l=z8({groupId:n.id}).getLayout(),c=dp({delta:t,initialLayout:l,panelConstraints:r.derivedPanelConstraints,pivotIndices:o,prevLayout:l,trigger:"keyboard"}),d=Ic({layout:c,panelConstraints:r.derivedPanelConstraints});Dc(l,d)||ga(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,groupSize:r.groupSize,layout:d,separatorToPanels:r.separatorToPanels})}function RD(e){if(e.defaultPrevented)return;const t=e.currentTarget,n=xv(t);if(!n.disabled)switch(e.key){case"ArrowDown":{e.preventDefault(),n.orientation==="vertical"&&sc(t,5);break}case"ArrowLeft":{e.preventDefault(),n.orientation==="horizontal"&&sc(t,-5);break}case"ArrowRight":{e.preventDefault(),n.orientation==="horizontal"&&sc(t,5);break}case"ArrowUp":{e.preventDefault(),n.orientation==="vertical"&&sc(t,-5);break}case"End":{e.preventDefault(),sc(t,100);break}case"Enter":{e.preventDefault();const r=xv(t),i=xl(r.id,!0),{derivedPanelConstraints:s,layout:o,separatorToPanels:l}=i,c=r.separators.find(g=>g.element===t);Tn(c,"Matching separator not found");const d=l.get(c);Tn(d,"Matching panels not found");const p=d[0],h=s.find(g=>g.panelId===p.id);if(Tn(h,"Panel metadata not found"),h.collapsible){const g=o[p.id],v=h.collapsedSize===g?r.mutableState.expandedPanelSizes[p.id]??h.minSize:h.collapsedSize;sc(t,v-g)}break}case"F6":{e.preventDefault();const r=xv(t).separators.map(o=>o.element),i=Array.from(r).findIndex(o=>o===e.currentTarget);Tn(i!==null,"Index not found");const s=e.shiftKey?i>0?i-1:r.length-1:i+1<r.length?i+1:0;r[s].focus({preventScroll:!0});break}case"Home":{e.preventDefault(),sc(t,-100);break}}}let fd={cursorFlags:0,state:"inactive"};const xE=new I8;function Pc(){return fd}function hge(e){return xE.addListener("change",e)}function pge(e){const t=fd,n={...fd};n.cursorFlags=e,fd=n,xE.emit("change",{prev:t,next:n})}function hd(e){const t=fd;fd=e,xE.emit("change",{prev:t,next:e})}function TD(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const t=qc(),n=_E(e,t),r=new Map;let i=!1;n.forEach(s=>{s.separator&&(i||(i=!0,s.separator.element.focus({preventScroll:!0})));const o=t.get(s.group);o&&r.set(s.group,o.layout)}),hd({cursorFlags:0,hitRegions:n,initialLayoutMap:r,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:"active"}),n.length&&e.preventDefault()}const mge=e=>e,xS=()=>{},B8=1,F8=2,$8=4,H8=8,AD=3,ND=12;let Hg;function MD(){return Hg===void 0&&(Hg=!1,typeof window<"u"&&(window.navigator.userAgent.includes("Chrome")||window.navigator.userAgent.includes("Firefox"))&&(Hg=!0)),Hg}function gge({cursorFlags:e,groups:t,state:n}){let r=0,i=0;switch(n){case"active":case"hover":t.forEach(s=>{if(!s.mutableState.disableCursor)switch(s.orientation){case"horizontal":{r++;break}case"vertical":{i++;break}}})}if(!(r===0&&i===0)){switch(n){case"active":{if(e&&MD()){const s=(e&B8)!==0,o=(e&F8)!==0,l=(e&$8)!==0,c=(e&H8)!==0;if(s)return l?"se-resize":c?"ne-resize":"e-resize";if(o)return l?"sw-resize":c?"nw-resize":"w-resize";if(l)return"s-resize";if(c)return"n-resize"}break}}return MD()?r>0&&i>0?"move":r>0?"ew-resize":"ns-resize":r>0&&i>0?"grab":r>0?"col-resize":"row-resize"}}const LD=new WeakMap;function SE(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=LD.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&e.adoptedStyleSheets.push(n));const r=Pc();switch(r.state){case"active":case"hover":{const i=gge({cursorFlags:r.cursorFlags,groups:r.hitRegions.map(o=>o.group),state:r.state}),s=`*, *:hover {cursor: ${i} !important; }`;if(t===s)return;t=s,i?n.cssRules.length===0?n.insertRule(s):n.replaceSync(s):n.cssRules.length===1&&n.deleteRule(0);break}case"inactive":{t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}}LD.set(e,{prevStyle:t,styleSheet:n})}function U8({document:e,event:t,hitRegions:n,initialLayoutMap:r,mountedGroups:i,pointerDownAtPoint:s,prevCursorFlags:o}){let l=0;n.forEach(d=>{const{group:p,groupSize:h}=d,{orientation:g,panels:v}=p,{disableCursor:_}=p.mutableState;let x=0;s?g==="horizontal"?x=(t.clientX-s.x)/h*100:x=(t.clientY-s.y)/h*100:g==="horizontal"?x=t.clientX<0?-100:100:x=t.clientY<0?-100:100;const w=r.get(p),C=i.get(p);if(!w||!C)return;const{defaultLayoutDeferred:k,derivedPanelConstraints:R,groupSize:T,layout:A,separatorToPanels:N}=C;if(R&&A&&N){const M=dp({delta:x,initialLayout:w,panelConstraints:R,pivotIndices:d.panels.map(D=>v.indexOf(D)),prevLayout:A,trigger:"mouse-or-touch"});if(Dc(M,A)){if(x!==0&&!_)switch(g){case"horizontal":{l|=x<0?B8:F8;break}case"vertical":{l|=x<0?$8:H8;break}}}else ga(d.group,{defaultLayoutDeferred:k,derivedPanelConstraints:R,groupSize:T,layout:M,separatorToPanels:N})}});let c=0;t.movementX===0?c|=o&AD:c|=l&AD,t.movementY===0?c|=o&ND:c|=l&ND,pge(c),SE(e)}function DD(e){const t=qc(),n=Pc();switch(n.state){case"active":U8({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,prevCursorFlags:n.cursorFlags})}}function ID(e){if(e.defaultPrevented)return;const t=Pc(),n=qc();switch(t.state){case"active":{if(e.buttons===0){hd({cursorFlags:0,state:"inactive"}),t.hitRegions.forEach(r=>{const i=xl(r.group.id,!0);ga(r.group,i)});return}U8({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint,prevCursorFlags:t.cursorFlags});break}default:{const r=_E(e,n);r.length===0?t.state!=="inactive"&&hd({cursorFlags:0,state:"inactive"}):hd({cursorFlags:0,hitRegions:r,state:"hover"}),SE(e.currentTarget);break}}}function PD(e){if(e.relatedTarget instanceof HTMLIFrameElement)switch(Pc().state){case"hover":hd({cursorFlags:0,state:"inactive"})}}function jD(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const t=Pc();switch(t.state){case"active":hd({cursorFlags:0,state:"inactive"}),t.hitRegions.length>0&&(SE(e.currentTarget),t.hitRegions.forEach(n=>{const r=xl(n.group.id,!0);ga(n.group,r)}),e.preventDefault())}}function OD(e){let t=0,n=0;const r={};for(const s of e)if(s.defaultSize!==void 0){t++;const o=Ti(s.defaultSize);n+=o,r[s.panelId]=o}else r[s.panelId]=void 0;const i=e.length-t;if(i!==0){const s=Ti((100-n)/i);for(const o of e)o.defaultSize===void 0&&(r[o.panelId]=s)}return r}function vge(e,t,n){if(!n[0])return;const r=e.panels.find(c=>c.element===t);if(!r||!r.onResize)return;const i=Cd({group:e}),s=e.orientation==="horizontal"?r.element.offsetWidth:r.element.offsetHeight,o=r.mutableValues.prevSize,l={asPercentage:Ti(s/i*100),inPixels:s};r.mutableValues.prevSize=l,r.onResize(l,r.id,o)}function bge(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function yge({group:e,nextGroupSize:t,prevGroupSize:n,prevLayout:r}){if(n<=0||t<=0||n===t)return r;let i=0,s=0,o=!1;const l=new Map,c=[];for(const h of e.panels){const g=r[h.id]??0;switch(h.panelConstraints.groupResizeBehavior){case"preserve-pixel-size":{o=!0;const v=g/100*n,_=Ti(v/t*100);l.set(h.id,_),i+=_;break}case"preserve-relative-size":default:{c.push(h.id),s+=g;break}}}if(!o||c.length===0)return r;const d=100-i,p={...r};if(l.forEach((h,g)=>{p[g]=h}),s>0)for(const h of c){const g=r[h]??0;p[h]=Ti(g/s*d)}else{const h=Ti(d/c.length);for(const g of c)p[g]=h}return p}function _ge(e,t){const n=e.map(i=>i.id),r=Object.keys(t);if(n.length!==r.length)return!1;for(const i of n)if(!r.includes(i))return!1;return!0}const Fu=new Map;function xge(e){let t=!0;Tn(e.element.ownerDocument.defaultView,"Cannot register an unmounted Group");const n=e.element.ownerDocument.defaultView.ResizeObserver,r=new Set,i=new Set,s=new n(_=>{for(const x of _){const{borderBoxSize:w,target:C}=x;if(C===e.element){if(t){const k=Cd({group:e});if(k===0)return;const R=xl(e.id);if(!R)return;const T=x1(e),A=R.defaultLayoutDeferred?OD(T):R.layout,N=yge({group:e,nextGroupSize:k,prevGroupSize:R.groupSize,prevLayout:A}),M=Ic({layout:N,panelConstraints:T});if(!R.defaultLayoutDeferred&&Dc(R.layout,M)&&bge(R.derivedPanelConstraints,T)&&R.groupSize===k)return;ga(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:T,groupSize:k,layout:M,separatorToPanels:R.separatorToPanels})}}else vge(e,C,w)}});s.observe(e.element),e.panels.forEach(_=>{Tn(!r.has(_.id),`Panel ids must be unique; id "${_.id}" was used more than once`),r.add(_.id),_.onResize&&s.observe(_.element)});const o=Cd({group:e}),l=x1(e),c=e.panels.map(({id:_})=>_).join(",");let d=e.mutableState.defaultLayout;d&&(_ge(e.panels,d)||(d=void 0));const p=e.mutableState.layouts[c]??d??OD(l),h=Ic({layout:p,panelConstraints:l}),g=e.element.ownerDocument;Fu.set(g,(Fu.get(g)??0)+1);const v=new Map;return D8(e).forEach(_=>{_.separator&&v.set(_.separator,_.panels)}),ga(e,{defaultLayoutDeferred:o===0,derivedPanelConstraints:l,groupSize:o,layout:h,separatorToPanels:v}),e.separators.forEach(_=>{Tn(!i.has(_.id),`Separator ids must be unique; id "${_.id}" was used more than once`),i.add(_.id),_.element.addEventListener("keydown",RD)}),Fu.get(g)===1&&(g.addEventListener("dblclick",ED,!0),g.addEventListener("pointerdown",TD,!0),g.addEventListener("pointerleave",DD),g.addEventListener("pointermove",ID),g.addEventListener("pointerout",PD),g.addEventListener("pointerup",jD,!0)),function(){t=!1,Fu.set(g,Math.max(0,(Fu.get(g)??0)-1)),rge(e),e.separators.forEach(_=>{_.element.removeEventListener("keydown",RD)}),Fu.get(g)||(g.removeEventListener("dblclick",ED,!0),g.removeEventListener("pointerdown",TD,!0),g.removeEventListener("pointerleave",DD),g.removeEventListener("pointermove",ID),g.removeEventListener("pointerout",PD),g.removeEventListener("pointerup",jD,!0)),s.disconnect()}}function Sge(){const[e,t]=b.useState({}),n=b.useCallback(()=>t({}),[]);return[e,n]}function wE(e){const t=b.useId();return`${e??t}`}const Kc=typeof window<"u"?b.useLayoutEffect:b.useEffect;function Oh(e){const t=b.useRef(e);return Kc(()=>{t.current=e},[e]),b.useCallback((...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[t])}function CE(...e){return Oh(t=>{e.forEach(n=>{if(n)switch(typeof n){case"function":{n(t);break}case"object":{n.current=t;break}}})})}function kE(e){const t=b.useRef({...e});return Kc(()=>{for(const n in e)t.current[n]=e[n]},[e]),t.current}const V8=b.createContext(null);function wge(e,t){const n=b.useRef({getLayout:()=>({}),setLayout:mge});b.useImperativeHandle(t,()=>n.current,[]),Kc(()=>{Object.assign(n.current,z8({groupId:e}))})}function W8({children:e,className:t,defaultLayout:n,disableCursor:r,disabled:i,elementRef:s,groupRef:o,id:l,onLayoutChange:c,onLayoutChanged:d,orientation:p="horizontal",resizeTargetMinimumSize:h={coarse:20,fine:10},style:g,...v}){const _=b.useRef({onLayoutChange:{},onLayoutChanged:{}}),x=Oh($=>{Dc(_.current.onLayoutChange,$)||(_.current.onLayoutChange=$,c==null||c($))}),w=Oh($=>{Dc(_.current.onLayoutChanged,$)||(_.current.onLayoutChanged=$,d==null||d($))}),C=wE(l),k=b.useRef(null),[R,T]=Sge(),A=b.useRef({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:h,separators:[]}),N=CE(k,s);wge(C,o);const M=Oh(($,B)=>{const j=Pc(),F=SD($),V=xl($);if(V){let z=!1;switch(j.state){case"active":{z=j.hitRegions.some(H=>H.group===F);break}}return{flexGrow:V.layout[B]??1,pointerEvents:z?"none":void 0}}return{flexGrow:(n==null?void 0:n[B])??1}}),D=kE({defaultLayout:n,disableCursor:r}),W=b.useMemo(()=>({get disableCursor(){return!!D.disableCursor},getPanelStyles:M,id:C,orientation:p,registerPanel:$=>{const B=A.current;return B.panels=S1(p,[...B.panels,$]),T(),()=>{B.panels=B.panels.filter(j=>j!==$),T()}},registerSeparator:$=>{const B=A.current;return B.separators=S1(p,[...B.separators,$]),T(),()=>{B.separators=B.separators.filter(j=>j!==$),T()}},togglePanelDisabled:($,B)=>{const j=A.current.panels.find(z=>z.id===$);j&&(j.panelConstraints.disabled=B);const F=SD(C),V=xl(C);F&&V&&ga(F,{...V,derivedPanelConstraints:x1(F)})},toggleSeparatorDisabled:($,B)=>{const j=A.current.separators.find(F=>F.id===$);j&&(j.disabled=B)}}),[M,C,T,p,D]),I=b.useRef(null);return Kc(()=>{const $=k.current;if($===null)return;const B=A.current;let j;if(D.defaultLayout!==void 0&&Object.keys(D.defaultLayout).length===B.panels.length){j={};for(const P of B.panels){const G=D.defaultLayout[P.id];G!==void 0&&(j[P.id]=G)}}const F={disabled:!!i,element:$,id:C,mutableState:{defaultLayout:j,disableCursor:!!D.disableCursor,expandedPanelSizes:A.current.lastExpandedPanelSizes,layouts:A.current.layouts},orientation:p,panels:B.panels,resizeTargetMinimumSize:B.resizeTargetMinimumSize,separators:B.separators};I.current=F;const V=xge(F),{defaultLayoutDeferred:z,derivedPanelConstraints:H,layout:U}=xl(F.id,!0);!z&&H.length>0&&(x(U),w(U));const Y=yE(C,P=>{const{defaultLayoutDeferred:G,derivedPanelConstraints:J,layout:O}=P.next;if(G||J.length===0)return;const ie=F.panels.map(({id:oe})=>oe).join(",");F.mutableState.layouts[ie]=O,J.forEach(oe=>{if(oe.collapsible){const{layout:se}=P.prev??{};if(se){const ve=ci(oe.collapsedSize,O[oe.panelId]),ue=ci(oe.collapsedSize,se[oe.panelId]);ve&&!ue&&(F.mutableState.expandedPanelSizes[oe.panelId]=se[oe.panelId])}}});const Z=Pc().state!=="active";x(O),Z&&w(O)});return()=>{I.current=null,V(),Y()}},[i,C,w,x,p,R,D]),b.useEffect(()=>{const $=I.current;$&&($.mutableState.defaultLayout=n,$.mutableState.disableCursor=!!r)}),f.jsx(V8.Provider,{value:W,children:f.jsx("div",{...v,className:t,"data-group":!0,"data-testid":C,id:C,ref:N,style:{height:"100%",width:"100%",overflow:"hidden",...g,display:"flex",flexDirection:p==="horizontal"?"row":"column",flexWrap:"nowrap",touchAction:p==="horizontal"?"pan-y":"pan-x"},children:e})})}W8.displayName="Group";function EE(){const e=b.useContext(V8);return Tn(e,"Group Context not found; did you render a Panel or Separator outside of a Group?"),e}function Cge(e,t){const{id:n}=EE(),r=b.useRef({collapse:xS,expand:xS,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:xS});b.useImperativeHandle(t,()=>r.current,[]),Kc(()=>{Object.assign(r.current,O8({groupId:n,panelId:e}))})}function G8({children:e,className:t,collapsedSize:n="0%",collapsible:r=!1,defaultSize:i,disabled:s,elementRef:o,groupResizeBehavior:l="preserve-relative-size",id:c,maxSize:d="100%",minSize:p="0%",onResize:h,panelRef:g,style:v,..._}){const x=!!c,w=wE(c),C=kE({disabled:s}),k=b.useRef(null),R=CE(k,o),{getPanelStyles:T,id:A,orientation:N,registerPanel:M,togglePanelDisabled:D}=EE(),W=h!==null,I=Oh((B,j,F)=>{h==null||h(B,c,F)});Kc(()=>{const B=k.current;if(B!==null){const j={element:B,id:w,idIsStable:x,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:W?I:void 0,panelConstraints:{groupResizeBehavior:l,collapsedSize:n,collapsible:r,defaultSize:i,disabled:C.disabled,maxSize:d,minSize:p}};return M(j)}},[l,n,r,i,W,w,x,d,p,I,M,C]),b.useEffect(()=>{D(w,!!s)},[s,w,D]),Cge(w,g);const $=b.useSyncExternalStore(B=>yE(A,B),()=>JSON.stringify(T(A,w)),()=>JSON.stringify(T(A,w)));return f.jsx("div",{..._,"aria-disabled":s||void 0,"data-panel":!0,"data-testid":w,id:w,ref:R,style:{...kge,display:"flex",flexBasis:0,flexShrink:1,overflow:"visible",...JSON.parse($)},children:f.jsx("div",{className:t,style:{maxHeight:"100%",maxWidth:"100%",flexGrow:1,overflow:"auto",...v,touchAction:N==="horizontal"?"pan-y":"pan-x"},children:e})})}G8.displayName="Panel";const kge={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function Ege({layout:e,panelConstraints:t,panelId:n,panelIndex:r}){let i,s;const o=e[n],l=t.find(c=>c.panelId===n);if(l){const c=l.maxSize,d=l.collapsible?l.collapsedSize:l.minSize,p=[r,r+1];s=Ic({layout:dp({delta:d-o,initialLayout:e,panelConstraints:t,pivotIndices:p,prevLayout:e}),panelConstraints:t})[n],i=Ic({layout:dp({delta:c-o,initialLayout:e,panelConstraints:t,pivotIndices:p,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:s,valueNow:o}}function q8({children:e,className:t,disabled:n,elementRef:r,id:i,style:s,...o}){const l=wE(i),c=kE({disabled:n}),[d,p]=b.useState({}),[h,g]=b.useState("inactive"),v=b.useRef(null),_=CE(v,r),{disableCursor:x,id:w,orientation:C,registerSeparator:k,toggleSeparatorDisabled:R}=EE(),T=C==="horizontal"?"vertical":"horizontal";Kc(()=>{const N=v.current;if(N!==null){const M={disabled:c.disabled,element:N,id:l},D=k(M),W=hge($=>{g($.next.state!=="inactive"&&$.next.hitRegions.some(B=>B.separator===M)?$.next.state:"inactive")}),I=yE(w,$=>{const{derivedPanelConstraints:B,layout:j,separatorToPanels:F}=$.next,V=F.get(M);if(V){const z=V[0],H=V.indexOf(z);p(Ege({layout:j,panelConstraints:B,panelId:z.id,panelIndex:H}))}});return()=>{W(),I(),D()}}},[w,l,k,c]),b.useEffect(()=>{R(l,!!n)},[n,l,R]);let A;return n&&!x&&(A="not-allowed"),f.jsx("div",{...o,"aria-controls":d.valueControls,"aria-disabled":n||void 0,"aria-orientation":T,"aria-valuemax":d.valueMax,"aria-valuemin":d.valueMin,"aria-valuenow":d.valueNow,children:e,className:t,"data-separator":n?"disabled":h,"data-testid":l,id:l,ref:_,role:"separator",style:{flexBasis:"auto",cursor:A,...s,flexGrow:0,flexShrink:0,touchAction:"none"},tabIndex:n?void 0:0})}q8.displayName="Separator";const RE=({className:e,...t})=>f.jsx(W8,{className:he("flex h-full w-full",e),...t}),fp=e=>f.jsx(G8,{...e}),TE=({withHandle:e,orientation:t,disabled:n,className:r,...i})=>f.jsx(q8,{disabled:n,className:he("relative flex items-center justify-center bg-transparent focus-visible:outline-none",t==="vertical"?"h-2 w-full -my-1 cursor-row-resize":"h-full w-2 -mx-1 cursor-col-resize",e&&(t==="vertical"?"before:absolute before:inset-x-0 before:top-1/2 before:h-0.5 before:-translate-y-1/2 before:bg-border":"before:absolute before:inset-y-0 before:left-1/2 before:w-px before:-translate-x-1/2 before:bg-border"),r),...i,children:f.jsx("span",{className:"sr-only",children:t==="vertical"?"Resize rows":"Resize columns"})});function K8(e,t,n){const r=typeof e.maxTokens=="number"&&Number.isFinite(e.maxTokens)?e.maxTokens:null,i=r&&r>0?Math.min(100,e.usedTokens/r*100):null,s=r!==null?Math.max(0,Math.round(r-e.usedTokens)):null,o=i!==null?Math.max(0,100-i):null;return{...e,compactsAutomatically:e.compactsAutomatically||n,maxTokens:r??void 0,remainingTokens:s,usedPercentage:i,remainingPercentage:o,updatedAt:t}}function Rge(e){const t=e.some(n=>n.kind==="compact_boundary"||n.kind==="compact_summary"||n.kind==="context_cleared");for(let n=e.length-1;n>=0;n-=1){const r=e[n];if(r&&!(r.kind!=="context_window_updated"||r.usage.usedTokens<=0))return K8(r.usage,new Date(r.createdAt).toISOString(),t)}return null}function Tge(e,t){return!e||t===null||!Number.isFinite(t)||t<=0?e:K8({...e,maxTokens:t},e.updatedAt,e.compactsAutomatically)}function sh(e){return e==null||!Number.isFinite(e)?"0":e<1e3?`${Math.round(e)}`:e<1e4?`${(e/1e3).toFixed(1).replace(/\.0$/,"")}k`:e<1e6?`${Math.round(e/1e3)}k`:`${(e/1e6).toFixed(1).replace(/\.0$/,"")}m`}const AE=[68,32];function Age(){return{isVisible:!1,mainSizes:[...AE],terminals:[],nextTerminalIndex:0}}function Nge(e,t){return e[t]??Age()}function SS(e){if(e.length===0)return[];const t=e.reduce((n,r)=>n+Math.max(r,0),0);return!Number.isFinite(t)||t<=0?Array.from({length:e.length},()=>100/e.length):e.map(n=>Math.max(n,0)/t*100)}function Mge(e){let t=e,n="";do n=String.fromCharCode(65+t%26)+n,t=Math.floor(t/26)-1;while(t>=0);return`Terminal ${n}`}function Lge(e){if(e.length===0)return e;const t=e.length+1;return e.map(n=>({...n,size:n.size*e.length/t}))}function $u(e,t,n){return{...e,[t]:n(Nge(e,t))}}const cl=Js()(Fp(e=>({projects:{},addTerminal:(t,n)=>e(r=>({projects:$u(r.projects,t,i=>{var c,d;const s=Lge(i.terminals),o={id:((d=(c=globalThis.crypto)==null?void 0:c.randomUUID)==null?void 0:d.call(c))??`terminal-${Date.now()}-${i.nextTerminalIndex}`,title:Mge(i.nextTerminalIndex),size:100/(s.length+1)},l=n?Math.max(s.findIndex(p=>p.id===n)+1,0):s.length;return{...i,isVisible:!0,nextTerminalIndex:i.nextTerminalIndex+1,terminals:[...s.slice(0,l),o,...s.slice(l)]}})})),removeTerminal:(t,n)=>e(r=>({projects:$u(r.projects,t,i=>{const s=i.terminals.filter(l=>l.id!==n);if(s.length===0)return{...i,isVisible:!1,terminals:[]};const o=SS(s.map(l=>l.size));return{...i,terminals:s.map((l,c)=>({...l,size:o[c]??100/s.length}))}})})),toggleVisibility:t=>e(n=>({projects:$u(n.projects,t,r=>({...r,isVisible:r.terminals.length>0?!r.isVisible:!1}))})),resetMainSizes:t=>e(n=>({projects:$u(n.projects,t,r=>({...r,mainSizes:[...AE]}))})),setMainSizes:(t,n)=>e(r=>{if(n.length!==2)return r;const i=SS(n);return{projects:$u(r.projects,t,s=>({...s,mainSizes:i}))}}),setTerminalSizes:(t,n)=>e(r=>({projects:$u(r.projects,t,i=>{if(n.length!==i.terminals.length)return i;const s=SS(n);return{...i,terminals:i.terminals.map((o,l)=>({...o,size:s[l]??o.size}))}})})),clearProject:t=>e(n=>{const{[t]:r,...i}=n.projects;return{projects:i}})}),{name:"terminal-layouts",version:1})),Dge={isVisible:!1,mainSizes:[...AE],terminals:[],nextTerminalIndex:0},Ige=35;function Pge(e,t){return!Number.isFinite(e)||e<=0||!Number.isFinite(t)||t<=0?0:e*(t/100)}function jge(e,t){const n=Pge(e,t);return n>=0&&n<Ige}const F0=350,Oge=[.4,0,.2,1],zge=8,zD=1e-6;function Bge(e,t,n){const r=1-e;return 3*r*r*e*t+3*r*e*e*n+e*e*e}function Fge(e,t,n){const r=1-e;return 3*r*r*e*t+3*r*e*e*n+e*e*e}function $ge(e,t,n){const r=1-e;return 3*r*r*t+6*r*e*(n-t)+3*e*e*(1-n)}function Hge(e,t,n){let r=e;for(let i=0;i<zge;i+=1){const s=Bge(r,t,n)-e;if(Math.abs(s)<zD)return r;const o=$ge(r,t,n);if(Math.abs(o)<zD)break;r-=s/o}return r}function Uge(e){if(e<=0)return 0;if(e>=1)return 1;const[t,n,r,i]=Oge,s=Hge(e,t,r);return Fge(s,n,i)}function Y8(e,t,n){const r=Uge(n);return[e[0]+(t[0]-e[0])*r,e[1]+(t[1]-e[1])*r]}function Vge({projectId:e,shouldRenderRightSidebarLayout:t,showRightSidebar:n,rightSidebarSize:r}){const i=b.useRef(null),s=b.useRef(null),o=b.useRef(null),l=b.useRef(null),c=b.useRef(null),d=b.useRef(!1),p=b.useRef(null),h=b.useRef(!1),g=b.useRef(!1);return b.useEffect(()=>()=>{l.current!==null&&window.cancelAnimationFrame(l.current),c.current!==null&&window.clearTimeout(c.current)},[]),b.useLayoutEffect(()=>{var M,D,W,I,$,B;if(!t){l.current!==null&&(window.cancelAnimationFrame(l.current),l.current=null),c.current!==null&&(window.clearTimeout(c.current),c.current=null),d.current=!1;return}const v=i.current;if(!v)return;l.current!==null&&(window.cancelAnimationFrame(l.current),l.current=null),c.current!==null&&(window.clearTimeout(c.current),c.current=null);const _=p.current,x=_!==null&&_!==e,w=n&&!g.current,C=!h.current,k=n?[100-r,r]:[100,0],R=x||C&&n,T=w||C?[100,0]:[v.getLayout().workspace??k[0],v.getLayout().rightSidebar??k[1]];if(p.current=e,h.current=t,g.current=n,R||Math.abs(T[0]-k[0])<.1&&Math.abs(T[1]-k[1])<.1){v.setLayout({workspace:k[0],rightSidebar:k[1]}),(M=s.current)==null||M.setAttribute("data-right-sidebar-open",n?"true":"false"),(D=o.current)==null||D.setAttribute("data-right-sidebar-open",n?"true":"false"),(W=o.current)==null||W.setAttribute("data-right-sidebar-animated","false");return}d.current=!0,(I=s.current)==null||I.setAttribute("data-right-sidebar-open",n?"true":"false"),($=o.current)==null||$.setAttribute("data-right-sidebar-open",n?"true":"false"),(B=o.current)==null||B.setAttribute("data-right-sidebar-animated","true"),v.setLayout({workspace:T[0],rightSidebar:T[1]});const A=performance.now(),N=j=>{const F=Math.min(1,(j-A)/F0),V=Y8(T,k,F);if(v.setLayout({workspace:V[0],rightSidebar:V[1]}),F<1){l.current=window.requestAnimationFrame(N);return}v.setLayout({workspace:k[0],rightSidebar:k[1]}),l.current=null,c.current=window.setTimeout(()=>{d.current=!1,c.current=null},0)};l.current=window.requestAnimationFrame(N)},[e,r,t,n]),b.useEffect(()=>{t||(h.current=!1,g.current=!1)},[t]),{isAnimating:d,panelGroupRef:i,sidebarPanelRef:s,sidebarVisualRef:o}}function Wge(e){return e.visibilityState==="visible"?e.activeChatId:null}function Gge(e){e.socket.setFocusedChat(Wge({activeChatId:e.activeChatId,visibilityState:e.visibilityState}))}function qge({socket:e,activeChatId:t}){b.useEffect(()=>{if(typeof document>"u")return;const n=()=>{Gge({socket:e,activeChatId:t,visibilityState:document.visibilityState})};return n(),document.addEventListener("visibilitychange",n),window.addEventListener("pagehide",n),window.addEventListener("pageshow",n),()=>{document.removeEventListener("visibilitychange",n),window.removeEventListener("pagehide",n),window.removeEventListener("pageshow",n),e.setFocusedChat(null)}},[e,t])}function Kge({rootRef:e,fallbackRef:t,enabled:n,canCancel:r}){b.useEffect(()=>{if(!n)return;let i=0,s=null;const o=h=>{const g=h instanceof Element?h:null,v=e.current,_=t.current;if(AN({trigger:"pointer",activeElement:document.activeElement,pointerStartTarget:s,pointerEndTarget:g,root:v,fallback:_,hasActiveOverlay:TN(document),hasActiveSelection:rK(window.getSelection())})!=="restore"){s=null;return}_==null||_.focus({preventScroll:!0}),s=null},l=h=>{cancelAnimationFrame(i),s=h.target instanceof Element?h.target:null},c=h=>{cancelAnimationFrame(i),i=window.requestAnimationFrame(()=>{o(h.target)})},d=()=>{s=null;const h=t.current;!h||h.disabled||h.focus({preventScroll:!0})},p=h=>{if(h.key!=="Escape")return;const g=t.current;AN({trigger:"escape",activeElement:document.activeElement,fallback:g,hasActiveOverlay:TN(document),canCancel:r,defaultPrevented:h.defaultPrevented})==="escape-focus"&&(h.preventDefault(),g==null||g.focus({preventScroll:!0}))};return window.addEventListener("pointerdown",l,!0),window.addEventListener("pointerup",c,!0),window.addEventListener("keydown",p,!0),window.addEventListener(Bv,d),()=>{cancelAnimationFrame(i),window.removeEventListener("pointerdown",l,!0),window.removeEventListener("pointerup",c,!0),window.removeEventListener("keydown",p,!0),window.removeEventListener(Bv,d)}},[r,n,t,e])}function Yge(e){const t=e.previousProjectId!==null&&e.previousProjectId!==e.projectId,n=e.previousProjectId===null&&e.projectId!==null;return!t&&!n&&e.showTerminalPane&&!e.wasTerminalVisible}function Xge({previousProjectId:e,projectId:t,previousShouldRenderTerminalLayout:n,previousShowTerminalPane:r,showTerminalPane:i,terminalLayout:s,liveLayout:o}){const l=e!==null&&e!==t,c=i&&!r,d=!n,p=e===null&&t!==null,h=i?s.mainSizes:[100,0];return{currentLayout:c||d?[100,0]:o,shouldSkipAnimation:l||p&&d,targetLayout:h}}function Qge({chatInputRef:e,projectId:t,shouldRenderTerminalLayout:n,showTerminalPane:r,terminalLayout:i}){const s=b.useRef(null),o=b.useRef(null),l=b.useRef(null),c=b.useRef(null),d=b.useRef(null),p=b.useRef(!1),h=b.useRef(null),g=b.useRef(!1),v=b.useRef(!1),_=b.useRef(!1),[x,w]=b.useState(0);return b.useEffect(()=>{var R;const C=h.current,k=_.current;Yge({previousProjectId:C,projectId:t,showTerminalPane:r,wasTerminalVisible:k})&&w(T=>T+1),C!==null&&C===t&&!r&&k&&((R=e.current)==null||R.focus({preventScroll:!0})),_.current=r,h.current=t},[e,t,r]),b.useEffect(()=>()=>{c.current!==null&&window.cancelAnimationFrame(c.current),d.current!==null&&window.clearTimeout(d.current)},[]),b.useLayoutEffect(()=>{var D,W,I,$,B,j;if(!n){c.current!==null&&(window.cancelAnimationFrame(c.current),c.current=null),d.current!==null&&(window.clearTimeout(d.current),d.current=null),p.current=!1;return}const C=s.current;if(!C)return;c.current!==null&&(window.cancelAnimationFrame(c.current),c.current=null),d.current!==null&&(window.clearTimeout(d.current),d.current=null);const k=h.current,{currentLayout:R,shouldSkipAnimation:T,targetLayout:A}=Xge({previousProjectId:k,projectId:t,previousShouldRenderTerminalLayout:g.current,previousShowTerminalPane:v.current,showTerminalPane:r,terminalLayout:i,liveLayout:[C.getLayout().chat??i.mainSizes[0],C.getLayout().terminal??i.mainSizes[1]]});if(g.current=n,v.current=r,T||Math.abs(R[0]-A[0])<.1&&Math.abs(R[1]-A[1])<.1){C.setLayout({chat:A[0],terminal:A[1]}),(D=o.current)==null||D.setAttribute("data-terminal-open",r?"true":"false"),(W=l.current)==null||W.setAttribute("data-terminal-open",r?"true":"false"),(I=l.current)==null||I.setAttribute("data-terminal-animated","false");return}p.current=!0,($=o.current)==null||$.setAttribute("data-terminal-open",r?"true":"false"),(B=l.current)==null||B.setAttribute("data-terminal-open",r?"true":"false"),(j=l.current)==null||j.setAttribute("data-terminal-animated","true"),C.setLayout({chat:R[0],terminal:R[1]});const N=performance.now(),M=F=>{const V=Math.min(1,(F-N)/F0),z=Y8(R,A,V);if(C.setLayout({chat:z[0],terminal:z[1]}),V<1){c.current=window.requestAnimationFrame(M);return}C.setLayout({chat:A[0],terminal:A[1]}),c.current=null,d.current=window.setTimeout(()=>{p.current=!1,d.current=null},0)};c.current=window.requestAnimationFrame(M)},[t,n,r,i.mainSizes]),b.useEffect(()=>{n||(g.current=!1,v.current=!1)},[n]),{isAnimating:p,mainPanelGroupRef:s,terminalFocusRequestVersion:x,terminalPanelRef:o,terminalVisualRef:l}}const BD=e=>Symbol.iterator in e,FD=e=>"entries"in e,$D=(e,t)=>{const n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(const[i,s]of n)if(!r.has(i)||!Object.is(s,r.get(i)))return!1;return!0},Zge=(e,t)=>{const n=e[Symbol.iterator](),r=t[Symbol.iterator]();let i=n.next(),s=r.next();for(;!i.done&&!s.done;){if(!Object.is(i.value,s.value))return!1;i=n.next(),s=r.next()}return!!i.done&&!!s.done};function Jge(e,t){return Object.is(e,t)?!0:typeof e!="object"||e===null||typeof t!="object"||t===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:BD(e)&&BD(t)?FD(e)&&FD(t)?$D(e,t):Zge(e,t):$D({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function HD(e){const t=An.useRef(void 0);return n=>{const r=e(n);return Jge(t.current,r)?t.current:t.current=r}}const Sv="__new__";function oc(e){var s,o;const t=(s=e==null?void 0:e.modelOptions)==null?void 0:s.reasoningEffort,n=lM(t)?t:lM(e==null?void 0:e.effort)?e.effort:Jh.reasoningEffort,r=iee(e==null?void 0:e.model),i=Rk(r,(o=e==null?void 0:e.modelOptions)==null?void 0:o.contextWindow);return{model:r,modelOptions:{reasoningEffort:!O3(r)&&n==="max"?"high":n,contextWindow:i},planMode:!!(e!=null&&e.planMode)}}function Ug(e){var n,r;const t=(n=e==null?void 0:e.modelOptions)==null?void 0:n.reasoningEffort;return{model:see(e==null?void 0:e.model),modelOptions:{reasoningEffort:cM(t)?t:cM(e==null?void 0:e.effort)?e.effort:Cw.reasoningEffort,fastMode:typeof((r=e==null?void 0:e.modelOptions)==null?void 0:r.fastMode)=="boolean"?e.modelOptions.fastMode:Cw.fastMode},planMode:!!(e!=null&&e.planMode)}}function eve(){return{claude:{model:"claude-opus-4-7",modelOptions:{...Jh},planMode:!1},codex:{model:"gpt-5.5",modelOptions:{...Cw},planMode:!1}}}function tve(e,t){if(t===void 0){console.info(`[chat-preferences] ${e}`);return}console.info(`[chat-preferences] ${e}`,t)}function wb(e,t){if(e==="claude"){const r=t.claude;return{provider:"claude",model:r.model,modelOptions:{...r.modelOptions},planMode:r.planMode}}const n=t.codex;return{provider:"codex",model:n.model,modelOptions:{...n.modelOptions},planMode:n.planMode}}function Cb(e){return e.provider==="claude"?{provider:"claude",model:e.model,modelOptions:{...e.modelOptions},planMode:e.planMode}:{provider:"codex",model:e.model,modelOptions:{...e.modelOptions},planMode:e.planMode}}function X8(e){return e.defaultProvider==="last_used"?e.sourceState?Cb(e.sourceState):e.legacyComposerState?Cb(e.legacyComposerState):wb("claude",e.providerDefaults):wb(e.defaultProvider,e.providerDefaults)}function Q8(e,t){const n=e.chatStates[t];return n||X8({defaultProvider:e.defaultProvider,providerDefaults:e.providerDefaults,legacyComposerState:e.legacyComposerState})}function Vg(e,t,n){const r=Q8(e,t);return{chatStates:{...e.chatStates,[t]:n(r)}}}const di=Js()((e,t)=>({defaultProvider:"last_used",providerDefaults:eve(),chatStates:{},legacyComposerState:{provider:"claude",model:"claude-opus-4-7",modelOptions:{...Jh},planMode:!1},setDefaultProvider:n=>e({defaultProvider:n}),setProviderDefaultModel:(n,r)=>e(i=>({providerDefaults:{...i.providerDefaults,[n]:n==="claude"?oc({...i.providerDefaults.claude,model:r}):Ug({...i.providerDefaults.codex,model:r})}})),setProviderDefaultModelOptions:(n,r)=>e(i=>({providerDefaults:{...i.providerDefaults,[n]:n==="claude"?oc({...i.providerDefaults.claude,modelOptions:{...i.providerDefaults.claude.modelOptions,...r}}):Ug({...i.providerDefaults.codex,modelOptions:{...i.providerDefaults.codex.modelOptions,...r}})}})),setProviderDefaultPlanMode:(n,r)=>e(i=>({providerDefaults:{...i.providerDefaults,[n]:{...i.providerDefaults[n],planMode:r}}})),getComposerState:n=>Cb(Q8(t(),n)),initializeComposerForChat:(n,r)=>e(i=>{if(i.chatStates[n])return i;const s=X8({defaultProvider:i.defaultProvider,providerDefaults:i.providerDefaults,sourceState:r==null?void 0:r.sourceState,legacyComposerState:i.legacyComposerState});return tve("initializeComposerForChat",{chatId:n,composerState:s}),{chatStates:{...i.chatStates,[n]:s}}}),setComposerState:(n,r)=>e(i=>({chatStates:{...i.chatStates,[n]:r.provider==="claude"?{provider:"claude",model:oc(r).model,modelOptions:oc(r).modelOptions,planMode:r.planMode}:Cb(r)}})),setChatComposerProvider:(n,r)=>e(i=>Vg(i,n,()=>wb(r,i.providerDefaults))),setChatComposerModel:(n,r)=>e(i=>Vg(i,n,s=>s.provider==="claude"?{provider:"claude",model:oc({...s,model:r}).model,modelOptions:oc({...s,model:r}).modelOptions,planMode:s.planMode}:{provider:"codex",model:r,modelOptions:Ug({...s,model:r}).modelOptions,planMode:s.planMode})),setChatComposerModelOptions:(n,r)=>e(i=>Vg(i,n,s=>s.provider==="claude"?{provider:"claude",model:s.model,modelOptions:oc({...s,modelOptions:{...s.modelOptions,...r}}).modelOptions,planMode:s.planMode}:{provider:"codex",model:s.model,modelOptions:Ug({...s,modelOptions:{...s.modelOptions,...r}}).modelOptions,planMode:s.planMode})),setChatComposerPlanMode:(n,r)=>e(i=>Vg(i,n,s=>({...s,planMode:r}))),resetChatComposerFromProvider:(n,r)=>e(i=>({chatStates:{...i.chatStates,[n]:wb(r,i.providerDefaults)}}))})),w1=Js()(Fp((e,t)=>({drafts:{},attachmentDrafts:{},setDraft:(n,r)=>e(i=>{if(!r){const{[n]:s,...o}=i.drafts;return{drafts:o}}return{drafts:{...i.drafts,[n]:r}}}),clearDraft:n=>e(r=>{const{[n]:i,...s}=r.drafts;return{drafts:s}}),getDraft:n=>t().drafts[n]??"",setAttachmentDrafts:(n,r)=>e(i=>{if(r.length===0){const{[n]:s,...o}=i.attachmentDrafts;return{attachmentDrafts:o}}return{attachmentDrafts:{...i.attachmentDrafts,[n]:r}}}),clearAttachmentDrafts:n=>e(r=>{const{[n]:i,...s}=r.attachmentDrafts;return{attachmentDrafts:s}}),getAttachmentDrafts:n=>t().attachmentDrafts[n]??[]}),{name:"chat-input-drafts"})),NE=Js()(e=>({byChatId:{},loadingByChatId:{},setForChat:(t,n)=>e(r=>({byChatId:{...r.byChatId,[t]:n}})),setLoadingForChat:(t,n)=>e(r=>(r.loadingByChatId[t]??!1)===n?r:{loadingByChatId:{...r.loadingByChatId,[t]:n}}),clear:t=>e(n=>{const r=t in n.byChatId,i=t in n.loadingByChatId;if(!r&&!i)return n;const{[t]:s,...o}=n.byChatId,{[t]:l,...c}=n.loadingByChatId;return{byChatId:o,loadingByChatId:c}})}));function nve(e){return{autoResumeOnRateLimit:!!(e!=null&&e.autoResumeOnRateLimit)}}const kb=Js()(Fp(e=>({autoResumeOnRateLimit:!1,setAutoResumeOnRateLimit:t=>e({autoResumeOnRateLimit:t})}),{name:"kanna-preferences",version:1,migrate:e=>nve(e)}));function rve(e,t){var n,r,i,s,o,l,c;return{...e,...t,terminal:{...e.terminal,...t.terminal},editor:{...e.editor,...t.editor},providerDefaults:{claude:{...e.providerDefaults.claude,...(n=t.providerDefaults)==null?void 0:n.claude,modelOptions:{...e.providerDefaults.claude.modelOptions,...(i=(r=t.providerDefaults)==null?void 0:r.claude)==null?void 0:i.modelOptions}},codex:{...e.providerDefaults.codex,...(s=t.providerDefaults)==null?void 0:s.codex,modelOptions:{...e.providerDefaults.codex.modelOptions,...(l=(o=t.providerDefaults)==null?void 0:o.codex)==null?void 0:l.modelOptions}}},cloudflareTunnel:{...e.cloudflareTunnel,...t.cloudflareTunnel},claudeAuth:{tokens:((c=t.claudeAuth)==null?void 0:c.tokens)??e.claudeAuth.tokens},auth:{...e.auth,...t.auth},uploads:{...e.uploads,...t.uploads}}}const sa=Js()(e=>({settings:null,hydrationStatus:"idle",setHydrationStatus:t=>e({hydrationStatus:t}),setFromServer:t=>e({settings:t,hydrationStatus:"ready"}),applyOptimisticPatch:t=>e(n=>({settings:n.settings?rve(n.settings,t):n.settings}))})),Z8=b.createContext(void 0),ive=e=>e==="light"||e==="dark"||e==="system";function sve(e){return e==="dark"?"black-translucent":"default"}function UD(e,t){if(typeof document>"u")return;let n=document.head.querySelector(`meta[name="${e}"]`);n||(n=document.createElement("meta"),n.setAttribute("name",e),document.head.appendChild(n)),n.setAttribute("content",t)}function VD(e){if(typeof document>"u"||typeof window>"u")return;const t=getComputedStyle(document.body).backgroundColor||getComputedStyle(document.documentElement).backgroundColor;t&&UD("theme-color",t),UD("apple-mobile-web-app-status-bar-style",sve(e)),document.documentElement.style.colorScheme=e}const wv=()=>typeof window>"u"?"light":window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",WD=e=>{if(typeof document>"u")return;const t=e==="system"?wv():e;document.documentElement.classList.toggle("dark",t==="dark")},ove=()=>{var t;const e=(t=sa.getState().settings)==null?void 0:t.theme;return e&&ive(e)?e:"system"};function ave({children:e}){const t=sa(o=>{var l;return(l=o.settings)==null?void 0:l.theme}),n=sa(o=>o.applyOptimisticPatch),[r,i]=b.useState(ove);b.useEffect(()=>{!t||t===r||i(t)},[t,r]),b.useEffect(()=>{WD(r)},[r]),b.useEffect(()=>{const o=r==="system"?wv():r;VD(o)},[r]),b.useEffect(()=>{if(r!=="system")return;const o=window.matchMedia("(prefers-color-scheme: dark)"),l=()=>{WD("system"),VD(wv())};return o.addEventListener?(o.addEventListener("change",l),()=>o.removeEventListener("change",l)):(o.addListener(l),()=>o.removeListener(l))},[r]);const s=b.useMemo(()=>{const o=r==="system"?wv():r;return{theme:r,resolvedTheme:o,setTheme:l=>{i(l),n({theme:l})}}},[n,r]);return f.jsx(Z8.Provider,{value:s,children:e})}function ME(){const e=b.useContext(Z8);if(!e)throw new Error("useTheme must be used within ThemeProvider");return e}function oh(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function GD(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function lve(e){const t=e&&typeof e=="object"&&"content"in e&&Array.isArray(e.content)?e.content:Array.isArray(e)?e:[],n=[];for(const r of t)if(!(!r||typeof r!="object"||!("type"in r))){if(r.type==="text"&&typeof r.text=="string"){n.push({type:"text",text:r.text});continue}if(r.type==="image"){if("data"in r&&typeof r.data=="string"){n.push({type:"image",data:r.data,mimeType:typeof r.mimeType=="string"?r.mimeType:void 0});continue}"source"in r&&r.source&&typeof r.source=="object"&&"type"in r.source&&r.source.type==="base64"&&"data"in r.source&&typeof r.source.data=="string"&&n.push({type:"image",data:r.source.data,mimeType:typeof r.source.media_type=="string"?r.source.media_type:void 0})}}return n}function cve(e){const t=e&&typeof e=="object"&&"content"in e&&Array.isArray(e.content)?e.content:Array.isArray(e)?e:null;if(!t)return null;const n=[];for(const r of t)r&&typeof r=="object"&&"type"in r&&r.type==="text"&&typeof r.text=="string"&&n.push(r.text);return n.length>0?n.join(""):null}function uve(e,t){const n=GD(t);switch(e.toolKind){case"ask_user_question":{const s=oh(n),o=oh(s==null?void 0:s.answers)??(s||{});return{answers:Object.fromEntries(Object.entries(o).map(([l,c])=>Array.isArray(c)?[l,c.map(d=>String(d))]:c&&typeof c=="object"&&Array.isArray(c.answers)?[l,c.answers.map(d=>String(d))]:c==null||c===""?[l,[]]:[l,[String(c)]])),...(s==null?void 0:s.discarded)===!0?{discarded:!0}:{}}}case"exit_plan_mode":{const s=oh(n);return{confirmed:typeof(s==null?void 0:s.confirmed)=="boolean"?s.confirmed:void 0,clearContext:typeof(s==null?void 0:s.clearContext)=="boolean"?s.clearContext:void 0,message:typeof(s==null?void 0:s.message)=="string"?s.message:void 0,...(s==null?void 0:s.discarded)===!0?{discarded:!0}:{}}}case"offer_download":{const s=cve(n),o=s?GD(s):n,l=oh(o);return{contentUrl:typeof(l==null?void 0:l.contentUrl)=="string"?l.contentUrl:"",relativePath:typeof(l==null?void 0:l.relativePath)=="string"?l.relativePath:"",fileName:typeof(l==null?void 0:l.fileName)=="string"?l.fileName:"",displayName:typeof(l==null?void 0:l.displayName)=="string"?l.displayName:typeof(l==null?void 0:l.fileName)=="string"?l.fileName:"",size:typeof(l==null?void 0:l.size)=="number"?l.size:0,...typeof(l==null?void 0:l.mimeType)=="string"?{mimeType:l.mimeType}:{}}}case"read_file":if(typeof n=="string")return n;const r=lve(n);if(r.length>0)return{content:r.flatMap(s=>s.type==="text"?[s.text]:[]).join(""),blocks:r};const i=oh(n);return{content:typeof(i==null?void 0:i.content)=="string"?i.content:JSON.stringify(n,null,2)};default:return n}}function J8(e){return new Date(e).toISOString()}function Fi(e){return{id:e._id,messageId:e.messageId,timestamp:J8(e.createdAt),hidden:e.hidden}}function dve(e){return{id:e._id,messageId:e.messageId,hidden:e.hidden,kind:"tool",toolKind:e.tool.toolKind,toolName:e.tool.toolName,toolId:e.tool.toolId,input:e.tool.input,timestamp:J8(e.createdAt)}}function fve(e){if(e.debugRaw)try{return JSON.parse(e.debugRaw).tool_use_result}catch{return}}function hve(e){const t=new Map,n=[];for(const r of e)switch(r.kind){case"user_prompt":n.push({...Fi(r),kind:"user_prompt",content:r.content,attachments:r.attachments??[],steered:r.steered,autoContinue:r.autoContinue});break;case"system_init":n.push({...Fi(r),kind:"system_init",provider:r.provider,model:r.model,tools:r.tools,agents:r.agents,slashCommands:r.slashCommands,mcpServers:r.mcpServers,debugRaw:r.debugRaw});break;case"account_info":n.push({...Fi(r),kind:"account_info",accountInfo:r.accountInfo});break;case"assistant_text":n.push({...Fi(r),kind:"assistant_text",text:r.text});break;case"tool_call":{const i=dve(r);t.set(r.tool.toolId,{hydrated:i,normalized:r.tool}),n.push(i);break}case"tool_result":{const i=t.get(r.toolId);if(i){const s=i.normalized.toolKind==="ask_user_question"||i.normalized.toolKind==="exit_plan_mode"?fve(r)??r.content:r.content;i.hydrated.result=uve(i.normalized,s),i.hydrated.rawResult=s,i.hydrated.isError=r.isError}break}case"result":n.push({...Fi(r),kind:"result",success:!r.isError,cancelled:r.subtype==="cancelled",result:r.result,durationMs:r.durationMs,costUsd:r.costUsd});break;case"status":n.push({...Fi(r),kind:"status",status:r.status});break;case"context_window_updated":n.push({...Fi(r),kind:"context_window_updated",usage:r.usage});break;case"compact_boundary":n.push({...Fi(r),kind:"compact_boundary"});break;case"compact_summary":n.push({...Fi(r),kind:"compact_summary",summary:r.summary});break;case"context_cleared":n.push({...Fi(r),kind:"context_cleared"});break;case"interrupted":n.push({...Fi(r),kind:"interrupted"});break;case"auto_continue_prompt":n.push({...Fi(r),kind:"auto_continue_prompt",scheduleId:r.scheduleId});break;default:n.push({...Fi(r),kind:"unknown",json:JSON.stringify(r,null,2)});break}return n}const pve=["AskUserQuestion","ExitPlanMode","TodoWrite"],mve=new Set(["TodoWrite"]);function gve(e,t){for(let n=e.length-1;n>=0;n-=1){const r=e[n];if(r.kind!=="tool")continue;const i=r;if(i.toolName===t&&!i.result)return i.id}return null}function vve(e,t){for(let n=e.length-1;n>=0;n-=1){const r=e[n];if(r.kind!=="tool")continue;const i=r;if(i.toolName===t)return i.id}return null}function bve(e){const t={};for(const n of pve)t[n]=mve.has(n)?vve(e,n):gve(e,n);return t}function yve(e){return e==="starting"||e==="running"||e==="waiting_for_user"}function _ve(e){return e==="starting"||e==="running"||e==="waiting_for_user"}const LE="pushDeviceId";function eB(){return typeof localStorage>"u"?null:localStorage.getItem(LE)}function xve(e){typeof localStorage>"u"||localStorage.setItem(LE,e)}function Sve(){typeof localStorage>"u"||localStorage.removeItem(LE)}function wve(){return!(typeof window>"u"||typeof Notification>"u"||!("serviceWorker"in navigator)||typeof globalThis.PushManager>"u")}function Cve(){var t;if(typeof window>"u")return!1;if(window.isSecureContext)return!0;const e=((t=window.location)==null?void 0:t.hostname)??"";return e==="localhost"||e==="127.0.0.1"||e==="::1"}function C1(){if(!wve())return{state:"unsupported"};if(!Cve())return{state:"insecure-context"};switch(Notification.permission){case"granted":return{state:"granted"};case"denied":return{state:"denied"};default:return{state:"default"}}}function kve(e){if(typeof Buffer<"u")return new Uint8Array(Buffer.from(e,"base64url"));const t="=".repeat((4-e.length%4)%4),n=(e+t).replace(/-/g,"+").replace(/_/g,"/"),r=atob(n),i=new Uint8Array(r.length);for(let s=0;s<r.length;s+=1)i[s]=r.charCodeAt(s);return i}function Eve(e){const t=e||"";return/iPhone|iPad/i.test(t)?"iPhone / iPad":/Android/i.test(t)?"Android":/Macintosh/i.test(t)?"Mac":/Windows/i.test(t)?"Windows PC":t||"Browser"}async function Rve(e){const t=C1();if(t.state==="unsupported")throw new Error("Push not supported in this browser");if(t.state==="insecure-context")throw new Error("Push requires a secure context (HTTPS)");if(t.state==="denied")throw new Error("Notification permission previously denied");if(await Notification.requestPermission()!=="granted")throw new Error("Notification permission was not granted");const r=await navigator.serviceWorker.register("/sw.js");await navigator.serviceWorker.ready;const i=await r.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:kve(e.vapidPublicKey)}),s=i.toJSON(),o=s.endpoint??i.endpoint,l=s.keys??{};if(!o||!l.p256dh||!l.auth)throw new Error("Subscription returned without endpoint or keys");const c=navigator.userAgent??"",{id:d}=await e.sendToServer({subscription:{endpoint:o,keys:{p256dh:l.p256dh,auth:l.auth}},label:Eve(c),userAgent:c});return d}async function Tve(e){const n=await(await navigator.serviceWorker.ready).pushManager.getSubscription();n&&await n.unsubscribe(),await e.sendToServer(e.pushDeviceId)}typeof navigator<"u"&&"serviceWorker"in navigator&&navigator.serviceWorker.addEventListener("message",e=>{const t=e.data;(t==null?void 0:t.type)==="kanna.navigate"&&typeof t.url=="string"&&(window.location.href=t.url)});const Ave=25e3,Nve=15e3,Mve=4e3,qD="kanna:profile-send-to-starting";function KD(){try{return window.sessionStorage.getItem(qD)==="1"||window.localStorage.getItem(qD)==="1"}catch{return!1}}class Lve{constructor(t){ne(this,"url");ne(this,"ws",null);ne(this,"started",!1);ne(this,"reconnectTimer",null);ne(this,"reconnectDelayMs",750);ne(this,"subscriptions",new Map);ne(this,"pending",new Map);ne(this,"outboundQueue",[]);ne(this,"statusListeners",new Set);ne(this,"heartbeatTimer",null);ne(this,"pingTimeoutTimer",null);ne(this,"pingPromise",null);ne(this,"lastOpenAt",0);ne(this,"lastMessageAt",0);ne(this,"reconnectImmediatelyOnClose",!1);ne(this,"handleWindowFocus",()=>{this.ensureHealthyConnection()});ne(this,"handleVisibilityChange",()=>{if(document.visibilityState==="visible"){this.startHeartbeat(),this.ensureHealthyConnection();return}this.stopHeartbeat()});ne(this,"handleOnline",()=>{this.ensureHealthyConnection()});this.url=t}start(){this.started||(this.started=!0,window.addEventListener("focus",this.handleWindowFocus),window.addEventListener("online",this.handleOnline),document.addEventListener("visibilitychange",this.handleVisibilityChange),this.connect())}dispose(){var t;this.started=!1,this.reconnectTimer&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.stopHeartbeat(),this.clearPingState(),window.removeEventListener("focus",this.handleWindowFocus),window.removeEventListener("online",this.handleOnline),document.removeEventListener("visibilitychange",this.handleVisibilityChange),(t=this.ws)==null||t.close(),this.ws=null;for(const n of this.pending.values())n.reject(new Error("Socket disposed"));this.pending.clear()}onStatus(t){return this.statusListeners.add(t),t(this.getStatus()),()=>{this.statusListeners.delete(t)}}subscribe(t,n,r){const i=dc();return this.subscriptions.set(i,{topic:t,listener:n,eventListener:r}),this.enqueue({v:1,type:"subscribe",id:i,topic:t}),()=>{this.subscriptions.delete(i),this.enqueue({v:1,type:"unsubscribe",id:i})}}subscribeTerminal(t,n){const r=dc(),i={type:"terminal",terminalId:t};return this.subscriptions.set(r,{topic:i,listener:n.onSnapshot,eventListener:n.onEvent}),this.enqueue({v:1,type:"subscribe",id:r,topic:i}),()=>{this.subscriptions.delete(r),this.enqueue({v:1,type:"unsubscribe",id:r})}}command(t){const n=dc(),r={v:1,type:"command",id:n,command:t};return new Promise((i,s)=>{this.pending.set(n,{resolve:i,reject:s}),this.enqueue(r)})}setFocusedChat(t){const n=dc();this.enqueue({v:1,type:"command",id:n,command:{type:"push.setFocusedChat",chatId:t}})}ensureHealthyConnection(){return!this.ws||this.ws.readyState===WebSocket.CLOSED||this.ws.readyState===WebSocket.CLOSING?(this.reconnectNow(),Promise.resolve()):this.ws.readyState===WebSocket.CONNECTING||!this.isConnectionStale()?Promise.resolve():this.sendPing()}connect(){this.started&&(this.emitStatus("connecting"),this.ws=new WebSocket(this.url),this.ws.addEventListener("open",()=>{this.reconnectDelayMs=750,this.reconnectImmediatelyOnClose=!1,this.lastOpenAt=Date.now(),this.lastMessageAt=this.lastOpenAt,this.emitStatus("connected"),this.startHeartbeat();for(const[n,r]of this.subscriptions.entries())this.sendNow({v:1,type:"subscribe",id:n,topic:r.topic});for(;this.outboundQueue.length>0;){const n=this.outboundQueue.shift();n&&this.sendNow(n)}const t=eB();t&&this.sendNow({v:1,type:"command",id:dc(),command:{type:"push.identifyDevice",pushDeviceId:t}})}),this.ws.addEventListener("message",t=>{var s,o;this.lastMessageAt=Date.now();const n=performance.now(),r=String(t.data);let i;try{i=JSON.parse(r)}catch{return}if(KD()&&i.type==="snapshot"&&i.snapshot.type==="chat"&&((s=i.snapshot.data)==null?void 0:s.runtime.status)==="starting"&&console.debug("[kanna/send->starting][client-ws]",{stage:"socket_message_received",receivedAt:n,payloadBytes:r.length,chatId:i.snapshot.data.runtime.chatId,status:i.snapshot.data.runtime.status,messageCount:i.snapshot.data.messages.length}),KD()&&i.type==="ack"&&console.debug("[kanna/send->starting][client-ws]",{stage:"socket_ack_received",receivedAt:n,payloadBytes:r.length,commandId:i.id}),i.type==="snapshot"){const l=this.subscriptions.get(i.id);l==null||l.listener(i.snapshot.data);return}if(i.type==="event"){const l=this.subscriptions.get(i.id);(o=l==null?void 0:l.eventListener)==null||o.call(l,i.event);return}if(i.type==="ack"){const l=this.pending.get(i.id);if(!l)return;this.pending.delete(i.id),l.resolve(i.result);return}if(i.type==="error"){if(!i.id){console.error(rX,i.message);return}const l=this.pending.get(i.id);if(!l)return;this.pending.delete(i.id),l.reject(new Error(i.message))}}),this.ws.addEventListener("close",()=>{if(!this.started)return;const t=this.reconnectImmediatelyOnClose;this.reconnectImmediatelyOnClose=!1,this.stopHeartbeat(),this.clearPingState(),this.emitStatus("disconnected");for(const n of this.pending.values())n.reject(new Error("Disconnected"));if(this.pending.clear(),t){this.connect();return}this.scheduleReconnect()}))}scheduleReconnect(){this.reconnectTimer===null&&(this.reconnectTimer=window.setTimeout(()=>{this.reconnectTimer=null,this.connect(),this.reconnectDelayMs=Math.min(this.reconnectDelayMs*2,5e3)},this.reconnectDelayMs))}getStatus(){var t,n;return((t=this.ws)==null?void 0:t.readyState)===WebSocket.OPEN?"connected":((n=this.ws)==null?void 0:n.readyState)===WebSocket.CONNECTING?"connecting":"disconnected"}emitStatus(t){for(const n of this.statusListeners)n(t)}isConnectionStale(){const t=Math.max(this.lastMessageAt,this.lastOpenAt);return t>0&&Date.now()-t>=Ave}sendPing(){if(this.pingPromise)return this.pingPromise;const t=this.command({type:"system.ping"}).then(()=>{this.clearPingState()}).catch(n=>{throw this.clearPingState(),this.reconnectNow(),n});return this.pingTimeoutTimer=window.setTimeout(()=>{this.clearPingState(),this.reconnectNow()},Mve),this.pingPromise=t,t}reconnectNow(){if(this.reconnectTimer!==null&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null),!this.ws||this.ws.readyState===WebSocket.CLOSED){this.connect();return}this.ws.readyState!==WebSocket.CONNECTING&&(this.reconnectImmediatelyOnClose=!0,this.ws.close())}startHeartbeat(){document.visibilityState==="visible"&&this.heartbeatTimer===null&&(this.heartbeatTimer=window.setInterval(()=>{var t;if(document.visibilityState!=="visible"){this.stopHeartbeat();return}((t=this.ws)==null?void 0:t.readyState)===WebSocket.OPEN&&this.ensureHealthyConnection()},Nve))}stopHeartbeat(){this.heartbeatTimer!==null&&(window.clearInterval(this.heartbeatTimer),this.heartbeatTimer=null)}clearPingState(){this.pingTimeoutTimer!==null&&(window.clearTimeout(this.pingTimeoutTimer),this.pingTimeoutTimer=null),this.pingPromise=null}enqueue(t){var n;if(((n=this.ws)==null?void 0:n.readyState)===WebSocket.OPEN){this.sendNow(t);return}this.outboundQueue.push(t)}sendNow(t){var n;(n=this.ws)==null||n.send(JSON.stringify(t))}}async function Dve(e){const{toast:t}=await K(async()=>{const{toast:r}=await import("./index-DnUvOgou.js");return{toast:r}},[]);t(`${e} ${e===1?"process":"processes"} survived restart`,{description:"Review and stop them in Background tasks (⌘⇧B).",action:{label:"Review",onClick:()=>Hs.getState().openDialog()}})}function Ive(e,t){return e===t?!0:!e||!t?!1:e.chatId===t.chatId&&e.projectId===t.projectId&&e.localPath===t.localPath&&e.title===t.title&&e.status===t.status&&e.isDraining===t.isDraining&&e.provider===t.provider&&e.planMode===t.planMode&&e.sessionToken===t.sessionToken}function Pve(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((n,r)=>{var i;return n._id===((i=t[r])==null?void 0:i._id)})}function jve(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((n,r)=>{var i;return n.id===((i=t[r])==null?void 0:i.id)})}function Ove(e,t){return e===t?!0:!e||!t?!1:e.hasOlder===t.hasOlder&&e.olderCursor===t.olderCursor&&e.recentLimit===t.recentLimit}function zve(e,t){return e.id===t.id&&e.content===t.content&&e.createdAt===t.createdAt&&e.provider===t.provider&&e.model===t.model&&e.planMode===t.planMode&&JSON.stringify(e.modelOptions)===JSON.stringify(t.modelOptions)&&Bve(e.attachments,t.attachments)}function Bve(e,t){return e===t?!0:e.length!==t.length?!1:e.every((n,r)=>{const i=t[r];return!!i&&n.id===i.id&&n.kind===i.kind&&n.displayName===i.displayName&&n.absolutePath===i.absolutePath&&n.relativePath===i.relativePath&&n.contentUrl===i.contentUrl&&n.mimeType===i.mimeType&&n.size===i.size})}function Fve(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((n,r)=>zve(n,t[r]))}function $ve(e,t){var s,o;if(e===t)return!0;if(!e||!t||e.status!==t.status||e.branchName!==t.branchName||e.defaultBranchName!==t.defaultBranchName||e.hasOriginRemote!==t.hasOriginRemote||e.originRepoSlug!==t.originRepoSlug||e.hasUpstream!==t.hasUpstream||e.aheadCount!==t.aheadCount||e.behindCount!==t.behindCount||e.lastFetchedAt!==t.lastFetchedAt)return!1;const n=((s=e.branchHistory)==null?void 0:s.entries)??[],r=((o=t.branchHistory)==null?void 0:o.entries)??[];return n.length!==r.length||!n.every((l,c)=>{const d=r[c];return!!d&&l.sha===d.sha&&l.summary===d.summary&&l.description===d.description&&l.authorName===d.authorName&&l.authoredAt===d.authoredAt&&l.githubUrl===d.githubUrl&&l.tags.length===d.tags.length&&l.tags.every((p,h)=>p===d.tags[h])})||e.files.length!==t.files.length?!1:e.files.every((l,c)=>{const d=t.files[c];return!!d&&l.path===d.path&&l.changeType===d.changeType&&l.isUntracked===d.isUntracked&&l.additions===d.additions&&l.deletions===d.deletions&&l.patchDigest===d.patchDigest&&l.mimeType===d.mimeType&&l.size===d.size})}function Hve(e,t){return!!(e&&e.status!=="unknown"&&t&&t.status==="unknown"&&t.files.length===0)}function Uve(e,t){if(e===t)return!0;if(!e||!t)return!1;const n=Object.keys(e),r=Object.keys(t);return n.length!==r.length?!1:n.every(i=>{const s=e[i],o=t[i];return!s||!o?!1:s.state===o.state&&s.scheduledAt===o.scheduledAt&&s.resetAt===o.resetAt&&s.detectedAt===o.detectedAt&&s.tz===o.tz})}function Vve(e,t){if(e===t)return!0;if(!e||!t)return!1;const n=Object.keys(e),r=Object.keys(t);return n.length!==r.length?!1:n.every(i=>{const s=e[i],o=t[i];return!s||!o?!1:s.state===o.state&&s.url===o.url&&s.error===o.error&&s.port===o.port&&s.activatedAt===o.activatedAt&&s.stoppedAt===o.stoppedAt})}function Wve(e,t){return e===t?!0:!e||!t?!1:Ive(e.runtime,t.runtime)&&Fve(e.queuedMessages,t.queuedMessages)&&Pve(e.messages,t.messages)&&Ove(e.history,t.history)&&jve(e.availableProviders,t.availableProviders)&&Uve(e.schedules,t.schedules)&&e.liveScheduleId===t.liveScheduleId&&Vve(e.tunnels,t.tunnels)&&e.liveTunnelId===t.liveTunnelId}function YD(e,t){const n=new Map;for(const r of e)n.set(r._id,r);for(const r of t)n.set(r._id,r);return[...n.values()]}function Gve(e){for(let t=e.length-1;t>=0;t-=1){const n=e[t];if((n==null?void 0:n.kind)==="user_prompt"&&n.content.trim().length>0)return n.content}return null}const XD="__new_chat__",tB="lever-theme",nB="chat-sound-preferences",rB="terminal-preferences",iB="chat-preferences";function wS(e){if(typeof window>"u")return null;const t=window.localStorage.getItem(e);if(!t)return null;try{const n=JSON.parse(t);return n.state&&typeof n.state=="object"&&!Array.isArray(n.state)?n.state:null}catch{return null}}function qve(){if(typeof window>"u")return null;const e={},t=window.localStorage.getItem(tB);(t==="light"||t==="dark"||t==="system")&&(e.theme=t);const n=wS(nB);((n==null?void 0:n.chatSoundPreference)==="never"||(n==null?void 0:n.chatSoundPreference)==="unfocused"||(n==null?void 0:n.chatSoundPreference)==="always")&&(e.chatSoundPreference=n.chatSoundPreference),((n==null?void 0:n.chatSoundId)==="blow"||(n==null?void 0:n.chatSoundId)==="bottle"||(n==null?void 0:n.chatSoundId)==="frog"||(n==null?void 0:n.chatSoundId)==="funk"||(n==null?void 0:n.chatSoundId)==="glass"||(n==null?void 0:n.chatSoundId)==="ping"||(n==null?void 0:n.chatSoundId)==="pop"||(n==null?void 0:n.chatSoundId)==="purr"||(n==null?void 0:n.chatSoundId)==="tink")&&(e.chatSoundId=n.chatSoundId);const r=wS(rB);if(r){e.terminal={},typeof r.scrollbackLines=="number"&&(e.terminal.scrollbackLines=r.scrollbackLines),typeof r.minColumnWidth=="number"&&(e.terminal.minColumnWidth=r.minColumnWidth);const s={};(r.editorPreset==="cursor"||r.editorPreset==="vscode"||r.editorPreset==="xcode"||r.editorPreset==="windsurf"||r.editorPreset==="custom")&&(s.preset=r.editorPreset),typeof r.editorCommandTemplate=="string"&&(s.commandTemplate=r.editorCommandTemplate),Object.keys(s).length>0&&(e.editor=s)}const i=wS(iB);return((i==null?void 0:i.defaultProvider)==="last_used"||(i==null?void 0:i.defaultProvider)==="claude"||(i==null?void 0:i.defaultProvider)==="codex")&&(e.defaultProvider=i.defaultProvider),i!=null&&i.providerDefaults&&typeof i.providerDefaults=="object"&&(e.providerDefaults=i.providerDefaults),e.browserSettingsMigrated=!0,Object.keys(e).length>1?e:null}function Kve(){typeof window>"u"||(window.localStorage.removeItem(tB),window.localStorage.removeItem(nB),window.localStorage.removeItem(rB),window.localStorage.removeItem(iB))}function ah(e){sa.getState().setFromServer(e);const t=li.getState();t.setScrollbackLines(e.terminal.scrollbackLines),t.setMinColumnWidth(e.terminal.minColumnWidth),t.setEditorPreset(e.editor.preset),t.setEditorCommandTemplate(e.editor.commandTemplate);const n=gc.getState();n.setChatSoundPreference(e.chatSoundPreference),n.setChatSoundId(e.chatSoundId),di.setState({defaultProvider:e.defaultProvider,providerDefaults:e.providerDefaults})}function Yve(e){return JSON.stringify({id:e.id,kind:e.kind,displayName:e.displayName,relativePath:e.relativePath,mimeType:e.mimeType,size:e.size,contentUrl:e.contentUrl})}function DE(e,t=[]){return JSON.stringify({content:e,attachments:t.map(Yve)})}function Xve(e,t){return e.reduce((n,r)=>r.kind!=="user_prompt"?n:n+(DE(r.content,r.attachments??[])===t?1:0),0)}function Qve(e,t,n){const r=new Map;for(const i of n){if(i.kind!=="user_prompt")continue;const s=DE(i.content,i.attachments??[]);r.set(s,(r.get(s)??0)+1)}return e.filter(i=>i.scopeId!==t?!0:(r.get(i.signature)??0)<i.requiredMatchCount)}const Zve=200,Jve=500;function QD(e,t){var r;const n=e.find(i=>i.chats.some(s=>s.chatId===t));return n?((r=n.chats.find(i=>i.chatId!==t))==null?void 0:r.chatId)??null:null}function ZD(e,t){if(!(t!=null&&t.length)||e.length<=1)return e;const n=new Map(e.map((o,l)=>[o.groupKey,l])),r=new Set,i=t.map(o=>{if(r.has(o))return null;r.add(o);const l=n.get(o);return l===void 0?null:e[l]}).filter(o=>!!o);if(i.length===0)return e;const s=[...i,...e.filter(o=>!r.has(o.groupKey))];return s.every((o,l)=>o===e[l])?e:s}function ebe(e=document){return e.visibilityState==="visible"&&e.hasFocus()}function tbe(){return`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`}function nbe(){const e=b.useRef(null);return e.current||(e.current=new Lve(tbe())),b.useEffect(()=>{const t=e.current;return t==null||t.start(),()=>{t==null||t.dispose()}},[]),e.current}const JD="kanna:profile-send-to-starting";function rbe(){try{return window.sessionStorage.getItem(JD)==="1"||window.localStorage.getItem(JD)==="1"}catch{return!1}}function sB(e){return Number((performance.now()-e).toFixed(1))}function nl(e,t,n){!e||!rbe()||console.debug("[kanna/send->starting][client]",{traceId:e.traceId,stage:t,elapsedMs:sB(e.startedAt),serverChatId:e.serverChatId,routeChatIdAtSend:e.routeChatIdAtSend,...n})}function ibe(e){var t,n;return(e==null?void 0:e.provider)==="claude"&&e.model&&((t=e.modelOptions)!=null&&t.claude)?{provider:"claude",model:e.model,modelOptions:{reasoningEffort:e.modelOptions.claude.reasoningEffort??"high",contextWindow:e.modelOptions.claude.contextWindow??"200k"},planMode:!!e.planMode}:(e==null?void 0:e.provider)==="codex"&&e.model&&((n=e.modelOptions)!=null&&n.codex)?{provider:"codex",model:e.model,modelOptions:{reasoningEffort:e.modelOptions.codex.reasoningEffort??"high",fastMode:e.modelOptions.codex.fastMode??!1},planMode:!!e.planMode}:null}function sbe(e,t){var n;return t?((n=e.find(r=>r.chats.some(i=>i.chatId===t)))==null?void 0:n.groupKey)??null:null}function obe(e,t){return e==="awaiting_disconnect"&&t==="disconnected"?"awaiting_server_ready":"none"}const abe=30,IE="kanna:ui-update-restart",oB="kanna:last-update-reload-request";function lbe(e){return e+abe}function cbe(e,t){return t>0?t:e}function eI(){return window.sessionStorage.getItem(IE)}function Wg(e){window.sessionStorage.setItem(IE,e)}function lh(){window.sessionStorage.removeItem(IE)}function ube(e,t){return e?String(e)!==t:!1}function dbe(){return window.sessionStorage.getItem(oB)}function fbe(e){window.sessionStorage.setItem(oB,String(e))}function hbe(){return"/auth/status"}function pbe(e,t,n="application/json"){const r=new Blob([t],{type:`${n}; charset=utf-8`}),i=URL.createObjectURL(r),s=document.createElement("a");s.href=i,s.download=e,s.style.display="none",document.body.append(s),s.click(),s.remove(),URL.revokeObjectURL(i)}async function mbe(e=fetch){return(await e(hbe(),{method:"GET",cache:"no-store",headers:{Accept:"application/json"}})).ok}function gbe(e){const t=e.selectedProjectId??e.sidebarProjectId??null;return t?{kind:"project_id",projectId:t}:e.fallbackLocalProjectPath?{kind:"local_path",localPath:e.fallbackLocalProjectPath}:null}function vbe(e,t){return!e||!t?null:e.runtime.chatId!==t?(e.runtime.chatId,e.runtime.provider,null):e}function bbe(e){var Jc,Bl,af;const t=Dd(),n=nbe(),r=Ep(),{resolvedTheme:i}=ME(),[s,o]=b.useState({projectGroups:[],stacks:[]}),[l,c]=b.useState(null),[d,p]=b.useState(null),[h,g]=b.useState(null),[v,_]=b.useState(null),[x,w]=b.useState([]),[C,k]=b.useState(!1),[R,T]=b.useState(null),[A,N]=b.useState(!1),[M,D]=b.useState({}),[W,I]=b.useState(null),[$,B]=b.useState(null),[j,F]=b.useState(null),[V,z]=b.useState(null),[H,U]=b.useState("connecting"),[Y,P]=b.useState(!1),[G,J]=b.useState(!1),[O,ie]=b.useState(!1),[Z,oe]=b.useState(null),[se,ve]=b.useState(!1),[ue,ye]=b.useState(!1),[Ee,Ae]=b.useState(!1),[De,me]=b.useState(null),[et,Lt]=b.useState(!1),[Ot,Yt]=b.useState(null),[Tt,At]=b.useState(!1),[wt,Ue]=b.useState(null),[ht,Ke]=b.useState(null),[yt,de]=b.useState([]),[be,ze]=b.useState(null),[Ve,Qe]=b.useState(0),rt=b.useRef(new Map),Bt=w1(HD(X=>Object.keys(X.drafts).sort())),Nt=w1(HD(X=>Object.keys(X.attachmentDrafts).sort())),pt=b.useRef(0),Ct=b.useRef(null),lt=b.useRef({projectId:null,diffs:null}),sn=wee(li(X=>X.editorPreset)),Je=b.useMemo(()=>ZD(s.projectGroups,l),[l,s.projectGroups]),en=b.useMemo(()=>Je===s.projectGroups?s:{...s,projectGroups:Je},[s,Je]);b.useEffect(()=>n.onStatus(U),[n]),b.useEffect(()=>n.subscribe({type:"sidebar"},X=>{o(X),c(Q=>Q&&ZD(X.projectGroups,Q)===X.projectGroups?null:Q),P(!0),me(null)}),[n]),b.useEffect(()=>{if(H!=="connected")return;const X=[...new Set([...Bt,...Nt])].sort();n.command({type:"chat.setDraftProtection",chatIds:X}).catch(Q=>{me(Q instanceof Error?Q.message:String(Q))})},[Nt,H,Bt,n]),b.useEffect(()=>n.subscribe({type:"local-projects"},X=>{p(X),J(!0),me(null)}),[n]),b.useEffect(()=>n.subscribe({type:"update"},X=>{g(X),me(null)}),[n]),b.useEffect(()=>{H==="connected"&&n.command({type:"update.check",force:!0}).catch(X=>{me(X instanceof Error?X.message:String(X))})},[H,n]),b.useEffect(()=>{const X=h==null?void 0:h.reloadRequestedAt;ube(X,dbe())&&X&&(fbe(X),Wg("awaiting_disconnect"))},[h==null?void 0:h.reloadRequestedAt]),b.useEffect(()=>{const X=eI();if(obe(X,H)==="awaiting_server_ready"){Wg("awaiting_server_ready");return}},[H]),b.useEffect(()=>{if(eI()!=="awaiting_server_ready")return;let X=!1,Q=null;const Pe=async()=>{try{if(await mbe()){if(X)return;lh(),window.location.reload();return}}catch{}X||(Q=window.setTimeout(()=>{Pe()},500))};return Pe(),()=>{X=!0,Q!==null&&window.clearTimeout(Q)}},[H]),b.useEffect(()=>{function X(){h!=null&&h.lastCheckedAt&&(Date.now()-h.lastCheckedAt<=3600*1e3||n.command({type:"update.check"}).catch(Q=>{me(Q instanceof Error?Q.message:String(Q))}))}return window.addEventListener("focus",X),()=>{window.removeEventListener("focus",X)}},[n,h==null?void 0:h.lastCheckedAt]),b.useEffect(()=>n.subscribe({type:"keybindings"},X=>{I(X),me(null)}),[n]),b.useEffect(()=>n.subscribe({type:"app-settings"},X=>{B(X),ah(X),me(null)}),[n]),b.useEffect(()=>n.subscribe({type:"push-config"},X=>{F(X)}),[n]),b.useEffect(()=>{let X=!1;return n.subscribe({type:"bg-tasks"},Q=>{Hs.getState().applySnapshot(Q.tasks),!X&&Q.orphanRecoveryCount!=null&&Q.orphanRecoveryCount>0&&(X=!0,Dve(Q.orphanRecoveryCount))},Q=>{Q.type==="bg-tasks.added"?Hs.getState().applyDiff({op:"added",task:Q.task}):Q.type==="bg-tasks.updated"?Hs.getState().applyDiff({op:"updated",task:Q.task}):Q.type==="bg-tasks.removed"&&Hs.getState().applyDiff({op:"removed",task:Q.task})})},[n]);const Vt=b.useCallback(async()=>{try{sa.getState().setHydrationStatus("loading");const X=await n.command({type:"settings.readAppSettings"});B(X),ah(X),me(null)}catch(X){sa.getState().setHydrationStatus("error"),me(X instanceof Error?X.message:String(X))}},[n]),on=b.useCallback(async X=>{try{sa.getState().applyOptimisticPatch(X);const Q=await n.command({type:"settings.writeAppSettingsPatch",patch:X});B(Q),ah(Q),me(null)}catch(Q){throw me(Q instanceof Error?Q.message:String(Q)),await Vt(),Q}},[Vt,n]),Pt=b.useCallback(async X=>{try{sa.getState().applyOptimisticPatch({cloudflareTunnel:X});const Q=await n.command({type:"appSettings.setCloudflareTunnel",patch:X});B(Q),ah(Q),me(null)}catch(Q){throw me(Q instanceof Error?Q.message:String(Q)),await Vt(),Q}},[Vt,n]),gt=b.useCallback(async X=>{try{sa.getState().applyOptimisticPatch({claudeAuth:X});const Q=await n.command({type:"appSettings.setClaudeAuth",patch:X});B(Q),ah(Q),me(null)}catch(Q){throw me(Q instanceof Error?Q.message:String(Q)),await Vt(),Q}},[Vt,n]),He=b.useCallback(async X=>await n.command({type:"appSettings.testOAuthToken",token:X}),[n]),ct=b.useCallback(async()=>{try{const X=await n.command({type:"settings.readLlmProvider"});z(X),me(null)}catch(X){me(X instanceof Error?X.message:String(X))}},[n]),kt=b.useCallback(async X=>{try{const Q=await n.command({type:"settings.writeLlmProvider",provider:X.provider,apiKey:X.apiKey,model:X.model,baseUrl:X.baseUrl});z(Q),me(null)}catch(Q){throw me(Q instanceof Error?Q.message:String(Q)),Q}},[n]),Ft=b.useCallback(async X=>await n.command({type:"settings.validateLlmProvider",provider:X.provider,apiKey:X.apiKey,model:X.model,baseUrl:X.baseUrl}),[n]);b.useEffect(()=>{H==="connected"&&Vt()},[H,Vt]),b.useEffect(()=>{if(H!=="connected"||($==null?void 0:$.browserSettingsMigrated)!==!1)return;const X=qve();X&&on(X).then(Kve).catch(()=>{})},[$==null?void 0:$.browserSettingsMigrated,H,on]),b.useEffect(()=>{H==="connected"&&ct()},[H,ct]),b.useEffect(()=>{function X(){Qe(Q=>Q+1)}return window.addEventListener("focus",X),document.addEventListener("visibilitychange",X),()=>{window.removeEventListener("focus",X),document.removeEventListener("visibilitychange",X)}},[]),b.useEffect(()=>{if(!e){_(null),ie(!0);return}++pt.current,Je.length,Je.reduce((Q,Pe)=>Q+Pe.chats.length,0),_(null),ie(!1);const X=n.subscribe({type:"chat",chatId:e,recentLimit:Zve},Q=>{if(Q!=null&&Q.runtime.chatId){const Pe=[...rt.current.values()].filter(dt=>dt.serverChatId===Q.runtime.chatId).sort((dt,Hn)=>Hn.startedAt-dt.startedAt)[0];Pe&&Pe.snapshotAt===void 0&&(Pe.snapshotAt=performance.now(),nl(Pe,"chat_snapshot_received",{status:Q.runtime.status,messageCount:Q.messages.length}))}if(_(Pe=>{const dt=Wve(Pe,Q);return Q==null||Q.runtime.chatId,Q==null||Q.runtime.provider,Q==null||Q.runtime.status,Q==null||Q.messages.length,dt?Pe:Q}),T((Q==null?void 0:Q.history.olderCursor)??null),N((Q==null?void 0:Q.history.hasOlder)??!1),ie(!0),me(null),Q){const Pe=NE.getState();Pe.setForChat(Q.runtime.chatId,Q.slashCommands??[]),Pe.setLoadingForChat(Q.runtime.chatId,Q.slashCommandsLoading??!1)}});return()=>{Je.length,Je.reduce((Q,Pe)=>Q+Pe.chats.length,0),X()}},[e,n]),b.useEffect(()=>{if(Z)return;const X=Je[0];X&&oe(X.groupKey)},[Z,Je]),b.useEffect(()=>{if(!e||!Y||!O)return;if(Je.some(Q=>Q.chats.some(Pe=>Pe.chatId===e))){ht===e&&Ke(null);return}ht!==e&&t("/")},[e,O,t,ht,Je,Y]),b.useEffect(()=>{v&&(oe(v.runtime.projectId),ht===v.runtime.chatId&&Ke(null))},[v,ht]),b.useEffect(()=>{if(!e||!Y||!ebe())return;const X=Je.flatMap(Q=>Q.chats).find(Q=>Q.chatId===e);X!=null&&X.unread&&n.command({type:"chat.markRead",chatId:e}).catch(Q=>{me(Q instanceof Error?Q.message:String(Q))})},[e,Ve,Je,Y,n]),b.useEffect(()=>{w([]),k(!1),T(null),N(!1)},[e]);const it=b.useMemo(()=>vbe(v,e),[e,v]),Se=b.useMemo(()=>(it==null?void 0:it.runtime.projectId)??sbe(Je,e)??Z,[e,it==null?void 0:it.runtime.projectId,Z,Je]),st=b.useMemo(()=>{const X=Se?M[Se]??null:null;return Se&&X?(lt.current={projectId:Se,diffs:X},X):Se&<.current.projectId===Se?lt.current.diffs:X},[Se,M]);b.useEffect(()=>Se?n.subscribe({type:"project-git",projectId:Se},Q=>{D(Pe=>{const dt=Q??null;return Hve(Pe[Se]??null,dt)||$ve(Pe[Se]??null,dt)?Pe:{...Pe,[Se]:dt}}),me(null)}):void 0,[Se,n]),b.useEffect(()=>{v==null||v.runtime.chatId,v==null||v.runtime.provider,it==null||it.runtime.chatId,it==null||it.runtime.provider},[e,it,v,ht]);const Ge=b.useMemo(()=>YD(x,(it==null?void 0:it.messages)??[]),[it==null?void 0:it.messages,x]),qe=e??XD,Et=b.useMemo(()=>yt.filter(X=>X.scopeId===qe).map(X=>X.entry),[qe,yt]),we=b.useMemo(()=>[...Ge,...Et],[Et,Ge]),We=b.useMemo(()=>hve(we),[we]),Le=b.useMemo(()=>Gve(We),[We]),bt=b.useMemo(()=>bve(We),[We]),ae=(it==null?void 0:it.runtime)??null,Fe=(it==null?void 0:it.queuedMessages)??[],Ne=((be==null?void 0:be.scopeId)===qe&&(!ae||ae.status==="idle")?"starting":null)??(ae==null?void 0:ae.status)??null,je=(it==null?void 0:it.availableProviders)??Nh,mt=_ve(Ne??void 0),tn=yve(Ne??void 0),Dt=(ae==null?void 0:ae.isDraining)??!1,ot=((Jc=d==null?void 0:d.projects[0])==null?void 0:Jc.localPath)??null,dn=(ae==null?void 0:ae.localPath)??ot??((Bl=Je[0])==null?void 0:Bl.localPath),Fn=!!(Z??(ae==null?void 0:ae.projectId)??((af=Je[0])==null?void 0:af.groupKey)??ot);b.useEffect(()=>{(be==null?void 0:be.scopeId)===qe&&ae!=null&&ae.status&&ae.status!=="idle"&&ze(null)},[be,qe,ae==null?void 0:ae.status]),b.useEffect(()=>{if(!(be!=null&&be.ackedAt)||be.scopeId!==qe||ae!=null&&ae.status&&ae.status!=="idle")return;const X=window.setTimeout(()=>{ze(Q=>(Q==null?void 0:Q.scopeId)===qe&&Q.ackedAt===be.ackedAt?null:Q)},300);return()=>window.clearTimeout(X)},[be,qe,ae==null?void 0:ae.status]),b.useEffect(()=>{if(!e||(ae==null?void 0:ae.status)!=="starting")return;const X=[...rt.current.values()].filter(Q=>Q.serverChatId===e).sort((Q,Pe)=>Pe.startedAt-Q.startedAt)[0];!X||X.startingStatusAt!==void 0||(X.startingStatusAt=performance.now(),nl(X,"runtime_status_starting",{status:ae.status}))},[e,ae==null?void 0:ae.status]),b.useEffect(()=>{if(!e||!ae||ae.status==="starting")return;const X=[...rt.current.values()].filter(Q=>Q.serverChatId===e).sort((Q,Pe)=>Pe.startedAt-Q.startedAt)[0];!X||X.startingRenderedAt!==void 0||(nl(X,"starting_not_observed",{status:ae.status}),rt.current.delete(X.traceId))},[e,ae]),b.useLayoutEffect(()=>{if(!e||(ae==null?void 0:ae.status)!=="starting"){Ct.current=null;return}const X=[...rt.current.values()].filter(Q=>Q.serverChatId===e).sort((Q,Pe)=>Pe.startedAt-Q.startedAt)[0];X&&Ct.current!==X.traceId&&(Ct.current=X.traceId,X.startingRenderedAt=performance.now(),nl(X,"starting_render_committed",{totalMs:sB(X.startedAt)}),rt.current.delete(X.traceId))},[e,ae==null?void 0:ae.status]),b.useEffect(()=>{de(X=>{const Q=Qve(X,qe,Ge);return Q.length===X.length&&Q.every((Pe,dt)=>Pe===X[dt])?X:Q})},[qe,Ge]);const fr=b.useCallback(async()=>{if(!(!e||!R||C||!A)){k(!0);try{const X=await n.command({type:"chat.loadHistory",chatId:e,beforeCursor:R,limit:Jve});w(Q=>YD(X.messages,Q)),T(X.olderCursor),N(X.hasOlder),me(null)}catch(X){const Q=X instanceof Error?X.message:String(X);me(Q)}finally{k(!1)}}},[e,A,R,C,n]),hr=b.useCallback(async X=>{const Q=di.getState(),Pe=e?Q.getComposerState(e):Q.getComposerState(Sv),dt=await n.command({type:"chat.create",projectId:X});Q.initializeComposerForChat(dt.chatId,{sourceState:Pe}),oe(X),Ke(dt.chatId),t(`/chat/${dt.chatId}`),ve(!1),me(null)},[e,t,n]),$n=b.useCallback(async X=>X.kind==="project_id"?{projectId:X.projectId}:X.kind==="local_path"?{projectId:(await n.command({type:"project.open",localPath:X.localPath})).projectId,localPath:X.localPath}:{projectId:(await n.command(X.project.mode==="new"?{type:"project.create",localPath:X.project.localPath,title:X.project.title}:{type:"project.open",localPath:X.project.localPath})).projectId,localPath:X.project.localPath},[n]),cn=b.useCallback(async X=>{try{const Q=X.kind==="project_id"?null:X.kind==="local_path"?X.localPath:X.project.localPath;Q&&Ue(Q);const{projectId:Pe}=await $n(X);await hr(Pe)}catch(Q){me(Q instanceof Error?Q.message:String(Q))}finally{Ue(null)}},[hr,$n]),Yi=b.useCallback(async X=>{await cn({kind:"project_id",projectId:X})},[cn]),Xi=b.useCallback(async X=>{try{const Q=await n.command({type:"chat.fork",chatId:X.chatId}),Pe=di.getState();Pe.initializeComposerForChat(Q.chatId,{sourceState:Pe.getComposerState(X.chatId)}),Ke(Q.chatId),t(`/chat/${Q.chatId}`),ve(!1),me(null)}catch(Q){me(Q instanceof Error?Q.message:String(Q))}},[t,n]),Cr=b.useCallback(async X=>{await cn({kind:"local_path",localPath:X})},[cn]),ii=b.useCallback(async X=>{await cn({kind:"project_request",project:X})},[cn]),Qi=b.useCallback(async X=>{try{await n.command({type:"update.check",force:X==null?void 0:X.force}),me(null)}catch(Q){me(Q instanceof Error?Q.message:String(Q))}},[n]),bi=b.useCallback(async()=>{try{const X=await n.command({type:"update.install"});if(!X.ok){lh(),me(null),await r.alert({title:X.userTitle??"Update failed",description:X.userMessage??"Kanna could not install the update. Try again later.",closeLabel:"OK"});return}if(X.ok&&X.action==="reload"){window.location.reload();return}X.ok&&X.action==="restart"&&Wg("awaiting_disconnect"),me(null)}catch(X){lh(),me(X instanceof Error?X.message:String(X))}},[r,n]),Zi=b.useCallback(async()=>{try{const X=await n.command({type:"update.reload"});if(!X.ok){lh(),me(null),await r.alert({title:X.userTitle??"Re-deploy failed",description:X.userMessage??"Kanna could not re-deploy. Try again later.",closeLabel:"OK"});return}if(X.action==="reload"){window.location.reload();return}Wg("awaiting_disconnect"),me(null)}catch(X){lh(),me(X instanceof Error?X.message:String(X))}},[r,n]),Li=b.useCallback(async()=>{try{const X=await fetch("/auth/logout",{method:"POST",headers:{Accept:"application/json"}});if(!X.ok)throw new Error(`Sign out failed with status ${X.status}`);me(null),window.location.reload()}catch(X){me(X instanceof Error?X.message:String(X))}},[]),Rt=b.useCallback(async(X,Q)=>{var eu;const Pe=(Q==null?void 0:Q.attachments)??[];if(e&&mt)try{const mn=kb.getState().autoResumeOnRateLimit;await n.command({type:"message.enqueue",chatId:e,content:X,attachments:Pe,provider:Q==null?void 0:Q.provider,model:Q==null?void 0:Q.model,modelOptions:Q==null?void 0:Q.modelOptions,planMode:Q==null?void 0:Q.planMode,autoResumeOnRateLimit:mn}),me(null);return}catch(mn){throw me(mn instanceof Error?mn.message:String(mn)),mn}const dt=dc(),Hn=dc(),qr=DE(X,Pe),Ns=e??XD;ze({scopeId:Ns,ackedAt:null});const Ms={traceId:Hn,optimisticId:dt,startedAt:performance.now(),serverChatId:e,routeChatIdAtSend:e,contentPreview:X.slice(0,80)};rt.current.set(Hn,Ms),nl(Ms,"handle_send_called",{optimisticScopeId:Ns,attachments:Pe.length,contentLength:X.length,contentPreview:Ms.contentPreview});const lf=Xve(Ge,qr)+yt.filter(mn=>mn.scopeId===Ns&&mn.signature===qr).length+1;de(mn=>[...mn,{id:dt,scopeId:Ns,signature:qr,requiredMatchCount:lf,entry:{_id:`optimistic:${dt}`,kind:"user_prompt",content:X,attachments:Pe,createdAt:Date.now()}}]),nl(Ms,"optimistic_prompt_added",{optimisticId:dt,optimisticScopeId:Ns});try{let mn=Z??((eu=Je[0])==null?void 0:eu.groupKey)??null;if(!e&&!mn&&ot&&(mn=(await n.command({type:"project.open",localPath:ot})).projectId,oe(mn)),!e&&!mn)throw new Error("Open a project first");const Aa=kb.getState().autoResumeOnRateLimit,yi=await n.command({type:"chat.send",chatId:e??void 0,projectId:e?void 0:mn??void 0,clientTraceId:Hn,provider:Q==null?void 0:Q.provider,content:X,attachments:Pe,model:Q==null?void 0:Q.model,modelOptions:Q==null?void 0:Q.modelOptions,planMode:Q==null?void 0:Q.planMode,autoResumeOnRateLimit:Aa});if(Ms.ackAt=performance.now(),Ms.serverChatId=yi.chatId??Ms.serverChatId,ze(Lo=>Lo&&{scopeId:!e&&yi.chatId?yi.chatId:Lo.scopeId,ackedAt:performance.now()}),nl(Ms,"chat_send_ack_received",{resultChatId:yi.chatId??null}),!e&&yi.chatId){de(Jp=>Jp.map(cf=>cf.id===dt?{...cf,scopeId:yi.chatId}:cf));const Lo=di.getState();Lo.setComposerState(yi.chatId,ibe(Q)??Lo.getComposerState(Sv)),Ke(yi.chatId),t(`/chat/${yi.chatId}`)}me(null)}catch(mn){throw de(Aa=>Aa.filter(yi=>yi.id!==dt)),ze(null),nl(Ms,"handle_send_failed",{error:mn instanceof Error?mn.message:String(mn)}),rt.current.delete(Hn),me(mn instanceof Error?mn.message:String(mn)),mn}},[e,ot,mt,t,yt,Z,Ge,Je,n]),an=b.useCallback(async X=>{if(e)try{await n.command({type:"message.steer",chatId:e,queuedMessageId:X}),me(null)}catch(Q){me(Q instanceof Error?Q.message:String(Q))}},[e,n]),wn=b.useCallback(async X=>{if(e)try{await n.command({type:"message.dequeue",chatId:e,queuedMessageId:X}),me(null)}catch(Q){me(Q instanceof Error?Q.message:String(Q))}},[e,n]),fn=b.useCallback(async()=>{if(e)try{await n.command({type:"chat.cancel",chatId:e})}catch(X){me(X instanceof Error?X.message:String(X))}},[e,n]),Es=b.useCallback(async()=>{if(e)try{await n.command({type:"chat.stopDraining",chatId:e})}catch(X){me(X instanceof Error?X.message:String(X))}},[e,n]),No=b.useCallback(async X=>{const Q=await r.prompt({title:"Rename Chat",initialValue:X.title,confirmLabel:"Rename"});if(!(!Q||Q===X.title))try{await n.command({type:"chat.rename",chatId:X.chatId,title:Q}),me(null)}catch(Pe){me(Pe instanceof Error?Pe.message:String(Pe))}},[r,n]),Rs=b.useCallback(async X=>{if(await r.confirm({title:"Delete Chat",description:`Delete "${X.title}"? This cannot be undone.`,confirmLabel:"Delete",confirmVariant:"destructive"}))try{if(await n.command({type:"chat.delete",chatId:X.chatId}),X.chatId===e){const Pe=QD(Je,X.chatId);t(Pe?`/chat/${Pe}`:"/")}}catch(Pe){me(Pe instanceof Error?Pe.message:String(Pe))}},[e,r,t,Je,n]),te=b.useCallback(async X=>{try{if(await n.command({type:"chat.archive",chatId:X.chatId}),X.chatId===e){const Q=QD(Je,X.chatId);t(Q?`/chat/${Q}`:"/")}me(null)}catch(Q){me(Q instanceof Error?Q.message:String(Q))}},[e,t,Je,n]),Ie=b.useCallback(async X=>{try{Ke(X),await n.command({type:"chat.unarchive",chatId:X}),t(`/chat/${X}`),me(null)}catch(Q){Ke(null),me(Q instanceof Error?Q.message:String(Q))}},[t,n]),_n=b.useCallback(async X=>{try{await n.command({type:"project.remove",projectId:X}),cl.getState().clearProject(X),Ri.getState().clearProject(X),(ae==null?void 0:ae.projectId)===X&&t("/"),me(null)}catch(Q){me(Q instanceof Error?Q.message:String(Q))}},[t,ae==null?void 0:ae.projectId,n]),Ce=b.useCallback(async X=>{c(X);try{await n.command({type:"sidebar.reorderProjectGroups",projectIds:X}),me(null)}catch(Q){c(null),me(Q instanceof Error?Q.message:String(Q))}},[n]),$e=b.useCallback(async(X,Q)=>{try{await n.command({type:"stack.create",title:X,projectIds:Q}),me(null)}catch(Pe){me(Pe instanceof Error?Pe.message:String(Pe))}},[n]),It=b.useCallback(async(X,Q)=>{try{await n.command({type:"stack.rename",stackId:X,title:Q}),me(null)}catch(Pe){me(Pe instanceof Error?Pe.message:String(Pe))}},[n]),zr=b.useCallback(async X=>{try{await n.command({type:"stack.remove",stackId:X}),me(null)}catch(Q){me(Q instanceof Error?Q.message:String(Q))}},[n]),kr=b.useCallback(async(X,Q)=>{try{await n.command({type:"stack.addProject",stackId:X,projectId:Q}),me(null)}catch(Pe){me(Pe instanceof Error?Pe.message:String(Pe))}},[n]),jl=b.useCallback(async(X,Q)=>{try{await n.command({type:"stack.removeProject",stackId:X,projectId:Q}),me(null)}catch(Pe){me(Pe instanceof Error?Pe.message:String(Pe))}},[n]),Yp=b.useCallback(async(X,Q,Pe)=>{try{const dt=di.getState(),Hn=e?dt.getComposerState(e):dt.getComposerState(Sv),qr=await n.command({type:"chat.create",projectId:X,stackId:Q,stackBindings:Pe});dt.initializeComposerForChat(qr.chatId,{sourceState:Hn}),oe(X),Ke(qr.chatId),t(`/chat/${qr.chatId}`),ve(!1),me(null)}catch(dt){me(dt instanceof Error?dt.message:String(dt))}},[e,t,n]),ka=b.useCallback(async X=>{try{const Q=await n.command({type:"stack.listWorktrees",projectId:X});return me(null),Q.worktrees}catch(Q){return me(Q instanceof Error?Q.message:String(Q)),[]}},[n]),Q0=b.useCallback(async()=>await n.command({type:"sessions.importClaude"}),[n]),Mo=b.useCallback(async X=>{const Q=li.getState();me(null),await n.command({type:"system.openExternal",...X,editor:X.action==="open_editor"?X.editor??{preset:Q.editorPreset,commandTemplate:Q.editorCommandTemplate}:void 0})},[n]),Xp=b.useCallback(async(X,Q)=>{var dt,Hn;const Pe=(ae==null?void 0:ae.localPath)??((dt=d==null?void 0:d.projects[0])==null?void 0:dt.localPath)??((Hn=Je[0])==null?void 0:Hn.localPath);if(Pe)try{await Mo({action:X,localPath:Pe,editor:Q})}catch(qr){me(qr instanceof Error?qr.message:String(qr))}},[d==null?void 0:d.projects,Mo,ae==null?void 0:ae.localPath,Je]),tf=b.useCallback(async X=>{var Q;try{if(typeof navigator>"u"||!((Q=navigator.clipboard)!=null&&Q.writeText))throw new Error("Clipboard is not available");await navigator.clipboard.writeText(X),me(null)}catch(Pe){me(Pe instanceof Error?Pe.message:String(Pe))}},[]),Z0=b.useCallback(async(X,Q="open_editor",Pe)=>{try{await Mo({action:Q,localPath:X.path,line:X.line,column:X.column,editor:Pe})}catch(dt){me(dt instanceof Error?dt.message:String(dt))}},[Mo]),J0=b.useCallback(async(X,Q)=>{try{await Mo({action:X,localPath:Q})}catch(Pe){me(Pe instanceof Error?Pe.message:String(Pe))}},[Mo]),Ea=b.useCallback(async(X=e)=>{if(!X||et)return null;Lt(!0);try{const Q=await n.command({type:"chat.exportStandalone",chatId:X,theme:i,attachmentMode:"bundle"});return me(null),Q}catch(Q){return me(Q instanceof Error?Q.message:String(Q)),null}finally{Lt(!1)}},[e,et,i,n]),Ts=b.useCallback(async(X=e)=>{if(!X||et)return;At(!1);const Q=await Ea(X);if(Q!=null&&Q.ok&&Q.shareUrl){Yt(Q.shareUrl),At(!0);return}Q&&!Q.ok&&await r.confirm({title:"Share failed",description:Q.error,confirmLabel:"Download transcript JSON",cancelLabel:"Close",confirmVariant:"secondary"})&&pbe(Q.transcriptFileName,Q.transcriptJson)},[e,r,Ea,et]),nf=b.useCallback(()=>{Yt(null),At(!1)},[]),rf=b.useCallback(async()=>{var X;if(!Ot)return!1;try{if(typeof navigator>"u"||!((X=navigator.clipboard)!=null&&X.writeText))throw new Error("Clipboard is not available");return await navigator.clipboard.writeText(Ot),!0}catch(Q){return await r.alert({title:"Copy failed",description:Q instanceof Error?Q.message:String(Q),closeLabel:"Close"}),!1}},[r,Ot]),Ra=b.useCallback(()=>{Ot&&(window.open(Ot,"_blank","noopener,noreferrer"),Yt(null))},[Ot]),Ta=b.useCallback(()=>{var Q;const X=gbe({selectedProjectId:Z,sidebarProjectId:(Q=Je[0])==null?void 0:Q.groupKey,fallbackLocalProjectPath:ot});if(X){cn(X);return}t("/")},[ot,t,Z,Je,cn]),Qp=b.useCallback(()=>ve(!0),[]),sf=b.useCallback(()=>ve(!1),[]),Zp=b.useCallback(()=>ye(!0),[]),Ol=b.useCallback(()=>ye(!1),[]),As=b.useCallback(()=>Ae(!0),[]),of=b.useCallback(()=>Ae(!1),[]),zl=b.useCallback(async(X,Q,Pe)=>{if(e)try{await n.command({type:"chat.respondTool",chatId:e,toolUseId:X,result:{questions:Q,answers:Pe}})}catch(dt){me(dt instanceof Error?dt.message:String(dt))}},[e,n]),eo=b.useCallback(async(X,Q,Pe,dt)=>{if(e){Q&&di.getState().setChatComposerPlanMode(e,!1);try{await n.command({type:"chat.respondTool",chatId:e,toolUseId:X,result:{confirmed:Q,...Pe?{clearContext:!0}:{},...dt?{message:dt}:{}}})}catch(Hn){me(Hn instanceof Error?Hn.message:String(Hn))}}},[e,n]);return{socket:n,activeChatId:e,activeProjectId:Se,sidebarData:en,localProjects:d,updateSnapshot:h,chatSnapshot:v,chatDiffSnapshot:st,keybindings:W,appSettings:$,pushConfig:j,llmProvider:V,connectionStatus:H,sidebarReady:Y,localProjectsReady:G,commandError:De,startingLocalPath:wt,sidebarOpen:se,sidebarCollapsed:ue,messages:We,queuedMessages:Fe,previousPrompt:Le,latestToolIds:bt,runtime:ae,runtimeStatus:Ne,isHistoryLoading:C,hasOlderHistory:A,availableProviders:je,isProcessing:mt,canCancel:tn,isDraining:Dt,isExportingStandalone:et,standaloneShareUrl:Ot,standaloneShareComplete:Tt,navbarLocalPath:dn,editorLabel:sn,hasSelectedProject:Fn,addProjectModalOpen:Ee,openSidebar:Qp,closeSidebar:sf,collapseSidebar:Zp,expandSidebar:Ol,openAddProjectModal:As,closeAddProjectModal:of,loadOlderHistory:fr,handleCreateChat:Yi,handleForkChat:Xi,handleOpenLocalProject:Cr,handleCreateProject:ii,handleCheckForUpdates:Qi,handleInstallUpdate:bi,handleForceReload:Zi,handleReadAppSettings:Vt,handleWriteAppSettings:on,handleWriteCloudflareTunnel:Pt,handleWriteClaudeAuth:gt,handleTestOAuthToken:He,handleReadLlmProvider:ct,handleWriteLlmProvider:kt,handleValidateLlmProvider:Ft,handleSignOut:Li,handleSend:Rt,handleSteerQueuedMessage:an,handleRemoveQueuedMessage:wn,handleCancel:fn,handleStopDraining:Es,handleRenameChat:No,handleShareChat:Ts,handleArchiveChat:te,handleOpenArchivedChat:Ie,handleDeleteChat:Rs,handleHideProject:_n,handleReorderProjectGroups:Ce,stacks:en.stacks,handleCreateStack:$e,handleRenameStack:It,handleRemoveStack:zr,handleAddProjectToStack:kr,handleRemoveProjectFromStack:jl,handleCreateStackChat:Yp,handleListStackWorktrees:ka,importClaudeSessions:Q0,handleCopyPath:tf,handleOpenExternal:Xp,handleOpenExternalPath:J0,handleOpenLocalLink:Z0,handleCompose:Ta,handleAskUserQuestion:zl,handleExitPlanMode:eo,handleExportStandalone:Ea,handleCloseStandaloneShareDialog:nf,handleOpenStandaloneShareLink:Ra,handleCopyStandaloneShareLink:rf}}function ybe(e){var n;const t=e.match(/^<system-message>\s*([\s\S]*?)\s*<\/system-message>\s*([\s\S]*)$/);return t?{systemMessage:((n=t[1])==null?void 0:n.trim())||null,body:t[2]??""}:{systemMessage:null,body:e}}function _be({content:e,attachments:t=[],steered:n=!1,autoContinue:r}){const[i,s]=b.useState(null),o=P0(),l=b.useMemo(()=>ybe(e),[e]),c=o.attachmentMode==="metadata",d=!o.readonly||o.attachmentMode==="bundle",p=b.useMemo(()=>t.filter(_=>_.kind==="image"&&(_.contentUrl||c)),[t,c]),h=b.useMemo(()=>t.filter(_=>_.kind!=="image"||!_.contentUrl&&!c),[t,c]),g=t.find(_=>_.id===i)??null;function v(_){if(!d||!_.contentUrl)return;if(T0(_).openInNewTab){typeof window<"u"&&window.open(new URL(_.contentUrl,document.baseURI||window.location.href).toString(),"_blank","noopener,noreferrer");return}s(_.id)}return f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"flex flex-col items-end gap-2",children:[p.length>0?f.jsx("div",{className:"flex max-w-[85%] sm:max-w-[80%] flex-wrap justify-end gap-3",children:p.map(_=>f.jsx(Qk,{attachment:_,onClick:d?()=>v(_):void 0},_.id))}):null,h.length>0?f.jsx("div",{className:"flex max-w-[85%] sm:max-w-[80%] flex-wrap justify-end gap-2",children:h.map(_=>f.jsx(lp,{attachment:_,onClick:d?()=>v(_):void 0},_.id))}):null,l.body||!l.body&&t.length===0&&e&&!l.systemMessage?f.jsxs("div",{className:"flex max-w-[85%] items-center gap-2 sm:max-w-[80%]",children:[n?f.jsx(jW,{"aria-label":"Sent mid-turn",className:"size-3.5 shrink-0 text-muted-foreground"}):null,f.jsx("div",{className:"min-w-0 flex-1 rounded-[20px] border border-border bg-muted px-3.5 py-1.5 text-primary prose prose-sm prose-invert [&_p]:whitespace-pre-line",children:f.jsx(Wc,{remarkPlugins:[Gc],components:Zd(),children:l.body})})]}):null,r?f.jsx("span",{className:"text-xs text-muted-foreground opacity-70",children:"auto-sent"}):null]}),f.jsx(mE,{attachment:g,onOpenChange:_=>!_&&s(null)})]})}function xbe({json:e}){return f.jsx("div",{className:"flex gap-3 justify-start",children:f.jsx("div",{className:"flex-1 max-w-[90%]",children:f.jsx("pre",{className:"text-xs font-mono whitespace-pre-wrap break-words bg-muted rounded-lg p-3 overflow-auto max-h-96",children:e})})})}function aB({title:e,count:t,children:n,badge:r}){const[i,s]=b.useState(!1);return t===0?null:f.jsxs("div",{className:"flex flex-col gap-1.5",children:[f.jsxs("button",{onClick:()=>s(!i),className:"flex items-center gap-1 cursor-pointer group/section hover:opacity-60 transition-opacity",children:[f.jsx(So,{className:he("h-3.5 w-3.5 text-muted-foreground transition-transform duration-200",i&&"rotate-90")}),f.jsx("span",{className:"text-muted-foreground font-medium",children:e}),f.jsx("span",{className:"text-muted-foreground/60",children:t}),r]}),i&&f.jsx("div",{className:"ml-5",children:n})]})}function CS({title:e,items:t,icon:n,getIcon:r}){return t.length===0?null:f.jsx(aB,{title:e,count:t.length,children:f.jsx("div",{className:"flex flex-wrap gap-1.5",children:t.map(i=>f.jsx(p8,{icon:r?r(i):n,children:i},i))})})}function Sbe(e){const t=e.match(/^mcp__([^_]+)__(.+)$/);return t?{server:t[1],tool:t[2]}:null}function lB({status:e}){const t=e==="connected"?"bg-success":e==="pending"?"bg-warning":"bg-destructive";return f.jsx("span",{className:he("inline-block h-2 w-2 rounded-full shrink-0",t)})}function wbe(e){switch(e){case"connected":return"Connected";case"failed":return"Failed";case"needs-auth":return"Needs auth";case"pending":return"Connecting...";case"disabled":return"Disabled";default:return e}}function tI({server:e}){const[t,n]=b.useState(!1),r=e.status==="connected";return f.jsxs("div",{className:"flex flex-col gap-1.5",children:[f.jsxs("button",{onClick:()=>r&&e.tools.length>0&&n(!t),className:he("flex items-center gap-1.5",r&&e.tools.length>0&&"cursor-pointer hover:opacity-60 transition-opacity"),children:[r&&e.tools.length>0&&f.jsx(So,{className:he("h-3 w-3 text-muted-foreground transition-transform duration-200",t&&"rotate-90")}),f.jsx(lB,{status:e.status}),f.jsx("span",{className:"text-muted-foreground font-medium",children:dw(e.name)}),r?f.jsxs("span",{className:"text-muted-foreground/50",children:[e.tools.length," tools"]}):f.jsx("span",{className:"text-muted-foreground/50",children:wbe(e.status)})]}),!r&&e.error&&f.jsx("span",{className:"text-destructive ml-5",children:e.error}),t&&e.tools.length>0&&f.jsx("div",{className:"flex flex-wrap gap-1.5 ml-5",children:e.tools.map(i=>f.jsx(p8,{icon:f8(`mcp__${e.name}__${i}`),children:i},i))})]})}function Cbe({servers:e}){if(e.length===0)return null;const t=e.filter(i=>i.status==="connected"),n=e.filter(i=>i.status!=="connected"),r=n.length>0?f.jsxs("span",{className:"flex items-center gap-1 ml-1",children:[f.jsx(lB,{status:"failed"}),f.jsxs("span",{className:"text-muted-foreground/60",children:[n.length," disconnected"]})]}):null;return f.jsx(aB,{title:"MCP Servers",count:e.length,badge:r,children:f.jsxs("div",{className:"flex flex-col gap-2",children:[t.map(i=>f.jsx(tI,{server:i},i.name)),n.map(i=>f.jsx(tI,{server:i},i.name))]})})}function kbe({rawJson:e}){const[t,n]=b.useState(!1);return f.jsxs("div",{className:"flex flex-col gap-1.5",children:[f.jsxs("button",{onClick:()=>n(!t),className:"flex items-center gap-1 cursor-pointer group/section hover:opacity-60 transition-opacity",children:[f.jsx(So,{className:he("h-3.5 w-3.5 text-muted-foreground transition-transform duration-200",t&&"rotate-90")}),f.jsx("span",{className:"text-muted-foreground font-medium",children:"Raw Message"})]}),t&&f.jsx("pre",{className:"ml-5 text-xs whitespace-pre-wrap break-all border border-border rounded-md p-3 overflow-x-auto max-h-96 overflow-y-auto",children:e})]})}function Ebe({message:e,rawJson:t}){const{coreTools:n,mcpServersWithTools:r}=b.useMemo(()=>{const i=new Map,s=[];for(const l of e.tools){const c=Sbe(l);if(c){const d=i.get(c.server)||[];d.push(c.tool),i.set(c.server,d)}else s.push(l)}const o=e.mcpServers.map(l=>({name:l.name,status:l.status,error:l.error,tools:i.get(l.name)||[]}));return{coreTools:s,mcpServersWithTools:o}},[e.tools,e.mcpServers]);return f.jsx(xa,{children:f.jsxs(j0,{expandedContent:f.jsx(O0,{className:"my-4 text-xs",children:f.jsxs("div",{className:"flex flex-col gap-3",children:[f.jsx(fme,{children:e.model}),f.jsx(CS,{title:"Tools",items:n,getIcon:i=>_1[i]??d8}),f.jsx(CS,{title:"Agents",items:e.agents,icon:qb}),f.jsx(CS,{title:"Commands",items:e.slashCommands,icon:fW}),f.jsx(Cbe,{servers:r}),t&&f.jsx(kbe,{rawJson:t})]})}),children:[f.jsx(qU,{className:"h-5 w-5 text-logo"}),f.jsx(Tl,{children:"Session Started"})]})})}function Rbe({message:e}){return f.jsx(xa,{className:"hidden",children:f.jsxs(j0,{expandedContent:f.jsx(O0,{className:"my-4 text-xs",children:f.jsx("pre",{className:"font-mono whitespace-pre-wrap break-all bg-muted border border-border rounded-lg p-2 max-h-64 overflow-auto",children:JSON.stringify(e.accountInfo,null,2)})}),children:[f.jsx("div",{className:"size-5 flex justify-center items-center ",children:f.jsx(qb,{className:"h-4 w-4 text-muted-foreground"})}),f.jsx(Tl,{children:"Account"})]})})}function Tbe({message:e}){return f.jsx("div",{className:"text-pretty prose prose-sm dark:prose-invert px-0.5 w-full max-w-[70ch] space-y-4",children:f.jsx(Wc,{remarkPlugins:[Gc],components:Zd(),children:e.text})})}function Abe({question:e,currentIndex:t,totalQuestions:n,onBack:r,children:i}){const s=r&&t>0;return f.jsxs("div",{className:"rounded-2xl border border-border overflow-hidden",children:[f.jsxs("div",{className:"relative",children:[f.jsxs("h3",{className:"font-medium text-foreground text-sm p-3 px-4 bg-card border-b border-border text-foreground flex flex-row items-center gap-2",children:[s?f.jsx("button",{onClick:r,className:" text-muted-foreground hover:opacity-60 transition-all flex items-center",children:f.jsx(c9,{className:"h-4 w-4 -ml-0.5",strokeWidth:3})}):n>1?f.jsxs("span",{className:"font-bold text-muted-foreground whitespace-nowrap",children:[t+1," of ",n]}):null,e]}),n>1&&f.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-0.5 bg-border",children:f.jsx("div",{className:"h-full bg-muted-foreground/40 transition-all duration-300",style:{width:`${t/n*100}%`}})})]}),i]})}function nI({label:e,description:t}){return f.jsxs(f.Fragment,{children:[f.jsx("span",{className:"text-foreground text-sm",children:e}),t&&f.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:t})]})}function cB({selected:e,multiSelect:t,onClick:n}){return f.jsx("button",{type:"button",onClick:n,className:he("flex-shrink-0 w-5 h-5 border-1 flex items-center justify-center",t?"rounded":"rounded-full",e?"border-transparent bg-foreground":"border-muted-foreground/50 bg-background",n&&e&&"cursor-pointer"),children:e&&f.jsx(pi,{strokeWidth:3,className:"translate-y-[0.5px] h-3 w-3 text-white dark:text-background"})})}function Nbe({option:e,selected:t,multiSelect:n,onClick:r,isLast:i}){const s="w-full text-left p-3 pt-2.5 pl-4 pr-5 bg-background",o=i?"":"border-b border-border";return r?f.jsx("button",{onClick:r,className:he(s,o,"transition-all cursor-pointer"),children:f.jsxs("div",{className:"flex items-center justify-between gap-3",children:[f.jsx("div",{className:"flex-1 min-w-0",children:f.jsx(nI,{label:e.label,description:e.description})}),f.jsx(cB,{selected:t,multiSelect:n})]})}):f.jsx("div",{className:he(s,o),children:f.jsx(nI,{label:e.label,description:e.description})})}function Mbe(e){return e==null?void 0:e.answers}function ls(e){return e.id||e.question}function Lbe({message:e,onSubmit:t,isLatest:n}){var H,U;const r=P0(),i=e.input.questions,s=!!e.result,o=Mbe(e.result),l=((H=e.result)==null?void 0:H.discarded)===!0,[c,d]=b.useState(0),[p,h]=b.useState({}),[g,v]=b.useState({}),[_,x]=b.useState(o??null),[w,C]=b.useState(s),k=(Y,P)=>{var Z;const G=(Z=g[Y])==null?void 0:Z.trim(),J=p[Y]||"",O=P||i.find(oe=>ls(oe)===Y);if(O!=null&&O.multiSelect)return[J,G].filter(Boolean).flatMap(oe=>oe.split(", ").filter(Boolean));const ie=G||J;return ie?[ie]:[]},R=Y=>{const P=p[ls(Y)]||"";return Y.multiSelect?P.split(", ").filter(Boolean):[P]},T=(Y,P)=>{const G=ls(Y);if(Y.multiSelect){const J=p[G]?p[G].split(", ").filter(Boolean):[],O=J.includes(P)?J.filter(ie=>ie!==P):[...J,P];h({...p,[G]:O.join(", ")})}else h({...p,[G]:P}),v({...g,[G]:""}),c<i.length-1&&setTimeout(()=>d(c+1),150)},A=(Y,P)=>{const G=ls(Y);v({...g,[G]:P}),P&&!Y.multiSelect&&h({...p,[G]:""})},N=Y=>{const P=ls(Y);Y.multiSelect&&g[P]&&v({...g,[P]:""})},M=i.every(Y=>k(ls(Y),Y).length>0),D=i[c],W=c===i.length-1,I=D&&k(ls(D),D).length>0,$=()=>{c<i.length-1&&d(c+1)},B=()=>{c>0&&d(c-1)},j=()=>{if(!M)return;const Y={};for(const P of i){const G=ls(P);Y[G]=k(G,P)}x(Y),C(!0),t(e.toolId,i,Y)},F=Y=>{if(Y.key==="Enter"&&!(!D||!I)){if(Y.preventDefault(),W){j();return}$()}};if(w||s){const Y=o||_||{};return f.jsx("div",{className:"w-full",children:f.jsxs("div",{className:"rounded-2xl border border-border overflow-hidden",children:[f.jsxs("div",{className:"font-medium text-sm p-3 px-4 pr-5 bg-muted border-b border-border flex flex-row items-center justify-between",children:[f.jsxs("p",{children:["Question",i.length!==1?"s":""]}),f.jsx("p",{className:"",children:l?"Discarded":"Answers"})]}),i.map((P,G)=>{const J=Y[ls(P)]||Y[P.question]||[],O=G===i.length-1;return f.jsxs("div",{className:he("w-full p-3 pt-2.5 pl-4 pr-5 bg-background flex items-center justify-between gap-3",!O&&"border-b border-border"),children:[f.jsx("div",{className:"text-sm text-pretty",children:P.question}),J.length>0&&f.jsx("div",{className:"text-sm font-medium text-right max-w-[50%] text-pretty",children:J.join(", ")}),J.length===0&&f.jsx("div",{className:"text-sm font-medium text-right italic",children:l?"Discarded":"No Response"})]},ls(P))})]})})}if(r.readonly)return f.jsx("div",{className:"w-full",children:f.jsxs("div",{className:"rounded-2xl border border-border overflow-hidden",children:[f.jsxs("div",{className:"font-medium text-sm p-3 px-4 pr-5 bg-muted border-b border-border flex flex-row items-center justify-between gap-3",children:[f.jsxs("p",{children:["Question",i.length!==1?"s":""]}),f.jsx("p",{className:"text-muted-foreground",children:"Awaiting response"})]}),i.map((Y,P)=>{var G;return f.jsxs("div",{className:he("w-full p-3 pt-2.5 pl-4 pr-5 bg-background flex items-center justify-between gap-3",P<i.length-1&&"border-b border-border"),children:[f.jsx("div",{className:"text-sm text-pretty",children:Y.question}),f.jsx("div",{className:"max-w-[50%] text-right text-xs text-muted-foreground text-pretty",children:((G=Y.options)==null?void 0:G.map(J=>J.label).join(", "))||"Freeform response"})]},ls(Y))})]})});if(!n)return f.jsx("div",{className:"w-full py-2",children:f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx(zj,{className:"h-4 w-4 text-muted-foreground"}),f.jsx("span",{className:"text-sm text-muted-foreground",children:"Questions pending (newer question active)"})]})});if(!D)return null;const V=R(D),z=g[ls(D)]||"";return f.jsxs("div",{className:"w-full space-y-3",children:[f.jsxs(Abe,{question:D.question,currentIndex:c,totalQuestions:i.length,onBack:c>0?B:void 0,children:[(U=D.options)==null?void 0:U.map(Y=>f.jsx(Nbe,{option:Y,selected:V.includes(Y.label),multiSelect:D.multiSelect,onClick:()=>T(D,Y.label)},Y.label)),f.jsx("div",{className:"transition-all bg-background",children:f.jsxs("div",{className:"flex pr-5 items-center justify-between gap-3",children:[f.jsx("input",{type:"text",value:z,onChange:Y=>A(D,Y.target.value),onKeyDown:F,placeholder:"Other...",className:"flex-1 px-3 !py-1 pl-4 min-h-[55px] min-w-0 text-sm bg-transparent outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background rounded-md text-foreground placeholder:text-muted-foreground"}),f.jsx(cB,{selected:!!z,multiSelect:D.multiSelect,onClick:D.multiSelect&&z?()=>N(D):void 0})]})})]}),f.jsxs("div",{className:"flex justify-end gap-2 mx-2",children:[!W&&I&&(D.multiSelect||!!z)&&f.jsx(Xe,{size:"sm",onClick:$,children:"Next"}),W&&f.jsx(Xe,{size:"sm",onClick:j,disabled:!M,className:he(!M&&"opacity-50 cursor-not-allowed","rounded-full"),children:"Submit"})]})]})}function Dbe({message:e,onConfirm:t,isLatest:n}){const r=P0(),i=!!e.result,[s,o]=b.useState(!1),[l,c]=b.useState(!1),[d,p]=b.useState(!1),[h,g]=b.useState(""),v=b.useRef(null),_=e.input;b.useEffect(()=>{d&&v.current&&v.current.focus()},[d]);const x=async()=>{_!=null&&_.plan&&(await navigator.clipboard.writeText(_.plan),c(!0),setTimeout(()=>c(!1),2e3))},w=i?e.result:null,C=(w==null?void 0:w.discarded)===!0;return f.jsxs("div",{className:"flex flex-col gap-3",children:[f.jsxs("div",{className:"relative rounded-2xl border border-border overflow-hidden group/plan",children:[(_==null?void 0:_.plan)&&f.jsx(Xe,{variant:"ghost",size:"icon","aria-label":l?"Copied":"Copy plan",className:he("absolute top-2 right-2 z-10 h-11 w-11 md:h-8 md:w-8 rounded-md text-muted-foreground opacity-100 md:opacity-0 md:group-hover/plan:opacity-100 transition-opacity [@media(hover:none)]:!opacity-100",!l&&"hover:text-foreground",l&&"hover:!bg-transparent hover:!border-transparent"),onClick:x,children:l?f.jsx(pi,{className:"h-4 w-4 text-success"}):f.jsx(Cl,{className:"h-4 w-4"})}),f.jsxs("div",{className:he("!pt-5 !pb-0 px-4 md:py-4.5 md:px-5.5 bg-muted dark:bg-card overflow-scroll no-pre-highlight transition-all",i&&!s?"max-h-[min(400px,40vh)] ":"",i?"hover:!pb-[32px]":""),children:[i&&f.jsxs(Xe,{variant:"ghost",className:"absolute z-10 bottom-2 pr-2.5 !pl-3.5 h-[34px] inline-flex gap-1 text-sm left-[50%] -translate-x-[50%] text-muted-foreground backdrop-blur-sm hover:text-foreground opacity-0 group-hover/plan:opacity-100 transition-all rounded-full border border-border",onClick:()=>o(!s),children:[s?"Show Less":"Show More",f.jsx(Id,{className:`size-3.5 transition-transform ${s?"rotate-180":""}`})]}),_!=null&&_.plan?f.jsxs("div",{className:"prose prose-sm dark:prose-invert max-w-none",children:[f.jsx(Wc,{remarkPlugins:[Gc],components:Zd(),children:_.plan}),f.jsx("div",{className:"mt-5"})]}):f.jsx("p",{className:"text-sm text-muted-foreground",children:"No plan provided"})]})]}),i?f.jsx("div",{className:"flex justify-end mx-2",children:f.jsxs("span",{className:"pl-4 inline text-sm font-medium bg-background text-foreground/60 border border-border py-1.5 px-3 rounded-[20px] leading-relaxed max-w-[85%] sm:max-w-[80%]",children:[f.jsx("em",{children:C?"Discarded":w!=null&&w.clearContext?"Approved & Cleared Context":w!=null&&w.confirmed?"Approved":w!=null&&w.message?`Adjusted: "${w.message}"`:"Adjusted Plan"}),f.jsx(E9,{className:"inline h-4 w-4 ml-1.5 -mt-0.5"})]})}):n?r.readonly?f.jsx("div",{className:"flex justify-end mx-2",children:f.jsx("span",{className:"inline text-sm text-muted-foreground italic",children:"Plan pending in original session"})}):f.jsxs("div",{className:"flex flex-col gap-3",children:[!d&&f.jsxs("div",{className:"flex flex-col md:flex-row items-stretch md:items-center justify-end gap-2 mx-2",children:[f.jsxs(Xe,{size:"sm",onClick:()=>t(e.toolId,!0,!0),className:"rounded-full bg-primary text-background pr-4 md:order-last",children:[f.jsx(r9,{className:"h-4 w-4 mr-1.5"}),"Approve & Clear"]}),f.jsxs("div",{className:"flex items-stretch md:items-center gap-2 md:contents",children:[f.jsxs(Xe,{size:"sm",variant:"outline",onClick:()=>p(!0),className:"rounded-full border-border flex-1 md:flex-initial md:order-first",children:[f.jsx(AC,{className:"h-4 w-4 mr-1.5"}),"Suggest Edits"]}),f.jsxs(Xe,{size:"sm",variant:"outline",onClick:()=>t(e.toolId,!0),className:"rounded-full border-border flex-1 md:flex-initial",children:[f.jsx(pi,{className:"h-4 w-4 mr-1.5"}),"Approve"]})]})]}),d&&f.jsxs("div",{className:"flex flex-col gap-2",children:[f.jsx("textarea",{ref:v,value:h,onChange:k=>g(k.target.value),onKeyDown:k=>{k.key==="Enter"&&!k.shiftKey&&h.trim()&&(k.preventDefault(),t(e.toolId,!1,void 0,h.trim())),k.key==="Escape"&&(p(!1),g(""))},placeholder:"Describe what you'd like to change...",rows:3,className:"w-full rounded-2xl border border-border bg-muted dark:bg-card px-4 py-3 text-sm text-foreground placeholder:text-muted-foreground resize-none outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background"}),f.jsxs("div",{className:"flex items-center justify-end gap-2 mx-2",children:[f.jsx(Xe,{size:"sm",variant:"ghost",onClick:()=>{p(!1),g("")},className:"rounded-full text-muted-foreground",children:"Cancel"}),f.jsxs(Xe,{size:"sm",disabled:!h.trim(),onClick:()=>t(e.toolId,!1,void 0,h.trim()),className:"rounded-full bg-primary text-background disabled:opacity-50 disabled:pointer-events-none",children:[f.jsx(oW,{className:"h-4 w-4 mr-1.5"}),"Adjust Plan"]})]})]})]}):f.jsx("div",{className:"flex justify-end mx-2",children:f.jsx("span",{className:"inline text-sm text-muted-foreground italic",children:"Plan pending (newer prompt active)"})})]})}const Ibe={completed:{Icon:pi,iconClass:"text-success",textClass:"text-muted-foreground"},in_progress:{Icon:bn,iconClass:"text-foreground animate-spin",textClass:"text-foreground font-medium"},pending:{Icon:m9,iconClass:"text-muted-foreground",textClass:"text-muted-foreground"}};function Pbe({message:e}){const t=e.input.todos;return t.length?f.jsx("div",{className:"w-full",children:f.jsxs("div",{className:"rounded-2xl border border-border overflow-hidden",children:[f.jsxs("h3",{className:"font-medium text-foreground text-sm p-3 px-4 bg-card border-b border-border flex items-center gap-2",children:[f.jsx(xV,{className:"h-4 w-4 text-muted-foreground"}),"Progress"]}),f.jsx("div",{children:t.map((n,r)=>{const i=r===t.length-1,{Icon:s,iconClass:o,textClass:l}=Ibe[n.status];return f.jsxs("div",{className:he("flex items-center gap-3 px-4 py-2.5 bg-background",!i&&"border-b border-border"),children:[f.jsx(s,{className:he("h-4 w-4 flex-shrink-0",o)}),f.jsx("span",{className:he("text-sm",l),children:n.status==="in_progress"?n.activeForm:n.content})]},r)})})]})}):null}function rI(e){return(e&&typeof e=="object"&&"content"in e&&Array.isArray(e.content)?e.content:Array.isArray(e)?e:[]).flatMap(n=>!n||typeof n!="object"||!("type"in n)||n.type!=="image"?[]:"data"in n&&typeof n.data=="string"?[{type:"image",data:n.data,mimeType:typeof n.mimeType=="string"?n.mimeType:void 0}]:"source"in n&&n.source&&typeof n.source=="object"&&"type"in n.source&&n.source.type==="base64"&&"data"in n.source&&typeof n.source.data=="string"?[{type:"image",data:n.source.data,mimeType:typeof n.source.media_type=="string"?n.source.media_type:void 0}]:[])}function jbe({images:e}){return f.jsx("div",{className:"flex flex-col gap-3",children:e.map((t,n)=>{const r=t.mimeType||"image/png";return f.jsx("div",{className:"overflow-hidden rounded-lg border border-border bg-muted/20",children:f.jsx("img",{src:`data:${r};base64,${t.data}`,alt:`Read result ${n+1}`,className:"max-h-[50vh] w-full object-contain bg-background"})},`${r}:${n}`)})})}function k1({message:e,isLoading:t=!1,localPath:n}){var w;const r=e.result!==void 0,i=!r&&t,s=b.useMemo(()=>{if(e.toolKind==="skill")return e.input.skill;if(e.toolKind==="glob")return`Search files ${e.input.pattern==="**/*"?"in all directories":`matching ${e.input.pattern}`}`;if(e.toolKind==="grep"){const C=e.input.pattern,k=e.input.outputMode;return k==="count"?`Count \`${C}\` occurrences`:k==="content"?`Find \`${C}\` in text`:`Find \`${C}\` in files`}return e.toolKind==="bash"?e.input.description||(e.input.command?wX(e.input.command):"Bash"):e.toolKind==="web_search"?e.input.query||"Web Search":e.toolKind==="read_file"?`Read ${Bg(e.input.filePath,n)}`:e.toolKind==="write_file"?`Write ${Bg(e.input.filePath,n)}`:e.toolKind==="edit_file"?`Edit ${Bg(e.input.filePath,n)}`:e.toolKind==="delete_file"?`Delete ${Bg(e.input.filePath,n)}`:e.toolKind==="mcp_generic"?`${dw(e.input.tool)} from ${dw(e.input.server)}`:e.toolKind==="subagent_task"&&e.input.subagentType||e.toolName},[e.input,e.toolName,n]),o=b.useMemo(()=>e.toolKind==="subagent_task",[e.toolKind]),l=b.useMemo(()=>{if(e.toolKind==="skill")return e.input.skill},[e.input,e.toolKind]),c=e.toolKind==="bash",d=e.toolKind==="write_file",p=e.toolKind==="edit_file",h=e.toolKind==="delete_file",g=e.toolKind==="read_file",v=b.useMemo(()=>{if(typeof e.result=="string")return e.result;if(!e.result)return"";if(typeof e.result=="object"&&e.result!==null&&"content"in e.result){const C=e.result.content;if(typeof C=="string")return C}return JSON.stringify(e.result,null,2)},[e.result]),_=b.useMemo(()=>{if(!g)return[];if(e.result&&typeof e.result=="object"&&"blocks"in e.result){const C=e.result.blocks;if(Array.isArray(C)){const k=rI(C);if(k.length>0)return k}}return rI(e.rawResult)},[g,e.rawResult,e.result]),x=b.useMemo(()=>{switch(e.toolKind){case"bash":return e.input.command;case"write_file":case"delete_file":return e.input.content;default:return JSON.stringify(e.input,null,2)}},[e]);return f.jsx(xa,{className:"w-full",children:f.jsxs(j0,{expandedContent:f.jsx(O0,{className:"my-4 text-sm",children:f.jsxs("div",{className:"flex flex-col gap-2",children:[p?f.jsx(bh,{content:"",isDiff:!0,oldString:e.input.oldString,newString:e.input.newString}):h?f.jsx(bh,{content:e.input.content}):!g&&!d&&f.jsx(bD,{label:c?f.jsxs("span",{className:"flex items-center gap-2 w-full",children:[f.jsx("span",{children:"Command"}),!!e.input.timeoutMs&&f.jsxs("span",{className:"text-muted-foreground",children:["timeout: ",String(e.input.timeoutMs),"ms"]}),!!e.input.runInBackground&&f.jsx("span",{className:"text-muted-foreground",children:"background"})]}):d?"Contents":"Input",copyText:x,children:x}),r&&g&&!e.isError&&(_.length>0?f.jsxs("div",{children:[f.jsx("span",{className:"font-medium text-muted-foreground",children:"Image"}),f.jsx("div",{className:"mt-1",children:f.jsx(jbe,{images:_})})]}):f.jsx(bh,{content:v})),d&&!e.isError&&f.jsx(bh,{content:e.input.content}),r&&!g&&!(d&&!e.isError)&&!(p&&!e.isError)&&!(h&&!e.isError)&&f.jsx(bD,{label:e.isError?"Error":"Result",copyText:v,children:v})]})}),children:[f.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:(()=>{if(e.isError)return f.jsx(Ro,{className:"size-4 text-destructive"});if(o)return f.jsx(qb,{className:"size-4 text-muted-icon"});const C=f8(e.toolName);return f.jsx(C,{className:"size-4 text-muted-icon"})})()}),f.jsx(Tl,{className:"text-left transition-opacity duration-200 truncate",children:f.jsx(Fd,{animate:i,shimmerWidth:Math.max(20,(((w=l||s)==null?void 0:w.length)??33)*3),children:l||s})})]})})}function Obe({message:e}){const t=e.result,n=t==null?void 0:t.contentUrl,[r,i]=b.useState("idle");if(b.useEffect(()=>{if(!n)return;const h=new AbortController;return fetch(n,{method:"HEAD",signal:h.signal}).then(g=>{h.signal.aborted||i(g.ok?"ready":"missing")}).catch(()=>{}),()=>h.abort()},[n]),!t||!n)return null;const s={id:`offer-download-${e.toolId}`,kind:"file",displayName:t.displayName||t.fileName,absolutePath:t.relativePath,relativePath:t.relativePath,contentUrl:n,mimeType:t.mimeType??"application/octet-stream",size:t.size},o=l6(s),l=Hle(o,t.mimeType),c=t.size>0?A0(t.size):null,d=f.jsxs(f.Fragment,{children:[l,c?f.jsxs(f.Fragment,{children:[" · ",f.jsx("span",{className:"tabular-nums",children:c})]}):null]}),p=["Download",s.displayName,l,c].filter(Boolean);return r==="missing"?f.jsx("div",{className:"flex","data-testid":"offer-download-link",children:f.jsx(lp,{attachment:s,disabledReason:"File no longer available"})}):f.jsx("div",{className:"flex","data-testid":"offer-download-link",children:f.jsx(lp,{attachment:s,href:n,download:t.fileName||void 0,meta:d,ariaLabel:p.join(", ")})})}function zbe(e){if(e<1e3)return`${e}ms`;const t=Math.floor(e/1e3),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}h${r>0?` ${r}m`:""}`:r>0?`${r}m${i>0?` ${i}s`:""}`:`${i}s`}function iI({durationMs:e,prefix:t="Worked for"}){return e<=0?null:f.jsxs(hme,{children:[t," ",zbe(e)]})}function Bbe({message:e}){return e.success?f.jsx(iI,{durationMs:e.durationMs}):f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"px-4 py-3 mx-2 my-1 rounded-lg bg-destructive/10 border border-destructive/20 text-destructive text-sm",children:e.result||"An unknown error occurred."}),f.jsx(iI,{durationMs:e.durationMs,prefix:"Failed after"})]})}function Fbe({message:e}){return f.jsx("div",{className:"flex items-center justify-end gap-2 text-sm text-muted-foreground",children:f.jsxs("div",{className:"inline-flex gap-1.5 items-center justify-center whitespace-nowrap text-sm font-medium bg-background text-foreground/60 border border-border h-9 pl-1 pr-4 rounded-full",children:[f.jsx(h9,{className:"h-4 w-4 ml-1.5"}),f.jsx("em",{children:"Interrupted"})]})})}function Eb({size:e=4}){return f.jsxs("svg",{className:"flex-1",viewBox:`0 0 100 ${e}`,preserveAspectRatio:"none",style:{height:`${e}px`},children:[f.jsx("pattern",{id:"zigzag",width:e,height:e,patternUnits:"userSpaceOnUse",children:f.jsx("path",{d:`M0 ${e} L${e/2} 0 L${e} ${e}`,fill:"none",stroke:"currentColor",strokeWidth:"0.5",className:"text-muted-foreground/30",style:{stroke:"currentColor"}})}),f.jsx("rect",{width:"100%",height:e,fill:"url(#zigzag)",className:"text-muted-foreground/30"})]})}function $be(){return f.jsxs("div",{className:"flex items-center gap-3",children:[f.jsx(Eb,{}),f.jsx("span",{className:"text-[11px] tracking-widest text-muted-foreground uppercase flex-shrink-0",children:"Compacted"}),f.jsx(Eb,{})]})}function Hbe(){return f.jsxs("div",{className:"flex items-center gap-3",children:[f.jsx(Eb,{}),f.jsx("span",{className:"text-[11px] tracking-widest text-muted-foreground uppercase flex-shrink-0",children:"Context Cleared"}),f.jsx(Eb,{})]})}function Ube({message:e}){return f.jsx(xa,{children:f.jsxs(j0,{expandedContent:f.jsx(O0,{className:"my-4 text-xs",children:f.jsx("div",{className:"prose prose-sm dark:prose-invert max-w-none",children:f.jsx(Wc,{remarkPlugins:[Gc],components:Zd(),children:e.summary})})}),children:[f.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:f.jsx(Bj,{className:"h-4.5 w-4.5 text-muted-foreground"})}),f.jsx(Tl,{children:"Summarized"})]})})}const Vbe={compacting:"Compacting..."};function Wbe({message:e}){const t=Vbe[e.status]||e.status;return f.jsxs(xa,{className:"grid grid-cols-[auto_1fr] items-center gap-1.5 text-sm animate-pulse",children:[f.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:f.jsx(Bj,{className:"h-4.5 w-4.5 text-muted-foreground"})}),f.jsx(Tl,{className:"text-left transition-opacity duration-200 truncate",children:t})]})}const Gbe={read_file:{key:"read",singular:"read",plural:"reads"},edit_file:{key:"edit",singular:"edit",plural:"edits"},write_file:{key:"write",singular:"write",plural:"writes"},delete_file:{key:"delete",singular:"delete",plural:"deletes"},bash:{key:"bash",singular:"command",plural:"commands"},grep:{key:"grep",singular:"search",plural:"searches"},glob:{key:"glob",singular:"glob",plural:"globs"},subagent_task:{key:"task",singular:"agent",plural:"agents"},web_search:{key:"websearch",singular:"web search",plural:"web searches"},skill:{key:"skill",singular:"skill",plural:"skills"},todo_write:{key:"todo",singular:"todo update",plural:"todo updates"}},qbe={key:"other",singular:"tool call",plural:"tool calls"};function Kbe(e){return Gbe[e]??qbe}function Ybe(e){const t=new Map,n=[];for(const r of e){const i=r.toolKind,s=Kbe(i),o=t.get(s.key);o?o.count++:(t.set(s.key,{category:s,count:1}),n.push(s.key))}return n.map(r=>{const{category:i,count:s}=t.get(r);return`${s} ${s===1?i.singular:i.plural}`}).join(", ")}function Xbe({messages:e,isLoading:t,localPath:n,expanded:r,onExpandedChange:i}){const s=b.useMemo(()=>Ybe(e),[e]),l=e.some(c=>c.result===void 0)&&t;return f.jsx(xa,{className:"w-full",children:f.jsxs("div",{className:"flex flex-col w-full",children:[f.jsx("button",{onClick:()=>i(!r),className:`group cursor-pointer grid grid-cols-[auto_1fr] items-center gap-1 text-sm ${!r&&!l?"hover:opacity-60 transition-opacity":""}`,children:f.jsxs("div",{className:"grid grid-cols-[auto_1fr] items-center gap-1.5",children:[f.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:f.jsx(So,{className:`h-4.5 w-4.5 text-muted-icon transition-all duration-200 ${r?"rotate-90":""}`})}),f.jsx(Tl,{className:"text-left",children:f.jsx(Fd,{animate:l,children:s})})]})}),r&&f.jsxs("div",{className:"my-4 flex flex-col gap-3",children:[e.map(c=>f.jsx(k1,{message:c,isLoading:t,localPath:n},c.id)),e.length>5&&f.jsx("button",{onClick:()=>i(!1),className:"cursor-pointer grid grid-cols-[auto_1fr] items-center gap-1 text-xs hover:opacity-80 transition-opacity",children:f.jsxs("div",{className:"grid grid-cols-[auto_1fr] items-center gap-1.5",children:[f.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:f.jsx(So,{className:"h-4.5 w-4.5 text-muted-icon -rotate-90"})}),f.jsx(Tl,{className:"text-left",children:"Collapse"})]})})]})]})})}function Qbe(e){if(e!=="system")return e}function kS(e,t){const n=Qbe(t),r=new Intl.DateTimeFormat("en-GB",{timeZone:n,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1}).formatToParts(new Date(e)),i=o=>{var l;return((l=r.find(c=>c.type===o))==null?void 0:l.value)??"00"};let s=i("hour");return s==="24"&&(s="00"),`${i("day")}/${i("month")}/${i("year")} ${s}:${i("minute")}`}const Zbe=/^(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2})$/;function sI(e,t){if(e==="system")return-new Date(t).getTimezoneOffset();const n=new Intl.DateTimeFormat("en-US",{timeZone:e,hour12:!1,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).formatToParts(new Date(t)),r=o=>{var l;return Number(((l=n.find(c=>c.type===o))==null?void 0:l.value)??0)};let i=r("hour");i===24&&(i=0);const s=Date.UTC(r("year"),r("month")-1,r("day"),i,r("minute"),r("second"));return Math.round((s-t)/6e4)}function Jbe(e,t){const n=Zbe.exec(e.trim());if(!n)return null;const[,r,i,s,o,l]=n,c=Number(r),d=Number(i),p=Number(s),h=Number(o),g=Number(l);if(d<1||d>12||c<1||c>31||h>23||g>59)return null;const v=Date.UTC(p,d-1,c,h,g),_=sI(t,v),x=v-_*6e4,w=sI(t,x);return x-(w-_)*6e4}const e0e={neutral:"border-border bg-card",muted:"border-border/50 bg-card/50 opacity-75",success:"border-emerald-500/30 bg-emerald-500/5",error:"border-destructive/40 bg-destructive/5"},t0e={primary:"default",secondary:"secondary",ghost:"ghost",destructive:"destructive"};function oa({title:e,description:t,body:n,errorMessage:r,tone:i="neutral",actions:s=[]}){const[o,l]=b.useState(null),[c,d]=b.useState(null),p=b.useCallback(async g=>{if(o)return;d(null);let v;try{v=g.onClick()}catch(_){console.error("[transcript-action-card] sync click threw",_),d(_ instanceof Error?_.message:String(_));return}if(v instanceof Promise){l(g.id);try{await v}catch(_){console.error("[transcript-action-card] async click rejected",_),d(_ instanceof Error?_.message:String(_))}finally{l(null)}}},[o]),h=o!==null;return f.jsxs("div",{"data-focus-fallback-ignore":!0,className:he("rounded-lg border px-4 py-3 text-sm space-y-2 transition-colors",e0e[i]),children:[f.jsx("div",{className:"flex items-start justify-between gap-3",children:f.jsxs("div",{className:"space-y-1 min-w-0 flex-1",children:[f.jsx("div",{className:"font-medium leading-tight",children:e}),t?f.jsx("div",{className:"text-muted-foreground text-xs leading-snug",children:t}):null]})}),n?f.jsx("div",{className:"text-xs leading-snug",children:n}):null,r?f.jsx("div",{className:"text-destructive text-xs leading-snug",children:r}):null,c?f.jsx("div",{className:"text-destructive text-xs leading-snug",role:"alert",children:c}):null,s.length>0?f.jsx("div",{className:"flex flex-wrap gap-2 pt-1",children:s.map(g=>{const v=o===g.id;return f.jsxs(Xe,{type:"button",size:"sm",variant:t0e[g.variant??"ghost"],disabled:g.disabled||h&&!v,onClick:()=>{p(g)},className:"gap-1.5",children:[v?f.jsx(bn,{className:"size-3.5 animate-spin"}):null,g.label]},g.id)})}):null]})}function n0e({schedule:e,onAccept:t,onReschedule:n,onCancel:r}){const[i,s]=b.useState(()=>kS(e.scheduledAt??e.resetAt,e.tz)),[o,l]=b.useState(!1),c=b.useMemo(()=>Jbe(i,e.tz),[i,e.tz]),d=c!==null&&c>Date.now(),p=c===null?"Use format dd/mm/yyyy hh:mm":d?null:"Time must be in the future";if(e.state==="fired"){const _=kS(e.scheduledAt??e.resetAt,e.tz);return f.jsx(oa,{title:`Auto-continued at ${_}`,tone:"success"})}if(e.state==="cancelled")return f.jsx(oa,{title:"Auto-continue cancelled",tone:"muted"});if(e.state==="proposed"){const _=e.resetAt<=Date.now(),x=[{id:"schedule",label:"Schedule",variant:"primary",disabled:!d,onClick:()=>{c!==null&&t(c)}},{id:"dismiss",label:"Dismiss",variant:"ghost",onClick:()=>r()}];return f.jsx(oa,{title:"Rate limit hit — schedule auto-continue?",description:_?"Reset time has passed — accept to continue now.":void 0,body:f.jsxs("div",{className:"space-y-1",children:[f.jsx(nr,{value:i,onChange:w=>s(w.target.value),placeholder:"dd/mm/yyyy hh:mm"}),p&&f.jsx("div",{className:"text-destructive text-xs",children:p})]}),actions:x})}const h=kS(e.scheduledAt??e.resetAt,e.tz),g=e.tz==="system"?"local":e.tz;if(!o){const _=[{id:"change",label:"Change time",variant:"secondary",onClick:()=>l(!0)},{id:"cancel",label:"Cancel",variant:"ghost",onClick:()=>r()}];return f.jsx(oa,{title:`Auto-continue at ${h} (${g})`,actions:_})}const v=[{id:"save",label:"Save",variant:"primary",disabled:!d,onClick:()=>{c!==null&&(n(c),l(!1))}},{id:"back",label:"Back",variant:"ghost",onClick:()=>l(!1)}];return f.jsx(oa,{title:`Auto-continue at ${h} (${g})`,body:f.jsxs("div",{className:"space-y-1",children:[f.jsx(nr,{value:i,onChange:_=>s(_.target.value),placeholder:"dd/mm/yyyy hh:mm"}),p&&f.jsx("div",{className:"text-destructive text-xs",children:p})]}),actions:v})}const r0e=new Set(["AskUserQuestion","ExitPlanMode","TodoWrite"]);function oI(e){if(e.kind!=="tool")return!1;const t=e.toolName;return!r0e.has(t)}function i0e(e,{isFirstSystem:t,isFirstAccount:n,isLatestTodoWrite:r,hideResult:i,isFinalStatus:s}){let o=!e.hidden;if(o)switch(e.kind){case"system_init":o=t;break;case"account_info":o=n;break;case"tool":o=e.toolKind!=="todo_write"||r;break;case"result":o=!i&&(!e.success||e.durationMs>6e4);break;case"context_window_updated":o=!1;break;case"status":o=s;break;default:o=!0;break}return{isFirstSystem:t,isFirstAccount:n,isLatestTodoWrite:r,hideResult:i,isFinalStatus:s,shouldRender:o}}function s0e(e,t){const n=e.findIndex(i=>i.kind==="system_init"),r=e.findIndex(i=>i.kind==="account_info");return e.map((i,s)=>{const o=e[s-1],l=e[s+1];return i0e(i,{isFirstSystem:n===s,isFirstAccount:r===s,isLatestTodoWrite:i.id===t.TodoWrite,hideResult:(l==null?void 0:l.kind)==="context_cleared"||(o==null?void 0:o.kind)==="context_cleared",isFinalStatus:s===e.length-1})})}function o0e(e,t){const n=[];let r=0;for(;r<e.length;){const i=e[r],s=t[r];if(s!=null&&s.shouldRender&&oI(i)){const o=[i],l=r;for(r+=1;r<e.length;){const c=e[r],d=t[r];if(!(d!=null&&d.shouldRender)){r+=1;continue}if(!oI(c))break;o.push(c),r+=1}o.length>=2?n.push({type:"tool-group",messages:o,startIndex:l}):n.push({type:"single",message:i,index:l});continue}n.push({type:"single",message:i,index:r}),r+=1}return n}function aI(e){var n;return e.type==="single"?e.message.id:`tool-group:${((n=e.messages[0])==null?void 0:n.id)??e.startIndex}`}function ES(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((n,r)=>n===t[r])}function a0e(e,t){return e.id===t.id&&e.kind===t.kind&&e.displayName===t.displayName&&e.absolutePath===t.absolutePath&&e.relativePath===t.relativePath&&e.contentUrl===t.contentUrl&&e.mimeType===t.mimeType&&e.size===t.size}function l0e(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((n,r)=>a0e(n,t[r]))}function kd(e,t){var n,r;if(e===t)return!0;if(e.kind!==t.kind||e.id!==t.id||e.hidden!==t.hidden)return!1;switch(e.kind){case"user_prompt":return e.content===(t.kind==="user_prompt"?t.content:null)&&t.kind==="user_prompt"&&e.steered===t.steered&&((n=e.autoContinue)==null?void 0:n.scheduleId)===((r=t.autoContinue)==null?void 0:r.scheduleId)&&l0e(e.attachments,t.attachments);case"system_init":return t.kind==="system_init"&&e.provider===t.provider&&e.model===t.model&&ES(e.tools,t.tools)&&ES(e.agents,t.agents)&&ES(e.slashCommands,t.slashCommands)&&e.debugRaw===t.debugRaw;case"account_info":return t.kind==="account_info"&&JSON.stringify(e.accountInfo)===JSON.stringify(t.accountInfo);case"assistant_text":return t.kind==="assistant_text"&&e.text===t.text;case"tool":return t.kind==="tool"&&e.toolKind===t.toolKind&&e.toolName===t.toolName&&e.toolId===t.toolId&&e.isError===t.isError&&JSON.stringify(e.input)===JSON.stringify(t.input)&&JSON.stringify(e.result)===JSON.stringify(t.result)&&JSON.stringify(e.rawResult)===JSON.stringify(t.rawResult);case"result":return t.kind==="result"&&e.success===t.success&&e.cancelled===t.cancelled&&e.result===t.result&&e.durationMs===t.durationMs&&e.costUsd===t.costUsd;case"status":return t.kind==="status"&&e.status===t.status;case"compact_summary":return t.kind==="compact_summary"&&e.summary===t.summary;case"context_window_updated":return t.kind==="context_window_updated"&&JSON.stringify(e.usage)===JSON.stringify(t.usage);case"compact_boundary":case"context_cleared":case"interrupted":return!0;case"unknown":return t.kind==="unknown"&&e.json===t.json;case"auto_continue_prompt":return t.kind==="auto_continue_prompt"&&e.scheduleId===t.scheduleId}}function c0e(e,t){return e.kind!==t.kind||e.id!==t.id?!1:e.kind==="single"&&t.kind==="single"?e.index===t.index&&e.isLoading===t.isLoading&&e.localPath===t.localPath&&e.isFirstSystem===t.isFirstSystem&&e.isFirstAccount===t.isFirstAccount&&e.isLatestAskUserQuestion===t.isLatestAskUserQuestion&&e.isLatestExitPlanMode===t.isLatestExitPlanMode&&e.isLatestTodoWrite===t.isLatestTodoWrite&&e.hideResult===t.hideResult&&e.isFinalStatus===t.isFinalStatus&&kd(e.message,t.message):e.kind==="tool-group"&&t.kind==="tool-group"?e.startIndex===t.startIndex&&e.isLoading===t.isLoading&&e.localPath===t.localPath&&e.messages.length===t.messages.length&&e.messages.every((n,r)=>kd(n,t.messages[r])):!1}function u0e(e,t){const n=new Map;let r=e.length!==t.byId.size;const i=e.map((s,o)=>{const l=t.byId.get(s.id),c=l&&c0e(l,s)?l:s;return n.set(s.id,c),!r&&t.result[o]!==c&&(r=!0),c});return r?{byId:n,result:i}:t}function d0e(e){const t=b.useRef({byId:new Map,result:[]});return b.useMemo(()=>{const n=u0e(e,t.current);return t.current=n,n.result},[e])}const f0e=b.memo(function({message:t,index:n,isLoading:r,localPath:i,isFirstSystem:s,isFirstAccount:o,isLatestAskUserQuestion:l,isLatestExitPlanMode:c,isLatestTodoWrite:d,hideResult:p,isFinalStatus:h,onAskUserQuestionSubmit:g,onExitPlanModeConfirm:v,schedules:_,onAutoContinueAccept:x,onAutoContinueReschedule:w,onAutoContinueCancel:C}){let k=null;if(t.kind==="user_prompt")k=f.jsx(_be,{content:t.content,attachments:t.attachments,steered:t.steered,autoContinue:t.autoContinue},t.id);else switch(t.kind){case"auto_continue_prompt":{const R=_[t.scheduleId];if(!R){k=f.jsx("div",{className:"rounded border px-3 py-2 text-sm opacity-70",children:"Auto-continue expired"},t.id);break}k=f.jsx(n0e,{schedule:R,onAccept:T=>x(t.scheduleId,T),onReschedule:T=>w(t.scheduleId,T),onCancel:()=>C(t.scheduleId)},t.id);break}case"unknown":k=f.jsx(xbe,{json:t.json},t.id);break;case"system_init":k=s?f.jsx(Ebe,{message:t,rawJson:t.debugRaw},t.id):null;break;case"account_info":k=o?f.jsx(Rbe,{message:t},t.id):null;break;case"assistant_text":k=f.jsx(Tbe,{message:t},t.id);break;case"tool":if(t.isError){k=f.jsx(k1,{message:t,isLoading:r,localPath:i},t.id);break}if(t.toolKind==="ask_user_question"){k=f.jsx(Lbe,{message:t,onSubmit:g,isLatest:l},t.id);break}if(t.toolKind==="exit_plan_mode"){k=f.jsx(Dbe,{message:t,onConfirm:v,isLatest:c},t.id);break}if(t.toolKind==="todo_write"){k=d?f.jsx(Pbe,{message:t},t.id):null;break}if(t.toolKind==="offer_download"&&t.result){k=f.jsx(Obe,{message:t},t.id);break}k=f.jsx(k1,{message:t,isLoading:r,localPath:i},t.id);break;case"result":k=p?null:f.jsx(Bbe,{message:t},t.id);break;case"context_window_updated":k=null;break;case"interrupted":k=f.jsx(Fbe,{message:t},t.id);break;case"compact_boundary":k=f.jsx($be,{},t.id);break;case"context_cleared":k=f.jsx(Hbe,{},t.id);break;case"compact_summary":k=f.jsx(Ube,{message:t},t.id);break;case"status":k=h?f.jsx(Wbe,{message:t},t.id):null;break}return k?f.jsx("div",{id:`msg-${t.id}`,className:"group relative","data-index":n,[Fv]:"",children:k}):null},(e,t)=>e.index===t.index&&e.isLoading===t.isLoading&&e.localPath===t.localPath&&e.isFirstSystem===t.isFirstSystem&&e.isFirstAccount===t.isFirstAccount&&e.isLatestAskUserQuestion===t.isLatestAskUserQuestion&&e.isLatestExitPlanMode===t.isLatestExitPlanMode&&e.isLatestTodoWrite===t.isLatestTodoWrite&&e.hideResult===t.hideResult&&e.isFinalStatus===t.isFinalStatus&&e.onAskUserQuestionSubmit===t.onAskUserQuestionSubmit&&e.onExitPlanModeConfirm===t.onExitPlanModeConfirm&&e.schedules===t.schedules&&e.onAutoContinueAccept===t.onAutoContinueAccept&&e.onAutoContinueReschedule===t.onAutoContinueReschedule&&e.onAutoContinueCancel===t.onAutoContinueCancel&&kd(e.message,t.message)),h0e=b.memo(function({id:t,startIndex:n,messages:r,isLoading:i,localPath:s,expanded:o,onExpandedChange:l}){return f.jsx("div",{className:"group relative",[Fv]:"",children:f.jsx(Xbe,{messages:r,isLoading:i,localPath:s,expanded:o,onExpandedChange:c=>l(t,c)})})},(e,t)=>e.id===t.id&&e.startIndex===t.startIndex&&e.isLoading===t.isLoading&&e.localPath===t.localPath&&e.expanded===t.expanded&&e.onExpandedChange===t.onExpandedChange&&e.messages.length===t.messages.length&&e.messages.every((n,r)=>kd(n,t.messages[r])));function uB(e,{isLoading:t,localPath:n,latestToolIds:r}){const i=s0e(e,r),s=o0e(e,i),o=[];for(const l of s){if(l.type==="tool-group"){o.push({kind:"tool-group",id:aI(l),startIndex:l.startIndex,messages:l.messages,isLoading:t&&l.messages.some(p=>p.kind==="tool"&&p.result===void 0),localPath:n});continue}const c=i[l.index];if(!c)continue;const d={kind:"single",id:aI(l),message:l.message,index:l.index,isLoading:l.message.kind==="tool"&&l.message.result===void 0&&t,localPath:n,isFirstSystem:c.isFirstSystem,isFirstAccount:c.isFirstAccount,isLatestAskUserQuestion:l.message.id===r.AskUserQuestion,isLatestExitPlanMode:l.message.id===r.ExitPlanMode,isLatestTodoWrite:c.isLatestTodoWrite,hideResult:c.hideResult,isFinalStatus:c.isFinalStatus};c.shouldRender&&o.push(d)}return o}const dB=b.memo(function({row:t,toolGroupExpanded:n,onToolGroupExpandedChange:r,onAskUserQuestionSubmit:i,onExitPlanModeConfirm:s,schedules:o,onAutoContinueAccept:l,onAutoContinueReschedule:c,onAutoContinueCancel:d}){return t.kind==="tool-group"?f.jsx(h0e,{id:t.id,startIndex:t.startIndex,messages:t.messages,isLoading:t.isLoading,localPath:t.localPath,expanded:n??!1,onExpandedChange:r}):f.jsx(f0e,{message:t.message,index:t.index,isLoading:t.isLoading,localPath:t.localPath,isFirstSystem:t.isFirstSystem,isFirstAccount:t.isFirstAccount,isLatestAskUserQuestion:t.isLatestAskUserQuestion,isLatestExitPlanMode:t.isLatestExitPlanMode,isLatestTodoWrite:t.isLatestTodoWrite,hideResult:t.hideResult,isFinalStatus:t.isFinalStatus,onAskUserQuestionSubmit:i,onExitPlanModeConfirm:s,schedules:o,onAutoContinueAccept:l,onAutoContinueReschedule:c,onAutoContinueCancel:d})},(e,t)=>{if(e.toolGroupExpanded!==t.toolGroupExpanded||e.onToolGroupExpandedChange!==t.onToolGroupExpandedChange||e.onAskUserQuestionSubmit!==t.onAskUserQuestionSubmit||e.onExitPlanModeConfirm!==t.onExitPlanModeConfirm||e.schedules!==t.schedules||e.onAutoContinueAccept!==t.onAutoContinueAccept||e.onAutoContinueReschedule!==t.onAutoContinueReschedule||e.onAutoContinueCancel!==t.onAutoContinueCancel||e.row.kind!==t.row.kind||e.row.id!==t.row.id)return!1;if(e.row.kind==="tool-group"&&t.row.kind==="tool-group"){const n=e.row,r=t.row;return n.startIndex===r.startIndex&&n.isLoading===r.isLoading&&n.localPath===r.localPath&&n.messages.length===r.messages.length&&n.messages.every((i,s)=>kd(i,r.messages[s]))}return e.row.kind==="single"&&t.row.kind==="single"?e.row.index===t.row.index&&e.row.isLoading===t.row.isLoading&&e.row.localPath===t.row.localPath&&e.row.isFirstSystem===t.row.isFirstSystem&&e.row.isFirstAccount===t.row.isFirstAccount&&e.row.isLatestAskUserQuestion===t.row.isLatestAskUserQuestion&&e.row.isLatestExitPlanMode===t.row.isLatestExitPlanMode&&e.row.isLatestTodoWrite===t.row.isLatestTodoWrite&&e.row.hideResult===t.row.hideResult&&e.row.isFinalStatus===t.row.isFinalStatus&&kd(e.row.message,t.row.message):!1}),fB={},p0e=(e,t)=>{},m0e=(e,t)=>{},g0e=e=>{};function v0e({messages:e,isLoading:t,localPath:n,latestToolIds:r,onOpenLocalLink:i,onAskUserQuestionSubmit:s,onExitPlanModeConfirm:o,schedules:l=fB,onAutoContinueAccept:c=p0e,onAutoContinueReschedule:d=m0e,onAutoContinueCancel:p=g0e,onTunnelAccept:h,onTunnelStop:g,onTunnelRetry:v}){const[_,x]=b.useState({}),w=b.useMemo(()=>uB(e,{isLoading:t,localPath:n,latestToolIds:r}),[t,r,n,e]),C=b.useCallback((k,R)=>{x(T=>T[k]===R?T:{...T,[k]:R})},[]);return f.jsx(u8,{onOpenLocalLink:i,children:w.map(k=>f.jsx("div",{className:"mx-auto max-w-[800px] pb-5",children:f.jsx(dB,{row:k,toolGroupExpanded:k.kind==="tool-group"?_[k.id]??!1:void 0,onToolGroupExpandedChange:C,onAskUserQuestionSubmit:s,onExitPlanModeConfirm:o,schedules:l,onAutoContinueAccept:c,onAutoContinueReschedule:d,onAutoContinueCancel:p})},k.id))})}b.memo(v0e);function b0e(e=1e3){const[t,n]=b.useState(()=>Date.now()),r=b.useRef(e);return r.current=e,b.useEffect(()=>{const i=window.setInterval(()=>{n(Date.now())},r.current);return()=>window.clearInterval(i)},[]),t}function y0e(e){switch(e.kind){case"bash_shell":return e.command;case"terminal_pty":return`PTY: ${e.cwd}`;case"codex_session":return"Codex session";case"draining_stream":return"Draining stream"}}function _0e(e){switch(e.kind){case"bash_shell":return"bash";case"terminal_pty":return"terminal";case"codex_session":return"codex";case"draining_stream":return"stream"}}function x0e(e){return"chatId"in e?e.chatId??null:null}function S0e(e){return e.kind==="bash_shell"?e.status==="stopping"?"stopping":"running":"active"}function w0e(e){return(e.lastOutput??"").split(`
|
|
2552
|
+
`),i=vme(n,r),s=bme(n,r,i);return yme(s)}function vme(e,t){const n=e.length,r=t.length,i=Array.from({length:n+1},()=>Array(r+1).fill(0));for(let s=1;s<=n;s++)for(let o=1;o<=r;o++)i[s][o]=e[s-1]===t[o-1]?i[s-1][o-1]+1:Math.max(i[s-1][o],i[s][o-1]);return i}function bme(e,t,n){const r=[];let i=e.length,s=t.length;for(;i>0||s>0;)i>0&&s>0&&e[i-1]===t[s-1]?(r.push({type:"context",text:e[i-1],oldIdx:i,newIdx:s}),i--,s--):s>0&&(i===0||n[i][s-1]>=n[i-1][s])?(r.push({type:"added",text:t[s-1],oldIdx:i,newIdx:s}),s--):(r.push({type:"removed",text:e[i-1],oldIdx:i,newIdx:s}),i--);return r.reverse()}function yme(e){return e.map(t=>{const n=t.type==="removed"?"-":t.type==="added"?"+":" ";return{type:t.type,content:`${n}${t.text}`}})}function bh({content:e,isDiff:t=!1,oldString:n,newString:r}){const i=b.useMemo(()=>t&&n!==void 0&&r!==void 0?gme(n,r):[],[t,n,r]),s=b.useMemo(()=>t?[]:pme(e),[e,t]),o=b.useMemo(()=>s.some(l=>l.lineNumber!==null),[s]);return t&&i.length>0?f.jsx("div",{className:"my-1 rounded-lg border border-border overflow-hidden",children:f.jsx("div",{className:"overflow-auto max-h-64 md:max-h-[50vh]",children:f.jsx("table",{className:"w-full border-collapse text-xs font-mono",children:f.jsx("tbody",{children:i.map((l,c)=>{const d=l.type==="removed"?"bg-destructive/10 dark:bg-destructive/15":l.type==="added"?"bg-success/10 dark:bg-success/15":"",p=l.type==="removed"?"text-destructive":l.type==="added"?"text-success":"text-foreground";return f.jsxs("tr",{className:d,children:[f.jsx("td",{className:`px-2 py-0 select-none w-0 whitespace-nowrap ${l.type==="removed"?"text-destructive/50":l.type==="added"?"text-success/50":"text-muted-foreground/50"}`,children:l.type==="removed"?"-":l.type==="added"?"+":" "}),f.jsx("td",{className:`px-2 py-0 whitespace-pre select-all ${p}`,children:l.content.slice(1)})]},c)})})})})}):f.jsx("div",{className:"my-1 rounded-lg border border-border overflow-hidden",children:f.jsx("div",{className:"overflow-auto max-h-64 md:max-h-[50vh]",children:f.jsx("table",{className:"w-full border-collapse text-xs font-mono",children:f.jsx("tbody",{children:s.map((l,c)=>f.jsxs("tr",{children:[o&&f.jsx("td",{className:"px-2 py-0 select-none w-0 whitespace-nowrap text-muted-foreground/50 text-right",children:l.lineNumber!==null?l.lineNumber:""}),f.jsx("td",{className:"px-2 py-0 whitespace-pre select-all text-foreground",children:mme(l.content)})]},c))})})})})}function mE({attachment:e,onOpenChange:t}){const[n,r]=b.useState({}),i=b.useMemo(()=>e?T0(e):null,[e]),s=e?n[e.id]:void 0,o=e!=null&&e.contentUrl?xme(e.contentUrl):"";b.useEffect(()=>{if(!e||!i||i.openInNewTab||i.kind==="image"||i.kind==="pdf"||i.kind==="external")return;const d=i.kind;if((s==null?void 0:s.status)==="loading"||(s==null?void 0:s.status)==="ready")return;let p=!1;return r(h=>({...h,[e.id]:{status:"loading"}})),Ule(e.contentUrl,jle).then(({content:h,truncated:g})=>{if(p)return;if(d==="table"){const _=e.mimeType==="text/tab-separated-values"?" ":",";r(x=>({...x,[e.id]:{status:"ready",kind:"table",truncated:g,table:Wle(h,_)}}));return}const v=d==="json"?Vle(h):h;r(_=>({..._,[e.id]:{status:"ready",kind:d,content:v,truncated:g}}))}).catch(h=>{if(p)return;const g=h instanceof Error?h.message:"Unable to load preview.";r(v=>({...v,[e.id]:{status:"error",message:g}}))}),()=>{p=!0}},[e==null?void 0:e.id,e==null?void 0:e.contentUrl,e==null?void 0:e.mimeType,i==null?void 0:i.kind,i==null?void 0:i.openInNewTab]);async function l(){var d;!o||typeof navigator>"u"||!((d=navigator.clipboard)!=null&&d.writeText)||await navigator.clipboard.writeText(o)}function c(){!o||typeof window>"u"||window.open(o,"_blank","noopener,noreferrer")}return f.jsx(wo,{open:e!==null&&!(i!=null&&i.openInNewTab),onOpenChange:t,children:f.jsx(qs,{size:"lg",className:"max-w-[min(92vw,960px)] overflow-hidden p-0",children:e&&i&&!i.openInNewTab?f.jsxs(f.Fragment,{children:[f.jsx($C,{className:"pr-12",children:f.jsx(Co,{className:"text-md",children:e.displayName})}),f.jsx(fa,{className:"bg-muted/20 p-4",children:_me(e,i.kind,s)}),f.jsxs(kl,{className:"items-center justify-between gap-3 px-4 py-3",children:[f.jsxs(Od,{className:"truncate",children:[e.mimeType," · ",A0(e.size)]}),f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsxs(lK,{type:"button",onClick:l,children:[f.jsx(yV,{className:"mr-2 h-4 w-4"}),"Copy Link"]}),f.jsxs(Xe,{type:"button",variant:"outline",onClick:c,children:[f.jsx(Ub,{className:"mr-2 h-4 w-4"}),"Open In New Tab"]})]})]})]}):null})})}function _me(e,t,n){if(t==="image")return f.jsx("div",{className:"flex items-center justify-center",children:f.jsx("img",{src:e.contentUrl,alt:e.displayName,className:"max-h-[70vh] w-auto max-w-full rounded-2xl object-contain"})});if(t==="pdf")return f.jsx("iframe",{src:e.contentUrl,title:e.displayName,className:"h-[70vh] w-full rounded-xl border border-border bg-background"});if(!n||n.status==="loading")return f.jsx("div",{className:"flex h-[50vh] items-center justify-center text-sm text-muted-foreground",children:"Loading preview…"});if(n.status==="error")return f.jsx("div",{className:"flex h-[50vh] items-center justify-center text-sm text-destructive",children:n.message});if(n.kind==="markdown"&&n.content!==void 0)return f.jsxs("div",{className:"space-y-3",children:[n.truncated?f.jsx(yS,{message:"Preview truncated to 1024 KB."}):null,f.jsx("div",{className:"prose prose-sm max-w-none overflow-auto rounded-xl border border-border bg-background p-4 prose-invert",children:f.jsx(Wc,{remarkPlugins:[Gc],components:Zd(),children:n.content})})]});if(n.kind==="table"&&n.table){const r=n.table.rows.length>0,[i,...s]=n.table.rows,o=[n.truncated?"Preview truncated to 1024 KB.":null,n.table.truncatedRows?`Showing first ${n.table.rows.length} of ${n.table.rowCount} rows.`:null,n.table.truncatedColumns?`Showing first ${u1} of ${n.table.columnCount} columns.`:null].filter(Boolean);return f.jsxs("div",{className:"space-y-3",children:[o.length>0?f.jsx(yS,{message:o.join(" ")}):null,f.jsx("div",{className:"max-h-[70vh] overflow-auto rounded-xl border border-border bg-background",children:f.jsxs("table",{className:"min-w-full border-collapse text-xs",children:[r?f.jsx("thead",{className:"sticky top-0 bg-muted",children:f.jsx("tr",{children:i.map((l,c)=>f.jsx("th",{className:"border-b border-border px-3 py-2 text-left font-medium text-foreground",children:l||" "},`${l}-${c}`))})}):null,f.jsx("tbody",{children:(r?s:n.table.rows).map((l,c)=>f.jsx("tr",{className:"odd:bg-background even:bg-muted/20",children:l.map((d,p)=>f.jsx("td",{className:"max-w-[320px] border-b border-border px-3 py-2 align-top text-foreground",children:f.jsx("div",{className:"whitespace-pre-wrap break-words",children:d||" "})},`${c}-${p}`))},c))})]})})]})}return f.jsxs("div",{className:"space-y-3",children:[n.truncated?f.jsx(yS,{message:"Preview truncated to 1024 KB."}):null,f.jsx(bh,{content:n.content??""})]})}function yS({message:e}){return f.jsx("div",{className:"rounded-xl border border-border bg-background px-3 py-2 text-sm text-muted-foreground",children:e})}function xme(e){return typeof window>"u"?e:new URL(e,document.baseURI||window.location.href).toString()}var z0="Popover",[m8]=ba(z0,[Ml]),Up=Ml(),[Sme,Pl]=m8(z0),g8=e=>{const{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:s,modal:o=!1}=e,l=Up(t),c=b.useRef(null),[d,p]=b.useState(!1),[h,g]=md({prop:r,defaultProp:i??!1,onChange:s,caller:z0});return f.jsx(r0,{...l,children:f.jsx(Sme,{scope:t,contentId:ua(),triggerRef:c,open:h,onOpenChange:g,onOpenToggle:b.useCallback(()=>g(v=>!v),[g]),hasCustomAnchor:d,onCustomAnchorAdd:b.useCallback(()=>p(!0),[]),onCustomAnchorRemove:b.useCallback(()=>p(!1),[]),modal:o,children:n})})};g8.displayName=z0;var v8="PopoverAnchor",wme=b.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Pl(v8,n),s=Up(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:l}=i;return b.useEffect(()=>(o(),()=>l()),[o,l]),f.jsx(Tp,{...s,...r,ref:t})});wme.displayName=v8;var b8="PopoverTrigger",y8=b.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Pl(b8,n),s=Up(n),o=yn(t,i.triggerRef),l=f.jsx(Jt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":C8(i.open),...r,ref:o,onClick:Ze(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?l:f.jsx(Tp,{asChild:!0,...s,children:l})});y8.displayName=b8;var gE="PopoverPortal",[Cme,kme]=m8(gE,{forceMount:void 0}),_8=e=>{const{__scopePopover:t,forceMount:n,children:r,container:i}=e,s=Pl(gE,t);return f.jsx(Cme,{scope:t,forceMount:n,children:f.jsx(ks,{present:n||s.open,children:f.jsx(jd,{asChild:!0,container:i,children:r})})})};_8.displayName=gE;var wd="PopoverContent",x8=b.forwardRef((e,t)=>{const n=kme(wd,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,s=Pl(wd,e.__scopePopover);return f.jsx(ks,{present:r||s.open,children:s.modal?f.jsx(Rme,{...i,ref:t}):f.jsx(Tme,{...i,ref:t})})});x8.displayName=wd;var Eme=Ec("PopoverContent.RemoveScroll"),Rme=b.forwardRef((e,t)=>{const n=Pl(wd,e.__scopePopover),r=b.useRef(null),i=yn(t,r),s=b.useRef(!1);return b.useEffect(()=>{const o=r.current;if(o)return Xb(o)},[]),f.jsx(kp,{as:Eme,allowPinchZoom:!0,children:f.jsx(S8,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Ze(e.onCloseAutoFocus,o=>{var l;o.preventDefault(),s.current||(l=n.triggerRef.current)==null||l.focus()}),onPointerDownOutside:Ze(e.onPointerDownOutside,o=>{const l=o.detail.originalEvent,c=l.button===0&&l.ctrlKey===!0,d=l.button===2||c;s.current=d},{checkForDefaultPrevented:!1}),onFocusOutside:Ze(e.onFocusOutside,o=>o.preventDefault(),{checkForDefaultPrevented:!1})})})}),Tme=b.forwardRef((e,t)=>{const n=Pl(wd,e.__scopePopover),r=b.useRef(!1),i=b.useRef(!1);return f.jsx(S8,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var o,l;(o=e.onCloseAutoFocus)==null||o.call(e,s),s.defaultPrevented||(r.current||(l=n.triggerRef.current)==null||l.focus(),s.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:s=>{var c,d;(c=e.onInteractOutside)==null||c.call(e,s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const o=s.target;((d=n.triggerRef.current)==null?void 0:d.contains(o))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&i.current&&s.preventDefault()}})}),S8=b.forwardRef((e,t)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:s,disableOutsidePointerEvents:o,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:d,onInteractOutside:p,...h}=e,g=Pl(wd,n),v=Up(n);return Kb(),f.jsx(Cp,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:s,children:f.jsx(Pd,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:p,onEscapeKeyDown:l,onPointerDownOutside:c,onFocusOutside:d,onDismiss:()=>g.onOpenChange(!1),children:f.jsx(i0,{"data-state":C8(g.open),role:"dialog",id:g.contentId,...v,...h,ref:t,style:{...h.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),w8="PopoverClose",Ame=b.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Pl(w8,n);return f.jsx(Jt.button,{type:"button",...r,ref:t,onClick:Ze(e.onClick,()=>i.onOpenChange(!1))})});Ame.displayName=w8;var Nme="PopoverArrow",Mme=b.forwardRef((e,t)=>{const{__scopePopover:n,...r}=e,i=Up(n);return f.jsx(s0,{...i,...r,ref:t})});Mme.displayName=Nme;function C8(e){return e?"open":"closed"}var Lme=g8,Dme=y8,Ime=_8,k8=x8;const E8=Lme,R8=Dme,vE=b.forwardRef(({className:e,align:t="center",sideOffset:n=4,...r},i)=>f.jsx(Ime,{children:f.jsx(k8,{ref:i,align:t,sideOffset:n,[Vh]:"",onCloseAutoFocus:s=>{var o;s.preventDefault(),window.dispatchEvent(new Event(Bv)),(o=r.onCloseAutoFocus)==null||o.call(r,s)},className:he("z-50 w-72 rounded-xl border border-border bg-background p-4 shadow-lg outline-hidden animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r})}));vE.displayName=k8.displayName;const Pme={sm:"text-sm px-2.5 py-1",md:"text-sm px-3 py-1.5"};function yc({value:e,onValueChange:t,options:n,size:r="md",className:i,optionClassName:s}){return f.jsx("div",{className:he("inline-flex items-center rounded-lg border border-border p-[3px] ",i),children:n.map(o=>{const l=o.value===e,c=o.icon,d=c?b.isValidElement(c)?c:(()=>{const h=c;return f.jsx(h,{className:r==="sm"?"h-3.5 w-3.5":"h-4 w-4"})})():null,p=f.jsxs("button",{type:"button",onClick:()=>t(o.value),disabled:o.disabled,"aria-pressed":l,className:he("rounded-[4px] border transition-colors",c?"grid grid-cols-[auto_auto] items-center gap-2":"inline-flex items-center",Pme[r],l?"bg-card text-foreground border-border":"border-transparent text-muted-foreground hover:text-foreground",o.disabled&&"opacity-50 pointer-events-none",s),children:[d,f.jsx("span",{children:o.label})]},o.value);return o.tooltip?f.jsxs(ei,{children:[f.jsx(ti,{asChild:!0,children:p}),f.jsx(Gr,{children:o.tooltip})]},o.value):p})})}const B0=b.forwardRef(({className:e,...t},n)=>f.jsx("textarea",{"data-gramm":"false","data-gramm_editor":"false","data-enable-grammarly":"false","data-1p-ignore":!0,autoComplete:"off",className:he("flex w-full rounded-lg border border-border bg-background px-2.5 py-2 text-sm placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),ref:n,...t}));B0.displayName="Textarea";const Fg={};function _D(e){return!e.isCollapsed&&!e.hasPreviewAttachment&&e.patch===void 0&&e.patchError===void 0&&!e.isPatchLoading}function jme(e,t){return!e||!t.mimeType||typeof t.size!="number"||t.changeType==="deleted"||!t.mimeType.startsWith("image/")&&t.mimeType!=="application/pdf"?null:{id:`diff:${t.path}`,kind:t.mimeType.startsWith("image/")?"image":"file",displayName:t.path.split("/").pop()??t.path,absolutePath:t.path,relativePath:t.path,contentUrl:`/api/projects/${e}/files/${encodeURIComponent(t.path)}/content`,mimeType:t.mimeType,size:t.size}}function T8(e){return e.isUntracked}function Ome(e){return T8(e)?e.path.includes("/"):!1}function _S(e){return f.jsxs(ei,{delayDuration:0,children:[f.jsx(ti,{asChild:!0,children:f.jsx("button",{type:"button","aria-label":e.label,title:e.label,onClick:e.onClick,className:he("flex h-11 w-11 md:h-7 md:w-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",e.active&&"bg-accent text-foreground"),children:e.children})}),f.jsx(Gr,{children:e.label})]})}function A8({checked:e,mixed:t=!1,label:n,className:r,onClick:i}){return f.jsx("button",{type:"button","aria-label":n??(e?"Exclude file from commit":"Include file in commit"),"aria-checked":t?"mixed":e,"aria-pressed":t?"mixed":e,onClick:s=>{s.stopPropagation(),i()},className:he("flex size-4.5 shrink-0 items-center justify-center rounded border transition-colors",e||t?"border-foreground bg-foreground text-background":"border-border bg-background text-transparent",r),children:t?f.jsx(PV,{className:"h-3 w-3",strokeWidth:3}):e?f.jsx(pi,{className:"h-3 w-3",strokeWidth:3}):null})}function bE(e){const t=Date.parse(e);if(!Number.isFinite(t))return"";const n=Date.now()-t,r=6e4,i=60*r,s=24*i,o=7*s,l=30*s,c=365*s;return n<r?"just now":n<i?`${Math.round(n/r)}m ago`:n<s?`${Math.round(n/i)}hr ago`:n<o?`${Math.round(n/s)}d ago`:n<l?`${Math.round(n/o)}wk ago`:n<c?`${Math.round(n/l)}mo ago`:`${Math.round(n/c)}yr ago`}function zme(e){return e?`Last fetched ${bE(e)}`:"No local fetch recorded"}function Bme({entry:e,isPendingPush:t=!1}){const n=bE(e.authoredAt),r=!!e.githubUrl;return f.jsxs("button",{type:"button",disabled:!r,onClick:()=>{!e.githubUrl||typeof window>"u"||window.open(e.githubUrl,"_blank","noopener,noreferrer")},className:he("flex w-full items-start gap-3 rounded-lg border border-border bg-background pl-3 pr-2 py-2 text-left transition-colors",r?"hover:bg-accent":"cursor-default opacity-60"),children:[f.jsxs("div",{className:"min-w-0 flex-1",children:[f.jsx("div",{className:"truncate text-sm font-medium text-foreground",children:e.summary}),e.description?f.jsx("div",{className:"mt-1 line-clamp-2 whitespace-pre-wrap text-xs text-muted-foreground",children:e.description}):null,f.jsxs("div",{className:"mt-1 flex min-w-0 items-center gap-1 text-xs text-muted-foreground",children:[e.authorName?f.jsx("span",{className:"truncate",children:e.authorName}):null,e.authorName&&n?f.jsx("span",{"aria-hidden":"true",children:"•"}):null,n?f.jsx("span",{children:n}):null]})]}),e.tags.length>0?f.jsxs("div",{className:"flex shrink-0 flex-wrap justify-end gap-1",children:[e.tags.map(i=>f.jsx("span",{className:"inline-flex items-center rounded-full bg-muted border border-border px-2 py-0.5 text-[11px]",children:i},i)),t?f.jsx("span",{className:"inline-flex items-center rounded-full bg-muted border border-border px-2 py-0.5 text-[11px]",children:f.jsx(Hh,{className:"size-3"})}):null]}):t?f.jsx("div",{className:"flex shrink-0 flex-wrap justify-end gap-1",children:f.jsx("span",{className:"inline-flex items-center rounded-full bg-muted border border-border px-2 py-0.5 text-[11px]",children:f.jsx(Hh,{className:"size-3"})})}):null]})}function xD(e){switch(e.kind){case"local":return 0;case"pull_request":return 1;case"remote":default:return 2}}function Fme(e){const t=new Map;for(const n of e){const r=t.get(n.name);(!r||xD(n)<xD(r))&&t.set(n.name,n)}return t}function $me(e,t){const n=Fme([...e.local,...e.pullRequests,...e.remote]);t&&n.delete(t);const r=new Set,i=e.defaultBranchName?n.get(e.defaultBranchName):void 0;i&&r.add(i.name);const s=e.recent.map(l=>n.get(l.name)??l).filter(l=>!!l&&!r.has(l.name));for(const l of s)r.add(l.name);const o=[...n.values()].filter(l=>!r.has(l.name)).sort((l,c)=>l.displayName.localeCompare(c.displayName));return{defaultBranch:i,recent:s,other:o}}function Hme({open:e,onOpenChange:t,onGetGitHubPublishInfo:n,onCheckGitHubRepoAvailability:r,onPublish:i}){const[s,o]=b.useState(null),[l,c]=b.useState(!1),[d,p]=b.useState(""),[h,g]=b.useState(""),[v,_]=b.useState("private"),[x,w]=b.useState(""),[C,k]=b.useState(null),[R,T]=b.useState(!1),[A,N]=b.useState(!1);b.useEffect(()=>{if(!e)return;let W=!1;return c(!0),k(null),n().then(I=>{W||(o(I),p(I.owners[0]??I.activeAccountLogin??""),g(I.suggestedRepoName),_("private"),w(""))}).finally(()=>{W||c(!1)}),()=>{W=!0}},[n,e]),b.useEffect(()=>{if(!e||!(s!=null&&s.ghInstalled)||!s.authenticated)return;const W=d.trim(),I=h.trim();if(!W||!I){k(null);return}let $=!1;T(!0);const B=window.setTimeout(()=>{r({owner:W,name:I}).then(j=>{$||k(j)}).finally(()=>{$||T(!1)})},250);return()=>{$=!0,window.clearTimeout(B)}},[s==null?void 0:s.authenticated,s==null?void 0:s.ghInstalled,h,r,e,d]);async function M(){if(!(!d.trim()||!h.trim())){N(!0);try{const W=await i({owner:d.trim(),name:h.trim(),visibility:v,description:x});W!=null&&W.ok&&t(!1)}finally{N(!1)}}}const D=!!(s!=null&&s.ghInstalled&&s.authenticated&&d.trim()&&h.trim()&&(C!=null&&C.available)&&!R&&!A);return f.jsx(wo,{open:e,onOpenChange:t,children:f.jsxs(qs,{size:"sm",className:"max-w-[min(92vw,475px)]",children:[f.jsxs(fa,{className:"space-y-2 px-4 pb-4 pt-4",children:[f.jsxs("div",{className:"space-y-1",children:[f.jsx(Co,{children:"Push to GitHub"}),f.jsx(Od,{children:"Create a GitHub repository from this local project using GitHub CLI."})]}),l?f.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[f.jsx(bn,{className:"size-4 animate-spin"}),f.jsx("span",{children:"Checking GitHub CLI…"})]}):s&&!s.ghInstalled?f.jsxs("div",{className:"space-y-2 text-sm text-muted-foreground",children:[f.jsx("p",{children:"GitHub CLI is not installed."}),f.jsx("div",{className:"rounded-lg border border-border px-3 py-2 font-mono text-xs text-foreground",children:"brew install gh"}),f.jsx("p",{children:"Then run:"}),f.jsx("div",{className:"rounded-lg border border-border px-3 py-2 font-mono text-xs text-foreground",children:"gh auth login"})]}):s&&!s.authenticated?f.jsxs("div",{className:"space-y-2 text-sm text-muted-foreground",children:[f.jsx("p",{children:"GitHub CLI is installed but not signed in."}),f.jsx("div",{className:"rounded-lg border border-border px-3 py-2 font-mono text-xs text-foreground",children:"gh auth login"})]}):f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"space-y-2",children:f.jsxs(hl,{value:d,onValueChange:p,children:[f.jsx(ra,{className:"pl-[11px] [&>span]:flex [&>span]:items-center [&>span]:gap-2",children:f.jsx(hc,{placeholder:"Select owner"})}),f.jsx(ia,{children:((s==null?void 0:s.owners)??[]).map(W=>f.jsx(Bs,{value:W,children:f.jsxs("span",{className:"flex items-center gap-2",children:[W===(s==null?void 0:s.activeAccountLogin)?f.jsx(qb,{className:"size-4 text-muted-foreground"}):f.jsx(t9,{className:"size-4 text-muted-foreground"}),f.jsx("span",{className:"pl-[1px]",children:W})]})},W))})]})}),f.jsx("div",{className:"space-y-2",children:f.jsxs("div",{className:"relative",children:[f.jsx(nr,{value:h,onChange:W=>g(W.target.value),placeholder:"my-repo",className:"pl-9 pr-10"}),f.jsx(qV,{className:"pointer-events-none absolute inset-y-0 left-3 my-auto size-4 text-muted-foreground"}),R?f.jsx("div",{className:"pointer-events-none absolute inset-y-0 right-3 flex items-center text-muted-foreground",children:f.jsx(bn,{className:"size-4 animate-spin"})}):C?f.jsx("div",{className:"absolute inset-y-0 right-2 flex items-center",children:f.jsxs(ei,{delayDuration:0,children:[f.jsx(ti,{asChild:!0,children:f.jsx("button",{type:"button",tabIndex:-1,"aria-label":C.message,className:he("flex size-6 items-center justify-center rounded-md",C.available?"text-success":"text-destructive"),children:C.available?f.jsx(pi,{className:"size-4"}):f.jsx(tw,{className:"size-4"})})}),f.jsx(Gr,{children:C.message})]})}):null]})}),f.jsx("div",{className:"space-y-2",children:f.jsxs("div",{className:"relative",children:[f.jsx(EC,{className:"pointer-events-none absolute left-3 top-3 size-4 text-muted-foreground"}),f.jsx(B0,{value:x,onChange:W=>w(W.target.value),rows:3,placeholder:"Optional description",className:"pl-9 outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background"})]})}),f.jsx("div",{className:"space-y-2",children:f.jsxs(hl,{value:v,onValueChange:W=>_(W),children:[f.jsx(ra,{className:"pl-[11px] [&>span]:flex [&>span]:items-center [&>span]:gap-2",children:f.jsx(hc,{placeholder:"Select visibility"})}),f.jsxs(ia,{children:[f.jsx(Bs,{value:"private",children:f.jsxs("span",{className:"flex items-center gap-2",children:[f.jsx(EV,{className:"size-4 text-muted-foreground"}),f.jsx("span",{className:"pl-[1px]",children:"Private"})]})}),f.jsx(Bs,{value:"public",children:f.jsxs("span",{className:"flex items-center gap-2",children:[f.jsx(mV,{className:"size-4 text-muted-foreground"}),f.jsx("span",{className:"pl-[1px]",children:"Public"})]})})]})]})})]})]}),f.jsxs(kl,{children:[f.jsx(Xe,{variant:"ghost",size:"sm",onClick:()=>t(!1),children:"Cancel"}),f.jsx(Xe,{size:"sm",disabled:!D,onClick:()=>void M(),children:A?f.jsxs(f.Fragment,{children:[f.jsx(bn,{className:"mr-1.5 size-3.5 animate-spin"}),"Publishing…"]}):"Push to GitHub"})]})]})})}function N8({value:e,onChange:t,placeholder:n,disabled:r,trailingAction:i}){return f.jsxs("div",{className:"relative",children:[f.jsx(Eh,{className:"pointer-events-none absolute left-2 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),f.jsx(nr,{value:e,onChange:s=>t(s.target.value),placeholder:n,className:he("h-9 pl-7 text-sm",i?"pr-14":void 0),disabled:r}),i?f.jsx("div",{className:"absolute right-1 top-1/2 -translate-y-1/2",children:i}):null]})}function _c({title:e,entries:t,emptyLabel:n,selectedName:r,disabled:i,stickyTitle:s=!1,onSelect:o}){return t.length===0&&!n?null:f.jsxs("div",{className:"space-y-1",children:[f.jsx("div",{className:he("px-1 py-1 text-[11px] font-medium uppercase tracking-[0.08em] text-muted-foreground",s&&"sticky top-0 z-10 bg-background"),children:e}),t.length===0?f.jsx("div",{className:"px-1 py-1 text-xs text-muted-foreground",children:n}):t.map(l=>{const c=r===l.name;return f.jsxs("button",{type:"button",disabled:i,onClick:()=>o(l),className:he("flex w-full items-start gap-2 rounded-lg px-2 py-2 text-left transition-colors disabled:opacity-60",c?"bg-accent text-foreground":"hover:bg-accent"),children:[l.kind==="pull_request"?f.jsx(Oj,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-muted-foreground"}):f.jsx(mc,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-muted-foreground"}),f.jsxs("div",{className:"min-w-0 flex-1",children:[f.jsxs("div",{className:"flex w-full items-center gap-3",children:[f.jsx("div",{className:"min-w-0 flex-1 overflow-hidden whitespace-nowrap text-sm text-foreground",children:l.displayName}),l.updatedAt?f.jsx("div",{className:"ml-auto shrink-0 text-right text-[11px] text-muted-foreground",children:bE(l.updatedAt)}):null]}),l.kind==="pull_request"&&l.description||l.headLabel?f.jsx("div",{className:"truncate text-xs text-muted-foreground",children:l.kind==="pull_request"?l.description??l.headLabel??l.name:l.headLabel??void 0}):null]})]},l.id)})]})}function Ume({open:e,onOpenChange:t,branchList:n,currentBranchName:r,onPreviewMergeBranch:i,onMergeBranch:s}){const[o,l]=b.useState(""),[c,d]=b.useState(null),[p,h]=b.useState(null),[g,v]=b.useState(null),[_,x]=b.useState(!1),[w,C]=b.useState(!1),k=b.useMemo(()=>n?$me(n,r):{defaultBranch:void 0,recent:[],other:[]},[n,r]),R=o.trim().toLowerCase(),T=b.useCallback($=>R?[$.displayName,$.name,$.description,$.prTitle,$.headLabel].some(B=>B==null?void 0:B.toLowerCase().includes(R)):!0,[R]),A=k.defaultBranch&&T(k.defaultBranch)?k.defaultBranch:void 0,N=k.recent.filter(T),M=k.other.filter(T),D=b.useMemo(()=>c?[k.defaultBranch,...k.recent,...k.other].find($=>$!==void 0&&$.name===c)??null:null,[k.defaultBranch,k.other,k.recent,c]);b.useEffect(()=>{e||(l(""),d(null),h(null),v(null),x(!1),C(!1))},[e]),b.useEffect(()=>{if(!e||!D){h(null),v(null),x(!1);return}let $=!1;return h(null),v(null),x(!0),i(D).then(B=>{$||h(B)}).catch(B=>{$||v(B instanceof Error?B.message:String(B))}).finally(()=>{$||x(!1)}),()=>{$=!0}},[i,e,D]);const W=!D||!p||_||w||p.status!=="mergeable";async function I(){if(!(!D||W)){C(!0);try{const $=await s(D);$!=null&&$.ok&&t(!1)}finally{C(!1)}}}return f.jsx(wo,{open:e,onOpenChange:t,children:f.jsxs(qs,{size:"sm",className:"max-w-[min(92vw,475px)]",children:[f.jsxs(fa,{className:"flex min-h-0 flex-col gap-3 px-4 pb-4 pt-4",children:[f.jsxs("div",{className:"space-y-1",children:[f.jsxs(Co,{children:["Merge into ",r??"current branch"]}),f.jsx(Od,{children:"Choose a branch to continue."})]}),f.jsx(N8,{value:o,onChange:l,placeholder:"Search branches"}),f.jsxs("div",{className:"max-h-[375px] space-y-3 overflow-y-auto pr-1",children:[f.jsx(_c,{title:"Default Branch",entries:A?[A]:[],emptyLabel:"No default branch available.",selectedName:c,onSelect:$=>d($.name)}),f.jsx(_c,{title:"Recent Branches",entries:N,emptyLabel:"No recent branches.",selectedName:c,onSelect:$=>d($.name)}),f.jsx(_c,{title:"Other Branches",entries:M,emptyLabel:"No other branches match this search.",selectedName:c,onSelect:$=>d($.name)})]}),f.jsx("div",{className:"px-2",children:D?_?f.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[f.jsx(bn,{className:"size-3.5 animate-spin"}),f.jsx("span",{children:"Checking merge preview…"})]}):g?f.jsx("div",{className:"text-sm text-destructive",children:g}):p?f.jsxs("div",{className:"flex items-start gap-2",children:[p.status==="up_to_date"?f.jsx(pi,{className:"mt-1 size-3.5 shrink-0 text-success"}):p.status==="conflicts"?f.jsx(tw,{className:"mt-1 size-3.5 shrink-0 text-warning"}):p.status==="mergeable"?f.jsx(jj,{className:"mt-1 size-3.5 shrink-0 text-muted-foreground"}):f.jsx(tw,{className:"mt-1 size-3.5 shrink-0 text-destructive"}),f.jsxs("div",{className:"min-w-0 space-y-1",children:[f.jsx("div",{className:"text-sm font-medium text-foreground",children:p.message}),p.detail?f.jsx("div",{className:"line-clamp-2 whitespace-pre-wrap text-xs text-muted-foreground",children:p.detail}):null]})]}):f.jsx("div",{className:"text-sm text-muted-foreground",children:"Preview unavailable."}):f.jsx("div",{className:"text-sm text-muted-foreground",children:"Select a branch to preview the merge."})})]}),f.jsx(kl,{children:f.jsxs("div",{className:"flex min-w-0 w-full items-center justify-end gap-2",children:[f.jsx(Xe,{variant:"ghost",size:"sm",onClick:()=>t(!1),children:"Cancel"}),f.jsx(Xe,{className:"max-w-full min-w-0",size:"sm",disabled:W,onClick:()=>void I(),children:w?f.jsxs(f.Fragment,{children:[f.jsx(bn,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}),"Merging…"]}):f.jsx("span",{className:"block max-w-full truncate",children:"Merge"})})]})})]})})}function Vme({currentBranchName:e,onListBranches:t,onPreviewMergeBranch:n,onMergeBranch:r,onCheckoutBranch:i,onCreateBranch:s}){const[o,l]=b.useState(!1),[c,d]=b.useState(!1),[p,h]=b.useState(!1),[g,v]=b.useState(!1),[_,x]=b.useState(""),[w,C]=b.useState("branches"),[k,R]=b.useState(null),[T,A]=b.useState(null);b.useEffect(()=>{o&&(h(!0),A(null),t().then(U=>R(U)).catch(U=>{A(U instanceof Error?U.message:String(U))}).finally(()=>{h(!1)}))},[t,o]);const N=_.trim().toLowerCase(),M=U=>U.filter(Y=>N?[Y.displayName,Y.name,Y.description,Y.prTitle,Y.headLabel].some(P=>P==null?void 0:P.toLowerCase().includes(N)):!0),D=(k==null?void 0:k.currentBranchName)??e,W=new Set(((k==null?void 0:k.pullRequests)??[]).map(U=>U.headRefName??U.name)),I=M((k==null?void 0:k.recent)??[]).filter(U=>U.name!==D),$=M((k==null?void 0:k.local)??[]).filter(U=>U.name!==D),B=M((k==null?void 0:k.remote)??[]).filter(U=>U.name!==D&&!W.has(U.name)),j=M((k==null?void 0:k.pullRequests)??[]).filter(U=>U.name!==D),F=(k==null?void 0:k.pullRequests.length)??0;async function V(U){v(!0);try{await i(U),l(!1),x(""),C("branches")}finally{v(!1)}}async function z(){v(!0);try{await s(),l(!1),x(""),C("branches")}finally{v(!1)}}function H(){l(!1),d(!0)}return f.jsxs(E8,{open:o,onOpenChange:l,children:[f.jsx(R8,{asChild:!0,children:f.jsxs("button",{type:"button",className:"flex min-w-0 max-w-full items-center gap-1 rounded-md px-1.5 py-1 text-sm transition-colors hover:bg-accent hover:text-foreground","aria-label":"Open branch switcher",children:[f.jsx(mc,{className:"h-3.5 w-3.5 shrink-0"}),f.jsx("span",{className:"truncate",children:e??"Detached HEAD"}),f.jsx(Id,{className:"h-3.5 w-3.5 shrink-0"})]})}),f.jsx(vE,{align:"start",className:"w-[320px] p-2",children:f.jsxs("div",{className:"space-y-2",children:[f.jsx(N8,{value:_,onChange:x,placeholder:w==="pull_requests"?"Search pull requests":"Search branches",disabled:p||g,trailingAction:f.jsx(Xe,{variant:"ghost",size:"sm",onClick:()=>void z(),disabled:p||g,className:"h-7 px-2 text-xs hover:!bg-transparent hover:!border-border/0",children:"+ New"})}),f.jsx(yc,{value:w,onValueChange:U=>C(U),size:"sm",className:"w-full",optionClassName:"flex-1 justify-center",options:[{value:"branches",label:"Branches"},{value:"pull_requests",label:`Open PRs ${F}`}]}),f.jsx("div",{className:"max-h-[420px] overflow-y-auto pr-1.5 -mr-[8px]",children:p?f.jsxs("div",{className:"flex items-center justify-center gap-2 py-6 text-sm text-muted-foreground",children:[f.jsx(bn,{className:"h-4 w-4 animate-spin"}),f.jsx("span",{children:"Loading branches…"})]}):T?f.jsx("div",{className:"rounded-lg border border-border px-3 py-2 text-sm text-muted-foreground",children:T}):w==="pull_requests"?f.jsx(_c,{title:"Open PRs",entries:j,emptyLabel:(k==null?void 0:k.pullRequestsStatus)==="error"?k.pullRequestsError??"Could not load pull requests.":(k==null?void 0:k.pullRequestsStatus)==="unavailable"?"Pull requests unavailable for this repository.":"No open pull requests.",disabled:g,stickyTitle:!0,onSelect:U=>{V(U)}}):f.jsxs("div",{className:"space-y-3",children:[f.jsx(_c,{title:"Recent",entries:I,emptyLabel:"No recent branches.",disabled:g,stickyTitle:!0,onSelect:U=>{V(U)}}),f.jsx(_c,{title:"Local",entries:$,emptyLabel:"No local branches.",disabled:g,stickyTitle:!0,onSelect:U=>{V(U)}}),f.jsx(_c,{title:"Remote",entries:B,emptyLabel:"No remote branches.",disabled:g,stickyTitle:!0,onSelect:U=>{V(U)}})]})}),D?f.jsx(Xe,{variant:"default",size:"sm",disabled:p||g||!!T,onClick:H,className:"h-9 w-full justify-center rounded-lg px-3 text-sm",children:f.jsxs("span",{className:"block max-w-full truncate",children:[f.jsx(uV,{className:"mr-1.5 inline h-3.5 w-3.5 shrink-0"}),"Merge branch into ",D,"..."]})}):null]})}),f.jsx(Ume,{open:c,onOpenChange:d,branchList:k,currentBranchName:D,onPreviewMergeBranch:n,onMergeBranch:r})]})}function Wme({file:e,rootRef:t,projectId:n,isCollapsed:r,isChecked:i,editorLabel:s,diffRenderMode:o,wrapLines:l,onToggleCollapsed:c,onToggleChecked:d,fileActions:p,patch:h,patchError:g,isPatchLoading:v,onLoadPatch:_}){const x=T8(e),w=Ome(e),[C,k]=b.useState(null),R=b.useRef(null),T=b.useRef(null),{sentinelRef:A,isStuck:N}=Ale({rootRef:t,disabled:r}),M=b.useMemo(()=>jme(n,e),[e,n]),D=M!==null,W=_D({isCollapsed:r,hasPreviewAttachment:D,patch:h,patchError:g,isPatchLoading:v});b.useEffect(()=>{if(!W)return;const j=`${e.path}\0${e.patchDigest}`;T.current!==j&&(T.current=j,_(e.path).catch(()=>{}))},[e.patchDigest,e.path,_,W]);function I(j){if(T0(j).openInNewTab){typeof window<"u"&&window.open(new URL(j.contentUrl,window.location.origin).toString(),"_blank","noopener,noreferrer");return}k(j.id)}function $(j){var V;j.preventDefault(),j.stopPropagation();const F=j.currentTarget.getBoundingClientRect();(V=R.current)==null||V.dispatchEvent(new MouseEvent("contextmenu",{bubbles:!0,cancelable:!0,clientX:F.left+F.width/2,clientY:F.bottom,view:window}))}function B(){if(!r){c();return}if(D||h!==void 0){c();return}if(v)return;if(!(g!==void 0||_D({isCollapsed:!1,hasPreviewAttachment:D,patch:h,patchError:g,isPatchLoading:v}))){c();return}_(e.path).then(()=>{c()}).catch(()=>{})}return f.jsxs($d,{children:[f.jsx(Hd,{asChild:!0,children:f.jsxs("div",{ref:R,className:"relative rounded-lg border border-border bg-background",children:[r?null:f.jsx("div",{ref:A,className:"pointer-events-none absolute inset-x-0 top-0 h-px","aria-hidden":"true"}),f.jsxs("div",{role:"button",tabIndex:0,onClick:B,onKeyDown:j=>{j.key!=="Enter"&&j.key!==" "||(j.preventDefault(),B())},className:he("group/header sticky top-0 z-20 flex cursor-pointer items-center justify-between gap-3 bg-background pl-[7px] pr-2.5 py-1.5 text-[13px] text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",!r&&!N&&"rounded-t-[calc(theme(borderRadius.lg)-1px)]",r&&"rounded-[calc(theme(borderRadius.lg)-1px)]",!r&&"border-b border-border/50"),children:[f.jsxs("div",{className:"flex min-w-0 items-center",children:[f.jsx(A8,{checked:i,onClick:d}),f.jsx("div",{className:"min-w-0 truncate select-none ml-2 mr-1",children:e.path})]}),f.jsxs("div",{className:"flex shrink-0 items-center gap-2 select-none",children:[f.jsxs("span",{className:"whitespace-nowrap text-xs font-mono",children:[e.additions>0?f.jsxs("span",{className:"text-success",children:["+",e.additions]}):null,e.deletions>0?f.jsxs("span",{className:e.additions>0?"ml-2 text-destructive":"text-destructive",children:["-",e.deletions]}):null]}),f.jsx("button",{type:"button","aria-label":`Open actions for ${e.path}`,onClick:$,className:"flex h-5 w-5 shrink-0 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:f.jsx(Hb,{className:"h-3.5 w-3.5 shrink-0"})}),v&&r&&!M?f.jsx(bn,{className:"h-3.5 w-3.5 shrink-0 animate-spin"}):r?f.jsx(Id,{className:"h-3.5 w-3.5 shrink-0"}):f.jsx(Mj,{className:"h-3.5 w-3.5 shrink-0"})]})]}),r?null:f.jsx("div",{className:"kanna-diff-patch overflow-hidden rounded-b-[calc(theme(borderRadius.lg)-1px)] pb-[1px]",children:M?f.jsx("div",{className:"flex justify-center p-3",children:M.kind==="image"?f.jsx(Qk,{attachment:M,onClick:()=>I(M)}):f.jsx(lp,{attachment:M,onClick:()=>I(M)})}):v?f.jsxs("div",{className:"flex items-center justify-center px-3 py-8 text-sm text-muted-foreground",children:[f.jsx(bn,{className:"mr-2 h-4 w-4 animate-spin"}),"Loading diff..."]}):g?f.jsx("div",{className:"px-3 py-4 text-sm text-destructive",children:g}):h!==void 0?f.jsx(Rle,{patch:h,options:{diffStyle:o,disableFileHeader:!0,disableBackground:!1,overflow:l?"wrap":"scroll",lineDiffType:"word",diffIndicators:"classic"}}):f.jsx("div",{className:"px-3 py-4 text-sm text-muted-foreground",children:"Diff unavailable."})}),f.jsx(mE,{attachment:M&&C===M.id?M:null,onOpenChange:j=>!j&&k(null)})]},e.path)}),f.jsxs(Uc,{children:[f.jsxs(Wn,{onSelect:j=>{j.stopPropagation(),p.onOpenFile(e.path)},children:[f.jsx(kC,{className:"h-3.5 w-3.5"}),f.jsxs("span",{className:"text-xs font-medium",children:["Open in ",s]})]}),f.jsxs(Wn,{onSelect:j=>{j.stopPropagation(),p.onOpenInFinder(e.path)},children:[f.jsx(Vb,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Open in Finder"})]}),f.jsxs(Wn,{onSelect:j=>{j.stopPropagation(),p.onDiscardFile(e.path)},className:"text-destructive hover:bg-destructive/10 focus:bg-destructive/10",children:[f.jsx(Gb,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Discard Changes"})]}),f.jsxs(Wn,{disabled:!x,onSelect:j=>{j.stopPropagation(),x&&p.onIgnoreFile(e.path)},children:[f.jsx(JA,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Ignore File"})]}),f.jsxs(Wn,{disabled:!w,onSelect:j=>{j.stopPropagation(),w&&p.onIgnoreFolder(e.path)},children:[f.jsx(JA,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Ignore folder..."})]}),f.jsx(f3,{}),f.jsxs(Wn,{onSelect:j=>{j.stopPropagation(),p.onCopyFilePath(e.path)},children:[f.jsx(Cl,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Copy File Path"})]}),f.jsxs(Wn,{onSelect:j=>{j.stopPropagation(),p.onCopyRelativePath(e.path)},children:[f.jsx(Cl,{className:"h-3.5 w-3.5"}),f.jsx("span",{className:"text-xs font-medium",children:"Copy Relative Path"})]})]})]})}function Gme({projectId:e,diffs:t,editorLabel:n,diffRenderMode:r,wrapLines:i,onOpenFile:s,onOpenInFinder:o,onDiscardFile:l,onIgnoreFile:c,onIgnoreFolder:d,onCopyFilePath:p,onCopyRelativePath:h,onListBranches:g,onPreviewMergeBranch:v,onMergeBranch:_,onCheckoutBranch:x,onCreateBranch:w,onGenerateCommitMessage:C,onInitializeGit:k,onGetGitHubPublishInfo:R,onCheckGitHubRepoAvailability:T,onSetupGitHub:A,onCommit:N,onSyncWithRemote:M,onLoadPatch:D,onDiffRenderModeChange:W,onWrapLinesChange:I,onClose:$}){var Et;const B=b.useMemo(()=>({onOpenFile:s,onOpenInFinder:o,onDiscardFile:l,onIgnoreFile:c,onIgnoreFolder:d,onCopyFilePath:p,onCopyRelativePath:h}),[s,o,l,c,d,p,h]),j=t.files.length>0,[F,V]=b.useState(!1),[z,H]=b.useState(null),[U,Y]=b.useState(!1),[P,G]=b.useState(!1),[J,O]=b.useState({}),[ie,Z]=b.useState({}),[oe,se]=b.useState({}),ve=b.useRef(null),ue=b.useRef({}),ye=b.useMemo(()=>t.files.map(we=>we.path),[t.files]),Ee=b.useMemo(()=>ye.join("\0"),[ye]),Ae=Ri(we=>{var We;return e?((We=we.projectUi[e])==null?void 0:We.viewMode)??(j?"changes":"history"):j?"changes":"history"}),De=Ri(we=>{var We;return e?((We=we.projectUi[e])==null?void 0:We.collapsedPaths)??Fg:Fg}),me=Ri(we=>{var We;return e?((We=we.projectUi[e])==null?void 0:We.summary)??"":""}),et=Ri(we=>{var We;return e?((We=we.projectUi[e])==null?void 0:We.description)??"":""}),Lt=Ri(we=>we.reconcileCollapsedPaths),Ot=Ri(we=>we.toggleCollapsedPath),Yt=Ri(we=>we.setViewMode),Tt=Ri(we=>we.setCommitDraft),At=Ri(we=>we.clearCommitDraft),wt=Dg(we=>e?we.checkedPathsByProjectId[e]??Fg:Fg),Ue=Dg(we=>we.reconcileProject),ht=Dg(we=>we.setChecked),Ke=Dg(we=>we.setAllChecked),yt=b.useRef(j);b.useEffect(()=>{e&&Lt(e,ye)},[ye,Ee,e,Lt]),b.useEffect(()=>{const we=Object.fromEntries(t.files.map(Le=>[Le.path,Le.patchDigest])),We=Le=>ue.current[Le]===we[Le];O(Le=>Object.fromEntries(Object.entries(Le).filter(([bt])=>ye.includes(bt)&&We(bt)))),Z(Le=>Object.fromEntries(Object.entries(Le).filter(([bt])=>ye.includes(bt)&&We(bt)))),se(Le=>Object.fromEntries(Object.entries(Le).filter(([bt])=>ye.includes(bt)&&We(bt)))),ue.current=we},[t.files,ye,Ee]),b.useEffect(()=>{e&&Ue(e,ye)},[ye,Ee,e,Ue]),b.useEffect(()=>{if(!e)return;if(yt.current!==j){Yt(e,j?"changes":"history"),yt.current=j;return}yt.current=j},[j,e,Yt]);const de=b.useMemo(()=>t.files.filter(we=>wt[we.path]??!0).map(we=>we.path),[wt,t.files]),be=de.length,ze=t.files.length>0&&be===t.files.length,Ve=be>0&&be<t.files.length,Qe=me.trim(),rt=Qe.length>0,Bt=z!==null,Nt=F||Bt,pt=((Et=t.branchHistory)==null?void 0:Et.entries)??[],Ct=t.behindCount??0,lt=t.aheadCount??0,sn=t.hasUpstream===!0,Je=t.hasUpstream===!1&&!!t.branchName,en=t.hasOriginRemote===!0,Vt=t.branchName?t.branchName.split("/").map(we=>encodeURIComponent(we)).join("/"):null,on=Je?"publish":Ct>0?"pull":"fetch",Pt=t.originRepoSlug&&Vt?`https://github.com/${t.originRepoSlug}/compare/${Vt}?expand=1`:null,gt=!!(sn&&Pt&&t.branchName&&t.branchName!==t.defaultBranchName),He=t.status==="ready"&&be>0&&!Nt,ct=t.status==="ready"&&be>0&&rt&&!Nt,kt=en?"commit_and_push":"commit_only",Ft=t.branchName??"current branch";async function it(we){if(ct){H(we);try{const We=await N({paths:de,summary:Qe,description:et.trim(),mode:we});(We!=null&&We.ok||We!=null&&We.localCommitCreated)&&e&&At(e)}finally{H(null)}}}async function Se(){if(He){V(!0);try{const we=await C({paths:de});e&&Tt(e,{summary:we.subject,description:we.body})}finally{V(!1)}}}function st(we){if(!(!(we.metaKey||we.ctrlKey)||we.key!=="Enter")){if(we.preventDefault(),rt){it(kt);return}Se()}}async function Ge(we=on){if(!(t.status!=="ready"||U)){Y(!0);try{await M(we)}finally{Y(!1)}}}const qe=b.useCallback(async we=>{var We;if(J[we]!==void 0||oe[we])return J[we]??"";se(Le=>({...Le,[we]:!0})),Z(Le=>{if(!(we in Le))return Le;const{[we]:bt,...ae}=Le;return ae});try{const Le=await D(we);O(ae=>({...ae,[we]:Le}));const bt=(We=t.files.find(ae=>ae.path===we))==null?void 0:We.patchDigest;return bt&&(ue.current={...ue.current,[we]:bt}),Le}catch(Le){const bt=Le instanceof Error?Le.message:String(Le);throw Z(ae=>({...ae,[we]:bt})),Le}finally{se(Le=>{const{[we]:bt,...ae}=Le;return ae})}},[t.files,oe,D,J]);return f.jsx("div",{className:"h-full min-h-0 border-l border-border bg-background md:min-w-[370px]",children:f.jsxs("div",{className:"flex h-full min-h-0 flex-col",children:[f.jsxs("div",{className:"flex shrink-0 items-center gap-2 border-b border-border pl-2.5 pr-2 py-2",children:[f.jsx("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:f.jsx(Vme,{currentBranchName:t.branchName,onListBranches:g,onPreviewMergeBranch:v,onMergeBranch:_,onCheckoutBranch:x,onCreateBranch:w})}),t.status==="ready"?en?on==="publish"?f.jsxs(Xe,{variant:"ghost",size:"sm",onClick:()=>void Ge(),disabled:U,className:"h-7 gap-1.5 px-2 text-xs hover:!bg-transparent hover:!border-border/0",children:[U?f.jsx(bn,{className:"h-3.5 w-3.5 animate-spin"}):f.jsx(lv,{className:"h-3.5 w-3.5"}),f.jsx("span",{children:"Publish Branch"})]}):f.jsxs("div",{className:"flex items-center gap-1",children:[on==="fetch"?f.jsxs(ei,{delayDuration:0,children:[f.jsx(ti,{asChild:!0,children:f.jsxs(Xe,{variant:"ghost",size:"sm",onClick:()=>void Ge(),disabled:U,className:"h-7 gap-1.5 px-2 text-xs hover:!bg-transparent hover:!border-border/0",children:[U?f.jsx(bn,{className:"h-3.5 w-3.5 animate-spin"}):f.jsx(JV,{className:"h-3.5 w-3.5"}),f.jsx("span",{children:"Fetch"})]})}),f.jsx(Gr,{children:zme(t.lastFetchedAt)})]}):f.jsxs(Xe,{variant:"ghost",size:"sm",onClick:()=>void Ge(),disabled:U,className:"h-7 gap-1.5 px-2 text-xs hover:!bg-transparent hover:!border-border/0",children:[U?f.jsx(bn,{className:"h-3.5 w-3.5 animate-spin"}):f.jsx(Lj,{className:"h-3.5 w-3.5"}),f.jsx("span",{children:"Pull"}),f.jsx("span",{className:"inline-flex min-w-4 items-center justify-center rounded-full bg-muted px-1 text-[10px] text-muted-foreground",children:Ct})]}),sn&<>0?f.jsxs(Xe,{variant:"default",size:"sm",onClick:()=>void Ge("push"),disabled:U,className:"h-7 gap-1.5 px-2 text-xs",children:[U?f.jsx(bn,{className:"h-3.5 w-3.5 animate-spin"}):f.jsx(lv,{className:"h-3.5 w-3.5"}),f.jsx("span",{children:"Push"}),f.jsx("span",{className:"inline-flex min-w-4 items-center justify-center rounded-full bg-primary-foreground/15 px-1 text-[10px] text-primary-foreground",children:lt})]}):null,gt&&Pt?f.jsxs(Xe,{variant:"ghost",size:"sm",onClick:()=>{typeof window>"u"||window.open(Pt,"_blank","noopener,noreferrer")},className:"h-7 gap-1.5 px-2 text-xs hover:!bg-transparent hover:!border-border/0",children:[f.jsx(Oj,{className:"h-3.5 w-3.5"}),f.jsx("span",{children:"PR"})]}):null]}):f.jsxs(Xe,{variant:"default",size:"sm",onClick:()=>G(!0),className:"h-7 gap-1.5 px-3 text-xs",children:[f.jsx(hV,{className:"h-3.5 w-3.5"}),f.jsx("span",{children:"Push to GitHub"})]}):null]}),f.jsxs("div",{className:"relative min-h-0 flex-1",children:[f.jsx("div",{className:"sticky top-0 z-30 pl-[14px] pr-[12px] pt-[6px] bg-gradient-to-b from-background to-transparent",children:f.jsx("div",{className:"relative h-[40px] flex min-w-0 items-center justify-center gap-[13px]",children:f.jsxs("div",{className:"flex min-w-0 flex-1 items-center justify-between gap-[13px] relative",children:[Ae==="changes"?f.jsxs("div",{className:"flex items-center gap-2 text-[11px] text-muted-foreground/70",children:[f.jsx(A8,{checked:ze,mixed:Ve,label:Ve?"Select all files for commit":ze?"Unselect all files from commit":"Select all files for commit",onClick:()=>{!e||t.files.length===0||Ke(e,ye,Ve?!0:!ze)}}),f.jsxs("span",{children:[be," files"]})]}):f.jsx("div",{}),f.jsx("div",{className:"pointer-events-none absolute left-1/2 -translate-x-1/2 top-1/2 -translate-y-1/2",children:f.jsx("div",{className:"pointer-events-auto",children:f.jsx(yc,{value:Ae,onValueChange:we=>{e&&Yt(e,we)},size:"sm",optionClassName:"flex-1 justify-center",options:[{value:"changes",label:"Changes"},{value:"history",label:"History"}]})})}),Ae==="changes"?f.jsxs("div",{className:"flex items-center gap-1",children:[f.jsx(_S,{label:"Unified diff",active:r==="unified",onClick:()=>W("unified"),children:f.jsx(tW,{className:"h-4 w-4"})}),f.jsx(_S,{label:"Side-by-side diff",active:r==="split",onClick:()=>W("split"),children:f.jsx(x9,{className:"h-4 w-4"})}),f.jsx(_S,{label:i?"Disable word wrap":"Enable word wrap",active:i,onClick:()=>I(!i),children:f.jsx(EW,{className:"h-4 w-4"})})]}):f.jsx("div",{})]})})}),f.jsx("div",{ref:ve,className:"h-full overflow-y-auto [scrollbar-gutter:stable]",children:t.status==="no_repo"?f.jsx("div",{className:"flex h-full items-center justify-center px-6 py-3 text-center",children:f.jsxs("div",{className:"flex max-w-[280px] flex-col items-center gap-3",children:[f.jsx("p",{className:"text-sm text-muted-foreground",children:"Initialize git here to start tracking branches, diffs, and history."}),f.jsx(Xe,{size:"sm",onClick:()=>void k(),children:"Init Git"})]})}):Ae==="history"?pt.length===0?f.jsx("div",{className:"flex h-full items-center justify-center px-6 py-3 text-center",children:f.jsxs("p",{className:"text-sm text-muted-foreground",children:["No recent commits on ",t.branchName??"this branch","."]})}):f.jsx("div",{className:"space-y-1.5 p-1.5",children:pt.map((we,We)=>f.jsx(Bme,{entry:we,isPendingPush:We<lt},we.sha))}):t.files.length===0?f.jsx("div",{className:"flex h-full items-center justify-center px-6 py-3 text-center",children:f.jsx("p",{className:"text-sm text-muted-foreground",children:"No file changes."})}):f.jsxs("div",{className:"space-y-1.5 p-1.5 pb-10",children:[t.files.map(we=>{const We=De[we.path]??!0,Le=wt[we.path]??!0;return f.jsx(Wme,{file:we,rootRef:ve,projectId:e,isCollapsed:We,isChecked:Le,editorLabel:n,diffRenderMode:r,wrapLines:i,onToggleCollapsed:()=>{e&&Ot(e,we.path)},onToggleChecked:()=>{e&&ht(e,we.path,!Le)},fileActions:B,patch:J[we.path],patchError:ie[we.path],isPatchLoading:!!oe[we.path],onLoadPatch:qe},we.path)}),Ae==="changes"?f.jsxs("div",{className:"pointer-events-none sticky inset-x-0 bottom-11 py-1 pb-6 z-30 overflow-y-auto",children:[f.jsx("div",{className:"absolute inset-x-0 bottom-0 top-0 bg-gradient-to-t from-background to-transparent"}),f.jsx("div",{className:"pointer-events-auto relative",children:f.jsxs("div",{className:"space-y-0 rounded-xl mx-auto max-w-[700px]",children:[f.jsx(nr,{value:me,onChange:we=>{e&&Tt(e,{summary:we.target.value,description:et})},onKeyDown:st,placeholder:"Commit message (override)",className:"rounded-t-xl rounded-b-none px-3",disabled:Nt||t.status!=="ready"}),f.jsx(B0,{value:et,onChange:we=>{e&&Tt(e,{summary:me,description:we.target.value})},onKeyDown:st,placeholder:"Description",rows:5,className:"-mt-px rounded-t-none rounded-b-xl px-3 outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background mb-2",disabled:Nt||t.status!=="ready"}),f.jsx("div",{className:"w-full flex flex-row",children:f.jsxs($d,{children:[f.jsx(Hd,{asChild:!0,children:f.jsx(Xe,{type:"button",className:"-mt-px w-full rounded-xl",disabled:rt?!ct:!He,onClick:()=>{if(rt){it(kt);return}Se()},children:f.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[rt?Bt?f.jsx(bn,{strokeWidth:2.5,className:"size-3 shrink-0 animate-spin"}):kt==="commit_and_push"?t.hasUpstream?f.jsx(lv,{strokeWidth:2.5,className:"size-3 shrink-0"}):f.jsx(jj,{strokeWidth:2.5,className:"size-3 shrink-0"}):f.jsx(pi,{strokeWidth:2.5,className:"size-3 shrink-0"}):F?f.jsx(bn,{strokeWidth:2.5,className:"size-3 shrink-0 animate-spin"}):f.jsx(WV,{strokeWidth:2.5,className:"size-3 shrink-0"}),f.jsx("span",{className:"min-w-0 truncate text-left",children:rt?Bt?z==="commit_only"?"Committing...":"Committing & Pushing...":kt==="commit_only"?f.jsxs(f.Fragment,{children:["Commit to ",f.jsx(mc,{strokeWidth:2.5,className:"mr-[4.5px] ml-0.5 inline size-3 "}),Ft]}):t.hasUpstream?f.jsxs(f.Fragment,{children:["Commit & push to ",f.jsx(mc,{strokeWidth:2.5,className:"mr-[4.5px] ml-0.5 inline size-3 "}),Ft]}):f.jsxs(f.Fragment,{children:["Commit & publish ",f.jsx(mc,{strokeWidth:2.5,className:"mr-[4.5px] ml-0.5 inline size-3 "}),Ft]}):F?"Generating...":f.jsxs(f.Fragment,{children:["Generate message for ",f.jsx(mc,{strokeWidth:2.5,className:"mr-[4.5px] ml-0.5 inline size-3 "}),Ft]})})]})})}),t.hasUpstream?f.jsx(Uc,{children:f.jsx(Wn,{disabled:!rt||!ct,onSelect:we=>{we.stopPropagation(),it("commit_only")},children:"Commit Only"})}):null]})})]})})]}):null]})})]}),f.jsx(Hme,{open:P,onOpenChange:G,onGetGitHubPublishInfo:R,onCheckGitHubRepoAvailability:T,onPublish:A})]})})}const qme=b.memo(Gme);function Kme(e,t){const n=getComputedStyle(e),r=parseFloat(n.fontSize);return t*r}function Yme(e,t){const n=getComputedStyle(e.ownerDocument.body),r=parseFloat(n.fontSize);return t*r}function Xme(e){return e/100*window.innerHeight}function Qme(e){return e/100*window.innerWidth}function Zme(e){switch(typeof e){case"number":return[e,"px"];case"string":{const t=parseFloat(e);return e.endsWith("%")?[t,"%"]:e.endsWith("px")?[t,"px"]:e.endsWith("rem")?[t,"rem"]:e.endsWith("em")?[t,"em"]:e.endsWith("vh")?[t,"vh"]:e.endsWith("vw")?[t,"vw"]:[t,"%"]}}}function yh({groupSize:e,panelElement:t,styleProp:n}){let r;const[i,s]=Zme(n);switch(s){case"%":{r=i/100*e;break}case"px":{r=i;break}case"rem":{r=Yme(t,i);break}case"em":{r=Kme(t,i);break}case"vh":{r=Xme(i);break}case"vw":{r=Qme(i);break}}return r}function Ti(e){return parseFloat(e.toFixed(3))}function Cd({group:e}){const{orientation:t,panels:n}=e;return n.reduce((r,i)=>(r+=t==="horizontal"?i.element.offsetWidth:i.element.offsetHeight,r),0)}function x1(e){const{panels:t}=e,n=Cd({group:e});return n===0?t.map(r=>({groupResizeBehavior:r.panelConstraints.groupResizeBehavior,collapsedSize:0,collapsible:r.panelConstraints.collapsible===!0,defaultSize:void 0,disabled:r.panelConstraints.disabled,minSize:0,maxSize:100,panelId:r.id})):t.map(r=>{const{element:i,panelConstraints:s}=r;let o=0;if(s.collapsedSize!==void 0){const p=yh({groupSize:n,panelElement:i,styleProp:s.collapsedSize});o=Ti(p/n*100)}let l;if(s.defaultSize!==void 0){const p=yh({groupSize:n,panelElement:i,styleProp:s.defaultSize});l=Ti(p/n*100)}let c=0;if(s.minSize!==void 0){const p=yh({groupSize:n,panelElement:i,styleProp:s.minSize});c=Ti(p/n*100)}let d=100;if(s.maxSize!==void 0){const p=yh({groupSize:n,panelElement:i,styleProp:s.maxSize});d=Ti(p/n*100)}return{groupResizeBehavior:s.groupResizeBehavior,collapsedSize:o,collapsible:s.collapsible===!0,defaultSize:l,disabled:s.disabled,minSize:c,maxSize:d,panelId:r.id}})}function Tn(e,t="Assertion error"){if(!e)throw Error(t)}function S1(e,t){return Array.from(t).sort(e==="horizontal"?Jme:ege)}function Jme(e,t){const n=e.element.offsetLeft-t.element.offsetLeft;return n!==0?n:e.element.offsetWidth-t.element.offsetWidth}function ege(e,t){const n=e.element.offsetTop-t.element.offsetTop;return n!==0?n:e.element.offsetHeight-t.element.offsetHeight}function M8(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function L8(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function tge({orientation:e,rects:t,targetRect:n}){const r={x:n.x+n.width/2,y:n.y+n.height/2};let i,s=Number.MAX_VALUE;for(const o of t){const{x:l,y:c}=L8(r,o),d=e==="horizontal"?l:c;d<s&&(s=d,i=o)}return Tn(i,"No rect found"),i}let $g;function nge(){return $g===void 0&&(typeof matchMedia=="function"?$g=!!matchMedia("(pointer:coarse)").matches:$g=!1),$g}function D8(e){const{element:t,orientation:n,panels:r,separators:i}=e,s=S1(n,Array.from(t.children).filter(M8).map(_=>({element:_}))).map(({element:_})=>_),o=[];let l=!1,c=!1,d=-1,p=-1,h=0,g,v=[];{let _=-1;for(const x of s)x.hasAttribute("data-panel")&&(_++,x.ariaDisabled===null&&(h++,d===-1&&(d=_),p=_))}if(h>1){let _=-1;for(const x of s)if(x.hasAttribute("data-panel")){_++;const w=r.find(C=>C.element===x);if(w){if(g){const C=g.element.getBoundingClientRect(),k=x.getBoundingClientRect();let R;if(c){const T=n==="horizontal"?new DOMRect(C.right,C.top,0,C.height):new DOMRect(C.left,C.bottom,C.width,0),A=n==="horizontal"?new DOMRect(k.left,k.top,0,k.height):new DOMRect(k.left,k.top,k.width,0);switch(v.length){case 0:{R=[T,A];break}case 1:{const N=v[0],M=tge({orientation:n,rects:[C,k],targetRect:N.element.getBoundingClientRect()});R=[N,M===C?A:T];break}default:{R=v;break}}}else v.length?R=v:R=[n==="horizontal"?new DOMRect(C.right,k.top,k.left-C.right,k.height):new DOMRect(k.left,C.bottom,k.width,k.top-C.bottom)];for(const T of R){let A="width"in T?T:T.element.getBoundingClientRect();const N=nge()?e.resizeTargetMinimumSize.coarse:e.resizeTargetMinimumSize.fine;if(A.width<N){const D=N-A.width;A=new DOMRect(A.x-D/2,A.y,A.width+D,A.height)}if(A.height<N){const D=N-A.height;A=new DOMRect(A.x,A.y-D/2,A.width,A.height+D)}const M=_<=d||_>p;!l&&!M&&o.push({group:e,groupSize:Cd({group:e}),panels:[g,w],separator:"width"in T?void 0:T,rect:A}),l=!1}}c=!1,g=w,v=[]}}else if(x.hasAttribute("data-separator")){x.ariaDisabled!==null&&(l=!0);const w=i.find(C=>C.element===x);w?v.push(w):(g=void 0,v=[])}else c=!0}return o}var gl,ij;let I8=(ij=class{constructor(){Za(this,gl,{})}addListener(t,n){const r=mr(this,gl)[t];return r===void 0?mr(this,gl)[t]=[n]:r.includes(n)||r.push(n),()=>{this.removeListener(t,n)}}emit(t,n){const r=mr(this,gl)[t];if(r!==void 0)if(r.length===1)r[0].call(null,n);else{let i=!1,s=null;const o=Array.from(r);for(let l=0;l<o.length;l++){const c=o[l];try{c.call(null,n)}catch(d){s===null&&(i=!0,s=d)}}if(i)throw s}}removeAllListeners(){as(this,gl,{})}removeListener(t,n){const r=mr(this,gl)[t];if(r!==void 0){const i=r.indexOf(n);i>=0&&r.splice(i,1)}}},gl=new WeakMap,ij),vo=new Map;const P8=new I8;function rge(e){vo=new Map(vo),vo.delete(e)}function SD(e,t){for(const[n]of vo)if(n.id===e)return n}function xl(e,t){for(const[n,r]of vo)if(n.id===e)return r;if(t)throw Error(`Could not find data for Group with id ${e}`)}function qc(){return vo}function yE(e,t){return P8.addListener("groupChange",n=>{n.group.id===e&&t(n)})}function ga(e,t){const n=vo.get(e);vo=new Map(vo),vo.set(e,t),P8.emit("groupChange",{group:e,prev:n,next:t})}function ige(e,t,n){let r,i={x:1/0,y:1/0};for(const s of t){const o=L8(n,s.rect);switch(e){case"horizontal":{o.x<=i.x&&(r=s,i=o);break}case"vertical":{o.y<=i.y&&(r=s,i=o);break}}}return r?{distance:i,hitRegion:r}:void 0}function sge(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function oge(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:kD(e),b:kD(t)};let r;for(;n.a.at(-1)===n.b.at(-1);)r=n.a.pop(),n.b.pop();Tn(r,"Stacking order can only be calculated for elements with a common ancestor");const i={a:CD(wD(n.a)),b:CD(wD(n.b))};if(i.a===i.b){const s=r.childNodes,o={a:n.a.at(-1),b:n.b.at(-1)};let l=s.length;for(;l--;){const c=s[l];if(c===o.a)return 1;if(c===o.b)return-1}}return Math.sign(i.a-i.b)}const age=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function lge(e){const t=getComputedStyle(j8(e)??e).display;return t==="flex"||t==="inline-flex"}function cge(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||lge(e))||+t.opacity<1||"transform"in t&&t.transform!=="none"||"webkitTransform"in t&&t.webkitTransform!=="none"||"mixBlendMode"in t&&t.mixBlendMode!=="normal"||"filter"in t&&t.filter!=="none"||"webkitFilter"in t&&t.webkitFilter!=="none"||"isolation"in t&&t.isolation==="isolate"||age.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function wD(e){let t=e.length;for(;t--;){const n=e[t];if(Tn(n,"Missing node"),cge(n))return n}return null}function CD(e){return e&&Number(getComputedStyle(e).zIndex)||0}function kD(e){const t=[];for(;e;)t.push(e),e=j8(e);return t}function j8(e){const{parentNode:t}=e;return sge(t)?t.host:t}function uge(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function dge({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!M8(n)||n.contains(e)||e.contains(n))return!0;if(oge(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if(uge(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function _E(e,t){const n=[];return t.forEach((r,i)=>{if(i.disabled)return;const s=D8(i),o=ige(i.orientation,s,{x:e.clientX,y:e.clientY});o&&o.distance.x<=0&&o.distance.y<=0&&dge({groupElement:i.element,hitRegion:o.hitRegion.rect,pointerEventTarget:e.target})&&n.push(o.hitRegion)}),n}function fge(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function ci(e,t,n=0){return Math.abs(Ti(e)-Ti(t))<=n}function fo(e,t){return ci(e,t)?0:e>t?1:-1}function Ju({overrideDisabledPanels:e,panelConstraints:t,prevSize:n,size:r}){const{collapsedSize:i=0,collapsible:s,disabled:o,maxSize:l=100,minSize:c=0}=t;if(o&&!e)return n;if(fo(r,c)<0)if(s){const d=(i+c)/2;fo(r,d)<0?r=i:r=c}else r=c;return r=Math.min(l,r),r=Ti(r),r}function dp({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:s}){if(ci(e,0))return t;const o=s==="imperative-api",l=Object.values(t),c=Object.values(i),d=[...l],[p,h]=r;Tn(p!=null,"Invalid first pivot index"),Tn(h!=null,"Invalid second pivot index");let g=0;switch(s){case"keyboard":{{const x=e<0?h:p,w=n[x];Tn(w,`Panel constraints not found for index ${x}`);const{collapsedSize:C=0,collapsible:k,minSize:R=0}=w;if(k){const T=l[x];if(Tn(T!=null,`Previous layout not found for panel index ${x}`),ci(T,C)){const A=R-T;fo(A,Math.abs(e))>0&&(e=e<0?0-A:A)}}}{const x=e<0?p:h,w=n[x];Tn(w,`No panel constraints found for index ${x}`);const{collapsedSize:C=0,collapsible:k,minSize:R=0}=w;if(k){const T=l[x];if(Tn(T!=null,`Previous layout not found for panel index ${x}`),ci(T,R)){const A=T-C;fo(A,Math.abs(e))>0&&(e=e<0?0-A:A)}}}break}default:{const x=e<0?h:p,w=n[x];Tn(w,`Panel constraints not found for index ${x}`);const C=l[x],{collapsible:k,collapsedSize:R,minSize:T}=w;if(k&&fo(C,T)<0)if(e>0){const A=T-R,N=A/2,M=C+e;fo(M,T)<0&&(e=fo(e,N)<=0?0:A)}else{const A=T-R,N=100-A/2,M=C-e;fo(M,T)<0&&(e=fo(100+e,N)>0?0:-A)}break}}{const x=e<0?1:-1;let w=e<0?h:p,C=0;for(;;){const R=l[w];Tn(R!=null,`Previous layout not found for panel index ${w}`);const T=Ju({overrideDisabledPanels:o,panelConstraints:n[w],prevSize:R,size:100})-R;if(C+=T,w+=x,w<0||w>=n.length)break}const k=Math.min(Math.abs(e),Math.abs(C));e=e<0?0-k:k}{let x=e<0?p:h;for(;x>=0&&x<n.length;){const w=Math.abs(e)-Math.abs(g),C=l[x];Tn(C!=null,`Previous layout not found for panel index ${x}`);const k=C-w,R=Ju({overrideDisabledPanels:o,panelConstraints:n[x],prevSize:C,size:k});if(!ci(C,R)&&(g+=C-R,d[x]=R,g.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?x--:x++}}if(fge(c,d))return i;{const x=e<0?h:p,w=l[x];Tn(w!=null,`Previous layout not found for panel index ${x}`);const C=w+g,k=Ju({overrideDisabledPanels:o,panelConstraints:n[x],prevSize:w,size:C});if(d[x]=k,!ci(k,C)){let R=C-k,T=e<0?h:p;for(;T>=0&&T<n.length;){const A=d[T];Tn(A!=null,`Previous layout not found for panel index ${T}`);const N=A+R,M=Ju({overrideDisabledPanels:o,panelConstraints:n[T],prevSize:A,size:N});if(ci(A,M)||(R-=M-A,d[T]=M),ci(R,0))break;e>0?T--:T++}}}const v=Object.values(d).reduce((x,w)=>w+x,0);if(!ci(v,100,.1))return i;const _=Object.keys(i);return d.reduce((x,w,C)=>(x[_[C]]=w,x),{})}function Dc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(t[n]===void 0||fo(e[n],t[n])!==0)return!1;return!0}function Ic({layout:e,panelConstraints:t}){const n=Object.values(e),r=[...n],i=r.reduce((l,c)=>l+c,0);if(r.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${r.map(l=>`${l}%`).join(", ")}`);if(!ci(i,100)&&r.length>0)for(let l=0;l<t.length;l++){const c=r[l];Tn(c!=null,`No layout data found for index ${l}`);const d=100/i*c;r[l]=d}let s=0;for(let l=0;l<t.length;l++){const c=n[l];Tn(c!=null,`No layout data found for index ${l}`);const d=r[l];Tn(d!=null,`No layout data found for index ${l}`);const p=Ju({overrideDisabledPanels:!0,panelConstraints:t[l],prevSize:c,size:d});d!=p&&(s+=d-p,r[l]=p)}if(!ci(s,0))for(let l=0;l<t.length;l++){const c=r[l];Tn(c!=null,`No layout data found for index ${l}`);const d=c+s,p=Ju({overrideDisabledPanels:!0,panelConstraints:t[l],prevSize:c,size:d});if(c!==p&&(s-=p-c,r[l]=p,ci(s,0)))break}const o=Object.keys(e);return r.reduce((l,c,d)=>(l[o[d]]=c,l),{})}function O8({groupId:e,panelId:t}){const n=()=>{const l=qc();for(const[c,{defaultLayoutDeferred:d,derivedPanelConstraints:p,layout:h,groupSize:g,separatorToPanels:v}]of l)if(c.id===e)return{defaultLayoutDeferred:d,derivedPanelConstraints:p,group:c,groupSize:g,layout:h,separatorToPanels:v};throw Error(`Group ${e} not found`)},r=()=>{const l=n().derivedPanelConstraints.find(c=>c.panelId===t);if(l!==void 0)return l;throw Error(`Panel constraints not found for Panel ${t}`)},i=()=>{const l=n().group.panels.find(c=>c.id===t);if(l!==void 0)return l;throw Error(`Layout not found for Panel ${t}`)},s=()=>{const l=n().layout[t];if(l!==void 0)return l;throw Error(`Layout not found for Panel ${t}`)},o=l=>{const c=s();if(l===c)return;const{defaultLayoutDeferred:d,derivedPanelConstraints:p,group:h,groupSize:g,layout:v,separatorToPanels:_}=n(),x=h.panels.findIndex(R=>R.id===t),w=x===h.panels.length-1,C=dp({delta:w?c-l:l-c,initialLayout:v,panelConstraints:p,pivotIndices:w?[x-1,x]:[x,x+1],prevLayout:v,trigger:"imperative-api"}),k=Ic({layout:C,panelConstraints:p});Dc(v,k)||ga(h,{defaultLayoutDeferred:d,derivedPanelConstraints:p,groupSize:g,layout:k,separatorToPanels:_})};return{collapse:()=>{const{collapsible:l,collapsedSize:c}=r(),{mutableValues:d}=i(),p=s();l&&p!==c&&(d.expandToSize=p,o(c))},expand:()=>{const{collapsible:l,collapsedSize:c,minSize:d}=r(),{mutableValues:p}=i(),h=s();if(l&&h===c){let g=p.expandToSize??d;g===0&&(g=1),o(g)}},getSize:()=>{const{group:l}=n(),c=s(),{element:d}=i(),p=l.orientation==="horizontal"?d.offsetWidth:d.offsetHeight;return{asPercentage:c,inPixels:p}},isCollapsed:()=>{const{collapsible:l,collapsedSize:c}=r(),d=s();return l&&ci(c,d)},resize:l=>{const{group:c}=n(),{element:d}=i(),p=Cd({group:c}),h=yh({groupSize:p,panelElement:d,styleProp:l}),g=Ti(h/p*100);o(g)}}}function ED(e){if(e.defaultPrevented)return;const t=qc();_E(e,t).forEach(n=>{if(n.separator){const r=n.panels.find(i=>i.panelConstraints.defaultSize!==void 0);if(r){const i=r.panelConstraints.defaultSize,s=O8({groupId:n.group.id,panelId:r.id});s&&i!==void 0&&(s.resize(i),e.preventDefault())}}})}function xv(e){const t=qc();for(const[n]of t)if(n.separators.some(r=>r.element===e))return n;throw Error("Could not find parent Group for separator element")}function z8({groupId:e}){const t=()=>{const n=qc();for(const[r,i]of n)if(r.id===e)return{group:r,...i};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){const{defaultLayoutDeferred:n,layout:r}=t();return n?{}:r},setLayout(n){const{defaultLayoutDeferred:r,derivedPanelConstraints:i,group:s,groupSize:o,layout:l,separatorToPanels:c}=t(),d=Ic({layout:n,panelConstraints:i});return r?l:(Dc(l,d)||ga(s,{defaultLayoutDeferred:r,derivedPanelConstraints:i,groupSize:o,layout:d,separatorToPanels:c}),d)}}}function sc(e,t){const n=xv(e),r=xl(n.id,!0),i=n.separators.find(p=>p.element===e);Tn(i,"Matching separator not found");const s=r.separatorToPanels.get(i);Tn(s,"Matching panels not found");const o=s.map(p=>n.panels.indexOf(p)),l=z8({groupId:n.id}).getLayout(),c=dp({delta:t,initialLayout:l,panelConstraints:r.derivedPanelConstraints,pivotIndices:o,prevLayout:l,trigger:"keyboard"}),d=Ic({layout:c,panelConstraints:r.derivedPanelConstraints});Dc(l,d)||ga(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,groupSize:r.groupSize,layout:d,separatorToPanels:r.separatorToPanels})}function RD(e){if(e.defaultPrevented)return;const t=e.currentTarget,n=xv(t);if(!n.disabled)switch(e.key){case"ArrowDown":{e.preventDefault(),n.orientation==="vertical"&&sc(t,5);break}case"ArrowLeft":{e.preventDefault(),n.orientation==="horizontal"&&sc(t,-5);break}case"ArrowRight":{e.preventDefault(),n.orientation==="horizontal"&&sc(t,5);break}case"ArrowUp":{e.preventDefault(),n.orientation==="vertical"&&sc(t,-5);break}case"End":{e.preventDefault(),sc(t,100);break}case"Enter":{e.preventDefault();const r=xv(t),i=xl(r.id,!0),{derivedPanelConstraints:s,layout:o,separatorToPanels:l}=i,c=r.separators.find(g=>g.element===t);Tn(c,"Matching separator not found");const d=l.get(c);Tn(d,"Matching panels not found");const p=d[0],h=s.find(g=>g.panelId===p.id);if(Tn(h,"Panel metadata not found"),h.collapsible){const g=o[p.id],v=h.collapsedSize===g?r.mutableState.expandedPanelSizes[p.id]??h.minSize:h.collapsedSize;sc(t,v-g)}break}case"F6":{e.preventDefault();const r=xv(t).separators.map(o=>o.element),i=Array.from(r).findIndex(o=>o===e.currentTarget);Tn(i!==null,"Index not found");const s=e.shiftKey?i>0?i-1:r.length-1:i+1<r.length?i+1:0;r[s].focus({preventScroll:!0});break}case"Home":{e.preventDefault(),sc(t,-100);break}}}let fd={cursorFlags:0,state:"inactive"};const xE=new I8;function Pc(){return fd}function hge(e){return xE.addListener("change",e)}function pge(e){const t=fd,n={...fd};n.cursorFlags=e,fd=n,xE.emit("change",{prev:t,next:n})}function hd(e){const t=fd;fd=e,xE.emit("change",{prev:t,next:e})}function TD(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const t=qc(),n=_E(e,t),r=new Map;let i=!1;n.forEach(s=>{s.separator&&(i||(i=!0,s.separator.element.focus({preventScroll:!0})));const o=t.get(s.group);o&&r.set(s.group,o.layout)}),hd({cursorFlags:0,hitRegions:n,initialLayoutMap:r,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:"active"}),n.length&&e.preventDefault()}const mge=e=>e,xS=()=>{},B8=1,F8=2,$8=4,H8=8,AD=3,ND=12;let Hg;function MD(){return Hg===void 0&&(Hg=!1,typeof window<"u"&&(window.navigator.userAgent.includes("Chrome")||window.navigator.userAgent.includes("Firefox"))&&(Hg=!0)),Hg}function gge({cursorFlags:e,groups:t,state:n}){let r=0,i=0;switch(n){case"active":case"hover":t.forEach(s=>{if(!s.mutableState.disableCursor)switch(s.orientation){case"horizontal":{r++;break}case"vertical":{i++;break}}})}if(!(r===0&&i===0)){switch(n){case"active":{if(e&&MD()){const s=(e&B8)!==0,o=(e&F8)!==0,l=(e&$8)!==0,c=(e&H8)!==0;if(s)return l?"se-resize":c?"ne-resize":"e-resize";if(o)return l?"sw-resize":c?"nw-resize":"w-resize";if(l)return"s-resize";if(c)return"n-resize"}break}}return MD()?r>0&&i>0?"move":r>0?"ew-resize":"ns-resize":r>0&&i>0?"grab":r>0?"col-resize":"row-resize"}}const LD=new WeakMap;function SE(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=LD.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&e.adoptedStyleSheets.push(n));const r=Pc();switch(r.state){case"active":case"hover":{const i=gge({cursorFlags:r.cursorFlags,groups:r.hitRegions.map(o=>o.group),state:r.state}),s=`*, *:hover {cursor: ${i} !important; }`;if(t===s)return;t=s,i?n.cssRules.length===0?n.insertRule(s):n.replaceSync(s):n.cssRules.length===1&&n.deleteRule(0);break}case"inactive":{t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}}LD.set(e,{prevStyle:t,styleSheet:n})}function U8({document:e,event:t,hitRegions:n,initialLayoutMap:r,mountedGroups:i,pointerDownAtPoint:s,prevCursorFlags:o}){let l=0;n.forEach(d=>{const{group:p,groupSize:h}=d,{orientation:g,panels:v}=p,{disableCursor:_}=p.mutableState;let x=0;s?g==="horizontal"?x=(t.clientX-s.x)/h*100:x=(t.clientY-s.y)/h*100:g==="horizontal"?x=t.clientX<0?-100:100:x=t.clientY<0?-100:100;const w=r.get(p),C=i.get(p);if(!w||!C)return;const{defaultLayoutDeferred:k,derivedPanelConstraints:R,groupSize:T,layout:A,separatorToPanels:N}=C;if(R&&A&&N){const M=dp({delta:x,initialLayout:w,panelConstraints:R,pivotIndices:d.panels.map(D=>v.indexOf(D)),prevLayout:A,trigger:"mouse-or-touch"});if(Dc(M,A)){if(x!==0&&!_)switch(g){case"horizontal":{l|=x<0?B8:F8;break}case"vertical":{l|=x<0?$8:H8;break}}}else ga(d.group,{defaultLayoutDeferred:k,derivedPanelConstraints:R,groupSize:T,layout:M,separatorToPanels:N})}});let c=0;t.movementX===0?c|=o&AD:c|=l&AD,t.movementY===0?c|=o&ND:c|=l&ND,pge(c),SE(e)}function DD(e){const t=qc(),n=Pc();switch(n.state){case"active":U8({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,prevCursorFlags:n.cursorFlags})}}function ID(e){if(e.defaultPrevented)return;const t=Pc(),n=qc();switch(t.state){case"active":{if(e.buttons===0){hd({cursorFlags:0,state:"inactive"}),t.hitRegions.forEach(r=>{const i=xl(r.group.id,!0);ga(r.group,i)});return}U8({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint,prevCursorFlags:t.cursorFlags});break}default:{const r=_E(e,n);r.length===0?t.state!=="inactive"&&hd({cursorFlags:0,state:"inactive"}):hd({cursorFlags:0,hitRegions:r,state:"hover"}),SE(e.currentTarget);break}}}function PD(e){if(e.relatedTarget instanceof HTMLIFrameElement)switch(Pc().state){case"hover":hd({cursorFlags:0,state:"inactive"})}}function jD(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const t=Pc();switch(t.state){case"active":hd({cursorFlags:0,state:"inactive"}),t.hitRegions.length>0&&(SE(e.currentTarget),t.hitRegions.forEach(n=>{const r=xl(n.group.id,!0);ga(n.group,r)}),e.preventDefault())}}function OD(e){let t=0,n=0;const r={};for(const s of e)if(s.defaultSize!==void 0){t++;const o=Ti(s.defaultSize);n+=o,r[s.panelId]=o}else r[s.panelId]=void 0;const i=e.length-t;if(i!==0){const s=Ti((100-n)/i);for(const o of e)o.defaultSize===void 0&&(r[o.panelId]=s)}return r}function vge(e,t,n){if(!n[0])return;const r=e.panels.find(c=>c.element===t);if(!r||!r.onResize)return;const i=Cd({group:e}),s=e.orientation==="horizontal"?r.element.offsetWidth:r.element.offsetHeight,o=r.mutableValues.prevSize,l={asPercentage:Ti(s/i*100),inPixels:s};r.mutableValues.prevSize=l,r.onResize(l,r.id,o)}function bge(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function yge({group:e,nextGroupSize:t,prevGroupSize:n,prevLayout:r}){if(n<=0||t<=0||n===t)return r;let i=0,s=0,o=!1;const l=new Map,c=[];for(const h of e.panels){const g=r[h.id]??0;switch(h.panelConstraints.groupResizeBehavior){case"preserve-pixel-size":{o=!0;const v=g/100*n,_=Ti(v/t*100);l.set(h.id,_),i+=_;break}case"preserve-relative-size":default:{c.push(h.id),s+=g;break}}}if(!o||c.length===0)return r;const d=100-i,p={...r};if(l.forEach((h,g)=>{p[g]=h}),s>0)for(const h of c){const g=r[h]??0;p[h]=Ti(g/s*d)}else{const h=Ti(d/c.length);for(const g of c)p[g]=h}return p}function _ge(e,t){const n=e.map(i=>i.id),r=Object.keys(t);if(n.length!==r.length)return!1;for(const i of n)if(!r.includes(i))return!1;return!0}const Fu=new Map;function xge(e){let t=!0;Tn(e.element.ownerDocument.defaultView,"Cannot register an unmounted Group");const n=e.element.ownerDocument.defaultView.ResizeObserver,r=new Set,i=new Set,s=new n(_=>{for(const x of _){const{borderBoxSize:w,target:C}=x;if(C===e.element){if(t){const k=Cd({group:e});if(k===0)return;const R=xl(e.id);if(!R)return;const T=x1(e),A=R.defaultLayoutDeferred?OD(T):R.layout,N=yge({group:e,nextGroupSize:k,prevGroupSize:R.groupSize,prevLayout:A}),M=Ic({layout:N,panelConstraints:T});if(!R.defaultLayoutDeferred&&Dc(R.layout,M)&&bge(R.derivedPanelConstraints,T)&&R.groupSize===k)return;ga(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:T,groupSize:k,layout:M,separatorToPanels:R.separatorToPanels})}}else vge(e,C,w)}});s.observe(e.element),e.panels.forEach(_=>{Tn(!r.has(_.id),`Panel ids must be unique; id "${_.id}" was used more than once`),r.add(_.id),_.onResize&&s.observe(_.element)});const o=Cd({group:e}),l=x1(e),c=e.panels.map(({id:_})=>_).join(",");let d=e.mutableState.defaultLayout;d&&(_ge(e.panels,d)||(d=void 0));const p=e.mutableState.layouts[c]??d??OD(l),h=Ic({layout:p,panelConstraints:l}),g=e.element.ownerDocument;Fu.set(g,(Fu.get(g)??0)+1);const v=new Map;return D8(e).forEach(_=>{_.separator&&v.set(_.separator,_.panels)}),ga(e,{defaultLayoutDeferred:o===0,derivedPanelConstraints:l,groupSize:o,layout:h,separatorToPanels:v}),e.separators.forEach(_=>{Tn(!i.has(_.id),`Separator ids must be unique; id "${_.id}" was used more than once`),i.add(_.id),_.element.addEventListener("keydown",RD)}),Fu.get(g)===1&&(g.addEventListener("dblclick",ED,!0),g.addEventListener("pointerdown",TD,!0),g.addEventListener("pointerleave",DD),g.addEventListener("pointermove",ID),g.addEventListener("pointerout",PD),g.addEventListener("pointerup",jD,!0)),function(){t=!1,Fu.set(g,Math.max(0,(Fu.get(g)??0)-1)),rge(e),e.separators.forEach(_=>{_.element.removeEventListener("keydown",RD)}),Fu.get(g)||(g.removeEventListener("dblclick",ED,!0),g.removeEventListener("pointerdown",TD,!0),g.removeEventListener("pointerleave",DD),g.removeEventListener("pointermove",ID),g.removeEventListener("pointerout",PD),g.removeEventListener("pointerup",jD,!0)),s.disconnect()}}function Sge(){const[e,t]=b.useState({}),n=b.useCallback(()=>t({}),[]);return[e,n]}function wE(e){const t=b.useId();return`${e??t}`}const Kc=typeof window<"u"?b.useLayoutEffect:b.useEffect;function Oh(e){const t=b.useRef(e);return Kc(()=>{t.current=e},[e]),b.useCallback((...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[t])}function CE(...e){return Oh(t=>{e.forEach(n=>{if(n)switch(typeof n){case"function":{n(t);break}case"object":{n.current=t;break}}})})}function kE(e){const t=b.useRef({...e});return Kc(()=>{for(const n in e)t.current[n]=e[n]},[e]),t.current}const V8=b.createContext(null);function wge(e,t){const n=b.useRef({getLayout:()=>({}),setLayout:mge});b.useImperativeHandle(t,()=>n.current,[]),Kc(()=>{Object.assign(n.current,z8({groupId:e}))})}function W8({children:e,className:t,defaultLayout:n,disableCursor:r,disabled:i,elementRef:s,groupRef:o,id:l,onLayoutChange:c,onLayoutChanged:d,orientation:p="horizontal",resizeTargetMinimumSize:h={coarse:20,fine:10},style:g,...v}){const _=b.useRef({onLayoutChange:{},onLayoutChanged:{}}),x=Oh($=>{Dc(_.current.onLayoutChange,$)||(_.current.onLayoutChange=$,c==null||c($))}),w=Oh($=>{Dc(_.current.onLayoutChanged,$)||(_.current.onLayoutChanged=$,d==null||d($))}),C=wE(l),k=b.useRef(null),[R,T]=Sge(),A=b.useRef({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:h,separators:[]}),N=CE(k,s);wge(C,o);const M=Oh(($,B)=>{const j=Pc(),F=SD($),V=xl($);if(V){let z=!1;switch(j.state){case"active":{z=j.hitRegions.some(H=>H.group===F);break}}return{flexGrow:V.layout[B]??1,pointerEvents:z?"none":void 0}}return{flexGrow:(n==null?void 0:n[B])??1}}),D=kE({defaultLayout:n,disableCursor:r}),W=b.useMemo(()=>({get disableCursor(){return!!D.disableCursor},getPanelStyles:M,id:C,orientation:p,registerPanel:$=>{const B=A.current;return B.panels=S1(p,[...B.panels,$]),T(),()=>{B.panels=B.panels.filter(j=>j!==$),T()}},registerSeparator:$=>{const B=A.current;return B.separators=S1(p,[...B.separators,$]),T(),()=>{B.separators=B.separators.filter(j=>j!==$),T()}},togglePanelDisabled:($,B)=>{const j=A.current.panels.find(z=>z.id===$);j&&(j.panelConstraints.disabled=B);const F=SD(C),V=xl(C);F&&V&&ga(F,{...V,derivedPanelConstraints:x1(F)})},toggleSeparatorDisabled:($,B)=>{const j=A.current.separators.find(F=>F.id===$);j&&(j.disabled=B)}}),[M,C,T,p,D]),I=b.useRef(null);return Kc(()=>{const $=k.current;if($===null)return;const B=A.current;let j;if(D.defaultLayout!==void 0&&Object.keys(D.defaultLayout).length===B.panels.length){j={};for(const P of B.panels){const G=D.defaultLayout[P.id];G!==void 0&&(j[P.id]=G)}}const F={disabled:!!i,element:$,id:C,mutableState:{defaultLayout:j,disableCursor:!!D.disableCursor,expandedPanelSizes:A.current.lastExpandedPanelSizes,layouts:A.current.layouts},orientation:p,panels:B.panels,resizeTargetMinimumSize:B.resizeTargetMinimumSize,separators:B.separators};I.current=F;const V=xge(F),{defaultLayoutDeferred:z,derivedPanelConstraints:H,layout:U}=xl(F.id,!0);!z&&H.length>0&&(x(U),w(U));const Y=yE(C,P=>{const{defaultLayoutDeferred:G,derivedPanelConstraints:J,layout:O}=P.next;if(G||J.length===0)return;const ie=F.panels.map(({id:oe})=>oe).join(",");F.mutableState.layouts[ie]=O,J.forEach(oe=>{if(oe.collapsible){const{layout:se}=P.prev??{};if(se){const ve=ci(oe.collapsedSize,O[oe.panelId]),ue=ci(oe.collapsedSize,se[oe.panelId]);ve&&!ue&&(F.mutableState.expandedPanelSizes[oe.panelId]=se[oe.panelId])}}});const Z=Pc().state!=="active";x(O),Z&&w(O)});return()=>{I.current=null,V(),Y()}},[i,C,w,x,p,R,D]),b.useEffect(()=>{const $=I.current;$&&($.mutableState.defaultLayout=n,$.mutableState.disableCursor=!!r)}),f.jsx(V8.Provider,{value:W,children:f.jsx("div",{...v,className:t,"data-group":!0,"data-testid":C,id:C,ref:N,style:{height:"100%",width:"100%",overflow:"hidden",...g,display:"flex",flexDirection:p==="horizontal"?"row":"column",flexWrap:"nowrap",touchAction:p==="horizontal"?"pan-y":"pan-x"},children:e})})}W8.displayName="Group";function EE(){const e=b.useContext(V8);return Tn(e,"Group Context not found; did you render a Panel or Separator outside of a Group?"),e}function Cge(e,t){const{id:n}=EE(),r=b.useRef({collapse:xS,expand:xS,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:xS});b.useImperativeHandle(t,()=>r.current,[]),Kc(()=>{Object.assign(r.current,O8({groupId:n,panelId:e}))})}function G8({children:e,className:t,collapsedSize:n="0%",collapsible:r=!1,defaultSize:i,disabled:s,elementRef:o,groupResizeBehavior:l="preserve-relative-size",id:c,maxSize:d="100%",minSize:p="0%",onResize:h,panelRef:g,style:v,..._}){const x=!!c,w=wE(c),C=kE({disabled:s}),k=b.useRef(null),R=CE(k,o),{getPanelStyles:T,id:A,orientation:N,registerPanel:M,togglePanelDisabled:D}=EE(),W=h!==null,I=Oh((B,j,F)=>{h==null||h(B,c,F)});Kc(()=>{const B=k.current;if(B!==null){const j={element:B,id:w,idIsStable:x,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:W?I:void 0,panelConstraints:{groupResizeBehavior:l,collapsedSize:n,collapsible:r,defaultSize:i,disabled:C.disabled,maxSize:d,minSize:p}};return M(j)}},[l,n,r,i,W,w,x,d,p,I,M,C]),b.useEffect(()=>{D(w,!!s)},[s,w,D]),Cge(w,g);const $=b.useSyncExternalStore(B=>yE(A,B),()=>JSON.stringify(T(A,w)),()=>JSON.stringify(T(A,w)));return f.jsx("div",{..._,"aria-disabled":s||void 0,"data-panel":!0,"data-testid":w,id:w,ref:R,style:{...kge,display:"flex",flexBasis:0,flexShrink:1,overflow:"visible",...JSON.parse($)},children:f.jsx("div",{className:t,style:{maxHeight:"100%",maxWidth:"100%",flexGrow:1,overflow:"auto",...v,touchAction:N==="horizontal"?"pan-y":"pan-x"},children:e})})}G8.displayName="Panel";const kge={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function Ege({layout:e,panelConstraints:t,panelId:n,panelIndex:r}){let i,s;const o=e[n],l=t.find(c=>c.panelId===n);if(l){const c=l.maxSize,d=l.collapsible?l.collapsedSize:l.minSize,p=[r,r+1];s=Ic({layout:dp({delta:d-o,initialLayout:e,panelConstraints:t,pivotIndices:p,prevLayout:e}),panelConstraints:t})[n],i=Ic({layout:dp({delta:c-o,initialLayout:e,panelConstraints:t,pivotIndices:p,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:s,valueNow:o}}function q8({children:e,className:t,disabled:n,elementRef:r,id:i,style:s,...o}){const l=wE(i),c=kE({disabled:n}),[d,p]=b.useState({}),[h,g]=b.useState("inactive"),v=b.useRef(null),_=CE(v,r),{disableCursor:x,id:w,orientation:C,registerSeparator:k,toggleSeparatorDisabled:R}=EE(),T=C==="horizontal"?"vertical":"horizontal";Kc(()=>{const N=v.current;if(N!==null){const M={disabled:c.disabled,element:N,id:l},D=k(M),W=hge($=>{g($.next.state!=="inactive"&&$.next.hitRegions.some(B=>B.separator===M)?$.next.state:"inactive")}),I=yE(w,$=>{const{derivedPanelConstraints:B,layout:j,separatorToPanels:F}=$.next,V=F.get(M);if(V){const z=V[0],H=V.indexOf(z);p(Ege({layout:j,panelConstraints:B,panelId:z.id,panelIndex:H}))}});return()=>{W(),I(),D()}}},[w,l,k,c]),b.useEffect(()=>{R(l,!!n)},[n,l,R]);let A;return n&&!x&&(A="not-allowed"),f.jsx("div",{...o,"aria-controls":d.valueControls,"aria-disabled":n||void 0,"aria-orientation":T,"aria-valuemax":d.valueMax,"aria-valuemin":d.valueMin,"aria-valuenow":d.valueNow,children:e,className:t,"data-separator":n?"disabled":h,"data-testid":l,id:l,ref:_,role:"separator",style:{flexBasis:"auto",cursor:A,...s,flexGrow:0,flexShrink:0,touchAction:"none"},tabIndex:n?void 0:0})}q8.displayName="Separator";const RE=({className:e,...t})=>f.jsx(W8,{className:he("flex h-full w-full",e),...t}),fp=e=>f.jsx(G8,{...e}),TE=({withHandle:e,orientation:t,disabled:n,className:r,...i})=>f.jsx(q8,{disabled:n,className:he("relative flex items-center justify-center bg-transparent focus-visible:outline-none",t==="vertical"?"h-2 w-full -my-1 cursor-row-resize":"h-full w-2 -mx-1 cursor-col-resize",e&&(t==="vertical"?"before:absolute before:inset-x-0 before:top-1/2 before:h-0.5 before:-translate-y-1/2 before:bg-border":"before:absolute before:inset-y-0 before:left-1/2 before:w-px before:-translate-x-1/2 before:bg-border"),r),...i,children:f.jsx("span",{className:"sr-only",children:t==="vertical"?"Resize rows":"Resize columns"})});function K8(e,t,n){const r=typeof e.maxTokens=="number"&&Number.isFinite(e.maxTokens)?e.maxTokens:null,i=r&&r>0?Math.min(100,e.usedTokens/r*100):null,s=r!==null?Math.max(0,Math.round(r-e.usedTokens)):null,o=i!==null?Math.max(0,100-i):null;return{...e,compactsAutomatically:e.compactsAutomatically||n,maxTokens:r??void 0,remainingTokens:s,usedPercentage:i,remainingPercentage:o,updatedAt:t}}function Rge(e){const t=e.some(n=>n.kind==="compact_boundary"||n.kind==="compact_summary"||n.kind==="context_cleared");for(let n=e.length-1;n>=0;n-=1){const r=e[n];if(r&&!(r.kind!=="context_window_updated"||r.usage.usedTokens<=0))return K8(r.usage,new Date(r.createdAt).toISOString(),t)}return null}function Tge(e,t){return!e||t===null||!Number.isFinite(t)||t<=0?e:K8({...e,maxTokens:t},e.updatedAt,e.compactsAutomatically)}function sh(e){return e==null||!Number.isFinite(e)?"0":e<1e3?`${Math.round(e)}`:e<1e4?`${(e/1e3).toFixed(1).replace(/\.0$/,"")}k`:e<1e6?`${Math.round(e/1e3)}k`:`${(e/1e6).toFixed(1).replace(/\.0$/,"")}m`}const AE=[68,32];function Age(){return{isVisible:!1,mainSizes:[...AE],terminals:[],nextTerminalIndex:0}}function Nge(e,t){return e[t]??Age()}function SS(e){if(e.length===0)return[];const t=e.reduce((n,r)=>n+Math.max(r,0),0);return!Number.isFinite(t)||t<=0?Array.from({length:e.length},()=>100/e.length):e.map(n=>Math.max(n,0)/t*100)}function Mge(e){let t=e,n="";do n=String.fromCharCode(65+t%26)+n,t=Math.floor(t/26)-1;while(t>=0);return`Terminal ${n}`}function Lge(e){if(e.length===0)return e;const t=e.length+1;return e.map(n=>({...n,size:n.size*e.length/t}))}function $u(e,t,n){return{...e,[t]:n(Nge(e,t))}}const cl=Js()(Fp(e=>({projects:{},addTerminal:(t,n)=>e(r=>({projects:$u(r.projects,t,i=>{var c,d;const s=Lge(i.terminals),o={id:((d=(c=globalThis.crypto)==null?void 0:c.randomUUID)==null?void 0:d.call(c))??`terminal-${Date.now()}-${i.nextTerminalIndex}`,title:Mge(i.nextTerminalIndex),size:100/(s.length+1)},l=n?Math.max(s.findIndex(p=>p.id===n)+1,0):s.length;return{...i,isVisible:!0,nextTerminalIndex:i.nextTerminalIndex+1,terminals:[...s.slice(0,l),o,...s.slice(l)]}})})),removeTerminal:(t,n)=>e(r=>({projects:$u(r.projects,t,i=>{const s=i.terminals.filter(l=>l.id!==n);if(s.length===0)return{...i,isVisible:!1,terminals:[]};const o=SS(s.map(l=>l.size));return{...i,terminals:s.map((l,c)=>({...l,size:o[c]??100/s.length}))}})})),toggleVisibility:t=>e(n=>({projects:$u(n.projects,t,r=>({...r,isVisible:r.terminals.length>0?!r.isVisible:!1}))})),resetMainSizes:t=>e(n=>({projects:$u(n.projects,t,r=>({...r,mainSizes:[...AE]}))})),setMainSizes:(t,n)=>e(r=>{if(n.length!==2)return r;const i=SS(n);return{projects:$u(r.projects,t,s=>({...s,mainSizes:i}))}}),setTerminalSizes:(t,n)=>e(r=>({projects:$u(r.projects,t,i=>{if(n.length!==i.terminals.length)return i;const s=SS(n);return{...i,terminals:i.terminals.map((o,l)=>({...o,size:s[l]??o.size}))}})})),clearProject:t=>e(n=>{const{[t]:r,...i}=n.projects;return{projects:i}})}),{name:"terminal-layouts",version:1})),Dge={isVisible:!1,mainSizes:[...AE],terminals:[],nextTerminalIndex:0},Ige=35;function Pge(e,t){return!Number.isFinite(e)||e<=0||!Number.isFinite(t)||t<=0?0:e*(t/100)}function jge(e,t){const n=Pge(e,t);return n>=0&&n<Ige}const F0=350,Oge=[.4,0,.2,1],zge=8,zD=1e-6;function Bge(e,t,n){const r=1-e;return 3*r*r*e*t+3*r*e*e*n+e*e*e}function Fge(e,t,n){const r=1-e;return 3*r*r*e*t+3*r*e*e*n+e*e*e}function $ge(e,t,n){const r=1-e;return 3*r*r*t+6*r*e*(n-t)+3*e*e*(1-n)}function Hge(e,t,n){let r=e;for(let i=0;i<zge;i+=1){const s=Bge(r,t,n)-e;if(Math.abs(s)<zD)return r;const o=$ge(r,t,n);if(Math.abs(o)<zD)break;r-=s/o}return r}function Uge(e){if(e<=0)return 0;if(e>=1)return 1;const[t,n,r,i]=Oge,s=Hge(e,t,r);return Fge(s,n,i)}function Y8(e,t,n){const r=Uge(n);return[e[0]+(t[0]-e[0])*r,e[1]+(t[1]-e[1])*r]}function Vge({projectId:e,shouldRenderRightSidebarLayout:t,showRightSidebar:n,rightSidebarSize:r}){const i=b.useRef(null),s=b.useRef(null),o=b.useRef(null),l=b.useRef(null),c=b.useRef(null),d=b.useRef(!1),p=b.useRef(null),h=b.useRef(!1),g=b.useRef(!1);return b.useEffect(()=>()=>{l.current!==null&&window.cancelAnimationFrame(l.current),c.current!==null&&window.clearTimeout(c.current)},[]),b.useLayoutEffect(()=>{var M,D,W,I,$,B;if(!t){l.current!==null&&(window.cancelAnimationFrame(l.current),l.current=null),c.current!==null&&(window.clearTimeout(c.current),c.current=null),d.current=!1;return}const v=i.current;if(!v)return;l.current!==null&&(window.cancelAnimationFrame(l.current),l.current=null),c.current!==null&&(window.clearTimeout(c.current),c.current=null);const _=p.current,x=_!==null&&_!==e,w=n&&!g.current,C=!h.current,k=n?[100-r,r]:[100,0],R=x||C&&n,T=w||C?[100,0]:[v.getLayout().workspace??k[0],v.getLayout().rightSidebar??k[1]];if(p.current=e,h.current=t,g.current=n,R||Math.abs(T[0]-k[0])<.1&&Math.abs(T[1]-k[1])<.1){v.setLayout({workspace:k[0],rightSidebar:k[1]}),(M=s.current)==null||M.setAttribute("data-right-sidebar-open",n?"true":"false"),(D=o.current)==null||D.setAttribute("data-right-sidebar-open",n?"true":"false"),(W=o.current)==null||W.setAttribute("data-right-sidebar-animated","false");return}d.current=!0,(I=s.current)==null||I.setAttribute("data-right-sidebar-open",n?"true":"false"),($=o.current)==null||$.setAttribute("data-right-sidebar-open",n?"true":"false"),(B=o.current)==null||B.setAttribute("data-right-sidebar-animated","true"),v.setLayout({workspace:T[0],rightSidebar:T[1]});const A=performance.now(),N=j=>{const F=Math.min(1,(j-A)/F0),V=Y8(T,k,F);if(v.setLayout({workspace:V[0],rightSidebar:V[1]}),F<1){l.current=window.requestAnimationFrame(N);return}v.setLayout({workspace:k[0],rightSidebar:k[1]}),l.current=null,c.current=window.setTimeout(()=>{d.current=!1,c.current=null},0)};l.current=window.requestAnimationFrame(N)},[e,r,t,n]),b.useEffect(()=>{t||(h.current=!1,g.current=!1)},[t]),{isAnimating:d,panelGroupRef:i,sidebarPanelRef:s,sidebarVisualRef:o}}function Wge(e){return e.visibilityState==="visible"?e.activeChatId:null}function Gge(e){e.socket.setFocusedChat(Wge({activeChatId:e.activeChatId,visibilityState:e.visibilityState}))}function qge({socket:e,activeChatId:t}){b.useEffect(()=>{if(typeof document>"u")return;const n=()=>{Gge({socket:e,activeChatId:t,visibilityState:document.visibilityState})};return n(),document.addEventListener("visibilitychange",n),window.addEventListener("pagehide",n),window.addEventListener("pageshow",n),()=>{document.removeEventListener("visibilitychange",n),window.removeEventListener("pagehide",n),window.removeEventListener("pageshow",n),e.setFocusedChat(null)}},[e,t])}function Kge({rootRef:e,fallbackRef:t,enabled:n,canCancel:r}){b.useEffect(()=>{if(!n)return;let i=0,s=null;const o=h=>{const g=h instanceof Element?h:null,v=e.current,_=t.current;if(AN({trigger:"pointer",activeElement:document.activeElement,pointerStartTarget:s,pointerEndTarget:g,root:v,fallback:_,hasActiveOverlay:TN(document),hasActiveSelection:rK(window.getSelection())})!=="restore"){s=null;return}_==null||_.focus({preventScroll:!0}),s=null},l=h=>{cancelAnimationFrame(i),s=h.target instanceof Element?h.target:null},c=h=>{cancelAnimationFrame(i),i=window.requestAnimationFrame(()=>{o(h.target)})},d=()=>{s=null;const h=t.current;!h||h.disabled||h.focus({preventScroll:!0})},p=h=>{if(h.key!=="Escape")return;const g=t.current;AN({trigger:"escape",activeElement:document.activeElement,fallback:g,hasActiveOverlay:TN(document),canCancel:r,defaultPrevented:h.defaultPrevented})==="escape-focus"&&(h.preventDefault(),g==null||g.focus({preventScroll:!0}))};return window.addEventListener("pointerdown",l,!0),window.addEventListener("pointerup",c,!0),window.addEventListener("keydown",p,!0),window.addEventListener(Bv,d),()=>{cancelAnimationFrame(i),window.removeEventListener("pointerdown",l,!0),window.removeEventListener("pointerup",c,!0),window.removeEventListener("keydown",p,!0),window.removeEventListener(Bv,d)}},[r,n,t,e])}function Yge(e){const t=e.previousProjectId!==null&&e.previousProjectId!==e.projectId,n=e.previousProjectId===null&&e.projectId!==null;return!t&&!n&&e.showTerminalPane&&!e.wasTerminalVisible}function Xge({previousProjectId:e,projectId:t,previousShouldRenderTerminalLayout:n,previousShowTerminalPane:r,showTerminalPane:i,terminalLayout:s,liveLayout:o}){const l=e!==null&&e!==t,c=i&&!r,d=!n,p=e===null&&t!==null,h=i?s.mainSizes:[100,0];return{currentLayout:c||d?[100,0]:o,shouldSkipAnimation:l||p&&d,targetLayout:h}}function Qge({chatInputRef:e,projectId:t,shouldRenderTerminalLayout:n,showTerminalPane:r,terminalLayout:i}){const s=b.useRef(null),o=b.useRef(null),l=b.useRef(null),c=b.useRef(null),d=b.useRef(null),p=b.useRef(!1),h=b.useRef(null),g=b.useRef(!1),v=b.useRef(!1),_=b.useRef(!1),[x,w]=b.useState(0);return b.useEffect(()=>{var R;const C=h.current,k=_.current;Yge({previousProjectId:C,projectId:t,showTerminalPane:r,wasTerminalVisible:k})&&w(T=>T+1),C!==null&&C===t&&!r&&k&&((R=e.current)==null||R.focus({preventScroll:!0})),_.current=r,h.current=t},[e,t,r]),b.useEffect(()=>()=>{c.current!==null&&window.cancelAnimationFrame(c.current),d.current!==null&&window.clearTimeout(d.current)},[]),b.useLayoutEffect(()=>{var D,W,I,$,B,j;if(!n){c.current!==null&&(window.cancelAnimationFrame(c.current),c.current=null),d.current!==null&&(window.clearTimeout(d.current),d.current=null),p.current=!1;return}const C=s.current;if(!C)return;c.current!==null&&(window.cancelAnimationFrame(c.current),c.current=null),d.current!==null&&(window.clearTimeout(d.current),d.current=null);const k=h.current,{currentLayout:R,shouldSkipAnimation:T,targetLayout:A}=Xge({previousProjectId:k,projectId:t,previousShouldRenderTerminalLayout:g.current,previousShowTerminalPane:v.current,showTerminalPane:r,terminalLayout:i,liveLayout:[C.getLayout().chat??i.mainSizes[0],C.getLayout().terminal??i.mainSizes[1]]});if(g.current=n,v.current=r,T||Math.abs(R[0]-A[0])<.1&&Math.abs(R[1]-A[1])<.1){C.setLayout({chat:A[0],terminal:A[1]}),(D=o.current)==null||D.setAttribute("data-terminal-open",r?"true":"false"),(W=l.current)==null||W.setAttribute("data-terminal-open",r?"true":"false"),(I=l.current)==null||I.setAttribute("data-terminal-animated","false");return}p.current=!0,($=o.current)==null||$.setAttribute("data-terminal-open",r?"true":"false"),(B=l.current)==null||B.setAttribute("data-terminal-open",r?"true":"false"),(j=l.current)==null||j.setAttribute("data-terminal-animated","true"),C.setLayout({chat:R[0],terminal:R[1]});const N=performance.now(),M=F=>{const V=Math.min(1,(F-N)/F0),z=Y8(R,A,V);if(C.setLayout({chat:z[0],terminal:z[1]}),V<1){c.current=window.requestAnimationFrame(M);return}C.setLayout({chat:A[0],terminal:A[1]}),c.current=null,d.current=window.setTimeout(()=>{p.current=!1,d.current=null},0)};c.current=window.requestAnimationFrame(M)},[t,n,r,i.mainSizes]),b.useEffect(()=>{n||(g.current=!1,v.current=!1)},[n]),{isAnimating:p,mainPanelGroupRef:s,terminalFocusRequestVersion:x,terminalPanelRef:o,terminalVisualRef:l}}const BD=e=>Symbol.iterator in e,FD=e=>"entries"in e,$D=(e,t)=>{const n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(const[i,s]of n)if(!r.has(i)||!Object.is(s,r.get(i)))return!1;return!0},Zge=(e,t)=>{const n=e[Symbol.iterator](),r=t[Symbol.iterator]();let i=n.next(),s=r.next();for(;!i.done&&!s.done;){if(!Object.is(i.value,s.value))return!1;i=n.next(),s=r.next()}return!!i.done&&!!s.done};function Jge(e,t){return Object.is(e,t)?!0:typeof e!="object"||e===null||typeof t!="object"||t===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:BD(e)&&BD(t)?FD(e)&&FD(t)?$D(e,t):Zge(e,t):$D({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function HD(e){const t=An.useRef(void 0);return n=>{const r=e(n);return Jge(t.current,r)?t.current:t.current=r}}const Sv="__new__";function oc(e){var s,o;const t=(s=e==null?void 0:e.modelOptions)==null?void 0:s.reasoningEffort,n=lM(t)?t:lM(e==null?void 0:e.effort)?e.effort:Jh.reasoningEffort,r=iee(e==null?void 0:e.model),i=Rk(r,(o=e==null?void 0:e.modelOptions)==null?void 0:o.contextWindow);return{model:r,modelOptions:{reasoningEffort:!O3(r)&&n==="max"?"high":n,contextWindow:i},planMode:!!(e!=null&&e.planMode)}}function Ug(e){var n,r;const t=(n=e==null?void 0:e.modelOptions)==null?void 0:n.reasoningEffort;return{model:see(e==null?void 0:e.model),modelOptions:{reasoningEffort:cM(t)?t:cM(e==null?void 0:e.effort)?e.effort:Cw.reasoningEffort,fastMode:typeof((r=e==null?void 0:e.modelOptions)==null?void 0:r.fastMode)=="boolean"?e.modelOptions.fastMode:Cw.fastMode},planMode:!!(e!=null&&e.planMode)}}function eve(){return{claude:{model:"claude-opus-4-7",modelOptions:{...Jh},planMode:!1},codex:{model:"gpt-5.5",modelOptions:{...Cw},planMode:!1}}}function tve(e,t){if(t===void 0){console.info(`[chat-preferences] ${e}`);return}console.info(`[chat-preferences] ${e}`,t)}function wb(e,t){if(e==="claude"){const r=t.claude;return{provider:"claude",model:r.model,modelOptions:{...r.modelOptions},planMode:r.planMode}}const n=t.codex;return{provider:"codex",model:n.model,modelOptions:{...n.modelOptions},planMode:n.planMode}}function Cb(e){return e.provider==="claude"?{provider:"claude",model:e.model,modelOptions:{...e.modelOptions},planMode:e.planMode}:{provider:"codex",model:e.model,modelOptions:{...e.modelOptions},planMode:e.planMode}}function X8(e){return e.defaultProvider==="last_used"?e.sourceState?Cb(e.sourceState):e.legacyComposerState?Cb(e.legacyComposerState):wb("claude",e.providerDefaults):wb(e.defaultProvider,e.providerDefaults)}function Q8(e,t){const n=e.chatStates[t];return n||X8({defaultProvider:e.defaultProvider,providerDefaults:e.providerDefaults,legacyComposerState:e.legacyComposerState})}function Vg(e,t,n){const r=Q8(e,t);return{chatStates:{...e.chatStates,[t]:n(r)}}}const di=Js()((e,t)=>({defaultProvider:"last_used",providerDefaults:eve(),chatStates:{},legacyComposerState:{provider:"claude",model:"claude-opus-4-7",modelOptions:{...Jh},planMode:!1},setDefaultProvider:n=>e({defaultProvider:n}),setProviderDefaultModel:(n,r)=>e(i=>({providerDefaults:{...i.providerDefaults,[n]:n==="claude"?oc({...i.providerDefaults.claude,model:r}):Ug({...i.providerDefaults.codex,model:r})}})),setProviderDefaultModelOptions:(n,r)=>e(i=>({providerDefaults:{...i.providerDefaults,[n]:n==="claude"?oc({...i.providerDefaults.claude,modelOptions:{...i.providerDefaults.claude.modelOptions,...r}}):Ug({...i.providerDefaults.codex,modelOptions:{...i.providerDefaults.codex.modelOptions,...r}})}})),setProviderDefaultPlanMode:(n,r)=>e(i=>({providerDefaults:{...i.providerDefaults,[n]:{...i.providerDefaults[n],planMode:r}}})),getComposerState:n=>Cb(Q8(t(),n)),initializeComposerForChat:(n,r)=>e(i=>{if(i.chatStates[n])return i;const s=X8({defaultProvider:i.defaultProvider,providerDefaults:i.providerDefaults,sourceState:r==null?void 0:r.sourceState,legacyComposerState:i.legacyComposerState});return tve("initializeComposerForChat",{chatId:n,composerState:s}),{chatStates:{...i.chatStates,[n]:s}}}),setComposerState:(n,r)=>e(i=>({chatStates:{...i.chatStates,[n]:r.provider==="claude"?{provider:"claude",model:oc(r).model,modelOptions:oc(r).modelOptions,planMode:r.planMode}:Cb(r)}})),setChatComposerProvider:(n,r)=>e(i=>Vg(i,n,()=>wb(r,i.providerDefaults))),setChatComposerModel:(n,r)=>e(i=>Vg(i,n,s=>s.provider==="claude"?{provider:"claude",model:oc({...s,model:r}).model,modelOptions:oc({...s,model:r}).modelOptions,planMode:s.planMode}:{provider:"codex",model:r,modelOptions:Ug({...s,model:r}).modelOptions,planMode:s.planMode})),setChatComposerModelOptions:(n,r)=>e(i=>Vg(i,n,s=>s.provider==="claude"?{provider:"claude",model:s.model,modelOptions:oc({...s,modelOptions:{...s.modelOptions,...r}}).modelOptions,planMode:s.planMode}:{provider:"codex",model:s.model,modelOptions:Ug({...s,modelOptions:{...s.modelOptions,...r}}).modelOptions,planMode:s.planMode})),setChatComposerPlanMode:(n,r)=>e(i=>Vg(i,n,s=>({...s,planMode:r}))),resetChatComposerFromProvider:(n,r)=>e(i=>({chatStates:{...i.chatStates,[n]:wb(r,i.providerDefaults)}}))})),w1=Js()(Fp((e,t)=>({drafts:{},attachmentDrafts:{},setDraft:(n,r)=>e(i=>{if(!r){const{[n]:s,...o}=i.drafts;return{drafts:o}}return{drafts:{...i.drafts,[n]:r}}}),clearDraft:n=>e(r=>{const{[n]:i,...s}=r.drafts;return{drafts:s}}),getDraft:n=>t().drafts[n]??"",setAttachmentDrafts:(n,r)=>e(i=>{if(r.length===0){const{[n]:s,...o}=i.attachmentDrafts;return{attachmentDrafts:o}}return{attachmentDrafts:{...i.attachmentDrafts,[n]:r}}}),clearAttachmentDrafts:n=>e(r=>{const{[n]:i,...s}=r.attachmentDrafts;return{attachmentDrafts:s}}),getAttachmentDrafts:n=>t().attachmentDrafts[n]??[]}),{name:"chat-input-drafts"})),NE=Js()(e=>({byChatId:{},loadingByChatId:{},setForChat:(t,n)=>e(r=>({byChatId:{...r.byChatId,[t]:n}})),setLoadingForChat:(t,n)=>e(r=>(r.loadingByChatId[t]??!1)===n?r:{loadingByChatId:{...r.loadingByChatId,[t]:n}}),clear:t=>e(n=>{const r=t in n.byChatId,i=t in n.loadingByChatId;if(!r&&!i)return n;const{[t]:s,...o}=n.byChatId,{[t]:l,...c}=n.loadingByChatId;return{byChatId:o,loadingByChatId:c}})}));function nve(e){return{autoResumeOnRateLimit:!!(e!=null&&e.autoResumeOnRateLimit)}}const kb=Js()(Fp(e=>({autoResumeOnRateLimit:!1,setAutoResumeOnRateLimit:t=>e({autoResumeOnRateLimit:t})}),{name:"kanna-preferences",version:1,migrate:e=>nve(e)}));function rve(e,t){var n,r,i,s,o,l,c;return{...e,...t,terminal:{...e.terminal,...t.terminal},editor:{...e.editor,...t.editor},providerDefaults:{claude:{...e.providerDefaults.claude,...(n=t.providerDefaults)==null?void 0:n.claude,modelOptions:{...e.providerDefaults.claude.modelOptions,...(i=(r=t.providerDefaults)==null?void 0:r.claude)==null?void 0:i.modelOptions}},codex:{...e.providerDefaults.codex,...(s=t.providerDefaults)==null?void 0:s.codex,modelOptions:{...e.providerDefaults.codex.modelOptions,...(l=(o=t.providerDefaults)==null?void 0:o.codex)==null?void 0:l.modelOptions}}},cloudflareTunnel:{...e.cloudflareTunnel,...t.cloudflareTunnel},claudeAuth:{tokens:((c=t.claudeAuth)==null?void 0:c.tokens)??e.claudeAuth.tokens},auth:{...e.auth,...t.auth},uploads:{...e.uploads,...t.uploads}}}const sa=Js()(e=>({settings:null,hydrationStatus:"idle",setHydrationStatus:t=>e({hydrationStatus:t}),setFromServer:t=>e({settings:t,hydrationStatus:"ready"}),applyOptimisticPatch:t=>e(n=>({settings:n.settings?rve(n.settings,t):n.settings}))})),Z8=b.createContext(void 0),ive=e=>e==="light"||e==="dark"||e==="system";function sve(e){return e==="dark"?"black-translucent":"default"}function UD(e,t){if(typeof document>"u")return;let n=document.head.querySelector(`meta[name="${e}"]`);n||(n=document.createElement("meta"),n.setAttribute("name",e),document.head.appendChild(n)),n.setAttribute("content",t)}function VD(e){if(typeof document>"u"||typeof window>"u")return;const t=getComputedStyle(document.body).backgroundColor||getComputedStyle(document.documentElement).backgroundColor;t&&UD("theme-color",t),UD("apple-mobile-web-app-status-bar-style",sve(e)),document.documentElement.style.colorScheme=e}const wv=()=>typeof window>"u"?"light":window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",WD=e=>{if(typeof document>"u")return;const t=e==="system"?wv():e;document.documentElement.classList.toggle("dark",t==="dark")},ove=()=>{var t;const e=(t=sa.getState().settings)==null?void 0:t.theme;return e&&ive(e)?e:"system"};function ave({children:e}){const t=sa(o=>{var l;return(l=o.settings)==null?void 0:l.theme}),n=sa(o=>o.applyOptimisticPatch),[r,i]=b.useState(ove);b.useEffect(()=>{!t||t===r||i(t)},[t,r]),b.useEffect(()=>{WD(r)},[r]),b.useEffect(()=>{const o=r==="system"?wv():r;VD(o)},[r]),b.useEffect(()=>{if(r!=="system")return;const o=window.matchMedia("(prefers-color-scheme: dark)"),l=()=>{WD("system"),VD(wv())};return o.addEventListener?(o.addEventListener("change",l),()=>o.removeEventListener("change",l)):(o.addListener(l),()=>o.removeListener(l))},[r]);const s=b.useMemo(()=>{const o=r==="system"?wv():r;return{theme:r,resolvedTheme:o,setTheme:l=>{i(l),n({theme:l})}}},[n,r]);return f.jsx(Z8.Provider,{value:s,children:e})}function ME(){const e=b.useContext(Z8);if(!e)throw new Error("useTheme must be used within ThemeProvider");return e}function oh(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function GD(e){if(typeof e!="string")return e;try{return JSON.parse(e)}catch{return e}}function lve(e){const t=e&&typeof e=="object"&&"content"in e&&Array.isArray(e.content)?e.content:Array.isArray(e)?e:[],n=[];for(const r of t)if(!(!r||typeof r!="object"||!("type"in r))){if(r.type==="text"&&typeof r.text=="string"){n.push({type:"text",text:r.text});continue}if(r.type==="image"){if("data"in r&&typeof r.data=="string"){n.push({type:"image",data:r.data,mimeType:typeof r.mimeType=="string"?r.mimeType:void 0});continue}"source"in r&&r.source&&typeof r.source=="object"&&"type"in r.source&&r.source.type==="base64"&&"data"in r.source&&typeof r.source.data=="string"&&n.push({type:"image",data:r.source.data,mimeType:typeof r.source.media_type=="string"?r.source.media_type:void 0})}}return n}function cve(e){const t=e&&typeof e=="object"&&"content"in e&&Array.isArray(e.content)?e.content:Array.isArray(e)?e:null;if(!t)return null;const n=[];for(const r of t)r&&typeof r=="object"&&"type"in r&&r.type==="text"&&typeof r.text=="string"&&n.push(r.text);return n.length>0?n.join(""):null}function uve(e,t){const n=GD(t);switch(e.toolKind){case"ask_user_question":{const s=oh(n),o=oh(s==null?void 0:s.answers)??(s||{});return{answers:Object.fromEntries(Object.entries(o).map(([l,c])=>Array.isArray(c)?[l,c.map(d=>String(d))]:c&&typeof c=="object"&&Array.isArray(c.answers)?[l,c.answers.map(d=>String(d))]:c==null||c===""?[l,[]]:[l,[String(c)]])),...(s==null?void 0:s.discarded)===!0?{discarded:!0}:{}}}case"exit_plan_mode":{const s=oh(n);return{confirmed:typeof(s==null?void 0:s.confirmed)=="boolean"?s.confirmed:void 0,clearContext:typeof(s==null?void 0:s.clearContext)=="boolean"?s.clearContext:void 0,message:typeof(s==null?void 0:s.message)=="string"?s.message:void 0,...(s==null?void 0:s.discarded)===!0?{discarded:!0}:{}}}case"offer_download":{const s=cve(n),o=s?GD(s):n,l=oh(o);return{contentUrl:typeof(l==null?void 0:l.contentUrl)=="string"?l.contentUrl:"",relativePath:typeof(l==null?void 0:l.relativePath)=="string"?l.relativePath:"",fileName:typeof(l==null?void 0:l.fileName)=="string"?l.fileName:"",displayName:typeof(l==null?void 0:l.displayName)=="string"?l.displayName:typeof(l==null?void 0:l.fileName)=="string"?l.fileName:"",size:typeof(l==null?void 0:l.size)=="number"?l.size:0,...typeof(l==null?void 0:l.mimeType)=="string"?{mimeType:l.mimeType}:{}}}case"read_file":if(typeof n=="string")return n;const r=lve(n);if(r.length>0)return{content:r.flatMap(s=>s.type==="text"?[s.text]:[]).join(""),blocks:r};const i=oh(n);return{content:typeof(i==null?void 0:i.content)=="string"?i.content:JSON.stringify(n,null,2)};default:return n}}function J8(e){return new Date(e).toISOString()}function Fi(e){return{id:e._id,messageId:e.messageId,timestamp:J8(e.createdAt),hidden:e.hidden}}function dve(e){return{id:e._id,messageId:e.messageId,hidden:e.hidden,kind:"tool",toolKind:e.tool.toolKind,toolName:e.tool.toolName,toolId:e.tool.toolId,input:e.tool.input,timestamp:J8(e.createdAt)}}function fve(e){if(e.debugRaw)try{return JSON.parse(e.debugRaw).tool_use_result}catch{return}}function hve(e){const t=new Map,n=[];for(const r of e)switch(r.kind){case"user_prompt":n.push({...Fi(r),kind:"user_prompt",content:r.content,attachments:r.attachments??[],steered:r.steered,autoContinue:r.autoContinue});break;case"system_init":n.push({...Fi(r),kind:"system_init",provider:r.provider,model:r.model,tools:r.tools,agents:r.agents,slashCommands:r.slashCommands,mcpServers:r.mcpServers,debugRaw:r.debugRaw});break;case"account_info":n.push({...Fi(r),kind:"account_info",accountInfo:r.accountInfo});break;case"assistant_text":n.push({...Fi(r),kind:"assistant_text",text:r.text});break;case"tool_call":{const i=dve(r);t.set(r.tool.toolId,{hydrated:i,normalized:r.tool}),n.push(i);break}case"tool_result":{const i=t.get(r.toolId);if(i){const s=i.normalized.toolKind==="ask_user_question"||i.normalized.toolKind==="exit_plan_mode"?fve(r)??r.content:r.content;i.hydrated.result=uve(i.normalized,s),i.hydrated.rawResult=s,i.hydrated.isError=r.isError}break}case"result":n.push({...Fi(r),kind:"result",success:!r.isError,cancelled:r.subtype==="cancelled",result:r.result,durationMs:r.durationMs,costUsd:r.costUsd});break;case"status":n.push({...Fi(r),kind:"status",status:r.status});break;case"context_window_updated":n.push({...Fi(r),kind:"context_window_updated",usage:r.usage});break;case"compact_boundary":n.push({...Fi(r),kind:"compact_boundary"});break;case"compact_summary":n.push({...Fi(r),kind:"compact_summary",summary:r.summary});break;case"context_cleared":n.push({...Fi(r),kind:"context_cleared"});break;case"interrupted":n.push({...Fi(r),kind:"interrupted"});break;case"auto_continue_prompt":n.push({...Fi(r),kind:"auto_continue_prompt",scheduleId:r.scheduleId});break;default:n.push({...Fi(r),kind:"unknown",json:JSON.stringify(r,null,2)});break}return n}const pve=["AskUserQuestion","ExitPlanMode","TodoWrite"],mve=new Set(["TodoWrite"]);function gve(e,t){for(let n=e.length-1;n>=0;n-=1){const r=e[n];if(r.kind!=="tool")continue;const i=r;if(i.toolName===t&&!i.result)return i.id}return null}function vve(e,t){for(let n=e.length-1;n>=0;n-=1){const r=e[n];if(r.kind!=="tool")continue;const i=r;if(i.toolName===t)return i.id}return null}function bve(e){const t={};for(const n of pve)t[n]=mve.has(n)?vve(e,n):gve(e,n);return t}function yve(e){return e==="starting"||e==="running"||e==="waiting_for_user"}function _ve(e){return e==="starting"||e==="running"||e==="waiting_for_user"}const LE="pushDeviceId";function eB(){return typeof localStorage>"u"?null:localStorage.getItem(LE)}function xve(e){typeof localStorage>"u"||localStorage.setItem(LE,e)}function Sve(){typeof localStorage>"u"||localStorage.removeItem(LE)}function wve(){return!(typeof window>"u"||typeof Notification>"u"||!("serviceWorker"in navigator)||typeof globalThis.PushManager>"u")}function Cve(){var t;if(typeof window>"u")return!1;if(window.isSecureContext)return!0;const e=((t=window.location)==null?void 0:t.hostname)??"";return e==="localhost"||e==="127.0.0.1"||e==="::1"}function C1(){if(!wve())return{state:"unsupported"};if(!Cve())return{state:"insecure-context"};switch(Notification.permission){case"granted":return{state:"granted"};case"denied":return{state:"denied"};default:return{state:"default"}}}function kve(e){if(typeof Buffer<"u")return new Uint8Array(Buffer.from(e,"base64url"));const t="=".repeat((4-e.length%4)%4),n=(e+t).replace(/-/g,"+").replace(/_/g,"/"),r=atob(n),i=new Uint8Array(r.length);for(let s=0;s<r.length;s+=1)i[s]=r.charCodeAt(s);return i}function Eve(e){const t=e||"";return/iPhone|iPad/i.test(t)?"iPhone / iPad":/Android/i.test(t)?"Android":/Macintosh/i.test(t)?"Mac":/Windows/i.test(t)?"Windows PC":t||"Browser"}async function Rve(e){const t=C1();if(t.state==="unsupported")throw new Error("Push not supported in this browser");if(t.state==="insecure-context")throw new Error("Push requires a secure context (HTTPS)");if(t.state==="denied")throw new Error("Notification permission previously denied");if(await Notification.requestPermission()!=="granted")throw new Error("Notification permission was not granted");const r=await navigator.serviceWorker.register("/sw.js");await navigator.serviceWorker.ready;const i=await r.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:kve(e.vapidPublicKey)}),s=i.toJSON(),o=s.endpoint??i.endpoint,l=s.keys??{};if(!o||!l.p256dh||!l.auth)throw new Error("Subscription returned without endpoint or keys");const c=navigator.userAgent??"",{id:d}=await e.sendToServer({subscription:{endpoint:o,keys:{p256dh:l.p256dh,auth:l.auth}},label:Eve(c),userAgent:c});return d}async function Tve(e){const n=await(await navigator.serviceWorker.ready).pushManager.getSubscription();n&&await n.unsubscribe(),await e.sendToServer(e.pushDeviceId)}typeof navigator<"u"&&"serviceWorker"in navigator&&navigator.serviceWorker.addEventListener("message",e=>{const t=e.data;(t==null?void 0:t.type)==="kanna.navigate"&&typeof t.url=="string"&&(window.location.href=t.url)});const Ave=25e3,Nve=15e3,Mve=4e3,qD="kanna:profile-send-to-starting";function KD(){try{return window.sessionStorage.getItem(qD)==="1"||window.localStorage.getItem(qD)==="1"}catch{return!1}}class Lve{constructor(t){ne(this,"url");ne(this,"ws",null);ne(this,"started",!1);ne(this,"reconnectTimer",null);ne(this,"reconnectDelayMs",750);ne(this,"subscriptions",new Map);ne(this,"pending",new Map);ne(this,"outboundQueue",[]);ne(this,"statusListeners",new Set);ne(this,"heartbeatTimer",null);ne(this,"pingTimeoutTimer",null);ne(this,"pingPromise",null);ne(this,"lastOpenAt",0);ne(this,"lastMessageAt",0);ne(this,"reconnectImmediatelyOnClose",!1);ne(this,"handleWindowFocus",()=>{this.ensureHealthyConnection()});ne(this,"handleVisibilityChange",()=>{if(document.visibilityState==="visible"){this.startHeartbeat(),this.ensureHealthyConnection();return}this.stopHeartbeat()});ne(this,"handleOnline",()=>{this.ensureHealthyConnection()});this.url=t}start(){this.started||(this.started=!0,window.addEventListener("focus",this.handleWindowFocus),window.addEventListener("online",this.handleOnline),document.addEventListener("visibilitychange",this.handleVisibilityChange),this.connect())}dispose(){var t;this.started=!1,this.reconnectTimer&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.stopHeartbeat(),this.clearPingState(),window.removeEventListener("focus",this.handleWindowFocus),window.removeEventListener("online",this.handleOnline),document.removeEventListener("visibilitychange",this.handleVisibilityChange),(t=this.ws)==null||t.close(),this.ws=null;for(const n of this.pending.values())n.reject(new Error("Socket disposed"));this.pending.clear()}onStatus(t){return this.statusListeners.add(t),t(this.getStatus()),()=>{this.statusListeners.delete(t)}}subscribe(t,n,r){const i=dc();return this.subscriptions.set(i,{topic:t,listener:n,eventListener:r}),this.enqueue({v:1,type:"subscribe",id:i,topic:t}),()=>{this.subscriptions.delete(i),this.enqueue({v:1,type:"unsubscribe",id:i})}}subscribeTerminal(t,n){const r=dc(),i={type:"terminal",terminalId:t};return this.subscriptions.set(r,{topic:i,listener:n.onSnapshot,eventListener:n.onEvent}),this.enqueue({v:1,type:"subscribe",id:r,topic:i}),()=>{this.subscriptions.delete(r),this.enqueue({v:1,type:"unsubscribe",id:r})}}command(t){const n=dc(),r={v:1,type:"command",id:n,command:t};return new Promise((i,s)=>{this.pending.set(n,{resolve:i,reject:s}),this.enqueue(r)})}setFocusedChat(t){const n=dc();this.enqueue({v:1,type:"command",id:n,command:{type:"push.setFocusedChat",chatId:t}})}ensureHealthyConnection(){return!this.ws||this.ws.readyState===WebSocket.CLOSED||this.ws.readyState===WebSocket.CLOSING?(this.reconnectNow(),Promise.resolve()):this.ws.readyState===WebSocket.CONNECTING||!this.isConnectionStale()?Promise.resolve():this.sendPing()}connect(){this.started&&(this.emitStatus("connecting"),this.ws=new WebSocket(this.url),this.ws.addEventListener("open",()=>{this.reconnectDelayMs=750,this.reconnectImmediatelyOnClose=!1,this.lastOpenAt=Date.now(),this.lastMessageAt=this.lastOpenAt,this.emitStatus("connected"),this.startHeartbeat();for(const[n,r]of this.subscriptions.entries())this.sendNow({v:1,type:"subscribe",id:n,topic:r.topic});for(;this.outboundQueue.length>0;){const n=this.outboundQueue.shift();n&&this.sendNow(n)}const t=eB();t&&this.sendNow({v:1,type:"command",id:dc(),command:{type:"push.identifyDevice",pushDeviceId:t}})}),this.ws.addEventListener("message",t=>{var s,o;this.lastMessageAt=Date.now();const n=performance.now(),r=String(t.data);let i;try{i=JSON.parse(r)}catch{return}if(KD()&&i.type==="snapshot"&&i.snapshot.type==="chat"&&((s=i.snapshot.data)==null?void 0:s.runtime.status)==="starting"&&console.debug("[kanna/send->starting][client-ws]",{stage:"socket_message_received",receivedAt:n,payloadBytes:r.length,chatId:i.snapshot.data.runtime.chatId,status:i.snapshot.data.runtime.status,messageCount:i.snapshot.data.messages.length}),KD()&&i.type==="ack"&&console.debug("[kanna/send->starting][client-ws]",{stage:"socket_ack_received",receivedAt:n,payloadBytes:r.length,commandId:i.id}),i.type==="snapshot"){const l=this.subscriptions.get(i.id);l==null||l.listener(i.snapshot.data);return}if(i.type==="event"){const l=this.subscriptions.get(i.id);(o=l==null?void 0:l.eventListener)==null||o.call(l,i.event);return}if(i.type==="ack"){const l=this.pending.get(i.id);if(!l)return;this.pending.delete(i.id),l.resolve(i.result);return}if(i.type==="error"){if(!i.id){console.error(rX,i.message);return}const l=this.pending.get(i.id);if(!l)return;this.pending.delete(i.id),l.reject(new Error(i.message))}}),this.ws.addEventListener("close",()=>{if(!this.started)return;const t=this.reconnectImmediatelyOnClose;this.reconnectImmediatelyOnClose=!1,this.stopHeartbeat(),this.clearPingState(),this.emitStatus("disconnected");for(const n of this.pending.values())n.reject(new Error("Disconnected"));if(this.pending.clear(),t){this.connect();return}this.scheduleReconnect()}))}scheduleReconnect(){this.reconnectTimer===null&&(this.reconnectTimer=window.setTimeout(()=>{this.reconnectTimer=null,this.connect(),this.reconnectDelayMs=Math.min(this.reconnectDelayMs*2,5e3)},this.reconnectDelayMs))}getStatus(){var t,n;return((t=this.ws)==null?void 0:t.readyState)===WebSocket.OPEN?"connected":((n=this.ws)==null?void 0:n.readyState)===WebSocket.CONNECTING?"connecting":"disconnected"}emitStatus(t){for(const n of this.statusListeners)n(t)}isConnectionStale(){const t=Math.max(this.lastMessageAt,this.lastOpenAt);return t>0&&Date.now()-t>=Ave}sendPing(){if(this.pingPromise)return this.pingPromise;const t=this.command({type:"system.ping"}).then(()=>{this.clearPingState()}).catch(n=>{throw this.clearPingState(),this.reconnectNow(),n});return this.pingTimeoutTimer=window.setTimeout(()=>{this.clearPingState(),this.reconnectNow()},Mve),this.pingPromise=t,t}reconnectNow(){if(this.reconnectTimer!==null&&(window.clearTimeout(this.reconnectTimer),this.reconnectTimer=null),!this.ws||this.ws.readyState===WebSocket.CLOSED){this.connect();return}this.ws.readyState!==WebSocket.CONNECTING&&(this.reconnectImmediatelyOnClose=!0,this.ws.close())}startHeartbeat(){document.visibilityState==="visible"&&this.heartbeatTimer===null&&(this.heartbeatTimer=window.setInterval(()=>{var t;if(document.visibilityState!=="visible"){this.stopHeartbeat();return}((t=this.ws)==null?void 0:t.readyState)===WebSocket.OPEN&&this.ensureHealthyConnection()},Nve))}stopHeartbeat(){this.heartbeatTimer!==null&&(window.clearInterval(this.heartbeatTimer),this.heartbeatTimer=null)}clearPingState(){this.pingTimeoutTimer!==null&&(window.clearTimeout(this.pingTimeoutTimer),this.pingTimeoutTimer=null),this.pingPromise=null}enqueue(t){var n;if(((n=this.ws)==null?void 0:n.readyState)===WebSocket.OPEN){this.sendNow(t);return}this.outboundQueue.push(t)}sendNow(t){var n;(n=this.ws)==null||n.send(JSON.stringify(t))}}async function Dve(e){const{toast:t}=await K(async()=>{const{toast:r}=await import("./index-HXyRev17.js");return{toast:r}},[]);t(`${e} ${e===1?"process":"processes"} survived restart`,{description:"Review and stop them in Background tasks (⌘⇧B).",action:{label:"Review",onClick:()=>Hs.getState().openDialog()}})}function Ive(e,t){return e===t?!0:!e||!t?!1:e.chatId===t.chatId&&e.projectId===t.projectId&&e.localPath===t.localPath&&e.title===t.title&&e.status===t.status&&e.isDraining===t.isDraining&&e.provider===t.provider&&e.planMode===t.planMode&&e.sessionToken===t.sessionToken}function Pve(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((n,r)=>{var i;return n._id===((i=t[r])==null?void 0:i._id)})}function jve(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((n,r)=>{var i;return n.id===((i=t[r])==null?void 0:i.id)})}function Ove(e,t){return e===t?!0:!e||!t?!1:e.hasOlder===t.hasOlder&&e.olderCursor===t.olderCursor&&e.recentLimit===t.recentLimit}function zve(e,t){return e.id===t.id&&e.content===t.content&&e.createdAt===t.createdAt&&e.provider===t.provider&&e.model===t.model&&e.planMode===t.planMode&&JSON.stringify(e.modelOptions)===JSON.stringify(t.modelOptions)&&Bve(e.attachments,t.attachments)}function Bve(e,t){return e===t?!0:e.length!==t.length?!1:e.every((n,r)=>{const i=t[r];return!!i&&n.id===i.id&&n.kind===i.kind&&n.displayName===i.displayName&&n.absolutePath===i.absolutePath&&n.relativePath===i.relativePath&&n.contentUrl===i.contentUrl&&n.mimeType===i.mimeType&&n.size===i.size})}function Fve(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((n,r)=>zve(n,t[r]))}function $ve(e,t){var s,o;if(e===t)return!0;if(!e||!t||e.status!==t.status||e.branchName!==t.branchName||e.defaultBranchName!==t.defaultBranchName||e.hasOriginRemote!==t.hasOriginRemote||e.originRepoSlug!==t.originRepoSlug||e.hasUpstream!==t.hasUpstream||e.aheadCount!==t.aheadCount||e.behindCount!==t.behindCount||e.lastFetchedAt!==t.lastFetchedAt)return!1;const n=((s=e.branchHistory)==null?void 0:s.entries)??[],r=((o=t.branchHistory)==null?void 0:o.entries)??[];return n.length!==r.length||!n.every((l,c)=>{const d=r[c];return!!d&&l.sha===d.sha&&l.summary===d.summary&&l.description===d.description&&l.authorName===d.authorName&&l.authoredAt===d.authoredAt&&l.githubUrl===d.githubUrl&&l.tags.length===d.tags.length&&l.tags.every((p,h)=>p===d.tags[h])})||e.files.length!==t.files.length?!1:e.files.every((l,c)=>{const d=t.files[c];return!!d&&l.path===d.path&&l.changeType===d.changeType&&l.isUntracked===d.isUntracked&&l.additions===d.additions&&l.deletions===d.deletions&&l.patchDigest===d.patchDigest&&l.mimeType===d.mimeType&&l.size===d.size})}function Hve(e,t){return!!(e&&e.status!=="unknown"&&t&&t.status==="unknown"&&t.files.length===0)}function Uve(e,t){if(e===t)return!0;if(!e||!t)return!1;const n=Object.keys(e),r=Object.keys(t);return n.length!==r.length?!1:n.every(i=>{const s=e[i],o=t[i];return!s||!o?!1:s.state===o.state&&s.scheduledAt===o.scheduledAt&&s.resetAt===o.resetAt&&s.detectedAt===o.detectedAt&&s.tz===o.tz})}function Vve(e,t){if(e===t)return!0;if(!e||!t)return!1;const n=Object.keys(e),r=Object.keys(t);return n.length!==r.length?!1:n.every(i=>{const s=e[i],o=t[i];return!s||!o?!1:s.state===o.state&&s.url===o.url&&s.error===o.error&&s.port===o.port&&s.activatedAt===o.activatedAt&&s.stoppedAt===o.stoppedAt})}function Wve(e,t){return e===t?!0:!e||!t?!1:Ive(e.runtime,t.runtime)&&Fve(e.queuedMessages,t.queuedMessages)&&Pve(e.messages,t.messages)&&Ove(e.history,t.history)&&jve(e.availableProviders,t.availableProviders)&&Uve(e.schedules,t.schedules)&&e.liveScheduleId===t.liveScheduleId&&Vve(e.tunnels,t.tunnels)&&e.liveTunnelId===t.liveTunnelId}function YD(e,t){const n=new Map;for(const r of e)n.set(r._id,r);for(const r of t)n.set(r._id,r);return[...n.values()]}function Gve(e){for(let t=e.length-1;t>=0;t-=1){const n=e[t];if((n==null?void 0:n.kind)==="user_prompt"&&n.content.trim().length>0)return n.content}return null}const XD="__new_chat__",tB="lever-theme",nB="chat-sound-preferences",rB="terminal-preferences",iB="chat-preferences";function wS(e){if(typeof window>"u")return null;const t=window.localStorage.getItem(e);if(!t)return null;try{const n=JSON.parse(t);return n.state&&typeof n.state=="object"&&!Array.isArray(n.state)?n.state:null}catch{return null}}function qve(){if(typeof window>"u")return null;const e={},t=window.localStorage.getItem(tB);(t==="light"||t==="dark"||t==="system")&&(e.theme=t);const n=wS(nB);((n==null?void 0:n.chatSoundPreference)==="never"||(n==null?void 0:n.chatSoundPreference)==="unfocused"||(n==null?void 0:n.chatSoundPreference)==="always")&&(e.chatSoundPreference=n.chatSoundPreference),((n==null?void 0:n.chatSoundId)==="blow"||(n==null?void 0:n.chatSoundId)==="bottle"||(n==null?void 0:n.chatSoundId)==="frog"||(n==null?void 0:n.chatSoundId)==="funk"||(n==null?void 0:n.chatSoundId)==="glass"||(n==null?void 0:n.chatSoundId)==="ping"||(n==null?void 0:n.chatSoundId)==="pop"||(n==null?void 0:n.chatSoundId)==="purr"||(n==null?void 0:n.chatSoundId)==="tink")&&(e.chatSoundId=n.chatSoundId);const r=wS(rB);if(r){e.terminal={},typeof r.scrollbackLines=="number"&&(e.terminal.scrollbackLines=r.scrollbackLines),typeof r.minColumnWidth=="number"&&(e.terminal.minColumnWidth=r.minColumnWidth);const s={};(r.editorPreset==="cursor"||r.editorPreset==="vscode"||r.editorPreset==="xcode"||r.editorPreset==="windsurf"||r.editorPreset==="custom")&&(s.preset=r.editorPreset),typeof r.editorCommandTemplate=="string"&&(s.commandTemplate=r.editorCommandTemplate),Object.keys(s).length>0&&(e.editor=s)}const i=wS(iB);return((i==null?void 0:i.defaultProvider)==="last_used"||(i==null?void 0:i.defaultProvider)==="claude"||(i==null?void 0:i.defaultProvider)==="codex")&&(e.defaultProvider=i.defaultProvider),i!=null&&i.providerDefaults&&typeof i.providerDefaults=="object"&&(e.providerDefaults=i.providerDefaults),e.browserSettingsMigrated=!0,Object.keys(e).length>1?e:null}function Kve(){typeof window>"u"||(window.localStorage.removeItem(tB),window.localStorage.removeItem(nB),window.localStorage.removeItem(rB),window.localStorage.removeItem(iB))}function ah(e){sa.getState().setFromServer(e);const t=li.getState();t.setScrollbackLines(e.terminal.scrollbackLines),t.setMinColumnWidth(e.terminal.minColumnWidth),t.setEditorPreset(e.editor.preset),t.setEditorCommandTemplate(e.editor.commandTemplate);const n=gc.getState();n.setChatSoundPreference(e.chatSoundPreference),n.setChatSoundId(e.chatSoundId),di.setState({defaultProvider:e.defaultProvider,providerDefaults:e.providerDefaults})}function Yve(e){return JSON.stringify({id:e.id,kind:e.kind,displayName:e.displayName,relativePath:e.relativePath,mimeType:e.mimeType,size:e.size,contentUrl:e.contentUrl})}function DE(e,t=[]){return JSON.stringify({content:e,attachments:t.map(Yve)})}function Xve(e,t){return e.reduce((n,r)=>r.kind!=="user_prompt"?n:n+(DE(r.content,r.attachments??[])===t?1:0),0)}function Qve(e,t,n){const r=new Map;for(const i of n){if(i.kind!=="user_prompt")continue;const s=DE(i.content,i.attachments??[]);r.set(s,(r.get(s)??0)+1)}return e.filter(i=>i.scopeId!==t?!0:(r.get(i.signature)??0)<i.requiredMatchCount)}const Zve=200,Jve=500;function QD(e,t){var r;const n=e.find(i=>i.chats.some(s=>s.chatId===t));return n?((r=n.chats.find(i=>i.chatId!==t))==null?void 0:r.chatId)??null:null}function ZD(e,t){if(!(t!=null&&t.length)||e.length<=1)return e;const n=new Map(e.map((o,l)=>[o.groupKey,l])),r=new Set,i=t.map(o=>{if(r.has(o))return null;r.add(o);const l=n.get(o);return l===void 0?null:e[l]}).filter(o=>!!o);if(i.length===0)return e;const s=[...i,...e.filter(o=>!r.has(o.groupKey))];return s.every((o,l)=>o===e[l])?e:s}function ebe(e=document){return e.visibilityState==="visible"&&e.hasFocus()}function tbe(){return`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`}function nbe(){const e=b.useRef(null);return e.current||(e.current=new Lve(tbe())),b.useEffect(()=>{const t=e.current;return t==null||t.start(),()=>{t==null||t.dispose()}},[]),e.current}const JD="kanna:profile-send-to-starting";function rbe(){try{return window.sessionStorage.getItem(JD)==="1"||window.localStorage.getItem(JD)==="1"}catch{return!1}}function sB(e){return Number((performance.now()-e).toFixed(1))}function nl(e,t,n){!e||!rbe()||console.debug("[kanna/send->starting][client]",{traceId:e.traceId,stage:t,elapsedMs:sB(e.startedAt),serverChatId:e.serverChatId,routeChatIdAtSend:e.routeChatIdAtSend,...n})}function ibe(e){var t,n;return(e==null?void 0:e.provider)==="claude"&&e.model&&((t=e.modelOptions)!=null&&t.claude)?{provider:"claude",model:e.model,modelOptions:{reasoningEffort:e.modelOptions.claude.reasoningEffort??"high",contextWindow:e.modelOptions.claude.contextWindow??"200k"},planMode:!!e.planMode}:(e==null?void 0:e.provider)==="codex"&&e.model&&((n=e.modelOptions)!=null&&n.codex)?{provider:"codex",model:e.model,modelOptions:{reasoningEffort:e.modelOptions.codex.reasoningEffort??"high",fastMode:e.modelOptions.codex.fastMode??!1},planMode:!!e.planMode}:null}function sbe(e,t){var n;return t?((n=e.find(r=>r.chats.some(i=>i.chatId===t)))==null?void 0:n.groupKey)??null:null}function obe(e,t){return e==="awaiting_disconnect"&&t==="disconnected"?"awaiting_server_ready":"none"}const abe=30,IE="kanna:ui-update-restart",oB="kanna:last-update-reload-request";function lbe(e){return e+abe}function cbe(e,t){return t>0?t:e}function eI(){return window.sessionStorage.getItem(IE)}function Wg(e){window.sessionStorage.setItem(IE,e)}function lh(){window.sessionStorage.removeItem(IE)}function ube(e,t){return e?String(e)!==t:!1}function dbe(){return window.sessionStorage.getItem(oB)}function fbe(e){window.sessionStorage.setItem(oB,String(e))}function hbe(){return"/auth/status"}function pbe(e,t,n="application/json"){const r=new Blob([t],{type:`${n}; charset=utf-8`}),i=URL.createObjectURL(r),s=document.createElement("a");s.href=i,s.download=e,s.style.display="none",document.body.append(s),s.click(),s.remove(),URL.revokeObjectURL(i)}async function mbe(e=fetch){return(await e(hbe(),{method:"GET",cache:"no-store",headers:{Accept:"application/json"}})).ok}function gbe(e){const t=e.selectedProjectId??e.sidebarProjectId??null;return t?{kind:"project_id",projectId:t}:e.fallbackLocalProjectPath?{kind:"local_path",localPath:e.fallbackLocalProjectPath}:null}function vbe(e,t){return!e||!t?null:e.runtime.chatId!==t?(e.runtime.chatId,e.runtime.provider,null):e}function bbe(e){var Jc,Bl,af;const t=Dd(),n=nbe(),r=Ep(),{resolvedTheme:i}=ME(),[s,o]=b.useState({projectGroups:[],stacks:[]}),[l,c]=b.useState(null),[d,p]=b.useState(null),[h,g]=b.useState(null),[v,_]=b.useState(null),[x,w]=b.useState([]),[C,k]=b.useState(!1),[R,T]=b.useState(null),[A,N]=b.useState(!1),[M,D]=b.useState({}),[W,I]=b.useState(null),[$,B]=b.useState(null),[j,F]=b.useState(null),[V,z]=b.useState(null),[H,U]=b.useState("connecting"),[Y,P]=b.useState(!1),[G,J]=b.useState(!1),[O,ie]=b.useState(!1),[Z,oe]=b.useState(null),[se,ve]=b.useState(!1),[ue,ye]=b.useState(!1),[Ee,Ae]=b.useState(!1),[De,me]=b.useState(null),[et,Lt]=b.useState(!1),[Ot,Yt]=b.useState(null),[Tt,At]=b.useState(!1),[wt,Ue]=b.useState(null),[ht,Ke]=b.useState(null),[yt,de]=b.useState([]),[be,ze]=b.useState(null),[Ve,Qe]=b.useState(0),rt=b.useRef(new Map),Bt=w1(HD(X=>Object.keys(X.drafts).sort())),Nt=w1(HD(X=>Object.keys(X.attachmentDrafts).sort())),pt=b.useRef(0),Ct=b.useRef(null),lt=b.useRef({projectId:null,diffs:null}),sn=wee(li(X=>X.editorPreset)),Je=b.useMemo(()=>ZD(s.projectGroups,l),[l,s.projectGroups]),en=b.useMemo(()=>Je===s.projectGroups?s:{...s,projectGroups:Je},[s,Je]);b.useEffect(()=>n.onStatus(U),[n]),b.useEffect(()=>n.subscribe({type:"sidebar"},X=>{o(X),c(Q=>Q&&ZD(X.projectGroups,Q)===X.projectGroups?null:Q),P(!0),me(null)}),[n]),b.useEffect(()=>{if(H!=="connected")return;const X=[...new Set([...Bt,...Nt])].sort();n.command({type:"chat.setDraftProtection",chatIds:X}).catch(Q=>{me(Q instanceof Error?Q.message:String(Q))})},[Nt,H,Bt,n]),b.useEffect(()=>n.subscribe({type:"local-projects"},X=>{p(X),J(!0),me(null)}),[n]),b.useEffect(()=>n.subscribe({type:"update"},X=>{g(X),me(null)}),[n]),b.useEffect(()=>{H==="connected"&&n.command({type:"update.check",force:!0}).catch(X=>{me(X instanceof Error?X.message:String(X))})},[H,n]),b.useEffect(()=>{const X=h==null?void 0:h.reloadRequestedAt;ube(X,dbe())&&X&&(fbe(X),Wg("awaiting_disconnect"))},[h==null?void 0:h.reloadRequestedAt]),b.useEffect(()=>{const X=eI();if(obe(X,H)==="awaiting_server_ready"){Wg("awaiting_server_ready");return}},[H]),b.useEffect(()=>{if(eI()!=="awaiting_server_ready")return;let X=!1,Q=null;const Pe=async()=>{try{if(await mbe()){if(X)return;lh(),window.location.reload();return}}catch{}X||(Q=window.setTimeout(()=>{Pe()},500))};return Pe(),()=>{X=!0,Q!==null&&window.clearTimeout(Q)}},[H]),b.useEffect(()=>{function X(){h!=null&&h.lastCheckedAt&&(Date.now()-h.lastCheckedAt<=3600*1e3||n.command({type:"update.check"}).catch(Q=>{me(Q instanceof Error?Q.message:String(Q))}))}return window.addEventListener("focus",X),()=>{window.removeEventListener("focus",X)}},[n,h==null?void 0:h.lastCheckedAt]),b.useEffect(()=>n.subscribe({type:"keybindings"},X=>{I(X),me(null)}),[n]),b.useEffect(()=>n.subscribe({type:"app-settings"},X=>{B(X),ah(X),me(null)}),[n]),b.useEffect(()=>n.subscribe({type:"push-config"},X=>{F(X)}),[n]),b.useEffect(()=>{let X=!1;return n.subscribe({type:"bg-tasks"},Q=>{Hs.getState().applySnapshot(Q.tasks),!X&&Q.orphanRecoveryCount!=null&&Q.orphanRecoveryCount>0&&(X=!0,Dve(Q.orphanRecoveryCount))},Q=>{Q.type==="bg-tasks.added"?Hs.getState().applyDiff({op:"added",task:Q.task}):Q.type==="bg-tasks.updated"?Hs.getState().applyDiff({op:"updated",task:Q.task}):Q.type==="bg-tasks.removed"&&Hs.getState().applyDiff({op:"removed",task:Q.task})})},[n]);const Vt=b.useCallback(async()=>{try{sa.getState().setHydrationStatus("loading");const X=await n.command({type:"settings.readAppSettings"});B(X),ah(X),me(null)}catch(X){sa.getState().setHydrationStatus("error"),me(X instanceof Error?X.message:String(X))}},[n]),on=b.useCallback(async X=>{try{sa.getState().applyOptimisticPatch(X);const Q=await n.command({type:"settings.writeAppSettingsPatch",patch:X});B(Q),ah(Q),me(null)}catch(Q){throw me(Q instanceof Error?Q.message:String(Q)),await Vt(),Q}},[Vt,n]),Pt=b.useCallback(async X=>{try{sa.getState().applyOptimisticPatch({cloudflareTunnel:X});const Q=await n.command({type:"appSettings.setCloudflareTunnel",patch:X});B(Q),ah(Q),me(null)}catch(Q){throw me(Q instanceof Error?Q.message:String(Q)),await Vt(),Q}},[Vt,n]),gt=b.useCallback(async X=>{try{sa.getState().applyOptimisticPatch({claudeAuth:X});const Q=await n.command({type:"appSettings.setClaudeAuth",patch:X});B(Q),ah(Q),me(null)}catch(Q){throw me(Q instanceof Error?Q.message:String(Q)),await Vt(),Q}},[Vt,n]),He=b.useCallback(async X=>await n.command({type:"appSettings.testOAuthToken",token:X}),[n]),ct=b.useCallback(async()=>{try{const X=await n.command({type:"settings.readLlmProvider"});z(X),me(null)}catch(X){me(X instanceof Error?X.message:String(X))}},[n]),kt=b.useCallback(async X=>{try{const Q=await n.command({type:"settings.writeLlmProvider",provider:X.provider,apiKey:X.apiKey,model:X.model,baseUrl:X.baseUrl});z(Q),me(null)}catch(Q){throw me(Q instanceof Error?Q.message:String(Q)),Q}},[n]),Ft=b.useCallback(async X=>await n.command({type:"settings.validateLlmProvider",provider:X.provider,apiKey:X.apiKey,model:X.model,baseUrl:X.baseUrl}),[n]);b.useEffect(()=>{H==="connected"&&Vt()},[H,Vt]),b.useEffect(()=>{if(H!=="connected"||($==null?void 0:$.browserSettingsMigrated)!==!1)return;const X=qve();X&&on(X).then(Kve).catch(()=>{})},[$==null?void 0:$.browserSettingsMigrated,H,on]),b.useEffect(()=>{H==="connected"&&ct()},[H,ct]),b.useEffect(()=>{function X(){Qe(Q=>Q+1)}return window.addEventListener("focus",X),document.addEventListener("visibilitychange",X),()=>{window.removeEventListener("focus",X),document.removeEventListener("visibilitychange",X)}},[]),b.useEffect(()=>{if(!e){_(null),ie(!0);return}++pt.current,Je.length,Je.reduce((Q,Pe)=>Q+Pe.chats.length,0),_(null),ie(!1);const X=n.subscribe({type:"chat",chatId:e,recentLimit:Zve},Q=>{if(Q!=null&&Q.runtime.chatId){const Pe=[...rt.current.values()].filter(dt=>dt.serverChatId===Q.runtime.chatId).sort((dt,Hn)=>Hn.startedAt-dt.startedAt)[0];Pe&&Pe.snapshotAt===void 0&&(Pe.snapshotAt=performance.now(),nl(Pe,"chat_snapshot_received",{status:Q.runtime.status,messageCount:Q.messages.length}))}if(_(Pe=>{const dt=Wve(Pe,Q);return Q==null||Q.runtime.chatId,Q==null||Q.runtime.provider,Q==null||Q.runtime.status,Q==null||Q.messages.length,dt?Pe:Q}),T((Q==null?void 0:Q.history.olderCursor)??null),N((Q==null?void 0:Q.history.hasOlder)??!1),ie(!0),me(null),Q){const Pe=NE.getState();Pe.setForChat(Q.runtime.chatId,Q.slashCommands??[]),Pe.setLoadingForChat(Q.runtime.chatId,Q.slashCommandsLoading??!1)}});return()=>{Je.length,Je.reduce((Q,Pe)=>Q+Pe.chats.length,0),X()}},[e,n]),b.useEffect(()=>{if(Z)return;const X=Je[0];X&&oe(X.groupKey)},[Z,Je]),b.useEffect(()=>{if(!e||!Y||!O)return;if(Je.some(Q=>Q.chats.some(Pe=>Pe.chatId===e))){ht===e&&Ke(null);return}ht!==e&&t("/")},[e,O,t,ht,Je,Y]),b.useEffect(()=>{v&&(oe(v.runtime.projectId),ht===v.runtime.chatId&&Ke(null))},[v,ht]),b.useEffect(()=>{if(!e||!Y||!ebe())return;const X=Je.flatMap(Q=>Q.chats).find(Q=>Q.chatId===e);X!=null&&X.unread&&n.command({type:"chat.markRead",chatId:e}).catch(Q=>{me(Q instanceof Error?Q.message:String(Q))})},[e,Ve,Je,Y,n]),b.useEffect(()=>{w([]),k(!1),T(null),N(!1)},[e]);const it=b.useMemo(()=>vbe(v,e),[e,v]),Se=b.useMemo(()=>(it==null?void 0:it.runtime.projectId)??sbe(Je,e)??Z,[e,it==null?void 0:it.runtime.projectId,Z,Je]),st=b.useMemo(()=>{const X=Se?M[Se]??null:null;return Se&&X?(lt.current={projectId:Se,diffs:X},X):Se&<.current.projectId===Se?lt.current.diffs:X},[Se,M]);b.useEffect(()=>Se?n.subscribe({type:"project-git",projectId:Se},Q=>{D(Pe=>{const dt=Q??null;return Hve(Pe[Se]??null,dt)||$ve(Pe[Se]??null,dt)?Pe:{...Pe,[Se]:dt}}),me(null)}):void 0,[Se,n]),b.useEffect(()=>{v==null||v.runtime.chatId,v==null||v.runtime.provider,it==null||it.runtime.chatId,it==null||it.runtime.provider},[e,it,v,ht]);const Ge=b.useMemo(()=>YD(x,(it==null?void 0:it.messages)??[]),[it==null?void 0:it.messages,x]),qe=e??XD,Et=b.useMemo(()=>yt.filter(X=>X.scopeId===qe).map(X=>X.entry),[qe,yt]),we=b.useMemo(()=>[...Ge,...Et],[Et,Ge]),We=b.useMemo(()=>hve(we),[we]),Le=b.useMemo(()=>Gve(We),[We]),bt=b.useMemo(()=>bve(We),[We]),ae=(it==null?void 0:it.runtime)??null,Fe=(it==null?void 0:it.queuedMessages)??[],Ne=((be==null?void 0:be.scopeId)===qe&&(!ae||ae.status==="idle")?"starting":null)??(ae==null?void 0:ae.status)??null,je=(it==null?void 0:it.availableProviders)??Nh,mt=_ve(Ne??void 0),tn=yve(Ne??void 0),Dt=(ae==null?void 0:ae.isDraining)??!1,ot=((Jc=d==null?void 0:d.projects[0])==null?void 0:Jc.localPath)??null,dn=(ae==null?void 0:ae.localPath)??ot??((Bl=Je[0])==null?void 0:Bl.localPath),Fn=!!(Z??(ae==null?void 0:ae.projectId)??((af=Je[0])==null?void 0:af.groupKey)??ot);b.useEffect(()=>{(be==null?void 0:be.scopeId)===qe&&ae!=null&&ae.status&&ae.status!=="idle"&&ze(null)},[be,qe,ae==null?void 0:ae.status]),b.useEffect(()=>{if(!(be!=null&&be.ackedAt)||be.scopeId!==qe||ae!=null&&ae.status&&ae.status!=="idle")return;const X=window.setTimeout(()=>{ze(Q=>(Q==null?void 0:Q.scopeId)===qe&&Q.ackedAt===be.ackedAt?null:Q)},300);return()=>window.clearTimeout(X)},[be,qe,ae==null?void 0:ae.status]),b.useEffect(()=>{if(!e||(ae==null?void 0:ae.status)!=="starting")return;const X=[...rt.current.values()].filter(Q=>Q.serverChatId===e).sort((Q,Pe)=>Pe.startedAt-Q.startedAt)[0];!X||X.startingStatusAt!==void 0||(X.startingStatusAt=performance.now(),nl(X,"runtime_status_starting",{status:ae.status}))},[e,ae==null?void 0:ae.status]),b.useEffect(()=>{if(!e||!ae||ae.status==="starting")return;const X=[...rt.current.values()].filter(Q=>Q.serverChatId===e).sort((Q,Pe)=>Pe.startedAt-Q.startedAt)[0];!X||X.startingRenderedAt!==void 0||(nl(X,"starting_not_observed",{status:ae.status}),rt.current.delete(X.traceId))},[e,ae]),b.useLayoutEffect(()=>{if(!e||(ae==null?void 0:ae.status)!=="starting"){Ct.current=null;return}const X=[...rt.current.values()].filter(Q=>Q.serverChatId===e).sort((Q,Pe)=>Pe.startedAt-Q.startedAt)[0];X&&Ct.current!==X.traceId&&(Ct.current=X.traceId,X.startingRenderedAt=performance.now(),nl(X,"starting_render_committed",{totalMs:sB(X.startedAt)}),rt.current.delete(X.traceId))},[e,ae==null?void 0:ae.status]),b.useEffect(()=>{de(X=>{const Q=Qve(X,qe,Ge);return Q.length===X.length&&Q.every((Pe,dt)=>Pe===X[dt])?X:Q})},[qe,Ge]);const fr=b.useCallback(async()=>{if(!(!e||!R||C||!A)){k(!0);try{const X=await n.command({type:"chat.loadHistory",chatId:e,beforeCursor:R,limit:Jve});w(Q=>YD(X.messages,Q)),T(X.olderCursor),N(X.hasOlder),me(null)}catch(X){const Q=X instanceof Error?X.message:String(X);me(Q)}finally{k(!1)}}},[e,A,R,C,n]),hr=b.useCallback(async X=>{const Q=di.getState(),Pe=e?Q.getComposerState(e):Q.getComposerState(Sv),dt=await n.command({type:"chat.create",projectId:X});Q.initializeComposerForChat(dt.chatId,{sourceState:Pe}),oe(X),Ke(dt.chatId),t(`/chat/${dt.chatId}`),ve(!1),me(null)},[e,t,n]),$n=b.useCallback(async X=>X.kind==="project_id"?{projectId:X.projectId}:X.kind==="local_path"?{projectId:(await n.command({type:"project.open",localPath:X.localPath})).projectId,localPath:X.localPath}:{projectId:(await n.command(X.project.mode==="new"?{type:"project.create",localPath:X.project.localPath,title:X.project.title}:{type:"project.open",localPath:X.project.localPath})).projectId,localPath:X.project.localPath},[n]),cn=b.useCallback(async X=>{try{const Q=X.kind==="project_id"?null:X.kind==="local_path"?X.localPath:X.project.localPath;Q&&Ue(Q);const{projectId:Pe}=await $n(X);await hr(Pe)}catch(Q){me(Q instanceof Error?Q.message:String(Q))}finally{Ue(null)}},[hr,$n]),Yi=b.useCallback(async X=>{await cn({kind:"project_id",projectId:X})},[cn]),Xi=b.useCallback(async X=>{try{const Q=await n.command({type:"chat.fork",chatId:X.chatId}),Pe=di.getState();Pe.initializeComposerForChat(Q.chatId,{sourceState:Pe.getComposerState(X.chatId)}),Ke(Q.chatId),t(`/chat/${Q.chatId}`),ve(!1),me(null)}catch(Q){me(Q instanceof Error?Q.message:String(Q))}},[t,n]),Cr=b.useCallback(async X=>{await cn({kind:"local_path",localPath:X})},[cn]),ii=b.useCallback(async X=>{await cn({kind:"project_request",project:X})},[cn]),Qi=b.useCallback(async X=>{try{await n.command({type:"update.check",force:X==null?void 0:X.force}),me(null)}catch(Q){me(Q instanceof Error?Q.message:String(Q))}},[n]),bi=b.useCallback(async()=>{try{const X=await n.command({type:"update.install"});if(!X.ok){lh(),me(null),await r.alert({title:X.userTitle??"Update failed",description:X.userMessage??"Kanna could not install the update. Try again later.",closeLabel:"OK"});return}if(X.ok&&X.action==="reload"){window.location.reload();return}X.ok&&X.action==="restart"&&Wg("awaiting_disconnect"),me(null)}catch(X){lh(),me(X instanceof Error?X.message:String(X))}},[r,n]),Zi=b.useCallback(async()=>{try{const X=await n.command({type:"update.reload"});if(!X.ok){lh(),me(null),await r.alert({title:X.userTitle??"Re-deploy failed",description:X.userMessage??"Kanna could not re-deploy. Try again later.",closeLabel:"OK"});return}if(X.action==="reload"){window.location.reload();return}Wg("awaiting_disconnect"),me(null)}catch(X){lh(),me(X instanceof Error?X.message:String(X))}},[r,n]),Li=b.useCallback(async()=>{try{const X=await fetch("/auth/logout",{method:"POST",headers:{Accept:"application/json"}});if(!X.ok)throw new Error(`Sign out failed with status ${X.status}`);me(null),window.location.reload()}catch(X){me(X instanceof Error?X.message:String(X))}},[]),Rt=b.useCallback(async(X,Q)=>{var eu;const Pe=(Q==null?void 0:Q.attachments)??[];if(e&&mt)try{const mn=kb.getState().autoResumeOnRateLimit;await n.command({type:"message.enqueue",chatId:e,content:X,attachments:Pe,provider:Q==null?void 0:Q.provider,model:Q==null?void 0:Q.model,modelOptions:Q==null?void 0:Q.modelOptions,planMode:Q==null?void 0:Q.planMode,autoResumeOnRateLimit:mn}),me(null);return}catch(mn){throw me(mn instanceof Error?mn.message:String(mn)),mn}const dt=dc(),Hn=dc(),qr=DE(X,Pe),Ns=e??XD;ze({scopeId:Ns,ackedAt:null});const Ms={traceId:Hn,optimisticId:dt,startedAt:performance.now(),serverChatId:e,routeChatIdAtSend:e,contentPreview:X.slice(0,80)};rt.current.set(Hn,Ms),nl(Ms,"handle_send_called",{optimisticScopeId:Ns,attachments:Pe.length,contentLength:X.length,contentPreview:Ms.contentPreview});const lf=Xve(Ge,qr)+yt.filter(mn=>mn.scopeId===Ns&&mn.signature===qr).length+1;de(mn=>[...mn,{id:dt,scopeId:Ns,signature:qr,requiredMatchCount:lf,entry:{_id:`optimistic:${dt}`,kind:"user_prompt",content:X,attachments:Pe,createdAt:Date.now()}}]),nl(Ms,"optimistic_prompt_added",{optimisticId:dt,optimisticScopeId:Ns});try{let mn=Z??((eu=Je[0])==null?void 0:eu.groupKey)??null;if(!e&&!mn&&ot&&(mn=(await n.command({type:"project.open",localPath:ot})).projectId,oe(mn)),!e&&!mn)throw new Error("Open a project first");const Aa=kb.getState().autoResumeOnRateLimit,yi=await n.command({type:"chat.send",chatId:e??void 0,projectId:e?void 0:mn??void 0,clientTraceId:Hn,provider:Q==null?void 0:Q.provider,content:X,attachments:Pe,model:Q==null?void 0:Q.model,modelOptions:Q==null?void 0:Q.modelOptions,planMode:Q==null?void 0:Q.planMode,autoResumeOnRateLimit:Aa});if(Ms.ackAt=performance.now(),Ms.serverChatId=yi.chatId??Ms.serverChatId,ze(Lo=>Lo&&{scopeId:!e&&yi.chatId?yi.chatId:Lo.scopeId,ackedAt:performance.now()}),nl(Ms,"chat_send_ack_received",{resultChatId:yi.chatId??null}),!e&&yi.chatId){de(Jp=>Jp.map(cf=>cf.id===dt?{...cf,scopeId:yi.chatId}:cf));const Lo=di.getState();Lo.setComposerState(yi.chatId,ibe(Q)??Lo.getComposerState(Sv)),Ke(yi.chatId),t(`/chat/${yi.chatId}`)}me(null)}catch(mn){throw de(Aa=>Aa.filter(yi=>yi.id!==dt)),ze(null),nl(Ms,"handle_send_failed",{error:mn instanceof Error?mn.message:String(mn)}),rt.current.delete(Hn),me(mn instanceof Error?mn.message:String(mn)),mn}},[e,ot,mt,t,yt,Z,Ge,Je,n]),an=b.useCallback(async X=>{if(e)try{await n.command({type:"message.steer",chatId:e,queuedMessageId:X}),me(null)}catch(Q){me(Q instanceof Error?Q.message:String(Q))}},[e,n]),wn=b.useCallback(async X=>{if(e)try{await n.command({type:"message.dequeue",chatId:e,queuedMessageId:X}),me(null)}catch(Q){me(Q instanceof Error?Q.message:String(Q))}},[e,n]),fn=b.useCallback(async()=>{if(e)try{await n.command({type:"chat.cancel",chatId:e})}catch(X){me(X instanceof Error?X.message:String(X))}},[e,n]),Es=b.useCallback(async()=>{if(e)try{await n.command({type:"chat.stopDraining",chatId:e})}catch(X){me(X instanceof Error?X.message:String(X))}},[e,n]),No=b.useCallback(async X=>{const Q=await r.prompt({title:"Rename Chat",initialValue:X.title,confirmLabel:"Rename"});if(!(!Q||Q===X.title))try{await n.command({type:"chat.rename",chatId:X.chatId,title:Q}),me(null)}catch(Pe){me(Pe instanceof Error?Pe.message:String(Pe))}},[r,n]),Rs=b.useCallback(async X=>{if(await r.confirm({title:"Delete Chat",description:`Delete "${X.title}"? This cannot be undone.`,confirmLabel:"Delete",confirmVariant:"destructive"}))try{if(await n.command({type:"chat.delete",chatId:X.chatId}),X.chatId===e){const Pe=QD(Je,X.chatId);t(Pe?`/chat/${Pe}`:"/")}}catch(Pe){me(Pe instanceof Error?Pe.message:String(Pe))}},[e,r,t,Je,n]),te=b.useCallback(async X=>{try{if(await n.command({type:"chat.archive",chatId:X.chatId}),X.chatId===e){const Q=QD(Je,X.chatId);t(Q?`/chat/${Q}`:"/")}me(null)}catch(Q){me(Q instanceof Error?Q.message:String(Q))}},[e,t,Je,n]),Ie=b.useCallback(async X=>{try{Ke(X),await n.command({type:"chat.unarchive",chatId:X}),t(`/chat/${X}`),me(null)}catch(Q){Ke(null),me(Q instanceof Error?Q.message:String(Q))}},[t,n]),_n=b.useCallback(async X=>{try{await n.command({type:"project.remove",projectId:X}),cl.getState().clearProject(X),Ri.getState().clearProject(X),(ae==null?void 0:ae.projectId)===X&&t("/"),me(null)}catch(Q){me(Q instanceof Error?Q.message:String(Q))}},[t,ae==null?void 0:ae.projectId,n]),Ce=b.useCallback(async X=>{c(X);try{await n.command({type:"sidebar.reorderProjectGroups",projectIds:X}),me(null)}catch(Q){c(null),me(Q instanceof Error?Q.message:String(Q))}},[n]),$e=b.useCallback(async(X,Q)=>{try{await n.command({type:"stack.create",title:X,projectIds:Q}),me(null)}catch(Pe){me(Pe instanceof Error?Pe.message:String(Pe))}},[n]),It=b.useCallback(async(X,Q)=>{try{await n.command({type:"stack.rename",stackId:X,title:Q}),me(null)}catch(Pe){me(Pe instanceof Error?Pe.message:String(Pe))}},[n]),zr=b.useCallback(async X=>{try{await n.command({type:"stack.remove",stackId:X}),me(null)}catch(Q){me(Q instanceof Error?Q.message:String(Q))}},[n]),kr=b.useCallback(async(X,Q)=>{try{await n.command({type:"stack.addProject",stackId:X,projectId:Q}),me(null)}catch(Pe){me(Pe instanceof Error?Pe.message:String(Pe))}},[n]),jl=b.useCallback(async(X,Q)=>{try{await n.command({type:"stack.removeProject",stackId:X,projectId:Q}),me(null)}catch(Pe){me(Pe instanceof Error?Pe.message:String(Pe))}},[n]),Yp=b.useCallback(async(X,Q,Pe)=>{try{const dt=di.getState(),Hn=e?dt.getComposerState(e):dt.getComposerState(Sv),qr=await n.command({type:"chat.create",projectId:X,stackId:Q,stackBindings:Pe});dt.initializeComposerForChat(qr.chatId,{sourceState:Hn}),oe(X),Ke(qr.chatId),t(`/chat/${qr.chatId}`),ve(!1),me(null)}catch(dt){me(dt instanceof Error?dt.message:String(dt))}},[e,t,n]),ka=b.useCallback(async X=>{try{const Q=await n.command({type:"stack.listWorktrees",projectId:X});return me(null),Q.worktrees}catch(Q){return me(Q instanceof Error?Q.message:String(Q)),[]}},[n]),Q0=b.useCallback(async()=>await n.command({type:"sessions.importClaude"}),[n]),Mo=b.useCallback(async X=>{const Q=li.getState();me(null),await n.command({type:"system.openExternal",...X,editor:X.action==="open_editor"?X.editor??{preset:Q.editorPreset,commandTemplate:Q.editorCommandTemplate}:void 0})},[n]),Xp=b.useCallback(async(X,Q)=>{var dt,Hn;const Pe=(ae==null?void 0:ae.localPath)??((dt=d==null?void 0:d.projects[0])==null?void 0:dt.localPath)??((Hn=Je[0])==null?void 0:Hn.localPath);if(Pe)try{await Mo({action:X,localPath:Pe,editor:Q})}catch(qr){me(qr instanceof Error?qr.message:String(qr))}},[d==null?void 0:d.projects,Mo,ae==null?void 0:ae.localPath,Je]),tf=b.useCallback(async X=>{var Q;try{if(typeof navigator>"u"||!((Q=navigator.clipboard)!=null&&Q.writeText))throw new Error("Clipboard is not available");await navigator.clipboard.writeText(X),me(null)}catch(Pe){me(Pe instanceof Error?Pe.message:String(Pe))}},[]),Z0=b.useCallback(async(X,Q="open_editor",Pe)=>{try{await Mo({action:Q,localPath:X.path,line:X.line,column:X.column,editor:Pe})}catch(dt){me(dt instanceof Error?dt.message:String(dt))}},[Mo]),J0=b.useCallback(async(X,Q)=>{try{await Mo({action:X,localPath:Q})}catch(Pe){me(Pe instanceof Error?Pe.message:String(Pe))}},[Mo]),Ea=b.useCallback(async(X=e)=>{if(!X||et)return null;Lt(!0);try{const Q=await n.command({type:"chat.exportStandalone",chatId:X,theme:i,attachmentMode:"bundle"});return me(null),Q}catch(Q){return me(Q instanceof Error?Q.message:String(Q)),null}finally{Lt(!1)}},[e,et,i,n]),Ts=b.useCallback(async(X=e)=>{if(!X||et)return;At(!1);const Q=await Ea(X);if(Q!=null&&Q.ok&&Q.shareUrl){Yt(Q.shareUrl),At(!0);return}Q&&!Q.ok&&await r.confirm({title:"Share failed",description:Q.error,confirmLabel:"Download transcript JSON",cancelLabel:"Close",confirmVariant:"secondary"})&&pbe(Q.transcriptFileName,Q.transcriptJson)},[e,r,Ea,et]),nf=b.useCallback(()=>{Yt(null),At(!1)},[]),rf=b.useCallback(async()=>{var X;if(!Ot)return!1;try{if(typeof navigator>"u"||!((X=navigator.clipboard)!=null&&X.writeText))throw new Error("Clipboard is not available");return await navigator.clipboard.writeText(Ot),!0}catch(Q){return await r.alert({title:"Copy failed",description:Q instanceof Error?Q.message:String(Q),closeLabel:"Close"}),!1}},[r,Ot]),Ra=b.useCallback(()=>{Ot&&(window.open(Ot,"_blank","noopener,noreferrer"),Yt(null))},[Ot]),Ta=b.useCallback(()=>{var Q;const X=gbe({selectedProjectId:Z,sidebarProjectId:(Q=Je[0])==null?void 0:Q.groupKey,fallbackLocalProjectPath:ot});if(X){cn(X);return}t("/")},[ot,t,Z,Je,cn]),Qp=b.useCallback(()=>ve(!0),[]),sf=b.useCallback(()=>ve(!1),[]),Zp=b.useCallback(()=>ye(!0),[]),Ol=b.useCallback(()=>ye(!1),[]),As=b.useCallback(()=>Ae(!0),[]),of=b.useCallback(()=>Ae(!1),[]),zl=b.useCallback(async(X,Q,Pe)=>{if(e)try{await n.command({type:"chat.respondTool",chatId:e,toolUseId:X,result:{questions:Q,answers:Pe}})}catch(dt){me(dt instanceof Error?dt.message:String(dt))}},[e,n]),eo=b.useCallback(async(X,Q,Pe,dt)=>{if(e){Q&&di.getState().setChatComposerPlanMode(e,!1);try{await n.command({type:"chat.respondTool",chatId:e,toolUseId:X,result:{confirmed:Q,...Pe?{clearContext:!0}:{},...dt?{message:dt}:{}}})}catch(Hn){me(Hn instanceof Error?Hn.message:String(Hn))}}},[e,n]);return{socket:n,activeChatId:e,activeProjectId:Se,sidebarData:en,localProjects:d,updateSnapshot:h,chatSnapshot:v,chatDiffSnapshot:st,keybindings:W,appSettings:$,pushConfig:j,llmProvider:V,connectionStatus:H,sidebarReady:Y,localProjectsReady:G,commandError:De,startingLocalPath:wt,sidebarOpen:se,sidebarCollapsed:ue,messages:We,queuedMessages:Fe,previousPrompt:Le,latestToolIds:bt,runtime:ae,runtimeStatus:Ne,isHistoryLoading:C,hasOlderHistory:A,availableProviders:je,isProcessing:mt,canCancel:tn,isDraining:Dt,isExportingStandalone:et,standaloneShareUrl:Ot,standaloneShareComplete:Tt,navbarLocalPath:dn,editorLabel:sn,hasSelectedProject:Fn,addProjectModalOpen:Ee,openSidebar:Qp,closeSidebar:sf,collapseSidebar:Zp,expandSidebar:Ol,openAddProjectModal:As,closeAddProjectModal:of,loadOlderHistory:fr,handleCreateChat:Yi,handleForkChat:Xi,handleOpenLocalProject:Cr,handleCreateProject:ii,handleCheckForUpdates:Qi,handleInstallUpdate:bi,handleForceReload:Zi,handleReadAppSettings:Vt,handleWriteAppSettings:on,handleWriteCloudflareTunnel:Pt,handleWriteClaudeAuth:gt,handleTestOAuthToken:He,handleReadLlmProvider:ct,handleWriteLlmProvider:kt,handleValidateLlmProvider:Ft,handleSignOut:Li,handleSend:Rt,handleSteerQueuedMessage:an,handleRemoveQueuedMessage:wn,handleCancel:fn,handleStopDraining:Es,handleRenameChat:No,handleShareChat:Ts,handleArchiveChat:te,handleOpenArchivedChat:Ie,handleDeleteChat:Rs,handleHideProject:_n,handleReorderProjectGroups:Ce,stacks:en.stacks,handleCreateStack:$e,handleRenameStack:It,handleRemoveStack:zr,handleAddProjectToStack:kr,handleRemoveProjectFromStack:jl,handleCreateStackChat:Yp,handleListStackWorktrees:ka,importClaudeSessions:Q0,handleCopyPath:tf,handleOpenExternal:Xp,handleOpenExternalPath:J0,handleOpenLocalLink:Z0,handleCompose:Ta,handleAskUserQuestion:zl,handleExitPlanMode:eo,handleExportStandalone:Ea,handleCloseStandaloneShareDialog:nf,handleOpenStandaloneShareLink:Ra,handleCopyStandaloneShareLink:rf}}function ybe(e){var n;const t=e.match(/^<system-message>\s*([\s\S]*?)\s*<\/system-message>\s*([\s\S]*)$/);return t?{systemMessage:((n=t[1])==null?void 0:n.trim())||null,body:t[2]??""}:{systemMessage:null,body:e}}function _be({content:e,attachments:t=[],steered:n=!1,autoContinue:r}){const[i,s]=b.useState(null),o=P0(),l=b.useMemo(()=>ybe(e),[e]),c=o.attachmentMode==="metadata",d=!o.readonly||o.attachmentMode==="bundle",p=b.useMemo(()=>t.filter(_=>_.kind==="image"&&(_.contentUrl||c)),[t,c]),h=b.useMemo(()=>t.filter(_=>_.kind!=="image"||!_.contentUrl&&!c),[t,c]),g=t.find(_=>_.id===i)??null;function v(_){if(!d||!_.contentUrl)return;if(T0(_).openInNewTab){typeof window<"u"&&window.open(new URL(_.contentUrl,document.baseURI||window.location.href).toString(),"_blank","noopener,noreferrer");return}s(_.id)}return f.jsxs(f.Fragment,{children:[f.jsxs("div",{className:"flex flex-col items-end gap-2",children:[p.length>0?f.jsx("div",{className:"flex max-w-[85%] sm:max-w-[80%] flex-wrap justify-end gap-3",children:p.map(_=>f.jsx(Qk,{attachment:_,onClick:d?()=>v(_):void 0},_.id))}):null,h.length>0?f.jsx("div",{className:"flex max-w-[85%] sm:max-w-[80%] flex-wrap justify-end gap-2",children:h.map(_=>f.jsx(lp,{attachment:_,onClick:d?()=>v(_):void 0},_.id))}):null,l.body||!l.body&&t.length===0&&e&&!l.systemMessage?f.jsxs("div",{className:"flex max-w-[85%] items-center gap-2 sm:max-w-[80%]",children:[n?f.jsx(jW,{"aria-label":"Sent mid-turn",className:"size-3.5 shrink-0 text-muted-foreground"}):null,f.jsx("div",{className:"min-w-0 flex-1 rounded-[20px] border border-border bg-muted px-3.5 py-1.5 text-primary prose prose-sm prose-invert [&_p]:whitespace-pre-line",children:f.jsx(Wc,{remarkPlugins:[Gc],components:Zd(),children:l.body})})]}):null,r?f.jsx("span",{className:"text-xs text-muted-foreground opacity-70",children:"auto-sent"}):null]}),f.jsx(mE,{attachment:g,onOpenChange:_=>!_&&s(null)})]})}function xbe({json:e}){return f.jsx("div",{className:"flex gap-3 justify-start",children:f.jsx("div",{className:"flex-1 max-w-[90%]",children:f.jsx("pre",{className:"text-xs font-mono whitespace-pre-wrap break-words bg-muted rounded-lg p-3 overflow-auto max-h-96",children:e})})})}function aB({title:e,count:t,children:n,badge:r}){const[i,s]=b.useState(!1);return t===0?null:f.jsxs("div",{className:"flex flex-col gap-1.5",children:[f.jsxs("button",{onClick:()=>s(!i),className:"flex items-center gap-1 cursor-pointer group/section hover:opacity-60 transition-opacity",children:[f.jsx(So,{className:he("h-3.5 w-3.5 text-muted-foreground transition-transform duration-200",i&&"rotate-90")}),f.jsx("span",{className:"text-muted-foreground font-medium",children:e}),f.jsx("span",{className:"text-muted-foreground/60",children:t}),r]}),i&&f.jsx("div",{className:"ml-5",children:n})]})}function CS({title:e,items:t,icon:n,getIcon:r}){return t.length===0?null:f.jsx(aB,{title:e,count:t.length,children:f.jsx("div",{className:"flex flex-wrap gap-1.5",children:t.map(i=>f.jsx(p8,{icon:r?r(i):n,children:i},i))})})}function Sbe(e){const t=e.match(/^mcp__([^_]+)__(.+)$/);return t?{server:t[1],tool:t[2]}:null}function lB({status:e}){const t=e==="connected"?"bg-success":e==="pending"?"bg-warning":"bg-destructive";return f.jsx("span",{className:he("inline-block h-2 w-2 rounded-full shrink-0",t)})}function wbe(e){switch(e){case"connected":return"Connected";case"failed":return"Failed";case"needs-auth":return"Needs auth";case"pending":return"Connecting...";case"disabled":return"Disabled";default:return e}}function tI({server:e}){const[t,n]=b.useState(!1),r=e.status==="connected";return f.jsxs("div",{className:"flex flex-col gap-1.5",children:[f.jsxs("button",{onClick:()=>r&&e.tools.length>0&&n(!t),className:he("flex items-center gap-1.5",r&&e.tools.length>0&&"cursor-pointer hover:opacity-60 transition-opacity"),children:[r&&e.tools.length>0&&f.jsx(So,{className:he("h-3 w-3 text-muted-foreground transition-transform duration-200",t&&"rotate-90")}),f.jsx(lB,{status:e.status}),f.jsx("span",{className:"text-muted-foreground font-medium",children:dw(e.name)}),r?f.jsxs("span",{className:"text-muted-foreground/50",children:[e.tools.length," tools"]}):f.jsx("span",{className:"text-muted-foreground/50",children:wbe(e.status)})]}),!r&&e.error&&f.jsx("span",{className:"text-destructive ml-5",children:e.error}),t&&e.tools.length>0&&f.jsx("div",{className:"flex flex-wrap gap-1.5 ml-5",children:e.tools.map(i=>f.jsx(p8,{icon:f8(`mcp__${e.name}__${i}`),children:i},i))})]})}function Cbe({servers:e}){if(e.length===0)return null;const t=e.filter(i=>i.status==="connected"),n=e.filter(i=>i.status!=="connected"),r=n.length>0?f.jsxs("span",{className:"flex items-center gap-1 ml-1",children:[f.jsx(lB,{status:"failed"}),f.jsxs("span",{className:"text-muted-foreground/60",children:[n.length," disconnected"]})]}):null;return f.jsx(aB,{title:"MCP Servers",count:e.length,badge:r,children:f.jsxs("div",{className:"flex flex-col gap-2",children:[t.map(i=>f.jsx(tI,{server:i},i.name)),n.map(i=>f.jsx(tI,{server:i},i.name))]})})}function kbe({rawJson:e}){const[t,n]=b.useState(!1);return f.jsxs("div",{className:"flex flex-col gap-1.5",children:[f.jsxs("button",{onClick:()=>n(!t),className:"flex items-center gap-1 cursor-pointer group/section hover:opacity-60 transition-opacity",children:[f.jsx(So,{className:he("h-3.5 w-3.5 text-muted-foreground transition-transform duration-200",t&&"rotate-90")}),f.jsx("span",{className:"text-muted-foreground font-medium",children:"Raw Message"})]}),t&&f.jsx("pre",{className:"ml-5 text-xs whitespace-pre-wrap break-all border border-border rounded-md p-3 overflow-x-auto max-h-96 overflow-y-auto",children:e})]})}function Ebe({message:e,rawJson:t}){const{coreTools:n,mcpServersWithTools:r}=b.useMemo(()=>{const i=new Map,s=[];for(const l of e.tools){const c=Sbe(l);if(c){const d=i.get(c.server)||[];d.push(c.tool),i.set(c.server,d)}else s.push(l)}const o=e.mcpServers.map(l=>({name:l.name,status:l.status,error:l.error,tools:i.get(l.name)||[]}));return{coreTools:s,mcpServersWithTools:o}},[e.tools,e.mcpServers]);return f.jsx(xa,{children:f.jsxs(j0,{expandedContent:f.jsx(O0,{className:"my-4 text-xs",children:f.jsxs("div",{className:"flex flex-col gap-3",children:[f.jsx(fme,{children:e.model}),f.jsx(CS,{title:"Tools",items:n,getIcon:i=>_1[i]??d8}),f.jsx(CS,{title:"Agents",items:e.agents,icon:qb}),f.jsx(CS,{title:"Commands",items:e.slashCommands,icon:fW}),f.jsx(Cbe,{servers:r}),t&&f.jsx(kbe,{rawJson:t})]})}),children:[f.jsx(qU,{className:"h-5 w-5 text-logo"}),f.jsx(Tl,{children:"Session Started"})]})})}function Rbe({message:e}){return f.jsx(xa,{className:"hidden",children:f.jsxs(j0,{expandedContent:f.jsx(O0,{className:"my-4 text-xs",children:f.jsx("pre",{className:"font-mono whitespace-pre-wrap break-all bg-muted border border-border rounded-lg p-2 max-h-64 overflow-auto",children:JSON.stringify(e.accountInfo,null,2)})}),children:[f.jsx("div",{className:"size-5 flex justify-center items-center ",children:f.jsx(qb,{className:"h-4 w-4 text-muted-foreground"})}),f.jsx(Tl,{children:"Account"})]})})}function Tbe({message:e}){return f.jsx("div",{className:"text-pretty prose prose-sm dark:prose-invert px-0.5 w-full max-w-[70ch] space-y-4",children:f.jsx(Wc,{remarkPlugins:[Gc],components:Zd(),children:e.text})})}function Abe({question:e,currentIndex:t,totalQuestions:n,onBack:r,children:i}){const s=r&&t>0;return f.jsxs("div",{className:"rounded-2xl border border-border overflow-hidden",children:[f.jsxs("div",{className:"relative",children:[f.jsxs("h3",{className:"font-medium text-foreground text-sm p-3 px-4 bg-card border-b border-border text-foreground flex flex-row items-center gap-2",children:[s?f.jsx("button",{onClick:r,className:" text-muted-foreground hover:opacity-60 transition-all flex items-center",children:f.jsx(c9,{className:"h-4 w-4 -ml-0.5",strokeWidth:3})}):n>1?f.jsxs("span",{className:"font-bold text-muted-foreground whitespace-nowrap",children:[t+1," of ",n]}):null,e]}),n>1&&f.jsx("div",{className:"absolute bottom-0 left-0 right-0 h-0.5 bg-border",children:f.jsx("div",{className:"h-full bg-muted-foreground/40 transition-all duration-300",style:{width:`${t/n*100}%`}})})]}),i]})}function nI({label:e,description:t}){return f.jsxs(f.Fragment,{children:[f.jsx("span",{className:"text-foreground text-sm",children:e}),t&&f.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:t})]})}function cB({selected:e,multiSelect:t,onClick:n}){return f.jsx("button",{type:"button",onClick:n,className:he("flex-shrink-0 w-5 h-5 border-1 flex items-center justify-center",t?"rounded":"rounded-full",e?"border-transparent bg-foreground":"border-muted-foreground/50 bg-background",n&&e&&"cursor-pointer"),children:e&&f.jsx(pi,{strokeWidth:3,className:"translate-y-[0.5px] h-3 w-3 text-white dark:text-background"})})}function Nbe({option:e,selected:t,multiSelect:n,onClick:r,isLast:i}){const s="w-full text-left p-3 pt-2.5 pl-4 pr-5 bg-background",o=i?"":"border-b border-border";return r?f.jsx("button",{onClick:r,className:he(s,o,"transition-all cursor-pointer"),children:f.jsxs("div",{className:"flex items-center justify-between gap-3",children:[f.jsx("div",{className:"flex-1 min-w-0",children:f.jsx(nI,{label:e.label,description:e.description})}),f.jsx(cB,{selected:t,multiSelect:n})]})}):f.jsx("div",{className:he(s,o),children:f.jsx(nI,{label:e.label,description:e.description})})}function Mbe(e){return e==null?void 0:e.answers}function ls(e){return e.id||e.question}function Lbe({message:e,onSubmit:t,isLatest:n}){var H,U;const r=P0(),i=e.input.questions,s=!!e.result,o=Mbe(e.result),l=((H=e.result)==null?void 0:H.discarded)===!0,[c,d]=b.useState(0),[p,h]=b.useState({}),[g,v]=b.useState({}),[_,x]=b.useState(o??null),[w,C]=b.useState(s),k=(Y,P)=>{var Z;const G=(Z=g[Y])==null?void 0:Z.trim(),J=p[Y]||"",O=P||i.find(oe=>ls(oe)===Y);if(O!=null&&O.multiSelect)return[J,G].filter(Boolean).flatMap(oe=>oe.split(", ").filter(Boolean));const ie=G||J;return ie?[ie]:[]},R=Y=>{const P=p[ls(Y)]||"";return Y.multiSelect?P.split(", ").filter(Boolean):[P]},T=(Y,P)=>{const G=ls(Y);if(Y.multiSelect){const J=p[G]?p[G].split(", ").filter(Boolean):[],O=J.includes(P)?J.filter(ie=>ie!==P):[...J,P];h({...p,[G]:O.join(", ")})}else h({...p,[G]:P}),v({...g,[G]:""}),c<i.length-1&&setTimeout(()=>d(c+1),150)},A=(Y,P)=>{const G=ls(Y);v({...g,[G]:P}),P&&!Y.multiSelect&&h({...p,[G]:""})},N=Y=>{const P=ls(Y);Y.multiSelect&&g[P]&&v({...g,[P]:""})},M=i.every(Y=>k(ls(Y),Y).length>0),D=i[c],W=c===i.length-1,I=D&&k(ls(D),D).length>0,$=()=>{c<i.length-1&&d(c+1)},B=()=>{c>0&&d(c-1)},j=()=>{if(!M)return;const Y={};for(const P of i){const G=ls(P);Y[G]=k(G,P)}x(Y),C(!0),t(e.toolId,i,Y)},F=Y=>{if(Y.key==="Enter"&&!(!D||!I)){if(Y.preventDefault(),W){j();return}$()}};if(w||s){const Y=o||_||{};return f.jsx("div",{className:"w-full",children:f.jsxs("div",{className:"rounded-2xl border border-border overflow-hidden",children:[f.jsxs("div",{className:"font-medium text-sm p-3 px-4 pr-5 bg-muted border-b border-border flex flex-row items-center justify-between",children:[f.jsxs("p",{children:["Question",i.length!==1?"s":""]}),f.jsx("p",{className:"",children:l?"Discarded":"Answers"})]}),i.map((P,G)=>{const J=Y[ls(P)]||Y[P.question]||[],O=G===i.length-1;return f.jsxs("div",{className:he("w-full p-3 pt-2.5 pl-4 pr-5 bg-background flex items-center justify-between gap-3",!O&&"border-b border-border"),children:[f.jsx("div",{className:"text-sm text-pretty",children:P.question}),J.length>0&&f.jsx("div",{className:"text-sm font-medium text-right max-w-[50%] text-pretty",children:J.join(", ")}),J.length===0&&f.jsx("div",{className:"text-sm font-medium text-right italic",children:l?"Discarded":"No Response"})]},ls(P))})]})})}if(r.readonly)return f.jsx("div",{className:"w-full",children:f.jsxs("div",{className:"rounded-2xl border border-border overflow-hidden",children:[f.jsxs("div",{className:"font-medium text-sm p-3 px-4 pr-5 bg-muted border-b border-border flex flex-row items-center justify-between gap-3",children:[f.jsxs("p",{children:["Question",i.length!==1?"s":""]}),f.jsx("p",{className:"text-muted-foreground",children:"Awaiting response"})]}),i.map((Y,P)=>{var G;return f.jsxs("div",{className:he("w-full p-3 pt-2.5 pl-4 pr-5 bg-background flex items-center justify-between gap-3",P<i.length-1&&"border-b border-border"),children:[f.jsx("div",{className:"text-sm text-pretty",children:Y.question}),f.jsx("div",{className:"max-w-[50%] text-right text-xs text-muted-foreground text-pretty",children:((G=Y.options)==null?void 0:G.map(J=>J.label).join(", "))||"Freeform response"})]},ls(Y))})]})});if(!n)return f.jsx("div",{className:"w-full py-2",children:f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx(zj,{className:"h-4 w-4 text-muted-foreground"}),f.jsx("span",{className:"text-sm text-muted-foreground",children:"Questions pending (newer question active)"})]})});if(!D)return null;const V=R(D),z=g[ls(D)]||"";return f.jsxs("div",{className:"w-full space-y-3",children:[f.jsxs(Abe,{question:D.question,currentIndex:c,totalQuestions:i.length,onBack:c>0?B:void 0,children:[(U=D.options)==null?void 0:U.map(Y=>f.jsx(Nbe,{option:Y,selected:V.includes(Y.label),multiSelect:D.multiSelect,onClick:()=>T(D,Y.label)},Y.label)),f.jsx("div",{className:"transition-all bg-background",children:f.jsxs("div",{className:"flex pr-5 items-center justify-between gap-3",children:[f.jsx("input",{type:"text",value:z,onChange:Y=>A(D,Y.target.value),onKeyDown:F,placeholder:"Other...",className:"flex-1 px-3 !py-1 pl-4 min-h-[55px] min-w-0 text-sm bg-transparent outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background rounded-md text-foreground placeholder:text-muted-foreground"}),f.jsx(cB,{selected:!!z,multiSelect:D.multiSelect,onClick:D.multiSelect&&z?()=>N(D):void 0})]})})]}),f.jsxs("div",{className:"flex justify-end gap-2 mx-2",children:[!W&&I&&(D.multiSelect||!!z)&&f.jsx(Xe,{size:"sm",onClick:$,children:"Next"}),W&&f.jsx(Xe,{size:"sm",onClick:j,disabled:!M,className:he(!M&&"opacity-50 cursor-not-allowed","rounded-full"),children:"Submit"})]})]})}function Dbe({message:e,onConfirm:t,isLatest:n}){const r=P0(),i=!!e.result,[s,o]=b.useState(!1),[l,c]=b.useState(!1),[d,p]=b.useState(!1),[h,g]=b.useState(""),v=b.useRef(null),_=e.input;b.useEffect(()=>{d&&v.current&&v.current.focus()},[d]);const x=async()=>{_!=null&&_.plan&&(await navigator.clipboard.writeText(_.plan),c(!0),setTimeout(()=>c(!1),2e3))},w=i?e.result:null,C=(w==null?void 0:w.discarded)===!0;return f.jsxs("div",{className:"flex flex-col gap-3",children:[f.jsxs("div",{className:"relative rounded-2xl border border-border overflow-hidden group/plan",children:[(_==null?void 0:_.plan)&&f.jsx(Xe,{variant:"ghost",size:"icon","aria-label":l?"Copied":"Copy plan",className:he("absolute top-2 right-2 z-10 h-11 w-11 md:h-8 md:w-8 rounded-md text-muted-foreground opacity-100 md:opacity-0 md:group-hover/plan:opacity-100 transition-opacity [@media(hover:none)]:!opacity-100",!l&&"hover:text-foreground",l&&"hover:!bg-transparent hover:!border-transparent"),onClick:x,children:l?f.jsx(pi,{className:"h-4 w-4 text-success"}):f.jsx(Cl,{className:"h-4 w-4"})}),f.jsxs("div",{className:he("!pt-5 !pb-0 px-4 md:py-4.5 md:px-5.5 bg-muted dark:bg-card overflow-scroll no-pre-highlight transition-all",i&&!s?"max-h-[min(400px,40vh)] ":"",i?"hover:!pb-[32px]":""),children:[i&&f.jsxs(Xe,{variant:"ghost",className:"absolute z-10 bottom-2 pr-2.5 !pl-3.5 h-[34px] inline-flex gap-1 text-sm left-[50%] -translate-x-[50%] text-muted-foreground backdrop-blur-sm hover:text-foreground opacity-0 group-hover/plan:opacity-100 transition-all rounded-full border border-border",onClick:()=>o(!s),children:[s?"Show Less":"Show More",f.jsx(Id,{className:`size-3.5 transition-transform ${s?"rotate-180":""}`})]}),_!=null&&_.plan?f.jsxs("div",{className:"prose prose-sm dark:prose-invert max-w-none",children:[f.jsx(Wc,{remarkPlugins:[Gc],components:Zd(),children:_.plan}),f.jsx("div",{className:"mt-5"})]}):f.jsx("p",{className:"text-sm text-muted-foreground",children:"No plan provided"})]})]}),i?f.jsx("div",{className:"flex justify-end mx-2",children:f.jsxs("span",{className:"pl-4 inline text-sm font-medium bg-background text-foreground/60 border border-border py-1.5 px-3 rounded-[20px] leading-relaxed max-w-[85%] sm:max-w-[80%]",children:[f.jsx("em",{children:C?"Discarded":w!=null&&w.clearContext?"Approved & Cleared Context":w!=null&&w.confirmed?"Approved":w!=null&&w.message?`Adjusted: "${w.message}"`:"Adjusted Plan"}),f.jsx(E9,{className:"inline h-4 w-4 ml-1.5 -mt-0.5"})]})}):n?r.readonly?f.jsx("div",{className:"flex justify-end mx-2",children:f.jsx("span",{className:"inline text-sm text-muted-foreground italic",children:"Plan pending in original session"})}):f.jsxs("div",{className:"flex flex-col gap-3",children:[!d&&f.jsxs("div",{className:"flex flex-col md:flex-row items-stretch md:items-center justify-end gap-2 mx-2",children:[f.jsxs(Xe,{size:"sm",onClick:()=>t(e.toolId,!0,!0),className:"rounded-full bg-primary text-background pr-4 md:order-last",children:[f.jsx(r9,{className:"h-4 w-4 mr-1.5"}),"Approve & Clear"]}),f.jsxs("div",{className:"flex items-stretch md:items-center gap-2 md:contents",children:[f.jsxs(Xe,{size:"sm",variant:"outline",onClick:()=>p(!0),className:"rounded-full border-border flex-1 md:flex-initial md:order-first",children:[f.jsx(AC,{className:"h-4 w-4 mr-1.5"}),"Suggest Edits"]}),f.jsxs(Xe,{size:"sm",variant:"outline",onClick:()=>t(e.toolId,!0),className:"rounded-full border-border flex-1 md:flex-initial",children:[f.jsx(pi,{className:"h-4 w-4 mr-1.5"}),"Approve"]})]})]}),d&&f.jsxs("div",{className:"flex flex-col gap-2",children:[f.jsx("textarea",{ref:v,value:h,onChange:k=>g(k.target.value),onKeyDown:k=>{k.key==="Enter"&&!k.shiftKey&&h.trim()&&(k.preventDefault(),t(e.toolId,!1,void 0,h.trim())),k.key==="Escape"&&(p(!1),g(""))},placeholder:"Describe what you'd like to change...",rows:3,className:"w-full rounded-2xl border border-border bg-muted dark:bg-card px-4 py-3 text-sm text-foreground placeholder:text-muted-foreground resize-none outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background"}),f.jsxs("div",{className:"flex items-center justify-end gap-2 mx-2",children:[f.jsx(Xe,{size:"sm",variant:"ghost",onClick:()=>{p(!1),g("")},className:"rounded-full text-muted-foreground",children:"Cancel"}),f.jsxs(Xe,{size:"sm",disabled:!h.trim(),onClick:()=>t(e.toolId,!1,void 0,h.trim()),className:"rounded-full bg-primary text-background disabled:opacity-50 disabled:pointer-events-none",children:[f.jsx(oW,{className:"h-4 w-4 mr-1.5"}),"Adjust Plan"]})]})]})]}):f.jsx("div",{className:"flex justify-end mx-2",children:f.jsx("span",{className:"inline text-sm text-muted-foreground italic",children:"Plan pending (newer prompt active)"})})]})}const Ibe={completed:{Icon:pi,iconClass:"text-success",textClass:"text-muted-foreground"},in_progress:{Icon:bn,iconClass:"text-foreground animate-spin",textClass:"text-foreground font-medium"},pending:{Icon:m9,iconClass:"text-muted-foreground",textClass:"text-muted-foreground"}};function Pbe({message:e}){const t=e.input.todos;return t.length?f.jsx("div",{className:"w-full",children:f.jsxs("div",{className:"rounded-2xl border border-border overflow-hidden",children:[f.jsxs("h3",{className:"font-medium text-foreground text-sm p-3 px-4 bg-card border-b border-border flex items-center gap-2",children:[f.jsx(xV,{className:"h-4 w-4 text-muted-foreground"}),"Progress"]}),f.jsx("div",{children:t.map((n,r)=>{const i=r===t.length-1,{Icon:s,iconClass:o,textClass:l}=Ibe[n.status];return f.jsxs("div",{className:he("flex items-center gap-3 px-4 py-2.5 bg-background",!i&&"border-b border-border"),children:[f.jsx(s,{className:he("h-4 w-4 flex-shrink-0",o)}),f.jsx("span",{className:he("text-sm",l),children:n.status==="in_progress"?n.activeForm:n.content})]},r)})})]})}):null}function rI(e){return(e&&typeof e=="object"&&"content"in e&&Array.isArray(e.content)?e.content:Array.isArray(e)?e:[]).flatMap(n=>!n||typeof n!="object"||!("type"in n)||n.type!=="image"?[]:"data"in n&&typeof n.data=="string"?[{type:"image",data:n.data,mimeType:typeof n.mimeType=="string"?n.mimeType:void 0}]:"source"in n&&n.source&&typeof n.source=="object"&&"type"in n.source&&n.source.type==="base64"&&"data"in n.source&&typeof n.source.data=="string"?[{type:"image",data:n.source.data,mimeType:typeof n.source.media_type=="string"?n.source.media_type:void 0}]:[])}function jbe({images:e}){return f.jsx("div",{className:"flex flex-col gap-3",children:e.map((t,n)=>{const r=t.mimeType||"image/png";return f.jsx("div",{className:"overflow-hidden rounded-lg border border-border bg-muted/20",children:f.jsx("img",{src:`data:${r};base64,${t.data}`,alt:`Read result ${n+1}`,className:"max-h-[50vh] w-full object-contain bg-background"})},`${r}:${n}`)})})}function k1({message:e,isLoading:t=!1,localPath:n}){var w;const r=e.result!==void 0,i=!r&&t,s=b.useMemo(()=>{if(e.toolKind==="skill")return e.input.skill;if(e.toolKind==="glob")return`Search files ${e.input.pattern==="**/*"?"in all directories":`matching ${e.input.pattern}`}`;if(e.toolKind==="grep"){const C=e.input.pattern,k=e.input.outputMode;return k==="count"?`Count \`${C}\` occurrences`:k==="content"?`Find \`${C}\` in text`:`Find \`${C}\` in files`}return e.toolKind==="bash"?e.input.description||(e.input.command?wX(e.input.command):"Bash"):e.toolKind==="web_search"?e.input.query||"Web Search":e.toolKind==="read_file"?`Read ${Bg(e.input.filePath,n)}`:e.toolKind==="write_file"?`Write ${Bg(e.input.filePath,n)}`:e.toolKind==="edit_file"?`Edit ${Bg(e.input.filePath,n)}`:e.toolKind==="delete_file"?`Delete ${Bg(e.input.filePath,n)}`:e.toolKind==="mcp_generic"?`${dw(e.input.tool)} from ${dw(e.input.server)}`:e.toolKind==="subagent_task"&&e.input.subagentType||e.toolName},[e.input,e.toolName,n]),o=b.useMemo(()=>e.toolKind==="subagent_task",[e.toolKind]),l=b.useMemo(()=>{if(e.toolKind==="skill")return e.input.skill},[e.input,e.toolKind]),c=e.toolKind==="bash",d=e.toolKind==="write_file",p=e.toolKind==="edit_file",h=e.toolKind==="delete_file",g=e.toolKind==="read_file",v=b.useMemo(()=>{if(typeof e.result=="string")return e.result;if(!e.result)return"";if(typeof e.result=="object"&&e.result!==null&&"content"in e.result){const C=e.result.content;if(typeof C=="string")return C}return JSON.stringify(e.result,null,2)},[e.result]),_=b.useMemo(()=>{if(!g)return[];if(e.result&&typeof e.result=="object"&&"blocks"in e.result){const C=e.result.blocks;if(Array.isArray(C)){const k=rI(C);if(k.length>0)return k}}return rI(e.rawResult)},[g,e.rawResult,e.result]),x=b.useMemo(()=>{switch(e.toolKind){case"bash":return e.input.command;case"write_file":case"delete_file":return e.input.content;default:return JSON.stringify(e.input,null,2)}},[e]);return f.jsx(xa,{className:"w-full",children:f.jsxs(j0,{expandedContent:f.jsx(O0,{className:"my-4 text-sm",children:f.jsxs("div",{className:"flex flex-col gap-2",children:[p?f.jsx(bh,{content:"",isDiff:!0,oldString:e.input.oldString,newString:e.input.newString}):h?f.jsx(bh,{content:e.input.content}):!g&&!d&&f.jsx(bD,{label:c?f.jsxs("span",{className:"flex items-center gap-2 w-full",children:[f.jsx("span",{children:"Command"}),!!e.input.timeoutMs&&f.jsxs("span",{className:"text-muted-foreground",children:["timeout: ",String(e.input.timeoutMs),"ms"]}),!!e.input.runInBackground&&f.jsx("span",{className:"text-muted-foreground",children:"background"})]}):d?"Contents":"Input",copyText:x,children:x}),r&&g&&!e.isError&&(_.length>0?f.jsxs("div",{children:[f.jsx("span",{className:"font-medium text-muted-foreground",children:"Image"}),f.jsx("div",{className:"mt-1",children:f.jsx(jbe,{images:_})})]}):f.jsx(bh,{content:v})),d&&!e.isError&&f.jsx(bh,{content:e.input.content}),r&&!g&&!(d&&!e.isError)&&!(p&&!e.isError)&&!(h&&!e.isError)&&f.jsx(bD,{label:e.isError?"Error":"Result",copyText:v,children:v})]})}),children:[f.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:(()=>{if(e.isError)return f.jsx(Ro,{className:"size-4 text-destructive"});if(o)return f.jsx(qb,{className:"size-4 text-muted-icon"});const C=f8(e.toolName);return f.jsx(C,{className:"size-4 text-muted-icon"})})()}),f.jsx(Tl,{className:"text-left transition-opacity duration-200 truncate",children:f.jsx(Fd,{animate:i,shimmerWidth:Math.max(20,(((w=l||s)==null?void 0:w.length)??33)*3),children:l||s})})]})})}function Obe({message:e}){const t=e.result,n=t==null?void 0:t.contentUrl,[r,i]=b.useState("idle");if(b.useEffect(()=>{if(!n)return;const h=new AbortController;return fetch(n,{method:"HEAD",signal:h.signal}).then(g=>{h.signal.aborted||i(g.ok?"ready":"missing")}).catch(()=>{}),()=>h.abort()},[n]),!t||!n)return null;const s={id:`offer-download-${e.toolId}`,kind:"file",displayName:t.displayName||t.fileName,absolutePath:t.relativePath,relativePath:t.relativePath,contentUrl:n,mimeType:t.mimeType??"application/octet-stream",size:t.size},o=l6(s),l=Hle(o,t.mimeType),c=t.size>0?A0(t.size):null,d=f.jsxs(f.Fragment,{children:[l,c?f.jsxs(f.Fragment,{children:[" · ",f.jsx("span",{className:"tabular-nums",children:c})]}):null]}),p=["Download",s.displayName,l,c].filter(Boolean);return r==="missing"?f.jsx("div",{className:"flex","data-testid":"offer-download-link",children:f.jsx(lp,{attachment:s,disabledReason:"File no longer available"})}):f.jsx("div",{className:"flex","data-testid":"offer-download-link",children:f.jsx(lp,{attachment:s,href:n,download:t.fileName||void 0,meta:d,ariaLabel:p.join(", ")})})}function zbe(e){if(e<1e3)return`${e}ms`;const t=Math.floor(e/1e3),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}h${r>0?` ${r}m`:""}`:r>0?`${r}m${i>0?` ${i}s`:""}`:`${i}s`}function iI({durationMs:e,prefix:t="Worked for"}){return e<=0?null:f.jsxs(hme,{children:[t," ",zbe(e)]})}function Bbe({message:e}){return e.success?f.jsx(iI,{durationMs:e.durationMs}):f.jsxs(f.Fragment,{children:[f.jsx("div",{className:"px-4 py-3 mx-2 my-1 rounded-lg bg-destructive/10 border border-destructive/20 text-destructive text-sm",children:e.result||"An unknown error occurred."}),f.jsx(iI,{durationMs:e.durationMs,prefix:"Failed after"})]})}function Fbe({message:e}){return f.jsx("div",{className:"flex items-center justify-end gap-2 text-sm text-muted-foreground",children:f.jsxs("div",{className:"inline-flex gap-1.5 items-center justify-center whitespace-nowrap text-sm font-medium bg-background text-foreground/60 border border-border h-9 pl-1 pr-4 rounded-full",children:[f.jsx(h9,{className:"h-4 w-4 ml-1.5"}),f.jsx("em",{children:"Interrupted"})]})})}function Eb({size:e=4}){return f.jsxs("svg",{className:"flex-1",viewBox:`0 0 100 ${e}`,preserveAspectRatio:"none",style:{height:`${e}px`},children:[f.jsx("pattern",{id:"zigzag",width:e,height:e,patternUnits:"userSpaceOnUse",children:f.jsx("path",{d:`M0 ${e} L${e/2} 0 L${e} ${e}`,fill:"none",stroke:"currentColor",strokeWidth:"0.5",className:"text-muted-foreground/30",style:{stroke:"currentColor"}})}),f.jsx("rect",{width:"100%",height:e,fill:"url(#zigzag)",className:"text-muted-foreground/30"})]})}function $be(){return f.jsxs("div",{className:"flex items-center gap-3",children:[f.jsx(Eb,{}),f.jsx("span",{className:"text-[11px] tracking-widest text-muted-foreground uppercase flex-shrink-0",children:"Compacted"}),f.jsx(Eb,{})]})}function Hbe(){return f.jsxs("div",{className:"flex items-center gap-3",children:[f.jsx(Eb,{}),f.jsx("span",{className:"text-[11px] tracking-widest text-muted-foreground uppercase flex-shrink-0",children:"Context Cleared"}),f.jsx(Eb,{})]})}function Ube({message:e}){return f.jsx(xa,{children:f.jsxs(j0,{expandedContent:f.jsx(O0,{className:"my-4 text-xs",children:f.jsx("div",{className:"prose prose-sm dark:prose-invert max-w-none",children:f.jsx(Wc,{remarkPlugins:[Gc],components:Zd(),children:e.summary})})}),children:[f.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:f.jsx(Bj,{className:"h-4.5 w-4.5 text-muted-foreground"})}),f.jsx(Tl,{children:"Summarized"})]})})}const Vbe={compacting:"Compacting..."};function Wbe({message:e}){const t=Vbe[e.status]||e.status;return f.jsxs(xa,{className:"grid grid-cols-[auto_1fr] items-center gap-1.5 text-sm animate-pulse",children:[f.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:f.jsx(Bj,{className:"h-4.5 w-4.5 text-muted-foreground"})}),f.jsx(Tl,{className:"text-left transition-opacity duration-200 truncate",children:t})]})}const Gbe={read_file:{key:"read",singular:"read",plural:"reads"},edit_file:{key:"edit",singular:"edit",plural:"edits"},write_file:{key:"write",singular:"write",plural:"writes"},delete_file:{key:"delete",singular:"delete",plural:"deletes"},bash:{key:"bash",singular:"command",plural:"commands"},grep:{key:"grep",singular:"search",plural:"searches"},glob:{key:"glob",singular:"glob",plural:"globs"},subagent_task:{key:"task",singular:"agent",plural:"agents"},web_search:{key:"websearch",singular:"web search",plural:"web searches"},skill:{key:"skill",singular:"skill",plural:"skills"},todo_write:{key:"todo",singular:"todo update",plural:"todo updates"}},qbe={key:"other",singular:"tool call",plural:"tool calls"};function Kbe(e){return Gbe[e]??qbe}function Ybe(e){const t=new Map,n=[];for(const r of e){const i=r.toolKind,s=Kbe(i),o=t.get(s.key);o?o.count++:(t.set(s.key,{category:s,count:1}),n.push(s.key))}return n.map(r=>{const{category:i,count:s}=t.get(r);return`${s} ${s===1?i.singular:i.plural}`}).join(", ")}function Xbe({messages:e,isLoading:t,localPath:n,expanded:r,onExpandedChange:i}){const s=b.useMemo(()=>Ybe(e),[e]),l=e.some(c=>c.result===void 0)&&t;return f.jsx(xa,{className:"w-full",children:f.jsxs("div",{className:"flex flex-col w-full",children:[f.jsx("button",{onClick:()=>i(!r),className:`group cursor-pointer grid grid-cols-[auto_1fr] items-center gap-1 text-sm ${!r&&!l?"hover:opacity-60 transition-opacity":""}`,children:f.jsxs("div",{className:"grid grid-cols-[auto_1fr] items-center gap-1.5",children:[f.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:f.jsx(So,{className:`h-4.5 w-4.5 text-muted-icon transition-all duration-200 ${r?"rotate-90":""}`})}),f.jsx(Tl,{className:"text-left",children:f.jsx(Fd,{animate:l,children:s})})]})}),r&&f.jsxs("div",{className:"my-4 flex flex-col gap-3",children:[e.map(c=>f.jsx(k1,{message:c,isLoading:t,localPath:n},c.id)),e.length>5&&f.jsx("button",{onClick:()=>i(!1),className:"cursor-pointer grid grid-cols-[auto_1fr] items-center gap-1 text-xs hover:opacity-80 transition-opacity",children:f.jsxs("div",{className:"grid grid-cols-[auto_1fr] items-center gap-1.5",children:[f.jsx("div",{className:"w-5 h-5 relative flex items-center justify-center",children:f.jsx(So,{className:"h-4.5 w-4.5 text-muted-icon -rotate-90"})}),f.jsx(Tl,{className:"text-left",children:"Collapse"})]})})]})]})})}function Qbe(e){if(e!=="system")return e}function kS(e,t){const n=Qbe(t),r=new Intl.DateTimeFormat("en-GB",{timeZone:n,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1}).formatToParts(new Date(e)),i=o=>{var l;return((l=r.find(c=>c.type===o))==null?void 0:l.value)??"00"};let s=i("hour");return s==="24"&&(s="00"),`${i("day")}/${i("month")}/${i("year")} ${s}:${i("minute")}`}const Zbe=/^(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2})$/;function sI(e,t){if(e==="system")return-new Date(t).getTimezoneOffset();const n=new Intl.DateTimeFormat("en-US",{timeZone:e,hour12:!1,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).formatToParts(new Date(t)),r=o=>{var l;return Number(((l=n.find(c=>c.type===o))==null?void 0:l.value)??0)};let i=r("hour");i===24&&(i=0);const s=Date.UTC(r("year"),r("month")-1,r("day"),i,r("minute"),r("second"));return Math.round((s-t)/6e4)}function Jbe(e,t){const n=Zbe.exec(e.trim());if(!n)return null;const[,r,i,s,o,l]=n,c=Number(r),d=Number(i),p=Number(s),h=Number(o),g=Number(l);if(d<1||d>12||c<1||c>31||h>23||g>59)return null;const v=Date.UTC(p,d-1,c,h,g),_=sI(t,v),x=v-_*6e4,w=sI(t,x);return x-(w-_)*6e4}const e0e={neutral:"border-border bg-card",muted:"border-border/50 bg-card/50 opacity-75",success:"border-emerald-500/30 bg-emerald-500/5",error:"border-destructive/40 bg-destructive/5"},t0e={primary:"default",secondary:"secondary",ghost:"ghost",destructive:"destructive"};function oa({title:e,description:t,body:n,errorMessage:r,tone:i="neutral",actions:s=[]}){const[o,l]=b.useState(null),[c,d]=b.useState(null),p=b.useCallback(async g=>{if(o)return;d(null);let v;try{v=g.onClick()}catch(_){console.error("[transcript-action-card] sync click threw",_),d(_ instanceof Error?_.message:String(_));return}if(v instanceof Promise){l(g.id);try{await v}catch(_){console.error("[transcript-action-card] async click rejected",_),d(_ instanceof Error?_.message:String(_))}finally{l(null)}}},[o]),h=o!==null;return f.jsxs("div",{"data-focus-fallback-ignore":!0,className:he("rounded-lg border px-4 py-3 text-sm space-y-2 transition-colors",e0e[i]),children:[f.jsx("div",{className:"flex items-start justify-between gap-3",children:f.jsxs("div",{className:"space-y-1 min-w-0 flex-1",children:[f.jsx("div",{className:"font-medium leading-tight",children:e}),t?f.jsx("div",{className:"text-muted-foreground text-xs leading-snug",children:t}):null]})}),n?f.jsx("div",{className:"text-xs leading-snug",children:n}):null,r?f.jsx("div",{className:"text-destructive text-xs leading-snug",children:r}):null,c?f.jsx("div",{className:"text-destructive text-xs leading-snug",role:"alert",children:c}):null,s.length>0?f.jsx("div",{className:"flex flex-wrap gap-2 pt-1",children:s.map(g=>{const v=o===g.id;return f.jsxs(Xe,{type:"button",size:"sm",variant:t0e[g.variant??"ghost"],disabled:g.disabled||h&&!v,onClick:()=>{p(g)},className:"gap-1.5",children:[v?f.jsx(bn,{className:"size-3.5 animate-spin"}):null,g.label]},g.id)})}):null]})}function n0e({schedule:e,onAccept:t,onReschedule:n,onCancel:r}){const[i,s]=b.useState(()=>kS(e.scheduledAt??e.resetAt,e.tz)),[o,l]=b.useState(!1),c=b.useMemo(()=>Jbe(i,e.tz),[i,e.tz]),d=c!==null&&c>Date.now(),p=c===null?"Use format dd/mm/yyyy hh:mm":d?null:"Time must be in the future";if(e.state==="fired"){const _=kS(e.scheduledAt??e.resetAt,e.tz);return f.jsx(oa,{title:`Auto-continued at ${_}`,tone:"success"})}if(e.state==="cancelled")return f.jsx(oa,{title:"Auto-continue cancelled",tone:"muted"});if(e.state==="proposed"){const _=e.resetAt<=Date.now(),x=[{id:"schedule",label:"Schedule",variant:"primary",disabled:!d,onClick:()=>{c!==null&&t(c)}},{id:"dismiss",label:"Dismiss",variant:"ghost",onClick:()=>r()}];return f.jsx(oa,{title:"Rate limit hit — schedule auto-continue?",description:_?"Reset time has passed — accept to continue now.":void 0,body:f.jsxs("div",{className:"space-y-1",children:[f.jsx(nr,{value:i,onChange:w=>s(w.target.value),placeholder:"dd/mm/yyyy hh:mm"}),p&&f.jsx("div",{className:"text-destructive text-xs",children:p})]}),actions:x})}const h=kS(e.scheduledAt??e.resetAt,e.tz),g=e.tz==="system"?"local":e.tz;if(!o){const _=[{id:"change",label:"Change time",variant:"secondary",onClick:()=>l(!0)},{id:"cancel",label:"Cancel",variant:"ghost",onClick:()=>r()}];return f.jsx(oa,{title:`Auto-continue at ${h} (${g})`,actions:_})}const v=[{id:"save",label:"Save",variant:"primary",disabled:!d,onClick:()=>{c!==null&&(n(c),l(!1))}},{id:"back",label:"Back",variant:"ghost",onClick:()=>l(!1)}];return f.jsx(oa,{title:`Auto-continue at ${h} (${g})`,body:f.jsxs("div",{className:"space-y-1",children:[f.jsx(nr,{value:i,onChange:_=>s(_.target.value),placeholder:"dd/mm/yyyy hh:mm"}),p&&f.jsx("div",{className:"text-destructive text-xs",children:p})]}),actions:v})}const r0e=new Set(["AskUserQuestion","ExitPlanMode","TodoWrite"]);function oI(e){if(e.kind!=="tool")return!1;const t=e.toolName;return!r0e.has(t)}function i0e(e,{isFirstSystem:t,isFirstAccount:n,isLatestTodoWrite:r,hideResult:i,isFinalStatus:s}){let o=!e.hidden;if(o)switch(e.kind){case"system_init":o=t;break;case"account_info":o=n;break;case"tool":o=e.toolKind!=="todo_write"||r;break;case"result":o=!i&&(!e.success||e.durationMs>6e4);break;case"context_window_updated":o=!1;break;case"status":o=s;break;default:o=!0;break}return{isFirstSystem:t,isFirstAccount:n,isLatestTodoWrite:r,hideResult:i,isFinalStatus:s,shouldRender:o}}function s0e(e,t){const n=e.findIndex(i=>i.kind==="system_init"),r=e.findIndex(i=>i.kind==="account_info");return e.map((i,s)=>{const o=e[s-1],l=e[s+1];return i0e(i,{isFirstSystem:n===s,isFirstAccount:r===s,isLatestTodoWrite:i.id===t.TodoWrite,hideResult:(l==null?void 0:l.kind)==="context_cleared"||(o==null?void 0:o.kind)==="context_cleared",isFinalStatus:s===e.length-1})})}function o0e(e,t){const n=[];let r=0;for(;r<e.length;){const i=e[r],s=t[r];if(s!=null&&s.shouldRender&&oI(i)){const o=[i],l=r;for(r+=1;r<e.length;){const c=e[r],d=t[r];if(!(d!=null&&d.shouldRender)){r+=1;continue}if(!oI(c))break;o.push(c),r+=1}o.length>=2?n.push({type:"tool-group",messages:o,startIndex:l}):n.push({type:"single",message:i,index:l});continue}n.push({type:"single",message:i,index:r}),r+=1}return n}function aI(e){var n;return e.type==="single"?e.message.id:`tool-group:${((n=e.messages[0])==null?void 0:n.id)??e.startIndex}`}function ES(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((n,r)=>n===t[r])}function a0e(e,t){return e.id===t.id&&e.kind===t.kind&&e.displayName===t.displayName&&e.absolutePath===t.absolutePath&&e.relativePath===t.relativePath&&e.contentUrl===t.contentUrl&&e.mimeType===t.mimeType&&e.size===t.size}function l0e(e,t){return e===t?!0:!e||!t||e.length!==t.length?!1:e.every((n,r)=>a0e(n,t[r]))}function kd(e,t){var n,r;if(e===t)return!0;if(e.kind!==t.kind||e.id!==t.id||e.hidden!==t.hidden)return!1;switch(e.kind){case"user_prompt":return e.content===(t.kind==="user_prompt"?t.content:null)&&t.kind==="user_prompt"&&e.steered===t.steered&&((n=e.autoContinue)==null?void 0:n.scheduleId)===((r=t.autoContinue)==null?void 0:r.scheduleId)&&l0e(e.attachments,t.attachments);case"system_init":return t.kind==="system_init"&&e.provider===t.provider&&e.model===t.model&&ES(e.tools,t.tools)&&ES(e.agents,t.agents)&&ES(e.slashCommands,t.slashCommands)&&e.debugRaw===t.debugRaw;case"account_info":return t.kind==="account_info"&&JSON.stringify(e.accountInfo)===JSON.stringify(t.accountInfo);case"assistant_text":return t.kind==="assistant_text"&&e.text===t.text;case"tool":return t.kind==="tool"&&e.toolKind===t.toolKind&&e.toolName===t.toolName&&e.toolId===t.toolId&&e.isError===t.isError&&JSON.stringify(e.input)===JSON.stringify(t.input)&&JSON.stringify(e.result)===JSON.stringify(t.result)&&JSON.stringify(e.rawResult)===JSON.stringify(t.rawResult);case"result":return t.kind==="result"&&e.success===t.success&&e.cancelled===t.cancelled&&e.result===t.result&&e.durationMs===t.durationMs&&e.costUsd===t.costUsd;case"status":return t.kind==="status"&&e.status===t.status;case"compact_summary":return t.kind==="compact_summary"&&e.summary===t.summary;case"context_window_updated":return t.kind==="context_window_updated"&&JSON.stringify(e.usage)===JSON.stringify(t.usage);case"compact_boundary":case"context_cleared":case"interrupted":return!0;case"unknown":return t.kind==="unknown"&&e.json===t.json;case"auto_continue_prompt":return t.kind==="auto_continue_prompt"&&e.scheduleId===t.scheduleId}}function c0e(e,t){return e.kind!==t.kind||e.id!==t.id?!1:e.kind==="single"&&t.kind==="single"?e.index===t.index&&e.isLoading===t.isLoading&&e.localPath===t.localPath&&e.isFirstSystem===t.isFirstSystem&&e.isFirstAccount===t.isFirstAccount&&e.isLatestAskUserQuestion===t.isLatestAskUserQuestion&&e.isLatestExitPlanMode===t.isLatestExitPlanMode&&e.isLatestTodoWrite===t.isLatestTodoWrite&&e.hideResult===t.hideResult&&e.isFinalStatus===t.isFinalStatus&&kd(e.message,t.message):e.kind==="tool-group"&&t.kind==="tool-group"?e.startIndex===t.startIndex&&e.isLoading===t.isLoading&&e.localPath===t.localPath&&e.messages.length===t.messages.length&&e.messages.every((n,r)=>kd(n,t.messages[r])):!1}function u0e(e,t){const n=new Map;let r=e.length!==t.byId.size;const i=e.map((s,o)=>{const l=t.byId.get(s.id),c=l&&c0e(l,s)?l:s;return n.set(s.id,c),!r&&t.result[o]!==c&&(r=!0),c});return r?{byId:n,result:i}:t}function d0e(e){const t=b.useRef({byId:new Map,result:[]});return b.useMemo(()=>{const n=u0e(e,t.current);return t.current=n,n.result},[e])}const f0e=b.memo(function({message:t,index:n,isLoading:r,localPath:i,isFirstSystem:s,isFirstAccount:o,isLatestAskUserQuestion:l,isLatestExitPlanMode:c,isLatestTodoWrite:d,hideResult:p,isFinalStatus:h,onAskUserQuestionSubmit:g,onExitPlanModeConfirm:v,schedules:_,onAutoContinueAccept:x,onAutoContinueReschedule:w,onAutoContinueCancel:C}){let k=null;if(t.kind==="user_prompt")k=f.jsx(_be,{content:t.content,attachments:t.attachments,steered:t.steered,autoContinue:t.autoContinue},t.id);else switch(t.kind){case"auto_continue_prompt":{const R=_[t.scheduleId];if(!R){k=f.jsx("div",{className:"rounded border px-3 py-2 text-sm opacity-70",children:"Auto-continue expired"},t.id);break}k=f.jsx(n0e,{schedule:R,onAccept:T=>x(t.scheduleId,T),onReschedule:T=>w(t.scheduleId,T),onCancel:()=>C(t.scheduleId)},t.id);break}case"unknown":k=f.jsx(xbe,{json:t.json},t.id);break;case"system_init":k=s?f.jsx(Ebe,{message:t,rawJson:t.debugRaw},t.id):null;break;case"account_info":k=o?f.jsx(Rbe,{message:t},t.id):null;break;case"assistant_text":k=f.jsx(Tbe,{message:t},t.id);break;case"tool":if(t.isError){k=f.jsx(k1,{message:t,isLoading:r,localPath:i},t.id);break}if(t.toolKind==="ask_user_question"){k=f.jsx(Lbe,{message:t,onSubmit:g,isLatest:l},t.id);break}if(t.toolKind==="exit_plan_mode"){k=f.jsx(Dbe,{message:t,onConfirm:v,isLatest:c},t.id);break}if(t.toolKind==="todo_write"){k=d?f.jsx(Pbe,{message:t},t.id):null;break}if(t.toolKind==="offer_download"&&t.result){k=f.jsx(Obe,{message:t},t.id);break}k=f.jsx(k1,{message:t,isLoading:r,localPath:i},t.id);break;case"result":k=p?null:f.jsx(Bbe,{message:t},t.id);break;case"context_window_updated":k=null;break;case"interrupted":k=f.jsx(Fbe,{message:t},t.id);break;case"compact_boundary":k=f.jsx($be,{},t.id);break;case"context_cleared":k=f.jsx(Hbe,{},t.id);break;case"compact_summary":k=f.jsx(Ube,{message:t},t.id);break;case"status":k=h?f.jsx(Wbe,{message:t},t.id):null;break}return k?f.jsx("div",{id:`msg-${t.id}`,className:"group relative","data-index":n,[Fv]:"",children:k}):null},(e,t)=>e.index===t.index&&e.isLoading===t.isLoading&&e.localPath===t.localPath&&e.isFirstSystem===t.isFirstSystem&&e.isFirstAccount===t.isFirstAccount&&e.isLatestAskUserQuestion===t.isLatestAskUserQuestion&&e.isLatestExitPlanMode===t.isLatestExitPlanMode&&e.isLatestTodoWrite===t.isLatestTodoWrite&&e.hideResult===t.hideResult&&e.isFinalStatus===t.isFinalStatus&&e.onAskUserQuestionSubmit===t.onAskUserQuestionSubmit&&e.onExitPlanModeConfirm===t.onExitPlanModeConfirm&&e.schedules===t.schedules&&e.onAutoContinueAccept===t.onAutoContinueAccept&&e.onAutoContinueReschedule===t.onAutoContinueReschedule&&e.onAutoContinueCancel===t.onAutoContinueCancel&&kd(e.message,t.message)),h0e=b.memo(function({id:t,startIndex:n,messages:r,isLoading:i,localPath:s,expanded:o,onExpandedChange:l}){return f.jsx("div",{className:"group relative",[Fv]:"",children:f.jsx(Xbe,{messages:r,isLoading:i,localPath:s,expanded:o,onExpandedChange:c=>l(t,c)})})},(e,t)=>e.id===t.id&&e.startIndex===t.startIndex&&e.isLoading===t.isLoading&&e.localPath===t.localPath&&e.expanded===t.expanded&&e.onExpandedChange===t.onExpandedChange&&e.messages.length===t.messages.length&&e.messages.every((n,r)=>kd(n,t.messages[r])));function uB(e,{isLoading:t,localPath:n,latestToolIds:r}){const i=s0e(e,r),s=o0e(e,i),o=[];for(const l of s){if(l.type==="tool-group"){o.push({kind:"tool-group",id:aI(l),startIndex:l.startIndex,messages:l.messages,isLoading:t&&l.messages.some(p=>p.kind==="tool"&&p.result===void 0),localPath:n});continue}const c=i[l.index];if(!c)continue;const d={kind:"single",id:aI(l),message:l.message,index:l.index,isLoading:l.message.kind==="tool"&&l.message.result===void 0&&t,localPath:n,isFirstSystem:c.isFirstSystem,isFirstAccount:c.isFirstAccount,isLatestAskUserQuestion:l.message.id===r.AskUserQuestion,isLatestExitPlanMode:l.message.id===r.ExitPlanMode,isLatestTodoWrite:c.isLatestTodoWrite,hideResult:c.hideResult,isFinalStatus:c.isFinalStatus};c.shouldRender&&o.push(d)}return o}const dB=b.memo(function({row:t,toolGroupExpanded:n,onToolGroupExpandedChange:r,onAskUserQuestionSubmit:i,onExitPlanModeConfirm:s,schedules:o,onAutoContinueAccept:l,onAutoContinueReschedule:c,onAutoContinueCancel:d}){return t.kind==="tool-group"?f.jsx(h0e,{id:t.id,startIndex:t.startIndex,messages:t.messages,isLoading:t.isLoading,localPath:t.localPath,expanded:n??!1,onExpandedChange:r}):f.jsx(f0e,{message:t.message,index:t.index,isLoading:t.isLoading,localPath:t.localPath,isFirstSystem:t.isFirstSystem,isFirstAccount:t.isFirstAccount,isLatestAskUserQuestion:t.isLatestAskUserQuestion,isLatestExitPlanMode:t.isLatestExitPlanMode,isLatestTodoWrite:t.isLatestTodoWrite,hideResult:t.hideResult,isFinalStatus:t.isFinalStatus,onAskUserQuestionSubmit:i,onExitPlanModeConfirm:s,schedules:o,onAutoContinueAccept:l,onAutoContinueReschedule:c,onAutoContinueCancel:d})},(e,t)=>{if(e.toolGroupExpanded!==t.toolGroupExpanded||e.onToolGroupExpandedChange!==t.onToolGroupExpandedChange||e.onAskUserQuestionSubmit!==t.onAskUserQuestionSubmit||e.onExitPlanModeConfirm!==t.onExitPlanModeConfirm||e.schedules!==t.schedules||e.onAutoContinueAccept!==t.onAutoContinueAccept||e.onAutoContinueReschedule!==t.onAutoContinueReschedule||e.onAutoContinueCancel!==t.onAutoContinueCancel||e.row.kind!==t.row.kind||e.row.id!==t.row.id)return!1;if(e.row.kind==="tool-group"&&t.row.kind==="tool-group"){const n=e.row,r=t.row;return n.startIndex===r.startIndex&&n.isLoading===r.isLoading&&n.localPath===r.localPath&&n.messages.length===r.messages.length&&n.messages.every((i,s)=>kd(i,r.messages[s]))}return e.row.kind==="single"&&t.row.kind==="single"?e.row.index===t.row.index&&e.row.isLoading===t.row.isLoading&&e.row.localPath===t.row.localPath&&e.row.isFirstSystem===t.row.isFirstSystem&&e.row.isFirstAccount===t.row.isFirstAccount&&e.row.isLatestAskUserQuestion===t.row.isLatestAskUserQuestion&&e.row.isLatestExitPlanMode===t.row.isLatestExitPlanMode&&e.row.isLatestTodoWrite===t.row.isLatestTodoWrite&&e.row.hideResult===t.row.hideResult&&e.row.isFinalStatus===t.row.isFinalStatus&&kd(e.row.message,t.row.message):!1}),fB={},p0e=(e,t)=>{},m0e=(e,t)=>{},g0e=e=>{};function v0e({messages:e,isLoading:t,localPath:n,latestToolIds:r,onOpenLocalLink:i,onAskUserQuestionSubmit:s,onExitPlanModeConfirm:o,schedules:l=fB,onAutoContinueAccept:c=p0e,onAutoContinueReschedule:d=m0e,onAutoContinueCancel:p=g0e,onTunnelAccept:h,onTunnelStop:g,onTunnelRetry:v}){const[_,x]=b.useState({}),w=b.useMemo(()=>uB(e,{isLoading:t,localPath:n,latestToolIds:r}),[t,r,n,e]),C=b.useCallback((k,R)=>{x(T=>T[k]===R?T:{...T,[k]:R})},[]);return f.jsx(u8,{onOpenLocalLink:i,children:w.map(k=>f.jsx("div",{className:"mx-auto max-w-[800px] pb-5",children:f.jsx(dB,{row:k,toolGroupExpanded:k.kind==="tool-group"?_[k.id]??!1:void 0,onToolGroupExpandedChange:C,onAskUserQuestionSubmit:s,onExitPlanModeConfirm:o,schedules:l,onAutoContinueAccept:c,onAutoContinueReschedule:d,onAutoContinueCancel:p})},k.id))})}b.memo(v0e);function b0e(e=1e3){const[t,n]=b.useState(()=>Date.now()),r=b.useRef(e);return r.current=e,b.useEffect(()=>{const i=window.setInterval(()=>{n(Date.now())},r.current);return()=>window.clearInterval(i)},[]),t}function y0e(e){switch(e.kind){case"bash_shell":return e.command;case"terminal_pty":return`PTY: ${e.cwd}`;case"codex_session":return"Codex session";case"draining_stream":return"Draining stream"}}function _0e(e){switch(e.kind){case"bash_shell":return"bash";case"terminal_pty":return"terminal";case"codex_session":return"codex";case"draining_stream":return"stream"}}function x0e(e){return"chatId"in e?e.chatId??null:null}function S0e(e){return e.kind==="bash_shell"?e.status==="stopping"?"stopping":"running":"active"}function w0e(e){return(e.lastOutput??"").split(`
|
|
2553
2553
|
`).slice(-12)}function C0e(){return typeof window>"u"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches}const hB=b.memo(function({task:t,index:n,now:r,isFocused:i,isExpanded:s,isDimmed:o,graceMs:l,variant:c="desktop",onFocus:d,onToggleExpand:p,onStopConfirmed:h,onForceKill:g,onConfirmStart:v,onConfirmEnd:_,stopButtonRef:x,_testInitialPhase:w}){const C=b.useRef(null),k=b.useRef(null),R=x??k,T=b.useRef(null),[A,N]=b.useState(()=>w==="confirm"?{phase:"confirm"}:w==="stopping"?{phase:"stopping",startedAt:0}:w==="forceAvailable"?{phase:"forceAvailable"}:{phase:"idle"}),M=y0e(t),D=_0e(t),W=x0e(t),I=S0e(t),$=A.phase==="stopping"||A.phase==="forceAvailable"?null:kX(t.startedAt,r),B=EX(t.startedAt),j=w0e(t),F=C0e(),V=F||n>=8?0:n*24,z=F?{}:{animationName:"bg-task-row-enter",animationDuration:"180ms",animationTimingFunction:"cubic-bezier(0.25, 0.46, 0.45, 0.94)",animationFillMode:"both",animationDelay:`${V}ms`};b.useEffect(()=>{if(A.phase!=="stopping")return;const Z=setTimeout(()=>{N({phase:"forceAvailable"})},l);return()=>clearTimeout(Z)},[A.phase,l]),b.useEffect(()=>{var Z;A.phase==="confirm"&&((Z=T.current)==null||Z.focus())},[A.phase]);const H=b.useCallback(()=>{N({phase:"confirm"}),v(t.id)},[t.id,v]),U=b.useCallback(()=>{var Z;N({phase:"idle"}),_(),(Z=R.current)==null||Z.focus()},[_,R]),Y=b.useCallback(()=>{N({phase:"stopping",startedAt:Date.now()}),_(),h(t.id)},[t.id,_,h]),P=b.useCallback(()=>{g(t.id)},[t.id,g]),G=b.useCallback(Z=>{if(Z.key==="Escape"&&A.phase==="confirm"){Z.preventDefault(),Z.stopPropagation(),U();return}Z.key==="Enter"&&(Z.preventDefault(),p(t.id)),(Z.metaKey||Z.ctrlKey)&&Z.key==="."&&(Z.preventDefault(),A.phase==="idle"?H():A.phase==="confirm"?Y():A.phase==="forceAvailable"&&P())},[t.id,p,A.phase,H,Y,U,P]),J=b.useCallback(Z=>{Z.stopPropagation(),p(t.id)},[t.id,p]),O=F?{}:{animationName:"bg-task-confirm-slide-in",animationDuration:"180ms",animationTimingFunction:"cubic-bezier(0.22, 1, 0.36, 1)",animationFillMode:"both"},ie=()=>A.phase==="idle"?c==="mobile"?f.jsxs("button",{ref:R,type:"button","aria-label":"Stop task",onClick:Z=>{Z.stopPropagation(),H()},disabled:I==="stopping",className:he("w-full flex items-center justify-center gap-1.5 px-3 py-2 rounded-md","text-sm text-muted-foreground hover:text-destructive-text border border-border/60 hover:border-destructive-text/40","focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-ring","disabled:opacity-40 disabled:pointer-events-none","transition-colors"),"data-mobile-stop-line":!0,children:[f.jsx(lN,{className:"w-3 h-3 fill-current","aria-hidden":!0}),"Stop"]}):f.jsxs(ei,{children:[f.jsx(ti,{asChild:!0,children:f.jsx("button",{ref:R,type:"button","aria-label":"Stop task",onClick:Z=>{Z.stopPropagation(),H()},disabled:I==="stopping",className:he("flex-shrink-0 inline-flex items-center justify-center w-5 h-5 rounded-sm","text-muted-foreground hover:text-destructive-text","focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-ring","disabled:opacity-40 disabled:pointer-events-none","transition-colors"),children:f.jsx(lN,{className:"w-3 h-3 fill-current","aria-hidden":!0})})}),f.jsx(Gr,{side:"top",children:"Stop (⌘.)"})]}):A.phase==="confirm"?c==="mobile"?f.jsxs("span",{className:"grid grid-cols-2 gap-2 w-full",style:O,"data-confirm-area":!0,"data-mobile-stop-line":!0,children:[f.jsx("button",{ref:T,type:"button","aria-label":"Confirm stop",onClick:Z=>{Z.stopPropagation(),Y()},className:he("flex items-center justify-center rounded-md px-3 py-2 text-sm font-medium border","focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-ring","transition-colors"),style:{color:"var(--destructive-text)",borderColor:"var(--destructive-text)"},children:"Confirm stop?"}),f.jsx("button",{type:"button","aria-label":"Cancel stop",onClick:Z=>{Z.stopPropagation(),U()},className:he("flex items-center justify-center rounded-md px-3 py-2 text-sm","text-muted-foreground hover:text-foreground","border border-border/60 hover:border-border","focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-ring","transition-colors"),children:"Cancel"})]}):f.jsxs("span",{className:"flex items-center gap-1.5 flex-shrink-0",style:O,"data-confirm-area":!0,children:[f.jsx("button",{ref:T,type:"button","aria-label":"Confirm stop",onClick:Z=>{Z.stopPropagation(),Y()},className:he("inline-flex items-center rounded-sm px-1.5 py-0.5 text-xs font-medium","focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-ring","transition-colors"),style:{color:"var(--destructive-text)"},children:"Confirm stop?"}),f.jsx("button",{type:"button","aria-label":"Cancel stop",onClick:Z=>{Z.stopPropagation(),U()},className:he("inline-flex items-center rounded-sm px-1.5 py-0.5 text-xs","text-muted-foreground hover:text-foreground","border border-border/60 hover:border-border","focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-ring","transition-colors"),children:"Cancel"})]}):A.phase==="forceAvailable"?c==="mobile"?f.jsx("button",{type:"button","aria-label":"Force kill task",onClick:Z=>{Z.stopPropagation(),P()},className:he("w-full flex items-center justify-center rounded-md px-3 py-2 text-sm font-medium border","focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-ring","transition-colors"),style:{color:"var(--destructive-text)",borderColor:"var(--destructive-text)"},"data-mobile-stop-line":!0,children:"Force kill"}):f.jsxs(ei,{children:[f.jsx(ti,{asChild:!0,children:f.jsx("button",{type:"button","aria-label":"Force kill task",onClick:Z=>{Z.stopPropagation(),P()},className:he("flex-shrink-0 inline-flex items-center rounded-sm px-1.5 py-0.5 text-xs font-medium","focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-ring","transition-colors"),style:{color:"var(--destructive-text)"},children:"Force kill"})}),f.jsx(Gr,{side:"top",children:"Send SIGKILL immediately"})]}):null;return c==="mobile"?f.jsxs("div",{ref:C,role:"option","aria-selected":i,tabIndex:i?0:-1,"data-task-id":t.id,"data-row-enter":!0,"data-mobile-row":!0,onFocus:()=>d(t.id),onKeyDown:G,className:he("group relative flex flex-col px-3 py-3 rounded-md transition-all cursor-default gap-1.5","hover:bg-secondary focus-visible:bg-secondary","focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-ring",i&&"bg-secondary"),style:{...z,...o?{opacity:.6,pointerEvents:"none"}:{}},children:[f.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[f.jsx("span",{className:"inline-block w-[6px] h-[6px] rounded-full flex-shrink-0 mt-px",style:{backgroundColor:A.phase==="stopping"||I==="stopping"?"var(--muted-foreground)":"var(--warning)"},"aria-hidden":!0}),f.jsx("span",{className:"flex-1 min-w-0 truncate font-mono text-sm font-semibold leading-snug",children:M}),$!==null?f.jsx("span",{className:"flex-shrink-0 font-mono text-[13px] font-medium tabular-nums text-muted-foreground leading-snug",children:$}):f.jsx("span",{className:"flex-shrink-0 font-mono text-[13px] italic text-muted-foreground leading-snug",children:"stopping…"})]}),f.jsxs("div",{className:"flex items-center gap-1.5 pl-[14px] min-w-0 flex-wrap",children:[f.jsx("span",{className:"text-xs text-muted-foreground font-sans leading-none flex-shrink-0",children:D}),W&&f.jsxs(f.Fragment,{children:[f.jsx("span",{className:"text-xs text-muted-foreground leading-none flex-shrink-0","aria-hidden":!0,children:"·"}),f.jsx("a",{href:`/chat/${W}`,className:"text-xs text-muted-foreground hover:text-foreground underline underline-offset-2 leading-none truncate max-w-[160px] focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-ring rounded-sm",onClick:Z=>Z.stopPropagation(),children:"chat"})]}),f.jsx("span",{className:"text-xs text-muted-foreground leading-none flex-shrink-0","aria-hidden":!0,children:"·"}),f.jsxs("span",{className:"text-xs text-muted-foreground font-sans tabular-nums leading-none flex-shrink-0",children:["started ",B]}),f.jsx("span",{className:"text-xs font-sans leading-none flex-shrink-0",style:A.phase==="stopping"||A.phase==="forceAvailable"?{color:"var(--muted-foreground)"}:I!=="stopping"?{color:"var(--warning)"}:void 0,children:A.phase==="stopping"||A.phase==="forceAvailable"||I==="stopping"?"stopping":"running"})]}),t.kind==="bash_shell"&&M.length>40&&f.jsxs("details",{className:"pl-[14px]","data-full-command":!0,children:[f.jsx("summary",{className:"text-xs text-muted-foreground cursor-pointer select-none list-none underline underline-offset-2",children:"full command"}),f.jsx("pre",{className:"mt-1 text-xs font-mono text-muted-foreground whitespace-pre-wrap break-all leading-relaxed",children:M})]}),f.jsx("div",{className:"pl-[14px]","data-mobile-stop-line-wrapper":!0,children:ie()}),s&&f.jsx("pre",{className:"mt-1 pl-[14px] text-xs font-mono leading-[1.55] text-muted-foreground max-h-[240px] overflow-y-auto whitespace-pre-wrap break-all","aria-label":"Last output",children:j.join(`
|
|
2554
2554
|
`)||"(no output)"})]}):f.jsxs("div",{ref:C,role:"option","aria-selected":i,tabIndex:i?0:-1,"data-task-id":t.id,"data-row-enter":!0,onFocus:()=>d(t.id),onKeyDown:G,className:he("group relative flex flex-col px-3 py-2.5 rounded-md transition-all cursor-default","hover:bg-secondary focus-visible:bg-secondary","focus-visible:outline-2 focus-visible:outline-offset-0 focus-visible:outline-ring",i&&"bg-secondary"),style:{...z,...o?{opacity:.6,pointerEvents:"none"}:{}},children:[f.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[f.jsx("span",{className:"inline-block w-[6px] h-[6px] rounded-full flex-shrink-0 mt-px",style:{backgroundColor:A.phase==="stopping"||I==="stopping"?"var(--muted-foreground)":"var(--warning)"},"aria-hidden":!0}),f.jsx("span",{className:"flex-1 min-w-0 truncate font-mono text-sm font-semibold leading-snug",children:M}),$!==null?f.jsx("span",{className:"flex-shrink-0 font-mono text-[13px] font-medium tabular-nums text-muted-foreground leading-snug",children:$}):f.jsx("span",{className:"flex-shrink-0 font-mono text-[13px] italic text-muted-foreground leading-snug",children:(A.phase==="forceAvailable","stopping…")}),f.jsxs(ei,{children:[f.jsx(ti,{asChild:!0,children:f.jsx("button",{type:"button","aria-label":s?"Collapse output":"Expand output",onClick:J,className:he("flex-shrink-0 inline-flex items-center justify-center w-5 h-5 rounded-sm","text-muted-foreground hover:text-foreground","focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-ring","transition-transform duration-150",s&&"rotate-90"),children:f.jsx(So,{className:"w-3.5 h-3.5","aria-hidden":!0})})}),f.jsxs(Gr,{side:"top",children:[s?"Collapse output":"Expand output"," (Enter)"]})]})]}),f.jsxs("div",{className:"flex items-center gap-1.5 mt-0.5 pl-[14px] min-w-0",children:[f.jsx("span",{className:"text-xs text-muted-foreground font-sans leading-none flex-shrink-0",children:D}),W&&f.jsxs(f.Fragment,{children:[f.jsx("span",{className:"text-xs text-muted-foreground leading-none flex-shrink-0","aria-hidden":!0,children:"·"}),f.jsx("a",{href:`/chat/${W}`,className:"text-xs text-muted-foreground hover:text-foreground underline underline-offset-2 leading-none truncate max-w-[200px] focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-ring rounded-sm",onClick:Z=>Z.stopPropagation(),children:"chat"})]}),f.jsx("span",{className:"text-xs text-muted-foreground leading-none flex-shrink-0","aria-hidden":!0,children:"·"}),f.jsxs("span",{className:"text-xs text-muted-foreground font-sans tabular-nums leading-none flex-shrink-0",children:["started ",B]}),f.jsx("span",{className:"text-xs font-sans leading-none flex-shrink-0",style:A.phase==="stopping"||A.phase==="forceAvailable"?{color:"var(--muted-foreground)"}:I!=="stopping"?{color:"var(--warning)"}:void 0,children:A.phase==="stopping"||A.phase==="forceAvailable"||I==="stopping"?"stopping":"running"}),f.jsx("span",{className:"flex-1"}),ie()]}),s&&f.jsx("pre",{className:"mt-2 pl-[14px] text-xs font-mono leading-[1.55] text-muted-foreground max-h-[240px] overflow-y-auto whitespace-pre-wrap break-all","aria-label":"Last output",children:j.join(`
|
|
2555
2555
|
`)||"(no output)"})]})});function k0e({orphans:e,now:t,variant:n,onStop:r,graceMs:i}){const[s,o]=b.useState("idle"),[l,c]=b.useState(null),[d,p]=b.useState(null),h=b.useId(),g=b.useCallback(()=>{o("confirm")},[]),v=b.useCallback(()=>{o("idle")},[]),_=b.useCallback(()=>{o("idle");for(const k of e)r(k.id,!1)},[e,r]),x=b.useCallback(k=>{c(k)},[]),w=b.useCallback(()=>{c(null)},[]),C=b.useCallback(k=>{p(R=>R===k?null:k)},[]);return e.length===0?null:f.jsxs("div",{className:"mb-3","data-orphan-section":!0,children:[f.jsxs("div",{className:"flex items-center justify-between px-3 py-1.5 mb-1",children:[f.jsx("span",{id:h,className:"text-xs text-muted-foreground font-sans","data-orphan-header":!0,children:"Found from previous session"}),s==="idle"?f.jsx("button",{type:"button",onClick:g,className:he("text-xs text-muted-foreground hover:text-foreground","focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-ring rounded-sm","transition-colors"),"data-kill-all-btn":!0,children:"Kill all"}):f.jsxs("span",{className:"flex items-center gap-2","data-kill-all-confirm":!0,children:[f.jsxs("button",{type:"button",onClick:_,className:he("text-xs font-medium","focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-ring rounded-sm","transition-colors"),style:{color:"var(--destructive-text)"},children:["Kill ",e.length," orphan",e.length!==1?"s":"","?"]}),f.jsx("button",{type:"button",onClick:v,className:he("text-xs text-muted-foreground hover:text-foreground","focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-ring rounded-sm","transition-colors"),children:"Cancel"})]})]}),f.jsx("div",{role:"listbox","aria-labelledby":h,"aria-label":"Orphan tasks from previous session",className:"flex flex-col gap-0.5",style:{opacity:.85},children:e.map((k,R)=>f.jsx(hB,{task:k,index:R,now:t,isFocused:!1,isExpanded:k.id===d,isDimmed:l!==null&&l!==k.id,graceMs:i,variant:n,onFocus:()=>{},onToggleExpand:C,onStopConfirmed:T=>r(T,!1),onForceKill:T=>r(T,!0),onConfirmStart:x,onConfirmEnd:w},k.id))})]})}function E0e({tasks:e,onStop:t,graceMs:n=3e3,variant:r="desktop"}){var W;const i=b0e(1e3),s=b.useRef(null),o=b.useId(),[l,c]=b.useState(null),[d,p]=b.useState(null),[h,g]=b.useState(null),v=e.filter(I=>I.kind==="bash_shell"&&I.orphan===!0),_=e.filter(I=>!(I.kind==="bash_shell"&&I.orphan===!0)),w=_.findIndex(I=>I.id===l)>=0?l:((W=_[0])==null?void 0:W.id)??null,C=b.useCallback(I=>{c(I)},[]),k=b.useCallback(I=>{p($=>$===I?null:I)},[]),R=b.useCallback(I=>{t(I,!1)},[t]),T=b.useCallback(I=>{t(I,!0)},[t]),A=b.useCallback(I=>{g(I)},[]),N=b.useCallback(()=>{g(null)},[]),M=b.useCallback(I=>{var B,j,F,V;if(_.length===0)return;const $=_.findIndex(z=>z.id===w);if(I.key==="ArrowDown"){I.preventDefault();const z=Math.min($+1,_.length-1),H=(B=_[z])==null?void 0:B.id;if(H){c(H);const U=(j=s.current)==null?void 0:j.querySelector(`[data-task-id="${H}"]`);U==null||U.focus()}}else if(I.key==="ArrowUp"){I.preventDefault();const z=Math.max($-1,0),H=(F=_[z])==null?void 0:F.id;if(H){c(H);const U=(V=s.current)==null?void 0:V.querySelector(`[data-task-id="${H}"]`);U==null||U.focus()}}},[_,w]),D=e.length;return f.jsx(nk,{children:f.jsxs("div",{className:"flex flex-col h-full min-h-0",children:[f.jsxs("div",{className:"flex flex-row items-center justify-between gap-4 shrink-0 p-4 border-b border-border",children:[f.jsx("h2",{id:o,className:"text-[18px] font-medium leading-none",children:"Background tasks"}),D>0&&f.jsxs("span",{className:"text-xs text-muted-foreground font-sans tabular-nums flex-shrink-0 mr-6",children:[D," running"]})]}),f.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto px-4 pb-4 pt-3.5",children:[v.length>0&&f.jsx(k0e,{orphans:v,now:i,variant:r,onStop:t,graceMs:n}),e.length===0?f.jsx("p",{className:"text-sm text-muted-foreground py-4",children:"No background tasks. Anything an agent leaves running here will appear so you can stop it."}):_.length===0?null:f.jsx("div",{ref:s,role:"listbox","aria-label":"Background tasks","aria-labelledby":o,onKeyDown:M,className:"flex flex-col gap-0.5",children:_.map((I,$)=>f.jsx(hB,{task:I,index:$,now:i,isFocused:I.id===w,isExpanded:I.id===d,isDimmed:h!==null&&h!==I.id,graceMs:n,variant:r,onFocus:C,onToggleExpand:k,onStopConfirmed:R,onForceKill:T,onConfirmStart:A,onConfirmEnd:N},I.id))})]})]})})}function R0e({open:e,onOpenChange:t,tasks:n,onStop:r,graceMs:i,variant:s="desktop"}){const o=b.useId(),l=s==="mobile"?"max-w-none w-full rounded-t-xl rounded-b-none left-0 right-0 bottom-0 top-auto translate-x-0 translate-y-0 max-h-[80vh]":"";return f.jsx(wo,{open:e,onOpenChange:t,children:f.jsxs(qs,{className:he("w-[min(720px,calc(100vw-2rem))] p-0",l,s==="mobile"&&"data-[state=open]:slide-in-from-bottom data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-left-0 data-[state=closed]:slide-out-to-left-0 data-[state=open]:slide-in-from-top-[0%] data-[state=closed]:slide-out-to-top-[0%]"),size:"lg","aria-labelledby":o,"data-variant":s,children:[f.jsx(Co,{id:o,className:"sr-only",children:"Background tasks"}),f.jsx(E0e,{tasks:n,onStop:r,graceMs:i,variant:s})]})})}function T0e({open:e,onOpenChange:t,socket:n,variant:r}){const i=Hs(c=>c.tasks),s=P3(),o=r??(s?"mobile":"desktop"),l=b.useCallback((c,d)=>{if(!n)return;const p={type:"bg-tasks.stop",id:c,force:d};n.command(p).catch(()=>{})},[n]);return f.jsx(R0e,{open:e,onOpenChange:t,tasks:i,onStop:l,variant:o})}const A0e=`
|