claude-remote-cli 2.3.3 → 2.3.4
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 xp=2,Ep=1,Dp=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 d;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:((d=this._terminal.options.overviewRuler)==null?void 0:d.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,h=o.right+o.left,a=s-l,c=r-h-t;return{cols:Math.max(xp,Math.floor(c/e.css.cell.width)),rows:Math.max(Ep,Math.floor(a/e.css.cell.height))}}},Bp=J('<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 Mp(e,t){et(t,!0);let i,s=j(null),r,n=!1;function o(){return v(s)}function l(){var b;Kt||(b=v(s))==null||b.focus()}nn(()=>{const b=new kp({cursorBlink:!0,fontSize:14,fontFamily:"Menlo, monospace",theme:{background:"#1e1e1e",foreground:"#d4d4d4",cursor:"#d4d4d4"}});r=new Dp,b.loadAddon(r),b.open(i),r.fit(),b.onData(P=>Bt(P));const D=/Mac|iPhone|iPad|iPod/.test(navigator.platform||"");b.attachCustomKeyEventHandler(P=>Kt?!1:!D&&P.type==="keydown"&&P.ctrlKey&&!P.shiftKey&&!P.altKey&&!P.metaKey&&(P.key==="v"||P.key==="V")&&navigator.clipboard&&navigator.clipboard.read?(navigator.clipboard.read().then(V=>{let Y=null,W=null;for(const te of V){for(const ge of te.types)if(ge.startsWith("image/")){W=ge,Y=te;break}if(Y)break}Y&&W?Y.getType(W).then(te=>q(te,W)):navigator.clipboard.readText().then(te=>{te&&b.paste(te)})}).catch(()=>{navigator.clipboard.readText&&navigator.clipboard.readText().then(V=>{V&&b.paste(V)}).catch(()=>{})}),!1):!0),b.onScroll(f),b.onWriteParsed(f);const K=new ResizeObserver(()=>{r.fit(),Ha(b.cols,b.rows),f()});return K.observe(i),w(s,b,!0),()=>{K.disconnect(),b.dispose(),w(s,null)}}),Qs(()=>{t.sessionId&&v(s)&&(v(s).clear(),Nh(t.sessionId,v(s),()=>{v(s)&&Ha(v(s).cols,v(s).rows)},()=>{}))});let h=!1,a=0,c=0,d=j(0),u=j(0),_=j(!1);function f(){if(!v(s))return;const b=v(s).buffer.active,D=b.baseY+v(s).rows,K=b.viewportY,P=B;if(!P)return;const V=P.clientHeight;if(D<=v(s).rows){w(_,!1);return}w(_,!0),w(d,Math.max(Kt?44:20,v(s).rows/D*V),!0),w(u,K/(D-v(s).rows)*(V-v(d)))}function g(b){if(!v(s)||!B)return;const D=B.getBoundingClientRect(),P=v(s).buffer.active.baseY+v(s).rows;if(P<=v(s).rows)return;const V=B.clientHeight,Y=Math.max(Kt?44:20,v(s).rows/P*V),W=V-Y,te=b-D.top-Y/2,ge=Math.max(0,Math.min(1,te/W)),se=Math.round(ge*(P-v(s).rows));v(s).scrollToLine(se)}function p(b){b.preventDefault(),h=!0,a=b.touches[0].clientY,c=v(u)}function m(b){if(!h||!v(s)||!B)return;b.preventDefault();const D=b.touches[0].clientY-a,P=v(s).buffer.active.baseY+v(s).rows;if(P<=v(s).rows)return;const V=B.clientHeight,Y=Math.max(44,v(s).rows/P*V),W=V-Y,ge=Math.max(0,Math.min(W,c+D))/W,se=Math.round(ge*(P-v(s).rows));v(s).scrollToLine(se)}function N(){h=!1}function L(b){b.target!==F&&g(b.clientY)}let B,F;async function q(b,D){var P;if(n||!t.sessionId)return;n=!0,(P=t.onImageUpload)==null||P.call(t,"Pasting image…",!1);const K=new FileReader;K.onload=async()=>{var Y,W,te;const V=K.result.split(",")[1];try{const ge=await Iu(t.sessionId,V,D);ge.clipboardSet?(Y=t.onImageUpload)==null||Y.call(t,"Image pasted",!1):(W=t.onImageUpload)==null||W.call(t,ge.path,!0,ge.path)}catch(ge){const se=ge instanceof Error?ge.message:"Image upload failed";(te=t.onImageUpload)==null||te.call(t,se,!1)}finally{n=!1}},K.readAsDataURL(b)}function U(b){var D;if((D=b.clipboardData)!=null&&D.items){for(const K of b.clipboardData.items)if(K.type.startsWith("image/")){b.preventDefault(),b.stopPropagation();const P=K.getAsFile();P&&q(P,K.type);return}}}let Z=j(!1);function oe(b){var D;(D=b.dataTransfer)!=null&&D.types.includes("Files")&&(b.preventDefault(),w(Z,!0))}function ve(){w(Z,!1)}function ee(b){var K;if(b.preventDefault(),w(Z,!1),!((K=b.dataTransfer)!=null&&K.files.length))return;const D=b.dataTransfer.files[0];D.type.startsWith("image/")&&q(D,D.type)}function H(b){}var k={getTerm:o,focusTerm:l,handleImageUpload:q,setMobileInputRef:H},O=Bp();ut("touchmove",sr,function(...b){var D;(D=Kt?m:void 0)==null||D.apply(this,b)},void 0,!0),ut("touchend",sr,function(...b){var D;(D=Kt?N:void 0)==null||D.apply(this,b)});let S;var M=T(O);rt(M,b=>i=b,()=>i);var R=I(M,2);Zi(R,"aria-valuenow",0);var E=T(R);let y;return rt(E,b=>F=b,()=>F),rt(R,b=>B=b,()=>B),_e(()=>{S=ri(O,1,"terminal-wrapper svelte-5qgfij",null,S,{"drag-over":v(Z)}),y=Go(E,"",y,{display:v(_)?"block":"none",height:v(d)+"px",top:v(u)+"px"})}),ut("paste",M,U),ut("dragover",M,oe),ut("dragleave",M,ve),ut("drop",M,ee),G("click",R,L),G("touchstart",E,p),X(e,O),tt(k)}it(["click","touchstart"]);var Rp=J("<button><!></button>"),Tp=J('<div class="toolbar svelte-k7we1m" role="toolbar"><div class="toolbar-grid svelte-k7we1m"></div></div>');function Pp(e,t){et(t,!0);const i=[{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:"^D",key:"",label:"Ctrl+D"},{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"}];function s(a){if(a.id==="upload-image-btn"){t.onUploadImage(),Kt&&t.onRefocusMobileInput();return}a.key&&((a.key==="\r"||a.key==="\x1B[13;2u")&&t.onFlushComposedText(),t.onSendKey(a.key),(a.key==="\r"||a.key==="\x1B[13;2u")&&t.onClearInput(),Kt&&t.onRefocusMobileInput())}function r(a){const c=a.target.closest("button");if(!c)return;a.preventDefault();const d=i.find(u=>u.id===c.id||u.key&&c.dataset.key===u.key);d&&s(d)}function n(a){if(Kt)return;const c=a.target.closest("button");if(!c)return;const d=i.find(u=>u.id===c.id||u.key&&c.dataset.key===u.key);d&&s(d)}var o=Ps(),l=At(o);{var h=a=>{var c=Tp(),d=T(c);Pt(d,21,()=>i,u=>u.label,(u,_)=>{var f=Rp(),g=T(f);du(g,()=>v(_).html),_e(()=>{ri(f,1,`tb-btn ${v(_).extraClass??""??""}`,"svelte-k7we1m"),Zi(f,"id",v(_).id),Zi(f,"data-key",v(_).key),Zi(f,"aria-label",v(_).label)}),X(u,f)}),G("touchstart",c,r),G("click",c,n),X(a,c)};fe(l,a=>{Kt&&a(h)})}X(e,o),tt()}it(["touchstart","click"]);var Lp=J('<div class="mobile-header svelte-wp0i5g"><button class="icon-btn svelte-wp0i5g" aria-label="Open sessions menu">☰</button> <span class="mobile-title svelte-wp0i5g"> </span></div>');function Ap(e,t){var i=Lp(),s=T(i),r=I(s,2),n=T(r);_e(()=>me(n,t.title)),G("click",s,function(...o){var l;(l=t.onMenuClick)==null||l.apply(this,o)}),X(e,i)}it(["click"]);var Op=J('<button class="debug-toggle svelte-us0qpd">dbg</button>'),Ip=J("<div> </div>"),Np=J('<div class="debug-panel svelte-us0qpd"></div>'),Hp=J('<form class="mobile-input-form svelte-us0qpd" action="javascript:void(0)"><input type="text" class="mobile-input svelte-us0qpd" dir="ltr" autocomplete="off" autocorrect="on" autocapitalize="sentences" enterkeyhint="send" aria-label="Terminal input"/></form> <!> <!>',1);function Fp(e,t){et(t,!0);let i,s,r="",n=!1,o="",l=null;const h=10;let a=null,c=j(!1),d=j(ft([])),u=j(!1);nn(()=>{w(u,localStorage.getItem("devtools-enabled")==="true"),window.addEventListener("devtools-changed",()=>{w(u,localStorage.getItem("devtools-enabled")==="true"),v(u)||w(c,!1)})});function _(D){const K=performance.now().toFixed(1);w(d,[...v(d).slice(-199),"["+K+"] "+D],!0)}function f(){return i??null}function g(){i==null||i.focus()}function p(){if(n=!1,ds()){const D=i.value;q(D),r=D}L()}function m(){i&&(i.value=""),r=""}function N(D){o+=D,l!==null&&clearTimeout(l),l=setTimeout(L,h)}function L(){l=null,o&&ds()&&(_('FLUSH: "'+o.replace(/\x7f/g,"⌫")+'" ('+o.length+" bytes)"),Bt(o)),o=""}function B(D,K){let P=0;for(;P<D.length&&P<K.length&&D[P]===K[P];)P++;return P}function F(D){let K=0;for(let P=0;P<D.length;P++)K++,D.charCodeAt(P)>=55296&&D.charCodeAt(P)<=56319&&P++;return K}function q(D){if(D===r){_("sendInputDiff: NO-OP (same)");return}const K=B(r,D),P=r.slice(K),V=F(P),Y=D.slice(K);_("sendInputDiff: del="+V+' "'+P+'" add="'+Y+'"');let W="";for(let te=0;te<V;te++)W+="";W+=Y,W&&N(W)}function U(D){_('COMP_START data="'+D.data+'" val="'+i.value+'" last="'+r+'"'),n=!0}function Z(D){_('COMP_UPDATE data="'+D.data+'" val="'+i.value+'"')}function oe(D){if(_('COMP_END data="'+D.data+'" val="'+i.value+'" last="'+r+'"'),n=!1,ds()){const K=i.value;q(K),r=K}}function ve(){n&&(n=!1,r=i.value)}function ee(){n=!1,r=""}function H(D){_('BEFORE_INPUT type="'+D.inputType+'" data="'+(D.data??"")+'" composing='+n)}function k(D){if(_('INPUT type="'+D.inputType+'" composing='+n+' val="'+i.value+'" last="'+r+'"'),a&&clearTimeout(a),a=setTimeout(()=>{_('TIMER_CLEAR val="'+i.value+'"'),i.value="",r=""},5e3),!ds())return;if(n){_(" INPUT: skipped (composing)");return}const P=i.value;q(P),r=P}function O(D){if(_('KEYDOWN key="'+D.key+'" shift='+D.shiftKey+" composing="+n+' val="'+i.value+'"'),!ds())return;let K=!0;switch(D.key){case"Enter":p(),D.shiftKey?Bt("\x1B[13;2u"):Bt("\r"),i.value="",r="";break;case"Backspace":i.value.length===0&&Bt(""),K=!1;break;case"Escape":Bt("\x1B"),i.value="",r="";break;case"Tab":Bt(" ");break;case"ArrowUp":Bt("\x1B[A");break;case"ArrowDown":Bt("\x1B[B");break;default:K=!1}K&&D.preventDefault()}function S(D){D.preventDefault(),_("FORM_SUBMIT composing="+n+' val="'+i.value+'"'),ds()&&(p(),Bt("\r"),i.value="",r="")}function M(D){D.preventDefault(),D.stopPropagation(),w(c,!v(c))}var R={getInputEl:f,focus:g,flushComposedText:p,clearInput:m,onSessionChange:ee},E=Ps(),y=At(E);{var b=D=>{var K=Hp(),P=At(K),V=T(P);Zi(V,"spellcheck",!0),rt(V,se=>i=se,()=>i),rt(P,se=>s=se,()=>s);var Y=I(P,2);{var W=se=>{var Ce=Op();let we;_e(()=>we=Go(Ce,"",we,{opacity:v(c)?"1":"0.5"})),G("click",Ce,M),X(se,Ce)};fe(Y,se=>{v(u)&&se(W)})}var te=I(Y,2);{var ge=se=>{var Ce=Np();Pt(Ce,20,()=>v(d),we=>we,(we,Ve)=>{var le=Ip(),Xt=T(le);_e(()=>me(Xt,Ve)),X(we,le)}),X(se,Ce)};fe(te,se=>{v(c)&&se(ge)})}_e(()=>V.dir=V.dir),ut("submit",P,S),ut("compositionstart",V,U),ut("compositionupdate",V,Z),ut("compositionend",V,oe),ut("blur",V,ve),G("beforeinput",V,H),G("input",V,k),G("keydown",V,O),X(D,K)};fe(y,D=>{Kt&&D(b)})}return X(e,E),tt(R)}it(["beforeinput","input","keydown","click"]);var Wp=J('<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>'),zp=J('<div class="update-toast svelte-1trivgv"><div class="update-toast-content svelte-1trivgv"><span class="update-toast-text svelte-1trivgv"> </span> <!></div></div>');function Kp(e,t){et(t,!0);let i=j(!1),s=j(""),r=j("Update Now"),n=j(!1),o=j(!0);nn(async()=>{try{const u=await Nu();u.updateAvailable&&(w(s,`Update available: v${u.current} → v${u.latest}`),w(r,"Update Now"),w(n,!1),w(o,!0),w(i,!0))}catch{}});async function l(){w(n,!0),w(r,"Updating…");try{(await Hu()).restarting?(w(s,"Updated! Restarting server…"),w(o,!1),setTimeout(()=>{location.reload()},5e3)):(w(s,"Updated! Please restart the server manually."),w(o,!1))}catch{w(s,"Update failed. Please try again."),w(n,!1),w(r,"Retry"),w(o,!0)}}function h(){w(i,!1)}var a=Ps(),c=At(a);{var d=u=>{var _=zp(),f=T(_),g=T(f),p=T(g),m=I(g,2);{var N=L=>{var B=Wp(),F=T(B),q=T(F),U=I(F,2);_e(()=>{F.disabled=v(n),me(q,v(r))}),G("click",F,l),G("click",U,h),X(L,B)};fe(m,L=>{v(o)&&L(N)})}_e(()=>me(p,v(s))),X(u,_)};fe(c,u=>{v(i)&&u(d)})}X(e,a),tt()}it(["click"]);var Up=J('<button class="image-toast-insert svelte-1y8sviv">Insert</button>'),qp=J('<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 Vp(e,t){et(t,!0);let i=j(!1),s=j(""),r=j(!1),n=j(null),o=null;function l(p,m,N){o&&(clearTimeout(o),o=null),w(s,p,!0),w(r,m,!0),w(n,N??null,!0),w(i,!0)}function h(){w(i,!1),w(n,null),o&&(clearTimeout(o),o=null)}function a(p){o&&clearTimeout(o),o=setTimeout(()=>{v(n)||h()},p)}function c(){v(n)&&Bt(v(n)),h()}function d(){h()}var u={show:l,hide:h,autoDismiss:a},_=Ps(),f=At(_);{var g=p=>{var m=qp(),N=T(m),L=T(N),B=T(L),F=I(L,2),q=T(F);{var U=oe=>{var ve=Up();G("click",ve,c),X(oe,ve)};fe(q,oe=>{v(r)&&oe(U)})}var Z=I(q,2);_e(()=>me(B,v(s))),G("click",Z,d),X(p,m)};fe(f,p=>{v(i)&&p(g)})}return X(e,_),tt(u)}it(["click"]);var Yp=J("<option> </option>"),jp=J("<option> </option>"),Xp=J('<li class="branch-create-new svelte-thtd9b" role="option" aria-selected="false"> </li>'),$p=J('<li role="option" aria-selected="false" class="svelte-thtd9b"> </li>'),Gp=J('<ul class="branch-dropdown svelte-thtd9b"><!> <!></ul>'),Jp=J('<div class="dialog-field svelte-thtd9b"><label class="dialog-label svelte-thtd9b" for="ns-branch">Branch name</label> <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>'),Zp=J('<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>'),Qp=J('<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>Repos</button> <button>Worktrees</button></div> <div class="dialog-body svelte-thtd9b"><div class="dialog-field svelte-thtd9b"><label class="dialog-label svelte-thtd9b" for="ns-root">Root directory</label> <select id="ns-root" class="dialog-select svelte-thtd9b"><option>Select a root...</option><!></select></div> <div class="dialog-field svelte-thtd9b"><label class="dialog-label svelte-thtd9b" for="ns-repo">Repository</label> <select id="ns-repo" class="dialog-select svelte-thtd9b"><option>Select a repo...</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 svelte-thtd9b"><label class="dialog-label svelte-thtd9b" for="ns-args">Extra claude args (optional)</label> <input id="ns-args" type="text" class="dialog-input svelte-thtd9b" placeholder="e.g. --model claude-3-5-sonnet" 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 eg(e,t){et(t,!0);let i=wu(t,"preselectedRepo",3,null);const s=vr();let r,n=j("repos"),o=j(ft([])),l=j(""),h=j(""),a=j(""),c=j(""),d=j(!1),u=j(!1),_=j(ft([])),f=j(!1),g=ue(()=>{const $=new Set;return v(o).forEach(de=>{de.root&&$.add(de.root)}),Array.from($).sort()}),p=ue(()=>v(l)?v(o).filter($=>$.root===v(l)).sort(($,de)=>$.name.localeCompare(de.name)):[]),m=ue(()=>{if(!v(a).trim())return[];const $=v(a).toLowerCase();return v(_).filter(de=>de.toLowerCase().includes($)).slice(0,10)}),N=ue(()=>v(_).some($=>$===v(a)));function L($){return $.split("/").filter(Boolean).pop()||$}async function B($){if(w(_,[],!0),!!$)try{w(_,await Bu($),!0)}catch{w(_,[],!0)}}function F(){w(h,""),w(a,""),w(_,[],!0)}function q(){w(a,""),w(_,[],!0),v(h)&&B(v(h))}function U(){w(f,v(a).trim().length>0)}function Z($){w(a,$,!0),w(f,!1)}function oe(){w(l,""),w(h,""),w(a,""),w(c,""),w(d,!1),w(u,!1),w(_,[],!0),w(f,!1)}async function ve($){oe(),w(n,s.activeTab,!0);try{w(o,await Rh(),!0)}catch{w(o,[],!0)}const de=$??i();de!=null&&de.root&&(w(l,de.root,!0),await Promise.resolve(),w(h,de.path,!0),await B(de.path)),r.showModal()}function ee(){r.close()}async function H(){var Ze,vt;const $=v(h);if(!$)return;const de=[];v(d)&&de.push("--dangerously-skip-permissions"),v(c).trim()&&v(c).trim().split(/\s+/).forEach(Me=>{Me&&de.push(Me)});try{let Me;v(n)==="repos"?Me=await Ru({repoPath:$,repoName:$.split("/").filter(Boolean).pop(),continue:v(u),claudeArgs:de.length>0?de:void 0}):Me=await Th({repoPath:$,repoName:$.split("/").filter(Boolean).pop(),branchName:v(a).trim()||void 0,claudeArgs:de.length>0?de:void 0}),r.close(),await Vt(),Me!=null&&Me.id&&((Ze=t.onSessionCreated)==null||Ze.call(t,Me.id))}catch(Me){if(Me instanceof Error&&"sessionId"in Me){const hs=Me;r.close(),await Vt(),hs.sessionId&&((vt=t.onSessionCreated)==null||vt.call(t,hs.sessionId))}}}function k($){$.target===r&&r.close()}function O($){v(f)&&$.key==="Escape"&&(w(f,!1),$.stopPropagation())}var S={open:ve,close:ee},M=Qp(),R=T(M),E=T(R),y=T(E),b=I(E,2),D=T(b);let K;var P=I(D,2);let V;var Y=I(b,2),W=T(Y),te=I(T(W),2),ge=T(te);ge.value=ge.__value="";var se=I(ge);Pt(se,16,()=>v(g),$=>$,($,de)=>{var Ze=Yp(),vt=T(Ze),Me={};_e(hs=>{me(vt,hs),Me!==(Me=de)&&(Ze.value=(Ze.__value=de)??"")},[()=>L(de)]),X($,Ze)});var Ce=I(W,2),we=I(T(Ce),2),Ve=T(we);Ve.value=Ve.__value="";var le=I(Ve);Pt(le,17,()=>v(p),$=>$.path,($,de)=>{var Ze=jp(),vt=T(Ze),Me={};_e(()=>{me(vt,v(de).name),Me!==(Me=v(de).path)&&(Ze.value=(Ze.__value=v(de).path)??"")}),X($,Ze)});var Xt=I(Ce,2);{var ke=$=>{var de=Jp(),Ze=I(T(de),2),vt=T(Ze),Me=I(vt,2);{var hs=Os=>{var ua=Gp(),fa=T(ua);{var Oc=Ai=>{var cs=Xp(),Is=T(cs);_e(un=>me(Is,`Create new: ${un??""}`),[()=>v(a).trim()]),G("mousedown",cs,()=>Z(v(a).trim())),X(Ai,cs)},Ic=ue(()=>!v(N)&&v(a).trim());fe(fa,Ai=>{v(Ic)&&Ai(Oc)})}var Nc=I(fa,2);Pt(Nc,16,()=>v(m),Ai=>Ai,(Ai,cs)=>{var Is=$p(),un=T(Is);_e(()=>me(un,cs)),G("mousedown",Is,()=>Z(cs)),X(Ai,Is)}),X(Os,ua)},Ac=ue(()=>v(f)&&(v(m).length>0||v(a).trim()&&!v(N)));fe(Me,Os=>{v(Ac)&&Os(hs)})}G("input",vt,U),ut("focus",vt,()=>{v(a).trim()&&w(f,!0)}),Kr(vt,()=>v(a),Os=>w(a,Os)),X($,de)};fe(Xt,$=>{v(n)==="worktrees"&&$(ke)})}var Li=I(Xt,2);{var cn=$=>{var de=Zp(),Ze=T(de);jn(Ze,()=>v(u),vt=>w(u,vt)),X($,de)};fe(Li,$=>{v(n)==="repos"&&$(cn)})}var ca=I(Li,2),Mc=T(ca),Rc=I(ca,2),Tc=I(T(Rc),2),Pc=I(Y,2),da=T(Pc),dn=I(da,2),Lc=T(dn);return rt(M,$=>r=$,()=>r),_e(()=>{me(y,v(n)==="repos"?"New Session":"New Worktree"),K=ri(D,1,"dialog-tab svelte-thtd9b",null,K,{active:v(n)==="repos"}),V=ri(P,1,"dialog-tab svelte-thtd9b",null,V,{active:v(n)==="worktrees"}),we.disabled=!v(l),dn.disabled=!v(h),me(Lc,v(n)==="repos"?"Start Session":"Create Worktree")}),G("click",M,k),G("keydown",M,O),G("click",D,()=>{w(n,"repos")}),G("click",P,()=>{w(n,"worktrees")}),G("change",te,F),Ma(te,()=>v(l),$=>w(l,$)),G("change",we,q),Ma(we,()=>v(h),$=>w(h,$)),jn(Mc,()=>v(d),$=>w(d,$)),Kr(Tc,()=>v(c),$=>w(c,$)),G("click",da,()=>r.close()),G("click",dn,H),X(e,M),tt(S)}it(["click","keydown","change","input","mousedown"]);var tg=J('<p class="empty-msg svelte-fdtoa4">No root directories configured.</p>'),ig=J('<li class="root-item svelte-fdtoa4"><span class="root-path svelte-fdtoa4"> </span> <button class="remove-btn svelte-fdtoa4">✕</button></li>'),sg=J('<ul class="roots-list svelte-fdtoa4"></ul>'),rg=J('<p class="error-msg svelte-fdtoa4"> </p>'),ng=J('<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">Root Directories</h3> <p class="section-desc svelte-fdtoa4">Directories scanned for git repositories.</p> <!> <div class="add-root-row svelte-fdtoa4"><input type="text" class="add-root-input svelte-fdtoa4" placeholder="/path/to/projects" autocomplete="off"/> <button class="btn btn-primary svelte-fdtoa4">Add</button></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></div> <div class="dialog-footer svelte-fdtoa4"><button class="btn btn-ghost svelte-fdtoa4">Close</button></div></div></dialog>');function og(e,t){et(t,!0);let i,s=j(ft([])),r=j(""),n=j(!1),o=j("");async function l(){try{w(s,await Du(),!0)}catch{w(s,[],!0)}}async function h(){w(o,""),w(r,""),w(n,localStorage.getItem("devtools-enabled")==="true"),await l(),i.showModal()}function a(){i.close()}async function c(){const b=v(r).trim();if(b){w(o,"");try{w(s,await Au(b),!0),w(r,""),await Vt()}catch{w(o,"Failed to add root directory.")}}}async function d(b){w(o,"");try{w(s,await Ou(b),!0),await Vt()}catch{w(o,"Failed to remove root directory.")}}function u(){localStorage.setItem("devtools-enabled",v(n)?"true":"false"),window.dispatchEvent(new Event("devtools-changed"))}async function _(){i.close(),await Vt()}function f(b){b.target===i&&_()}function g(b){b.key==="Enter"&&c()}var p={open:h,close:a},m=ng(),N=T(m),L=T(N),B=I(T(L),2),F=I(L,2),q=T(F),U=I(T(q),4);{var Z=b=>{var D=tg();X(b,D)},oe=b=>{var D=sg();Pt(D,20,()=>v(s),K=>K,(K,P)=>{var V=ig(),Y=T(V),W=T(Y),te=I(Y,2);_e(()=>{Zi(Y,"title",P),me(W,P),Zi(te,"aria-label",`Remove ${P??""}`)}),G("click",te,()=>d(P)),X(K,V)}),X(b,D)};fe(U,b=>{v(s).length===0?b(Z):b(oe,!1)})}var ve=I(U,2),ee=T(ve),H=I(ee,2),k=I(ve,2);{var O=b=>{var D=rg(),K=T(D);_e(()=>me(K,v(o))),X(b,D)};fe(k,b=>{v(o)&&b(O)})}var S=I(q,2),M=I(T(S),2),R=T(M),E=I(F,2),y=T(E);return rt(m,b=>i=b,()=>i),G("click",m,f),G("click",B,_),G("keydown",ee,g),Kr(ee,()=>v(r),b=>w(r,b)),G("click",H,c),G("change",R,u),jn(R,()=>v(n),b=>w(n,b)),G("click",y,_),X(e,m),tt(p)}it(["click","keydown","change"]);var ag=J('<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),lg=J('<p class="error-msg svelte-15sco2n"> </p>'),hg=J('<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 cg(e,t){et(t,!0);let i,s=j(null),r=j(""),n=j(!1);function o(U){w(s,U,!0),w(r,""),w(n,!1),i.showModal()}function l(){i.close()}async function h(){if(!(!v(s)||v(n))){w(n,!0),w(r,"");try{await Lu(v(s).path,v(s).repoPath),i.close(),await Vt()}catch(U){w(r,U instanceof Error?U.message:"Failed to delete worktree.",!0),w(n,!1)}}}function a(){i.close()}function c(U){U.target===i&&i.close()}var d={open:o,close:l},u=hg(),_=T(u),f=I(T(_),2),g=T(f);{var p=U=>{var Z=ag(),oe=At(Z),ve=I(T(oe)),ee=T(ve),H=I(oe,2),k=T(H);_e(()=>{me(ee,v(s).displayName||v(s).name),me(k,v(s).path)}),X(U,Z)};fe(g,U=>{v(s)&&U(p)})}var m=I(g,2);{var N=U=>{var Z=lg(),oe=T(Z);_e(()=>me(oe,v(r))),X(U,Z)};fe(m,U=>{v(r)&&U(N)})}var L=I(f,2),B=T(L),F=I(B,2),q=T(F);return rt(u,U=>i=U,()=>i),_e(()=>{B.disabled=v(n),F.disabled=v(n),me(q,v(n)?"Deleting...":"Delete")}),G("click",u,c),G("click",B,a),G("click",F,h),X(e,u),tt(d)}it(["click"]);var dg=J('<ul class="context-menu svelte-1nmhce7" role="menu"><li class="context-menu-item svelte-1nmhce7" role="menuitem" tabindex="0">Resume in yolo mode</li> <li class="context-menu-item context-menu-item--danger svelte-1nmhce7" role="menuitem" tabindex="0">Delete worktree</li></ul>');function ug(e,t){et(t,!0);let i=j(!1),s=j(0),r=j(0),n=j(null);function o(f,g,p){w(s,Math.min(f,window.innerWidth-185),!0),w(r,Math.min(g,window.innerHeight-80),!0),w(n,p,!0),w(i,!0)}function l(){w(i,!1),w(n,null)}function h(){var g;const f=v(n);l(),f&&((g=t.onResumeYolo)==null||g.call(t,f))}function a(){var g;const f=v(n);l(),f&&((g=t.onDeleteWorktree)==null||g.call(t,f))}var c={show:o,hide:l},d=Ps();ut("click",sr,()=>{v(i)&&l()}),ut("keydown",sr,f=>{f.key==="Escape"&&v(i)&&l()});var u=At(d);{var _=f=>{var g=dg();let p;var m=T(g),N=I(m,2);_e(()=>p=Go(g,"",p,{left:v(s)+"px",top:v(r)+"px"})),G("click",g,L=>L.stopPropagation()),G("click",m,h),G("keydown",m,L=>L.key==="Enter"&&h()),G("click",N,a),G("keydown",N,L=>L.key==="Enter"&&a()),X(f,g)};fe(u,f=>{v(i)&&f(_)})}return X(e,d),tt(c)}it(["click","keydown"]);var fg=J('<div class="sidebar-overlay svelte-13zv0lp"></div>'),_g=J("<p>Select or create a session</p>"),vg=J('<div class="main-app svelte-13zv0lp"><!> <!> <div class="terminal-area svelte-13zv0lp"><!> <!> <!> <!> <div class="no-session-msg svelte-13zv0lp"><!></div></div></div> <!> <!> <!> <!> <!> <!>',1);function pg(e,t){et(t,!0);const i=Ph(),s=vr(),r=Zo();let n,o,l,h,a,c,d;nn(()=>{Fu()}),Qs(()=>{i.authenticated&&Vt()}),Qs(()=>{i.authenticated&&Ih(S=>{S.type==="worktrees-changed"?Vt():S.type==="session-idle-changed"&&S.sessionId&&Uu(S.sessionId,S.idle??!1)})}),Qs(()=>{n&&o&&n.setMobileInputRef(o.getInputEl())});function u(S){var M;r.activeSessionId=S,Ah(S),Ci(),n==null||n.focusTerm(),(M=o==null?void 0:o.onSessionChange)==null||M.call(o)}function _(S){h==null||h.open(S)}function f(){a==null||a.open()}function g(S,M){S.preventDefault(),d==null||d.show(S.clientX,S.clientY,M)}function p(S){h==null||h.open({name:S.repoName,path:S.repoPath,root:S.root})}function m(S){c==null||c.open(S)}function N(S){r.activeSessionId=S,Ci(),n==null||n.focusTerm()}function L(S,M,R){l==null||l.show(S,M,R),M||l==null||l.autoDismiss(3e3)}function B(S){Bt(S)}function F(){var S;(S=o==null?void 0:o.flushComposedText)==null||S.call(o)}function q(){var S;(S=o==null?void 0:o.clearInput)==null||S.call(o)}function U(){const S=document.createElement("input");S.type="file",S.accept="image/*",S.onchange=()=>{var R;const M=(R=S.files)==null?void 0:R[0];M&&(n==null||n.handleImageUpload(M,M.type))},S.click()}function Z(){var S;(S=o==null?void 0:o.focus)==null||S.call(o)}let oe=ue(()=>{var S;return r.activeSessionId?((S=r.sessions.find(M=>M.id===r.activeSessionId))==null?void 0:S.displayName)||"Session":"Claude Remote CLI"});var ve=Ps(),ee=At(ve);{var H=S=>{},k=S=>{Yu(S,{})},O=S=>{var M=vg(),R=At(M),E=T(R);{var y=ke=>{var Li=fg();G("click",Li,function(...cn){Ci==null||Ci.apply(this,cn)}),X(ke,Li)};fe(E,ke=>{s.sidebarOpen&&ke(y)})}var b=I(E,2);vf(b,{onSelectSession:u,onOpenNewSession:_,onOpenSettings:f,onContextMenu:g});var D=I(b,2),K=T(D);Ap(K,{get title(){return v(oe)},get onMenuClick(){return zu}});var P=I(K,2);rt(Mp(P,{get sessionId(){return r.activeSessionId},onImageUpload:L}),ke=>n=ke,()=>n);var V=I(P,2);Pp(V,{onSendKey:B,onFlushComposedText:F,onClearInput:q,onUploadImage:U,onRefocusMobileInput:Z});var Y=I(V,2);rt(Fp(Y,{onTerminalTouchFocus:()=>o==null?void 0:o.focus()}),ke=>o=ke,()=>o);var W=I(Y,2),te=T(W);{var ge=ke=>{var Li=_g();X(ke,Li)};fe(te,ke=>{r.activeSessionId||ke(ge)})}var se=I(R,2);rt(eg(se,{onSessionCreated:N}),ke=>h=ke,()=>h);var Ce=I(se,2);rt(og(Ce,{}),ke=>a=ke,()=>a);var we=I(Ce,2);rt(cg(we,{}),ke=>c=ke,()=>c);var Ve=I(we,2);rt(ug(Ve,{onResumeYolo:p,onDeleteWorktree:m}),ke=>d=ke,()=>d);var le=I(Ve,2);Kp(le,{});var Xt=I(le,2);rt(Vp(Xt,{}),ke=>l=ke,()=>l),X(S,M)};fe(ee,S=>{i.checking?S(H):i.authenticated?S(O,!1):S(k,1)})}X(e,ve),tt()}it(["click"]);ru(pg,{target:document.getElementById("app")});
|
|
47
|
+
*/var xp=2,Ep=1,Dp=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 d;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:((d=this._terminal.options.overviewRuler)==null?void 0:d.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,h=o.right+o.left,a=s-l,c=r-h-t;return{cols:Math.max(xp,Math.floor(c/e.css.cell.width)),rows:Math.max(Ep,Math.floor(a/e.css.cell.height))}}},Bp=J('<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 Mp(e,t){et(t,!0);let i,s=j(null),r,n=!1;function o(){return v(s)}function l(){var b;Kt||(b=v(s))==null||b.focus()}nn(()=>{const b=new kp({cursorBlink:!0,fontSize:14,fontFamily:"Menlo, monospace",theme:{background:"#000000",foreground:"#d4d4d4",cursor:"#d4d4d4"}});r=new Dp,b.loadAddon(r),b.open(i),r.fit(),b.onData(P=>Bt(P));const D=/Mac|iPhone|iPad|iPod/.test(navigator.platform||"");b.attachCustomKeyEventHandler(P=>Kt?!1:!D&&P.type==="keydown"&&P.ctrlKey&&!P.shiftKey&&!P.altKey&&!P.metaKey&&(P.key==="v"||P.key==="V")&&navigator.clipboard&&navigator.clipboard.read?(navigator.clipboard.read().then(V=>{let Y=null,W=null;for(const te of V){for(const ge of te.types)if(ge.startsWith("image/")){W=ge,Y=te;break}if(Y)break}Y&&W?Y.getType(W).then(te=>q(te,W)):navigator.clipboard.readText().then(te=>{te&&b.paste(te)})}).catch(()=>{navigator.clipboard.readText&&navigator.clipboard.readText().then(V=>{V&&b.paste(V)}).catch(()=>{})}),!1):!0),b.onScroll(f),b.onWriteParsed(f);const K=new ResizeObserver(()=>{r.fit(),Ha(b.cols,b.rows),f()});return K.observe(i),w(s,b,!0),()=>{K.disconnect(),b.dispose(),w(s,null)}}),Qs(()=>{t.sessionId&&v(s)&&(v(s).clear(),Nh(t.sessionId,v(s),()=>{v(s)&&Ha(v(s).cols,v(s).rows)},()=>{}))});let h=!1,a=0,c=0,d=j(0),u=j(0),_=j(!1);function f(){if(!v(s))return;const b=v(s).buffer.active,D=b.baseY+v(s).rows,K=b.viewportY,P=B;if(!P)return;const V=P.clientHeight;if(D<=v(s).rows){w(_,!1);return}w(_,!0),w(d,Math.max(Kt?44:20,v(s).rows/D*V),!0),w(u,K/(D-v(s).rows)*(V-v(d)))}function g(b){if(!v(s)||!B)return;const D=B.getBoundingClientRect(),P=v(s).buffer.active.baseY+v(s).rows;if(P<=v(s).rows)return;const V=B.clientHeight,Y=Math.max(Kt?44:20,v(s).rows/P*V),W=V-Y,te=b-D.top-Y/2,ge=Math.max(0,Math.min(1,te/W)),se=Math.round(ge*(P-v(s).rows));v(s).scrollToLine(se)}function p(b){b.preventDefault(),h=!0,a=b.touches[0].clientY,c=v(u)}function m(b){if(!h||!v(s)||!B)return;b.preventDefault();const D=b.touches[0].clientY-a,P=v(s).buffer.active.baseY+v(s).rows;if(P<=v(s).rows)return;const V=B.clientHeight,Y=Math.max(44,v(s).rows/P*V),W=V-Y,ge=Math.max(0,Math.min(W,c+D))/W,se=Math.round(ge*(P-v(s).rows));v(s).scrollToLine(se)}function N(){h=!1}function L(b){b.target!==F&&g(b.clientY)}let B,F;async function q(b,D){var P;if(n||!t.sessionId)return;n=!0,(P=t.onImageUpload)==null||P.call(t,"Pasting image…",!1);const K=new FileReader;K.onload=async()=>{var Y,W,te;const V=K.result.split(",")[1];try{const ge=await Iu(t.sessionId,V,D);ge.clipboardSet?(Y=t.onImageUpload)==null||Y.call(t,"Image pasted",!1):(W=t.onImageUpload)==null||W.call(t,ge.path,!0,ge.path)}catch(ge){const se=ge instanceof Error?ge.message:"Image upload failed";(te=t.onImageUpload)==null||te.call(t,se,!1)}finally{n=!1}},K.readAsDataURL(b)}function U(b){var D;if((D=b.clipboardData)!=null&&D.items){for(const K of b.clipboardData.items)if(K.type.startsWith("image/")){b.preventDefault(),b.stopPropagation();const P=K.getAsFile();P&&q(P,K.type);return}}}let Z=j(!1);function oe(b){var D;(D=b.dataTransfer)!=null&&D.types.includes("Files")&&(b.preventDefault(),w(Z,!0))}function ve(){w(Z,!1)}function ee(b){var K;if(b.preventDefault(),w(Z,!1),!((K=b.dataTransfer)!=null&&K.files.length))return;const D=b.dataTransfer.files[0];D.type.startsWith("image/")&&q(D,D.type)}function H(b){}var k={getTerm:o,focusTerm:l,handleImageUpload:q,setMobileInputRef:H},O=Bp();ut("touchmove",sr,function(...b){var D;(D=Kt?m:void 0)==null||D.apply(this,b)},void 0,!0),ut("touchend",sr,function(...b){var D;(D=Kt?N:void 0)==null||D.apply(this,b)});let S;var M=T(O);rt(M,b=>i=b,()=>i);var R=I(M,2);Zi(R,"aria-valuenow",0);var E=T(R);let y;return rt(E,b=>F=b,()=>F),rt(R,b=>B=b,()=>B),_e(()=>{S=ri(O,1,"terminal-wrapper svelte-5qgfij",null,S,{"drag-over":v(Z)}),y=Go(E,"",y,{display:v(_)?"block":"none",height:v(d)+"px",top:v(u)+"px"})}),ut("paste",M,U),ut("dragover",M,oe),ut("dragleave",M,ve),ut("drop",M,ee),G("click",R,L),G("touchstart",E,p),X(e,O),tt(k)}it(["click","touchstart"]);var Rp=J("<button><!></button>"),Tp=J('<div class="toolbar svelte-k7we1m" role="toolbar"><div class="toolbar-grid svelte-k7we1m"></div></div>');function Pp(e,t){et(t,!0);const i=[{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:"^D",key:"",label:"Ctrl+D"},{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"}];function s(a){if(a.id==="upload-image-btn"){t.onUploadImage(),Kt&&t.onRefocusMobileInput();return}a.key&&((a.key==="\r"||a.key==="\x1B[13;2u")&&t.onFlushComposedText(),t.onSendKey(a.key),(a.key==="\r"||a.key==="\x1B[13;2u")&&t.onClearInput(),Kt&&t.onRefocusMobileInput())}function r(a){const c=a.target.closest("button");if(!c)return;a.preventDefault();const d=i.find(u=>u.id===c.id||u.key&&c.dataset.key===u.key);d&&s(d)}function n(a){if(Kt)return;const c=a.target.closest("button");if(!c)return;const d=i.find(u=>u.id===c.id||u.key&&c.dataset.key===u.key);d&&s(d)}var o=Ps(),l=At(o);{var h=a=>{var c=Tp(),d=T(c);Pt(d,21,()=>i,u=>u.label,(u,_)=>{var f=Rp(),g=T(f);du(g,()=>v(_).html),_e(()=>{ri(f,1,`tb-btn ${v(_).extraClass??""??""}`,"svelte-k7we1m"),Zi(f,"id",v(_).id),Zi(f,"data-key",v(_).key),Zi(f,"aria-label",v(_).label)}),X(u,f)}),G("touchstart",c,r),G("click",c,n),X(a,c)};fe(l,a=>{Kt&&a(h)})}X(e,o),tt()}it(["touchstart","click"]);var Lp=J('<div class="mobile-header svelte-wp0i5g"><button class="icon-btn svelte-wp0i5g" aria-label="Open sessions menu">☰</button> <span class="mobile-title svelte-wp0i5g"> </span></div>');function Ap(e,t){var i=Lp(),s=T(i),r=I(s,2),n=T(r);_e(()=>me(n,t.title)),G("click",s,function(...o){var l;(l=t.onMenuClick)==null||l.apply(this,o)}),X(e,i)}it(["click"]);var Op=J('<button class="debug-toggle svelte-us0qpd">dbg</button>'),Ip=J("<div> </div>"),Np=J('<div class="debug-panel svelte-us0qpd"></div>'),Hp=J('<form class="mobile-input-form svelte-us0qpd" action="javascript:void(0)"><input type="text" class="mobile-input svelte-us0qpd" dir="ltr" autocomplete="off" autocorrect="on" autocapitalize="sentences" enterkeyhint="send" aria-label="Terminal input"/></form> <!> <!>',1);function Fp(e,t){et(t,!0);let i,s,r="",n=!1,o="",l=null;const h=10;let a=null,c=j(!1),d=j(ft([])),u=j(!1);nn(()=>{w(u,localStorage.getItem("devtools-enabled")==="true"),window.addEventListener("devtools-changed",()=>{w(u,localStorage.getItem("devtools-enabled")==="true"),v(u)||w(c,!1)})});function _(D){const K=performance.now().toFixed(1);w(d,[...v(d).slice(-199),"["+K+"] "+D],!0)}function f(){return i??null}function g(){i==null||i.focus()}function p(){if(n=!1,ds()){const D=i.value;q(D),r=D}L()}function m(){i&&(i.value=""),r=""}function N(D){o+=D,l!==null&&clearTimeout(l),l=setTimeout(L,h)}function L(){l=null,o&&ds()&&(_('FLUSH: "'+o.replace(/\x7f/g,"⌫")+'" ('+o.length+" bytes)"),Bt(o)),o=""}function B(D,K){let P=0;for(;P<D.length&&P<K.length&&D[P]===K[P];)P++;return P}function F(D){let K=0;for(let P=0;P<D.length;P++)K++,D.charCodeAt(P)>=55296&&D.charCodeAt(P)<=56319&&P++;return K}function q(D){if(D===r){_("sendInputDiff: NO-OP (same)");return}const K=B(r,D),P=r.slice(K),V=F(P),Y=D.slice(K);_("sendInputDiff: del="+V+' "'+P+'" add="'+Y+'"');let W="";for(let te=0;te<V;te++)W+="";W+=Y,W&&N(W)}function U(D){_('COMP_START data="'+D.data+'" val="'+i.value+'" last="'+r+'"'),n=!0}function Z(D){_('COMP_UPDATE data="'+D.data+'" val="'+i.value+'"')}function oe(D){if(_('COMP_END data="'+D.data+'" val="'+i.value+'" last="'+r+'"'),n=!1,ds()){const K=i.value;q(K),r=K}}function ve(){n&&(n=!1,r=i.value)}function ee(){n=!1,r=""}function H(D){_('BEFORE_INPUT type="'+D.inputType+'" data="'+(D.data??"")+'" composing='+n)}function k(D){if(_('INPUT type="'+D.inputType+'" composing='+n+' val="'+i.value+'" last="'+r+'"'),a&&clearTimeout(a),a=setTimeout(()=>{_('TIMER_CLEAR val="'+i.value+'"'),i.value="",r=""},5e3),!ds())return;if(n){_(" INPUT: skipped (composing)");return}const P=i.value;q(P),r=P}function O(D){if(_('KEYDOWN key="'+D.key+'" shift='+D.shiftKey+" composing="+n+' val="'+i.value+'"'),!ds())return;let K=!0;switch(D.key){case"Enter":p(),D.shiftKey?Bt("\x1B[13;2u"):Bt("\r"),i.value="",r="";break;case"Backspace":i.value.length===0&&Bt(""),K=!1;break;case"Escape":Bt("\x1B"),i.value="",r="";break;case"Tab":Bt(" ");break;case"ArrowUp":Bt("\x1B[A");break;case"ArrowDown":Bt("\x1B[B");break;default:K=!1}K&&D.preventDefault()}function S(D){D.preventDefault(),_("FORM_SUBMIT composing="+n+' val="'+i.value+'"'),ds()&&(p(),Bt("\r"),i.value="",r="")}function M(D){D.preventDefault(),D.stopPropagation(),w(c,!v(c))}var R={getInputEl:f,focus:g,flushComposedText:p,clearInput:m,onSessionChange:ee},E=Ps(),y=At(E);{var b=D=>{var K=Hp(),P=At(K),V=T(P);Zi(V,"spellcheck",!0),rt(V,se=>i=se,()=>i),rt(P,se=>s=se,()=>s);var Y=I(P,2);{var W=se=>{var Ce=Op();let we;_e(()=>we=Go(Ce,"",we,{opacity:v(c)?"1":"0.5"})),G("click",Ce,M),X(se,Ce)};fe(Y,se=>{v(u)&&se(W)})}var te=I(Y,2);{var ge=se=>{var Ce=Np();Pt(Ce,20,()=>v(d),we=>we,(we,Ve)=>{var le=Ip(),Xt=T(le);_e(()=>me(Xt,Ve)),X(we,le)}),X(se,Ce)};fe(te,se=>{v(c)&&se(ge)})}_e(()=>V.dir=V.dir),ut("submit",P,S),ut("compositionstart",V,U),ut("compositionupdate",V,Z),ut("compositionend",V,oe),ut("blur",V,ve),G("beforeinput",V,H),G("input",V,k),G("keydown",V,O),X(D,K)};fe(y,D=>{Kt&&D(b)})}return X(e,E),tt(R)}it(["beforeinput","input","keydown","click"]);var Wp=J('<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>'),zp=J('<div class="update-toast svelte-1trivgv"><div class="update-toast-content svelte-1trivgv"><span class="update-toast-text svelte-1trivgv"> </span> <!></div></div>');function Kp(e,t){et(t,!0);let i=j(!1),s=j(""),r=j("Update Now"),n=j(!1),o=j(!0);nn(async()=>{try{const u=await Nu();u.updateAvailable&&(w(s,`Update available: v${u.current} → v${u.latest}`),w(r,"Update Now"),w(n,!1),w(o,!0),w(i,!0))}catch{}});async function l(){w(n,!0),w(r,"Updating…");try{(await Hu()).restarting?(w(s,"Updated! Restarting server…"),w(o,!1),setTimeout(()=>{location.reload()},5e3)):(w(s,"Updated! Please restart the server manually."),w(o,!1))}catch{w(s,"Update failed. Please try again."),w(n,!1),w(r,"Retry"),w(o,!0)}}function h(){w(i,!1)}var a=Ps(),c=At(a);{var d=u=>{var _=zp(),f=T(_),g=T(f),p=T(g),m=I(g,2);{var N=L=>{var B=Wp(),F=T(B),q=T(F),U=I(F,2);_e(()=>{F.disabled=v(n),me(q,v(r))}),G("click",F,l),G("click",U,h),X(L,B)};fe(m,L=>{v(o)&&L(N)})}_e(()=>me(p,v(s))),X(u,_)};fe(c,u=>{v(i)&&u(d)})}X(e,a),tt()}it(["click"]);var Up=J('<button class="image-toast-insert svelte-1y8sviv">Insert</button>'),qp=J('<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 Vp(e,t){et(t,!0);let i=j(!1),s=j(""),r=j(!1),n=j(null),o=null;function l(p,m,N){o&&(clearTimeout(o),o=null),w(s,p,!0),w(r,m,!0),w(n,N??null,!0),w(i,!0)}function h(){w(i,!1),w(n,null),o&&(clearTimeout(o),o=null)}function a(p){o&&clearTimeout(o),o=setTimeout(()=>{v(n)||h()},p)}function c(){v(n)&&Bt(v(n)),h()}function d(){h()}var u={show:l,hide:h,autoDismiss:a},_=Ps(),f=At(_);{var g=p=>{var m=qp(),N=T(m),L=T(N),B=T(L),F=I(L,2),q=T(F);{var U=oe=>{var ve=Up();G("click",ve,c),X(oe,ve)};fe(q,oe=>{v(r)&&oe(U)})}var Z=I(q,2);_e(()=>me(B,v(s))),G("click",Z,d),X(p,m)};fe(f,p=>{v(i)&&p(g)})}return X(e,_),tt(u)}it(["click"]);var Yp=J("<option> </option>"),jp=J("<option> </option>"),Xp=J('<li class="branch-create-new svelte-thtd9b" role="option" aria-selected="false"> </li>'),$p=J('<li role="option" aria-selected="false" class="svelte-thtd9b"> </li>'),Gp=J('<ul class="branch-dropdown svelte-thtd9b"><!> <!></ul>'),Jp=J('<div class="dialog-field svelte-thtd9b"><label class="dialog-label svelte-thtd9b" for="ns-branch">Branch name</label> <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>'),Zp=J('<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>'),Qp=J('<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>Repos</button> <button>Worktrees</button></div> <div class="dialog-body svelte-thtd9b"><div class="dialog-field svelte-thtd9b"><label class="dialog-label svelte-thtd9b" for="ns-root">Root directory</label> <select id="ns-root" class="dialog-select svelte-thtd9b"><option>Select a root...</option><!></select></div> <div class="dialog-field svelte-thtd9b"><label class="dialog-label svelte-thtd9b" for="ns-repo">Repository</label> <select id="ns-repo" class="dialog-select svelte-thtd9b"><option>Select a repo...</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 svelte-thtd9b"><label class="dialog-label svelte-thtd9b" for="ns-args">Extra claude args (optional)</label> <input id="ns-args" type="text" class="dialog-input svelte-thtd9b" placeholder="e.g. --model claude-3-5-sonnet" 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 eg(e,t){et(t,!0);let i=wu(t,"preselectedRepo",3,null);const s=vr();let r,n=j("repos"),o=j(ft([])),l=j(""),h=j(""),a=j(""),c=j(""),d=j(!1),u=j(!1),_=j(ft([])),f=j(!1),g=ue(()=>{const $=new Set;return v(o).forEach(de=>{de.root&&$.add(de.root)}),Array.from($).sort()}),p=ue(()=>v(l)?v(o).filter($=>$.root===v(l)).sort(($,de)=>$.name.localeCompare(de.name)):[]),m=ue(()=>{if(!v(a).trim())return[];const $=v(a).toLowerCase();return v(_).filter(de=>de.toLowerCase().includes($)).slice(0,10)}),N=ue(()=>v(_).some($=>$===v(a)));function L($){return $.split("/").filter(Boolean).pop()||$}async function B($){if(w(_,[],!0),!!$)try{w(_,await Bu($),!0)}catch{w(_,[],!0)}}function F(){w(h,""),w(a,""),w(_,[],!0)}function q(){w(a,""),w(_,[],!0),v(h)&&B(v(h))}function U(){w(f,v(a).trim().length>0)}function Z($){w(a,$,!0),w(f,!1)}function oe(){w(l,""),w(h,""),w(a,""),w(c,""),w(d,!1),w(u,!1),w(_,[],!0),w(f,!1)}async function ve($){oe(),w(n,s.activeTab,!0);try{w(o,await Rh(),!0)}catch{w(o,[],!0)}const de=$??i();de!=null&&de.root&&(w(l,de.root,!0),await Promise.resolve(),w(h,de.path,!0),await B(de.path)),r.showModal()}function ee(){r.close()}async function H(){var Ze,vt;const $=v(h);if(!$)return;const de=[];v(d)&&de.push("--dangerously-skip-permissions"),v(c).trim()&&v(c).trim().split(/\s+/).forEach(Me=>{Me&&de.push(Me)});try{let Me;v(n)==="repos"?Me=await Ru({repoPath:$,repoName:$.split("/").filter(Boolean).pop(),continue:v(u),claudeArgs:de.length>0?de:void 0}):Me=await Th({repoPath:$,repoName:$.split("/").filter(Boolean).pop(),branchName:v(a).trim()||void 0,claudeArgs:de.length>0?de:void 0}),r.close(),await Vt(),Me!=null&&Me.id&&((Ze=t.onSessionCreated)==null||Ze.call(t,Me.id))}catch(Me){if(Me instanceof Error&&"sessionId"in Me){const hs=Me;r.close(),await Vt(),hs.sessionId&&((vt=t.onSessionCreated)==null||vt.call(t,hs.sessionId))}}}function k($){$.target===r&&r.close()}function O($){v(f)&&$.key==="Escape"&&(w(f,!1),$.stopPropagation())}var S={open:ve,close:ee},M=Qp(),R=T(M),E=T(R),y=T(E),b=I(E,2),D=T(b);let K;var P=I(D,2);let V;var Y=I(b,2),W=T(Y),te=I(T(W),2),ge=T(te);ge.value=ge.__value="";var se=I(ge);Pt(se,16,()=>v(g),$=>$,($,de)=>{var Ze=Yp(),vt=T(Ze),Me={};_e(hs=>{me(vt,hs),Me!==(Me=de)&&(Ze.value=(Ze.__value=de)??"")},[()=>L(de)]),X($,Ze)});var Ce=I(W,2),we=I(T(Ce),2),Ve=T(we);Ve.value=Ve.__value="";var le=I(Ve);Pt(le,17,()=>v(p),$=>$.path,($,de)=>{var Ze=jp(),vt=T(Ze),Me={};_e(()=>{me(vt,v(de).name),Me!==(Me=v(de).path)&&(Ze.value=(Ze.__value=v(de).path)??"")}),X($,Ze)});var Xt=I(Ce,2);{var ke=$=>{var de=Jp(),Ze=I(T(de),2),vt=T(Ze),Me=I(vt,2);{var hs=Os=>{var ua=Gp(),fa=T(ua);{var Oc=Ai=>{var cs=Xp(),Is=T(cs);_e(un=>me(Is,`Create new: ${un??""}`),[()=>v(a).trim()]),G("mousedown",cs,()=>Z(v(a).trim())),X(Ai,cs)},Ic=ue(()=>!v(N)&&v(a).trim());fe(fa,Ai=>{v(Ic)&&Ai(Oc)})}var Nc=I(fa,2);Pt(Nc,16,()=>v(m),Ai=>Ai,(Ai,cs)=>{var Is=$p(),un=T(Is);_e(()=>me(un,cs)),G("mousedown",Is,()=>Z(cs)),X(Ai,Is)}),X(Os,ua)},Ac=ue(()=>v(f)&&(v(m).length>0||v(a).trim()&&!v(N)));fe(Me,Os=>{v(Ac)&&Os(hs)})}G("input",vt,U),ut("focus",vt,()=>{v(a).trim()&&w(f,!0)}),Kr(vt,()=>v(a),Os=>w(a,Os)),X($,de)};fe(Xt,$=>{v(n)==="worktrees"&&$(ke)})}var Li=I(Xt,2);{var cn=$=>{var de=Zp(),Ze=T(de);jn(Ze,()=>v(u),vt=>w(u,vt)),X($,de)};fe(Li,$=>{v(n)==="repos"&&$(cn)})}var ca=I(Li,2),Mc=T(ca),Rc=I(ca,2),Tc=I(T(Rc),2),Pc=I(Y,2),da=T(Pc),dn=I(da,2),Lc=T(dn);return rt(M,$=>r=$,()=>r),_e(()=>{me(y,v(n)==="repos"?"New Session":"New Worktree"),K=ri(D,1,"dialog-tab svelte-thtd9b",null,K,{active:v(n)==="repos"}),V=ri(P,1,"dialog-tab svelte-thtd9b",null,V,{active:v(n)==="worktrees"}),we.disabled=!v(l),dn.disabled=!v(h),me(Lc,v(n)==="repos"?"Start Session":"Create Worktree")}),G("click",M,k),G("keydown",M,O),G("click",D,()=>{w(n,"repos")}),G("click",P,()=>{w(n,"worktrees")}),G("change",te,F),Ma(te,()=>v(l),$=>w(l,$)),G("change",we,q),Ma(we,()=>v(h),$=>w(h,$)),jn(Mc,()=>v(d),$=>w(d,$)),Kr(Tc,()=>v(c),$=>w(c,$)),G("click",da,()=>r.close()),G("click",dn,H),X(e,M),tt(S)}it(["click","keydown","change","input","mousedown"]);var tg=J('<p class="empty-msg svelte-fdtoa4">No root directories configured.</p>'),ig=J('<li class="root-item svelte-fdtoa4"><span class="root-path svelte-fdtoa4"> </span> <button class="remove-btn svelte-fdtoa4">✕</button></li>'),sg=J('<ul class="roots-list svelte-fdtoa4"></ul>'),rg=J('<p class="error-msg svelte-fdtoa4"> </p>'),ng=J('<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">Root Directories</h3> <p class="section-desc svelte-fdtoa4">Directories scanned for git repositories.</p> <!> <div class="add-root-row svelte-fdtoa4"><input type="text" class="add-root-input svelte-fdtoa4" placeholder="/path/to/projects" autocomplete="off"/> <button class="btn btn-primary svelte-fdtoa4">Add</button></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></div> <div class="dialog-footer svelte-fdtoa4"><button class="btn btn-ghost svelte-fdtoa4">Close</button></div></div></dialog>');function og(e,t){et(t,!0);let i,s=j(ft([])),r=j(""),n=j(!1),o=j("");async function l(){try{w(s,await Du(),!0)}catch{w(s,[],!0)}}async function h(){w(o,""),w(r,""),w(n,localStorage.getItem("devtools-enabled")==="true"),await l(),i.showModal()}function a(){i.close()}async function c(){const b=v(r).trim();if(b){w(o,"");try{w(s,await Au(b),!0),w(r,""),await Vt()}catch{w(o,"Failed to add root directory.")}}}async function d(b){w(o,"");try{w(s,await Ou(b),!0),await Vt()}catch{w(o,"Failed to remove root directory.")}}function u(){localStorage.setItem("devtools-enabled",v(n)?"true":"false"),window.dispatchEvent(new Event("devtools-changed"))}async function _(){i.close(),await Vt()}function f(b){b.target===i&&_()}function g(b){b.key==="Enter"&&c()}var p={open:h,close:a},m=ng(),N=T(m),L=T(N),B=I(T(L),2),F=I(L,2),q=T(F),U=I(T(q),4);{var Z=b=>{var D=tg();X(b,D)},oe=b=>{var D=sg();Pt(D,20,()=>v(s),K=>K,(K,P)=>{var V=ig(),Y=T(V),W=T(Y),te=I(Y,2);_e(()=>{Zi(Y,"title",P),me(W,P),Zi(te,"aria-label",`Remove ${P??""}`)}),G("click",te,()=>d(P)),X(K,V)}),X(b,D)};fe(U,b=>{v(s).length===0?b(Z):b(oe,!1)})}var ve=I(U,2),ee=T(ve),H=I(ee,2),k=I(ve,2);{var O=b=>{var D=rg(),K=T(D);_e(()=>me(K,v(o))),X(b,D)};fe(k,b=>{v(o)&&b(O)})}var S=I(q,2),M=I(T(S),2),R=T(M),E=I(F,2),y=T(E);return rt(m,b=>i=b,()=>i),G("click",m,f),G("click",B,_),G("keydown",ee,g),Kr(ee,()=>v(r),b=>w(r,b)),G("click",H,c),G("change",R,u),jn(R,()=>v(n),b=>w(n,b)),G("click",y,_),X(e,m),tt(p)}it(["click","keydown","change"]);var ag=J('<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),lg=J('<p class="error-msg svelte-15sco2n"> </p>'),hg=J('<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 cg(e,t){et(t,!0);let i,s=j(null),r=j(""),n=j(!1);function o(U){w(s,U,!0),w(r,""),w(n,!1),i.showModal()}function l(){i.close()}async function h(){if(!(!v(s)||v(n))){w(n,!0),w(r,"");try{await Lu(v(s).path,v(s).repoPath),i.close(),await Vt()}catch(U){w(r,U instanceof Error?U.message:"Failed to delete worktree.",!0),w(n,!1)}}}function a(){i.close()}function c(U){U.target===i&&i.close()}var d={open:o,close:l},u=hg(),_=T(u),f=I(T(_),2),g=T(f);{var p=U=>{var Z=ag(),oe=At(Z),ve=I(T(oe)),ee=T(ve),H=I(oe,2),k=T(H);_e(()=>{me(ee,v(s).displayName||v(s).name),me(k,v(s).path)}),X(U,Z)};fe(g,U=>{v(s)&&U(p)})}var m=I(g,2);{var N=U=>{var Z=lg(),oe=T(Z);_e(()=>me(oe,v(r))),X(U,Z)};fe(m,U=>{v(r)&&U(N)})}var L=I(f,2),B=T(L),F=I(B,2),q=T(F);return rt(u,U=>i=U,()=>i),_e(()=>{B.disabled=v(n),F.disabled=v(n),me(q,v(n)?"Deleting...":"Delete")}),G("click",u,c),G("click",B,a),G("click",F,h),X(e,u),tt(d)}it(["click"]);var dg=J('<ul class="context-menu svelte-1nmhce7" role="menu"><li class="context-menu-item svelte-1nmhce7" role="menuitem" tabindex="0">Resume in yolo mode</li> <li class="context-menu-item context-menu-item--danger svelte-1nmhce7" role="menuitem" tabindex="0">Delete worktree</li></ul>');function ug(e,t){et(t,!0);let i=j(!1),s=j(0),r=j(0),n=j(null);function o(f,g,p){w(s,Math.min(f,window.innerWidth-185),!0),w(r,Math.min(g,window.innerHeight-80),!0),w(n,p,!0),w(i,!0)}function l(){w(i,!1),w(n,null)}function h(){var g;const f=v(n);l(),f&&((g=t.onResumeYolo)==null||g.call(t,f))}function a(){var g;const f=v(n);l(),f&&((g=t.onDeleteWorktree)==null||g.call(t,f))}var c={show:o,hide:l},d=Ps();ut("click",sr,()=>{v(i)&&l()}),ut("keydown",sr,f=>{f.key==="Escape"&&v(i)&&l()});var u=At(d);{var _=f=>{var g=dg();let p;var m=T(g),N=I(m,2);_e(()=>p=Go(g,"",p,{left:v(s)+"px",top:v(r)+"px"})),G("click",g,L=>L.stopPropagation()),G("click",m,h),G("keydown",m,L=>L.key==="Enter"&&h()),G("click",N,a),G("keydown",N,L=>L.key==="Enter"&&a()),X(f,g)};fe(u,f=>{v(i)&&f(_)})}return X(e,d),tt(c)}it(["click","keydown"]);var fg=J('<div class="sidebar-overlay svelte-13zv0lp"></div>'),_g=J("<p>Select or create a session</p>"),vg=J('<div class="main-app svelte-13zv0lp"><!> <!> <div class="terminal-area svelte-13zv0lp"><!> <!> <!> <!> <div class="no-session-msg svelte-13zv0lp"><!></div></div></div> <!> <!> <!> <!> <!> <!>',1);function pg(e,t){et(t,!0);const i=Ph(),s=vr(),r=Zo();let n,o,l,h,a,c,d;nn(()=>{Fu()}),Qs(()=>{i.authenticated&&Vt()}),Qs(()=>{i.authenticated&&Ih(S=>{S.type==="worktrees-changed"?Vt():S.type==="session-idle-changed"&&S.sessionId&&Uu(S.sessionId,S.idle??!1)})}),Qs(()=>{n&&o&&n.setMobileInputRef(o.getInputEl())});function u(S){var M;r.activeSessionId=S,Ah(S),Ci(),n==null||n.focusTerm(),(M=o==null?void 0:o.onSessionChange)==null||M.call(o)}function _(S){h==null||h.open(S)}function f(){a==null||a.open()}function g(S,M){S.preventDefault(),d==null||d.show(S.clientX,S.clientY,M)}function p(S){h==null||h.open({name:S.repoName,path:S.repoPath,root:S.root})}function m(S){c==null||c.open(S)}function N(S){r.activeSessionId=S,Ci(),n==null||n.focusTerm()}function L(S,M,R){l==null||l.show(S,M,R),M||l==null||l.autoDismiss(3e3)}function B(S){Bt(S)}function F(){var S;(S=o==null?void 0:o.flushComposedText)==null||S.call(o)}function q(){var S;(S=o==null?void 0:o.clearInput)==null||S.call(o)}function U(){const S=document.createElement("input");S.type="file",S.accept="image/*",S.onchange=()=>{var R;const M=(R=S.files)==null?void 0:R[0];M&&(n==null||n.handleImageUpload(M,M.type))},S.click()}function Z(){var S;(S=o==null?void 0:o.focus)==null||S.call(o)}let oe=ue(()=>{var S;return r.activeSessionId?((S=r.sessions.find(M=>M.id===r.activeSessionId))==null?void 0:S.displayName)||"Session":"Claude Remote CLI"});var ve=Ps(),ee=At(ve);{var H=S=>{},k=S=>{Yu(S,{})},O=S=>{var M=vg(),R=At(M),E=T(R);{var y=ke=>{var Li=fg();G("click",Li,function(...cn){Ci==null||Ci.apply(this,cn)}),X(ke,Li)};fe(E,ke=>{s.sidebarOpen&&ke(y)})}var b=I(E,2);vf(b,{onSelectSession:u,onOpenNewSession:_,onOpenSettings:f,onContextMenu:g});var D=I(b,2),K=T(D);Ap(K,{get title(){return v(oe)},get onMenuClick(){return zu}});var P=I(K,2);rt(Mp(P,{get sessionId(){return r.activeSessionId},onImageUpload:L}),ke=>n=ke,()=>n);var V=I(P,2);Pp(V,{onSendKey:B,onFlushComposedText:F,onClearInput:q,onUploadImage:U,onRefocusMobileInput:Z});var Y=I(V,2);rt(Fp(Y,{onTerminalTouchFocus:()=>o==null?void 0:o.focus()}),ke=>o=ke,()=>o);var W=I(Y,2),te=T(W);{var ge=ke=>{var Li=_g();X(ke,Li)};fe(te,ke=>{r.activeSessionId||ke(ge)})}var se=I(R,2);rt(eg(se,{onSessionCreated:N}),ke=>h=ke,()=>h);var Ce=I(se,2);rt(og(Ce,{}),ke=>a=ke,()=>a);var we=I(Ce,2);rt(cg(we,{}),ke=>c=ke,()=>c);var Ve=I(we,2);rt(ug(Ve,{onResumeYolo:p,onDeleteWorktree:m}),ke=>d=ke,()=>d);var le=I(Ve,2);Kp(le,{});var Xt=I(le,2);rt(Vp(Xt,{}),ke=>l=ke,()=>l),X(S,M)};fe(ee,S=>{i.checking?S(H):i.authenticated?S(O,!1):S(k,1)})}X(e,ve),tt()}it(["click"]);ru(pg,{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-DDznyPVd.js"></script>
|
|
15
15
|
<link rel="stylesheet" crossorigin href="/assets/index-BhPDVkAS.css">
|
|
16
16
|
</head>
|
|
17
17
|
<body>
|