claude-remote-cli 3.3.5 → 3.3.6
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.
|
@@ -44,4 +44,4 @@ WARNING: This link could potentially be dangerous`)){let i=window.open();if(i){t
|
|
|
44
44
|
* Fabrice Bellard's javascript vt100 for jslinux:
|
|
45
45
|
* http://bellard.org/jslinux/
|
|
46
46
|
* Copyright (c) 2011 Fabrice Bellard
|
|
47
|
-
*/var iy=2,sy=1,ry=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){var u;if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:((u=this._terminal.options.overviewRuler)==null?void 0:u.width)||14,i=window.getComputedStyle(this._terminal.element.parentElement),s=parseInt(i.getPropertyValue("height")),r=Math.max(0,parseInt(i.getPropertyValue("width"))),n=window.getComputedStyle(this._terminal.element),o={top:parseInt(n.getPropertyValue("padding-top")),bottom:parseInt(n.getPropertyValue("padding-bottom")),right:parseInt(n.getPropertyValue("padding-right")),left:parseInt(n.getPropertyValue("padding-left"))},l=o.top+o.bottom,c=o.right+o.left,h=s-l,d=r-c-t;return{cols:Math.max(iy,Math.floor(d/e.css.cell.width)),rows:Math.max(sy,Math.floor(h/e.css.cell.height))}}},ny=H('<div class="scroll-fabs svelte-5qgfij"><button class="scroll-fab svelte-5qgfij" data-dir="up" aria-label="Page up">▲</button> <button class="scroll-fab svelte-5qgfij" data-dir="down" aria-label="Page down">▼</button> <button class="scroll-fab scroll-fab-bottom svelte-5qgfij" data-dir="bottom" aria-label="Skip to bottom">↧</button></div>'),oy=H('<div><div class="terminal-container svelte-5qgfij" role="presentation"></div> <div class="terminal-scrollbar svelte-5qgfij" role="scrollbar" aria-orientation="vertical"><div class="terminal-scrollbar-thumb svelte-5qgfij" role="presentation"></div></div> <!></div>');function ay(e,t){ut(t,!0);let i=as(t,"useTmux",3,!1),s=as(t,"companionMode",3,!1),r,n=F(null),o,l=!1;function c(){return a(n)}function h(){var z;(z=a(n))==null||z.focus()}function d(){if(!a(n))return;const z=a(n).buffer.active,U=z.viewportY>=z.baseY,se=z.viewportY;o==null||o.fit(),U?a(n).scrollToBottom():a(n).scrollToLine(se),Ha(a(n).cols,a(n).rows),T()}Dn(()=>{const z=new ty({cursorBlink:!0,fontSize:Lt?12:14,fontFamily:"Menlo, monospace",scrollback:1e4,theme:{background:"#000000",foreground:"#d4d4d4",cursor:"#d4d4d4"}});if(o=new ry,z.loadAddon(o),z.open(r),Lt){const P=r.querySelector(".xterm-viewport");P&&(P.style.touchAction="none",P.style.overflowY="hidden");const A=r.querySelector(".xterm-screen");if(A){A.addEventListener("wheel",me=>{me.stopImmediatePropagation(),me.preventDefault()},{capture:!0,passive:!1});const Z=me=>{z.modes.mouseTrackingMode!=="none"&&me.stopImmediatePropagation()};for(const me of["mousedown","mouseup","mousemove"])A.addEventListener(me,Z,{capture:!0})}}o.fit(),z.onData(P=>er(P));{const P=/Mac|iPhone|iPad|iPod/.test(navigator.platform||"");z.attachCustomKeyEventHandler(A=>!P&&A.type==="keydown"&&A.ctrlKey&&!A.shiftKey&&!A.altKey&&!A.metaKey&&(A.key==="v"||A.key==="V")&&navigator.clipboard&&navigator.clipboard.read?(navigator.clipboard.read().then(Z=>{let me=null,Ce=null;for(const ye of Z){for(const Te of ye.types)if(Te.startsWith("image/")){Ce=Te,me=ye;break}if(me)break}me&&Ce?me.getType(Ce).then(ye=>ve(ye,Ce)):navigator.clipboard.readText().then(ye=>{ye&&z.paste(ye)})}).catch(()=>{navigator.clipboard.readText&&navigator.clipboard.readText().then(Z=>{Z&&z.paste(Z)}).catch(()=>{})}),!1):!0)}z.parser.registerOscHandler(52,P=>{var me;const A=P.indexOf(";");if(A===-1)return!0;const Z=P.slice(A+1);if(!Z||Z==="?")return!0;try{const Ce=Uint8Array.from(atob(Z),Te=>Te.charCodeAt(0)),ye=new TextDecoder("utf-8").decode(Ce);(me=navigator.clipboard)==null||me.writeText(ye).catch(()=>{})}catch{}return!0}),z.onScroll(T),z.onWriteParsed(T);let U=null;const se=new ResizeObserver(()=>{U&&clearTimeout(U),U=setTimeout(()=>{const P=z.buffer.active,A=P.viewportY>=P.baseY,Z=P.viewportY;o.fit(),A?z.scrollToBottom():z.scrollToLine(Z),Ha(z.cols,z.rows),T()},Lt?150:0)});return se.observe(r),Lt&&(document.addEventListener("touchmove",ge,{passive:!1}),document.addEventListener("touchend",xe),document.addEventListener("touchcancel",xe)),m(n,z,!0),()=>{U&&clearTimeout(U),J&&clearTimeout(J),se.disconnect(),z.dispose(),m(n,null),y=!1,u=!1,Lt&&(document.removeEventListener("touchmove",ge),document.removeEventListener("touchend",xe),document.removeEventListener("touchcancel",xe))}}),rs(()=>{t.sessionId&&a(n)&&!s()&&(a(n).write("\x1B[?1049l"),a(n).clear(),df(t.sessionId,a(n),()=>{a(n)&&Ha(a(n).cols,a(n).rows)},()=>{}))});let u=!1,f=0,v=0,p=F(0),b=F(0),g=F(!1),y=!1,R=0,C=0,w=!1,x=0,M=0,N=F(!1),j=F(!1),J=null,oe=0,Y=0;const W=500,O=10;let B=!1;function T(){B||(B=!0,requestAnimationFrame(q))}function q(){if(B=!1,!a(n))return;const z=a(n).buffer.active,U=z.baseY+a(n).rows,se=z.viewportY,P=we;if(!P)return;const A=P.clientHeight;if(U<=a(n).rows){m(g,!1);return}m(g,!0),m(p,Math.max(Lt?44:20,a(n).rows/U*A),!0),m(b,se/(U-a(n).rows)*(A-a(p)))}function D(z){if(!a(n)||!we)return;const U=we.getBoundingClientRect(),P=a(n).buffer.active.baseY+a(n).rows;if(P<=a(n).rows)return;const A=we.clientHeight,Z=Math.max(Lt?44:20,a(n).rows/P*A),me=A-Z,Ce=z-U.top-Z/2,ye=Math.max(0,Math.min(1,Ce/me)),Te=Math.round(ye*(P-a(n).rows));a(n).scrollToLine(Te)}function E(z){const U=z.touches[0];U&&(u=!0,f=U.clientY,v=a(b))}function $(){var z;a(j)&&(m(j,!1),(z=t.onCopyModeChange)==null||z.call(t,!1))}function X(){var se;if(J=null,y=!1,navigator.vibrate&&navigator.vibrate(50),i()){m(j,!0),(se=t.onCopyModeChange)==null||se.call(t,!0),er("[");return}m(N,!0);const z=r.querySelector(".xterm-screen");z&&(z.style.userSelect="text",z.style.webkitUserSelect="text"),r.querySelectorAll("canvas").forEach(P=>{P.style.pointerEvents="none"});const U=r.querySelector(".xterm-rows");if(U){const P=document.createRange();P.selectNodeContents(U);const A=window.getSelection();A==null||A.removeAllRanges(),A==null||A.addRange(P)}}function ce(){var U;m(N,!1);const z=r.querySelector(".xterm-screen");z&&(z.style.userSelect="",z.style.webkitUserSelect=""),r.querySelectorAll("canvas").forEach(se=>{se.style.pointerEvents=""}),(U=window.getSelection())==null||U.removeAllRanges()}function be(z){var se;if(a(N)){const P=((se=window.getSelection())==null?void 0:se.toString())??"";P.trim().length>0&&(navigator.clipboard.writeText(P).catch(()=>{}),navigator.vibrate&&navigator.vibrate(30)),ce();return}if(a(j)||z.target.closest(".terminal-scrollbar")||z.target.closest(".scroll-fabs")||!a(n))return;const U=z.touches[0];U&&(R=U.clientY,M=U.clientY,C=a(n).buffer.active.viewportY,w=!1,x=0,y=!0,oe=U.clientX,Y=U.clientY,J&&clearTimeout(J),J=setTimeout(()=>{X()},W))}function ge(z){const U=z.touches[0];if(U){if(u){if(!a(n)||!we)return;z.preventDefault();const se=U.clientY-f,A=a(n).buffer.active.baseY+a(n).rows;if(A<=a(n).rows)return;const Z=we.clientHeight,me=Math.max(44,a(n).rows/A*Z),Ce=Z-me,Te=Math.max(0,Math.min(Ce,v+se))/Ce,Ze=Math.round(Te*(A-a(n).rows));a(n).scrollToLine(Ze);return}if(y&&a(n)&&!a(N)){if(J){const P=Math.abs(U.clientX-oe),A=Math.abs(U.clientY-Y);(P>O||A>O)&&(clearTimeout(J),J=null)}if(a(n).rows===0||r.clientHeight===0)return;const se=R-U.clientY;if(Math.abs(se)>5){w=!0,z.preventDefault();const P=r.clientHeight/a(n).rows;if(a(n).buffer.active.type==="alternate"){const A=M-U.clientY;M=U.clientY;const Z=A/P;x+=Z;const me=Math.trunc(x);if(me!==0){x-=me;const Ce=me>0?65:64,ye=Math.max(1,Math.round(a(n).cols/2)),Te=Math.max(1,Math.round(a(n).rows/2)),Ze=`\x1B[<${Ce};${ye};${Te}M`,Ht=Math.min(Math.abs(me),5);for(let Vi=0;Vi<Ht;Vi++)er(Ze)}}else{const A=se/P,Z=a(n).buffer.active.baseY,me=Math.max(0,Math.min(Z,Math.round(C+A)));a(n).scrollToLine(me)}}}}}function xe(){J&&(clearTimeout(J),J=null),u=!1,y=!1,w=!1,x=0}function Pe(z){z.target!==G&&D(z.clientY)}function Re(z){var P,A,Z;z.preventDefault();const U=z.target.closest("button");if(!U)return;const se=U.dataset.dir;se==="up"?(P=a(n))==null||P.scrollPages(-1):se==="down"?(A=a(n))==null||A.scrollPages(1):se==="bottom"&&((Z=a(n))==null||Z.scrollToBottom())}let we,G;async function ve(z,U){var P;if(l||!t.sessionId)return;l=!0,(P=t.onImageUpload)==null||P.call(t,"Pasting image…",!1);const se=new FileReader;se.onload=async()=>{var Z,me,Ce;const A=se.result.split(",")[1];try{const ye=await Dp(t.sessionId,A,U);ye.clipboardSet?(Z=t.onImageUpload)==null||Z.call(t,"Image pasted",!1):(me=t.onImageUpload)==null||me.call(t,ye.path,!0,ye.path)}catch(ye){const Te=ye instanceof Error?ye.message:"Image upload failed";(Ce=t.onImageUpload)==null||Ce.call(t,Te,!1)}finally{l=!1}},se.readAsDataURL(z)}function Le(z){var U;if((U=z.clipboardData)!=null&&U.items){for(const se of z.clipboardData.items)if(se.type.startsWith("image/")){z.preventDefault(),z.stopPropagation();const P=se.getAsFile();P&&ve(P,se.type);return}}}let je=F(!1);function Be(z){var U;(U=z.dataTransfer)!=null&&U.types.includes("Files")&&(z.preventDefault(),m(je,!0))}function pe(){m(je,!1)}function We(z){var se;if(z.preventDefault(),m(je,!1),!((se=z.dataTransfer)!=null&&se.files.length))return;const U=z.dataTransfer.files[0];U.type.startsWith("image/")&&ve(U,U.type)}function He(z){var U;u||w||z.target.closest(".terminal-scrollbar")||a(N)||((U=a(n))==null||U.focus(),z.preventDefault())}var Ue={getTerm:c,focusTerm:h,fitTerm:d,exitCopyMode:$,handleImageUpload:ve},L=oy();let te;var _e=S(L);et(_e,z=>r=z,()=>r);var ue=k(_e,2);Ne(ue,"aria-valuenow",0);var Se=S(ue);let ne;et(Se,z=>G=z,()=>G),et(ue,z=>we=z,()=>we);var Ae=k(ue,2);{var Ke=z=>{var U=ny();Q("mousedown",U,Re),I(z,U)};ae(Ae,z=>{Lt&&a(g)&&z(Ke)})}return he(()=>{te=Qe(L,1,"terminal-wrapper svelte-5qgfij",null,te,{"drag-over":a(je),"selection-mode":a(N)}),ne=Rn(Se,"",ne,{display:a(g)?"block":"none",height:a(p)+"px",top:a(b)+"px"})}),Q("touchstart",L,function(...z){var U;(U=Lt?be:void 0)==null||U.apply(this,z)}),Q("touchend",L,function(...z){var U;(U=Lt?He:void 0)==null||U.apply(this,z)}),Ss("paste",_e,Le),Ss("dragover",_e,Be),Ss("dragleave",_e,pe),Ss("drop",_e,We),Q("click",ue,Pe),Q("touchstart",Se,E),I(e,L),dt(Ue)}at(["touchstart","touchend","click","mousedown"]);var Ro=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},ly={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Fs,Sh,Au,hy=(Au=class{constructor(){ee(this,Fs,ly);ee(this,Sh,!1)}setTimeoutProvider(e){V(this,Fs,e)}setTimeout(e,t){return _(this,Fs).setTimeout(e,t)}clearTimeout(e){_(this,Fs).clearTimeout(e)}setInterval(e,t){return _(this,Fs).setInterval(e,t)}clearInterval(e){_(this,Fs).clearInterval(e)}},Fs=new WeakMap,Sh=new WeakMap,Au),pr=new hy;function cy(e){setTimeout(e,0)}var xn=typeof window>"u"||"Deno"in globalThis;function yi(){}function uy(e,t){return typeof e=="function"?e(t):e}function rh(e){return typeof e=="number"&&e>=0&&e!==1/0}function l_(e,t){return Math.max(e+(t||0)-Date.now(),0)}function ir(e,t){return typeof e=="function"?e(t):e}function ki(e,t){return typeof e=="function"?e(t):e}function gu(e,t){const{type:i="all",exact:s,fetchStatus:r,predicate:n,queryKey:o,stale:l}=e;if(o){if(s){if(t.queryHash!==Vh(o,t.options))return!1}else if(!ho(t.queryKey,o))return!1}if(i!=="all"){const c=t.isActive();if(i==="active"&&!c||i==="inactive"&&c)return!1}return!(typeof l=="boolean"&&t.isStale()!==l||r&&r!==t.state.fetchStatus||n&&!n(t))}function mu(e,t){const{exact:i,status:s,predicate:r,mutationKey:n}=e;if(n){if(!t.options.mutationKey)return!1;if(i){if(lo(t.options.mutationKey)!==lo(n))return!1}else if(!ho(t.options.mutationKey,n))return!1}return!(s&&t.state.status!==s||r&&!r(t))}function Vh(e,t){return((t==null?void 0:t.queryKeyHashFn)||lo)(e)}function lo(e){return JSON.stringify(e,(t,i)=>oh(i)?Object.keys(i).sort().reduce((s,r)=>(s[r]=i[r],s),{}):i)}function ho(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(i=>ho(e[i],t[i])):!1}var dy=Object.prototype.hasOwnProperty;function h_(e,t,i=0){if(e===t)return e;if(i>500)return t;const s=bu(e)&&bu(t);if(!s&&!(oh(e)&&oh(t)))return t;const n=(s?e:Object.keys(e)).length,o=s?t:Object.keys(t),l=o.length,c=s?new Array(l):{};let h=0;for(let d=0;d<l;d++){const u=s?d:o[d],f=e[u],v=t[u];if(f===v){c[u]=f,(s?d<n:dy.call(e,u))&&h++;continue}if(f===null||v===null||typeof f!="object"||typeof v!="object"){c[u]=v;continue}const p=h_(f,v,i+1);c[u]=p,p===f&&h++}return n===l&&h===n?e:c}function nh(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const i in e)if(e[i]!==t[i])return!1;return!0}function bu(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function oh(e){if(!Su(e))return!1;const t=e.constructor;if(t===void 0)return!0;const i=t.prototype;return!(!Su(i)||!i.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function Su(e){return Object.prototype.toString.call(e)==="[object Object]"}function fy(e){return new Promise(t=>{pr.setTimeout(t,e)})}function ah(e,t,i){return typeof i.structuralSharing=="function"?i.structuralSharing(e,t):i.structuralSharing!==!1?h_(e,t):t}function _y(e,t,i=0){const s=[...e,t];return i&&s.length>i?s.slice(1):s}function vy(e,t,i=0){const s=[t,...e];return i&&s.length>i?s.slice(0,-1):s}var Yh=Symbol();function c_(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===Yh?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function py(e,t,i){let s=!1,r;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(r??(r=t()),s||(s=!0,r.aborted?i():r.addEventListener("abort",i,{once:!0})),r)}),e}var wr,Ws,an,Ou,gy=(Ou=class extends Ro{constructor(){super();ee(this,wr);ee(this,Ws);ee(this,an);V(this,an,t=>{if(!xn&&window.addEventListener){const i=()=>t();return window.addEventListener("visibilitychange",i,!1),()=>{window.removeEventListener("visibilitychange",i)}}})}onSubscribe(){_(this,Ws)||this.setEventListener(_(this,an))}onUnsubscribe(){var t;this.hasListeners()||((t=_(this,Ws))==null||t.call(this),V(this,Ws,void 0))}setEventListener(t){var i;V(this,an,t),(i=_(this,Ws))==null||i.call(this),V(this,Ws,t(s=>{typeof s=="boolean"?this.setFocused(s):this.onFocus()}))}setFocused(t){_(this,wr)!==t&&(V(this,wr,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(i=>{i(t)})}isFocused(){var t;return typeof _(this,wr)=="boolean"?_(this,wr):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},wr=new WeakMap,Ws=new WeakMap,an=new WeakMap,Ou),Gh=new gy;function lh(){let e,t;const i=new Promise((r,n)=>{e=r,t=n});i.status="pending",i.catch(()=>{});function s(r){Object.assign(i,r),delete i.resolve,delete i.reject}return i.resolve=r=>{s({status:"fulfilled",value:r}),e(r)},i.reject=r=>{s({status:"rejected",reason:r}),t(r)},i}var my=cy;function by(){let e=[],t=0,i=l=>{l()},s=l=>{l()},r=my;const n=l=>{t?e.push(l):r(()=>{i(l)})},o=()=>{const l=e;e=[],l.length&&r(()=>{s(()=>{l.forEach(c=>{i(c)})})})};return{batch:l=>{let c;t++;try{c=l()}finally{t--,t||o()}return c},batchCalls:l=>(...c)=>{n(()=>{l(...c)})},schedule:n,setNotifyFunction:l=>{i=l},setBatchNotifyFunction:l=>{s=l},setScheduler:l=>{r=l}}}var Kt=by(),ln,Hs,hn,Iu,Sy=(Iu=class extends Ro{constructor(){super();ee(this,ln,!0);ee(this,Hs);ee(this,hn);V(this,hn,t=>{if(!xn&&window.addEventListener){const i=()=>t(!0),s=()=>t(!1);return window.addEventListener("online",i,!1),window.addEventListener("offline",s,!1),()=>{window.removeEventListener("online",i),window.removeEventListener("offline",s)}}})}onSubscribe(){_(this,Hs)||this.setEventListener(_(this,hn))}onUnsubscribe(){var t;this.hasListeners()||((t=_(this,Hs))==null||t.call(this),V(this,Hs,void 0))}setEventListener(t){var i;V(this,hn,t),(i=_(this,Hs))==null||i.call(this),V(this,Hs,t(this.setOnline.bind(this)))}setOnline(t){_(this,ln)!==t&&(V(this,ln,t),this.listeners.forEach(s=>{s(t)}))}isOnline(){return _(this,ln)}},ln=new WeakMap,Hs=new WeakMap,hn=new WeakMap,Iu),la=new Sy;function yy(e){return Math.min(1e3*2**e,3e4)}function u_(e){return(e??"online")==="online"?la.isOnline():!0}var hh=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function d_(e){let t=!1,i=0,s;const r=lh(),n=()=>r.status!=="pending",o=b=>{var g;if(!n()){const y=new hh(b);f(y),(g=e.onCancel)==null||g.call(e,y)}},l=()=>{t=!0},c=()=>{t=!1},h=()=>Gh.isFocused()&&(e.networkMode==="always"||la.isOnline())&&e.canRun(),d=()=>u_(e.networkMode)&&e.canRun(),u=b=>{n()||(s==null||s(),r.resolve(b))},f=b=>{n()||(s==null||s(),r.reject(b))},v=()=>new Promise(b=>{var g;s=y=>{(n()||h())&&b(y)},(g=e.onPause)==null||g.call(e)}).then(()=>{var b;s=void 0,n()||(b=e.onContinue)==null||b.call(e)}),p=()=>{if(n())return;let b;const g=i===0?e.initialPromise:void 0;try{b=g??e.fn()}catch(y){b=Promise.reject(y)}Promise.resolve(b).then(u).catch(y=>{var M;if(n())return;const R=e.retry??(xn?0:3),C=e.retryDelay??yy,w=typeof C=="function"?C(i,y):C,x=R===!0||typeof R=="number"&&i<R||typeof R=="function"&&R(i,y);if(t||!x){f(y);return}i++,(M=e.onFail)==null||M.call(e,i,y),fy(w).then(()=>h()?void 0:v()).then(()=>{t?f(y):p()})})};return{promise:r,status:()=>r.status,cancel:o,continue:()=>(s==null||s(),r),cancelRetry:l,continueRetry:c,canStart:d,start:()=>(d()?p():v().then(p),r)}}var Cr,Nu,f_=(Nu=class{constructor(){ee(this,Cr)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),rh(this.gcTime)&&V(this,Cr,pr.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(xn?1/0:300*1e3))}clearGcTimeout(){_(this,Cr)&&(pr.clearTimeout(_(this,Cr)),V(this,Cr,void 0))}},Cr=new WeakMap,Nu),kr,cn,Si,xr,wt,vo,Er,Fi,fs,Fu,wy=(Fu=class extends f_{constructor(t){super();ee(this,Fi);ee(this,kr);ee(this,cn);ee(this,Si);ee(this,xr);ee(this,wt);ee(this,vo);ee(this,Er);V(this,Er,!1),V(this,vo,t.defaultOptions),this.setOptions(t.options),this.observers=[],V(this,xr,t.client),V(this,Si,_(this,xr).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,V(this,kr,wu(this.options)),this.state=t.state??_(this,kr),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var t;return(t=_(this,wt))==null?void 0:t.promise}setOptions(t){if(this.options={..._(this,vo),...t},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const i=wu(this.options);i.data!==void 0&&(this.setState(yu(i.data,i.dataUpdatedAt)),V(this,kr,i))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&_(this,Si).remove(this)}setData(t,i){const s=ah(this.state.data,t,this.options);return ke(this,Fi,fs).call(this,{data:s,type:"success",dataUpdatedAt:i==null?void 0:i.updatedAt,manual:i==null?void 0:i.manual}),s}setState(t,i){ke(this,Fi,fs).call(this,{type:"setState",state:t,setStateOptions:i})}cancel(t){var s,r;const i=(s=_(this,wt))==null?void 0:s.promise;return(r=_(this,wt))==null||r.cancel(t),i?i.then(yi).catch(yi):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(_(this,kr))}isActive(){return this.observers.some(t=>ki(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Yh||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>ir(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!l_(this.state.dataUpdatedAt,t)}onFocus(){var i;const t=this.observers.find(s=>s.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(i=_(this,wt))==null||i.continue()}onOnline(){var i;const t=this.observers.find(s=>s.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(i=_(this,wt))==null||i.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),_(this,Si).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(i=>i!==t),this.observers.length||(_(this,wt)&&(_(this,Er)?_(this,wt).cancel({revert:!0}):_(this,wt).cancelRetry()),this.scheduleGc()),_(this,Si).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||ke(this,Fi,fs).call(this,{type:"invalidate"})}async fetch(t,i){var c,h,d,u,f,v,p,b,g,y,R,C;if(this.state.fetchStatus!=="idle"&&((c=_(this,wt))==null?void 0:c.status())!=="rejected"){if(this.state.data!==void 0&&(i!=null&&i.cancelRefetch))this.cancel({silent:!0});else if(_(this,wt))return _(this,wt).continueRetry(),_(this,wt).promise}if(t&&this.setOptions(t),!this.options.queryFn){const w=this.observers.find(x=>x.options.queryFn);w&&this.setOptions(w.options)}const s=new AbortController,r=w=>{Object.defineProperty(w,"signal",{enumerable:!0,get:()=>(V(this,Er,!0),s.signal)})},n=()=>{const w=c_(this.options,i),M=(()=>{const N={client:_(this,xr),queryKey:this.queryKey,meta:this.meta};return r(N),N})();return V(this,Er,!1),this.options.persister?this.options.persister(w,M,this):w(M)},l=(()=>{const w={fetchOptions:i,options:this.options,queryKey:this.queryKey,client:_(this,xr),state:this.state,fetchFn:n};return r(w),w})();(h=this.options.behavior)==null||h.onFetch(l,this),V(this,cn,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((d=l.fetchOptions)==null?void 0:d.meta))&&ke(this,Fi,fs).call(this,{type:"fetch",meta:(u=l.fetchOptions)==null?void 0:u.meta}),V(this,wt,d_({initialPromise:i==null?void 0:i.initialPromise,fn:l.fetchFn,onCancel:w=>{w instanceof hh&&w.revert&&this.setState({..._(this,cn),fetchStatus:"idle"}),s.abort()},onFail:(w,x)=>{ke(this,Fi,fs).call(this,{type:"failed",failureCount:w,error:x})},onPause:()=>{ke(this,Fi,fs).call(this,{type:"pause"})},onContinue:()=>{ke(this,Fi,fs).call(this,{type:"continue"})},retry:l.options.retry,retryDelay:l.options.retryDelay,networkMode:l.options.networkMode,canRun:()=>!0}));try{const w=await _(this,wt).start();if(w===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(w),(v=(f=_(this,Si).config).onSuccess)==null||v.call(f,w,this),(b=(p=_(this,Si).config).onSettled)==null||b.call(p,w,this.state.error,this),w}catch(w){if(w instanceof hh){if(w.silent)return _(this,wt).promise;if(w.revert){if(this.state.data===void 0)throw w;return this.state.data}}throw ke(this,Fi,fs).call(this,{type:"error",error:w}),(y=(g=_(this,Si).config).onError)==null||y.call(g,w,this),(C=(R=_(this,Si).config).onSettled)==null||C.call(R,this.state.data,w,this),w}finally{this.scheduleGc()}}},kr=new WeakMap,cn=new WeakMap,Si=new WeakMap,xr=new WeakMap,wt=new WeakMap,vo=new WeakMap,Er=new WeakMap,Fi=new WeakSet,fs=function(t){const i=s=>{switch(t.type){case"failed":return{...s,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...s,fetchStatus:"paused"};case"continue":return{...s,fetchStatus:"fetching"};case"fetch":return{...s,...__(s.data,this.options),fetchMeta:t.meta??null};case"success":const r={...s,...yu(t.data,t.dataUpdatedAt),dataUpdateCount:s.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return V(this,cn,t.manual?r:void 0),r;case"error":const n=t.error;return{...s,error:n,errorUpdateCount:s.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:s.fetchFailureCount+1,fetchFailureReason:n,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...s,isInvalidated:!0};case"setState":return{...s,...t.state}}};this.state=i(this.state),Kt.batch(()=>{this.observers.forEach(s=>{s.onQueryUpdate()}),_(this,Si).notify({query:this,type:"updated",action:t})})},Fu);function __(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:u_(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function yu(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function wu(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,i=t!==void 0,s=i?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:i?s??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:i?"success":"pending",fetchStatus:"idle"}}var Zt,ze,po,jt,Pr,un,gs,zs,go,dn,fn,Rr,Dr,Us,_n,Ge,Vn,ch,uh,dh,fh,_h,vh,ph,v_,Wu,Cy=(Wu=class extends Ro{constructor(t,i){super();ee(this,Ge);ee(this,Zt);ee(this,ze);ee(this,po);ee(this,jt);ee(this,Pr);ee(this,un);ee(this,gs);ee(this,zs);ee(this,go);ee(this,dn);ee(this,fn);ee(this,Rr);ee(this,Dr);ee(this,Us);ee(this,_n,new Set);this.options=i,V(this,Zt,t),V(this,zs,null),V(this,gs,lh()),this.bindMethods(),this.setOptions(i)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(_(this,ze).addObserver(this),Cu(_(this,ze),this.options)?ke(this,Ge,Vn).call(this):this.updateResult(),ke(this,Ge,fh).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return gh(_(this,ze),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return gh(_(this,ze),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,ke(this,Ge,_h).call(this),ke(this,Ge,vh).call(this),_(this,ze).removeObserver(this)}setOptions(t){const i=this.options,s=_(this,ze);if(this.options=_(this,Zt).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof ki(this.options.enabled,_(this,ze))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");ke(this,Ge,ph).call(this),_(this,ze).setOptions(this.options),i._defaulted&&!nh(this.options,i)&&_(this,Zt).getQueryCache().notify({type:"observerOptionsUpdated",query:_(this,ze),observer:this});const r=this.hasListeners();r&&ku(_(this,ze),s,this.options,i)&&ke(this,Ge,Vn).call(this),this.updateResult(),r&&(_(this,ze)!==s||ki(this.options.enabled,_(this,ze))!==ki(i.enabled,_(this,ze))||ir(this.options.staleTime,_(this,ze))!==ir(i.staleTime,_(this,ze)))&&ke(this,Ge,ch).call(this);const n=ke(this,Ge,uh).call(this);r&&(_(this,ze)!==s||ki(this.options.enabled,_(this,ze))!==ki(i.enabled,_(this,ze))||n!==_(this,Us))&&ke(this,Ge,dh).call(this,n)}getOptimisticResult(t){const i=_(this,Zt).getQueryCache().build(_(this,Zt),t),s=this.createResult(i,t);return xy(this,s)&&(V(this,jt,s),V(this,un,this.options),V(this,Pr,_(this,ze).state)),s}getCurrentResult(){return _(this,jt)}trackResult(t,i){return new Proxy(t,{get:(s,r)=>(this.trackProp(r),i==null||i(r),r==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&_(this,gs).status==="pending"&&_(this,gs).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(s,r))})}trackProp(t){_(this,_n).add(t)}getCurrentQuery(){return _(this,ze)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const i=_(this,Zt).defaultQueryOptions(t),s=_(this,Zt).getQueryCache().build(_(this,Zt),i);return s.fetch().then(()=>this.createResult(s,i))}fetch(t){return ke(this,Ge,Vn).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),_(this,jt)))}createResult(t,i){var J;const s=_(this,ze),r=this.options,n=_(this,jt),o=_(this,Pr),l=_(this,un),h=t!==s?t.state:_(this,po),{state:d}=t;let u={...d},f=!1,v;if(i._optimisticResults){const oe=this.hasListeners(),Y=!oe&&Cu(t,i),W=oe&&ku(t,s,i,r);(Y||W)&&(u={...u,...__(d.data,t.options)}),i._optimisticResults==="isRestoring"&&(u.fetchStatus="idle")}let{error:p,errorUpdatedAt:b,status:g}=u;v=u.data;let y=!1;if(i.placeholderData!==void 0&&v===void 0&&g==="pending"){let oe;n!=null&&n.isPlaceholderData&&i.placeholderData===(l==null?void 0:l.placeholderData)?(oe=n.data,y=!0):oe=typeof i.placeholderData=="function"?i.placeholderData((J=_(this,fn))==null?void 0:J.state.data,_(this,fn)):i.placeholderData,oe!==void 0&&(g="success",v=ah(n==null?void 0:n.data,oe,i),f=!0)}if(i.select&&v!==void 0&&!y)if(n&&v===(o==null?void 0:o.data)&&i.select===_(this,go))v=_(this,dn);else try{V(this,go,i.select),v=i.select(v),v=ah(n==null?void 0:n.data,v,i),V(this,dn,v),V(this,zs,null)}catch(oe){V(this,zs,oe)}_(this,zs)&&(p=_(this,zs),v=_(this,dn),b=Date.now(),g="error");const R=u.fetchStatus==="fetching",C=g==="pending",w=g==="error",x=C&&R,M=v!==void 0,j={status:g,fetchStatus:u.fetchStatus,isPending:C,isSuccess:g==="success",isError:w,isInitialLoading:x,isLoading:x,data:v,dataUpdatedAt:u.dataUpdatedAt,error:p,errorUpdatedAt:b,failureCount:u.fetchFailureCount,failureReason:u.fetchFailureReason,errorUpdateCount:u.errorUpdateCount,isFetched:u.dataUpdateCount>0||u.errorUpdateCount>0,isFetchedAfterMount:u.dataUpdateCount>h.dataUpdateCount||u.errorUpdateCount>h.errorUpdateCount,isFetching:R,isRefetching:R&&!C,isLoadingError:w&&!M,isPaused:u.fetchStatus==="paused",isPlaceholderData:f,isRefetchError:w&&M,isStale:Xh(t,i),refetch:this.refetch,promise:_(this,gs),isEnabled:ki(i.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const oe=j.data!==void 0,Y=j.status==="error"&&!oe,W=T=>{Y?T.reject(j.error):oe&&T.resolve(j.data)},O=()=>{const T=V(this,gs,j.promise=lh());W(T)},B=_(this,gs);switch(B.status){case"pending":t.queryHash===s.queryHash&&W(B);break;case"fulfilled":(Y||j.data!==B.value)&&O();break;case"rejected":(!Y||j.error!==B.reason)&&O();break}}return j}updateResult(){const t=_(this,jt),i=this.createResult(_(this,ze),this.options);if(V(this,Pr,_(this,ze).state),V(this,un,this.options),_(this,Pr).data!==void 0&&V(this,fn,_(this,ze)),nh(i,t))return;V(this,jt,i);const s=()=>{if(!t)return!0;const{notifyOnChangeProps:r}=this.options,n=typeof r=="function"?r():r;if(n==="all"||!n&&!_(this,_n).size)return!0;const o=new Set(n??_(this,_n));return this.options.throwOnError&&o.add("error"),Object.keys(_(this,jt)).some(l=>{const c=l;return _(this,jt)[c]!==t[c]&&o.has(c)})};ke(this,Ge,v_).call(this,{listeners:s()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&ke(this,Ge,fh).call(this)}},Zt=new WeakMap,ze=new WeakMap,po=new WeakMap,jt=new WeakMap,Pr=new WeakMap,un=new WeakMap,gs=new WeakMap,zs=new WeakMap,go=new WeakMap,dn=new WeakMap,fn=new WeakMap,Rr=new WeakMap,Dr=new WeakMap,Us=new WeakMap,_n=new WeakMap,Ge=new WeakSet,Vn=function(t){ke(this,Ge,ph).call(this);let i=_(this,ze).fetch(this.options,t);return t!=null&&t.throwOnError||(i=i.catch(yi)),i},ch=function(){ke(this,Ge,_h).call(this);const t=ir(this.options.staleTime,_(this,ze));if(xn||_(this,jt).isStale||!rh(t))return;const s=l_(_(this,jt).dataUpdatedAt,t)+1;V(this,Rr,pr.setTimeout(()=>{_(this,jt).isStale||this.updateResult()},s))},uh=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(_(this,ze)):this.options.refetchInterval)??!1},dh=function(t){ke(this,Ge,vh).call(this),V(this,Us,t),!(xn||ki(this.options.enabled,_(this,ze))===!1||!rh(_(this,Us))||_(this,Us)===0)&&V(this,Dr,pr.setInterval(()=>{(this.options.refetchIntervalInBackground||Gh.isFocused())&&ke(this,Ge,Vn).call(this)},_(this,Us)))},fh=function(){ke(this,Ge,ch).call(this),ke(this,Ge,dh).call(this,ke(this,Ge,uh).call(this))},_h=function(){_(this,Rr)&&(pr.clearTimeout(_(this,Rr)),V(this,Rr,void 0))},vh=function(){_(this,Dr)&&(pr.clearInterval(_(this,Dr)),V(this,Dr,void 0))},ph=function(){const t=_(this,Zt).getQueryCache().build(_(this,Zt),this.options);if(t===_(this,ze))return;const i=_(this,ze);V(this,ze,t),V(this,po,t.state),this.hasListeners()&&(i==null||i.removeObserver(this),t.addObserver(this))},v_=function(t){Kt.batch(()=>{t.listeners&&this.listeners.forEach(i=>{i(_(this,jt))}),_(this,Zt).getQueryCache().notify({query:_(this,ze),type:"observerResultsUpdated"})})},Wu);function ky(e,t){return ki(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function Cu(e,t){return ky(e,t)||e.state.data!==void 0&&gh(e,t,t.refetchOnMount)}function gh(e,t,i){if(ki(t.enabled,e)!==!1&&ir(t.staleTime,e)!=="static"){const s=typeof i=="function"?i(e):i;return s==="always"||s!==!1&&Xh(e,t)}return!1}function ku(e,t,i,s){return(e!==t||ki(s.enabled,e)===!1)&&(!i.suspense||e.state.status!=="error")&&Xh(e,i)}function Xh(e,t){return ki(t.enabled,e)!==!1&&e.isStaleByTime(ir(t.staleTime,e))}function xy(e,t){return!nh(e.getCurrentResult(),t)}function xu(e){return{onFetch:(t,i)=>{var d,u,f,v,p;const s=t.options,r=(f=(u=(d=t.fetchOptions)==null?void 0:d.meta)==null?void 0:u.fetchMore)==null?void 0:f.direction,n=((v=t.state.data)==null?void 0:v.pages)||[],o=((p=t.state.data)==null?void 0:p.pageParams)||[];let l={pages:[],pageParams:[]},c=0;const h=async()=>{let b=!1;const g=C=>{py(C,()=>t.signal,()=>b=!0)},y=c_(t.options,t.fetchOptions),R=async(C,w,x)=>{if(b)return Promise.reject();if(w==null&&C.pages.length)return Promise.resolve(C);const N=(()=>{const Y={client:t.client,queryKey:t.queryKey,pageParam:w,direction:x?"backward":"forward",meta:t.options.meta};return g(Y),Y})(),j=await y(N),{maxPages:J}=t.options,oe=x?vy:_y;return{pages:oe(C.pages,j,J),pageParams:oe(C.pageParams,w,J)}};if(r&&n.length){const C=r==="backward",w=C?Ey:Eu,x={pages:n,pageParams:o},M=w(s,x);l=await R(x,M,C)}else{const C=e??n.length;do{const w=c===0?o[0]??s.initialPageParam:Eu(s,l);if(c>0&&w==null)break;l=await R(l,w),c++}while(c<C)}return l};t.options.persister?t.fetchFn=()=>{var b,g;return(g=(b=t.options).persister)==null?void 0:g.call(b,h,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},i)}:t.fetchFn=h}}}function Eu(e,{pages:t,pageParams:i}){const s=t.length-1;return t.length>0?e.getNextPageParam(t[s],t,i[s],i):void 0}function Ey(e,{pages:t,pageParams:i}){var s;return t.length>0?(s=e.getPreviousPageParam)==null?void 0:s.call(e,t[0],t,i[0],i):void 0}var mo,Zi,Ut,Tr,es,Os,Hu,Py=(Hu=class extends f_{constructor(t){super();ee(this,es);ee(this,mo);ee(this,Zi);ee(this,Ut);ee(this,Tr);V(this,mo,t.client),this.mutationId=t.mutationId,V(this,Ut,t.mutationCache),V(this,Zi,[]),this.state=t.state||Ry(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){_(this,Zi).includes(t)||(_(this,Zi).push(t),this.clearGcTimeout(),_(this,Ut).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){V(this,Zi,_(this,Zi).filter(i=>i!==t)),this.scheduleGc(),_(this,Ut).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){_(this,Zi).length||(this.state.status==="pending"?this.scheduleGc():_(this,Ut).remove(this))}continue(){var t;return((t=_(this,Tr))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var o,l,c,h,d,u,f,v,p,b,g,y,R,C,w,x,M,N;const i=()=>{ke(this,es,Os).call(this,{type:"continue"})},s={client:_(this,mo),meta:this.options.meta,mutationKey:this.options.mutationKey};V(this,Tr,d_({fn:()=>this.options.mutationFn?this.options.mutationFn(t,s):Promise.reject(new Error("No mutationFn found")),onFail:(j,J)=>{ke(this,es,Os).call(this,{type:"failed",failureCount:j,error:J})},onPause:()=>{ke(this,es,Os).call(this,{type:"pause"})},onContinue:i,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>_(this,Ut).canRun(this)}));const r=this.state.status==="pending",n=!_(this,Tr).canStart();try{if(r)i();else{ke(this,es,Os).call(this,{type:"pending",variables:t,isPaused:n}),_(this,Ut).config.onMutate&&await _(this,Ut).config.onMutate(t,this,s);const J=await((l=(o=this.options).onMutate)==null?void 0:l.call(o,t,s));J!==this.state.context&&ke(this,es,Os).call(this,{type:"pending",context:J,variables:t,isPaused:n})}const j=await _(this,Tr).start();return await((h=(c=_(this,Ut).config).onSuccess)==null?void 0:h.call(c,j,t,this.state.context,this,s)),await((u=(d=this.options).onSuccess)==null?void 0:u.call(d,j,t,this.state.context,s)),await((v=(f=_(this,Ut).config).onSettled)==null?void 0:v.call(f,j,null,this.state.variables,this.state.context,this,s)),await((b=(p=this.options).onSettled)==null?void 0:b.call(p,j,null,t,this.state.context,s)),ke(this,es,Os).call(this,{type:"success",data:j}),j}catch(j){try{await((y=(g=_(this,Ut).config).onError)==null?void 0:y.call(g,j,t,this.state.context,this,s))}catch(J){Promise.reject(J)}try{await((C=(R=this.options).onError)==null?void 0:C.call(R,j,t,this.state.context,s))}catch(J){Promise.reject(J)}try{await((x=(w=_(this,Ut).config).onSettled)==null?void 0:x.call(w,void 0,j,this.state.variables,this.state.context,this,s))}catch(J){Promise.reject(J)}try{await((N=(M=this.options).onSettled)==null?void 0:N.call(M,void 0,j,t,this.state.context,s))}catch(J){Promise.reject(J)}throw ke(this,es,Os).call(this,{type:"error",error:j}),j}finally{_(this,Ut).runNext(this)}}},mo=new WeakMap,Zi=new WeakMap,Ut=new WeakMap,Tr=new WeakMap,es=new WeakSet,Os=function(t){const i=s=>{switch(t.type){case"failed":return{...s,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...s,isPaused:!0};case"continue":return{...s,isPaused:!1};case"pending":return{...s,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...s,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...s,data:void 0,error:t.error,failureCount:s.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=i(this.state),Kt.batch(()=>{_(this,Zi).forEach(s=>{s.onMutationUpdate(t)}),_(this,Ut).notify({mutation:this,type:"updated",action:t})})},Hu);function Ry(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var ms,Wi,bo,zu,Dy=(zu=class extends Ro{constructor(t={}){super();ee(this,ms);ee(this,Wi);ee(this,bo);this.config=t,V(this,ms,new Set),V(this,Wi,new Map),V(this,bo,0)}build(t,i,s){const r=new Py({client:t,mutationCache:this,mutationId:++Mo(this,bo)._,options:t.defaultMutationOptions(i),state:s});return this.add(r),r}add(t){_(this,ms).add(t);const i=zo(t);if(typeof i=="string"){const s=_(this,Wi).get(i);s?s.push(t):_(this,Wi).set(i,[t])}this.notify({type:"added",mutation:t})}remove(t){if(_(this,ms).delete(t)){const i=zo(t);if(typeof i=="string"){const s=_(this,Wi).get(i);if(s)if(s.length>1){const r=s.indexOf(t);r!==-1&&s.splice(r,1)}else s[0]===t&&_(this,Wi).delete(i)}}this.notify({type:"removed",mutation:t})}canRun(t){const i=zo(t);if(typeof i=="string"){const s=_(this,Wi).get(i),r=s==null?void 0:s.find(n=>n.state.status==="pending");return!r||r===t}else return!0}runNext(t){var s;const i=zo(t);if(typeof i=="string"){const r=(s=_(this,Wi).get(i))==null?void 0:s.find(n=>n!==t&&n.state.isPaused);return(r==null?void 0:r.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Kt.batch(()=>{_(this,ms).forEach(t=>{this.notify({type:"removed",mutation:t})}),_(this,ms).clear(),_(this,Wi).clear()})}getAll(){return Array.from(_(this,ms))}find(t){const i={exact:!0,...t};return this.getAll().find(s=>mu(i,s))}findAll(t={}){return this.getAll().filter(i=>mu(t,i))}notify(t){Kt.batch(()=>{this.listeners.forEach(i=>{i(t)})})}resumePausedMutations(){const t=this.getAll().filter(i=>i.state.isPaused);return Kt.batch(()=>Promise.all(t.map(i=>i.continue().catch(yi))))}},ms=new WeakMap,Wi=new WeakMap,bo=new WeakMap,zu);function zo(e){var t;return(t=e.options.scope)==null?void 0:t.id}var ts,Uu,Ty=(Uu=class extends Ro{constructor(t={}){super();ee(this,ts);this.config=t,V(this,ts,new Map)}build(t,i,s){const r=i.queryKey,n=i.queryHash??Vh(r,i);let o=this.get(n);return o||(o=new wy({client:t,queryKey:r,queryHash:n,options:t.defaultQueryOptions(i),state:s,defaultOptions:t.getQueryDefaults(r)}),this.add(o)),o}add(t){_(this,ts).has(t.queryHash)||(_(this,ts).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const i=_(this,ts).get(t.queryHash);i&&(t.destroy(),i===t&&_(this,ts).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Kt.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return _(this,ts).get(t)}getAll(){return[..._(this,ts).values()]}find(t){const i={exact:!0,...t};return this.getAll().find(s=>gu(i,s))}findAll(t={}){const i=this.getAll();return Object.keys(t).length>0?i.filter(s=>gu(t,s)):i}notify(t){Kt.batch(()=>{this.listeners.forEach(i=>{i(t)})})}onFocus(){Kt.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Kt.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},ts=new WeakMap,Uu),nt,Ks,qs,vn,pn,js,gn,mn,Ku,p_=(Ku=class{constructor(e={}){ee(this,nt);ee(this,Ks);ee(this,qs);ee(this,vn);ee(this,pn);ee(this,js);ee(this,gn);ee(this,mn);V(this,nt,e.queryCache||new Ty),V(this,Ks,e.mutationCache||new Dy),V(this,qs,e.defaultOptions||{}),V(this,vn,new Map),V(this,pn,new Map),V(this,js,0)}mount(){Mo(this,js)._++,_(this,js)===1&&(V(this,gn,Gh.subscribe(async e=>{e&&(await this.resumePausedMutations(),_(this,nt).onFocus())})),V(this,mn,la.subscribe(async e=>{e&&(await this.resumePausedMutations(),_(this,nt).onOnline())})))}unmount(){var e,t;Mo(this,js)._--,_(this,js)===0&&((e=_(this,gn))==null||e.call(this),V(this,gn,void 0),(t=_(this,mn))==null||t.call(this),V(this,mn,void 0))}isFetching(e){return _(this,nt).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return _(this,Ks).findAll({...e,status:"pending"}).length}getQueryData(e){var i;const t=this.defaultQueryOptions({queryKey:e});return(i=_(this,nt).get(t.queryHash))==null?void 0:i.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),i=_(this,nt).build(this,t),s=i.state.data;return s===void 0?this.fetchQuery(e):(e.revalidateIfStale&&i.isStaleByTime(ir(t.staleTime,i))&&this.prefetchQuery(t),Promise.resolve(s))}getQueriesData(e){return _(this,nt).findAll(e).map(({queryKey:t,state:i})=>{const s=i.data;return[t,s]})}setQueryData(e,t,i){const s=this.defaultQueryOptions({queryKey:e}),r=_(this,nt).get(s.queryHash),n=r==null?void 0:r.state.data,o=uy(t,n);if(o!==void 0)return _(this,nt).build(this,s).setData(o,{...i,manual:!0})}setQueriesData(e,t,i){return Kt.batch(()=>_(this,nt).findAll(e).map(({queryKey:s})=>[s,this.setQueryData(s,t,i)]))}getQueryState(e){var i;const t=this.defaultQueryOptions({queryKey:e});return(i=_(this,nt).get(t.queryHash))==null?void 0:i.state}removeQueries(e){const t=_(this,nt);Kt.batch(()=>{t.findAll(e).forEach(i=>{t.remove(i)})})}resetQueries(e,t){const i=_(this,nt);return Kt.batch(()=>(i.findAll(e).forEach(s=>{s.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const i={revert:!0,...t},s=Kt.batch(()=>_(this,nt).findAll(e).map(r=>r.cancel(i)));return Promise.all(s).then(yi).catch(yi)}invalidateQueries(e,t={}){return Kt.batch(()=>(_(this,nt).findAll(e).forEach(i=>{i.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const i={...t,cancelRefetch:t.cancelRefetch??!0},s=Kt.batch(()=>_(this,nt).findAll(e).filter(r=>!r.isDisabled()&&!r.isStatic()).map(r=>{let n=r.fetch(void 0,i);return i.throwOnError||(n=n.catch(yi)),r.state.fetchStatus==="paused"?Promise.resolve():n}));return Promise.all(s).then(yi)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const i=_(this,nt).build(this,t);return i.isStaleByTime(ir(t.staleTime,i))?i.fetch(t):Promise.resolve(i.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(yi).catch(yi)}fetchInfiniteQuery(e){return e.behavior=xu(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(yi).catch(yi)}ensureInfiniteQueryData(e){return e.behavior=xu(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return la.isOnline()?_(this,Ks).resumePausedMutations():Promise.resolve()}getQueryCache(){return _(this,nt)}getMutationCache(){return _(this,Ks)}getDefaultOptions(){return _(this,qs)}setDefaultOptions(e){V(this,qs,e)}setQueryDefaults(e,t){_(this,vn).set(lo(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[..._(this,vn).values()],i={};return t.forEach(s=>{ho(e,s.queryKey)&&Object.assign(i,s.defaultOptions)}),i}setMutationDefaults(e,t){_(this,pn).set(lo(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[..._(this,pn).values()],i={};return t.forEach(s=>{ho(e,s.mutationKey)&&Object.assign(i,s.defaultOptions)}),i}defaultQueryOptions(e){if(e._defaulted)return e;const t={..._(this,qs).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=Vh(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===Yh&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{..._(this,qs).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){_(this,nt).clear(),_(this,Ks).clear()}},nt=new WeakMap,Ks=new WeakMap,qs=new WeakMap,vn=new WeakMap,pn=new WeakMap,js=new WeakMap,gn=new WeakMap,mn=new WeakMap,Ku);const g_=Symbol("QueryClient"),My=()=>{const e=Zu(g_);if(!e)throw new Error("No QueryClient was found in Svelte context. Did you forget to wrap your component with QueryClientProvider?");return e},By=e=>{hv(g_,e)},Ly=Symbol("isRestoring"),Ay=()=>{try{return Zu(Ly)??{current:!1}}catch{return{current:!1}}};function Oy(){return Ay()}function Iy(e){return My()}var Ny=["forEach","isDisjointFrom","isSubsetOf","isSupersetOf"],Fy=["difference","intersection","symmetricDifference","union"],Pu=!1,bn,Hi,Vs,da,En,m_,b_;const fa=class fa extends Set{constructor(i){super();ee(this,En);ee(this,bn,new Map);ee(this,Hi,F(0));ee(this,Vs,F(0));ee(this,da,ks||-1);if(i){for(var s of i)super.add(s);_(this,Vs).v=super.size}Pu||ke(this,En,b_).call(this)}has(i){var s=super.has(i),r=_(this,bn),n=r.get(i);if(n===void 0){if(!s)return a(_(this,Hi)),!1;n=ke(this,En,m_).call(this,!0),r.set(i,n)}return a(n),s}add(i){return super.has(i)||(super.add(i),m(_(this,Vs),super.size),Zs(_(this,Hi))),this}delete(i){var s=super.delete(i),r=_(this,bn),n=r.get(i);return n!==void 0&&(r.delete(i),m(n,!1)),s&&(m(_(this,Vs),super.size),Zs(_(this,Hi))),s}clear(){if(super.size!==0){super.clear();var i=_(this,bn);for(var s of i.values())m(s,!1);i.clear(),m(_(this,Vs),0),Zs(_(this,Hi))}}keys(){return this.values()}values(){return a(_(this,Hi)),super.values()}entries(){return a(_(this,Hi)),super.entries()}[Symbol.iterator](){return this.keys()}get size(){return a(_(this,Vs))}};bn=new WeakMap,Hi=new WeakMap,Vs=new WeakMap,da=new WeakMap,En=new WeakSet,m_=function(i){return ks===_(this,da)?F(i):sr(i)},b_=function(){Pu=!0;var i=fa.prototype,s=Set.prototype;for(const r of Ny)i[r]=function(...n){return a(_(this,Hi)),s[r].apply(this,n)};for(const r of Fy)i[r]=function(...n){a(_(this,Hi));var o=s[r].apply(this,n);return new fa(o)}};let mh=fa;function Wy(e){const t=Array.isArray(e)?[]:{},i=new mh,s=new Proxy(t,{set(n,o,l,c){if(i.delete(o),o in n)return Reflect.set(n,o,l,c);let h=F(l);return Object.defineProperty(n,o,{configurable:!0,enumerable:!0,get:()=>a(h)&&zy(a(h))?a(h)():a(h),set:d=>{m(h,d)}}),!0},has:(n,o)=>i.has(o)?!1:o in n,ownKeys(n){return Reflect.ownKeys(n).filter(o=>!i.has(o))},getOwnPropertyDescriptor(n,o){if(!i.has(o))return Reflect.getOwnPropertyDescriptor(n,o)},deleteProperty(n,o){return o in n?(n[o]=void 0,i.add(o),Array.isArray(n)&&n.length--,!0):!1}});function r(n){const o=Object.keys(s),l=Object.keys(n),c=o.filter(h=>!l.includes(h));for(const h of c)delete s[h];for(const h of l)s[h]=Hy(()=>n[h])}return r(e),[s,r]}const S_=Symbol("LazyValue");function Hy(e){return e[S_]=!0,e}function zy(e){return!!e[S_]}function Uy(e,t){switch(e){case"post":rs(t);break;case"pre":Fv(t);break}}const el=(e,t,i)=>{let s=!1,r=Array.isArray(e)?[]:void 0;Uy(t,()=>{const n=Array.isArray(e)?e.map(l=>l()):e();if(!s){s=!0,r=n;return}const o=nr(()=>i(n,r));return r=n,o})};function Ky(e,t,i){const s=fe(()=>Iy()),r=Oy(),n=fe(()=>{const d=a(s).defaultQueryOptions(e());return d._optimisticResults=r.current?"isRestoring":"optimistic",d});let o=F(Je(new t(a(s),a(n))));el(()=>a(s),"pre",()=>{m(o,new t(a(s),a(n)),!0)});function l(){const d=a(o).getOptimisticResult(a(n));return a(n).notifyOnChangeProps?d:a(o).trackResult(d)}const[c,h]=Wy(l());return rs(()=>{const d=r.current?()=>{}:a(o).subscribe(()=>h(l()));return a(o).updateResult(),d}),el(()=>a(n),"pre",()=>{a(o).setOptions(a(n))}),el(()=>[a(n),a(o)],"pre",()=>{h(l())}),c}function ha(e,t){return Ky(e,Cy)}function qy(e,t){ut(t,!0);const i=as(t,"client",19,()=>new p_);Dn(()=>{i().mount()}),By(i()),_p(()=>{i().unmount()});var s=xs(),r=vt(s);ip(r,()=>t.children),I(e,s),dt()}var jy=H('<div class="branch-error svelte-1ogsozk"> </div>'),Vy=H('<div class="branch-loading svelte-1ogsozk">Loading...</div>'),Yy=H('<div class="branch-empty svelte-1ogsozk">No branches match</div>'),Gy=H('<span class="branch-check svelte-1ogsozk">✓</span>'),Xy=H('<span class="branch-check branch-check--empty svelte-1ogsozk"></span>'),Qy=H('<span class="branch-spinner svelte-1ogsozk">…</span>'),Jy=H('<li role="option"><!> <span class="branch-option-name svelte-1ogsozk"> </span> <!></li>'),$y=H('<ul class="branch-list svelte-1ogsozk"></ul>'),Zy=H('<div class="branch-dropdown svelte-1ogsozk" role="listbox" tabindex="-1" aria-label="Branches"><div class="branch-filter-wrap svelte-1ogsozk"><input type="text" class="branch-filter svelte-1ogsozk" placeholder="Filter branches..." aria-label="Filter branches"/></div> <!> <!></div>'),ew=H('<div class="branch-switcher svelte-1ogsozk"><button class="branch-trigger svelte-1ogsozk" aria-label="Switch branch" aria-haspopup="listbox"><span class="branch-icon svelte-1ogsozk">⑂</span> <span class="branch-name svelte-1ogsozk"> </span> <svg class="branch-caret svelte-1ogsozk" width="10" height="6" viewBox="0 0 10 6" aria-hidden="true"><path d="M1 1l4 4 4-4" stroke="currentColor" fill="none" stroke-width="1.5" stroke-linecap="round"></path></svg></button> <!></div>');function tw(e,t){ut(t,!0);let i=F(!1),s=F(""),r=F(null),n=F(null),o=F(null),l=F(null);const c=ha(()=>({queryKey:["branches",t.workspacePath],queryFn:()=>Bh(t.workspacePath),staleTime:3e4,enabled:a(i)}));let h=fe(()=>{const x=c.data??[];if(!a(s).trim())return x;const M=a(s).toLowerCase();return x.filter(N=>N.toLowerCase().includes(M))});function d(){m(i,!0),m(s,""),m(l,null),requestAnimationFrame(()=>{var x;return(x=a(n))==null?void 0:x.focus()})}function u(){m(i,!1),m(s,"")}async function f(x){if(x===t.currentBranch){u();return}m(o,x,!0),m(l,null);try{const M=await Ep(t.workspacePath,x);M.success?(u(),t.onSwitch(x)):m(l,M.error??"Failed to switch branch",!0)}catch{m(l,"Failed to switch branch")}finally{m(o,null)}}function v(x){a(i)&&a(r)&&document.contains(x.target)&&!a(r).contains(x.target)&&u()}function p(x){x.key==="Escape"&&a(i)&&(u(),x.stopPropagation())}var b=ew();Ss("click",$o,v);var g=S(b),y=k(S(g),2),R=S(y),C=k(g,2);{var w=x=>{var M=Zy(),N=S(M),j=S(N);et(j,T=>m(n,T),()=>a(n));var J=k(N,2);{var oe=T=>{var q=jy(),D=S(q);he(()=>re(D,a(l))),I(T,q)};ae(J,T=>{a(l)&&T(oe)})}var Y=k(J,2);{var W=T=>{var q=Vy();I(T,q)},O=T=>{var q=Yy();I(T,q)},B=T=>{var q=$y();Nt(q,20,()=>a(h),D=>D,(D,E)=>{var $=Jy();let X;var ce=S($);{var be=G=>{var ve=Gy();I(G,ve)},ge=G=>{var ve=Xy();I(G,ve)};ae(ce,G=>{E===t.currentBranch?G(be):G(ge,!1)})}var xe=k(ce,2),Pe=S(xe),Re=k(xe,2);{var we=G=>{var ve=Qy();I(G,ve)};ae(Re,G=>{a(o)===E&&G(we)})}he(()=>{X=Qe($,1,"branch-option svelte-1ogsozk",null,X,{"branch-current":E===t.currentBranch,"branch-switching":a(o)===E}),Ne($,"aria-selected",E===t.currentBranch),re(Pe,E)}),Q("mousedown",$,()=>f(E)),I(D,$)}),I(T,q)};ae(Y,T=>{c.isLoading?T(W):a(h).length===0?T(O,1):T(B,!1)})}Q("keydown",M,p),Q("keydown",j,p),xi(j,()=>a(s),T=>m(s,T)),I(x,M)};ae(C,x=>{a(i)&&x(w)})}et(b,x=>m(r,x),()=>a(r)),he(()=>{Ne(g,"aria-expanded",a(i)),re(R,t.currentBranch)}),Q("click",g,d),I(e,b),dt()}at(["click","keydown","mousedown"]);var iw=H('<span class="target-branch svelte-1shtc4l" aria-label="target branch"><span class="target-sep svelte-1shtc4l">›</span> <span class="target-name svelte-1shtc4l"> </span></span>'),sw=H('<div class="bar-middle svelte-1shtc4l" aria-label="pull request"><a class="pr-link svelte-1shtc4l" target="_blank" rel="noopener noreferrer"> <svg class="pr-ext-icon svelte-1shtc4l" width="10" height="10" viewBox="0 0 10 10" aria-hidden="true"><path d="M1 9L9 1M9 1H4M9 1V6" stroke="currentColor" fill="none" stroke-width="1.5" stroke-linecap="round"></path></svg></a></div> <span class="diff-stats svelte-1shtc4l"><span class="diff-add svelte-1shtc4l"> </span> <span class="diff-del svelte-1shtc4l"> </span></span>',1),rw=H('<span class="bar-loading svelte-1shtc4l">…</span>'),nw=H('<button class="action-btn action-btn--secondary svelte-1shtc4l"> </button>'),ow=H("<button> </button>"),aw=H("<!> <!>",1),lw=H('<div><div class="bar-left svelte-1shtc4l"><!> <!></div> <!> <div class="bar-right svelte-1shtc4l"><!></div></div>');function hw(e,t){ut(t,!0);let i=F(Je(t.branchName));rs(()=>{m(i,t.branchName,!0)}),rs(()=>{!t.branchName&&t.workspacePath&&xp(t.workspacePath).then(Y=>{Y&&m(i,Y,!0)})});const s=ha(()=>({queryKey:["pr",t.workspacePath,a(i)],queryFn:()=>kp(t.workspacePath,a(i)),staleTime:6e4,refetchOnWindowFocus:!0})),r=ha(()=>{var Y;return{queryKey:["ci-status",t.workspacePath,a(i)],queryFn:()=>Cp(t.workspacePath,a(i)),staleTime:3e4,refetchOnWindowFocus:!0,enabled:((Y=s.data)==null?void 0:Y.state)==="OPEN"}});rs(()=>{t.sessionId&&(s.refetch(),r.refetch())});let n=fe(()=>s.data??null),o=fe(()=>r.data??null),l=fe(()=>{var Y,W,O,B,T,q;return{commitsAhead:a(n)?1:0,prState:a(n)?a(n).isDraft?"DRAFT":a(n).state:null,ciPassing:((Y=a(o))==null?void 0:Y.passing)??0,ciFailing:((W=a(o))==null?void 0:W.failing)??0,ciPending:((O=a(o))==null?void 0:O.pending)??0,ciTotal:((B=a(o))==null?void 0:B.total)??0,mergeable:((T=a(n))==null?void 0:T.mergeable)??null,unresolvedCommentCount:((q=a(n))==null?void 0:q.unresolvedCommentCount)??0}}),c=fe(()=>Oh(a(l))),h=fe(()=>fg(a(c),a(l))),d=fe(()=>pf(a(c).color)),u=fe(()=>gf(a(c).color)),f=fe(()=>a(c).type!=="none");function v(Y=a(c)){var B,T,q,D;const W={branchName:a(i),baseBranch:((B=a(n))==null?void 0:B.baseRefName)??"",prNumber:((T=a(n))==null?void 0:T.number)??0,unresolvedCommentCount:((q=a(n))==null?void 0:q.unresolvedCommentCount)??0},O=vf(Y,W);O!==null?t.sessionId&&er(O+"\r"):(D=t.onArchive)==null||D.call(t)}function p(Y){m(i,Y,!0)}var b=lw();let g;var y=S(b),R=S(y);tw(R,{get workspacePath(){return t.workspacePath},get currentBranch(){return a(i)},onSwitch:p});var C=k(R,2);{var w=Y=>{var W=iw(),O=k(S(W),2),B=S(O);he(()=>re(B,a(n).baseRefName)),I(Y,W)};ae(C,Y=>{var W;(W=a(n))!=null&&W.baseRefName&&Y(w)})}var x=k(y,2);{var M=Y=>{var W=sw(),O=vt(W),B=S(O),T=S(B),q=k(O,2),D=S(q),E=S(D),$=k(D,2),X=S($);he(()=>{Ne(B,"href",a(n).url),Ne(B,"aria-label",`PR #${a(n).number??""}: ${a(n).title??""}`),re(T,`PR #${a(n).number??""} `),re(E,`+${a(n).additions??""}`),re(X,`-${a(n).deletions??""}`)}),I(Y,W)};ae(x,Y=>{a(n)&&Y(M)})}var N=k(x,2),j=S(N);{var J=Y=>{var W=rw();I(Y,W)},oe=Y=>{var W=aw(),O=vt(W);{var B=D=>{var E=nw(),$=S(E);he(()=>{Ne(E,"aria-label",a(h).label),re($,a(h).label)}),Q("click",E,()=>v(a(h))),I(D,E)};ae(O,D=>{a(h)&&D(B)})}var T=k(O,2);{var q=D=>{var E=ow();let $,X;var ce=S(E);he(()=>{$=Qe(E,1,"action-btn svelte-1shtc4l",null,$,{"action-btn--dark-text":a(u),"action-btn--disabled":a(c).type==="checks-running"}),E.disabled=a(c).type==="checks-running",Ne(E,"aria-label",a(c).label),X=Rn(E,"",X,{"--action-color":a(d)}),re(ce,a(c).label)}),Q("click",E,()=>v()),I(D,E)};ae(T,D=>{a(f)&&D(q)})}I(Y,W)};ae(j,Y=>{s.isLoading?Y(J):Y(oe,!1)})}he(()=>{var Y,W;return g=Qe(b,1,"pr-top-bar svelte-1shtc4l",null,g,{"bar-merged":((Y=a(n))==null?void 0:Y.state)==="MERGED","bar-conflicts":((W=a(n))==null?void 0:W.mergeable)==="CONFLICTING"})}),I(e,b),dt()}at(["click"]);var cw=H('<button role="tab"><span class="tab-icon svelte-3dfyyn" aria-hidden="true"> </span> <span class="tab-name svelte-3dfyyn"> </span> <span class="tab-close svelte-3dfyyn" role="button">×</span></button>'),uw=H('<div class="new-menu svelte-3dfyyn" role="menu" tabindex="-1"><button class="new-menu-item svelte-3dfyyn" role="menuitem"><span class="new-menu-icon svelte-3dfyyn">🤖</span> New Claude Session</button> <button class="new-menu-item svelte-3dfyyn" role="menuitem"><span class="new-menu-icon svelte-3dfyyn">🖥</span> New Terminal</button></div>'),dw=H('<div class="session-tab-bar svelte-3dfyyn" role="tablist" aria-label="Sessions"><div class="tabs-scroll svelte-3dfyyn"></div> <div class="new-btn-wrap svelte-3dfyyn"><button class="tab-new svelte-3dfyyn" aria-label="New session" aria-haspopup="menu">+</button> <!></div></div>');function fw(e,t){ut(t,!0);let i=F(!1),s=F(null);function r(R){return R.type==="terminal"?"🖥":"🤖"}function n(R,C){R.stopPropagation(),t.onCloseSession(C)}function o(R,C){(R.key==="Enter"||R.key===" ")&&(R.stopPropagation(),t.onCloseSession(C))}function l(){m(i,!a(i))}function c(){m(i,!1),t.onNewSession()}function h(){m(i,!1),t.onNewTerminal()}function d(R){var C;a(i)&&a(s)&&document.contains(R.target)&&!((C=a(s).closest(".new-btn-wrap"))!=null&&C.contains(R.target))&&m(i,!1)}function u(R){var C;R.key==="Escape"&&a(i)&&(m(i,!1),(C=a(s))==null||C.focus())}var f=dw();Ss("click",$o,d);var v=S(f);Nt(v,21,()=>t.sessions,R=>R.id,(R,C)=>{const w=fe(()=>a(C).id===t.activeSessionId);var x=cw();let M;var N=S(x),j=S(N),J=k(N,2),oe=S(J),Y=k(J,2);he(W=>{M=Qe(x,1,"tab svelte-3dfyyn",null,M,{"tab--active":a(w)}),Ne(x,"aria-selected",a(w)),Ne(x,"aria-label",a(C).displayName||a(C).id),Ne(x,"tabindex",a(w)?0:-1),re(j,W),re(oe,a(C).displayName||a(C).repoName||a(C).id),Ne(Y,"aria-label",`Close ${(a(C).displayName||a(C).id)??""}`)},[()=>r(a(C))]),Q("click",x,()=>t.onSelectSession(a(C).id)),Q("click",Y,W=>n(W,a(C).id)),Q("keydown",Y,W=>o(W,a(C).id)),I(R,x)});var p=k(v,2),b=S(p);et(b,R=>m(s,R),()=>a(s));var g=k(b,2);{var y=R=>{var C=uw(),w=S(C),x=k(w,2);Q("keydown",C,u),Q("click",w,c),Q("click",x,h),I(R,C)};ae(g,R=>{a(i)&&R(y)})}he(()=>Ne(b,"aria-expanded",a(i))),Q("click",b,l),Q("keydown",b,u),I(e,f),dt()}at(["click","keydown"]);var _w=H('<div class="non-git-notice svelte-bvvs2r"><span class="non-git-msg svelte-bvvs2r">Not a git repository</span></div>'),vw=H('<div class="pr-row skeleton svelte-bvvs2r"><div class="skeleton-line skeleton-title svelte-bvvs2r"></div> <div class="skeleton-line skeleton-meta svelte-bvvs2r"></div></div>'),pw=H('<div class="scroll-container svelte-bvvs2r"><div class="pr-list svelte-bvvs2r"></div></div>'),gw=H('<div class="section-message svelte-bvvs2r">Could not load pull requests</div>'),mw=H('<div class="section-message info svelte-bvvs2r">Install GitHub CLI for PR tracking — <a href="https://cli.github.com" target="_blank" rel="noopener noreferrer" class="svelte-bvvs2r">cli.github.com</a></div>'),bw=H('<div class="section-message svelte-bvvs2r">No open pull requests</div>'),Sw=H('<input class="pr-search svelte-bvvs2r" type="text" placeholder="Filter PRs by title, number, or branch..."/>'),yw=H('<button class="pr-action-pill pr-conflict-pill svelte-bvvs2r" title="Open worktree and fix merge conflicts">Fix Conflicts</button>'),ww=H('<a class="pr-action-pill pr-merge-pill svelte-bvvs2r" target="_blank" rel="noopener noreferrer" title="Ready to merge on GitHub">Merge</a>'),Cw=H("<button> </button>"),kw=H('<div class="pr-row svelte-bvvs2r"><div class="pr-row-left svelte-bvvs2r"><div class="pr-row-title-line svelte-bvvs2r"><span></span> <a class="pr-title-link svelte-bvvs2r" target="_blank" rel="noopener noreferrer"> </a></div> <div class="pr-row-meta svelte-bvvs2r"><span class="pr-num svelte-bvvs2r"> </span> <span class="pr-sep svelte-bvvs2r">·</span> <span class="pr-role svelte-bvvs2r"> </span> <span class="pr-sep svelte-bvvs2r">·</span> <span class="pr-time svelte-bvvs2r"> </span></div></div> <div class="pr-row-actions svelte-bvvs2r"><button class="pr-session-btn svelte-bvvs2r" title="Open session on this branch">+</button> <!> <!> <!></div></div>'),xw=H('<!> <div class="scroll-container svelte-bvvs2r"><div class="pr-list svelte-bvvs2r"></div></div>',1),Ew=H('<div class="activity-row skeleton svelte-bvvs2r"><div class="skeleton-line skeleton-activity svelte-bvvs2r"></div></div>'),Pw=H('<div class="scroll-container svelte-bvvs2r"><div class="activity-list svelte-bvvs2r"></div></div>'),Rw=H('<div class="section-message svelte-bvvs2r">No recent commits (24h)</div>'),Dw=H('<span class="commit-branch svelte-bvvs2r"> </span>'),Tw=H('<div class="activity-row svelte-bvvs2r"><span class="commit-hash svelte-bvvs2r"> </span> <span class="commit-msg svelte-bvvs2r"> </span> <!> <span class="commit-time svelte-bvvs2r"> </span></div>'),Mw=H('<div class="scroll-container svelte-bvvs2r"><div class="activity-list svelte-bvvs2r"></div></div>'),Bw=H('<section class="dashboard-section dashboard-section--scroll svelte-bvvs2r"><div class="section-heading svelte-bvvs2r">OPEN PULL REQUESTS</div> <!></section> <section class="dashboard-section dashboard-section--scroll svelte-bvvs2r"><div class="section-heading svelte-bvvs2r">RECENT ACTIVITY</div> <!></section>',1),Lw=H('<button class="cta-btn svelte-bvvs2r"> </button>'),Aw=H('<div class="repo-dashboard svelte-bvvs2r"><!> <div class="cta-row svelte-bvvs2r"><button class="cta-btn svelte-bvvs2r">+ Start Session</button> <!></div></div>');function Ow(e,t){ut(t,!0);let i=as(t,"creatingWorktree",3,!1);const s=ha(()=>({queryKey:["dashboard",t.workspacePath],queryFn:()=>wp(t.workspacePath),staleTime:6e4,refetchOnWindowFocus:!0}));let r=fe(()=>s.data),n=fe(()=>s.isLoading),o=fe(()=>s.isError);function l(M){return M.state!=="OPEN"?"dot dot-muted":M.reviewDecision==="CHANGES_REQUESTED"?"dot dot-error":"dot dot-success"}function c(M){const N=M.state==="OPEN"?"OPEN":M.state==="MERGED"?"MERGED":"CLOSED";return Oh({commitsAhead:1,prState:N,ciFailing:0,ciPending:0,ciTotal:0,mergeable:M.mergeable??null,unresolvedCommentCount:0})}function h(M){return M.role==="author"?"by you":"review requested"}function d(M){return!M.branches||M.branches.length===0?"":"("+M.branches.join(", ")+")"}let u=F(""),f=fe(()=>a(r)?a(r).prs.length>5:!1),v=fe(()=>()=>{if(!a(r))return[];const M=a(u).toLowerCase().trim();return M?a(r).prs.filter(N=>N.title.toLowerCase().includes(M)||String(N.number).includes(M)||N.headRefName.toLowerCase().includes(M)):a(r).prs});var p=Aw(),b=S(p);{var g=M=>{var N=_w();I(M,N)},y=M=>{var N=Bw(),j=vt(N),J=k(S(j),2);{var oe=X=>{var ce=pw(),be=S(ce);Nt(be,20,()=>[1,2],io,(ge,xe)=>{var Pe=vw();I(ge,Pe)}),I(X,ce)},Y=X=>{var ce=gw();I(X,ce)},W=X=>{var ce=mw();I(X,ce)},O=X=>{var ce=bw();I(X,ce)},B=X=>{var ce=xw(),be=vt(ce);{var ge=Re=>{var we=Sw();xi(we,()=>a(u),G=>m(u,G)),I(Re,we)};ae(be,Re=>{a(f)&&Re(ge)})}var xe=k(be,2),Pe=S(xe);Nt(Pe,21,()=>a(v)(),Re=>Re.number,(Re,we)=>{const G=fe(()=>c(a(we))),ve=fe(()=>pf(a(G).color)),Le=fe(()=>gf(a(G).color));var je=kw(),Be=S(je),pe=S(Be),We=S(pe),He=k(We,2),Ue=S(He),L=k(pe,2),te=S(L),_e=S(te),ue=k(te,4),Se=S(ue),ne=k(ue,4),Ae=S(ne),Ke=k(Be,2),z=S(Ke),U=k(z,2);{var se=Ce=>{var ye=yw();Q("click",ye,()=>t.onFixConflicts(a(we))),I(Ce,ye)};ae(U,Ce=>{a(we).mergeable==="CONFLICTING"&&Ce(se)})}var P=k(U,2);{var A=Ce=>{var ye=ww();he(()=>Ne(ye,"href",a(we).url)),I(Ce,ye)};ae(P,Ce=>{a(we).mergeable==="MERGEABLE"&&a(we).state==="OPEN"&&Ce(A)})}var Z=k(P,2);{var me=Ce=>{var ye=Cw();let Te,Ze;var Ht=S(ye);he(()=>{Te=Qe(ye,1,"pr-action-pill svelte-bvvs2r",null,Te,{"dark-text":a(Le)}),Ne(ye,"title",a(G).label),Ze=Rn(ye,"",Ze,{"--pill-color":a(ve)}),re(Ht,a(G).label)}),Q("click",ye,()=>t.onPrAction(a(we))),I(Ce,ye)};ae(Z,Ce=>{a(G).type!=="none"&&a(G).label&&Ce(me)})}he((Ce,ye,Te)=>{Qe(We,1,Ce,"svelte-bvvs2r"),Ne(He,"href",a(we).url),re(Ue,a(we).title),re(_e,`#${a(we).number??""}`),re(Se,ye),re(Ae,Te)},[()=>zd(l(a(we))),()=>h(a(we)),()=>dg(a(we).updatedAt)]),Q("click",z,()=>t.onOpenPrSession(a(we))),I(Re,je)}),I(X,ce)};ae(J,X=>{a(n)?X(oe):a(o)?X(Y,1):a(r)&&!a(r).hasGhCli?X(W,2):a(r)&&a(r).prs.length===0?X(O,3):a(r)&&X(B,4)})}var T=k(j,2),q=k(S(T),2);{var D=X=>{var ce=Pw(),be=S(ce);Nt(be,20,()=>[1,2,3],io,(ge,xe)=>{var Pe=Ew();I(ge,Pe)}),I(X,ce)},E=X=>{var ce=Rw();I(X,ce)},$=X=>{var ce=Mw(),be=S(ce);Nt(be,21,()=>a(r).activity,ge=>ge.hash,(ge,xe)=>{var Pe=Tw(),Re=S(Pe),we=S(Re),G=k(Re,2),ve=S(G),Le=k(G,2);{var je=We=>{var He=Dw(),Ue=S(He);he(L=>re(Ue,L),[()=>d(a(xe))]),I(We,He)};ae(Le,We=>{a(xe).branches.length>0&&We(je)})}var Be=k(Le,2),pe=S(Be);he(()=>{re(we,a(xe).shortHash),re(ve,a(xe).message),re(pe,a(xe).timeAgo)}),I(ge,Pe)}),I(X,ce)};ae(q,X=>{a(n)?X(D):a(r)&&a(r).activity.length===0?X(E,1):a(r)&&X($,2)})}I(M,N)};ae(b,M=>{a(r)&&!a(r).isGitRepo?M(g):M(y,!1)})}var R=k(b,2),C=S(R),w=k(C,2);{var x=M=>{var N=Lw(),j=S(N);he(()=>{N.disabled=i(),re(j,i()?"Creating...":"+ New Worktree")}),Q("click",N,function(...J){var oe;(oe=t.onNewWorktree)==null||oe.apply(this,J)}),I(M,N)};ae(w,M=>{(!a(r)||a(r).isGitRepo)&&M(x)})}Q("click",C,function(...M){var N;(N=t.onNewSession)==null||N.apply(this,M)}),I(e,p),dt()}at(["click"]);var Iw=H('<div class="empty-icon svelte-1luen49" aria-hidden="true"> </div>'),Nw=H('<p class="empty-description svelte-1luen49"> </p>'),Fw=H('<button class="empty-action svelte-1luen49"> </button>'),Ww=H('<div class="empty-state svelte-1luen49"><!> <div class="empty-heading svelte-1luen49"> </div> <!> <!></div>');function Hw(e,t){var i=Ww(),s=S(i);{var r=u=>{var f=Iw(),v=S(f);he(()=>re(v,t.icon)),I(u,f)};ae(s,u=>{t.icon&&u(r)})}var n=k(s,2),o=S(n),l=k(n,2);{var c=u=>{var f=Nw(),v=S(f);he(()=>re(v,t.description)),I(u,f)};ae(l,u=>{t.description&&u(c)})}var h=k(l,2);{var d=u=>{var f=Fw(),v=S(f);he(()=>re(v,t.actionLabel)),Q("click",f,function(...p){var b;(b=t.onAction)==null||b.apply(this,p)}),I(u,f)};ae(h,u=>{t.actionLabel&&t.onAction&&u(d)})}he(()=>re(o,t.heading)),I(e,i)}at(["click"]);var zw=H("<button><!></button>"),Uw=H("<button><!></button>"),Kw=H('<div class="toolbar svelte-k7we1m" role="toolbar"><div class="toolbar-grid svelte-k7we1m"><!></div></div>');function qw(e,t){ut(t,!0),as(t,"useTmux",3,!1);let i=as(t,"inCopyMode",3,!1);const s=[{html:"Tab",key:" ",label:"Tab"},{html:"⇧Tab",key:"\x1B[Z",label:"Shift+Tab"},{html:"↑",key:"\x1B[A",label:"Up arrow",extraClass:"tb-arrow"},{html:"Esc",key:"\x1B",label:"Escape"},{html:"📷",id:"upload-image-btn",label:"Upload image"},{html:"^V",id:"paste-btn",label:"Paste from clipboard"},{html:"^C",key:"",label:"Ctrl+C"},{html:"←",key:"\x1B[D",label:"Left arrow",extraClass:"tb-arrow"},{html:"↓",key:"\x1B[B",label:"Down arrow",extraClass:"tb-arrow"},{html:"→",key:"\x1B[C",label:"Right arrow",extraClass:"tb-arrow"},{html:"⇧⏎",key:"\x1B[13;2u",label:"Shift+Enter (newline)",extraClass:"tb-newline"},{html:"⏎",key:"\r",label:"Enter",extraClass:"tb-enter"}],r=[{html:"Sel",key:" ",label:"Start selection"},{html:"w",key:"w",label:"Word forward"},{html:"b",key:"b",label:"Word backward"},{html:"←",key:"h",label:"Left",extraClass:"tb-arrow"},{html:"↓",key:"j",label:"Down",extraClass:"tb-arrow"},{html:"↑",key:"k",label:"Up",extraClass:"tb-arrow"},{html:"→",key:"l",label:"Right",extraClass:"tb-arrow"},{html:"$",key:"$",label:"End of line"},{html:"0",key:"0",label:"Start of line"},{html:"PgUp",key:"\x1B[5~",label:"Page up"},{html:"Copy",key:"\r",label:"Copy and exit",extraClass:"tb-enter",exitsCopyMode:!0},{html:"Exit",key:"q",label:"Cancel",exitsCopyMode:!0}];function n(u){var f;if(u.id==="upload-image-btn"){t.onUploadImage(),Lt&&t.onRefocusMobileInput();return}if(u.id==="paste-btn"){(f=navigator.clipboard)!=null&&f.readText?navigator.clipboard.readText().then(v=>{v&&t.onSendKey(v)}).catch(()=>{t.onUploadImage()}):t.onUploadImage(),Lt&&t.onRefocusMobileInput();return}u.key&&((u.key==="\r"||u.key==="\x1B[13;2u")&&t.onFlushComposedText(),t.onSendKey(u.key),(u.key==="\r"||u.key==="\x1B[13;2u")&&t.onClearInput(),Lt&&t.onRefocusMobileInput())}function o(u){var f;t.onSendKey(u.key),u.exitsCopyMode&&((f=t.onExitCopyMode)==null||f.call(t)),Lt&&t.onRefocusMobileInput()}function l(u){u.preventDefault();const f=u.target.closest("button");if(!f)return;if(i()){const p=r.find(b=>f.dataset.key===b.key);p&&o(p);return}const v=s.find(p=>p.id===f.id||p.key&&f.dataset.key===p.key);v&&n(v)}var c=xs(),h=vt(c);{var d=u=>{var f=Kw(),v=S(f),p=S(v);{var b=y=>{var R=xs(),C=vt(R);Nt(C,17,()=>r,w=>w.label,(w,x)=>{var M=zw(),N=S(M);lc(N,()=>a(x).html),he(()=>{Qe(M,1,`tb-btn ${a(x).extraClass??""??""}`,"svelte-k7we1m"),Ne(M,"data-key",a(x).key),Ne(M,"aria-label",a(x).label)}),I(w,M)}),I(y,R)},g=y=>{var R=xs(),C=vt(R);Nt(C,17,()=>s,w=>w.label,(w,x)=>{var M=Uw(),N=S(M);lc(N,()=>a(x).html),he(()=>{Qe(M,1,`tb-btn ${a(x).extraClass??""??""}`,"svelte-k7we1m"),Ne(M,"id",a(x).id),Ne(M,"data-key",a(x).key),Ne(M,"aria-label",a(x).label)}),I(w,M)}),I(y,R)};ae(p,y=>{i()?y(b):y(g,!1)})}Q("mousedown",f,l),I(u,f)};ae(h,u=>{Lt&&u(d)})}I(e,c),dt()}at(["mousedown"]);var jw=H('<div><button class="icon-btn svelte-wp0i5g" aria-label="Open sessions menu">☰</button> <span class="mobile-title svelte-wp0i5g"> </span></div>');function Vw(e,t){let i=as(t,"hidden",3,!1);var s=jw();let r;var n=S(s),o=k(n,2),l=S(o);he(()=>{r=Qe(s,1,"mobile-header svelte-wp0i5g",null,r,{hidden:i()}),re(l,t.title)}),Q("click",n,function(...c){var h;(h=t.onMenuClick)==null||h.apply(this,c)}),I(e,s)}at(["click"]);var Yw=H('<div class="update-toast-actions svelte-1trivgv"><button class="update-toast-btn svelte-1trivgv"> </button> <button class="update-toast-dismiss svelte-1trivgv" aria-label="Dismiss">×</button></div>'),Gw=H('<div class="update-toast svelte-1trivgv"><div class="update-toast-content svelte-1trivgv"><span class="update-toast-text svelte-1trivgv"> </span> <!></div></div>');function Xw(e,t){ut(t,!0);let i=F(!1),s=F(""),r=F("Update Now"),n=F(!1),o=F(!0);Dn(async()=>{try{const f=await jd();f.updateAvailable&&(m(s,`Update available: v${f.current} → v${f.latest}`),m(r,"Update Now"),m(n,!1),m(o,!0),m(i,!0))}catch{}});async function l(){m(n,!0),m(r,"Updating…");try{(await Vd()).restarting?(m(s,"Updated! Restarting server…"),m(o,!1),setTimeout(()=>{location.reload()},5e3)):(m(s,"Updated! Please restart the server manually."),m(o,!1))}catch{m(s,"Update failed. Please try again."),m(n,!1),m(r,"Retry"),m(o,!0)}}function c(){m(i,!1)}var h=xs(),d=vt(h);{var u=f=>{var v=Gw(),p=S(v),b=S(p),g=S(b),y=k(b,2);{var R=C=>{var w=Yw(),x=S(w),M=S(x),N=k(x,2);he(()=>{x.disabled=a(n),re(M,a(r))}),Q("click",x,l),Q("click",N,c),I(C,w)};ae(y,C=>{a(o)&&C(R)})}he(()=>re(g,a(s))),I(f,v)};ae(d,f=>{a(i)&&f(u)})}I(e,h),dt()}at(["click"]);var Qw=H('<button class="image-toast-insert svelte-1y8sviv">Insert</button>'),Jw=H('<div class="image-toast svelte-1y8sviv"><div class="image-toast-content svelte-1y8sviv"><span class="image-toast-text svelte-1y8sviv"> </span> <div class="image-toast-actions svelte-1y8sviv"><!> <button class="image-toast-dismiss svelte-1y8sviv" aria-label="Dismiss">×</button></div></div></div>');function $w(e,t){ut(t,!0);let i=F(!1),s=F(""),r=F(!1),n=F(null),o=null;function l(g,y,R){o&&(clearTimeout(o),o=null),m(s,g,!0),m(r,y,!0),m(n,R??null,!0),m(i,!0)}function c(){m(i,!1),m(n,null),o&&(clearTimeout(o),o=null)}function h(g){o&&clearTimeout(o),o=setTimeout(()=>{a(n)||c()},g)}function d(){a(n)&&er(a(n)),c()}function u(){c()}var f={show:l,hide:c,autoDismiss:h},v=xs(),p=vt(v);{var b=g=>{var y=Jw(),R=S(y),C=S(R),w=S(C),x=k(C,2),M=S(x);{var N=J=>{var oe=Qw();Q("click",oe,d),I(J,oe)};ae(M,J=>{a(r)&&J(N)})}var j=k(M,2);he(()=>re(w,a(s))),Q("click",j,u),I(g,y)};ae(p,g=>{a(i)&&g(b)})}return I(e,v),dt(f)}at(["click"]);var Zw=H('<span class="dialog-title-repo svelte-thtd9b"> </span>'),e0=H('<li class="branch-create-new svelte-thtd9b" role="option" aria-selected="false"> </li>'),t0=H('<li role="option" aria-selected="false" class="svelte-thtd9b"> </li>'),i0=H('<ul class="branch-dropdown svelte-thtd9b"><!> <!></ul>'),s0=H('<div class="dialog-field svelte-thtd9b"><div class="dialog-label-row svelte-thtd9b"><label class="dialog-label svelte-thtd9b" for="ns-branch">Branch name</label> <button type="button" class="branch-refresh svelte-thtd9b" aria-label="Fetch latest remote branches" title="Fetch latest remote branches"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M20 12a8 8 0 0 1-13.66 5.66M4 12a8 8 0 0 1 13.66-5.66M17 3.5v4h-4M7 20.5v-4h4" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.8"></path></svg></button></div> <div class="branch-input-wrap svelte-thtd9b"><input id="ns-branch" type="text" class="dialog-input svelte-thtd9b" placeholder="e.g. feat/my-feature" autocomplete="off"/> <!></div></div>'),r0=H('<div class="dialog-field dialog-field--inline svelte-thtd9b"><input id="ns-continue" type="checkbox" class="dialog-checkbox svelte-thtd9b"/> <label for="ns-continue" class="dialog-label-inline svelte-thtd9b">Continue existing session</label></div>'),n0=H('<dialog class="dialog svelte-thtd9b"><div class="dialog-content svelte-thtd9b"><h2 class="dialog-title svelte-thtd9b"> <!></h2> <div class="dialog-tabs svelte-thtd9b"><button>Repo Session</button> <button>Worktree</button></div> <div class="dialog-body svelte-thtd9b"><div class="dialog-field svelte-thtd9b"><label class="dialog-label svelte-thtd9b" for="ns-agent">Coding agent</label> <select id="ns-agent" class="dialog-select svelte-thtd9b"><option>Claude</option><option>Codex</option></select></div> <!> <!> <div class="dialog-field dialog-field--inline svelte-thtd9b"><input id="ns-yolo" type="checkbox" class="dialog-checkbox svelte-thtd9b"/> <label for="ns-yolo" class="dialog-label-inline svelte-thtd9b">Yolo mode (skip permission checks)</label></div> <div class="dialog-field dialog-field--inline svelte-thtd9b"><input id="ns-tmux" type="checkbox" class="dialog-checkbox svelte-thtd9b"/> <label for="ns-tmux" class="dialog-label-inline svelte-thtd9b">Launch in tmux</label></div> <div class="dialog-field svelte-thtd9b"><label class="dialog-label svelte-thtd9b" for="ns-args">Extra args (optional)</label> <input id="ns-args" type="text" class="dialog-input svelte-thtd9b" placeholder="e.g. --verbose" autocomplete="off"/></div></div> <div class="dialog-footer svelte-thtd9b"><button class="btn btn-ghost svelte-thtd9b">Cancel</button> <button class="btn btn-primary svelte-thtd9b"> </button></div></div></dialog>');function o0(e,t){ut(t,!0);let i=as(t,"preselectedRepo",3,null);const s=Ah();let r,n=F("repos"),o=F(""),l=F(""),c=F(""),h=F(""),d=F("claude"),u=F(!1),f=F(!1),v=F(!1),p=F(Je([])),b=F(!1),g=F(!1),y=F(!1),R=F(!1),C=0,w=fe(()=>{if(!a(c).trim())return[];const P=a(c).toLowerCase();return a(p).filter(A=>A.toLowerCase().includes(P)).slice(0,10)}),x=fe(()=>a(p).some(P=>P===a(c)));async function M(P,A={}){const Z=++C;if(P){A.preserveExisting||m(p,[],!0),A.refresh?m(y,!0):m(g,!0);try{const me=await Bh(P,A.refresh?{refresh:!0}:{});if(Z!==C||P!==a(o))return;m(p,me,!0),a(c).trim()&&m(b,!0)}catch{if(Z!==C||P!==a(o))return;A.preserveExisting||m(p,[],!0)}finally{Z===C&&(m(g,!1),m(y,!1))}}}async function N(){!a(o)||a(y)||await M(a(o),{refresh:!0,preserveExisting:!0})}function j(){C+=1,m(c,""),m(p,[],!0),m(b,!1),m(g,!1),m(y,!1)}function J(){m(b,a(c).trim().length>0)}function oe(P){m(c,P,!0),m(b,!1)}function Y(){m(o,""),m(l,""),m(h,""),m(u,!1),m(f,!1),m(v,!1),j()}async function W(P,A){Y(),m(n,"repos"),await _f(),m(d,s.defaultAgent,!0),A!=null&&A.agent&&m(d,A.agent,!0),m(u,s.defaultYolo,!0),m(f,s.defaultContinue,!0),m(v,s.launchInTmux,!0),(A==null?void 0:A.yolo)!==void 0&&m(u,A.yolo,!0),(A==null?void 0:A.useTmux)!==void 0&&m(v,A.useTmux,!0);const Z=P??i();Z&&(m(o,Z.path,!0),m(l,Z.name,!0),A!=null&&A.branchName&&(m(n,"worktrees"),await M(Z.path))),A!=null&&A.branchName&&m(c,A.branchName,!0),A!=null&&A.claudeArgs&&m(h,A.claudeArgs,!0),r.showModal()}function O(){r.close()}async function B(){var Ce,ye;const P=a(o);if(!P||a(R))return;m(R,!0);const A=a(h).trim().split(/\s+/).filter(Boolean),Z=Math.max(80,Math.floor((window.innerWidth-60)/8)),me=Math.max(24,Math.floor((window.innerHeight-120)/17));try{let Te;a(n)==="repos"?Te=await Pp({repoPath:P,repoName:a(l)||P.split("/").filter(Boolean).pop(),continue:a(f),yolo:a(u),claudeArgs:A.length>0?A:void 0,agent:a(d),useTmux:a(v),cols:Z,rows:me,allowMultiple:!0}):Te=await Gs({repoPath:P,repoName:a(l)||P.split("/").filter(Boolean).pop(),branchName:a(c).trim()||void 0,yolo:a(u),claudeArgs:A.length>0?A:void 0,agent:a(d),useTmux:a(v),cols:Z,rows:me}),r.close(),await kt(),Te!=null&&Te.id&&((Ce=t.onSessionCreated)==null||Ce.call(t,Te.id))}catch(Te){if(Te instanceof Error&&"sessionId"in Te){const Ze=Te;r.close(),await kt(),Ze.sessionId&&((ye=t.onSessionCreated)==null||ye.call(t,Ze.sessionId))}}finally{m(R,!1)}}function T(P){P.target===r&&r.close()}function q(P){a(b)&&P.key==="Escape"&&(m(b,!1),P.stopPropagation())}var D={open:W,close:O},E=n0(),$=S(E),X=S($),ce=S(X),be=k(ce);{var ge=P=>{var A=Zw(),Z=S(A);he(()=>re(Z,`— ${a(l)??""}`)),I(P,A)};ae(be,P=>{a(l)&&P(ge)})}var xe=k(X,2),Pe=S(xe);let Re;var we=k(Pe,2);let G;var ve=k(xe,2),Le=S(ve),je=k(S(Le),2),Be=S(je);Be.value=Be.__value="claude";var pe=k(Be);pe.value=pe.__value="codex";var We=k(Le,2);{var He=P=>{var A=s0(),Z=S(A),me=k(S(Z),2),Ce=S(me);let ye;var Te=k(Z,2),Ze=S(Te),Ht=k(Ze,2);{var Vi=Mt=>{var ri=i0(),_i=S(ri);{var Gt=ni=>{var Xt=e0(),us=S(Xt);he(Ti=>re(us,`Create new: ${Ti??""}`),[()=>a(c).trim()]),Q("mousedown",Xt,()=>oe(a(c).trim())),I(ni,Xt)},Ts=fe(()=>!a(x)&&a(c).trim());ae(_i,ni=>{a(Ts)&&ni(Gt)})}var cs=k(_i,2);Nt(cs,16,()=>a(w),ni=>ni,(ni,Xt)=>{var us=t0(),Ti=S(us);he(()=>re(Ti,Xt)),Q("mousedown",us,()=>oe(Xt)),I(ni,us)}),I(Mt,ri)},Me=fe(()=>a(b)&&(a(w).length>0||a(c).trim()&&!a(x)));ae(Ht,Mt=>{a(Me)&&Mt(Vi)})}he(()=>{me.disabled=!a(o)||a(g)||a(y),ye=Qe(Ce,0,"svelte-thtd9b",null,ye,{spinning:a(g)||a(y)})}),Q("click",me,N),Q("input",Ze,J),Ss("focus",Ze,()=>{a(c).trim()&&m(b,!0)}),xi(Ze,()=>a(c),Mt=>m(c,Mt)),I(P,A)};ae(We,P=>{a(n)==="worktrees"&&P(He)})}var Ue=k(We,2);{var L=P=>{var A=r0(),Z=S(A);zi(Z,()=>a(f),me=>m(f,me)),I(P,A)};ae(Ue,P=>{a(n)==="repos"&&P(L)})}var te=k(Ue,2),_e=S(te),ue=k(te,2),Se=S(ue),ne=k(ue,2),Ae=k(S(ne),2),Ke=k(ve,2),z=S(Ke),U=k(z,2),se=S(U);return et(E,P=>r=P,()=>r),he(()=>{re(ce,`${a(n)==="repos"?"New Session":"New Worktree"} `),Re=Qe(Pe,1,"dialog-tab svelte-thtd9b",null,Re,{active:a(n)==="repos"}),G=Qe(we,1,"dialog-tab svelte-thtd9b",null,G,{active:a(n)==="worktrees"}),z.disabled=a(R),U.disabled=!a(o)||a(R),re(se,a(R)?"Creating...":a(n)==="repos"?"Start Session":"Create Worktree")}),Q("click",E,T),Q("keydown",E,q),Q("click",Pe,()=>{m(n,"repos")}),Q("click",we,()=>{m(n,"worktrees"),a(o)&&a(p).length===0&&M(a(o))}),Zo(je,()=>a(d),P=>m(d,P)),zi(_e,()=>a(u),P=>m(u,P)),zi(Se,()=>a(v),P=>m(v,P)),xi(Ae,()=>a(h),P=>m(h,P)),Q("click",z,()=>r.close()),Q("click",U,B),I(e,E),dt(D)}at(["click","keydown","input","mousedown"]);var a0=H('<p class="error-msg svelte-fdtoa4"> </p>'),l0=H('<span class="version-status svelte-fdtoa4">Up to date</span>'),h0=H('<div class="version-update-row svelte-fdtoa4"><span class="version-update-text svelte-fdtoa4"> </span> <button class="btn btn-primary btn-sm svelte-fdtoa4"> </button></div>'),c0=H('<button class="btn btn-ghost btn-sm svelte-fdtoa4"> </button>'),u0=H('<p class="version-status-msg svelte-fdtoa4"> </p>'),d0=H('<dialog class="dialog svelte-fdtoa4"><div class="dialog-content svelte-fdtoa4"><div class="dialog-header svelte-fdtoa4"><h2 class="dialog-title svelte-fdtoa4">Settings</h2> <button class="close-btn svelte-fdtoa4" aria-label="Close settings">✕</button></div> <div class="dialog-body svelte-fdtoa4"><!> <section class="settings-section svelte-fdtoa4"><h3 class="section-title svelte-fdtoa4">Default Coding Agent</h3> <p class="section-desc svelte-fdtoa4">CLI used when creating new sessions.</p> <select class="agent-select svelte-fdtoa4"><option>Claude</option><option>Codex</option></select></section> <section class="settings-section svelte-fdtoa4"><h3 class="section-title svelte-fdtoa4">Session Defaults</h3> <p class="section-desc svelte-fdtoa4">Default options for new sessions. Override per-session via Customize.</p> <div class="devtools-row svelte-fdtoa4"><input id="default-continue" type="checkbox" class="dialog-checkbox svelte-fdtoa4"/> <label for="default-continue" class="devtools-label svelte-fdtoa4">Continue existing session</label></div> <div class="devtools-row svelte-fdtoa4"><input id="default-yolo" type="checkbox" class="dialog-checkbox svelte-fdtoa4"/> <label for="default-yolo" class="devtools-label svelte-fdtoa4">YOLO mode (skip permission checks)</label></div> <div class="devtools-row svelte-fdtoa4"><input id="default-tmux" type="checkbox" class="dialog-checkbox svelte-fdtoa4"/> <label for="default-tmux" class="devtools-label svelte-fdtoa4">Launch in tmux</label></div> <div class="devtools-row svelte-fdtoa4"><input id="default-notifications" type="checkbox" class="dialog-checkbox svelte-fdtoa4"/> <label for="default-notifications" class="devtools-label svelte-fdtoa4">Enable notifications for new sessions</label></div></section> <section class="settings-section svelte-fdtoa4"><h3 class="section-title svelte-fdtoa4">Developer Tools</h3> <div class="devtools-row svelte-fdtoa4"><input id="devtools-toggle" type="checkbox" class="dialog-checkbox svelte-fdtoa4"/> <label for="devtools-toggle" class="devtools-label svelte-fdtoa4">Enable mobile debug panel</label></div></section> <section class="settings-section svelte-fdtoa4"><h3 class="section-title svelte-fdtoa4">Version</h3> <div class="version-row svelte-fdtoa4"><span class="version-current svelte-fdtoa4"><!></span> <!></div> <!> <!></section></div> <div class="dialog-footer svelte-fdtoa4"><button class="btn btn-ghost svelte-fdtoa4">Close</button></div></div></dialog>');function f0(e,t){ut(t,!0);let i,s=F(!1);const r=Ah();let n=F(""),o=F(""),l=F(null),c=F(!1),h=F(!1),d=F(!1),u=F(!1),f=F("");async function v(){m(n,""),m(f,""),m(h,!1),m(u,!1),m(s,localStorage.getItem("devtools-enabled")==="true"),await _f(),i.showModal(),w()}function p(){i.close()}async function b(){const P=r.defaultAgent;m(n,"");try{await Mp(r.defaultAgent)}catch{r.defaultAgent=P,m(n,"Failed to update default agent.")}}async function g(){const P=r.defaultContinue;m(n,"");try{await Lp(r.defaultContinue)}catch{r.defaultContinue=P,m(n,"Failed to update continue default.")}}async function y(){const P=r.defaultYolo;m(n,"");try{await Op(r.defaultYolo)}catch{r.defaultYolo=P,m(n,"Failed to update yolo default.")}}async function R(){const P=r.launchInTmux;m(n,"");try{await Np(r.launchInTmux)}catch(A){r.launchInTmux=P,m(n,A instanceof Error?A.message:"Failed to update tmux setting.",!0)}}async function C(){const P=r.defaultNotifications;m(n,"");try{await Wp(r.defaultNotifications)}catch{r.defaultNotifications=P,m(n,"Failed to update notifications default.")}}async function w(){m(d,!0),m(f,"");try{const P=await jd();m(o,P.current,!0),m(l,P.latest,!0),m(c,P.updateAvailable,!0),m(h,!0)}catch{m(f,"Failed to check for updates.")}finally{m(d,!1)}}async function x(){m(u,!0),m(f,"");try{(await Vd()).restarting?(m(f,"Updated! Restarting server…"),setTimeout(()=>{location.reload()},5e3)):m(f,"Updated! Please restart the server manually."),m(c,!1)}catch{m(f,"Update failed. Please try again."),m(u,!1)}}function M(){localStorage.setItem("devtools-enabled",a(s)?"true":"false"),window.dispatchEvent(new Event("devtools-changed"))}async function N(){i.close(),await kt()}function j(P){P.target===i&&N()}var J={open:v,close:p},oe=d0(),Y=S(oe),W=S(Y),O=k(S(W),2),B=k(W,2),T=S(B);{var q=P=>{var A=a0(),Z=S(A);he(()=>re(Z,a(n))),I(P,A)};ae(T,P=>{a(n)&&P(q)})}var D=k(T,2),E=k(S(D),4),$=S(E);$.value=$.__value="claude";var X=k($);X.value=X.__value="codex";var ce=k(D,2),be=k(S(ce),4),ge=S(be),xe=k(be,2),Pe=S(xe),Re=k(xe,2),we=S(Re),G=k(Re,2),ve=S(G),Le=k(ce,2),je=k(S(Le),2),Be=S(je),pe=k(Le,2),We=k(S(pe),2),He=S(We),Ue=S(He);{var L=P=>{var A=Ar();he(()=>re(A,`v${a(o)??""}`)),I(P,A)},te=P=>{var A=Ar("...");I(P,A)};ae(Ue,P=>{a(o)?P(L):P(te,!1)})}var _e=k(He,2);{var ue=P=>{var A=l0();I(P,A)};ae(_e,P=>{a(h)&&!a(c)&&!a(u)&&P(ue)})}var Se=k(We,2);{var ne=P=>{var A=h0(),Z=S(A),me=S(Z),Ce=k(Z,2),ye=S(Ce);he(()=>{re(me,`v${a(o)??""} → v${a(l)??""}`),Ce.disabled=a(u),re(ye,a(u)?"Updating…":"Update Now")}),Q("click",Ce,x),I(P,A)},Ae=P=>{var A=c0(),Z=S(A);he(()=>{A.disabled=a(d),re(Z,a(d)?"Checking…":"Check for updates")}),Q("click",A,w),I(P,A)};ae(Se,P=>{a(c)?P(ne):a(h)||P(Ae,1)})}var Ke=k(Se,2);{var z=P=>{var A=u0(),Z=S(A);he(()=>re(Z,a(f))),I(P,A)};ae(Ke,P=>{a(f)&&P(z)})}var U=k(B,2),se=S(U);return et(oe,P=>i=P,()=>i),Q("click",oe,j),Q("click",O,N),Q("change",E,b),Zo(E,()=>r.defaultAgent,P=>r.defaultAgent=P),Q("change",ge,g),zi(ge,()=>r.defaultContinue,P=>r.defaultContinue=P),Q("change",Pe,y),zi(Pe,()=>r.defaultYolo,P=>r.defaultYolo=P),Q("change",we,R),zi(we,()=>r.launchInTmux,P=>r.launchInTmux=P),Q("change",ve,C),zi(ve,()=>r.defaultNotifications,P=>r.defaultNotifications=P),Q("change",Be,M),zi(Be,()=>a(s),P=>m(s,P)),Q("click",se,N),I(e,oe),dt(J)}at(["click","change"]);var _0=H('<p class="confirm-msg svelte-15sco2n">Are you sure you want to delete the worktree <strong class="wt-name svelte-15sco2n"> </strong>?</p> <p class="wt-path svelte-15sco2n"> </p> <p class="warning-msg svelte-15sco2n">This action cannot be undone.</p>',1),v0=H('<p class="error-msg svelte-15sco2n"> </p>'),p0=H('<dialog class="dialog svelte-15sco2n"><div class="dialog-content svelte-15sco2n"><h2 class="dialog-title svelte-15sco2n">Delete Worktree</h2> <div class="dialog-body svelte-15sco2n"><!> <!></div> <div class="dialog-footer svelte-15sco2n"><button class="btn btn-ghost svelte-15sco2n">Cancel</button> <button class="btn btn-danger svelte-15sco2n"> </button></div></div></dialog>');function g0(e,t){ut(t,!0);let i,s=F(null),r=F(""),n=F(!1);function o(N){m(s,N,!0),m(r,""),m(n,!1),i.showModal()}function l(){i.close()}async function c(){if(!(!a(s)||a(n))){m(n,!0),m(r,""),Yr(a(s).path);try{await qd(a(s).path,a(s).repoPath),i.close(),await kt()}catch(N){m(r,N instanceof Error?N.message:"Failed to delete worktree.",!0),m(n,!1)}finally{a(s)&&Gr(a(s).path)}}}function h(){i.close()}function d(N){N.target===i&&i.close()}var u={open:o,close:l},f=p0(),v=S(f),p=k(S(v),2),b=S(p);{var g=N=>{var j=_0(),J=vt(j),oe=k(S(J)),Y=S(oe),W=k(J,2),O=S(W);he(()=>{re(Y,a(s).displayName||a(s).name),re(O,a(s).path)}),I(N,j)};ae(b,N=>{a(s)&&N(g)})}var y=k(b,2);{var R=N=>{var j=v0(),J=S(j);he(()=>re(J,a(r))),I(N,j)};ae(y,N=>{a(r)&&N(R)})}var C=k(p,2),w=S(C),x=k(w,2),M=S(x);return et(f,N=>i=N,()=>i),he(()=>{w.disabled=a(n),x.disabled=a(n),re(M,a(n)?"Deleting...":"Delete")}),Q("click",f,d),Q("click",w,h),Q("click",x,c),I(e,f),dt(u)}at(["click"]);var m0=H('<div class="loading-placeholder svelte-15gfcbp">Loading...</div>'),b0=H('<div class="empty-placeholder svelte-15gfcbp"><!></div>'),S0=H('<span class="spinner svelte-15gfcbp">...</span>'),y0=H("<span>▶</span>"),w0=H('<button class="expand-btn svelte-15gfcbp"><!></button>'),C0=H('<span class="expand-spacer svelte-15gfcbp"></span>'),k0=H('<span class="git-badge svelte-15gfcbp" aria-label="Git repository">git</span>'),x0=H('<div role="treeitem"><!> <input type="checkbox" class="node-checkbox svelte-15gfcbp"/> <span class="node-name svelte-15gfcbp"> </span> <!></div>'),E0=H('<div class="truncated-notice svelte-15gfcbp"> </div>'),P0=H("<!> <!>",1),R0=H('<div class="file-browser svelte-15gfcbp"><div class="filter-row svelte-15gfcbp"><input type="text" class="filter-input svelte-15gfcbp" placeholder="Filter..." aria-label="Filter directories" autocomplete="off" spellcheck="false"/></div> <div class="tree-container svelte-15gfcbp" role="tree" aria-label="File browser" tabindex="0"><!></div></div>');function D0(e,t){ut(t,!0);let i=as(t,"selectedPaths",31,()=>Je([])),s=F(Je([])),r=F(""),n=F(-1),o=F(!0),l=F(null),c=F(void 0);Dn(()=>{h()});async function h(){m(o,!0),m(l,null);try{const D=await fc();m(s,D.entries.map(E=>d(E,0)),!0),D.truncated&&m(l,{shown:D.entries.length,total:D.total},!0)}catch{m(s,[],!0)}finally{m(o,!1)}}function d(D,E){return{name:D.name,path:D.path,isGitRepo:D.isGitRepo,hasChildren:D.hasChildren,children:null,expanded:!1,selected:!1,loading:!1,depth:E,truncatedInfo:null}}async function u(D){if(D.expanded){D.expanded=!1;return}if(D.children===null){D.loading=!0;try{const E=await fc(D.path);D.children=E.entries.map($=>d($,D.depth+1)),D.truncatedInfo=E.truncated?{shown:E.entries.length,total:E.total}:null}catch{D.children=[]}finally{D.loading=!1}}D.expanded=!0}function f(D){D.selected=!D.selected,v()}function v(){i(p(a(s)))}function p(D){const E=[];for(const $ of D)$.selected&&E.push($.path),$.children&&E.push(...p($.children));return E}function b(D,E){return D.toLowerCase().includes(E.toLowerCase())}function g(D,E){var $;return!!(!E||D.expanded||b(D.name,E)||($=D.children)!=null&&$.some(X=>g(X,E)))}function y(D,E){const $=[];for(const X of D)g(X,E)&&($.push(X),X.expanded&&X.children&&$.push(...y(X.children,E)));return $}let R=fe(()=>y(a(s),a(r)));function C(D){var $;if(D.key==="ArrowDown"){D.preventDefault(),m(n,Math.min(a(n)+1,a(R).length-1),!0);return}if(D.key==="ArrowUp"){D.preventDefault(),m(n,Math.max(a(n)-1,0),!0);return}const E=a(n)>=0?a(R)[a(n)]:void 0;if(E){if(D.key==="ArrowRight"){if(D.preventDefault(),E.hasChildren&&!E.expanded)u(E);else if(E.expanded&&(($=E.children)!=null&&$.length)){const X=a(R).indexOf(E.children[0]);X>=0&&m(n,X,!0)}return}if(D.key==="ArrowLeft"){if(D.preventDefault(),E.expanded)E.expanded=!1;else{const X=E.depth-1;for(let ce=a(n)-1;ce>=0;ce--)if(a(R)[ce].depth===X){m(n,ce,!0);break}}return}if(D.key===" "){D.preventDefault(),f(E);return}}}function w(D,E){const $=E.target;$.closest(".expand-btn")||$.closest(".node-checkbox")||(D.hasChildren&&!D.expanded?u(D):f(D))}function x(){m(r,""),m(n,-1),M(a(s)),i([]),N(a(s))}function M(D){for(const E of D)E.selected=!1,E.children&&M(E.children)}function N(D){for(const E of D)E.expanded=!1,E.children&&N(E.children)}var j={reset:x},J=R0(),oe=S(J),Y=S(oe),W=k(oe,2),O=S(W);{var B=D=>{var E=m0();I(D,E)},T=D=>{var E=b0(),$=S(E);{var X=be=>{var ge=Ar();he(()=>re(ge,`No matches for "${a(r)??""}"`)),I(be,ge)},ce=be=>{var ge=Ar("No directories found");I(be,ge)};ae($,be=>{a(r)?be(X):be(ce,!1)})}I(D,E)},q=D=>{var E=P0(),$=vt(E);Nt($,19,()=>a(R),be=>be.path,(be,ge,xe)=>{var Pe=x0();let Re;var we=S(Pe);{var G=He=>{var Ue=w0(),L=S(Ue);{var te=ue=>{var Se=S0();I(ue,Se)},_e=ue=>{var Se=y0();let ne;he(()=>ne=Qe(Se,1,"arrow svelte-15gfcbp",null,ne,{expanded:a(ge).expanded})),I(ue,Se)};ae(L,ue=>{a(ge).loading?ue(te):ue(_e,!1)})}he(()=>Ne(Ue,"aria-label",a(ge).expanded?"Collapse":"Expand")),Q("click",Ue,()=>u(a(ge))),I(He,Ue)},ve=He=>{var Ue=C0();I(He,Ue)};ae(we,He=>{a(ge).hasChildren?He(G):He(ve,!1)})}var Le=k(we,2),je=k(Le,2),Be=S(je),pe=k(je,2);{var We=He=>{var Ue=k0();I(He,Ue)};ae(pe,He=>{a(ge).isGitRepo&&He(We)})}he(()=>{Re=Qe(Pe,1,"tree-row svelte-15gfcbp",null,Re,{focused:a(xe)===a(n),selected:a(ge).selected}),Rn(Pe,`padding-left: ${12+a(ge).depth*20}px`),Ne(Pe,"aria-expanded",a(ge).hasChildren?a(ge).expanded:void 0),Ne(Pe,"aria-selected",a(ge).selected),Ne(Pe,"aria-level",a(ge).depth+1),up(Le,a(ge).selected),Ne(Le,"aria-label",`Select ${a(ge).name??""}`),re(Be,a(ge).name)}),Q("click",Pe,He=>w(a(ge),He)),Q("change",Le,()=>f(a(ge))),Q("click",Le,He=>He.stopPropagation()),I(be,Pe)});var X=k($,2);{var ce=be=>{var ge=E0(),xe=S(ge);he(()=>re(xe,`Showing ${a(l).shown??""} of ${a(l).total??""} directories. Use the filter to narrow results.`)),I(be,ge)};ae(X,be=>{a(l)&&be(ce)})}I(D,E)};ae(O,D=>{a(o)?D(B):a(R).length===0?D(T,1):D(q,!1)})}return et(W,D=>m(c,D),()=>a(c)),xi(Y,()=>a(r),D=>m(r,D)),Q("keydown",W,C),I(e,J),dt(j)}at(["keydown","click","change"]);var T0=H('<p class="error-msg svelte-4yj2yx"> </p>'),M0=H('<dialog class="dialog svelte-4yj2yx"><div class="dialog-content svelte-4yj2yx"><div class="dialog-header svelte-4yj2yx"><h2 class="dialog-title svelte-4yj2yx">Add Workspace</h2> <button class="close-btn svelte-4yj2yx" aria-label="Close">✕</button></div> <div class="dialog-body svelte-4yj2yx"><p class="dialog-desc svelte-4yj2yx">Browse for folders on your machine. Git repos get PR tracking and branch management.</p> <!> <!></div> <div class="dialog-footer svelte-4yj2yx"><span class="selected-count svelte-4yj2yx"><!></span> <div class="footer-actions svelte-4yj2yx"><button class="btn btn-ghost svelte-4yj2yx">Cancel</button> <button class="btn btn-primary svelte-4yj2yx"><!></button></div></div></div></dialog>');function B0(e,t){ut(t,!0);let i,s=F(void 0),r=F(Je([])),n=F(""),o=F(!1);function l(){var B;m(r,[],!0),m(n,""),m(o,!1),(B=a(s))==null||B.reset(),i.showModal()}function c(){i.close()}async function h(){if(a(r).length!==0){m(o,!0),m(n,"");try{const B=await yp(a(r));if(B.errors.length>0&&B.added.length===0){m(n,B.errors.map(T=>`${T.path}: ${T.error}`).join("; "),!0),m(o,!1);return}B.added.length>0&&t.onWorkspacesAdded(B.added.map(T=>T.path)),B.errors.length>0&&console.warn("Some workspaces failed to add:",B.errors),c()}catch{m(n,"Failed to add workspaces.")}finally{m(o,!1)}}}function d(B){B.target===i&&c()}var u={open:l,close:c},f=M0(),v=S(f),p=S(v),b=k(S(p),2),g=k(p,2),y=k(S(g),2);et(D0(y,{get selectedPaths(){return a(r)},set selectedPaths(B){m(r,B,!0)}}),B=>m(s,B,!0),()=>a(s));var R=k(y,2);{var C=B=>{var T=T0(),q=S(T);he(()=>re(q,a(n))),I(B,T)};ae(R,B=>{a(n)&&B(C)})}var w=k(g,2),x=S(w),M=S(x);{var N=B=>{var T=Ar();he(()=>re(T,`${a(r).length??""} selected`)),I(B,T)};ae(M,B=>{a(r).length>0&&B(N)})}var j=k(x,2),J=S(j),oe=k(J,2),Y=S(oe);{var W=B=>{var T=Ar("Adding...");I(B,T)},O=B=>{var T=Ar();he(()=>re(T,`Add Workspace${a(r).length>1?"s":""}`)),I(B,T)};ae(Y,B=>{a(o)?B(W):B(O,!1)})}return et(f,B=>i=B,()=>i),he(()=>oe.disabled=a(r).length===0||a(o)),Q("click",f,d),Q("click",b,c),Q("click",J,c),Q("click",oe,h),I(e,f),dt(u)}at(["click"]);var L0=H('<p class="error-msg svelte-1n78dcx"> </p>'),A0=H("<option> </option>"),O0=H("<option> </option>"),I0=H('<textarea class="prompt-textarea svelte-1n78dcx" placeholder="e.g. focus on security, error handling"></textarea>'),N0=H('<textarea class="prompt-textarea svelte-1n78dcx" placeholder="e.g. include test plan section"></textarea>'),F0=H('<textarea class="prompt-textarea svelte-1n78dcx" placeholder="e.g. prefix with dy/, use conventional commits style"></textarea>'),W0=H('<textarea class="prompt-textarea svelte-1n78dcx" placeholder="e.g. use TypeScript, follow CLAUDE.md"></textarea>'),H0=H('<span class="save-success svelte-1n78dcx">Saved</span>'),z0=H('<dialog class="dialog svelte-1n78dcx"><div class="dialog-content svelte-1n78dcx"><div class="dialog-header svelte-1n78dcx"><h2 class="dialog-title svelte-1n78dcx"><span class="gear-icon svelte-1n78dcx">⚙</span> </h2> <button class="close-btn svelte-1n78dcx" aria-label="Close settings">✕</button></div> <div class="dialog-body svelte-1n78dcx"><!> <section class="settings-section svelte-1n78dcx"><h3 class="section-label svelte-1n78dcx">GIT SETTINGS</h3> <div class="field-group svelte-1n78dcx"><label class="field-label svelte-1n78dcx" for="ws-default-branch">Branch new worktrees from</label> <select id="ws-default-branch" class="field-select svelte-1n78dcx"><option>-- auto --</option><!><!></select></div> <div class="field-group svelte-1n78dcx"><label class="field-label svelte-1n78dcx" for="ws-remote">Remote origin</label> <input id="ws-remote" type="text" class="field-input svelte-1n78dcx" placeholder="origin"/></div> <div class="field-group svelte-1n78dcx"><label class="field-label svelte-1n78dcx" for="ws-branch-prefix">Branch prefix</label> <input id="ws-branch-prefix" type="text" class="field-input svelte-1n78dcx" placeholder="e.g. dy/"/></div></section> <div class="divider svelte-1n78dcx"></div> <section class="settings-section svelte-1n78dcx"><h3 class="section-label svelte-1n78dcx">SESSION DEFAULTS</h3> <div class="inline-row svelte-1n78dcx"><label class="field-label svelte-1n78dcx" for="ws-agent">Default agent</label> <select id="ws-agent" class="field-select field-select-inline svelte-1n78dcx"><option>Claude</option><option>Codex</option></select></div> <div class="checkbox-row svelte-1n78dcx"><label class="checkbox-label svelte-1n78dcx"><input type="checkbox" class="dialog-checkbox svelte-1n78dcx"/> <span>Continue</span></label> <label class="checkbox-label svelte-1n78dcx"><input type="checkbox" class="dialog-checkbox svelte-1n78dcx"/> <span>YOLO</span></label> <label class="checkbox-label svelte-1n78dcx"><input type="checkbox" class="dialog-checkbox svelte-1n78dcx"/> <span>Tmux</span></label></div></section> <div class="divider svelte-1n78dcx"></div> <section class="settings-section svelte-1n78dcx"><h3 class="section-label svelte-1n78dcx">PROMPTS</h3> <div class="prompt-group svelte-1n78dcx"><button class="prompt-toggle svelte-1n78dcx"><span class="prompt-arrow svelte-1n78dcx"> </span> Code review preferences</button> <!></div> <div class="prompt-group svelte-1n78dcx"><button class="prompt-toggle svelte-1n78dcx"><span class="prompt-arrow svelte-1n78dcx"> </span> Create PR preferences</button> <!></div> <div class="prompt-group svelte-1n78dcx"><button class="prompt-toggle svelte-1n78dcx"><span class="prompt-arrow svelte-1n78dcx"> </span> Branch rename preferences</button> <!></div> <div class="prompt-group svelte-1n78dcx"><button class="prompt-toggle svelte-1n78dcx"><span class="prompt-arrow svelte-1n78dcx"> </span> General preferences</button> <!></div></section></div> <div class="dialog-footer svelte-1n78dcx"><button class="btn btn-danger svelte-1n78dcx">Remove Workspace</button> <div class="footer-right svelte-1n78dcx"><!> <button class="btn btn-primary svelte-1n78dcx"> </button></div></div></div></dialog>');function U0(e,t){ut(t,!0);let i,s=F(""),r=F(""),n=F(!1),o=F(""),l=F(!1),c=F(Je([])),h=F(""),d=F(""),u=F(""),f=F("claude"),v=F(!1),p=F(!1),b=F(!1),g=F(""),y=F(""),R=F(""),C=F(""),w=F(!1),x=F(!1),M=F(!1),N=F(!1);async function j(le,Ve){m(s,le,!0),m(r,Ve,!0),m(o,""),m(l,!1),m(n,!1),m(h,""),m(d,""),m(u,""),m(f,"claude"),m(v,!1),m(p,!1),m(b,!1),m(g,""),m(y,""),m(R,""),m(C,""),i.showModal();try{const[yt,qr]=await Promise.all([vl(le),Bh(le).catch(()=>[])]);m(c,qr,!0),oe(yt)}catch{m(o,"Failed to load workspace settings.")}}function J(){i.close()}function oe(le){m(h,le.defaultBranch??"",!0),m(d,le.remote??"",!0),m(u,le.branchPrefix??"",!0),m(f,le.defaultAgent??"claude",!0),m(v,le.defaultContinue??!1,!0),m(p,le.defaultYolo??!1,!0),m(b,le.launchInTmux??!1,!0),m(g,le.promptCodeReview??"",!0),m(y,le.promptCreatePr??"",!0),m(R,le.promptBranchRename??"",!0),m(C,le.promptGeneral??"",!0)}async function Y(){m(n,!0),m(o,""),m(l,!1);try{const le={defaultAgent:a(f),defaultContinue:a(v),defaultYolo:a(p),launchInTmux:a(b)};a(h)&&(le.defaultBranch=a(h)),a(d)&&(le.remote=a(d)),a(u)&&(le.branchPrefix=a(u)),a(g)&&(le.promptCodeReview=a(g)),a(y)&&(le.promptCreatePr=a(y)),a(R)&&(le.promptBranchRename=a(R)),a(C)&&(le.promptGeneral=a(C)),await zp(a(s),le),m(l,!0),setTimeout(()=>{m(l,!1)},2e3)}catch(le){m(o,le instanceof Error?le.message:"Failed to save settings.",!0)}finally{m(n,!1)}}function W(){i.close(),t.onRemoveWorkspace(a(s))}function O(le){le.target===i&&i.close()}var B={open:j,close:J},T=z0(),q=S(T),D=S(q),E=S(D),$=k(S(E)),X=k(E,2),ce=k(D,2),be=S(ce);{var ge=le=>{var Ve=L0(),yt=S(Ve);he(()=>re(yt,a(o))),I(le,Ve)};ae(be,le=>{a(o)&&le(ge)})}var xe=k(be,2),Pe=k(S(xe),2),Re=k(S(Pe),2),we=S(Re);we.value=we.__value="";var G=k(we);Nt(G,17,()=>a(c),io,(le,Ve)=>{var yt=A0(),qr=S(yt),Jh={};he(()=>{re(qr,a(Ve)),Jh!==(Jh=a(Ve))&&(yt.value=(yt.__value=a(Ve))??"")}),I(le,yt)});var ve=k(G);{var Le=le=>{var Ve=O0(),yt=S(Ve),qr={};he(()=>{re(yt,a(h)),qr!==(qr=a(h))&&(Ve.value=(Ve.__value=a(h))??"")}),I(le,Ve)},je=fe(()=>a(h)&&!a(c).includes(a(h)));ae(ve,le=>{a(je)&&le(Le)})}var Be=k(Pe,2),pe=k(S(Be),2),We=k(Be,2),He=k(S(We),2),Ue=k(xe,4),L=k(S(Ue),2),te=k(S(L),2),_e=S(te);_e.value=_e.__value="claude";var ue=k(_e);ue.value=ue.__value="codex";var Se=k(L,2),ne=S(Se),Ae=S(ne),Ke=k(ne,2),z=S(Ke),U=k(Ke,2),se=S(U),P=k(Ue,4),A=k(S(P),2),Z=S(A),me=S(Z),Ce=S(me),ye=k(Z,2);{var Te=le=>{var Ve=I0();Ne(Ve,"rows",3),xi(Ve,()=>a(g),yt=>m(g,yt)),I(le,Ve)};ae(ye,le=>{a(w)&&le(Te)})}var Ze=k(A,2),Ht=S(Ze),Vi=S(Ht),Me=S(Vi),Mt=k(Ht,2);{var ri=le=>{var Ve=N0();Ne(Ve,"rows",3),xi(Ve,()=>a(y),yt=>m(y,yt)),I(le,Ve)};ae(Mt,le=>{a(x)&&le(ri)})}var _i=k(Ze,2),Gt=S(_i),Ts=S(Gt),cs=S(Ts),ni=k(Gt,2);{var Xt=le=>{var Ve=F0();Ne(Ve,"rows",3),xi(Ve,()=>a(R),yt=>m(R,yt)),I(le,Ve)};ae(ni,le=>{a(M)&&le(Xt)})}var us=k(_i,2),Ti=S(us),Pa=S(Ti),Ra=S(Pa),Ye=k(Ti,2);{var it=le=>{var Ve=W0();Ne(Ve,"rows",3),xi(Ve,()=>a(C),yt=>m(C,yt)),I(le,Ve)};ae(Ye,le=>{a(N)&&le(it)})}var Qt=k(ce,2),Do=S(Qt),Da=k(Do,2),To=S(Da);{var y_=le=>{var Ve=H0();I(le,Ve)};ae(To,le=>{a(l)&&le(y_)})}var Ta=k(To,2),w_=S(Ta);return et(T,le=>i=le,()=>i),he(()=>{re($,` ${a(r)??""}`),Ne(Z,"aria-expanded",a(w)),re(Ce,a(w)?"▾":"▸"),Ne(Ht,"aria-expanded",a(x)),re(Me,a(x)?"▾":"▸"),Ne(Gt,"aria-expanded",a(M)),re(cs,a(M)?"▾":"▸"),Ne(Ti,"aria-expanded",a(N)),re(Ra,a(N)?"▾":"▸"),Ta.disabled=a(n),re(w_,a(n)?"Saving…":"Save")}),Q("click",T,O),Q("click",X,()=>i.close()),Zo(Re,()=>a(h),le=>m(h,le)),xi(pe,()=>a(d),le=>m(d,le)),xi(He,()=>a(u),le=>m(u,le)),Zo(te,()=>a(f),le=>m(f,le)),zi(Ae,()=>a(v),le=>m(v,le)),zi(z,()=>a(p),le=>m(p,le)),zi(se,()=>a(b),le=>m(b,le)),Q("click",Z,()=>{m(w,!a(w))}),Q("click",Ht,()=>{m(x,!a(x))}),Q("click",Gt,()=>{m(M,!a(M))}),Q("click",Ti,()=>{m(N,!a(N))}),Q("click",Do,W),Q("click",Ta,Y),I(e,T),dt(B)}at(["click"]);var K0=H('<div class="sidebar-overlay svelte-13zv0lp"></div>'),q0=H("<!> <!> <!> <!>",1),j0=H('<div class="main-app svelte-13zv0lp"><!> <!> <div class="terminal-area svelte-13zv0lp"><!> <!></div></div> <!> <!> <!> <!> <!> <!> <!>',1);function V0(e,t){ut(t,!0);const i=new p_({defaultOptions:{queries:{staleTime:60*1e3,gcTime:600*1e3,refetchOnWindowFocus:!0}}}),s=Yd(),r=Zd(),n=Lh(),o=Ah();function l(L,te){n.activeSessionId=L;const _e=n.sessions.find(ue=>ue.id===L);_e&&(r.activeWorkspacePath=_e.repoPath),mc(L),ui()}ig(l);let c=F(void 0),h=F(void 0),d=F(void 0),u=F(void 0),f=F(void 0),v=F(void 0),p=F(void 0),b=F(!1);Dn(()=>{qp();let L,te;if(Lt&&window.visualViewport){const Se=window.visualViewport;let ne=null;const Ae=()=>{const Ke=window.innerHeight-Se.height;m(b,Ke>50),a(p)&&(a(p).style.height=a(b)?Se.height+"px":""),window.scrollTo(0,0),ne&&clearTimeout(ne),ne=setTimeout(()=>{var z;return(z=a(c))==null?void 0:z.fitTerm()},100)};Se.addEventListener("resize",Ae),Se.addEventListener("scroll",Ae),L=()=>{Se.removeEventListener("resize",Ae),Se.removeEventListener("scroll",Ae),ne&&clearTimeout(ne)}}const _e=navigator.platform.toUpperCase().includes("MAC");let ue;{const Se=ne=>{var z;const Ae=(z=document.activeElement)==null?void 0:z.tagName;if(!(Ae==="INPUT"||Ae==="TEXTAREA"||!(_e?ne.metaKey:ne.ctrlKey))){if(ne.key==="t"&&!ne.shiftKey){ne.preventDefault(),oe();return}if(ne.key==="w"&&!ne.shiftKey){ne.preventDefault(),n.activeSessionId&&$(n.activeSessionId);return}if(!ne.shiftKey&&ne.key>="1"&&ne.key<="9"){const U=a(C);if(U.length===0)return;ne.preventDefault();const se=parseInt(ne.key,10),P=se===9?U[U.length-1]:U[se-1];P&&J(P.id);return}if(ne.shiftKey&&ne.key==="["){const U=a(C);if(U.length===0)return;ne.preventDefault();const se=U.findIndex(A=>A.id===n.activeSessionId),P=se<=0?U[U.length-1]:U[se-1];P&&J(P.id);return}if(ne.shiftKey&&ne.key==="]"){const U=a(C);if(U.length===0)return;ne.preventDefault();const se=U.findIndex(A=>A.id===n.activeSessionId),P=se===-1||se===U.length-1?U[0]:U[se+1];P&&J(P.id);return}}};document.addEventListener("keydown",Se),ue=()=>document.removeEventListener("keydown",Se)}if(Lt){let Ae=0,Ke=0,z=!1;const U=A=>{const Z=A.touches[0];Z&&Z.clientX<=30&&!r.sidebarOpen&&(Ae=Z.clientX,Ke=Z.clientY,z=!0)},se=A=>{if(!z)return;const Z=A.touches[0];if(!Z)return;const me=Z.clientX-Ae,Ce=Math.abs(Z.clientY-Ke);if(Ce>me&&(Ce>8||me>8)){z=!1;return}me>=50&&(z=!1,pc())},P=()=>{z=!1};document.addEventListener("touchstart",U,{passive:!0}),document.addEventListener("touchmove",se,{passive:!0}),document.addEventListener("touchend",P),te=()=>{document.removeEventListener("touchstart",U),document.removeEventListener("touchmove",se),document.removeEventListener("touchend",P)}}return()=>{ue==null||ue(),L==null||L(),te==null||te()}}),rs(()=>{s.authenticated&&kt().then(()=>{const te=new URLSearchParams(window.location.search).get("session");te&&(window.history.replaceState({},"","/"),l(te)),!n.activeSessionId&&!te&&n.sessions.length===1&&J(n.sessions[0].id);for(const _e of n.sessions)Ln(_e.id,o.defaultNotifications);ng().then(()=>{og(cg())})})}),rs(()=>{s.authenticated&&uf(L=>{L.type==="worktrees-changed"?kt():L.type==="session-idle-changed"&&L.sessionId?hg(L.sessionId,L.idle??!1):L.type==="session-ended"&&(i.invalidateQueries({queryKey:["pr"]}),i.invalidateQueries({queryKey:["ci-status"]}))})});let g=fe(()=>r.activeWorkspacePath?n.workspaces.find(L=>L.path===r.activeWorkspacePath):void 0),y=fe(()=>r.activeWorkspacePath?hf(r.activeWorkspacePath):[]),R=fe(()=>n.activeSessionId?n.sessions.find(L=>L.id===n.activeSessionId):void 0),C=fe(()=>a(R)?a(y).filter(L=>L.repoPath===a(R).repoPath):a(y)),w=fe(()=>!!a(R)&&!!r.activeWorkspacePath&&(a(R).repoPath===r.activeWorkspacePath||a(R).repoPath.startsWith(r.activeWorkspacePath+"/"))),x=fe(()=>{var L,te;return((L=a(R))==null?void 0:L.displayName)||((te=a(g))==null?void 0:te.name)||"Claude Remote CLI"}),M=fe(()=>{var L;return((L=a(R))==null?void 0:L.useTmux)??!1}),N=F(!1),j=fe(()=>a(g)?a(w)?"session":"dashboard":"empty");function J(L){var _e;n.activeSessionId=L;const te=n.sessions.find(ue=>ue.id===L);if(te){const ue=n.workspaces.find(Se=>te.repoPath===Se.path||te.repoPath.startsWith(Se.path+"/"));r.activeWorkspacePath=(ue==null?void 0:ue.path)??te.repoPath}mc(L),ui(),(_e=a(c))==null||_e.focusTerm(),ug(L)}function oe(L,te){var _e,ue,Se;L?(_e=a(d))==null||_e.open({name:L.name,path:L.path},te):a(g)?(ue=a(d))==null||ue.open({name:a(g).name,path:a(g).path},te):(Se=a(d))==null||Se.open(void 0,te)}function Y(L){var te,_e;L?(te=a(v))==null||te.open(L.path,L.name):(_e=a(u))==null||_e.open()}async function W(L){var _e,ue;const te=`new-worktree:${L.path}`;if(!Oi(te)){Yr(te);try{let Se=o.defaultYolo,ne=o.defaultAgent,Ae=o.launchInTmux;try{const se=await vl(L.path);se.defaultYolo!==void 0&&(Se=se.defaultYolo),se.defaultAgent&&(ne=se.defaultAgent),se.launchInTmux!==void 0&&(Ae=se.launchInTmux)}catch{}const{branchName:Ke,worktreePath:z}=await Na(L.path),U=await Gs({repoPath:L.path,repoName:L.name,worktreePath:z,branchName:Ke,yolo:Se,agent:ne,useTmux:Ae,needsBranchRename:!0});await kt(),n.activeSessionId=U.id,r.activeWorkspacePath=L.path,Ln(U.id,o.defaultNotifications),ui(),(_e=a(c))==null||_e.focusTerm()}catch{(ue=a(d))==null||ue.open({name:L.name,path:L.path})}finally{Gr(te)}}}async function O(L){if(!a(g))return;const te=a(g).path,_e=n.sessions.find(ne=>ne.branchName===L.headRefName&&ne.repoPath.startsWith(te)),ue=n.worktrees.find(ne=>ne.branchName===L.headRefName&&ne.repoPath===te);let Se=`Merge the branch "${L.baseRefName}" into this branch and resolve all merge conflicts. Use \`git merge ${L.baseRefName}\` and fix any conflicts in the working tree. After resolving, verify the build passes.`;try{const ne=await vl(te);ne.promptFixConflicts&&(Se=ne.promptFixConflicts.replace(/\{baseRefName\}/g,L.baseRefName).replace(/\{headRefName\}/g,L.headRefName))}catch{}try{let ne,Ae;if(_e)ne=_e.repoPath,Ae=_e.branchName;else if(ue)ne=ue.path,Ae=ue.branchName;else{const z=await Na(te,L.headRefName);ne=z.worktreePath,Ae=z.branchName}const Ke=await Gs({repoPath:te,repoName:a(g).name,worktreePath:ne,branchName:Ae,allowMultiple:!0});await kt(),n.activeSessionId=Ke.id,r.activeWorkspacePath=te,Ln(Ke.id,o.defaultNotifications),ui(),setTimeout(()=>{er(Se+"\r")},1500)}catch(ne){console.error("Failed to start conflict resolution:",ne)}}async function B(L,te){if(!a(g))return;const _e=a(g).path,ue=n.sessions.find(ne=>ne.branchName===L.headRefName&&ne.repoPath.startsWith(_e)),Se=n.worktrees.find(ne=>ne.branchName===L.headRefName&&ne.repoPath===_e);try{let ne,Ae;if(ue)ne=ue.repoPath,Ae=ue.branchName;else if(Se)ne=Se.path,Ae=Se.branchName;else{const z=await Na(_e,L.headRefName);ne=z.worktreePath,Ae=z.branchName}const Ke=await Gs({repoPath:_e,repoName:a(g).name,worktreePath:ne,branchName:Ae,allowMultiple:!0});await kt(),n.activeSessionId=Ke.id,r.activeWorkspacePath=_e,Ln(Ke.id,o.defaultNotifications),ui(),te&&setTimeout(()=>{er(te+"\r")},1500)}catch(ne){console.error("Failed to open PR branch session:",ne)}}function T(L){const te=L.state==="OPEN"?"OPEN":L.state==="MERGED"?"MERGED":"CLOSED",_e=Oh({commitsAhead:1,prState:te,ciFailing:0,ciPending:0,ciTotal:0,mergeable:L.mergeable??null,unresolvedCommentCount:0}),ue=vf(_e,{branchName:L.headRefName,baseBranch:L.baseRefName,prNumber:L.number});ue&&B(L,ue)}function q(L){B(L)}function D(L){var te;(te=a(f))==null||te.open(L)}function E(L){var te;n.activeSessionId=L,Ln(L,o.defaultNotifications),ui(),(te=a(c))==null||te.focusTerm()}function $(L){var te;if(fetch(`/sessions/${L}`,{method:"DELETE"}).then(()=>kt()),n.activeSessionId===L){const _e=a(C).filter(ue=>ue.id!==L);n.activeSessionId=((te=_e[0])==null?void 0:te.id)??null}}function X(L,te,_e){var ue,Se;(ue=a(h))==null||ue.show(L,te,_e),te||(Se=a(h))==null||Se.autoDismiss(3e3)}function ce(L){er(L)}function be(){}function ge(){}function xe(){const L=document.createElement("input");L.type="file",L.accept="image/*",L.onchange=()=>{var _e,ue;const te=(_e=L.files)==null?void 0:_e[0];te&&((ue=a(c))==null||ue.handleImageUpload(te,te.type))},L.click()}function Pe(){var L;(L=a(c))==null||L.focusTerm()}function Re(L){m(N,L,!0)}function we(){var L;(L=a(c))==null||L.exitCopyMode()}let G=F(void 0);function ve(){var L;(L=a(G))==null||L.open()}async function Le(L){await kt(),L.length>0&&(r.activeWorkspacePath=L[0])}async function je(){const L=n.activeSessionId;if(!L)return;const te=n.sessions.find(_e=>_e.id===L);if(te){if(await Rp(L),te.type==="worktree"){const _e=n.workspaces.find(ue=>te.repoPath===ue.path||te.repoPath.startsWith(ue.path+"/"));if(_e&&te.repoPath!==_e.path)try{await qd(te.repoPath,_e.path)}catch{}}n.activeSessionId=null,await kt()}}var Be=xs(),pe=vt(Be);{var We=L=>{},He=L=>{pg(L,{})},Ue=L=>{qy(L,{get client(){return i},children:(te,_e)=>{var ue=j0(),Se=vt(ue),ne=S(Se);{var Ae=Me=>{var Mt=K0();Q("click",Mt,function(...ri){ui==null||ui.apply(this,ri)}),I(Me,Mt)};ae(ne,Me=>{r.sidebarOpen&&Me(Ae)})}var Ke=k(ne,2);Vg(Ke,{onSelectSession:J,onOpenSettings:Y,onNewWorktree:W,onNewSession:Me=>oe(Me),onNewTerminal:Me=>oe(Me,{agent:"claude"}),onAddWorkspace:ve,onDeleteSession:$,onDeleteWorktree:D});var z=k(Ke,2),U=S(z);Vw(U,{get title(){return a(x)},get onMenuClick(){return pc},get hidden(){return a(b)}});var se=k(U,2);{var P=Me=>{Hw(Me,{heading:"Add a workspace to get started",description:"Point to any folder on your machine. Git repos get PR tracking and branch management.",actionLabel:"+ Add Workspace",onAction:ve})},A=Me=>{{let Mt=fe(()=>r.activeWorkspacePath??""),ri=fe(()=>{var Gt;return((Gt=a(g))==null?void 0:Gt.name)??""}),_i=fe(()=>Oi(`new-worktree:${r.activeWorkspacePath??""}`));Ow(Me,{get workspacePath(){return a(Mt)},get workspaceName(){return a(ri)},get creatingWorktree(){return a(_i)},onNewSession:()=>oe(),onNewWorktree:()=>{a(g)&&W(a(g))},onFixConflicts:O,onPrAction:T,onOpenPrSession:q})}},Z=Me=>{var Mt=q0(),ri=vt(Mt);{let cs=fe(()=>r.activeWorkspacePath??""),ni=fe(()=>{var Xt;return((Xt=a(R))==null?void 0:Xt.branchName)??""});hw(ri,{get workspacePath(){return a(cs)},get branchName(){return a(ni)},get sessionId(){return n.activeSessionId},onArchive:je})}var _i=k(ri,2);fw(_i,{get sessions(){return a(C)},get activeSessionId(){return n.activeSessionId},onSelectSession:J,onCloseSession:$,onNewSession:()=>oe(),onNewTerminal:()=>oe(void 0,{agent:"claude"})});var Gt=k(_i,2);et(ay(Gt,{get sessionId(){return n.activeSessionId},onImageUpload:X,get useTmux(){return a(M)},onCopyModeChange:Re}),cs=>m(c,cs,!0),()=>a(c));var Ts=k(Gt,2);qw(Ts,{onSendKey:ce,onFlushComposedText:be,onClearInput:ge,onUploadImage:xe,onRefocusMobileInput:Pe,get useTmux(){return a(M)},get inCopyMode(){return a(N)},onExitCopyMode:we}),I(Me,Mt)};ae(se,Me=>{a(j)==="empty"?Me(P):a(j)==="dashboard"?Me(A,1):a(j)==="session"&&Me(Z,2)})}et(Se,Me=>m(p,Me),()=>a(p));var me=k(Se,2);et(o0(me,{onSessionCreated:E}),Me=>m(d,Me,!0),()=>a(d));var Ce=k(me,2);et(f0(Ce,{}),Me=>m(u,Me,!0),()=>a(u));var ye=k(Ce,2);et(g0(ye,{}),Me=>m(f,Me,!0),()=>a(f));var Te=k(ye,2);et(B0(Te,{onWorkspacesAdded:Le}),Me=>m(G,Me,!0),()=>a(G));var Ze=k(Te,2);et(U0(Ze,{onRemoveWorkspace:async Me=>{await fetch("/workspaces",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:Me})}),await kt(),r.activeWorkspacePath===Me&&(r.activeWorkspacePath=null)}}),Me=>m(v,Me,!0),()=>a(v));var Ht=k(Ze,2);Xw(Ht,{});var Vi=k(Ht,2);et($w(Vi,{}),Me=>m(h,Me,!0),()=>a(h)),I(te,ue)},$$slots:{default:!0}})};ae(pe,L=>{s.checking?L(We):s.authenticated?L(Ue,!1):L(He,1)})}I(e,Be),dt()}at(["click"]);Qv(V0,{target:document.getElementById("app")});
|
|
47
|
+
*/var iy=2,sy=1,ry=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){var u;if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:((u=this._terminal.options.overviewRuler)==null?void 0:u.width)||14,i=window.getComputedStyle(this._terminal.element.parentElement),s=parseInt(i.getPropertyValue("height")),r=Math.max(0,parseInt(i.getPropertyValue("width"))),n=window.getComputedStyle(this._terminal.element),o={top:parseInt(n.getPropertyValue("padding-top")),bottom:parseInt(n.getPropertyValue("padding-bottom")),right:parseInt(n.getPropertyValue("padding-right")),left:parseInt(n.getPropertyValue("padding-left"))},l=o.top+o.bottom,c=o.right+o.left,h=s-l,d=r-c-t;return{cols:Math.max(iy,Math.floor(d/e.css.cell.width)),rows:Math.max(sy,Math.floor(h/e.css.cell.height))}}},ny=H('<div class="scroll-fabs svelte-5qgfij"><button class="scroll-fab svelte-5qgfij" data-dir="up" aria-label="Page up">▲</button> <button class="scroll-fab svelte-5qgfij" data-dir="down" aria-label="Page down">▼</button> <button class="scroll-fab scroll-fab-bottom svelte-5qgfij" data-dir="bottom" aria-label="Skip to bottom">↧</button></div>'),oy=H('<div><div class="terminal-container svelte-5qgfij" role="presentation"></div> <div class="terminal-scrollbar svelte-5qgfij" role="scrollbar" aria-orientation="vertical"><div class="terminal-scrollbar-thumb svelte-5qgfij" role="presentation"></div></div> <!></div>');function ay(e,t){ut(t,!0);let i=as(t,"useTmux",3,!1),s=as(t,"companionMode",3,!1),r,n=F(null),o,l=!1;function c(){return a(n)}function h(){var z;(z=a(n))==null||z.focus()}function d(){if(!a(n))return;const z=a(n).buffer.active,U=z.viewportY>=z.baseY,se=z.viewportY;o==null||o.fit(),U?a(n).scrollToBottom():a(n).scrollToLine(se),Ha(a(n).cols,a(n).rows),T()}Dn(()=>{const z=new ty({cursorBlink:!0,fontSize:Lt?12:14,fontFamily:"Menlo, monospace",scrollback:1e4,theme:{background:"#000000",foreground:"#d4d4d4",cursor:"#d4d4d4"}});if(o=new ry,z.loadAddon(o),z.open(r),Lt){const P=r.querySelector(".xterm-viewport");P&&(P.style.touchAction="none",P.style.overflowY="hidden");const A=r.querySelector(".xterm-screen");if(A){A.addEventListener("wheel",me=>{me.stopImmediatePropagation(),me.preventDefault()},{capture:!0,passive:!1});const Z=me=>{z.modes.mouseTrackingMode!=="none"&&me.stopImmediatePropagation()};for(const me of["mousedown","mouseup","mousemove"])A.addEventListener(me,Z,{capture:!0})}}o.fit(),z.onData(P=>er(P));{const P=/Mac|iPhone|iPad|iPod/.test(navigator.platform||"");z.attachCustomKeyEventHandler(A=>!P&&A.type==="keydown"&&A.ctrlKey&&!A.shiftKey&&!A.altKey&&!A.metaKey&&(A.key==="v"||A.key==="V")&&navigator.clipboard&&navigator.clipboard.read?(navigator.clipboard.read().then(Z=>{let me=null,Ce=null;for(const ye of Z){for(const Te of ye.types)if(Te.startsWith("image/")){Ce=Te,me=ye;break}if(me)break}me&&Ce?me.getType(Ce).then(ye=>ve(ye,Ce)):navigator.clipboard.readText().then(ye=>{ye&&z.paste(ye)})}).catch(()=>{navigator.clipboard.readText&&navigator.clipboard.readText().then(Z=>{Z&&z.paste(Z)}).catch(()=>{})}),!1):!0)}z.parser.registerOscHandler(52,P=>{var me;const A=P.indexOf(";");if(A===-1)return!0;const Z=P.slice(A+1);if(!Z||Z==="?")return!0;try{const Ce=Uint8Array.from(atob(Z),Te=>Te.charCodeAt(0)),ye=new TextDecoder("utf-8").decode(Ce);(me=navigator.clipboard)==null||me.writeText(ye).catch(()=>{})}catch{}return!0}),z.onScroll(T),z.onWriteParsed(T);let U=null;const se=new ResizeObserver(()=>{U&&clearTimeout(U),U=setTimeout(()=>{const P=z.buffer.active,A=P.viewportY>=P.baseY,Z=P.viewportY;o.fit(),A?z.scrollToBottom():z.scrollToLine(Z),Ha(z.cols,z.rows),T()},Lt?150:0)});return se.observe(r),Lt&&(document.addEventListener("touchmove",ge,{passive:!1}),document.addEventListener("touchend",xe),document.addEventListener("touchcancel",xe)),m(n,z,!0),()=>{U&&clearTimeout(U),J&&clearTimeout(J),se.disconnect(),z.dispose(),m(n,null),y=!1,u=!1,Lt&&(document.removeEventListener("touchmove",ge),document.removeEventListener("touchend",xe),document.removeEventListener("touchcancel",xe))}}),rs(()=>{t.sessionId&&a(n)&&!s()&&(a(n).write("\x1B[?1049l"),a(n).clear(),df(t.sessionId,a(n),()=>{a(n)&&Ha(a(n).cols,a(n).rows)},()=>{}))});let u=!1,f=0,v=0,p=F(0),b=F(0),g=F(!1),y=!1,R=0,C=0,w=!1,x=0,M=0,N=F(!1),j=F(!1),J=null,oe=0,Y=0;const W=500,O=10;let B=!1;function T(){B||(B=!0,requestAnimationFrame(q))}function q(){if(B=!1,!a(n))return;const z=a(n).buffer.active,U=z.baseY+a(n).rows,se=z.viewportY,P=we;if(!P)return;const A=P.clientHeight;if(U<=a(n).rows){m(g,!1);return}m(g,!0),m(p,Math.max(Lt?44:20,a(n).rows/U*A),!0),m(b,se/(U-a(n).rows)*(A-a(p)))}function D(z){if(!a(n)||!we)return;const U=we.getBoundingClientRect(),P=a(n).buffer.active.baseY+a(n).rows;if(P<=a(n).rows)return;const A=we.clientHeight,Z=Math.max(Lt?44:20,a(n).rows/P*A),me=A-Z,Ce=z-U.top-Z/2,ye=Math.max(0,Math.min(1,Ce/me)),Te=Math.round(ye*(P-a(n).rows));a(n).scrollToLine(Te)}function E(z){const U=z.touches[0];U&&(u=!0,f=U.clientY,v=a(b))}function $(){var z;a(j)&&(m(j,!1),(z=t.onCopyModeChange)==null||z.call(t,!1))}function X(){var se;if(J=null,y=!1,navigator.vibrate&&navigator.vibrate(50),i()){m(j,!0),(se=t.onCopyModeChange)==null||se.call(t,!0),er("[");return}m(N,!0);const z=r.querySelector(".xterm-screen");z&&(z.style.userSelect="text",z.style.webkitUserSelect="text"),r.querySelectorAll("canvas").forEach(P=>{P.style.pointerEvents="none"});const U=r.querySelector(".xterm-rows");if(U){const P=document.createRange();P.selectNodeContents(U);const A=window.getSelection();A==null||A.removeAllRanges(),A==null||A.addRange(P)}}function ce(){var U;m(N,!1);const z=r.querySelector(".xterm-screen");z&&(z.style.userSelect="",z.style.webkitUserSelect=""),r.querySelectorAll("canvas").forEach(se=>{se.style.pointerEvents=""}),(U=window.getSelection())==null||U.removeAllRanges()}function be(z){var se;if(a(N)){const P=((se=window.getSelection())==null?void 0:se.toString())??"";P.trim().length>0&&(navigator.clipboard.writeText(P).catch(()=>{}),navigator.vibrate&&navigator.vibrate(30)),ce();return}if(a(j)||z.target.closest(".terminal-scrollbar")||z.target.closest(".scroll-fabs")||!a(n))return;const U=z.touches[0];U&&(R=U.clientY,M=U.clientY,C=a(n).buffer.active.viewportY,w=!1,x=0,y=!0,oe=U.clientX,Y=U.clientY,J&&clearTimeout(J),J=setTimeout(()=>{X()},W))}function ge(z){const U=z.touches[0];if(U){if(u){if(!a(n)||!we)return;z.preventDefault();const se=U.clientY-f,A=a(n).buffer.active.baseY+a(n).rows;if(A<=a(n).rows)return;const Z=we.clientHeight,me=Math.max(44,a(n).rows/A*Z),Ce=Z-me,Te=Math.max(0,Math.min(Ce,v+se))/Ce,Ze=Math.round(Te*(A-a(n).rows));a(n).scrollToLine(Ze);return}if(y&&a(n)&&!a(N)){if(J){const P=Math.abs(U.clientX-oe),A=Math.abs(U.clientY-Y);(P>O||A>O)&&(clearTimeout(J),J=null)}if(a(n).rows===0||r.clientHeight===0)return;const se=R-U.clientY;if(Math.abs(se)>5){w=!0,z.preventDefault();const P=r.clientHeight/a(n).rows;if(a(n).buffer.active.type==="alternate"){const A=M-U.clientY;M=U.clientY;const Z=A/P;x+=Z;const me=Math.trunc(x);if(me!==0){x-=me;const Ce=me>0?65:64,ye=Math.max(1,Math.round(a(n).cols/2)),Te=Math.max(1,Math.round(a(n).rows/2)),Ze=`\x1B[<${Ce};${ye};${Te}M`,Ht=Math.min(Math.abs(me),5);for(let Vi=0;Vi<Ht;Vi++)er(Ze)}}else{const A=se/P,Z=a(n).buffer.active.baseY,me=Math.max(0,Math.min(Z,Math.round(C+A)));a(n).scrollToLine(me)}}}}}function xe(){J&&(clearTimeout(J),J=null),u=!1,y=!1,w=!1,x=0}function Pe(z){z.target!==G&&D(z.clientY)}function Re(z){var P,A,Z;z.preventDefault();const U=z.target.closest("button");if(!U)return;const se=U.dataset.dir;se==="up"?(P=a(n))==null||P.scrollPages(-1):se==="down"?(A=a(n))==null||A.scrollPages(1):se==="bottom"&&((Z=a(n))==null||Z.scrollToBottom())}let we,G;async function ve(z,U){var P;if(l||!t.sessionId)return;l=!0,(P=t.onImageUpload)==null||P.call(t,"Pasting image…",!1);const se=new FileReader;se.onload=async()=>{var Z,me,Ce;const A=se.result.split(",")[1];try{const ye=await Dp(t.sessionId,A,U);ye.clipboardSet?(Z=t.onImageUpload)==null||Z.call(t,"Image pasted",!1):(me=t.onImageUpload)==null||me.call(t,ye.path,!0,ye.path)}catch(ye){const Te=ye instanceof Error?ye.message:"Image upload failed";(Ce=t.onImageUpload)==null||Ce.call(t,Te,!1)}finally{l=!1}},se.readAsDataURL(z)}function Le(z){var U;if((U=z.clipboardData)!=null&&U.items){for(const se of z.clipboardData.items)if(se.type.startsWith("image/")){z.preventDefault(),z.stopPropagation();const P=se.getAsFile();P&&ve(P,se.type);return}}}let je=F(!1);function Be(z){var U;(U=z.dataTransfer)!=null&&U.types.includes("Files")&&(z.preventDefault(),m(je,!0))}function pe(){m(je,!1)}function We(z){var se;if(z.preventDefault(),m(je,!1),!((se=z.dataTransfer)!=null&&se.files.length))return;const U=z.dataTransfer.files[0];U.type.startsWith("image/")&&ve(U,U.type)}function He(z){var U;u||w||z.target.closest(".terminal-scrollbar")||a(N)||((U=a(n))==null||U.focus(),z.preventDefault())}var Ue={getTerm:c,focusTerm:h,fitTerm:d,exitCopyMode:$,handleImageUpload:ve},L=oy();let te;var _e=S(L);et(_e,z=>r=z,()=>r);var ue=k(_e,2);Ne(ue,"aria-valuenow",0);var Se=S(ue);let ne;et(Se,z=>G=z,()=>G),et(ue,z=>we=z,()=>we);var Ae=k(ue,2);{var Ke=z=>{var U=ny();Q("mousedown",U,Re),I(z,U)};ae(Ae,z=>{Lt&&a(g)&&z(Ke)})}return he(()=>{te=Qe(L,1,"terminal-wrapper svelte-5qgfij",null,te,{"drag-over":a(je),"selection-mode":a(N)}),ne=Rn(Se,"",ne,{display:a(g)?"block":"none",height:a(p)+"px",top:a(b)+"px"})}),Q("touchstart",L,function(...z){var U;(U=Lt?be:void 0)==null||U.apply(this,z)}),Q("touchend",L,function(...z){var U;(U=Lt?He:void 0)==null||U.apply(this,z)}),Ss("paste",_e,Le),Ss("dragover",_e,Be),Ss("dragleave",_e,pe),Ss("drop",_e,We),Q("click",ue,Pe),Q("touchstart",Se,E),I(e,L),dt(Ue)}at(["touchstart","touchend","click","mousedown"]);var Ro=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},ly={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Fs,Sh,Au,hy=(Au=class{constructor(){ee(this,Fs,ly);ee(this,Sh,!1)}setTimeoutProvider(e){V(this,Fs,e)}setTimeout(e,t){return _(this,Fs).setTimeout(e,t)}clearTimeout(e){_(this,Fs).clearTimeout(e)}setInterval(e,t){return _(this,Fs).setInterval(e,t)}clearInterval(e){_(this,Fs).clearInterval(e)}},Fs=new WeakMap,Sh=new WeakMap,Au),pr=new hy;function cy(e){setTimeout(e,0)}var xn=typeof window>"u"||"Deno"in globalThis;function yi(){}function uy(e,t){return typeof e=="function"?e(t):e}function rh(e){return typeof e=="number"&&e>=0&&e!==1/0}function l_(e,t){return Math.max(e+(t||0)-Date.now(),0)}function ir(e,t){return typeof e=="function"?e(t):e}function ki(e,t){return typeof e=="function"?e(t):e}function gu(e,t){const{type:i="all",exact:s,fetchStatus:r,predicate:n,queryKey:o,stale:l}=e;if(o){if(s){if(t.queryHash!==Vh(o,t.options))return!1}else if(!ho(t.queryKey,o))return!1}if(i!=="all"){const c=t.isActive();if(i==="active"&&!c||i==="inactive"&&c)return!1}return!(typeof l=="boolean"&&t.isStale()!==l||r&&r!==t.state.fetchStatus||n&&!n(t))}function mu(e,t){const{exact:i,status:s,predicate:r,mutationKey:n}=e;if(n){if(!t.options.mutationKey)return!1;if(i){if(lo(t.options.mutationKey)!==lo(n))return!1}else if(!ho(t.options.mutationKey,n))return!1}return!(s&&t.state.status!==s||r&&!r(t))}function Vh(e,t){return((t==null?void 0:t.queryKeyHashFn)||lo)(e)}function lo(e){return JSON.stringify(e,(t,i)=>oh(i)?Object.keys(i).sort().reduce((s,r)=>(s[r]=i[r],s),{}):i)}function ho(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(i=>ho(e[i],t[i])):!1}var dy=Object.prototype.hasOwnProperty;function h_(e,t,i=0){if(e===t)return e;if(i>500)return t;const s=bu(e)&&bu(t);if(!s&&!(oh(e)&&oh(t)))return t;const n=(s?e:Object.keys(e)).length,o=s?t:Object.keys(t),l=o.length,c=s?new Array(l):{};let h=0;for(let d=0;d<l;d++){const u=s?d:o[d],f=e[u],v=t[u];if(f===v){c[u]=f,(s?d<n:dy.call(e,u))&&h++;continue}if(f===null||v===null||typeof f!="object"||typeof v!="object"){c[u]=v;continue}const p=h_(f,v,i+1);c[u]=p,p===f&&h++}return n===l&&h===n?e:c}function nh(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const i in e)if(e[i]!==t[i])return!1;return!0}function bu(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function oh(e){if(!Su(e))return!1;const t=e.constructor;if(t===void 0)return!0;const i=t.prototype;return!(!Su(i)||!i.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function Su(e){return Object.prototype.toString.call(e)==="[object Object]"}function fy(e){return new Promise(t=>{pr.setTimeout(t,e)})}function ah(e,t,i){return typeof i.structuralSharing=="function"?i.structuralSharing(e,t):i.structuralSharing!==!1?h_(e,t):t}function _y(e,t,i=0){const s=[...e,t];return i&&s.length>i?s.slice(1):s}function vy(e,t,i=0){const s=[t,...e];return i&&s.length>i?s.slice(0,-1):s}var Yh=Symbol();function c_(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===Yh?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function py(e,t,i){let s=!1,r;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(r??(r=t()),s||(s=!0,r.aborted?i():r.addEventListener("abort",i,{once:!0})),r)}),e}var wr,Ws,an,Ou,gy=(Ou=class extends Ro{constructor(){super();ee(this,wr);ee(this,Ws);ee(this,an);V(this,an,t=>{if(!xn&&window.addEventListener){const i=()=>t();return window.addEventListener("visibilitychange",i,!1),()=>{window.removeEventListener("visibilitychange",i)}}})}onSubscribe(){_(this,Ws)||this.setEventListener(_(this,an))}onUnsubscribe(){var t;this.hasListeners()||((t=_(this,Ws))==null||t.call(this),V(this,Ws,void 0))}setEventListener(t){var i;V(this,an,t),(i=_(this,Ws))==null||i.call(this),V(this,Ws,t(s=>{typeof s=="boolean"?this.setFocused(s):this.onFocus()}))}setFocused(t){_(this,wr)!==t&&(V(this,wr,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(i=>{i(t)})}isFocused(){var t;return typeof _(this,wr)=="boolean"?_(this,wr):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},wr=new WeakMap,Ws=new WeakMap,an=new WeakMap,Ou),Gh=new gy;function lh(){let e,t;const i=new Promise((r,n)=>{e=r,t=n});i.status="pending",i.catch(()=>{});function s(r){Object.assign(i,r),delete i.resolve,delete i.reject}return i.resolve=r=>{s({status:"fulfilled",value:r}),e(r)},i.reject=r=>{s({status:"rejected",reason:r}),t(r)},i}var my=cy;function by(){let e=[],t=0,i=l=>{l()},s=l=>{l()},r=my;const n=l=>{t?e.push(l):r(()=>{i(l)})},o=()=>{const l=e;e=[],l.length&&r(()=>{s(()=>{l.forEach(c=>{i(c)})})})};return{batch:l=>{let c;t++;try{c=l()}finally{t--,t||o()}return c},batchCalls:l=>(...c)=>{n(()=>{l(...c)})},schedule:n,setNotifyFunction:l=>{i=l},setBatchNotifyFunction:l=>{s=l},setScheduler:l=>{r=l}}}var Kt=by(),ln,Hs,hn,Iu,Sy=(Iu=class extends Ro{constructor(){super();ee(this,ln,!0);ee(this,Hs);ee(this,hn);V(this,hn,t=>{if(!xn&&window.addEventListener){const i=()=>t(!0),s=()=>t(!1);return window.addEventListener("online",i,!1),window.addEventListener("offline",s,!1),()=>{window.removeEventListener("online",i),window.removeEventListener("offline",s)}}})}onSubscribe(){_(this,Hs)||this.setEventListener(_(this,hn))}onUnsubscribe(){var t;this.hasListeners()||((t=_(this,Hs))==null||t.call(this),V(this,Hs,void 0))}setEventListener(t){var i;V(this,hn,t),(i=_(this,Hs))==null||i.call(this),V(this,Hs,t(this.setOnline.bind(this)))}setOnline(t){_(this,ln)!==t&&(V(this,ln,t),this.listeners.forEach(s=>{s(t)}))}isOnline(){return _(this,ln)}},ln=new WeakMap,Hs=new WeakMap,hn=new WeakMap,Iu),la=new Sy;function yy(e){return Math.min(1e3*2**e,3e4)}function u_(e){return(e??"online")==="online"?la.isOnline():!0}var hh=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function d_(e){let t=!1,i=0,s;const r=lh(),n=()=>r.status!=="pending",o=b=>{var g;if(!n()){const y=new hh(b);f(y),(g=e.onCancel)==null||g.call(e,y)}},l=()=>{t=!0},c=()=>{t=!1},h=()=>Gh.isFocused()&&(e.networkMode==="always"||la.isOnline())&&e.canRun(),d=()=>u_(e.networkMode)&&e.canRun(),u=b=>{n()||(s==null||s(),r.resolve(b))},f=b=>{n()||(s==null||s(),r.reject(b))},v=()=>new Promise(b=>{var g;s=y=>{(n()||h())&&b(y)},(g=e.onPause)==null||g.call(e)}).then(()=>{var b;s=void 0,n()||(b=e.onContinue)==null||b.call(e)}),p=()=>{if(n())return;let b;const g=i===0?e.initialPromise:void 0;try{b=g??e.fn()}catch(y){b=Promise.reject(y)}Promise.resolve(b).then(u).catch(y=>{var M;if(n())return;const R=e.retry??(xn?0:3),C=e.retryDelay??yy,w=typeof C=="function"?C(i,y):C,x=R===!0||typeof R=="number"&&i<R||typeof R=="function"&&R(i,y);if(t||!x){f(y);return}i++,(M=e.onFail)==null||M.call(e,i,y),fy(w).then(()=>h()?void 0:v()).then(()=>{t?f(y):p()})})};return{promise:r,status:()=>r.status,cancel:o,continue:()=>(s==null||s(),r),cancelRetry:l,continueRetry:c,canStart:d,start:()=>(d()?p():v().then(p),r)}}var Cr,Nu,f_=(Nu=class{constructor(){ee(this,Cr)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),rh(this.gcTime)&&V(this,Cr,pr.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(xn?1/0:300*1e3))}clearGcTimeout(){_(this,Cr)&&(pr.clearTimeout(_(this,Cr)),V(this,Cr,void 0))}},Cr=new WeakMap,Nu),kr,cn,Si,xr,wt,vo,Er,Fi,fs,Fu,wy=(Fu=class extends f_{constructor(t){super();ee(this,Fi);ee(this,kr);ee(this,cn);ee(this,Si);ee(this,xr);ee(this,wt);ee(this,vo);ee(this,Er);V(this,Er,!1),V(this,vo,t.defaultOptions),this.setOptions(t.options),this.observers=[],V(this,xr,t.client),V(this,Si,_(this,xr).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,V(this,kr,wu(this.options)),this.state=t.state??_(this,kr),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var t;return(t=_(this,wt))==null?void 0:t.promise}setOptions(t){if(this.options={..._(this,vo),...t},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const i=wu(this.options);i.data!==void 0&&(this.setState(yu(i.data,i.dataUpdatedAt)),V(this,kr,i))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&_(this,Si).remove(this)}setData(t,i){const s=ah(this.state.data,t,this.options);return ke(this,Fi,fs).call(this,{data:s,type:"success",dataUpdatedAt:i==null?void 0:i.updatedAt,manual:i==null?void 0:i.manual}),s}setState(t,i){ke(this,Fi,fs).call(this,{type:"setState",state:t,setStateOptions:i})}cancel(t){var s,r;const i=(s=_(this,wt))==null?void 0:s.promise;return(r=_(this,wt))==null||r.cancel(t),i?i.then(yi).catch(yi):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(_(this,kr))}isActive(){return this.observers.some(t=>ki(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Yh||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>ir(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!l_(this.state.dataUpdatedAt,t)}onFocus(){var i;const t=this.observers.find(s=>s.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(i=_(this,wt))==null||i.continue()}onOnline(){var i;const t=this.observers.find(s=>s.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(i=_(this,wt))==null||i.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),_(this,Si).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(i=>i!==t),this.observers.length||(_(this,wt)&&(_(this,Er)?_(this,wt).cancel({revert:!0}):_(this,wt).cancelRetry()),this.scheduleGc()),_(this,Si).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||ke(this,Fi,fs).call(this,{type:"invalidate"})}async fetch(t,i){var c,h,d,u,f,v,p,b,g,y,R,C;if(this.state.fetchStatus!=="idle"&&((c=_(this,wt))==null?void 0:c.status())!=="rejected"){if(this.state.data!==void 0&&(i!=null&&i.cancelRefetch))this.cancel({silent:!0});else if(_(this,wt))return _(this,wt).continueRetry(),_(this,wt).promise}if(t&&this.setOptions(t),!this.options.queryFn){const w=this.observers.find(x=>x.options.queryFn);w&&this.setOptions(w.options)}const s=new AbortController,r=w=>{Object.defineProperty(w,"signal",{enumerable:!0,get:()=>(V(this,Er,!0),s.signal)})},n=()=>{const w=c_(this.options,i),M=(()=>{const N={client:_(this,xr),queryKey:this.queryKey,meta:this.meta};return r(N),N})();return V(this,Er,!1),this.options.persister?this.options.persister(w,M,this):w(M)},l=(()=>{const w={fetchOptions:i,options:this.options,queryKey:this.queryKey,client:_(this,xr),state:this.state,fetchFn:n};return r(w),w})();(h=this.options.behavior)==null||h.onFetch(l,this),V(this,cn,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((d=l.fetchOptions)==null?void 0:d.meta))&&ke(this,Fi,fs).call(this,{type:"fetch",meta:(u=l.fetchOptions)==null?void 0:u.meta}),V(this,wt,d_({initialPromise:i==null?void 0:i.initialPromise,fn:l.fetchFn,onCancel:w=>{w instanceof hh&&w.revert&&this.setState({..._(this,cn),fetchStatus:"idle"}),s.abort()},onFail:(w,x)=>{ke(this,Fi,fs).call(this,{type:"failed",failureCount:w,error:x})},onPause:()=>{ke(this,Fi,fs).call(this,{type:"pause"})},onContinue:()=>{ke(this,Fi,fs).call(this,{type:"continue"})},retry:l.options.retry,retryDelay:l.options.retryDelay,networkMode:l.options.networkMode,canRun:()=>!0}));try{const w=await _(this,wt).start();if(w===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(w),(v=(f=_(this,Si).config).onSuccess)==null||v.call(f,w,this),(b=(p=_(this,Si).config).onSettled)==null||b.call(p,w,this.state.error,this),w}catch(w){if(w instanceof hh){if(w.silent)return _(this,wt).promise;if(w.revert){if(this.state.data===void 0)throw w;return this.state.data}}throw ke(this,Fi,fs).call(this,{type:"error",error:w}),(y=(g=_(this,Si).config).onError)==null||y.call(g,w,this),(C=(R=_(this,Si).config).onSettled)==null||C.call(R,this.state.data,w,this),w}finally{this.scheduleGc()}}},kr=new WeakMap,cn=new WeakMap,Si=new WeakMap,xr=new WeakMap,wt=new WeakMap,vo=new WeakMap,Er=new WeakMap,Fi=new WeakSet,fs=function(t){const i=s=>{switch(t.type){case"failed":return{...s,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...s,fetchStatus:"paused"};case"continue":return{...s,fetchStatus:"fetching"};case"fetch":return{...s,...__(s.data,this.options),fetchMeta:t.meta??null};case"success":const r={...s,...yu(t.data,t.dataUpdatedAt),dataUpdateCount:s.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return V(this,cn,t.manual?r:void 0),r;case"error":const n=t.error;return{...s,error:n,errorUpdateCount:s.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:s.fetchFailureCount+1,fetchFailureReason:n,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...s,isInvalidated:!0};case"setState":return{...s,...t.state}}};this.state=i(this.state),Kt.batch(()=>{this.observers.forEach(s=>{s.onQueryUpdate()}),_(this,Si).notify({query:this,type:"updated",action:t})})},Fu);function __(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:u_(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function yu(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function wu(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,i=t!==void 0,s=i?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:i?s??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:i?"success":"pending",fetchStatus:"idle"}}var Zt,ze,po,jt,Pr,un,gs,zs,go,dn,fn,Rr,Dr,Us,_n,Ge,Vn,ch,uh,dh,fh,_h,vh,ph,v_,Wu,Cy=(Wu=class extends Ro{constructor(t,i){super();ee(this,Ge);ee(this,Zt);ee(this,ze);ee(this,po);ee(this,jt);ee(this,Pr);ee(this,un);ee(this,gs);ee(this,zs);ee(this,go);ee(this,dn);ee(this,fn);ee(this,Rr);ee(this,Dr);ee(this,Us);ee(this,_n,new Set);this.options=i,V(this,Zt,t),V(this,zs,null),V(this,gs,lh()),this.bindMethods(),this.setOptions(i)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(_(this,ze).addObserver(this),Cu(_(this,ze),this.options)?ke(this,Ge,Vn).call(this):this.updateResult(),ke(this,Ge,fh).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return gh(_(this,ze),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return gh(_(this,ze),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,ke(this,Ge,_h).call(this),ke(this,Ge,vh).call(this),_(this,ze).removeObserver(this)}setOptions(t){const i=this.options,s=_(this,ze);if(this.options=_(this,Zt).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof ki(this.options.enabled,_(this,ze))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");ke(this,Ge,ph).call(this),_(this,ze).setOptions(this.options),i._defaulted&&!nh(this.options,i)&&_(this,Zt).getQueryCache().notify({type:"observerOptionsUpdated",query:_(this,ze),observer:this});const r=this.hasListeners();r&&ku(_(this,ze),s,this.options,i)&&ke(this,Ge,Vn).call(this),this.updateResult(),r&&(_(this,ze)!==s||ki(this.options.enabled,_(this,ze))!==ki(i.enabled,_(this,ze))||ir(this.options.staleTime,_(this,ze))!==ir(i.staleTime,_(this,ze)))&&ke(this,Ge,ch).call(this);const n=ke(this,Ge,uh).call(this);r&&(_(this,ze)!==s||ki(this.options.enabled,_(this,ze))!==ki(i.enabled,_(this,ze))||n!==_(this,Us))&&ke(this,Ge,dh).call(this,n)}getOptimisticResult(t){const i=_(this,Zt).getQueryCache().build(_(this,Zt),t),s=this.createResult(i,t);return xy(this,s)&&(V(this,jt,s),V(this,un,this.options),V(this,Pr,_(this,ze).state)),s}getCurrentResult(){return _(this,jt)}trackResult(t,i){return new Proxy(t,{get:(s,r)=>(this.trackProp(r),i==null||i(r),r==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&_(this,gs).status==="pending"&&_(this,gs).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(s,r))})}trackProp(t){_(this,_n).add(t)}getCurrentQuery(){return _(this,ze)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const i=_(this,Zt).defaultQueryOptions(t),s=_(this,Zt).getQueryCache().build(_(this,Zt),i);return s.fetch().then(()=>this.createResult(s,i))}fetch(t){return ke(this,Ge,Vn).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),_(this,jt)))}createResult(t,i){var J;const s=_(this,ze),r=this.options,n=_(this,jt),o=_(this,Pr),l=_(this,un),h=t!==s?t.state:_(this,po),{state:d}=t;let u={...d},f=!1,v;if(i._optimisticResults){const oe=this.hasListeners(),Y=!oe&&Cu(t,i),W=oe&&ku(t,s,i,r);(Y||W)&&(u={...u,...__(d.data,t.options)}),i._optimisticResults==="isRestoring"&&(u.fetchStatus="idle")}let{error:p,errorUpdatedAt:b,status:g}=u;v=u.data;let y=!1;if(i.placeholderData!==void 0&&v===void 0&&g==="pending"){let oe;n!=null&&n.isPlaceholderData&&i.placeholderData===(l==null?void 0:l.placeholderData)?(oe=n.data,y=!0):oe=typeof i.placeholderData=="function"?i.placeholderData((J=_(this,fn))==null?void 0:J.state.data,_(this,fn)):i.placeholderData,oe!==void 0&&(g="success",v=ah(n==null?void 0:n.data,oe,i),f=!0)}if(i.select&&v!==void 0&&!y)if(n&&v===(o==null?void 0:o.data)&&i.select===_(this,go))v=_(this,dn);else try{V(this,go,i.select),v=i.select(v),v=ah(n==null?void 0:n.data,v,i),V(this,dn,v),V(this,zs,null)}catch(oe){V(this,zs,oe)}_(this,zs)&&(p=_(this,zs),v=_(this,dn),b=Date.now(),g="error");const R=u.fetchStatus==="fetching",C=g==="pending",w=g==="error",x=C&&R,M=v!==void 0,j={status:g,fetchStatus:u.fetchStatus,isPending:C,isSuccess:g==="success",isError:w,isInitialLoading:x,isLoading:x,data:v,dataUpdatedAt:u.dataUpdatedAt,error:p,errorUpdatedAt:b,failureCount:u.fetchFailureCount,failureReason:u.fetchFailureReason,errorUpdateCount:u.errorUpdateCount,isFetched:u.dataUpdateCount>0||u.errorUpdateCount>0,isFetchedAfterMount:u.dataUpdateCount>h.dataUpdateCount||u.errorUpdateCount>h.errorUpdateCount,isFetching:R,isRefetching:R&&!C,isLoadingError:w&&!M,isPaused:u.fetchStatus==="paused",isPlaceholderData:f,isRefetchError:w&&M,isStale:Xh(t,i),refetch:this.refetch,promise:_(this,gs),isEnabled:ki(i.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const oe=j.data!==void 0,Y=j.status==="error"&&!oe,W=T=>{Y?T.reject(j.error):oe&&T.resolve(j.data)},O=()=>{const T=V(this,gs,j.promise=lh());W(T)},B=_(this,gs);switch(B.status){case"pending":t.queryHash===s.queryHash&&W(B);break;case"fulfilled":(Y||j.data!==B.value)&&O();break;case"rejected":(!Y||j.error!==B.reason)&&O();break}}return j}updateResult(){const t=_(this,jt),i=this.createResult(_(this,ze),this.options);if(V(this,Pr,_(this,ze).state),V(this,un,this.options),_(this,Pr).data!==void 0&&V(this,fn,_(this,ze)),nh(i,t))return;V(this,jt,i);const s=()=>{if(!t)return!0;const{notifyOnChangeProps:r}=this.options,n=typeof r=="function"?r():r;if(n==="all"||!n&&!_(this,_n).size)return!0;const o=new Set(n??_(this,_n));return this.options.throwOnError&&o.add("error"),Object.keys(_(this,jt)).some(l=>{const c=l;return _(this,jt)[c]!==t[c]&&o.has(c)})};ke(this,Ge,v_).call(this,{listeners:s()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&ke(this,Ge,fh).call(this)}},Zt=new WeakMap,ze=new WeakMap,po=new WeakMap,jt=new WeakMap,Pr=new WeakMap,un=new WeakMap,gs=new WeakMap,zs=new WeakMap,go=new WeakMap,dn=new WeakMap,fn=new WeakMap,Rr=new WeakMap,Dr=new WeakMap,Us=new WeakMap,_n=new WeakMap,Ge=new WeakSet,Vn=function(t){ke(this,Ge,ph).call(this);let i=_(this,ze).fetch(this.options,t);return t!=null&&t.throwOnError||(i=i.catch(yi)),i},ch=function(){ke(this,Ge,_h).call(this);const t=ir(this.options.staleTime,_(this,ze));if(xn||_(this,jt).isStale||!rh(t))return;const s=l_(_(this,jt).dataUpdatedAt,t)+1;V(this,Rr,pr.setTimeout(()=>{_(this,jt).isStale||this.updateResult()},s))},uh=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(_(this,ze)):this.options.refetchInterval)??!1},dh=function(t){ke(this,Ge,vh).call(this),V(this,Us,t),!(xn||ki(this.options.enabled,_(this,ze))===!1||!rh(_(this,Us))||_(this,Us)===0)&&V(this,Dr,pr.setInterval(()=>{(this.options.refetchIntervalInBackground||Gh.isFocused())&&ke(this,Ge,Vn).call(this)},_(this,Us)))},fh=function(){ke(this,Ge,ch).call(this),ke(this,Ge,dh).call(this,ke(this,Ge,uh).call(this))},_h=function(){_(this,Rr)&&(pr.clearTimeout(_(this,Rr)),V(this,Rr,void 0))},vh=function(){_(this,Dr)&&(pr.clearInterval(_(this,Dr)),V(this,Dr,void 0))},ph=function(){const t=_(this,Zt).getQueryCache().build(_(this,Zt),this.options);if(t===_(this,ze))return;const i=_(this,ze);V(this,ze,t),V(this,po,t.state),this.hasListeners()&&(i==null||i.removeObserver(this),t.addObserver(this))},v_=function(t){Kt.batch(()=>{t.listeners&&this.listeners.forEach(i=>{i(_(this,jt))}),_(this,Zt).getQueryCache().notify({query:_(this,ze),type:"observerResultsUpdated"})})},Wu);function ky(e,t){return ki(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function Cu(e,t){return ky(e,t)||e.state.data!==void 0&&gh(e,t,t.refetchOnMount)}function gh(e,t,i){if(ki(t.enabled,e)!==!1&&ir(t.staleTime,e)!=="static"){const s=typeof i=="function"?i(e):i;return s==="always"||s!==!1&&Xh(e,t)}return!1}function ku(e,t,i,s){return(e!==t||ki(s.enabled,e)===!1)&&(!i.suspense||e.state.status!=="error")&&Xh(e,i)}function Xh(e,t){return ki(t.enabled,e)!==!1&&e.isStaleByTime(ir(t.staleTime,e))}function xy(e,t){return!nh(e.getCurrentResult(),t)}function xu(e){return{onFetch:(t,i)=>{var d,u,f,v,p;const s=t.options,r=(f=(u=(d=t.fetchOptions)==null?void 0:d.meta)==null?void 0:u.fetchMore)==null?void 0:f.direction,n=((v=t.state.data)==null?void 0:v.pages)||[],o=((p=t.state.data)==null?void 0:p.pageParams)||[];let l={pages:[],pageParams:[]},c=0;const h=async()=>{let b=!1;const g=C=>{py(C,()=>t.signal,()=>b=!0)},y=c_(t.options,t.fetchOptions),R=async(C,w,x)=>{if(b)return Promise.reject();if(w==null&&C.pages.length)return Promise.resolve(C);const N=(()=>{const Y={client:t.client,queryKey:t.queryKey,pageParam:w,direction:x?"backward":"forward",meta:t.options.meta};return g(Y),Y})(),j=await y(N),{maxPages:J}=t.options,oe=x?vy:_y;return{pages:oe(C.pages,j,J),pageParams:oe(C.pageParams,w,J)}};if(r&&n.length){const C=r==="backward",w=C?Ey:Eu,x={pages:n,pageParams:o},M=w(s,x);l=await R(x,M,C)}else{const C=e??n.length;do{const w=c===0?o[0]??s.initialPageParam:Eu(s,l);if(c>0&&w==null)break;l=await R(l,w),c++}while(c<C)}return l};t.options.persister?t.fetchFn=()=>{var b,g;return(g=(b=t.options).persister)==null?void 0:g.call(b,h,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},i)}:t.fetchFn=h}}}function Eu(e,{pages:t,pageParams:i}){const s=t.length-1;return t.length>0?e.getNextPageParam(t[s],t,i[s],i):void 0}function Ey(e,{pages:t,pageParams:i}){var s;return t.length>0?(s=e.getPreviousPageParam)==null?void 0:s.call(e,t[0],t,i[0],i):void 0}var mo,Zi,Ut,Tr,es,Os,Hu,Py=(Hu=class extends f_{constructor(t){super();ee(this,es);ee(this,mo);ee(this,Zi);ee(this,Ut);ee(this,Tr);V(this,mo,t.client),this.mutationId=t.mutationId,V(this,Ut,t.mutationCache),V(this,Zi,[]),this.state=t.state||Ry(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){_(this,Zi).includes(t)||(_(this,Zi).push(t),this.clearGcTimeout(),_(this,Ut).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){V(this,Zi,_(this,Zi).filter(i=>i!==t)),this.scheduleGc(),_(this,Ut).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){_(this,Zi).length||(this.state.status==="pending"?this.scheduleGc():_(this,Ut).remove(this))}continue(){var t;return((t=_(this,Tr))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var o,l,c,h,d,u,f,v,p,b,g,y,R,C,w,x,M,N;const i=()=>{ke(this,es,Os).call(this,{type:"continue"})},s={client:_(this,mo),meta:this.options.meta,mutationKey:this.options.mutationKey};V(this,Tr,d_({fn:()=>this.options.mutationFn?this.options.mutationFn(t,s):Promise.reject(new Error("No mutationFn found")),onFail:(j,J)=>{ke(this,es,Os).call(this,{type:"failed",failureCount:j,error:J})},onPause:()=>{ke(this,es,Os).call(this,{type:"pause"})},onContinue:i,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>_(this,Ut).canRun(this)}));const r=this.state.status==="pending",n=!_(this,Tr).canStart();try{if(r)i();else{ke(this,es,Os).call(this,{type:"pending",variables:t,isPaused:n}),_(this,Ut).config.onMutate&&await _(this,Ut).config.onMutate(t,this,s);const J=await((l=(o=this.options).onMutate)==null?void 0:l.call(o,t,s));J!==this.state.context&&ke(this,es,Os).call(this,{type:"pending",context:J,variables:t,isPaused:n})}const j=await _(this,Tr).start();return await((h=(c=_(this,Ut).config).onSuccess)==null?void 0:h.call(c,j,t,this.state.context,this,s)),await((u=(d=this.options).onSuccess)==null?void 0:u.call(d,j,t,this.state.context,s)),await((v=(f=_(this,Ut).config).onSettled)==null?void 0:v.call(f,j,null,this.state.variables,this.state.context,this,s)),await((b=(p=this.options).onSettled)==null?void 0:b.call(p,j,null,t,this.state.context,s)),ke(this,es,Os).call(this,{type:"success",data:j}),j}catch(j){try{await((y=(g=_(this,Ut).config).onError)==null?void 0:y.call(g,j,t,this.state.context,this,s))}catch(J){Promise.reject(J)}try{await((C=(R=this.options).onError)==null?void 0:C.call(R,j,t,this.state.context,s))}catch(J){Promise.reject(J)}try{await((x=(w=_(this,Ut).config).onSettled)==null?void 0:x.call(w,void 0,j,this.state.variables,this.state.context,this,s))}catch(J){Promise.reject(J)}try{await((N=(M=this.options).onSettled)==null?void 0:N.call(M,void 0,j,t,this.state.context,s))}catch(J){Promise.reject(J)}throw ke(this,es,Os).call(this,{type:"error",error:j}),j}finally{_(this,Ut).runNext(this)}}},mo=new WeakMap,Zi=new WeakMap,Ut=new WeakMap,Tr=new WeakMap,es=new WeakSet,Os=function(t){const i=s=>{switch(t.type){case"failed":return{...s,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...s,isPaused:!0};case"continue":return{...s,isPaused:!1};case"pending":return{...s,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...s,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...s,data:void 0,error:t.error,failureCount:s.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=i(this.state),Kt.batch(()=>{_(this,Zi).forEach(s=>{s.onMutationUpdate(t)}),_(this,Ut).notify({mutation:this,type:"updated",action:t})})},Hu);function Ry(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var ms,Wi,bo,zu,Dy=(zu=class extends Ro{constructor(t={}){super();ee(this,ms);ee(this,Wi);ee(this,bo);this.config=t,V(this,ms,new Set),V(this,Wi,new Map),V(this,bo,0)}build(t,i,s){const r=new Py({client:t,mutationCache:this,mutationId:++Mo(this,bo)._,options:t.defaultMutationOptions(i),state:s});return this.add(r),r}add(t){_(this,ms).add(t);const i=zo(t);if(typeof i=="string"){const s=_(this,Wi).get(i);s?s.push(t):_(this,Wi).set(i,[t])}this.notify({type:"added",mutation:t})}remove(t){if(_(this,ms).delete(t)){const i=zo(t);if(typeof i=="string"){const s=_(this,Wi).get(i);if(s)if(s.length>1){const r=s.indexOf(t);r!==-1&&s.splice(r,1)}else s[0]===t&&_(this,Wi).delete(i)}}this.notify({type:"removed",mutation:t})}canRun(t){const i=zo(t);if(typeof i=="string"){const s=_(this,Wi).get(i),r=s==null?void 0:s.find(n=>n.state.status==="pending");return!r||r===t}else return!0}runNext(t){var s;const i=zo(t);if(typeof i=="string"){const r=(s=_(this,Wi).get(i))==null?void 0:s.find(n=>n!==t&&n.state.isPaused);return(r==null?void 0:r.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Kt.batch(()=>{_(this,ms).forEach(t=>{this.notify({type:"removed",mutation:t})}),_(this,ms).clear(),_(this,Wi).clear()})}getAll(){return Array.from(_(this,ms))}find(t){const i={exact:!0,...t};return this.getAll().find(s=>mu(i,s))}findAll(t={}){return this.getAll().filter(i=>mu(t,i))}notify(t){Kt.batch(()=>{this.listeners.forEach(i=>{i(t)})})}resumePausedMutations(){const t=this.getAll().filter(i=>i.state.isPaused);return Kt.batch(()=>Promise.all(t.map(i=>i.continue().catch(yi))))}},ms=new WeakMap,Wi=new WeakMap,bo=new WeakMap,zu);function zo(e){var t;return(t=e.options.scope)==null?void 0:t.id}var ts,Uu,Ty=(Uu=class extends Ro{constructor(t={}){super();ee(this,ts);this.config=t,V(this,ts,new Map)}build(t,i,s){const r=i.queryKey,n=i.queryHash??Vh(r,i);let o=this.get(n);return o||(o=new wy({client:t,queryKey:r,queryHash:n,options:t.defaultQueryOptions(i),state:s,defaultOptions:t.getQueryDefaults(r)}),this.add(o)),o}add(t){_(this,ts).has(t.queryHash)||(_(this,ts).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const i=_(this,ts).get(t.queryHash);i&&(t.destroy(),i===t&&_(this,ts).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Kt.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return _(this,ts).get(t)}getAll(){return[..._(this,ts).values()]}find(t){const i={exact:!0,...t};return this.getAll().find(s=>gu(i,s))}findAll(t={}){const i=this.getAll();return Object.keys(t).length>0?i.filter(s=>gu(t,s)):i}notify(t){Kt.batch(()=>{this.listeners.forEach(i=>{i(t)})})}onFocus(){Kt.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Kt.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},ts=new WeakMap,Uu),nt,Ks,qs,vn,pn,js,gn,mn,Ku,p_=(Ku=class{constructor(e={}){ee(this,nt);ee(this,Ks);ee(this,qs);ee(this,vn);ee(this,pn);ee(this,js);ee(this,gn);ee(this,mn);V(this,nt,e.queryCache||new Ty),V(this,Ks,e.mutationCache||new Dy),V(this,qs,e.defaultOptions||{}),V(this,vn,new Map),V(this,pn,new Map),V(this,js,0)}mount(){Mo(this,js)._++,_(this,js)===1&&(V(this,gn,Gh.subscribe(async e=>{e&&(await this.resumePausedMutations(),_(this,nt).onFocus())})),V(this,mn,la.subscribe(async e=>{e&&(await this.resumePausedMutations(),_(this,nt).onOnline())})))}unmount(){var e,t;Mo(this,js)._--,_(this,js)===0&&((e=_(this,gn))==null||e.call(this),V(this,gn,void 0),(t=_(this,mn))==null||t.call(this),V(this,mn,void 0))}isFetching(e){return _(this,nt).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return _(this,Ks).findAll({...e,status:"pending"}).length}getQueryData(e){var i;const t=this.defaultQueryOptions({queryKey:e});return(i=_(this,nt).get(t.queryHash))==null?void 0:i.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),i=_(this,nt).build(this,t),s=i.state.data;return s===void 0?this.fetchQuery(e):(e.revalidateIfStale&&i.isStaleByTime(ir(t.staleTime,i))&&this.prefetchQuery(t),Promise.resolve(s))}getQueriesData(e){return _(this,nt).findAll(e).map(({queryKey:t,state:i})=>{const s=i.data;return[t,s]})}setQueryData(e,t,i){const s=this.defaultQueryOptions({queryKey:e}),r=_(this,nt).get(s.queryHash),n=r==null?void 0:r.state.data,o=uy(t,n);if(o!==void 0)return _(this,nt).build(this,s).setData(o,{...i,manual:!0})}setQueriesData(e,t,i){return Kt.batch(()=>_(this,nt).findAll(e).map(({queryKey:s})=>[s,this.setQueryData(s,t,i)]))}getQueryState(e){var i;const t=this.defaultQueryOptions({queryKey:e});return(i=_(this,nt).get(t.queryHash))==null?void 0:i.state}removeQueries(e){const t=_(this,nt);Kt.batch(()=>{t.findAll(e).forEach(i=>{t.remove(i)})})}resetQueries(e,t){const i=_(this,nt);return Kt.batch(()=>(i.findAll(e).forEach(s=>{s.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const i={revert:!0,...t},s=Kt.batch(()=>_(this,nt).findAll(e).map(r=>r.cancel(i)));return Promise.all(s).then(yi).catch(yi)}invalidateQueries(e,t={}){return Kt.batch(()=>(_(this,nt).findAll(e).forEach(i=>{i.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const i={...t,cancelRefetch:t.cancelRefetch??!0},s=Kt.batch(()=>_(this,nt).findAll(e).filter(r=>!r.isDisabled()&&!r.isStatic()).map(r=>{let n=r.fetch(void 0,i);return i.throwOnError||(n=n.catch(yi)),r.state.fetchStatus==="paused"?Promise.resolve():n}));return Promise.all(s).then(yi)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const i=_(this,nt).build(this,t);return i.isStaleByTime(ir(t.staleTime,i))?i.fetch(t):Promise.resolve(i.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(yi).catch(yi)}fetchInfiniteQuery(e){return e.behavior=xu(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(yi).catch(yi)}ensureInfiniteQueryData(e){return e.behavior=xu(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return la.isOnline()?_(this,Ks).resumePausedMutations():Promise.resolve()}getQueryCache(){return _(this,nt)}getMutationCache(){return _(this,Ks)}getDefaultOptions(){return _(this,qs)}setDefaultOptions(e){V(this,qs,e)}setQueryDefaults(e,t){_(this,vn).set(lo(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[..._(this,vn).values()],i={};return t.forEach(s=>{ho(e,s.queryKey)&&Object.assign(i,s.defaultOptions)}),i}setMutationDefaults(e,t){_(this,pn).set(lo(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[..._(this,pn).values()],i={};return t.forEach(s=>{ho(e,s.mutationKey)&&Object.assign(i,s.defaultOptions)}),i}defaultQueryOptions(e){if(e._defaulted)return e;const t={..._(this,qs).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=Vh(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===Yh&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{..._(this,qs).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){_(this,nt).clear(),_(this,Ks).clear()}},nt=new WeakMap,Ks=new WeakMap,qs=new WeakMap,vn=new WeakMap,pn=new WeakMap,js=new WeakMap,gn=new WeakMap,mn=new WeakMap,Ku);const g_=Symbol("QueryClient"),My=()=>{const e=Zu(g_);if(!e)throw new Error("No QueryClient was found in Svelte context. Did you forget to wrap your component with QueryClientProvider?");return e},By=e=>{hv(g_,e)},Ly=Symbol("isRestoring"),Ay=()=>{try{return Zu(Ly)??{current:!1}}catch{return{current:!1}}};function Oy(){return Ay()}function Iy(e){return My()}var Ny=["forEach","isDisjointFrom","isSubsetOf","isSupersetOf"],Fy=["difference","intersection","symmetricDifference","union"],Pu=!1,bn,Hi,Vs,da,En,m_,b_;const fa=class fa extends Set{constructor(i){super();ee(this,En);ee(this,bn,new Map);ee(this,Hi,F(0));ee(this,Vs,F(0));ee(this,da,ks||-1);if(i){for(var s of i)super.add(s);_(this,Vs).v=super.size}Pu||ke(this,En,b_).call(this)}has(i){var s=super.has(i),r=_(this,bn),n=r.get(i);if(n===void 0){if(!s)return a(_(this,Hi)),!1;n=ke(this,En,m_).call(this,!0),r.set(i,n)}return a(n),s}add(i){return super.has(i)||(super.add(i),m(_(this,Vs),super.size),Zs(_(this,Hi))),this}delete(i){var s=super.delete(i),r=_(this,bn),n=r.get(i);return n!==void 0&&(r.delete(i),m(n,!1)),s&&(m(_(this,Vs),super.size),Zs(_(this,Hi))),s}clear(){if(super.size!==0){super.clear();var i=_(this,bn);for(var s of i.values())m(s,!1);i.clear(),m(_(this,Vs),0),Zs(_(this,Hi))}}keys(){return this.values()}values(){return a(_(this,Hi)),super.values()}entries(){return a(_(this,Hi)),super.entries()}[Symbol.iterator](){return this.keys()}get size(){return a(_(this,Vs))}};bn=new WeakMap,Hi=new WeakMap,Vs=new WeakMap,da=new WeakMap,En=new WeakSet,m_=function(i){return ks===_(this,da)?F(i):sr(i)},b_=function(){Pu=!0;var i=fa.prototype,s=Set.prototype;for(const r of Ny)i[r]=function(...n){return a(_(this,Hi)),s[r].apply(this,n)};for(const r of Fy)i[r]=function(...n){a(_(this,Hi));var o=s[r].apply(this,n);return new fa(o)}};let mh=fa;function Wy(e){const t=Array.isArray(e)?[]:{},i=new mh,s=new Proxy(t,{set(n,o,l,c){if(i.delete(o),o in n)return Reflect.set(n,o,l,c);let h=F(l);return Object.defineProperty(n,o,{configurable:!0,enumerable:!0,get:()=>a(h)&&zy(a(h))?a(h)():a(h),set:d=>{m(h,d)}}),!0},has:(n,o)=>i.has(o)?!1:o in n,ownKeys(n){return Reflect.ownKeys(n).filter(o=>!i.has(o))},getOwnPropertyDescriptor(n,o){if(!i.has(o))return Reflect.getOwnPropertyDescriptor(n,o)},deleteProperty(n,o){return o in n?(n[o]=void 0,i.add(o),Array.isArray(n)&&n.length--,!0):!1}});function r(n){const o=Object.keys(s),l=Object.keys(n),c=o.filter(h=>!l.includes(h));for(const h of c)delete s[h];for(const h of l)s[h]=Hy(()=>n[h])}return r(e),[s,r]}const S_=Symbol("LazyValue");function Hy(e){return e[S_]=!0,e}function zy(e){return!!e[S_]}function Uy(e,t){switch(e){case"post":rs(t);break;case"pre":Fv(t);break}}const el=(e,t,i)=>{let s=!1,r=Array.isArray(e)?[]:void 0;Uy(t,()=>{const n=Array.isArray(e)?e.map(l=>l()):e();if(!s){s=!0,r=n;return}const o=nr(()=>i(n,r));return r=n,o})};function Ky(e,t,i){const s=fe(()=>Iy()),r=Oy(),n=fe(()=>{const d=a(s).defaultQueryOptions(e());return d._optimisticResults=r.current?"isRestoring":"optimistic",d});let o=F(Je(new t(a(s),a(n))));el(()=>a(s),"pre",()=>{m(o,new t(a(s),a(n)),!0)});function l(){const d=a(o).getOptimisticResult(a(n));return a(n).notifyOnChangeProps?d:a(o).trackResult(d)}const[c,h]=Wy(l());return rs(()=>{const d=r.current?()=>{}:a(o).subscribe(()=>h(l()));return a(o).updateResult(),d}),el(()=>a(n),"pre",()=>{a(o).setOptions(a(n))}),el(()=>[a(n),a(o)],"pre",()=>{h(l())}),c}function ha(e,t){return Ky(e,Cy)}function qy(e,t){ut(t,!0);const i=as(t,"client",19,()=>new p_);Dn(()=>{i().mount()}),By(i()),_p(()=>{i().unmount()});var s=xs(),r=vt(s);ip(r,()=>t.children),I(e,s),dt()}var jy=H('<div class="branch-error svelte-1ogsozk"> </div>'),Vy=H('<div class="branch-loading svelte-1ogsozk">Loading...</div>'),Yy=H('<div class="branch-empty svelte-1ogsozk">No branches match</div>'),Gy=H('<span class="branch-check svelte-1ogsozk">✓</span>'),Xy=H('<span class="branch-check branch-check--empty svelte-1ogsozk"></span>'),Qy=H('<span class="branch-spinner svelte-1ogsozk">…</span>'),Jy=H('<li role="option"><!> <span class="branch-option-name svelte-1ogsozk"> </span> <!></li>'),$y=H('<ul class="branch-list svelte-1ogsozk"></ul>'),Zy=H('<div class="branch-dropdown svelte-1ogsozk" role="listbox" tabindex="-1" aria-label="Branches"><div class="branch-filter-wrap svelte-1ogsozk"><input type="text" class="branch-filter svelte-1ogsozk" placeholder="Filter branches..." aria-label="Filter branches"/></div> <!> <!></div>'),ew=H('<div class="branch-switcher svelte-1ogsozk"><button class="branch-trigger svelte-1ogsozk" aria-label="Switch branch" aria-haspopup="listbox"><span class="branch-icon svelte-1ogsozk">⑂</span> <span class="branch-name svelte-1ogsozk"> </span> <svg class="branch-caret svelte-1ogsozk" width="10" height="6" viewBox="0 0 10 6" aria-hidden="true"><path d="M1 1l4 4 4-4" stroke="currentColor" fill="none" stroke-width="1.5" stroke-linecap="round"></path></svg></button> <!></div>');function tw(e,t){ut(t,!0);let i=F(!1),s=F(""),r=F(null),n=F(null),o=F(null),l=F(null);const c=ha(()=>({queryKey:["branches",t.workspacePath],queryFn:()=>Bh(t.workspacePath),staleTime:3e4,enabled:a(i)}));let h=fe(()=>{const x=c.data??[];if(!a(s).trim())return x;const M=a(s).toLowerCase();return x.filter(N=>N.toLowerCase().includes(M))});function d(){m(i,!0),m(s,""),m(l,null),requestAnimationFrame(()=>{var x;return(x=a(n))==null?void 0:x.focus()})}function u(){m(i,!1),m(s,"")}async function f(x){if(x===t.currentBranch){u();return}m(o,x,!0),m(l,null);try{const M=await Ep(t.workspacePath,x);M.success?(u(),t.onSwitch(x)):m(l,M.error??"Failed to switch branch",!0)}catch{m(l,"Failed to switch branch")}finally{m(o,null)}}function v(x){a(i)&&a(r)&&document.contains(x.target)&&!a(r).contains(x.target)&&u()}function p(x){x.key==="Escape"&&a(i)&&(u(),x.stopPropagation())}var b=ew();Ss("click",$o,v);var g=S(b),y=k(S(g),2),R=S(y),C=k(g,2);{var w=x=>{var M=Zy(),N=S(M),j=S(N);et(j,T=>m(n,T),()=>a(n));var J=k(N,2);{var oe=T=>{var q=jy(),D=S(q);he(()=>re(D,a(l))),I(T,q)};ae(J,T=>{a(l)&&T(oe)})}var Y=k(J,2);{var W=T=>{var q=Vy();I(T,q)},O=T=>{var q=Yy();I(T,q)},B=T=>{var q=$y();Nt(q,20,()=>a(h),D=>D,(D,E)=>{var $=Jy();let X;var ce=S($);{var be=G=>{var ve=Gy();I(G,ve)},ge=G=>{var ve=Xy();I(G,ve)};ae(ce,G=>{E===t.currentBranch?G(be):G(ge,!1)})}var xe=k(ce,2),Pe=S(xe),Re=k(xe,2);{var we=G=>{var ve=Qy();I(G,ve)};ae(Re,G=>{a(o)===E&&G(we)})}he(()=>{X=Qe($,1,"branch-option svelte-1ogsozk",null,X,{"branch-current":E===t.currentBranch,"branch-switching":a(o)===E}),Ne($,"aria-selected",E===t.currentBranch),re(Pe,E)}),Q("mousedown",$,()=>f(E)),I(D,$)}),I(T,q)};ae(Y,T=>{c.isLoading?T(W):a(h).length===0?T(O,1):T(B,!1)})}Q("keydown",M,p),Q("keydown",j,p),xi(j,()=>a(s),T=>m(s,T)),I(x,M)};ae(C,x=>{a(i)&&x(w)})}et(b,x=>m(r,x),()=>a(r)),he(()=>{Ne(g,"aria-expanded",a(i)),re(R,t.currentBranch)}),Q("click",g,d),I(e,b),dt()}at(["click","keydown","mousedown"]);var iw=H('<span class="target-branch svelte-1shtc4l" aria-label="target branch"><span class="target-sep svelte-1shtc4l">›</span> <span class="target-name svelte-1shtc4l"> </span></span>'),sw=H('<div class="bar-middle svelte-1shtc4l" aria-label="pull request"><a class="pr-link svelte-1shtc4l" target="_blank" rel="noopener noreferrer"> <svg class="pr-ext-icon svelte-1shtc4l" width="10" height="10" viewBox="0 0 10 10" aria-hidden="true"><path d="M1 9L9 1M9 1H4M9 1V6" stroke="currentColor" fill="none" stroke-width="1.5" stroke-linecap="round"></path></svg></a></div> <span class="diff-stats svelte-1shtc4l"><span class="diff-add svelte-1shtc4l"> </span> <span class="diff-del svelte-1shtc4l"> </span></span>',1),rw=H('<span class="bar-loading svelte-1shtc4l">…</span>'),nw=H('<button class="action-btn action-btn--secondary svelte-1shtc4l"> </button>'),ow=H("<button> </button>"),aw=H("<!> <!>",1),lw=H('<div><div class="bar-left svelte-1shtc4l"><!> <!></div> <!> <div class="bar-right svelte-1shtc4l"><!></div></div>');function hw(e,t){ut(t,!0);let i=F(Je(t.branchName));rs(()=>{m(i,t.branchName,!0)}),rs(()=>{!t.branchName&&t.workspacePath&&xp(t.workspacePath).then(Y=>{Y&&m(i,Y,!0)})});const s=ha(()=>({queryKey:["pr",t.workspacePath,a(i)],queryFn:()=>kp(t.workspacePath,a(i)),staleTime:6e4,refetchOnWindowFocus:!0})),r=ha(()=>{var Y;return{queryKey:["ci-status",t.workspacePath,a(i)],queryFn:()=>Cp(t.workspacePath,a(i)),staleTime:3e4,refetchOnWindowFocus:!0,enabled:((Y=s.data)==null?void 0:Y.state)==="OPEN"}});rs(()=>{t.sessionId&&(s.refetch(),r.refetch())});let n=fe(()=>s.data??null),o=fe(()=>r.data??null),l=fe(()=>{var Y,W,O,B,T,q;return{commitsAhead:a(n)?1:0,prState:a(n)?a(n).isDraft?"DRAFT":a(n).state:null,ciPassing:((Y=a(o))==null?void 0:Y.passing)??0,ciFailing:((W=a(o))==null?void 0:W.failing)??0,ciPending:((O=a(o))==null?void 0:O.pending)??0,ciTotal:((B=a(o))==null?void 0:B.total)??0,mergeable:((T=a(n))==null?void 0:T.mergeable)??null,unresolvedCommentCount:((q=a(n))==null?void 0:q.unresolvedCommentCount)??0}}),c=fe(()=>Oh(a(l))),h=fe(()=>fg(a(c),a(l))),d=fe(()=>pf(a(c).color)),u=fe(()=>gf(a(c).color)),f=fe(()=>a(c).type!=="none");function v(Y=a(c)){var B,T,q,D;const W={branchName:a(i),baseBranch:((B=a(n))==null?void 0:B.baseRefName)??"",prNumber:((T=a(n))==null?void 0:T.number)??0,unresolvedCommentCount:((q=a(n))==null?void 0:q.unresolvedCommentCount)??0},O=vf(Y,W);O!==null?t.sessionId&&er(O+"\r"):(D=t.onArchive)==null||D.call(t)}function p(Y){m(i,Y,!0)}var b=lw();let g;var y=S(b),R=S(y);tw(R,{get workspacePath(){return t.workspacePath},get currentBranch(){return a(i)},onSwitch:p});var C=k(R,2);{var w=Y=>{var W=iw(),O=k(S(W),2),B=S(O);he(()=>re(B,a(n).baseRefName)),I(Y,W)};ae(C,Y=>{var W;(W=a(n))!=null&&W.baseRefName&&Y(w)})}var x=k(y,2);{var M=Y=>{var W=sw(),O=vt(W),B=S(O),T=S(B),q=k(O,2),D=S(q),E=S(D),$=k(D,2),X=S($);he(()=>{Ne(B,"href",a(n).url),Ne(B,"aria-label",`PR #${a(n).number??""}: ${a(n).title??""}`),re(T,`PR #${a(n).number??""} `),re(E,`+${a(n).additions??""}`),re(X,`-${a(n).deletions??""}`)}),I(Y,W)};ae(x,Y=>{a(n)&&Y(M)})}var N=k(x,2),j=S(N);{var J=Y=>{var W=rw();I(Y,W)},oe=Y=>{var W=aw(),O=vt(W);{var B=D=>{var E=nw(),$=S(E);he(()=>{Ne(E,"aria-label",a(h).label),re($,a(h).label)}),Q("click",E,()=>v(a(h))),I(D,E)};ae(O,D=>{a(h)&&D(B)})}var T=k(O,2);{var q=D=>{var E=ow();let $,X;var ce=S(E);he(()=>{$=Qe(E,1,"action-btn svelte-1shtc4l",null,$,{"action-btn--dark-text":a(u),"action-btn--disabled":a(c).type==="checks-running"}),E.disabled=a(c).type==="checks-running",Ne(E,"aria-label",a(c).label),X=Rn(E,"",X,{"--action-color":a(d)}),re(ce,a(c).label)}),Q("click",E,()=>v()),I(D,E)};ae(T,D=>{a(f)&&D(q)})}I(Y,W)};ae(j,Y=>{s.isLoading?Y(J):Y(oe,!1)})}he(()=>{var Y,W;return g=Qe(b,1,"pr-top-bar svelte-1shtc4l",null,g,{"bar-merged":((Y=a(n))==null?void 0:Y.state)==="MERGED","bar-conflicts":((W=a(n))==null?void 0:W.mergeable)==="CONFLICTING"})}),I(e,b),dt()}at(["click"]);var cw=H('<button role="tab"><span class="tab-icon svelte-3dfyyn" aria-hidden="true"> </span> <span class="tab-name svelte-3dfyyn"> </span> <span class="tab-close svelte-3dfyyn" role="button">×</span></button>'),uw=H('<div class="new-menu svelte-3dfyyn" role="menu" tabindex="-1"><button class="new-menu-item svelte-3dfyyn" role="menuitem"><span class="new-menu-icon svelte-3dfyyn">🤖</span> New Claude Session</button> <button class="new-menu-item svelte-3dfyyn" role="menuitem"><span class="new-menu-icon svelte-3dfyyn">🖥</span> New Terminal</button></div>'),dw=H('<div class="session-tab-bar svelte-3dfyyn" role="tablist" aria-label="Sessions"><div class="tabs-scroll svelte-3dfyyn"></div> <div class="new-btn-wrap svelte-3dfyyn"><button class="tab-new svelte-3dfyyn" aria-label="New session" aria-haspopup="menu">+</button> <!></div></div>');function fw(e,t){ut(t,!0);let i=F(!1),s=F(null);function r(R){return R.type==="terminal"?"🖥":"🤖"}function n(R,C){R.stopPropagation(),t.onCloseSession(C)}function o(R,C){(R.key==="Enter"||R.key===" ")&&(R.stopPropagation(),t.onCloseSession(C))}function l(){m(i,!a(i))}function c(){m(i,!1),t.onNewSession()}function h(){m(i,!1),t.onNewTerminal()}function d(R){var C;a(i)&&a(s)&&document.contains(R.target)&&!((C=a(s).closest(".new-btn-wrap"))!=null&&C.contains(R.target))&&m(i,!1)}function u(R){var C;R.key==="Escape"&&a(i)&&(m(i,!1),(C=a(s))==null||C.focus())}var f=dw();Ss("click",$o,d);var v=S(f);Nt(v,21,()=>t.sessions,R=>R.id,(R,C)=>{const w=fe(()=>a(C).id===t.activeSessionId);var x=cw();let M;var N=S(x),j=S(N),J=k(N,2),oe=S(J),Y=k(J,2);he(W=>{M=Qe(x,1,"tab svelte-3dfyyn",null,M,{"tab--active":a(w)}),Ne(x,"aria-selected",a(w)),Ne(x,"aria-label",a(C).displayName||a(C).id),Ne(x,"tabindex",a(w)?0:-1),re(j,W),re(oe,a(C).displayName||a(C).repoName||a(C).id),Ne(Y,"aria-label",`Close ${(a(C).displayName||a(C).id)??""}`)},[()=>r(a(C))]),Q("click",x,()=>t.onSelectSession(a(C).id)),Q("click",Y,W=>n(W,a(C).id)),Q("keydown",Y,W=>o(W,a(C).id)),I(R,x)});var p=k(v,2),b=S(p);et(b,R=>m(s,R),()=>a(s));var g=k(b,2);{var y=R=>{var C=uw(),w=S(C),x=k(w,2);Q("keydown",C,u),Q("click",w,c),Q("click",x,h),I(R,C)};ae(g,R=>{a(i)&&R(y)})}he(()=>Ne(b,"aria-expanded",a(i))),Q("click",b,l),Q("keydown",b,u),I(e,f),dt()}at(["click","keydown"]);var _w=H('<div class="non-git-notice svelte-bvvs2r"><span class="non-git-msg svelte-bvvs2r">Not a git repository</span></div>'),vw=H('<div class="pr-row skeleton svelte-bvvs2r"><div class="skeleton-line skeleton-title svelte-bvvs2r"></div> <div class="skeleton-line skeleton-meta svelte-bvvs2r"></div></div>'),pw=H('<div class="scroll-container svelte-bvvs2r"><div class="pr-list svelte-bvvs2r"></div></div>'),gw=H('<div class="section-message svelte-bvvs2r">Could not load pull requests</div>'),mw=H('<div class="section-message info svelte-bvvs2r">Install GitHub CLI for PR tracking — <a href="https://cli.github.com" target="_blank" rel="noopener noreferrer" class="svelte-bvvs2r">cli.github.com</a></div>'),bw=H('<div class="section-message svelte-bvvs2r">No open pull requests</div>'),Sw=H('<input class="pr-search svelte-bvvs2r" type="text" placeholder="Filter PRs by title, number, or branch..."/>'),yw=H('<button class="pr-action-pill pr-conflict-pill svelte-bvvs2r" title="Open worktree and fix merge conflicts">Fix Conflicts</button>'),ww=H('<a class="pr-action-pill pr-merge-pill svelte-bvvs2r" target="_blank" rel="noopener noreferrer" title="Ready to merge on GitHub">Merge</a>'),Cw=H("<button> </button>"),kw=H('<div class="pr-row svelte-bvvs2r"><div class="pr-row-left svelte-bvvs2r"><div class="pr-row-title-line svelte-bvvs2r"><span></span> <a class="pr-title-link svelte-bvvs2r" target="_blank" rel="noopener noreferrer"> </a></div> <div class="pr-row-meta svelte-bvvs2r"><span class="pr-num svelte-bvvs2r"> </span> <span class="pr-sep svelte-bvvs2r">·</span> <span class="pr-role svelte-bvvs2r"> </span> <span class="pr-sep svelte-bvvs2r">·</span> <span class="pr-time svelte-bvvs2r"> </span></div></div> <div class="pr-row-actions svelte-bvvs2r"><button class="pr-session-btn svelte-bvvs2r" title="Open session on this branch">+</button> <!> <!> <!></div></div>'),xw=H('<!> <div class="scroll-container svelte-bvvs2r"><div class="pr-list svelte-bvvs2r"></div></div>',1),Ew=H('<div class="activity-row skeleton svelte-bvvs2r"><div class="skeleton-line skeleton-activity svelte-bvvs2r"></div></div>'),Pw=H('<div class="scroll-container svelte-bvvs2r"><div class="activity-list svelte-bvvs2r"></div></div>'),Rw=H('<div class="section-message svelte-bvvs2r">No recent commits (24h)</div>'),Dw=H('<span class="commit-branch svelte-bvvs2r"> </span>'),Tw=H('<div class="activity-row svelte-bvvs2r"><span class="commit-hash svelte-bvvs2r"> </span> <span class="commit-msg svelte-bvvs2r"> </span> <!> <span class="commit-time svelte-bvvs2r"> </span></div>'),Mw=H('<div class="scroll-container svelte-bvvs2r"><div class="activity-list svelte-bvvs2r"></div></div>'),Bw=H('<section class="dashboard-section dashboard-section--scroll svelte-bvvs2r"><div class="section-heading svelte-bvvs2r">OPEN PULL REQUESTS</div> <!></section> <section class="dashboard-section dashboard-section--scroll svelte-bvvs2r"><div class="section-heading svelte-bvvs2r">RECENT ACTIVITY</div> <!></section>',1),Lw=H('<button class="cta-btn svelte-bvvs2r"> </button>'),Aw=H('<div class="repo-dashboard svelte-bvvs2r"><!> <div class="cta-row svelte-bvvs2r"><button class="cta-btn svelte-bvvs2r">+ Start Session</button> <!></div></div>');function Ow(e,t){ut(t,!0);let i=as(t,"creatingWorktree",3,!1);const s=ha(()=>({queryKey:["dashboard",t.workspacePath],queryFn:()=>wp(t.workspacePath),staleTime:6e4,refetchOnWindowFocus:!0}));let r=fe(()=>s.data),n=fe(()=>s.isLoading),o=fe(()=>s.isError);function l(M){return M.state!=="OPEN"?"dot dot-muted":M.reviewDecision==="CHANGES_REQUESTED"?"dot dot-error":"dot dot-success"}function c(M){const N=M.state==="OPEN"?"OPEN":M.state==="MERGED"?"MERGED":"CLOSED";return Oh({commitsAhead:1,prState:N,ciFailing:0,ciPending:0,ciTotal:0,mergeable:M.mergeable??null,unresolvedCommentCount:0})}function h(M){return M.role==="author"?"by you":"review requested"}function d(M){return!M.branches||M.branches.length===0?"":"("+M.branches.join(", ")+")"}let u=F(""),f=fe(()=>a(r)?a(r).prs.length>5:!1),v=fe(()=>()=>{if(!a(r))return[];const M=a(u).toLowerCase().trim();return M?a(r).prs.filter(N=>N.title.toLowerCase().includes(M)||String(N.number).includes(M)||N.headRefName.toLowerCase().includes(M)):a(r).prs});var p=Aw(),b=S(p);{var g=M=>{var N=_w();I(M,N)},y=M=>{var N=Bw(),j=vt(N),J=k(S(j),2);{var oe=X=>{var ce=pw(),be=S(ce);Nt(be,20,()=>[1,2],io,(ge,xe)=>{var Pe=vw();I(ge,Pe)}),I(X,ce)},Y=X=>{var ce=gw();I(X,ce)},W=X=>{var ce=mw();I(X,ce)},O=X=>{var ce=bw();I(X,ce)},B=X=>{var ce=xw(),be=vt(ce);{var ge=Re=>{var we=Sw();xi(we,()=>a(u),G=>m(u,G)),I(Re,we)};ae(be,Re=>{a(f)&&Re(ge)})}var xe=k(be,2),Pe=S(xe);Nt(Pe,21,()=>a(v)(),Re=>Re.number,(Re,we)=>{const G=fe(()=>c(a(we))),ve=fe(()=>pf(a(G).color)),Le=fe(()=>gf(a(G).color));var je=kw(),Be=S(je),pe=S(Be),We=S(pe),He=k(We,2),Ue=S(He),L=k(pe,2),te=S(L),_e=S(te),ue=k(te,4),Se=S(ue),ne=k(ue,4),Ae=S(ne),Ke=k(Be,2),z=S(Ke),U=k(z,2);{var se=Ce=>{var ye=yw();Q("click",ye,()=>t.onFixConflicts(a(we))),I(Ce,ye)};ae(U,Ce=>{a(we).mergeable==="CONFLICTING"&&Ce(se)})}var P=k(U,2);{var A=Ce=>{var ye=ww();he(()=>Ne(ye,"href",a(we).url)),I(Ce,ye)};ae(P,Ce=>{a(we).mergeable==="MERGEABLE"&&a(we).state==="OPEN"&&Ce(A)})}var Z=k(P,2);{var me=Ce=>{var ye=Cw();let Te,Ze;var Ht=S(ye);he(()=>{Te=Qe(ye,1,"pr-action-pill svelte-bvvs2r",null,Te,{"dark-text":a(Le)}),Ne(ye,"title",a(G).label),Ze=Rn(ye,"",Ze,{"--pill-color":a(ve)}),re(Ht,a(G).label)}),Q("click",ye,()=>t.onPrAction(a(we))),I(Ce,ye)};ae(Z,Ce=>{a(G).type!=="none"&&a(G).label&&Ce(me)})}he((Ce,ye,Te)=>{Qe(We,1,Ce,"svelte-bvvs2r"),Ne(He,"href",a(we).url),re(Ue,a(we).title),re(_e,`#${a(we).number??""}`),re(Se,ye),re(Ae,Te)},[()=>zd(l(a(we))),()=>h(a(we)),()=>dg(a(we).updatedAt)]),Q("click",z,()=>t.onOpenPrSession(a(we))),I(Re,je)}),I(X,ce)};ae(J,X=>{a(n)?X(oe):a(o)?X(Y,1):a(r)&&!a(r).hasGhCli?X(W,2):a(r)&&a(r).prs.length===0?X(O,3):a(r)&&X(B,4)})}var T=k(j,2),q=k(S(T),2);{var D=X=>{var ce=Pw(),be=S(ce);Nt(be,20,()=>[1,2,3],io,(ge,xe)=>{var Pe=Ew();I(ge,Pe)}),I(X,ce)},E=X=>{var ce=Rw();I(X,ce)},$=X=>{var ce=Mw(),be=S(ce);Nt(be,21,()=>a(r).activity,ge=>ge.hash,(ge,xe)=>{var Pe=Tw(),Re=S(Pe),we=S(Re),G=k(Re,2),ve=S(G),Le=k(G,2);{var je=We=>{var He=Dw(),Ue=S(He);he(L=>re(Ue,L),[()=>d(a(xe))]),I(We,He)};ae(Le,We=>{a(xe).branches.length>0&&We(je)})}var Be=k(Le,2),pe=S(Be);he(()=>{re(we,a(xe).shortHash),re(ve,a(xe).message),re(pe,a(xe).timeAgo)}),I(ge,Pe)}),I(X,ce)};ae(q,X=>{a(n)?X(D):a(r)&&a(r).activity.length===0?X(E,1):a(r)&&X($,2)})}I(M,N)};ae(b,M=>{a(r)&&!a(r).isGitRepo?M(g):M(y,!1)})}var R=k(b,2),C=S(R),w=k(C,2);{var x=M=>{var N=Lw(),j=S(N);he(()=>{N.disabled=i(),re(j,i()?"Creating...":"+ New Worktree")}),Q("click",N,function(...J){var oe;(oe=t.onNewWorktree)==null||oe.apply(this,J)}),I(M,N)};ae(w,M=>{(!a(r)||a(r).isGitRepo)&&M(x)})}Q("click",C,function(...M){var N;(N=t.onNewSession)==null||N.apply(this,M)}),I(e,p),dt()}at(["click"]);var Iw=H('<div class="empty-icon svelte-1luen49" aria-hidden="true"> </div>'),Nw=H('<p class="empty-description svelte-1luen49"> </p>'),Fw=H('<button class="empty-action svelte-1luen49"> </button>'),Ww=H('<div class="empty-state svelte-1luen49"><!> <div class="empty-heading svelte-1luen49"> </div> <!> <!></div>');function Hw(e,t){var i=Ww(),s=S(i);{var r=u=>{var f=Iw(),v=S(f);he(()=>re(v,t.icon)),I(u,f)};ae(s,u=>{t.icon&&u(r)})}var n=k(s,2),o=S(n),l=k(n,2);{var c=u=>{var f=Nw(),v=S(f);he(()=>re(v,t.description)),I(u,f)};ae(l,u=>{t.description&&u(c)})}var h=k(l,2);{var d=u=>{var f=Fw(),v=S(f);he(()=>re(v,t.actionLabel)),Q("click",f,function(...p){var b;(b=t.onAction)==null||b.apply(this,p)}),I(u,f)};ae(h,u=>{t.actionLabel&&t.onAction&&u(d)})}he(()=>re(o,t.heading)),I(e,i)}at(["click"]);var zw=H("<button><!></button>"),Uw=H("<button><!></button>"),Kw=H('<div class="toolbar svelte-k7we1m" role="toolbar"><div class="toolbar-grid svelte-k7we1m"><!></div></div>');function qw(e,t){ut(t,!0),as(t,"useTmux",3,!1);let i=as(t,"inCopyMode",3,!1);const s=[{html:"Tab",key:" ",label:"Tab"},{html:"⇧Tab",key:"\x1B[Z",label:"Shift+Tab"},{html:"↑",key:"\x1B[A",label:"Up arrow",extraClass:"tb-arrow"},{html:"Esc",key:"\x1B",label:"Escape"},{html:"📷",id:"upload-image-btn",label:"Upload image"},{html:"^V",id:"paste-btn",label:"Paste from clipboard"},{html:"^C",key:"",label:"Ctrl+C"},{html:"←",key:"\x1B[D",label:"Left arrow",extraClass:"tb-arrow"},{html:"↓",key:"\x1B[B",label:"Down arrow",extraClass:"tb-arrow"},{html:"→",key:"\x1B[C",label:"Right arrow",extraClass:"tb-arrow"},{html:"⇧⏎",key:"\x1B[13;2u",label:"Shift+Enter (newline)",extraClass:"tb-newline"},{html:"⏎",key:"\r",label:"Enter",extraClass:"tb-enter"}],r=[{html:"Sel",key:" ",label:"Start selection"},{html:"w",key:"w",label:"Word forward"},{html:"b",key:"b",label:"Word backward"},{html:"←",key:"h",label:"Left",extraClass:"tb-arrow"},{html:"↓",key:"j",label:"Down",extraClass:"tb-arrow"},{html:"↑",key:"k",label:"Up",extraClass:"tb-arrow"},{html:"→",key:"l",label:"Right",extraClass:"tb-arrow"},{html:"$",key:"$",label:"End of line"},{html:"0",key:"0",label:"Start of line"},{html:"PgUp",key:"\x1B[5~",label:"Page up"},{html:"Copy",key:"\r",label:"Copy and exit",extraClass:"tb-enter",exitsCopyMode:!0},{html:"Exit",key:"q",label:"Cancel",exitsCopyMode:!0}];function n(u){var f;if(u.id==="upload-image-btn"){t.onUploadImage(),Lt&&t.onRefocusMobileInput();return}if(u.id==="paste-btn"){(f=navigator.clipboard)!=null&&f.readText?navigator.clipboard.readText().then(v=>{v&&t.onSendKey(v)}).catch(()=>{t.onUploadImage()}):t.onUploadImage(),Lt&&t.onRefocusMobileInput();return}u.key&&((u.key==="\r"||u.key==="\x1B[13;2u")&&t.onFlushComposedText(),t.onSendKey(u.key),(u.key==="\r"||u.key==="\x1B[13;2u")&&t.onClearInput(),Lt&&t.onRefocusMobileInput())}function o(u){var f;t.onSendKey(u.key),u.exitsCopyMode&&((f=t.onExitCopyMode)==null||f.call(t)),Lt&&t.onRefocusMobileInput()}function l(u){u.preventDefault();const f=u.target.closest("button");if(!f)return;if(i()){const p=r.find(b=>f.dataset.key===b.key);p&&o(p);return}const v=s.find(p=>p.id===f.id||p.key&&f.dataset.key===p.key);v&&n(v)}var c=xs(),h=vt(c);{var d=u=>{var f=Kw(),v=S(f),p=S(v);{var b=y=>{var R=xs(),C=vt(R);Nt(C,17,()=>r,w=>w.label,(w,x)=>{var M=zw(),N=S(M);lc(N,()=>a(x).html),he(()=>{Qe(M,1,`tb-btn ${a(x).extraClass??""??""}`,"svelte-k7we1m"),Ne(M,"data-key",a(x).key),Ne(M,"aria-label",a(x).label)}),I(w,M)}),I(y,R)},g=y=>{var R=xs(),C=vt(R);Nt(C,17,()=>s,w=>w.label,(w,x)=>{var M=Uw(),N=S(M);lc(N,()=>a(x).html),he(()=>{Qe(M,1,`tb-btn ${a(x).extraClass??""??""}`,"svelte-k7we1m"),Ne(M,"id",a(x).id),Ne(M,"data-key",a(x).key),Ne(M,"aria-label",a(x).label)}),I(w,M)}),I(y,R)};ae(p,y=>{i()?y(b):y(g,!1)})}Q("mousedown",f,l),I(u,f)};ae(h,u=>{Lt&&u(d)})}I(e,c),dt()}at(["mousedown"]);var jw=H('<div><button class="icon-btn svelte-wp0i5g" aria-label="Open sessions menu">☰</button> <span class="mobile-title svelte-wp0i5g"> </span></div>');function Vw(e,t){let i=as(t,"hidden",3,!1);var s=jw();let r;var n=S(s),o=k(n,2),l=S(o);he(()=>{r=Qe(s,1,"mobile-header svelte-wp0i5g",null,r,{hidden:i()}),re(l,t.title)}),Q("click",n,function(...c){var h;(h=t.onMenuClick)==null||h.apply(this,c)}),I(e,s)}at(["click"]);var Yw=H('<div class="update-toast-actions svelte-1trivgv"><button class="update-toast-btn svelte-1trivgv"> </button> <button class="update-toast-dismiss svelte-1trivgv" aria-label="Dismiss">×</button></div>'),Gw=H('<div class="update-toast svelte-1trivgv"><div class="update-toast-content svelte-1trivgv"><span class="update-toast-text svelte-1trivgv"> </span> <!></div></div>');function Xw(e,t){ut(t,!0);let i=F(!1),s=F(""),r=F("Update Now"),n=F(!1),o=F(!0);Dn(async()=>{try{const f=await jd();f.updateAvailable&&(m(s,`Update available: v${f.current} → v${f.latest}`),m(r,"Update Now"),m(n,!1),m(o,!0),m(i,!0))}catch{}});async function l(){m(n,!0),m(r,"Updating…");try{(await Vd()).restarting?(m(s,"Updated! Restarting server…"),m(o,!1),setTimeout(()=>{location.reload()},5e3)):(m(s,"Updated! Please restart the server manually."),m(o,!1))}catch{m(s,"Update failed. Please try again."),m(n,!1),m(r,"Retry"),m(o,!0)}}function c(){m(i,!1)}var h=xs(),d=vt(h);{var u=f=>{var v=Gw(),p=S(v),b=S(p),g=S(b),y=k(b,2);{var R=C=>{var w=Yw(),x=S(w),M=S(x),N=k(x,2);he(()=>{x.disabled=a(n),re(M,a(r))}),Q("click",x,l),Q("click",N,c),I(C,w)};ae(y,C=>{a(o)&&C(R)})}he(()=>re(g,a(s))),I(f,v)};ae(d,f=>{a(i)&&f(u)})}I(e,h),dt()}at(["click"]);var Qw=H('<button class="image-toast-insert svelte-1y8sviv">Insert</button>'),Jw=H('<div class="image-toast svelte-1y8sviv"><div class="image-toast-content svelte-1y8sviv"><span class="image-toast-text svelte-1y8sviv"> </span> <div class="image-toast-actions svelte-1y8sviv"><!> <button class="image-toast-dismiss svelte-1y8sviv" aria-label="Dismiss">×</button></div></div></div>');function $w(e,t){ut(t,!0);let i=F(!1),s=F(""),r=F(!1),n=F(null),o=null;function l(g,y,R){o&&(clearTimeout(o),o=null),m(s,g,!0),m(r,y,!0),m(n,R??null,!0),m(i,!0)}function c(){m(i,!1),m(n,null),o&&(clearTimeout(o),o=null)}function h(g){o&&clearTimeout(o),o=setTimeout(()=>{a(n)||c()},g)}function d(){a(n)&&er(a(n)),c()}function u(){c()}var f={show:l,hide:c,autoDismiss:h},v=xs(),p=vt(v);{var b=g=>{var y=Jw(),R=S(y),C=S(R),w=S(C),x=k(C,2),M=S(x);{var N=J=>{var oe=Qw();Q("click",oe,d),I(J,oe)};ae(M,J=>{a(r)&&J(N)})}var j=k(M,2);he(()=>re(w,a(s))),Q("click",j,u),I(g,y)};ae(p,g=>{a(i)&&g(b)})}return I(e,v),dt(f)}at(["click"]);var Zw=H('<span class="dialog-title-repo svelte-thtd9b"> </span>'),e0=H('<li class="branch-create-new svelte-thtd9b" role="option" aria-selected="false"> </li>'),t0=H('<li role="option" aria-selected="false" class="svelte-thtd9b"> </li>'),i0=H('<ul class="branch-dropdown svelte-thtd9b"><!> <!></ul>'),s0=H('<div class="dialog-field svelte-thtd9b"><div class="dialog-label-row svelte-thtd9b"><label class="dialog-label svelte-thtd9b" for="ns-branch">Branch name</label> <button type="button" class="branch-refresh svelte-thtd9b" aria-label="Fetch latest remote branches" title="Fetch latest remote branches"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M20 12a8 8 0 0 1-13.66 5.66M4 12a8 8 0 0 1 13.66-5.66M17 3.5v4h-4M7 20.5v-4h4" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.8"></path></svg></button></div> <div class="branch-input-wrap svelte-thtd9b"><input id="ns-branch" type="text" class="dialog-input svelte-thtd9b" placeholder="e.g. feat/my-feature" autocomplete="off"/> <!></div></div>'),r0=H('<div class="dialog-field dialog-field--inline svelte-thtd9b"><input id="ns-continue" type="checkbox" class="dialog-checkbox svelte-thtd9b"/> <label for="ns-continue" class="dialog-label-inline svelte-thtd9b">Continue existing session</label></div>'),n0=H('<dialog class="dialog svelte-thtd9b"><div class="dialog-content svelte-thtd9b"><h2 class="dialog-title svelte-thtd9b"> <!></h2> <div class="dialog-tabs svelte-thtd9b"><button>Repo Session</button> <button>Worktree</button></div> <div class="dialog-body svelte-thtd9b"><div class="dialog-field svelte-thtd9b"><label class="dialog-label svelte-thtd9b" for="ns-agent">Coding agent</label> <select id="ns-agent" class="dialog-select svelte-thtd9b"><option>Claude</option><option>Codex</option></select></div> <!> <!> <div class="dialog-field dialog-field--inline svelte-thtd9b"><input id="ns-yolo" type="checkbox" class="dialog-checkbox svelte-thtd9b"/> <label for="ns-yolo" class="dialog-label-inline svelte-thtd9b">Yolo mode (skip permission checks)</label></div> <div class="dialog-field dialog-field--inline svelte-thtd9b"><input id="ns-tmux" type="checkbox" class="dialog-checkbox svelte-thtd9b"/> <label for="ns-tmux" class="dialog-label-inline svelte-thtd9b">Launch in tmux</label></div> <div class="dialog-field svelte-thtd9b"><label class="dialog-label svelte-thtd9b" for="ns-args">Extra args (optional)</label> <input id="ns-args" type="text" class="dialog-input svelte-thtd9b" placeholder="e.g. --verbose" autocomplete="off"/></div></div> <div class="dialog-footer svelte-thtd9b"><button class="btn btn-ghost svelte-thtd9b">Cancel</button> <button class="btn btn-primary svelte-thtd9b"> </button></div></div></dialog>');function o0(e,t){ut(t,!0);let i=as(t,"preselectedRepo",3,null);const s=Ah();let r,n=F("repos"),o=F(""),l=F(""),c=F(""),h=F(""),d=F("claude"),u=F(!1),f=F(!1),v=F(!1),p=F(Je([])),b=F(!1),g=F(!1),y=F(!1),R=F(!1),C=0,w=fe(()=>{if(!a(c).trim())return[];const P=a(c).toLowerCase();return a(p).filter(A=>A.toLowerCase().includes(P)).slice(0,10)}),x=fe(()=>a(p).some(P=>P===a(c)));async function M(P,A={}){const Z=++C;if(P){A.preserveExisting||m(p,[],!0),A.refresh?m(y,!0):m(g,!0);try{const me=await Bh(P,A.refresh?{refresh:!0}:{});if(Z!==C||P!==a(o))return;m(p,me,!0),a(c).trim()&&m(b,!0)}catch{if(Z!==C||P!==a(o))return;A.preserveExisting||m(p,[],!0)}finally{Z===C&&(m(g,!1),m(y,!1))}}}async function N(){!a(o)||a(y)||await M(a(o),{refresh:!0,preserveExisting:!0})}function j(){C+=1,m(c,""),m(p,[],!0),m(b,!1),m(g,!1),m(y,!1)}function J(){m(b,a(c).trim().length>0)}function oe(P){m(c,P,!0),m(b,!1)}function Y(){m(o,""),m(l,""),m(h,""),m(u,!1),m(f,!1),m(v,!1),j()}async function W(P,A){Y(),m(n,"repos"),await _f(),m(d,s.defaultAgent,!0),A!=null&&A.agent&&m(d,A.agent,!0),m(u,s.defaultYolo,!0),m(f,s.defaultContinue,!0),m(v,s.launchInTmux,!0),(A==null?void 0:A.yolo)!==void 0&&m(u,A.yolo,!0),(A==null?void 0:A.useTmux)!==void 0&&m(v,A.useTmux,!0);const Z=P??i();Z&&(m(o,Z.path,!0),m(l,Z.name,!0),A!=null&&A.branchName&&(m(n,"worktrees"),await M(Z.path))),A!=null&&A.branchName&&m(c,A.branchName,!0),A!=null&&A.claudeArgs&&m(h,A.claudeArgs,!0),r.showModal()}function O(){r.close()}async function B(){var Ce,ye;const P=a(o);if(!P||a(R))return;m(R,!0);const A=a(h).trim().split(/\s+/).filter(Boolean),Z=Math.max(80,Math.floor((window.innerWidth-60)/8)),me=Math.max(24,Math.floor((window.innerHeight-120)/17));try{let Te;a(n)==="repos"?Te=await Pp({repoPath:P,repoName:a(l)||P.split("/").filter(Boolean).pop(),continue:a(f),yolo:a(u),claudeArgs:A.length>0?A:void 0,agent:a(d),useTmux:a(v),cols:Z,rows:me,allowMultiple:!0}):Te=await Gs({repoPath:P,repoName:a(l)||P.split("/").filter(Boolean).pop(),branchName:a(c).trim()||void 0,yolo:a(u),claudeArgs:A.length>0?A:void 0,agent:a(d),useTmux:a(v),cols:Z,rows:me}),r.close(),await kt(),Te!=null&&Te.id&&((Ce=t.onSessionCreated)==null||Ce.call(t,Te.id))}catch(Te){if(Te instanceof Error&&"sessionId"in Te){const Ze=Te;r.close(),await kt(),Ze.sessionId&&((ye=t.onSessionCreated)==null||ye.call(t,Ze.sessionId))}}finally{m(R,!1)}}function T(P){P.target===r&&r.close()}function q(P){a(b)&&P.key==="Escape"&&(m(b,!1),P.stopPropagation())}var D={open:W,close:O},E=n0(),$=S(E),X=S($),ce=S(X),be=k(ce);{var ge=P=>{var A=Zw(),Z=S(A);he(()=>re(Z,`— ${a(l)??""}`)),I(P,A)};ae(be,P=>{a(l)&&P(ge)})}var xe=k(X,2),Pe=S(xe);let Re;var we=k(Pe,2);let G;var ve=k(xe,2),Le=S(ve),je=k(S(Le),2),Be=S(je);Be.value=Be.__value="claude";var pe=k(Be);pe.value=pe.__value="codex";var We=k(Le,2);{var He=P=>{var A=s0(),Z=S(A),me=k(S(Z),2),Ce=S(me);let ye;var Te=k(Z,2),Ze=S(Te),Ht=k(Ze,2);{var Vi=Mt=>{var ri=i0(),_i=S(ri);{var Gt=ni=>{var Xt=e0(),us=S(Xt);he(Ti=>re(us,`Create new: ${Ti??""}`),[()=>a(c).trim()]),Q("mousedown",Xt,()=>oe(a(c).trim())),I(ni,Xt)},Ts=fe(()=>!a(x)&&a(c).trim());ae(_i,ni=>{a(Ts)&&ni(Gt)})}var cs=k(_i,2);Nt(cs,16,()=>a(w),ni=>ni,(ni,Xt)=>{var us=t0(),Ti=S(us);he(()=>re(Ti,Xt)),Q("mousedown",us,()=>oe(Xt)),I(ni,us)}),I(Mt,ri)},Me=fe(()=>a(b)&&(a(w).length>0||a(c).trim()&&!a(x)));ae(Ht,Mt=>{a(Me)&&Mt(Vi)})}he(()=>{me.disabled=!a(o)||a(g)||a(y),ye=Qe(Ce,0,"svelte-thtd9b",null,ye,{spinning:a(g)||a(y)})}),Q("click",me,N),Q("input",Ze,J),Ss("focus",Ze,()=>{a(c).trim()&&m(b,!0)}),xi(Ze,()=>a(c),Mt=>m(c,Mt)),I(P,A)};ae(We,P=>{a(n)==="worktrees"&&P(He)})}var Ue=k(We,2);{var L=P=>{var A=r0(),Z=S(A);zi(Z,()=>a(f),me=>m(f,me)),I(P,A)};ae(Ue,P=>{a(n)==="repos"&&P(L)})}var te=k(Ue,2),_e=S(te),ue=k(te,2),Se=S(ue),ne=k(ue,2),Ae=k(S(ne),2),Ke=k(ve,2),z=S(Ke),U=k(z,2),se=S(U);return et(E,P=>r=P,()=>r),he(()=>{re(ce,`${a(n)==="repos"?"New Session":"New Worktree"} `),Re=Qe(Pe,1,"dialog-tab svelte-thtd9b",null,Re,{active:a(n)==="repos"}),G=Qe(we,1,"dialog-tab svelte-thtd9b",null,G,{active:a(n)==="worktrees"}),z.disabled=a(R),U.disabled=!a(o)||a(R),re(se,a(R)?"Creating...":a(n)==="repos"?"Start Session":"Create Worktree")}),Q("click",E,T),Q("keydown",E,q),Q("click",Pe,()=>{m(n,"repos")}),Q("click",we,()=>{m(n,"worktrees"),a(o)&&a(p).length===0&&M(a(o))}),Zo(je,()=>a(d),P=>m(d,P)),zi(_e,()=>a(u),P=>m(u,P)),zi(Se,()=>a(v),P=>m(v,P)),xi(Ae,()=>a(h),P=>m(h,P)),Q("click",z,()=>r.close()),Q("click",U,B),I(e,E),dt(D)}at(["click","keydown","input","mousedown"]);var a0=H('<p class="error-msg svelte-fdtoa4"> </p>'),l0=H('<span class="version-status svelte-fdtoa4">Up to date</span>'),h0=H('<div class="version-update-row svelte-fdtoa4"><span class="version-update-text svelte-fdtoa4"> </span> <button class="btn btn-primary btn-sm svelte-fdtoa4"> </button></div>'),c0=H('<button class="btn btn-ghost btn-sm svelte-fdtoa4"> </button>'),u0=H('<p class="version-status-msg svelte-fdtoa4"> </p>'),d0=H('<dialog class="dialog svelte-fdtoa4"><div class="dialog-content svelte-fdtoa4"><div class="dialog-header svelte-fdtoa4"><h2 class="dialog-title svelte-fdtoa4">Settings</h2> <button class="close-btn svelte-fdtoa4" aria-label="Close settings">✕</button></div> <div class="dialog-body svelte-fdtoa4"><!> <section class="settings-section svelte-fdtoa4"><h3 class="section-title svelte-fdtoa4">Default Coding Agent</h3> <p class="section-desc svelte-fdtoa4">CLI used when creating new sessions.</p> <select class="agent-select svelte-fdtoa4"><option>Claude</option><option>Codex</option></select></section> <section class="settings-section svelte-fdtoa4"><h3 class="section-title svelte-fdtoa4">Session Defaults</h3> <p class="section-desc svelte-fdtoa4">Default options for new sessions. Override per-session via Customize.</p> <div class="devtools-row svelte-fdtoa4"><input id="default-continue" type="checkbox" class="dialog-checkbox svelte-fdtoa4"/> <label for="default-continue" class="devtools-label svelte-fdtoa4">Continue existing session</label></div> <div class="devtools-row svelte-fdtoa4"><input id="default-yolo" type="checkbox" class="dialog-checkbox svelte-fdtoa4"/> <label for="default-yolo" class="devtools-label svelte-fdtoa4">YOLO mode (skip permission checks)</label></div> <div class="devtools-row svelte-fdtoa4"><input id="default-tmux" type="checkbox" class="dialog-checkbox svelte-fdtoa4"/> <label for="default-tmux" class="devtools-label svelte-fdtoa4">Launch in tmux</label></div> <div class="devtools-row svelte-fdtoa4"><input id="default-notifications" type="checkbox" class="dialog-checkbox svelte-fdtoa4"/> <label for="default-notifications" class="devtools-label svelte-fdtoa4">Enable notifications for new sessions</label></div></section> <section class="settings-section svelte-fdtoa4"><h3 class="section-title svelte-fdtoa4">Developer Tools</h3> <div class="devtools-row svelte-fdtoa4"><input id="devtools-toggle" type="checkbox" class="dialog-checkbox svelte-fdtoa4"/> <label for="devtools-toggle" class="devtools-label svelte-fdtoa4">Enable mobile debug panel</label></div></section> <section class="settings-section svelte-fdtoa4"><h3 class="section-title svelte-fdtoa4">Version</h3> <div class="version-row svelte-fdtoa4"><span class="version-current svelte-fdtoa4"><!></span> <!></div> <!> <!></section></div> <div class="dialog-footer svelte-fdtoa4"><button class="btn btn-ghost svelte-fdtoa4">Close</button></div></div></dialog>');function f0(e,t){ut(t,!0);let i,s=F(!1);const r=Ah();let n=F(""),o=F(""),l=F(null),c=F(!1),h=F(!1),d=F(!1),u=F(!1),f=F("");async function v(){m(n,""),m(f,""),m(h,!1),m(u,!1),m(s,localStorage.getItem("devtools-enabled")==="true"),await _f(),i.showModal(),w()}function p(){i.close()}async function b(){const P=r.defaultAgent;m(n,"");try{await Mp(r.defaultAgent)}catch{r.defaultAgent=P,m(n,"Failed to update default agent.")}}async function g(){const P=r.defaultContinue;m(n,"");try{await Lp(r.defaultContinue)}catch{r.defaultContinue=P,m(n,"Failed to update continue default.")}}async function y(){const P=r.defaultYolo;m(n,"");try{await Op(r.defaultYolo)}catch{r.defaultYolo=P,m(n,"Failed to update yolo default.")}}async function R(){const P=r.launchInTmux;m(n,"");try{await Np(r.launchInTmux)}catch(A){r.launchInTmux=P,m(n,A instanceof Error?A.message:"Failed to update tmux setting.",!0)}}async function C(){const P=r.defaultNotifications;m(n,"");try{await Wp(r.defaultNotifications)}catch{r.defaultNotifications=P,m(n,"Failed to update notifications default.")}}async function w(){m(d,!0),m(f,"");try{const P=await jd();m(o,P.current,!0),m(l,P.latest,!0),m(c,P.updateAvailable,!0),m(h,!0)}catch{m(f,"Failed to check for updates.")}finally{m(d,!1)}}async function x(){m(u,!0),m(f,"");try{(await Vd()).restarting?(m(f,"Updated! Restarting server…"),setTimeout(()=>{location.reload()},5e3)):m(f,"Updated! Please restart the server manually."),m(c,!1)}catch{m(f,"Update failed. Please try again."),m(u,!1)}}function M(){localStorage.setItem("devtools-enabled",a(s)?"true":"false"),window.dispatchEvent(new Event("devtools-changed"))}async function N(){i.close(),await kt()}function j(P){P.target===i&&N()}var J={open:v,close:p},oe=d0(),Y=S(oe),W=S(Y),O=k(S(W),2),B=k(W,2),T=S(B);{var q=P=>{var A=a0(),Z=S(A);he(()=>re(Z,a(n))),I(P,A)};ae(T,P=>{a(n)&&P(q)})}var D=k(T,2),E=k(S(D),4),$=S(E);$.value=$.__value="claude";var X=k($);X.value=X.__value="codex";var ce=k(D,2),be=k(S(ce),4),ge=S(be),xe=k(be,2),Pe=S(xe),Re=k(xe,2),we=S(Re),G=k(Re,2),ve=S(G),Le=k(ce,2),je=k(S(Le),2),Be=S(je),pe=k(Le,2),We=k(S(pe),2),He=S(We),Ue=S(He);{var L=P=>{var A=Ar();he(()=>re(A,`v${a(o)??""}`)),I(P,A)},te=P=>{var A=Ar("...");I(P,A)};ae(Ue,P=>{a(o)?P(L):P(te,!1)})}var _e=k(He,2);{var ue=P=>{var A=l0();I(P,A)};ae(_e,P=>{a(h)&&!a(c)&&!a(u)&&P(ue)})}var Se=k(We,2);{var ne=P=>{var A=h0(),Z=S(A),me=S(Z),Ce=k(Z,2),ye=S(Ce);he(()=>{re(me,`v${a(o)??""} → v${a(l)??""}`),Ce.disabled=a(u),re(ye,a(u)?"Updating…":"Update Now")}),Q("click",Ce,x),I(P,A)},Ae=P=>{var A=c0(),Z=S(A);he(()=>{A.disabled=a(d),re(Z,a(d)?"Checking…":"Check for updates")}),Q("click",A,w),I(P,A)};ae(Se,P=>{a(c)?P(ne):a(h)||P(Ae,1)})}var Ke=k(Se,2);{var z=P=>{var A=u0(),Z=S(A);he(()=>re(Z,a(f))),I(P,A)};ae(Ke,P=>{a(f)&&P(z)})}var U=k(B,2),se=S(U);return et(oe,P=>i=P,()=>i),Q("click",oe,j),Q("click",O,N),Q("change",E,b),Zo(E,()=>r.defaultAgent,P=>r.defaultAgent=P),Q("change",ge,g),zi(ge,()=>r.defaultContinue,P=>r.defaultContinue=P),Q("change",Pe,y),zi(Pe,()=>r.defaultYolo,P=>r.defaultYolo=P),Q("change",we,R),zi(we,()=>r.launchInTmux,P=>r.launchInTmux=P),Q("change",ve,C),zi(ve,()=>r.defaultNotifications,P=>r.defaultNotifications=P),Q("change",Be,M),zi(Be,()=>a(s),P=>m(s,P)),Q("click",se,N),I(e,oe),dt(J)}at(["click","change"]);var _0=H('<p class="confirm-msg svelte-15sco2n">Are you sure you want to delete the worktree <strong class="wt-name svelte-15sco2n"> </strong>?</p> <p class="wt-path svelte-15sco2n"> </p> <p class="warning-msg svelte-15sco2n">This action cannot be undone.</p>',1),v0=H('<p class="error-msg svelte-15sco2n"> </p>'),p0=H('<dialog class="dialog svelte-15sco2n"><div class="dialog-content svelte-15sco2n"><h2 class="dialog-title svelte-15sco2n">Delete Worktree</h2> <div class="dialog-body svelte-15sco2n"><!> <!></div> <div class="dialog-footer svelte-15sco2n"><button class="btn btn-ghost svelte-15sco2n">Cancel</button> <button class="btn btn-danger svelte-15sco2n"> </button></div></div></dialog>');function g0(e,t){ut(t,!0);let i,s=F(null),r=F(""),n=F(!1);function o(N){m(s,N,!0),m(r,""),m(n,!1),i.showModal()}function l(){i.close()}async function c(){if(!(!a(s)||a(n))){m(n,!0),m(r,""),Yr(a(s).path);try{await qd(a(s).path,a(s).repoPath),i.close(),await kt()}catch(N){m(r,N instanceof Error?N.message:"Failed to delete worktree.",!0),m(n,!1)}finally{a(s)&&Gr(a(s).path)}}}function h(){i.close()}function d(N){N.target===i&&i.close()}var u={open:o,close:l},f=p0(),v=S(f),p=k(S(v),2),b=S(p);{var g=N=>{var j=_0(),J=vt(j),oe=k(S(J)),Y=S(oe),W=k(J,2),O=S(W);he(()=>{re(Y,a(s).displayName||a(s).name),re(O,a(s).path)}),I(N,j)};ae(b,N=>{a(s)&&N(g)})}var y=k(b,2);{var R=N=>{var j=v0(),J=S(j);he(()=>re(J,a(r))),I(N,j)};ae(y,N=>{a(r)&&N(R)})}var C=k(p,2),w=S(C),x=k(w,2),M=S(x);return et(f,N=>i=N,()=>i),he(()=>{w.disabled=a(n),x.disabled=a(n),re(M,a(n)?"Deleting...":"Delete")}),Q("click",f,d),Q("click",w,h),Q("click",x,c),I(e,f),dt(u)}at(["click"]);var m0=H('<div class="loading-placeholder svelte-15gfcbp">Loading...</div>'),b0=H('<div class="empty-placeholder svelte-15gfcbp"><!></div>'),S0=H('<span class="spinner svelte-15gfcbp">...</span>'),y0=H("<span>▶</span>"),w0=H('<button class="expand-btn svelte-15gfcbp"><!></button>'),C0=H('<span class="expand-spacer svelte-15gfcbp"></span>'),k0=H('<span class="git-badge svelte-15gfcbp" aria-label="Git repository">git</span>'),x0=H('<div role="treeitem"><!> <input type="checkbox" class="node-checkbox svelte-15gfcbp"/> <span class="node-name svelte-15gfcbp"> </span> <!></div>'),E0=H('<div class="truncated-notice svelte-15gfcbp"> </div>'),P0=H("<!> <!>",1),R0=H('<div class="file-browser svelte-15gfcbp"><div class="filter-row svelte-15gfcbp"><input type="text" class="filter-input svelte-15gfcbp" placeholder="Filter..." aria-label="Filter directories" autocomplete="off" spellcheck="false"/></div> <div class="tree-container svelte-15gfcbp" role="tree" aria-label="File browser" tabindex="0"><!></div></div>');function D0(e,t){ut(t,!0);let i=as(t,"selectedPaths",31,()=>Je([])),s=F(Je([])),r=F(""),n=F(-1),o=F(!0),l=F(null),c=F(void 0);Dn(()=>{h()});async function h(){m(o,!0),m(l,null);try{const D=await fc();m(s,D.entries.map(E=>d(E,0)),!0),D.truncated&&m(l,{shown:D.entries.length,total:D.total},!0)}catch{m(s,[],!0)}finally{m(o,!1)}}function d(D,E){return{name:D.name,path:D.path,isGitRepo:D.isGitRepo,hasChildren:D.hasChildren,children:null,expanded:!1,selected:!1,loading:!1,depth:E,truncatedInfo:null}}async function u(D){if(D.expanded){D.expanded=!1;return}if(D.children===null){D.loading=!0;try{const E=await fc(D.path);D.children=E.entries.map($=>d($,D.depth+1)),D.truncatedInfo=E.truncated?{shown:E.entries.length,total:E.total}:null}catch{D.children=[]}finally{D.loading=!1}}D.expanded=!0}function f(D){D.selected=!D.selected,v()}function v(){i(p(a(s)))}function p(D){const E=[];for(const $ of D)$.selected&&E.push($.path),$.children&&E.push(...p($.children));return E}function b(D,E){return D.toLowerCase().includes(E.toLowerCase())}function g(D,E){var $;return!!(!E||D.expanded||b(D.name,E)||($=D.children)!=null&&$.some(X=>g(X,E)))}function y(D,E){const $=[];for(const X of D)g(X,E)&&($.push(X),X.expanded&&X.children&&$.push(...y(X.children,E)));return $}let R=fe(()=>y(a(s),a(r)));function C(D){var $;if(D.key==="ArrowDown"){D.preventDefault(),m(n,Math.min(a(n)+1,a(R).length-1),!0);return}if(D.key==="ArrowUp"){D.preventDefault(),m(n,Math.max(a(n)-1,0),!0);return}const E=a(n)>=0?a(R)[a(n)]:void 0;if(E){if(D.key==="ArrowRight"){if(D.preventDefault(),E.hasChildren&&!E.expanded)u(E);else if(E.expanded&&(($=E.children)!=null&&$.length)){const X=a(R).indexOf(E.children[0]);X>=0&&m(n,X,!0)}return}if(D.key==="ArrowLeft"){if(D.preventDefault(),E.expanded)E.expanded=!1;else{const X=E.depth-1;for(let ce=a(n)-1;ce>=0;ce--)if(a(R)[ce].depth===X){m(n,ce,!0);break}}return}if(D.key===" "){D.preventDefault(),f(E);return}}}function w(D,E){const $=E.target;$.closest(".expand-btn")||$.closest(".node-checkbox")||(D.hasChildren&&!D.expanded?u(D):f(D))}function x(){m(r,""),m(n,-1),M(a(s)),i([]),N(a(s))}function M(D){for(const E of D)E.selected=!1,E.children&&M(E.children)}function N(D){for(const E of D)E.expanded=!1,E.children&&N(E.children)}var j={reset:x},J=R0(),oe=S(J),Y=S(oe),W=k(oe,2),O=S(W);{var B=D=>{var E=m0();I(D,E)},T=D=>{var E=b0(),$=S(E);{var X=be=>{var ge=Ar();he(()=>re(ge,`No matches for "${a(r)??""}"`)),I(be,ge)},ce=be=>{var ge=Ar("No directories found");I(be,ge)};ae($,be=>{a(r)?be(X):be(ce,!1)})}I(D,E)},q=D=>{var E=P0(),$=vt(E);Nt($,19,()=>a(R),be=>be.path,(be,ge,xe)=>{var Pe=x0();let Re;var we=S(Pe);{var G=He=>{var Ue=w0(),L=S(Ue);{var te=ue=>{var Se=S0();I(ue,Se)},_e=ue=>{var Se=y0();let ne;he(()=>ne=Qe(Se,1,"arrow svelte-15gfcbp",null,ne,{expanded:a(ge).expanded})),I(ue,Se)};ae(L,ue=>{a(ge).loading?ue(te):ue(_e,!1)})}he(()=>Ne(Ue,"aria-label",a(ge).expanded?"Collapse":"Expand")),Q("click",Ue,()=>u(a(ge))),I(He,Ue)},ve=He=>{var Ue=C0();I(He,Ue)};ae(we,He=>{a(ge).hasChildren?He(G):He(ve,!1)})}var Le=k(we,2),je=k(Le,2),Be=S(je),pe=k(je,2);{var We=He=>{var Ue=k0();I(He,Ue)};ae(pe,He=>{a(ge).isGitRepo&&He(We)})}he(()=>{Re=Qe(Pe,1,"tree-row svelte-15gfcbp",null,Re,{focused:a(xe)===a(n),selected:a(ge).selected}),Rn(Pe,`padding-left: ${12+a(ge).depth*20}px`),Ne(Pe,"aria-expanded",a(ge).hasChildren?a(ge).expanded:void 0),Ne(Pe,"aria-selected",a(ge).selected),Ne(Pe,"aria-level",a(ge).depth+1),up(Le,a(ge).selected),Ne(Le,"aria-label",`Select ${a(ge).name??""}`),re(Be,a(ge).name)}),Q("click",Pe,He=>w(a(ge),He)),Q("change",Le,()=>f(a(ge))),Q("click",Le,He=>He.stopPropagation()),I(be,Pe)});var X=k($,2);{var ce=be=>{var ge=E0(),xe=S(ge);he(()=>re(xe,`Showing ${a(l).shown??""} of ${a(l).total??""} directories. Use the filter to narrow results.`)),I(be,ge)};ae(X,be=>{a(l)&&be(ce)})}I(D,E)};ae(O,D=>{a(o)?D(B):a(R).length===0?D(T,1):D(q,!1)})}return et(W,D=>m(c,D),()=>a(c)),xi(Y,()=>a(r),D=>m(r,D)),Q("keydown",W,C),I(e,J),dt(j)}at(["keydown","click","change"]);var T0=H('<p class="error-msg svelte-4yj2yx"> </p>'),M0=H('<dialog class="dialog svelte-4yj2yx"><div class="dialog-content svelte-4yj2yx"><div class="dialog-header svelte-4yj2yx"><h2 class="dialog-title svelte-4yj2yx">Add Workspace</h2> <button class="close-btn svelte-4yj2yx" aria-label="Close">✕</button></div> <div class="dialog-body svelte-4yj2yx"><p class="dialog-desc svelte-4yj2yx">Browse for folders on your machine. Git repos get PR tracking and branch management.</p> <!> <!></div> <div class="dialog-footer svelte-4yj2yx"><span class="selected-count svelte-4yj2yx"><!></span> <div class="footer-actions svelte-4yj2yx"><button class="btn btn-ghost svelte-4yj2yx">Cancel</button> <button class="btn btn-primary svelte-4yj2yx"><!></button></div></div></div></dialog>');function B0(e,t){ut(t,!0);let i,s=F(void 0),r=F(Je([])),n=F(""),o=F(!1);function l(){var B;m(r,[],!0),m(n,""),m(o,!1),(B=a(s))==null||B.reset(),i.showModal()}function c(){i.close()}async function h(){if(a(r).length!==0){m(o,!0),m(n,"");try{const B=await yp(a(r));if(B.errors.length>0&&B.added.length===0){m(n,B.errors.map(T=>`${T.path}: ${T.error}`).join("; "),!0),m(o,!1);return}B.added.length>0&&t.onWorkspacesAdded(B.added.map(T=>T.path)),B.errors.length>0&&console.warn("Some workspaces failed to add:",B.errors),c()}catch{m(n,"Failed to add workspaces.")}finally{m(o,!1)}}}function d(B){B.target===i&&c()}var u={open:l,close:c},f=M0(),v=S(f),p=S(v),b=k(S(p),2),g=k(p,2),y=k(S(g),2);et(D0(y,{get selectedPaths(){return a(r)},set selectedPaths(B){m(r,B,!0)}}),B=>m(s,B,!0),()=>a(s));var R=k(y,2);{var C=B=>{var T=T0(),q=S(T);he(()=>re(q,a(n))),I(B,T)};ae(R,B=>{a(n)&&B(C)})}var w=k(g,2),x=S(w),M=S(x);{var N=B=>{var T=Ar();he(()=>re(T,`${a(r).length??""} selected`)),I(B,T)};ae(M,B=>{a(r).length>0&&B(N)})}var j=k(x,2),J=S(j),oe=k(J,2),Y=S(oe);{var W=B=>{var T=Ar("Adding...");I(B,T)},O=B=>{var T=Ar();he(()=>re(T,`Add Workspace${a(r).length>1?"s":""}`)),I(B,T)};ae(Y,B=>{a(o)?B(W):B(O,!1)})}return et(f,B=>i=B,()=>i),he(()=>oe.disabled=a(r).length===0||a(o)),Q("click",f,d),Q("click",b,c),Q("click",J,c),Q("click",oe,h),I(e,f),dt(u)}at(["click"]);var L0=H('<p class="error-msg svelte-1n78dcx"> </p>'),A0=H("<option> </option>"),O0=H("<option> </option>"),I0=H('<textarea class="prompt-textarea svelte-1n78dcx" placeholder="e.g. focus on security, error handling"></textarea>'),N0=H('<textarea class="prompt-textarea svelte-1n78dcx" placeholder="e.g. include test plan section"></textarea>'),F0=H('<textarea class="prompt-textarea svelte-1n78dcx" placeholder="e.g. prefix with dy/, use conventional commits style"></textarea>'),W0=H('<textarea class="prompt-textarea svelte-1n78dcx" placeholder="e.g. use TypeScript, follow CLAUDE.md"></textarea>'),H0=H('<span class="save-success svelte-1n78dcx">Saved</span>'),z0=H('<dialog class="dialog svelte-1n78dcx"><div class="dialog-content svelte-1n78dcx"><div class="dialog-header svelte-1n78dcx"><h2 class="dialog-title svelte-1n78dcx"><span class="gear-icon svelte-1n78dcx">⚙</span> </h2> <button class="close-btn svelte-1n78dcx" aria-label="Close settings">✕</button></div> <div class="dialog-body svelte-1n78dcx"><!> <section class="settings-section svelte-1n78dcx"><h3 class="section-label svelte-1n78dcx">GIT SETTINGS</h3> <div class="field-group svelte-1n78dcx"><label class="field-label svelte-1n78dcx" for="ws-default-branch">Branch new worktrees from</label> <select id="ws-default-branch" class="field-select svelte-1n78dcx"><option>-- auto --</option><!><!></select></div> <div class="field-group svelte-1n78dcx"><label class="field-label svelte-1n78dcx" for="ws-remote">Remote origin</label> <input id="ws-remote" type="text" class="field-input svelte-1n78dcx" placeholder="origin"/></div> <div class="field-group svelte-1n78dcx"><label class="field-label svelte-1n78dcx" for="ws-branch-prefix">Branch prefix</label> <input id="ws-branch-prefix" type="text" class="field-input svelte-1n78dcx" placeholder="e.g. dy/"/></div></section> <div class="divider svelte-1n78dcx"></div> <section class="settings-section svelte-1n78dcx"><h3 class="section-label svelte-1n78dcx">SESSION DEFAULTS</h3> <div class="inline-row svelte-1n78dcx"><label class="field-label svelte-1n78dcx" for="ws-agent">Default agent</label> <select id="ws-agent" class="field-select field-select-inline svelte-1n78dcx"><option>Claude</option><option>Codex</option></select></div> <div class="checkbox-row svelte-1n78dcx"><label class="checkbox-label svelte-1n78dcx"><input type="checkbox" class="dialog-checkbox svelte-1n78dcx"/> <span>Continue</span></label> <label class="checkbox-label svelte-1n78dcx"><input type="checkbox" class="dialog-checkbox svelte-1n78dcx"/> <span>YOLO</span></label> <label class="checkbox-label svelte-1n78dcx"><input type="checkbox" class="dialog-checkbox svelte-1n78dcx"/> <span>Tmux</span></label></div></section> <div class="divider svelte-1n78dcx"></div> <section class="settings-section svelte-1n78dcx"><h3 class="section-label svelte-1n78dcx">PROMPTS</h3> <div class="prompt-group svelte-1n78dcx"><button class="prompt-toggle svelte-1n78dcx"><span class="prompt-arrow svelte-1n78dcx"> </span> Code review preferences</button> <!></div> <div class="prompt-group svelte-1n78dcx"><button class="prompt-toggle svelte-1n78dcx"><span class="prompt-arrow svelte-1n78dcx"> </span> Create PR preferences</button> <!></div> <div class="prompt-group svelte-1n78dcx"><button class="prompt-toggle svelte-1n78dcx"><span class="prompt-arrow svelte-1n78dcx"> </span> Branch rename preferences</button> <!></div> <div class="prompt-group svelte-1n78dcx"><button class="prompt-toggle svelte-1n78dcx"><span class="prompt-arrow svelte-1n78dcx"> </span> General preferences</button> <!></div></section></div> <div class="dialog-footer svelte-1n78dcx"><button class="btn btn-danger svelte-1n78dcx">Remove Workspace</button> <div class="footer-right svelte-1n78dcx"><!> <button class="btn btn-primary svelte-1n78dcx"> </button></div></div></div></dialog>');function U0(e,t){ut(t,!0);let i,s=F(""),r=F(""),n=F(!1),o=F(""),l=F(!1),c=F(Je([])),h=F(""),d=F(""),u=F(""),f=F("claude"),v=F(!1),p=F(!1),b=F(!1),g=F(""),y=F(""),R=F(""),C=F(""),w=F(!1),x=F(!1),M=F(!1),N=F(!1);async function j(le,Ve){m(s,le,!0),m(r,Ve,!0),m(o,""),m(l,!1),m(n,!1),m(h,""),m(d,""),m(u,""),m(f,"claude"),m(v,!1),m(p,!1),m(b,!1),m(g,""),m(y,""),m(R,""),m(C,""),i.showModal();try{const[yt,qr]=await Promise.all([vl(le),Bh(le).catch(()=>[])]);m(c,qr,!0),oe(yt)}catch{m(o,"Failed to load workspace settings.")}}function J(){i.close()}function oe(le){m(h,le.defaultBranch??"",!0),m(d,le.remote??"",!0),m(u,le.branchPrefix??"",!0),m(f,le.defaultAgent??"claude",!0),m(v,le.defaultContinue??!1,!0),m(p,le.defaultYolo??!1,!0),m(b,le.launchInTmux??!1,!0),m(g,le.promptCodeReview??"",!0),m(y,le.promptCreatePr??"",!0),m(R,le.promptBranchRename??"",!0),m(C,le.promptGeneral??"",!0)}async function Y(){m(n,!0),m(o,""),m(l,!1);try{const le={defaultAgent:a(f),defaultContinue:a(v),defaultYolo:a(p),launchInTmux:a(b)};a(h)&&(le.defaultBranch=a(h)),a(d)&&(le.remote=a(d)),a(u)&&(le.branchPrefix=a(u)),a(g)&&(le.promptCodeReview=a(g)),a(y)&&(le.promptCreatePr=a(y)),a(R)&&(le.promptBranchRename=a(R)),a(C)&&(le.promptGeneral=a(C)),await zp(a(s),le),m(l,!0),setTimeout(()=>{m(l,!1)},2e3)}catch(le){m(o,le instanceof Error?le.message:"Failed to save settings.",!0)}finally{m(n,!1)}}function W(){i.close(),t.onRemoveWorkspace(a(s))}function O(le){le.target===i&&i.close()}var B={open:j,close:J},T=z0(),q=S(T),D=S(q),E=S(D),$=k(S(E)),X=k(E,2),ce=k(D,2),be=S(ce);{var ge=le=>{var Ve=L0(),yt=S(Ve);he(()=>re(yt,a(o))),I(le,Ve)};ae(be,le=>{a(o)&&le(ge)})}var xe=k(be,2),Pe=k(S(xe),2),Re=k(S(Pe),2),we=S(Re);we.value=we.__value="";var G=k(we);Nt(G,17,()=>a(c),io,(le,Ve)=>{var yt=A0(),qr=S(yt),Jh={};he(()=>{re(qr,a(Ve)),Jh!==(Jh=a(Ve))&&(yt.value=(yt.__value=a(Ve))??"")}),I(le,yt)});var ve=k(G);{var Le=le=>{var Ve=O0(),yt=S(Ve),qr={};he(()=>{re(yt,a(h)),qr!==(qr=a(h))&&(Ve.value=(Ve.__value=a(h))??"")}),I(le,Ve)},je=fe(()=>a(h)&&!a(c).includes(a(h)));ae(ve,le=>{a(je)&&le(Le)})}var Be=k(Pe,2),pe=k(S(Be),2),We=k(Be,2),He=k(S(We),2),Ue=k(xe,4),L=k(S(Ue),2),te=k(S(L),2),_e=S(te);_e.value=_e.__value="claude";var ue=k(_e);ue.value=ue.__value="codex";var Se=k(L,2),ne=S(Se),Ae=S(ne),Ke=k(ne,2),z=S(Ke),U=k(Ke,2),se=S(U),P=k(Ue,4),A=k(S(P),2),Z=S(A),me=S(Z),Ce=S(me),ye=k(Z,2);{var Te=le=>{var Ve=I0();Ne(Ve,"rows",3),xi(Ve,()=>a(g),yt=>m(g,yt)),I(le,Ve)};ae(ye,le=>{a(w)&&le(Te)})}var Ze=k(A,2),Ht=S(Ze),Vi=S(Ht),Me=S(Vi),Mt=k(Ht,2);{var ri=le=>{var Ve=N0();Ne(Ve,"rows",3),xi(Ve,()=>a(y),yt=>m(y,yt)),I(le,Ve)};ae(Mt,le=>{a(x)&&le(ri)})}var _i=k(Ze,2),Gt=S(_i),Ts=S(Gt),cs=S(Ts),ni=k(Gt,2);{var Xt=le=>{var Ve=F0();Ne(Ve,"rows",3),xi(Ve,()=>a(R),yt=>m(R,yt)),I(le,Ve)};ae(ni,le=>{a(M)&&le(Xt)})}var us=k(_i,2),Ti=S(us),Pa=S(Ti),Ra=S(Pa),Ye=k(Ti,2);{var it=le=>{var Ve=W0();Ne(Ve,"rows",3),xi(Ve,()=>a(C),yt=>m(C,yt)),I(le,Ve)};ae(Ye,le=>{a(N)&&le(it)})}var Qt=k(ce,2),Do=S(Qt),Da=k(Do,2),To=S(Da);{var y_=le=>{var Ve=H0();I(le,Ve)};ae(To,le=>{a(l)&&le(y_)})}var Ta=k(To,2),w_=S(Ta);return et(T,le=>i=le,()=>i),he(()=>{re($,` ${a(r)??""}`),Ne(Z,"aria-expanded",a(w)),re(Ce,a(w)?"▾":"▸"),Ne(Ht,"aria-expanded",a(x)),re(Me,a(x)?"▾":"▸"),Ne(Gt,"aria-expanded",a(M)),re(cs,a(M)?"▾":"▸"),Ne(Ti,"aria-expanded",a(N)),re(Ra,a(N)?"▾":"▸"),Ta.disabled=a(n),re(w_,a(n)?"Saving…":"Save")}),Q("click",T,O),Q("click",X,()=>i.close()),Zo(Re,()=>a(h),le=>m(h,le)),xi(pe,()=>a(d),le=>m(d,le)),xi(He,()=>a(u),le=>m(u,le)),Zo(te,()=>a(f),le=>m(f,le)),zi(Ae,()=>a(v),le=>m(v,le)),zi(z,()=>a(p),le=>m(p,le)),zi(se,()=>a(b),le=>m(b,le)),Q("click",Z,()=>{m(w,!a(w))}),Q("click",Ht,()=>{m(x,!a(x))}),Q("click",Gt,()=>{m(M,!a(M))}),Q("click",Ti,()=>{m(N,!a(N))}),Q("click",Do,W),Q("click",Ta,Y),I(e,T),dt(B)}at(["click"]);var K0=H('<div class="sidebar-overlay svelte-13zv0lp"></div>'),q0=H("<!> <!> <!> <!>",1),j0=H('<div class="main-app svelte-13zv0lp"><!> <!> <div class="terminal-area svelte-13zv0lp"><!> <!></div></div> <!> <!> <!> <!> <!> <!> <!>',1);function V0(e,t){ut(t,!0);const i=new p_({defaultOptions:{queries:{staleTime:60*1e3,gcTime:600*1e3,refetchOnWindowFocus:!0}}}),s=Yd(),r=Zd(),n=Lh(),o=Ah();function l(L,te){n.activeSessionId=L;const _e=n.sessions.find(ue=>ue.id===L);_e&&(r.activeWorkspacePath=_e.repoPath),mc(L),ui()}ig(l);let c=F(void 0),h=F(void 0),d=F(void 0),u=F(void 0),f=F(void 0),v=F(void 0),p=F(void 0),b=F(!1);Dn(()=>{qp();let L,te;if(Lt&&window.visualViewport){const Se=window.visualViewport;let ne=null;const Ae=()=>{const Ke=window.innerHeight-Se.height;m(b,Ke>50),a(p)&&(a(p).style.height=a(b)?Se.height+"px":""),window.scrollTo(0,0),ne&&clearTimeout(ne),ne=setTimeout(()=>{var z;return(z=a(c))==null?void 0:z.fitTerm()},100)};Se.addEventListener("resize",Ae),Se.addEventListener("scroll",Ae),L=()=>{Se.removeEventListener("resize",Ae),Se.removeEventListener("scroll",Ae),ne&&clearTimeout(ne)}}const _e=navigator.platform.toUpperCase().includes("MAC");let ue;{const Se=ne=>{var z;const Ae=(z=document.activeElement)==null?void 0:z.tagName;if(!(Ae==="INPUT"||Ae==="TEXTAREA"||!(_e?ne.metaKey:ne.ctrlKey))){if(ne.key==="t"&&!ne.shiftKey){ne.preventDefault(),oe();return}if(ne.key==="w"&&!ne.shiftKey){ne.preventDefault(),n.activeSessionId&&$(n.activeSessionId);return}if(!ne.shiftKey&&ne.key>="1"&&ne.key<="9"){const U=a(C);if(U.length===0)return;ne.preventDefault();const se=parseInt(ne.key,10),P=se===9?U[U.length-1]:U[se-1];P&&J(P.id);return}if(ne.shiftKey&&ne.key==="["){const U=a(C);if(U.length===0)return;ne.preventDefault();const se=U.findIndex(A=>A.id===n.activeSessionId),P=se<=0?U[U.length-1]:U[se-1];P&&J(P.id);return}if(ne.shiftKey&&ne.key==="]"){const U=a(C);if(U.length===0)return;ne.preventDefault();const se=U.findIndex(A=>A.id===n.activeSessionId),P=se===-1||se===U.length-1?U[0]:U[se+1];P&&J(P.id);return}}};document.addEventListener("keydown",Se),ue=()=>document.removeEventListener("keydown",Se)}if(Lt){let Ae=0,Ke=0,z=!1;const U=A=>{const Z=A.touches[0];Z&&Z.clientX<=30&&!r.sidebarOpen&&(Ae=Z.clientX,Ke=Z.clientY,z=!0)},se=A=>{if(!z)return;const Z=A.touches[0];if(!Z)return;const me=Z.clientX-Ae,Ce=Math.abs(Z.clientY-Ke);if(Ce>me&&(Ce>8||me>8)){z=!1;return}me>=50&&(z=!1,pc())},P=()=>{z=!1};document.addEventListener("touchstart",U,{passive:!0}),document.addEventListener("touchmove",se,{passive:!0}),document.addEventListener("touchend",P),te=()=>{document.removeEventListener("touchstart",U),document.removeEventListener("touchmove",se),document.removeEventListener("touchend",P)}}return()=>{ue==null||ue(),L==null||L(),te==null||te()}}),rs(()=>{s.authenticated&&kt().then(()=>{const te=new URLSearchParams(window.location.search).get("session");te&&(window.history.replaceState({},"","/"),l(te)),!n.activeSessionId&&!te&&n.sessions.length===1&&J(n.sessions[0].id),!n.activeSessionId&&!te&&n.sessions.length===1&&J(n.sessions[0].id);for(const _e of n.sessions)Ln(_e.id,o.defaultNotifications);ng().then(()=>{og(cg())})})}),rs(()=>{s.authenticated&&uf(L=>{L.type==="worktrees-changed"?kt():L.type==="session-idle-changed"&&L.sessionId?hg(L.sessionId,L.idle??!1):L.type==="session-ended"&&(i.invalidateQueries({queryKey:["pr"]}),i.invalidateQueries({queryKey:["ci-status"]}))})});let g=fe(()=>r.activeWorkspacePath?n.workspaces.find(L=>L.path===r.activeWorkspacePath):void 0),y=fe(()=>r.activeWorkspacePath?hf(r.activeWorkspacePath):[]),R=fe(()=>n.activeSessionId?n.sessions.find(L=>L.id===n.activeSessionId):void 0),C=fe(()=>a(R)?a(y).filter(L=>L.repoPath===a(R).repoPath):a(y)),w=fe(()=>!!a(R)&&!!r.activeWorkspacePath&&(a(R).repoPath===r.activeWorkspacePath||a(R).repoPath.startsWith(r.activeWorkspacePath+"/"))),x=fe(()=>{var L,te;return((L=a(R))==null?void 0:L.displayName)||((te=a(g))==null?void 0:te.name)||"Claude Remote CLI"}),M=fe(()=>{var L;return((L=a(R))==null?void 0:L.useTmux)??!1}),N=F(!1),j=fe(()=>a(g)?a(w)?"session":"dashboard":"empty");function J(L){var _e;n.activeSessionId=L;const te=n.sessions.find(ue=>ue.id===L);if(te){const ue=n.workspaces.find(Se=>te.repoPath===Se.path||te.repoPath.startsWith(Se.path+"/"));r.activeWorkspacePath=(ue==null?void 0:ue.path)??te.repoPath}mc(L),ui(),(_e=a(c))==null||_e.focusTerm(),ug(L)}function oe(L,te){var _e,ue,Se;L?(_e=a(d))==null||_e.open({name:L.name,path:L.path,root:""},te):a(g)?(ue=a(d))==null||ue.open({name:a(g).name,path:a(g).path,root:""},te):(Se=a(d))==null||Se.open(void 0,te)}function Y(L){var te,_e;L?(te=a(v))==null||te.open(L.path,L.name):(_e=a(u))==null||_e.open()}async function W(L){var _e,ue;const te=`new-worktree:${L.path}`;if(!Oi(te)){Yr(te);try{let Se=o.defaultYolo,ne=o.defaultAgent,Ae=o.launchInTmux;try{const se=await vl(L.path);se.defaultYolo!==void 0&&(Se=se.defaultYolo),se.defaultAgent&&(ne=se.defaultAgent),se.launchInTmux!==void 0&&(Ae=se.launchInTmux)}catch{}const{branchName:Ke,worktreePath:z}=await Na(L.path),U=await Gs({repoPath:L.path,repoName:L.name,worktreePath:z,branchName:Ke,yolo:Se,agent:ne,useTmux:Ae,needsBranchRename:!0});await kt(),n.activeSessionId=U.id,r.activeWorkspacePath=L.path,Ln(U.id,o.defaultNotifications),ui(),(_e=a(c))==null||_e.focusTerm()}catch{(ue=a(d))==null||ue.open({name:L.name,path:L.path,root:""})}finally{Gr(te)}}}async function O(L){if(!a(g))return;const te=a(g).path,_e=n.sessions.find(ne=>ne.branchName===L.headRefName&&ne.repoPath.startsWith(te)),ue=n.worktrees.find(ne=>ne.branchName===L.headRefName&&ne.repoPath===te);let Se=`Merge the branch "${L.baseRefName}" into this branch and resolve all merge conflicts. Use \`git merge ${L.baseRefName}\` and fix any conflicts in the working tree. After resolving, verify the build passes.`;try{const ne=await vl(te);ne.promptFixConflicts&&(Se=ne.promptFixConflicts.replace(/\{baseRefName\}/g,L.baseRefName).replace(/\{headRefName\}/g,L.headRefName))}catch{}try{let ne,Ae;if(_e)ne=_e.repoPath,Ae=_e.branchName;else if(ue)ne=ue.path,Ae=ue.branchName;else{const z=await Na(te,L.headRefName);ne=z.worktreePath,Ae=z.branchName}const Ke=await Gs({repoPath:te,repoName:a(g).name,worktreePath:ne,branchName:Ae,allowMultiple:!0});await kt(),n.activeSessionId=Ke.id,r.activeWorkspacePath=te,Ln(Ke.id,o.defaultNotifications),ui(),setTimeout(()=>{er(Se+"\r")},1500)}catch(ne){console.error("Failed to start conflict resolution:",ne)}}async function B(L,te){if(!a(g))return;const _e=a(g).path,ue=n.sessions.find(ne=>ne.branchName===L.headRefName&&ne.repoPath.startsWith(_e)),Se=n.worktrees.find(ne=>ne.branchName===L.headRefName&&ne.repoPath===_e);try{let ne,Ae;if(ue)ne=ue.repoPath,Ae=ue.branchName;else if(Se)ne=Se.path,Ae=Se.branchName;else{const z=await Na(_e,L.headRefName);ne=z.worktreePath,Ae=z.branchName}const Ke=await Gs({repoPath:_e,repoName:a(g).name,worktreePath:ne,branchName:Ae,allowMultiple:!0});await kt(),n.activeSessionId=Ke.id,r.activeWorkspacePath=_e,Ln(Ke.id,o.defaultNotifications),ui(),te&&setTimeout(()=>{er(te+"\r")},1500)}catch(ne){console.error("Failed to open PR branch session:",ne)}}function T(L){const te=L.state==="OPEN"?"OPEN":L.state==="MERGED"?"MERGED":"CLOSED",_e=Oh({commitsAhead:1,prState:te,ciFailing:0,ciPending:0,ciTotal:0,mergeable:L.mergeable??null,unresolvedCommentCount:0}),ue=vf(_e,{branchName:L.headRefName,baseBranch:L.baseRefName,prNumber:L.number});ue&&B(L,ue)}function q(L){B(L)}function D(L){var te;(te=a(f))==null||te.open(L)}function E(L){var te;n.activeSessionId=L,Ln(L,o.defaultNotifications),ui(),(te=a(c))==null||te.focusTerm()}function $(L){var te;if(fetch(`/sessions/${L}`,{method:"DELETE"}).then(()=>kt()),n.activeSessionId===L){const _e=a(C).filter(ue=>ue.id!==L);n.activeSessionId=((te=_e[0])==null?void 0:te.id)??null}}function X(L,te,_e){var ue,Se;(ue=a(h))==null||ue.show(L,te,_e),te||(Se=a(h))==null||Se.autoDismiss(3e3)}function ce(L){er(L)}function be(){}function ge(){}function xe(){const L=document.createElement("input");L.type="file",L.accept="image/*",L.onchange=()=>{var _e,ue;const te=(_e=L.files)==null?void 0:_e[0];te&&((ue=a(c))==null||ue.handleImageUpload(te,te.type))},L.click()}function Pe(){var L;(L=a(c))==null||L.focusTerm()}function Re(L){m(N,L,!0)}function we(){var L;(L=a(c))==null||L.exitCopyMode()}let G=F(void 0);function ve(){var L;(L=a(G))==null||L.open()}async function Le(L){await kt(),L.length>0&&(r.activeWorkspacePath=L[0])}async function je(){const L=n.activeSessionId;if(!L)return;const te=n.sessions.find(_e=>_e.id===L);if(te){if(await Rp(L),te.type==="worktree"){const _e=n.workspaces.find(ue=>te.repoPath===ue.path||te.repoPath.startsWith(ue.path+"/"));if(_e&&te.repoPath!==_e.path)try{await qd(te.repoPath,_e.path)}catch{}}n.activeSessionId=null,await kt()}}var Be=xs(),pe=vt(Be);{var We=L=>{},He=L=>{pg(L,{})},Ue=L=>{qy(L,{get client(){return i},children:(te,_e)=>{var ue=j0(),Se=vt(ue),ne=S(Se);{var Ae=Me=>{var Mt=K0();Q("click",Mt,function(...ri){ui==null||ui.apply(this,ri)}),I(Me,Mt)};ae(ne,Me=>{r.sidebarOpen&&Me(Ae)})}var Ke=k(ne,2);Vg(Ke,{onSelectSession:J,onOpenSettings:Y,onNewWorktree:W,onNewSession:Me=>oe(Me),onNewTerminal:Me=>oe(Me,{agent:"claude"}),onAddWorkspace:ve,onDeleteSession:$,onDeleteWorktree:D});var z=k(Ke,2),U=S(z);Vw(U,{get title(){return a(x)},get onMenuClick(){return pc},get hidden(){return a(b)}});var se=k(U,2);{var P=Me=>{Hw(Me,{heading:"Add a workspace to get started",description:"Point to any folder on your machine. Git repos get PR tracking and branch management.",actionLabel:"+ Add Workspace",onAction:ve})},A=Me=>{{let Mt=fe(()=>r.activeWorkspacePath??""),ri=fe(()=>{var Gt;return((Gt=a(g))==null?void 0:Gt.name)??""}),_i=fe(()=>Oi(`new-worktree:${r.activeWorkspacePath??""}`));Ow(Me,{get workspacePath(){return a(Mt)},get workspaceName(){return a(ri)},get creatingWorktree(){return a(_i)},onNewSession:()=>oe(),onNewWorktree:()=>{a(g)&&W(a(g))},onFixConflicts:O,onPrAction:T,onOpenPrSession:q})}},Z=Me=>{var Mt=q0(),ri=vt(Mt);{let cs=fe(()=>r.activeWorkspacePath??""),ni=fe(()=>{var Xt;return((Xt=a(R))==null?void 0:Xt.branchName)??""});hw(ri,{get workspacePath(){return a(cs)},get branchName(){return a(ni)},get sessionId(){return n.activeSessionId},onArchive:je})}var _i=k(ri,2);fw(_i,{get sessions(){return a(C)},get activeSessionId(){return n.activeSessionId},onSelectSession:J,onCloseSession:$,onNewSession:()=>oe(),onNewTerminal:()=>oe(void 0,{agent:"claude"})});var Gt=k(_i,2);et(ay(Gt,{get sessionId(){return n.activeSessionId},onImageUpload:X,get useTmux(){return a(M)},onCopyModeChange:Re}),cs=>m(c,cs,!0),()=>a(c));var Ts=k(Gt,2);qw(Ts,{onSendKey:ce,onFlushComposedText:be,onClearInput:ge,onUploadImage:xe,onRefocusMobileInput:Pe,get useTmux(){return a(M)},get inCopyMode(){return a(N)},onExitCopyMode:we}),I(Me,Mt)};ae(se,Me=>{a(j)==="empty"?Me(P):a(j)==="dashboard"?Me(A,1):a(j)==="session"&&Me(Z,2)})}et(Se,Me=>m(p,Me),()=>a(p));var me=k(Se,2);et(o0(me,{onSessionCreated:E}),Me=>m(d,Me,!0),()=>a(d));var Ce=k(me,2);et(f0(Ce,{}),Me=>m(u,Me,!0),()=>a(u));var ye=k(Ce,2);et(g0(ye,{}),Me=>m(f,Me,!0),()=>a(f));var Te=k(ye,2);et(B0(Te,{onWorkspacesAdded:Le}),Me=>m(G,Me,!0),()=>a(G));var Ze=k(Te,2);et(U0(Ze,{onRemoveWorkspace:async Me=>{await fetch("/workspaces",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:Me})}),await kt(),r.activeWorkspacePath===Me&&(r.activeWorkspacePath=null)}}),Me=>m(v,Me,!0),()=>a(v));var Ht=k(Ze,2);Xw(Ht,{});var Vi=k(Ht,2);et($w(Vi,{}),Me=>m(h,Me,!0),()=>a(h)),I(te,ue)},$$slots:{default:!0}})};ae(pe,L=>{s.checking?L(We):s.authenticated?L(Ue,!1):L(He,1)})}I(e,Be),dt()}at(["click"]);Qv(V0,{target:document.getElementById("app")});
|
package/dist/frontend/index.html
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
12
12
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
|
13
13
|
<meta name="theme-color" content="#1a1a1a" />
|
|
14
|
-
<script type="module" crossorigin src="/assets/index-
|
|
14
|
+
<script type="module" crossorigin src="/assets/index-CdNRcvNk.js"></script>
|
|
15
15
|
<link rel="stylesheet" crossorigin href="/assets/index-cq08fnsG.css">
|
|
16
16
|
</head>
|
|
17
17
|
<body>
|
package/dist/server/index.js
CHANGED
|
@@ -11,7 +11,7 @@ import cookieParser from 'cookie-parser';
|
|
|
11
11
|
import { loadConfig, saveConfig, DEFAULTS, readMeta, writeMeta, deleteMeta, ensureMetaDir } from './config.js';
|
|
12
12
|
import * as auth from './auth.js';
|
|
13
13
|
import * as sessions from './sessions.js';
|
|
14
|
-
import { AGENT_CONTINUE_ARGS, AGENT_YOLO_ARGS, serializeAll, restoreFromDisk, activeTmuxSessionNames,
|
|
14
|
+
import { AGENT_CONTINUE_ARGS, AGENT_YOLO_ARGS, serializeAll, restoreFromDisk, activeTmuxSessionNames, populateMetaCache } from './sessions.js';
|
|
15
15
|
import { setupWebSocket } from './ws.js';
|
|
16
16
|
import { WorktreeWatcher, WORKTREE_DIRS, isValidWorktreePath, parseWorktreeListPorcelain, parseAllWorktrees } from './watcher.js';
|
|
17
17
|
import { isInstalled as serviceIsInstalled } from './service.js';
|
|
@@ -78,6 +78,38 @@ function execErrorMessage(err, fallback) {
|
|
|
78
78
|
const e = err;
|
|
79
79
|
return (e.stderr || e.message || fallback).trim();
|
|
80
80
|
}
|
|
81
|
+
function scanReposInRoot(rootDir) {
|
|
82
|
+
const repos = [];
|
|
83
|
+
let entries;
|
|
84
|
+
try {
|
|
85
|
+
entries = fs.readdirSync(rootDir, { withFileTypes: true });
|
|
86
|
+
}
|
|
87
|
+
catch (_) {
|
|
88
|
+
return repos;
|
|
89
|
+
}
|
|
90
|
+
for (const entry of entries) {
|
|
91
|
+
if (!entry.isDirectory() || entry.name.startsWith('.'))
|
|
92
|
+
continue;
|
|
93
|
+
const fullPath = path.join(rootDir, entry.name);
|
|
94
|
+
const dotGit = path.join(fullPath, '.git');
|
|
95
|
+
try {
|
|
96
|
+
if (fs.statSync(dotGit).isDirectory()) {
|
|
97
|
+
repos.push({ name: entry.name, path: fullPath, root: rootDir });
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
catch (_) {
|
|
101
|
+
// .git doesn't exist — not a repo
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return repos;
|
|
105
|
+
}
|
|
106
|
+
function scanAllRepos(rootDirs) {
|
|
107
|
+
const repos = [];
|
|
108
|
+
for (const rootDir of rootDirs) {
|
|
109
|
+
repos.push(...scanReposInRoot(rootDir));
|
|
110
|
+
}
|
|
111
|
+
return repos;
|
|
112
|
+
}
|
|
81
113
|
function parseTTL(ttl) {
|
|
82
114
|
if (typeof ttl !== 'string')
|
|
83
115
|
return 24 * 60 * 60 * 1000;
|
|
@@ -255,21 +287,28 @@ async function main() {
|
|
|
255
287
|
app.get('/sessions', requireAuth, (_req, res) => {
|
|
256
288
|
res.json(sessions.list());
|
|
257
289
|
});
|
|
258
|
-
// GET /
|
|
259
|
-
app.get('/
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
res.json(meta ?? { prNumber: null, additions: 0, deletions: 0, fetchedAt: new Date().toISOString() });
|
|
269
|
-
}
|
|
270
|
-
catch {
|
|
271
|
-
res.json({ prNumber: null, additions: 0, deletions: 0, fetchedAt: new Date().toISOString() });
|
|
290
|
+
// GET /repos — scan root dirs for repos
|
|
291
|
+
app.get('/repos', requireAuth, async (_req, res) => {
|
|
292
|
+
const repos = scanAllRepos(config.rootDirs || []);
|
|
293
|
+
// Also include legacy manually-added repos
|
|
294
|
+
if (config.repos) {
|
|
295
|
+
for (const repo of config.repos) {
|
|
296
|
+
if (!repos.some((r) => r.path === repo.path)) {
|
|
297
|
+
repos.push(repo);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
272
300
|
}
|
|
301
|
+
// Enrich with current branch (best-effort, parallel)
|
|
302
|
+
const enriched = await Promise.all(repos.map(async (repo) => {
|
|
303
|
+
try {
|
|
304
|
+
const { stdout } = await execFileAsync('git', ['symbolic-ref', '--short', 'HEAD'], { cwd: repo.path });
|
|
305
|
+
return { ...repo, defaultBranch: stdout.trim() };
|
|
306
|
+
}
|
|
307
|
+
catch {
|
|
308
|
+
return { ...repo, defaultBranch: null };
|
|
309
|
+
}
|
|
310
|
+
}));
|
|
311
|
+
res.json(enriched);
|
|
273
312
|
});
|
|
274
313
|
// GET /branches?repo=<path> — list local and remote branches for a repo
|
|
275
314
|
app.get('/branches', requireAuth, async (req, res) => {
|