@pimote/pimote 0.7.0 → 0.8.0

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.
@@ -1,4 +1,4 @@
1
- import{$ as e,A as t,B as n,C as r,E as i,G as a,I as o,K as s,L as c,M as l,N as u,O as d,P as f,Q as p,R as m,T as h,U as g,X as _,Y as v,a as y,b,bt as x,c as S,d as C,et as w,it as T,mt as E,n as D,nt as O,o as k,ot as A,p as j,pt as M,r as N,s as P,st as F,tt as I,u as L,v as ee,vt as R,w as z,y as B,yt as V,z as H}from"../chunks/B8lQCytv.js";import"../chunks/D1hYfEew.js";import{A as te,B as U,C as ne,D as re,E as ie,F as ae,H as oe,I as se,J as ce,K as le,L as ue,M as de,N as fe,P as pe,R as me,S as he,T as ge,V as _e,W as ve,a as ye,b as be,c as xe,d as Se,f as Ce,g as we,h as Te,i as Ee,it as De,j as Oe,l as ke,m as Ae,n as je,nt as Me,o as Ne,p as Pe,q as Fe,r as Ie,s as Le,t as Re,u as ze,v as Be,w as Ve,x as He,y as Ue,z as We}from"../chunks/B1ItOytB.js";import{a as Ge,c as Ke,d as W,h as qe,i as Je,n as Ye,p as Xe,r as Ze,s as G,u as Qe}from"../chunks/D8SptH3Y.js";import{n as $e,r as et}from"../chunks/ATalJV7d.js";var tt=Fe({component:`separator`,parts:[`root`]}),nt=class e{static create(t){return new e(t)}opts;attachment;constructor(e){this.opts=e,this.attachment=ce(e.ref)}#e=F(()=>({id:this.opts.id.current,role:this.opts.decorative.current?`none`:`separator`,"aria-orientation":this.opts.orientation.current,"aria-hidden":le(this.opts.decorative.current),"data-orientation":this.opts.orientation.current,[tt.root]:``,...this.attachment}));get props(){return g(this.#e)}set props(e){T(this.#e,e)}},rt=f(`<div><!></div>`);function it(t,n){let r=o();E(n,!0);let i=y(n,`id`,19,()=>ve(r)),a=y(n,`ref`,15,null),s=y(n,`decorative`,3,!1),c=y(n,`orientation`,3,`horizontal`),f=k(n,[`$$slots`,`$$events`,`$$legacy`,`id`,`ref`,`child`,`children`,`decorative`,`orientation`]),p=nt.create({ref:De(()=>a(),e=>a(e)),id:De(()=>i()),decorative:De(()=>s()),orientation:De(()=>c())}),m=F(()=>Me(f,p.props));var h=u(),_=w(h),v=e=>{var t=u();z(w(t),()=>n.child,()=>({props:g(m)})),l(e,t)},b=t=>{var r=rt();C(r,()=>({...g(m)})),z(e(r),()=>n.children??x),V(r),l(t,r)};d(_,e=>{n.child?e(v):e(b,-1)}),l(t,h),M()}function at(e,t){return e.trim().length>0&&typeof t==`string`&&t.length>0}function ot(e,t,n){switch(n){case`replace`:return t;case`append`:return e+`
1
+ import{$ as e,A as t,B as n,C as r,E as i,G as a,I as o,K as s,L as c,M as l,N as u,O as d,P as f,Q as p,R as m,T as h,U as g,X as _,Y as v,a as y,b,bt as x,c as S,d as C,et as w,it as T,mt as E,n as D,nt as O,o as k,ot as A,p as j,pt as M,r as N,s as P,st as F,tt as I,u as L,v as ee,vt as R,w as z,y as B,yt as V,z as H}from"../chunks/B8lQCytv.js";import"../chunks/D1hYfEew.js";import{A as te,B as U,C as ne,D as re,E as ie,F as ae,H as oe,I as se,J as ce,K as le,L as ue,M as de,N as fe,P as pe,R as me,S as he,T as ge,V as _e,W as ve,a as ye,b as be,c as xe,d as Se,f as Ce,g as we,h as Te,i as Ee,it as De,j as Oe,l as ke,m as Ae,n as je,nt as Me,o as Ne,p as Pe,q as Fe,r as Ie,s as Le,t as Re,u as ze,v as Be,w as Ve,x as He,y as Ue,z as We}from"../chunks/Daen0SYI.js";import{a as Ge,c as Ke,d as W,h as qe,i as Je,n as Ye,p as Xe,r as Ze,s as G,u as Qe}from"../chunks/BjlKVpoO.js";import{n as $e,r as et}from"../chunks/ATalJV7d.js";var tt=Fe({component:`separator`,parts:[`root`]}),nt=class e{static create(t){return new e(t)}opts;attachment;constructor(e){this.opts=e,this.attachment=ce(e.ref)}#e=F(()=>({id:this.opts.id.current,role:this.opts.decorative.current?`none`:`separator`,"aria-orientation":this.opts.orientation.current,"aria-hidden":le(this.opts.decorative.current),"data-orientation":this.opts.orientation.current,[tt.root]:``,...this.attachment}));get props(){return g(this.#e)}set props(e){T(this.#e,e)}},rt=f(`<div><!></div>`);function it(t,n){let r=o();E(n,!0);let i=y(n,`id`,19,()=>ve(r)),a=y(n,`ref`,15,null),s=y(n,`decorative`,3,!1),c=y(n,`orientation`,3,`horizontal`),f=k(n,[`$$slots`,`$$events`,`$$legacy`,`id`,`ref`,`child`,`children`,`decorative`,`orientation`]),p=nt.create({ref:De(()=>a(),e=>a(e)),id:De(()=>i()),decorative:De(()=>s()),orientation:De(()=>c())}),m=F(()=>Me(f,p.props));var h=u(),_=w(h),v=e=>{var t=u();z(w(t),()=>n.child,()=>({props:g(m)})),l(e,t)},b=t=>{var r=rt();C(r,()=>({...g(m)})),z(e(r),()=>n.children??x),V(r),l(t,r)};d(_,e=>{n.child?e(v):e(b,-1)}),l(t,h),M()}function at(e,t){return e.trim().length>0&&typeof t==`string`&&t.length>0}function ot(e,t,n){switch(n){case`replace`:return t;case`append`:return e+`
2
2
  `+t;case`prepend`:return t+`
3
3
  `+e;case`ignore`:return null}}var st={Href:1,Src:2,Lang:4,Checked:8,Start:16};function ct(e){switch(e){case 1:return`href`;case 2:return`src`;case 4:return`class`;case 8:return`checked`;case 16:return`start`}}var lt=e=>{switch(e){case 1:return 3;case 2:return 4;case 3:return 5;case 4:return 6;case 5:return 7;default:return 8}},ut=24;function dt(e){let t=new Uint32Array(ut);return t[0]=1,{renderer:e,text:``,pending:``,tokens:t,len:0,token:1,fence_end:0,blockquote_idx:0,hr_char:``,hr_chars:0,fence_start:0,spaces:new Uint8Array(ut),indent:``,indent_len:0,table_state:0}}function ft(e){e.pending.length>0&&Y(e,`
4
4
  `)}function K(e){e.text.length!==0&&(console.assert(e.len>0,`Never adding text to root`),e.renderer.add_text(e.renderer.data,e.text),e.text=``)}function q(e){console.assert(e.len>0,`No nodes to end`),--e.len,e.token=e.tokens[e.len],e.renderer.end_token(e.renderer.data)}function J(e,t){(e.tokens[e.len]===24||e.tokens[e.len]===23)&&t!==25&&q(e),e.len+=1,e.tokens[e.len]=t,e.token=t,e.renderer.add_token(e.renderer.data,t)}function pt(e,t,n){for(;n<=e.len;){if(e.tokens[n]===t)return n;n+=1}return-1}function mt(e,t){for(e.fence_start=0;e.len>t;)q(e)}function ht(e,t){let n=0;for(let r=0;r<=e.len&&(t-=e.spaces[r],!(t<0));r+=1)switch(e.tokens[r]){case 9:case 10:case 20:case 25:n=r;break}for(;e.len>n;)q(e);return t}function gt(e,t){let n=-1,r=-1;for(let i=e.blockquote_idx+1;i<=e.len;i+=1)if(e.tokens[i]===25){if(e.indent_len<e.spaces[i]){r=-1;break}r=i}else e.tokens[i]===t&&(n=i);return r===-1?n===-1?(mt(e,e.blockquote_idx),J(e,t),!0):(mt(e,n),!1):(mt(e,r),J(e,t),!0)}function _t(e,t){J(e,25),e.spaces[e.len]=e.indent_len+t,vt(e),e.token=103}function vt(e){e.indent=``,e.indent_len=0,e.pending=``}function yt(e){switch(e){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return!0;default:return!1}}function bt(e){switch(e){case 32:case 58:case 59:case 41:case 44:case 33:case 46:case 63:case 93:case 10:return!0;default:return!1}}function xt(e){return yt(e)||bt(e)}function St(e){return yt(e)||e>=65&&e<=90||e>=97&&e<=122}function Y(e,t){for(let n of t){if(e.token===101){switch(n){case` `:e.indent_len+=1;continue;case` `:e.indent_len+=4;continue}let t=ht(e,e.indent_len);e.indent_len=0,e.token=e.tokens[e.len],t>0&&Y(e,` `.repeat(t))}let t=e.pending+n;switch(e.token){case 21:case 1:case 20:case 24:case 23:switch(console.assert(e.text.length===0,`Root should not have any text`),e.pending[0]){case void 0:e.pending=n;continue;case` `:console.assert(e.pending.length===1),e.pending=n,e.indent+=` `,e.indent_len+=1;continue;case` `:console.assert(e.pending.length===1),e.pending=n,e.indent+=` `,e.indent_len+=4;continue;case`
@@ -49,7 +49,7 @@ import{$ as e,A as t,B as n,C as r,E as i,G as a,I as o,K as s,L as c,M as l,N a
49
49
  `):[]),L=F(()=>g(P).length>3),ee=F(()=>D(r.message)),z=F(()=>g(ee).split(`
50
50
  `)),te=F(()=>g(z).length>10);var U=u(),ne=w(U),re=e=>{},ae=n=>{var i=sr(),a=e(i),o=t=>{var n=$n(),i=e(n);qn(e(i),{size:16}),V(i);var a=I(i,2),o=t=>{var n=Qn(),i=e(n);Yn(e(i),{size:16}),V(i),V(n),H(`click`,i,()=>{r.onfork?.(g(k)),T(s,!1)}),l(t,n)};d(a,e=>{g(s)&&e(o)}),V(n),H(`click`,i,()=>T(s,!g(s))),l(t,n)},c=t=>{var n=er();qn(e(n),{size:16}),V(n),l(t,n)};d(a,e=>{g(k)?e(o):e(c,-1)});var p=I(a,2),m=e(p),h=n=>{var r=ar(),i=w(r),a=e(i),o=e(a),s=e=>{var t=u(),n=w(t),r=e=>{ke(e,{size:14})},i=e=>{ie(e,{size:14})};d(n,e=>{g(f)?e(r):e(i,-1)}),l(e,t)};d(o,e=>{g(L)&&e(s)});var c=I(o,2),p=e(c);V(c);var m=I(c,2),h=n=>{var r=tr(),i=e(r);V(r),v(()=>t(i,`${g(P).length??``} lines`)),l(n,r)};d(m,e=>{g(L)&&e(h)}),V(a);var _=I(a,2),y=e(_);let b;It(e(y),{get text(){return g(N).body}}),V(y);var x=I(y,2),S=e=>{var t=nr();H(`click`,t,()=>T(f,!0)),l(e,t)},C=e=>{var t=rr();H(`click`,t,()=>T(f,!1)),l(e,t)};d(x,e=>{g(L)&&!g(f)?e(S):g(L)&&g(f)&&e(C,1)}),V(_),V(i);var E=I(i,2),D=n=>{var r=ir(),i=e(r),a=e(i,!0);V(i),V(r),v(()=>t(a,g(N).after)),l(n,r)};d(E,e=>{g(N).after&&e(D)}),v(()=>{t(p,`[skill: ${g(N).name??``}]`),b=B(y,1,`skill-text-container svelte-1uqoiy7`,null,b,{"skill-text-collapsed":g(L)&&!g(f),"skill-text-expanded":g(L)&&g(f)})}),H(`click`,a,()=>T(f,!g(f))),l(n,r)},_=n=>{var r=or(),i=e(r),a=e(i,!0);V(i),V(r),v(()=>t(a,g(j))),l(n,r)};d(m,e=>{g(N)?e(h):e(_,-1)}),V(p),V(i),l(n,i)},oe=n=>{let a=F(()=>G.viewed?.toolExecutions??{});var s=u(),c=w(s),f=t=>{var n=cr();Xn(e(n),{size:12}),R(2),V(n),l(t,n)},y=n=>{var s=hr(),c=e(s),f=e(c),y=t=>{var n=ur(),r=w(n);Jn(e(r),{size:16}),V(r);var i=I(r,2),a=t=>{var n=lr(),r=e(n),i=e=>{Un(e,{get messageKey(){return o()},get textContent(){return g(x)}})};d(r,e=>{g(m)&&e(i)}),Kn(I(r,2),{get text(){return g(x)},title:`Copy message`}),V(n),l(t,n)};d(i,e=>{g(p)&&e(a)}),H(`click`,r,()=>T(p,!g(p))),l(t,n)},b=t=>{var n=dr();Jn(e(n),{size:16}),V(n),l(t,n)};d(f,e=>{g(C)?e(y):e(b,-1)}),V(c);var E=I(c,2),D=e(E),O=n=>{var r=pr(),i=e(r);Te(e(i),{size:14}),R(2),V(i);var a=I(i,2),o=e(a,!0);V(a);var s=I(a,2),c=n=>{var r=fr(),i=e(r);V(r),v(()=>t(i,`request id: ${g(S).requestId??``}`)),l(n,r)};d(s,e=>{g(S).requestId&&e(c)}),V(r),v(()=>t(o,g(S).summary)),l(n,r)};d(D,e=>{g(S)&&e(O)});var k=I(D,2);h(k,17,()=>r.message.content,i,(e,t)=>{let n=F(()=>g(t).streaming??!1);var r=u(),i=w(r),o=e=>{{let r=F(()=>g(t).text??``);It(e,{get text(){return g(r)},get streaming(){return g(n)}})}},s=e=>{{let r=F(()=>g(t).text??``);Ut(e,{get text(){return g(r)},get streaming(){return g(n)}})}},c=e=>{let r=F(()=>g(t).toolCallId?g(a)[g(t).toolCallId]:void 0);{let i=F(()=>g(r)?.status===`running`),a=F(()=>g(r)?.partialResult??``),o=F(()=>g(r)?.status===`completed`?g(r).result:void 0),s=F(()=>g(r)?.isError);Nn(e,{get content(){return g(t)},get streaming(){return g(n)},get inProgress(){return g(i)},get partialResult(){return g(a)},get result(){return g(o)},get isError(){return g(s)}})}},f=e=>{Nn(e,{get content(){return g(t)}})};d(i,e=>{g(t).type===`text`?e(o):g(t).type===`thinking`?e(s,1):g(t).type===`tool_call`?e(c,2):g(t).type===`tool_result`&&e(f,3)}),l(e,r)});var A=I(k,2),j=t=>{var n=mr();Xn(e(n),{size:12}),R(2),V(n),l(t,n)};d(A,e=>{g(_)&&e(j)}),V(E),V(s),v(()=>B(s,1,`message assistant-message ${g(_)?`aborted`:``} ${g(S)?`errored`:``}`,`svelte-1uqoiy7`)),l(n,s)};d(c,e=>{g(b)?e(f):e(y,-1)}),l(n,s)},se=n=>{var i=xr(),o=e(i),s=e(o),f=t=>{var n=gr(),r=I(w(n),2);Kt(e(r),{get text(){return g(ee)},get streaming(){return a()},accent:`purple`}),V(r),l(t,n)},p=n=>{var i=br(),a=w(i),o=e(a),s=e=>{var t=u(),n=w(t),r=e=>{ke(e,{size:14})},i=e=>{ie(e,{size:14})};d(n,e=>{g(c)?e(r):e(i,-1)}),l(e,t)};d(o,e=>{g(te)&&e(s)});var f=I(o,2),p=e(f);V(f);var m=I(f,2),h=n=>{var r=_r(),i=e(r);V(r),v(()=>t(i,`${g(z).length??``} lines`)),l(n,r)};d(m,e=>{g(te)&&e(h)}),V(a);var _=I(a,2),y=e(_);let b;It(e(y),{get text(){return g(ee)}}),V(y);var x=I(y,2),S=e=>{var t=vr();H(`click`,t,()=>T(c,!0)),l(e,t)},C=e=>{var t=yr();H(`click`,t,()=>T(c,!1)),l(e,t)};d(x,e=>{g(te)&&!g(c)?e(S):g(te)&&g(c)&&e(C,1)}),V(_),v(()=>{t(p,`[${(`customType`in r.message?r.message.customType??`custom`:`custom`)??``}]`),b=B(y,1,`custom-text-container svelte-1uqoiy7`,null,b,{"custom-text-collapsed":g(te)&&!g(c),"custom-text-expanded":g(te)&&g(c)})}),H(`click`,a,()=>T(c,!g(c))),l(n,i)};d(s,e=>{a()?e(f):e(p,-1)}),V(o),V(i),l(n,i)},ce=n=>{var i=Sr(),a=e(i),o=e(a),s=e(o,!0);V(o),V(a),V(i),v(e=>t(s,e),[()=>D(r.message)]),l(n,i)};d(ne,e=>{r.message.role===`toolResult`?e(re):r.message.role===`user`?e(ae,1):r.message.role===`assistant`?e(oe,2):r.message.role===`custom`?e(se,3):e(ce,-1)}),l(n,U),M()}m([`click`]);var wr=f(`<div class="streaming-indicator svelte-132ojzb"><span class="dot svelte-132ojzb"></span> <span class="dot svelte-132ojzb"></span> <span class="dot svelte-132ojzb"></span></div>`);function Tr(e){l(e,wr())}function Er(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M12 5v14`}],[`path`,{d:`m19 12-7 7-7-7`}]];U(e,P({name:`arrow-down`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}function Dr(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`m15 9-6 6`}],[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`}],[`path`,{d:`m9 9 6 6`}]];U(e,P({name:`octagon-x`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}var Or=f(`<div class="empty-state svelte-qha2j"><p>No messages yet</p></div>`),kr=f(`<div class="streaming-indicator-row svelte-qha2j"><!></div>`),Ar=f(`<div class="last-activity svelte-qha2j"> </div>`),jr=f(`<button class="bg-destructive text-primary-foreground hover:bg-destructive/80 active:bg-destructive/70 absolute right-3 bottom-3 z-10 flex items-center justify-center rounded-full p-3 shadow-lg transition-colors md:hidden" title="Abort"><!></button>`),Mr=f(`<!> <!>`,1),Nr=f(`<!> <!> <!> <!>`,1),Pr=f(`<!> <!>`,1),Fr=f(`<button class="scroll-to-bottom svelte-qha2j"><!></button>`),Ir=f(`<div class="message-list-wrapper svelte-qha2j"><div class="message-list svelte-qha2j"><div><!> <!> <!> <!></div></div> <!> <!> <!></div>`);function Lr(i,o){E(o,!0);let s=y(o,`readOnly`,3,!1),f=A(!1),p=A(null);function m(){return new Promise(e=>{T(p,e,!0),T(f,!0)})}function b(e){g(p)?.(e),T(p,null),T(f,!1)}async function x(e){let t=G.viewed;if(!t?.sessionId)return;let n;try{n=await W.send({type:`fork`,sessionId:t.sessionId,entryId:e})}catch(e){console.error(`Failed to send fork:`,e);return}if(!n.success||!n.data)return;let r=n.data;if(r.cancelled)return;let i=G.viewedSessionId;if(!i)return;let a=G.viewed?.draftText??``,o=r.selectedText;if(!s())if(at(a,o)){let e=ot(a,o,await m());e!==null&&Be(i,e)}else o&&Be(i,o)}async function C(){let e=G.viewed;if(e?.sessionId){try{await W.send({type:`abort`,sessionId:e.sessionId})}catch(e){console.error(`Failed to send abort:`,e)}if(e.pendingSteeringMessages.length>0){try{let t=await W.send({type:`dequeue_steering`,sessionId:e.sessionId});if(t.success&&t.data){let{steering:n,followUp:r}=t.data,i=[...n,...r];i.length>0&&Be(e.sessionId,i.join(`
51
51
  `))}}catch(e){console.error(`Failed to dequeue steering messages after abort:`,e)}e.pendingSteeringMessages=[]}}}let k=A(void 0),j=A(!1),N=A(!0);function P(){if(!g(k))return;let{scrollTop:e,scrollHeight:t,clientHeight:n}=g(k),r=t-e-n<80;T(j,!r),T(N,r)}let L=F(()=>{let e=G.viewed;if(!e)return[];let t=[];for(let n=0;n<e.messages.length;n++){let r=e.messages[n];r.display!==!1&&t.push({key:e.messageKeys[n]??`fallback-${n}`,message:r,streaming:!1})}return e.streamingMessage&&e.streamingKey&&t.push({key:e.streamingKey,message:e.streamingMessage,streaming:!0}),t}),ee=F(()=>{let e=G.viewed;return e?.isStreaming?!e.streamingMessage||e.streamingMessage.content.length===0:!1});_(()=>{g(L).length;let e=G.viewed?.streamingMessage;e&&e.content.length>0&&(e.content.length,e.content[e.content.length-1].text),g(N)&&g(k)&&a().then(()=>{g(k)&&g(N)&&(g(k).scrollTop=g(k).scrollHeight)})});function z(){g(k)&&(T(N,!0),g(k).scrollTop=g(k).scrollHeight)}let U=A(O(Date.now())),ne=setInterval(()=>{T(U,Date.now(),!0)},15e3);D(()=>clearInterval(ne));let re=F(()=>{g(U);let e=G.viewed;return!e?.lastBotActivityTimestamp||e.isStreaming?null:_e(e.lastBotActivityTimestamp)});var ie=Ir(),oe=e(ie),ce=e(oe);let le;var de=e(ce),me=e=>{l(e,Or())};d(de,e=>{g(L).length===0&&!G.viewed?.isStreaming&&e(me)});var he=I(de,2);h(he,17,()=>g(L),e=>e.key,(e,t)=>{Cr(e,{get message(){return g(t).message},get streaming(){return g(t).streaming},get messageKey(){return g(t).key},onfork:x})});var ge=I(he,2),ve=t=>{var n=kr();Tr(e(n),{}),V(n),l(t,n)};d(ge,e=>{g(ee)&&e(ve)});var ye=I(ge,2),be=n=>{var r=Ar(),i=e(r,!0);V(r),v(()=>t(i,g(re))),l(n,r)};d(ye,e=>{g(re)&&e(be)}),V(ce),V(oe),S(oe,e=>T(k,e),()=>g(k));var xe=I(oe,2),Se=t=>{var n=jr();Dr(e(n),{class:`size-5`}),V(n),H(`pointerdown`,n,e=>e.preventDefault()),H(`click`,n,C),l(t,n)};d(xe,e=>{G.viewed?.isStreaming&&!s()&&e(Se)});var Ce=I(xe,2);r(Ce,()=>ue,(e,t)=>{t(e,{get open(){return g(f)},onOpenChange:e=>{e||b(`ignore`)},children:(e,t)=>{var n=u();r(w(n),()=>Oe,(e,t)=>{t(e,{showCloseButton:!1,children:(e,t)=>{var n=Pr(),i=w(n);r(i,()=>fe,(e,t)=>{t(e,{children:(e,t)=>{var n=Mr(),i=w(n);r(i,()=>se,(e,t)=>{t(e,{children:(e,t)=>{R(),l(e,c(`Draft conflict`))},$$slots:{default:!0}})}),r(I(i,2),()=>te,(e,t)=>{t(e,{children:(e,t)=>{R(),l(e,c(`The editor already has text. How should the forked message be combined?`))},$$slots:{default:!0}})}),l(e,n)},$$slots:{default:!0}})}),r(I(i,2),()=>pe,(e,t)=>{t(e,{children:(e,t)=>{var n=Nr(),r=w(n);ae(r,{variant:`outline`,onclick:()=>b(`ignore`),children:(e,t)=>{R(),l(e,c(`Ignore`))},$$slots:{default:!0}});var i=I(r,2);ae(i,{variant:`outline`,onclick:()=>b(`prepend`),children:(e,t)=>{R(),l(e,c(`Prepend`))},$$slots:{default:!0}});var a=I(i,2);ae(a,{variant:`outline`,onclick:()=>b(`append`),children:(e,t)=>{R(),l(e,c(`Append`))},$$slots:{default:!0}}),ae(I(a,2),{onclick:()=>b(`replace`),children:(e,t)=>{R(),l(e,c(`Replace`))},$$slots:{default:!0}}),l(e,n)},$$slots:{default:!0}})}),l(e,n)},$$slots:{default:!0}})}),l(e,n)},$$slots:{default:!0}})});var we=I(Ce,2),Te=t=>{var n=Fr();Er(e(n),{size:18}),V(n),H(`click`,n,z),l(t,n)};d(we,e=>{g(j)&&e(Te)}),V(ie),v(()=>le=B(ce,1,`message-list-inner svelte-qha2j`,null,le,{"pointer-events-none":s()})),n(`scroll`,oe,P),l(i,ie),M()}m([`pointerdown`,`click`]);var Rr=f(`<span class="panel-title-meta svelte-j9tcnn"> </span>`),zr=f(`<div class="panel-description svelte-j9tcnn"> </div>`),Br=f(`<span class="option-desc svelte-j9tcnn"> </span>`),Vr=f(`<button><span class="option-number svelte-j9tcnn"> </span> <span class="option-body svelte-j9tcnn"><span class="option-label svelte-j9tcnn"> </span> <!></span></button>`),Hr=f(`<!> <div class="panel-options svelte-j9tcnn"></div> <div class="panel-hint svelte-j9tcnn"><span><kbd class="svelte-j9tcnn">1</kbd>–<kbd class="svelte-j9tcnn"> </kbd> select</span> <span class="hint-sep svelte-j9tcnn">·</span> <span><kbd class="svelte-j9tcnn">↑↓</kbd> navigate</span> <span class="hint-sep svelte-j9tcnn">·</span> <span><kbd class="svelte-j9tcnn">Enter</kbd> confirm</span> <span class="hint-sep svelte-j9tcnn">·</span> <span><kbd class="svelte-j9tcnn">Esc</kbd> cancel</span></div>`,1),Ur=f(`<div tabindex="0" role="listbox"><div class="panel-header svelte-j9tcnn"><span class="panel-title svelte-j9tcnn"> <!></span> <div class="panel-header-actions svelte-j9tcnn"><button class="panel-collapse svelte-j9tcnn"> </button> <button class="panel-cancel svelte-j9tcnn">Esc to cancel</button></div></div> <!></div>`),Wr=f(`<div class="panel-description svelte-j9tcnn"> </div>`),Gr=f(`<!> <div class="confirm-actions svelte-j9tcnn"><!> <!></div> <div class="panel-hint svelte-j9tcnn"><span><kbd class="svelte-j9tcnn">Y</kbd> yes</span> <span class="hint-sep svelte-j9tcnn">·</span> <span><kbd class="svelte-j9tcnn">N</kbd> no</span> <span class="hint-sep svelte-j9tcnn">·</span> <span><kbd class="svelte-j9tcnn">Esc</kbd> cancel</span></div>`,1),Kr=f(`<div tabindex="0" role="dialog"><div class="panel-header svelte-j9tcnn"><span class="panel-title svelte-j9tcnn"> </span> <div class="panel-header-actions svelte-j9tcnn"><button class="panel-collapse svelte-j9tcnn"> </button> <button class="panel-cancel svelte-j9tcnn">Esc to cancel</button></div></div> <!></div>`);function qr(r,i){E(i,!0);function a(e){let t=e.replace(/^\d\.\s+/,``),n=t.match(/^(.+?)\s+[—–]\s+(.+)$/s);return n?{value:e,label:n[1].trim(),description:n[2].trim()}:{value:e,label:t.trim()}}let o=he(),s=A(-1),f=A(!1),p=A(void 0),m=F(()=>{let e=G.viewedSessionId;return o.all.find(t=>He.has(t.method)&&t.sessionId===e)??null});_(()=>{g(m)&&(T(s,-1),T(f,!1))}),_(()=>{g(m)&&g(p)&&g(p).focus()});function y(e){e.stopPropagation(),T(f,!g(f)),queueMicrotask(()=>g(p)?.focus())}function b(e){g(m)&&o.sendResponse(g(m).requestId,g(m).sessionId,e)}function x(e){b({value:e})}function C(e){b({confirmed:e})}function D(){b({cancelled:!0})}function O(e,t){if(g(m)?.method===`select`){if(e.key>=`1`&&e.key<=`9`){let n=parseInt(e.key)-1;if(n<t.length){e.preventDefault(),x(t[n].value);return}}if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),e.key===`ArrowDown`?T(s,Math.min(g(s)+1,t.length-1),!0):T(s,Math.max(g(s)-1,0),!0);return}if(e.key===`Enter`&&g(s)>=0&&g(s)<t.length){e.preventDefault(),x(t[g(s)].value);return}}if(g(m)?.method===`confirm`){if(e.key===`y`||e.key===`Y`){e.preventDefault(),C(!0);return}if(e.key===`n`||e.key===`N`){e.preventDefault(),C(!1);return}}e.key===`Escape`&&(e.preventDefault(),D())}var k=u(),N=w(k),P=r=>{var i=u(),o=w(i),_=r=>{let i=F(()=>g(m).options??[]),o=F(()=>g(i).map(e=>{let t=typeof e==`string`?e:e.label??e.value??String(e);return{value:typeof e==`string`?e:e.value??e.label??String(e),parsed:a(t)}}));var c=Ur();let u;var _=e(c),b=e(_),C=e(b),E=I(C),k=n=>{var r=Rr(),i=e(r);V(r),v(()=>t(i,`· ${g(o).length??``} option${g(o).length===1?``:`s`}`)),l(n,r)};d(E,e=>{g(f)&&e(k)}),V(b);var A=I(b,2),M=e(A),N=e(M,!0);V(M);var P=I(M,2);V(A),V(_);var L=I(_,2),ee=r=>{var i=Hr(),a=w(i),c=n=>{var r=zr(),i=e(r,!0);V(r),v(()=>t(i,g(m).message)),l(n,r)};d(a,e=>{g(m).message&&e(c)});var u=I(a,2);h(u,23,()=>g(o),e=>e.value,(r,i,a)=>{let o=F(()=>g(i).parsed);var c=Vr();let u;var f=e(c),p=e(f,!0);V(f);var m=I(f,2),h=e(m),_=e(h,!0);V(h);var y=I(h,2),b=n=>{var r=Br(),i=e(r,!0);V(r),v(()=>t(i,g(o).description)),l(n,r)};d(y,e=>{g(o).description&&e(b)}),V(m),V(c),v(()=>{u=B(c,1,`select-option svelte-j9tcnn`,null,u,{highlighted:g(a)===g(s)}),t(p,g(a)+1),t(_,g(o).label)}),H(`click`,c,()=>x(g(i).value)),n(`mouseenter`,c,()=>T(s,g(a),!0)),l(r,c)}),V(u);var f=I(u,2),p=e(f),_=I(e(p),2),y=e(_,!0);V(_),R(),V(p),R(12),V(f),v(()=>t(y,g(o).length)),l(r,i)};d(L,e=>{g(f)||e(ee)}),V(c),S(c,e=>T(p,e),()=>g(p)),v(()=>{u=B(c,1,`inline-select-panel svelte-j9tcnn`,null,u,{collapsed:g(f)}),t(C,`${g(m).title??`Select`??``} `),j(M,`aria-label`,g(f)?`Expand`:`Collapse`),j(M,`aria-expanded`,!g(f)),t(N,g(f)?`▾`:`▴`)}),H(`keydown`,c,e=>O(e,g(o))),H(`click`,M,y),H(`click`,P,D),l(r,c)},b=n=>{var r=Kr();let i;var a=e(r),o=e(a),s=e(o,!0);V(o);var u=I(o,2),h=e(u),_=e(h,!0);V(h);var b=I(h,2);V(u),V(a);var x=I(a,2),E=n=>{var r=Gr(),i=w(r),a=n=>{var r=Wr(),i=e(r,!0);V(r),v(()=>t(i,g(m).message)),l(n,r)};d(i,e=>{g(m).message&&e(a)});var o=I(i,2),s=e(o);ae(s,{variant:`outline`,onclick:()=>C(!1),children:(e,t)=>{R(),l(e,c(`No`))},$$slots:{default:!0}}),ae(I(s,2),{onclick:()=>C(!0),children:(e,t)=>{R(),l(e,c(`Yes`))},$$slots:{default:!0}}),V(o),R(2),l(n,r)};d(x,e=>{g(f)||e(E)}),V(r),S(r,e=>T(p,e),()=>g(p)),v(()=>{i=B(r,1,`inline-select-panel svelte-j9tcnn`,null,i,{collapsed:g(f)}),t(s,g(m).title??`Confirm`),j(h,`aria-label`,g(f)?`Expand`:`Collapse`),j(h,`aria-expanded`,!g(f)),t(_,g(f)?`▾`:`▴`)}),H(`keydown`,r,e=>O(e,[])),H(`click`,h,y),H(`click`,b,D),l(n,r)};d(o,e=>{g(m).method===`select`?e(_):g(m).method===`confirm`&&e(b,1)}),l(r,i)};d(N,e=>{g(m)&&e(P)}),l(r,k),M()}m([`keydown`,`click`]);var Jr=f(`<p class="text-muted-foreground truncate text-left text-xs"> </p>`),Yr=f(`<button class="border-border bg-background hover:bg-accent/50 active:bg-accent w-full border-t transition-colors" title="Pull back pending steering messages for editing"><div class="mx-auto flex max-w-3xl items-start gap-2 px-4 py-2"><!> <div class="flex min-w-0 flex-1 flex-col gap-0.5"></div> <span class="text-muted-foreground/60 mt-0.5 shrink-0 text-[10px]">tap to edit</span></div></button>`);function Xr(n,r){E(r,!0);let a=A(!1),o=F(()=>G.viewed?.pendingSteeringMessages??[]);async function s(){let e=G.viewed;if(!(!e||g(a))){T(a,!0);try{let t=await W.send({type:`dequeue_steering`,sessionId:e.sessionId});if(t.success&&t.data){let{steering:n}=t.data;n.length>0&&Be(e.sessionId,n.join(`
52
- `)),e.pendingSteeringMessages=[]}}catch(e){console.error(`Failed to dequeue steering messages:`,e)}finally{T(a,!1)}}}var c=u(),f=w(c),p=n=>{var r=Yr(),c=e(r),u=e(c);me(u,{class:`text-muted-foreground mt-0.5 size-3.5 shrink-0`});var d=I(u,2);h(d,21,()=>g(o),i,(n,r)=>{var i=Jr(),a=e(i,!0);V(i),v(()=>t(a,g(r))),l(n,i)}),V(d),R(2),V(c),V(r),v(()=>r.disabled=g(a)),H(`click`,r,s),l(n,r)};d(f,e=>{g(o).length>0&&e(p)}),l(n,c),M()}m([`click`]);function Zr(e,t){let n=e.toLowerCase(),r=t.toLowerCase(),i=e=>{if(e.length===0)return{matches:!0,score:0};if(e.length>r.length)return{matches:!1,score:0};let t=0,n=0,i=-1,a=0;for(let o=0;o<r.length&&t<e.length;o++)if(r[o]===e[t]){let e=o===0||/[\s\-_./:]/.test(r[o-1]);i===o-1?(a++,n-=a*5):(a=0,i>=0&&(n+=(o-i-1)*2)),e&&(n-=10),n+=o*.1,i=o,t++}return t<e.length?{matches:!1,score:0}:{matches:!0,score:n}},a=i(n);if(a.matches)return a;let o=n.match(/^(?<letters>[a-z]+)(?<digits>[0-9]+)$/),s=n.match(/^(?<digits>[0-9]+)(?<letters>[a-z]+)$/),c=o?`${o.groups?.digits??``}${o.groups?.letters??``}`:s?`${s.groups?.letters??``}${s.groups?.digits??``}`:``;if(!c)return a;let l=i(c);return l.matches?{matches:!0,score:l.score+5}:a}function Qr(e,t,n){if(!t.trim())return e;let r=t.trim().split(/\s+/).filter(e=>e.length>0);if(r.length===0)return e;let i=[];for(let t of e){let e=n(t),a=0,o=!0;for(let t of r){let n=Zr(t,e);if(n.matches)a+=n.score;else{o=!1;break}}o&&i.push({item:t,totalScore:a})}return i.sort((e,t)=>e.totalScore-t.totalScore),i.map(e=>e.item)}var $r=f(`<span class="text-muted-foreground truncate text-xs"> </span>`),ei=f(`<button><span class="shrink-0 font-medium"> </span> <!></button>`),ti=f(`<div class="bg-popover text-popover-foreground border-border absolute right-0 bottom-full left-0 z-50 mb-1 max-h-64 overflow-y-auto rounded-lg border shadow-md"></div>`);function ni(n,r){E(r,!0);let i=F(()=>r.mode===`command`?Qr(r.items,r.query,e=>e.name).slice(0,10):[]),a=A(O([])),o,s=0;_(()=>{if(r.mode!==`args`&&r.mode!==`fileRefs`||!r.visible)return;let e=r.mode,t=r.query,n=r.commandName,i=r.sessionId;return clearTimeout(o),o=setTimeout(async()=>{let r=++s;try{let o=await(e===`fileRefs`?W.send({type:`complete_file_refs`,sessionId:i,prefix:t}):W.send({type:`complete_args`,sessionId:i,commandName:n,prefix:t}));if(r!==s)return;if(o.success&&o.data){let e=o.data.items;T(a,e??[],!0)}else T(a,[],!0)}catch{if(r!==s)return;T(a,[],!0)}},200),()=>clearTimeout(o)});let c=F(()=>r.mode===`command`?g(i).map(e=>({name:e.name,description:e.description})):g(a).map(e=>({name:e.label,value:e.value,description:e.description}))),f=A(0);_(()=>{g(c),T(f,0)});let p=A(void 0);_(()=>{if(!g(p))return;let e=g(f);g(p).children[e]?.scrollIntoView({block:`nearest`})});function m(){g(c).length!==0&&T(f,g(f)<=0?g(c).length-1:g(f)-1,!0)}function y(){g(c).length!==0&&T(f,g(f)>=g(c).length-1?0:g(f)+1,!0)}function b(){let e=g(c)[g(f)];e&&r.onselect(e)}function x(){r.ondismiss()}var C={moveUp:m,moveDown:y,accept:b,dismiss:x},D=u(),k=w(D),j=n=>{var r=ti();h(r,23,()=>g(c),(e,t)=>e.name+`-`+t,(n,r,i)=>{var a=ei(),o=e(a),s=e(o,!0);V(o);var c=I(o,2),u=n=>{var i=$r(),a=e(i,!0);V(i),v(()=>t(a,g(r).description)),l(n,i)};d(c,e=>{g(r).description&&e(u)}),V(a),v(()=>{B(a,1,`flex w-full items-baseline gap-2 px-3 py-2 text-left text-sm transition-colors ${g(i)===g(f)?`bg-accent`:`hover:bg-accent/50`}`),t(s,g(r).name)}),H(`pointerdown`,a,e=>e.preventDefault()),H(`click`,a,()=>{T(f,g(i),!0),b()}),l(n,a)}),V(r),S(r,e=>T(p,e),()=>g(p)),l(n,r)};return d(k,e=>{r.visible&&g(c).length>0&&e(j)}),l(n,D),M(C)}m([`pointerdown`,`click`]);function ri(e){let t=-1;for(let n=e.length-1;n>=0;n--){if(e[n]!==`@`)continue;let r=n===0?void 0:e[n-1];if(r===void 0||r===`"`||r===`=`||/\s/.test(r)){t=n;break}}if(t===-1)return null;let n=e.slice(t),r=n.slice(1);return r.startsWith(`"`)?n:/\s/.test(r)?null:n}function ii(e){let t=e.startsWith(`@"`)&&e.endsWith(`"`),n=t?e.slice(2,-1):e.slice(1);if(!n.endsWith(`/`))return{insertedText:e,isDirectory:!1,nextPrefix:null};let r=t?`@"${n}`:`@${n}`;return{insertedText:r,isDirectory:!0,nextPrefix:r}}function ai(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`}],[`path`,{d:`m21.854 2.147-10.94 10.939`}]];U(e,P({name:`send`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}function oi(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}]];U(e,P({name:`message-square`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}var si=f(`<button class="bg-destructive text-primary-foreground hover:bg-destructive/80 active:bg-destructive/70 mb-1 hidden shrink-0 items-center gap-1.5 rounded-lg px-3 py-2 text-sm font-medium transition-colors md:flex" title="Abort"><!> <span class="hidden sm:inline">Abort</span></button>`),ci=f(`<button class="text-muted-foreground bg-secondary border-border hover:bg-accent active:bg-accent/70 flex shrink-0 items-center justify-center rounded-lg border px-3 py-3 transition-colors md:hidden" title="Slash commands"><span class="text-sm leading-5 font-bold">/</span></button>`),li=f(`<div class="group relative"><img alt="Staged" class="border-border h-16 w-16 rounded-lg border object-cover"/> <button class="bg-background/80 text-foreground hover:bg-destructive hover:text-destructive-foreground border-border absolute -top-1.5 -right-1.5 flex h-5 w-5 items-center justify-center rounded-full border shadow-sm transition-colors" title="Remove image"><!></button></div>`),ui=f(`<div class="mb-1 flex flex-wrap gap-1.5"></div>`),di=f(`<div class="border-border bg-background relative shrink-0 border-t px-3 pt-2 pb-[max(env(safe-area-inset-bottom),8px)]"><div class="mx-auto flex max-w-3xl items-end gap-2"><!> <!> <div class="relative flex-1"><!> <!> <textarea></textarea> <button><!></button></div></div></div>`);function fi(t,r){E(r,!0);let o=A(``),c=A(void 0),u=A(void 0),f=A(O([])),m=A(!1),y=F(()=>G.viewedSessionId===null),b=F(()=>G.viewedSessionId?.startsWith(`pending-`)??!1),x=F(()=>!g(y)&&!g(b)&&W.ready),C=F(()=>g(o).trim().length>0||g(f).length>0),w=A(!1),D=A(`command`),k=A(null),N=A(null),P=F(()=>Qe.getCommands(G.viewedSessionId??``)),ee=F(()=>{if(!g(w))return``;if(g(D)===`fileRefs`)return g(N)??``;let e=g(o);if(!e.startsWith(`/`))return``;let t=e.slice(1),n=t.indexOf(` `);return g(D)===`command`?n===-1?t:t.slice(0,n):n===-1?``:t.slice(n+1)});_(()=>{G.viewedSessionId,T(o,s(()=>G.viewed?.draftText??``),!0),T(f,[],!0),a().then(()=>U())});let z=0;_(()=>{let{sessionId:e,text:t,seq:n}=we;n!==z&&(z=n,e===G.viewedSessionId&&(T(o,t,!0),a().then(()=>U())))});let te=0;_(()=>{let{images:e,seq:t}=Ue;t!==te&&(te=t,e.length>0&&T(f,[...g(f),...e],!0))});function U(){if(!g(c))return;g(c).style.overflow=`hidden`,g(c).style.height=`auto`;let e=Math.min(g(c).scrollHeight,200);g(c).style.height=`${e}px`,g(c).style.overflow=g(c).scrollHeight>200?`auto`:`hidden`}function ne(e){for(let t of e){if(!t.type.startsWith(`image/`))continue;let e=new FileReader;e.onload=()=>{T(f,[...g(f),e.result],!0)},e.readAsDataURL(t)}}function re(e){T(f,g(f).filter((t,n)=>n!==e),!0)}function ie(e){if(!g(x))return;let t=e.clipboardData?.items;if(!t)return;let n=[];for(let e of t)if(e.type.startsWith(`image/`)){let t=e.getAsFile();t&&n.push(t)}n.length>0&&(ne(n),e.clipboardData?.types.includes(`text/plain`)||e.preventDefault())}function ae(e){if(e.preventDefault(),T(m,!1),!g(x))return;let t=e.dataTransfer?.files;t&&ne(Array.from(t))}function oe(e){e.preventDefault(),g(x)&&T(m,!0)}function se(e){let t=e.currentTarget.getBoundingClientRect();(e.clientX<=t.left||e.clientX>=t.right||e.clientY<=t.top||e.clientY>=t.bottom)&&T(m,!1)}function ce(){if(!g(c)){T(w,!1),T(k,null),T(N,null);return}let e=ri(g(o).slice(0,g(c).selectionStart));if(e!==null){T(w,!0),T(D,`fileRefs`),T(N,e,!0),T(k,null);return}if(T(N,null),!g(o).startsWith(`/`)){T(w,!1),T(k,null);return}let t=g(c).selectionStart,n=g(o).slice(1),r=n.indexOf(` `);t<=(r===-1?n.length:r)+1?(g(w)||T(k,null),T(w,!0),T(D,`command`)):g(k)?.hasArgCompletions?(T(w,!0),T(D,`args`)):(T(w,!1),T(k,null))}function le(e){if(e&&g(c)){let t=e;t.inputType===`insertText`&&t.data===`/`&&g(c).selectionStart===1&&g(o).length>1&&g(o)[1]!==` `&&(T(o,`/ `+g(o).slice(1)),G.viewed&&(G.viewed.draftText=g(o)),a().then(()=>{g(c).selectionStart=g(c).selectionEnd=1}))}G.viewed&&(G.viewed.draftText=g(o)),ce(),U()}async function ue(){let e=g(o).trim();if(!g(x))return;if(e===`/login`){Ce.open(),T(o,``),T(w,!1),T(k,null),G.viewed&&(G.viewed.draftText=``),g(c)&&(g(c).style.height=`auto`);return}let t=!1;if(G.viewed?.isStreaming){if(!e)return;G.viewed.pendingSteeringMessages.push(e);try{await W.send({type:`steer`,sessionId:G.viewed.sessionId,message:e}),t=!0}catch(e){console.error(`Failed to send steer:`,e)}}else{if(!e&&g(f).length===0)return;try{let n=await W.send({type:`prompt`,sessionId:G.viewed.sessionId,message:e,...g(f).length>0?{images:g(f)}:{}});t=!0;let r=n.data;r?.tree?Se.openDialog(G.viewed.sessionId,r.tree,r.currentLeafId??null):G.addOptimisticUserMessage(G.viewed.sessionId,e)}catch(e){console.error(`Failed to send prompt:`,e)}}t&&(T(o,``),T(w,!1),T(k,null),T(f,[],!0),G.viewed&&(G.viewed.draftText=``),g(c)&&(g(c).style.height=`auto`))}async function fe(){let e=G.viewed;if(e?.sessionId){try{await W.send({type:`abort`,sessionId:e.sessionId})}catch(e){console.error(`Failed to send abort:`,e)}if(e.pendingSteeringMessages.length>0){try{let t=await W.send({type:`dequeue_steering`,sessionId:e.sessionId});if(t.success&&t.data){let{steering:n,followUp:r}=t.data,i=[...n,...r];i.length>0&&Be(e.sessionId,i.join(`
52
+ `)),e.pendingSteeringMessages=[]}}catch(e){console.error(`Failed to dequeue steering messages:`,e)}finally{T(a,!1)}}}var c=u(),f=w(c),p=n=>{var r=Yr(),c=e(r),u=e(c);me(u,{class:`text-muted-foreground mt-0.5 size-3.5 shrink-0`});var d=I(u,2);h(d,21,()=>g(o),i,(n,r)=>{var i=Jr(),a=e(i,!0);V(i),v(()=>t(a,g(r))),l(n,i)}),V(d),R(2),V(c),V(r),v(()=>r.disabled=g(a)),H(`click`,r,s),l(n,r)};d(f,e=>{g(o).length>0&&e(p)}),l(n,c),M()}m([`click`]);function Zr(e,t){let n=e.toLowerCase(),r=t.toLowerCase(),i=e=>{if(e.length===0)return{matches:!0,score:0};if(e.length>r.length)return{matches:!1,score:0};let t=0,n=0,i=-1,a=0;for(let o=0;o<r.length&&t<e.length;o++)if(r[o]===e[t]){let e=o===0||/[\s\-_./:]/.test(r[o-1]);i===o-1?(a++,n-=a*5):(a=0,i>=0&&(n+=(o-i-1)*2)),e&&(n-=10),n+=o*.1,i=o,t++}return t<e.length?{matches:!1,score:0}:{matches:!0,score:n}},a=i(n);if(a.matches)return a;let o=n.match(/^(?<letters>[a-z]+)(?<digits>[0-9]+)$/),s=n.match(/^(?<digits>[0-9]+)(?<letters>[a-z]+)$/),c=o?`${o.groups?.digits??``}${o.groups?.letters??``}`:s?`${s.groups?.letters??``}${s.groups?.digits??``}`:``;if(!c)return a;let l=i(c);return l.matches?{matches:!0,score:l.score+5}:a}function Qr(e,t,n){if(!t.trim())return e;let r=t.trim().split(/\s+/).filter(e=>e.length>0);if(r.length===0)return e;let i=[];for(let t of e){let e=n(t),a=0,o=!0;for(let t of r){let n=Zr(t,e);if(n.matches)a+=n.score;else{o=!1;break}}o&&i.push({item:t,totalScore:a})}return i.sort((e,t)=>e.totalScore-t.totalScore),i.map(e=>e.item)}var $r=f(`<span class="text-muted-foreground truncate text-xs"> </span>`),ei=f(`<button><span class="shrink-0 font-medium"> </span> <!></button>`),ti=f(`<div class="bg-popover text-popover-foreground border-border absolute right-0 bottom-full left-0 z-50 mb-1 max-h-64 overflow-y-auto rounded-lg border shadow-md"></div>`);function ni(n,r){E(r,!0);let i=F(()=>r.mode===`command`?Qr(r.items,r.query,e=>e.name).slice(0,10):[]),a=A(O([])),o,s=0;_(()=>{if(r.mode!==`args`&&r.mode!==`fileRefs`||!r.visible)return;let e=r.mode,t=r.query,n=r.commandName,i=r.sessionId;return clearTimeout(o),o=setTimeout(async()=>{let r=++s;try{let o=await(e===`fileRefs`?W.send({type:`complete_file_refs`,sessionId:i,prefix:t}):W.send({type:`complete_args`,sessionId:i,commandName:n,prefix:t}));if(r!==s)return;if(o.success&&o.data){let e=o.data.items;T(a,e??[],!0)}else T(a,[],!0)}catch{if(r!==s)return;T(a,[],!0)}},200),()=>clearTimeout(o)});let c=F(()=>r.mode===`command`?g(i).map(e=>({name:e.name,description:e.description})):g(a).map(e=>({name:e.label,value:e.value,description:e.description}))),f=A(0);_(()=>{g(c),T(f,0)});let p=A(void 0);_(()=>{if(!g(p))return;let e=g(f);g(p).children[e]?.scrollIntoView({block:`nearest`})});function m(){g(c).length!==0&&T(f,g(f)<=0?g(c).length-1:g(f)-1,!0)}function y(){g(c).length!==0&&T(f,g(f)>=g(c).length-1?0:g(f)+1,!0)}function b(){let e=g(c)[g(f)];e&&r.onselect(e)}function x(){r.ondismiss()}var C={moveUp:m,moveDown:y,accept:b,dismiss:x},D=u(),k=w(D),j=n=>{var r=ti();h(r,23,()=>g(c),(e,t)=>e.name+`-`+t,(n,r,i)=>{var a=ei(),o=e(a),s=e(o,!0);V(o);var c=I(o,2),u=n=>{var i=$r(),a=e(i,!0);V(i),v(()=>t(a,g(r).description)),l(n,i)};d(c,e=>{g(r).description&&e(u)}),V(a),v(()=>{B(a,1,`flex w-full items-baseline gap-2 px-3 py-2 text-left text-sm transition-colors ${g(i)===g(f)?`bg-accent`:`hover:bg-accent/50`}`),t(s,g(r).name)}),H(`pointerdown`,a,e=>e.preventDefault()),H(`click`,a,()=>{T(f,g(i),!0),b()}),l(n,a)}),V(r),S(r,e=>T(p,e),()=>g(p)),l(n,r)};return d(k,e=>{r.visible&&g(c).length>0&&e(j)}),l(n,D),M(C)}m([`pointerdown`,`click`]);function ri(e){let t=-1;for(let n=e.length-1;n>=0;n--){if(e[n]!==`@`)continue;let r=n===0?void 0:e[n-1];if(r===void 0||r===`"`||r===`=`||/\s/.test(r)){t=n;break}}if(t===-1)return null;let n=e.slice(t),r=n.slice(1);return r.startsWith(`"`)?n:/\s/.test(r)?null:n}function ii(e){let t=e.startsWith(`@"`)&&e.endsWith(`"`),n=t?e.slice(2,-1):e.slice(1);if(!n.endsWith(`/`))return{insertedText:e,isDirectory:!1,nextPrefix:null};let r=t?`@"${n}`:`@${n}`;return{insertedText:r,isDirectory:!0,nextPrefix:r}}function ai(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`}],[`path`,{d:`m21.854 2.147-10.94 10.939`}]];U(e,P({name:`send`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}function oi(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}]];U(e,P({name:`message-square`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}var si=f(`<button class="bg-destructive text-primary-foreground hover:bg-destructive/80 active:bg-destructive/70 mb-1 hidden shrink-0 items-center gap-1.5 rounded-lg px-3 py-2 text-sm font-medium transition-colors md:flex" title="Abort"><!> <span class="hidden sm:inline">Abort</span></button>`),ci=f(`<button class="text-muted-foreground bg-secondary border-border hover:bg-accent active:bg-accent/70 flex shrink-0 items-center justify-center rounded-lg border px-3 py-3 transition-colors md:hidden" title="Slash commands"><span class="text-sm leading-5 font-bold">/</span></button>`),li=f(`<div class="group relative"><img alt="Staged" class="border-border h-16 w-16 rounded-lg border object-cover"/> <button class="bg-background/80 text-foreground hover:bg-destructive hover:text-destructive-foreground border-border absolute -top-1.5 -right-1.5 flex h-5 w-5 items-center justify-center rounded-full border shadow-sm transition-colors" title="Remove image"><!></button></div>`),ui=f(`<div class="mb-1 flex flex-wrap gap-1.5"></div>`),di=f(`<div class="border-border bg-background relative shrink-0 border-t px-3 pt-2 pb-[max(env(safe-area-inset-bottom),8px)]"><div class="mx-auto flex max-w-3xl items-end gap-2"><!> <!> <div class="relative flex-1"><!> <!> <textarea></textarea> <button><!></button></div></div></div>`);function fi(t,r){E(r,!0);let o=A(``),c=A(void 0),u=A(void 0),f=A(O([])),m=A(!1),y=F(()=>G.viewedSessionId===null),b=F(()=>G.viewedSessionId?.startsWith(`pending-`)??!1),x=F(()=>!g(y)&&!g(b)&&W.ready),C=F(()=>g(o).trim().length>0||g(f).length>0),w=A(!1),D=A(`command`),k=A(null),N=A(null),P=F(()=>Qe.getCommands(G.viewedSessionId??``)),ee=F(()=>{if(!g(w))return``;if(g(D)===`fileRefs`)return g(N)??``;let e=g(o);if(!e.startsWith(`/`))return``;let t=e.slice(1),n=t.indexOf(` `);return g(D)===`command`?n===-1?t:t.slice(0,n):n===-1?``:t.slice(n+1)});_(()=>{G.viewedSessionId,T(o,s(()=>G.viewed?.draftText??``),!0),T(f,[],!0),a().then(()=>U())});let z=0;_(()=>{let{sessionId:e,text:t,seq:n}=we;n!==z&&(z=n,e===G.viewedSessionId&&(T(o,t,!0),a().then(()=>U())))});let te=0;_(()=>{let{images:e,seq:t}=Ue;t!==te&&(te=t,e.length>0&&T(f,[...g(f),...e],!0))});function U(){if(!g(c))return;g(c).style.overflow=`hidden`,g(c).style.height=`auto`;let e=Math.min(g(c).scrollHeight,200);g(c).style.height=`${e}px`,g(c).style.overflow=g(c).scrollHeight>200?`auto`:`hidden`}function ne(e){for(let t of e){if(!t.type.startsWith(`image/`))continue;let e=new FileReader;e.onload=()=>{T(f,[...g(f),e.result],!0)},e.readAsDataURL(t)}}function re(e){T(f,g(f).filter((t,n)=>n!==e),!0)}function ie(e){if(!g(x))return;let t=e.clipboardData?.items;if(!t)return;let n=[];for(let e of t)if(e.type.startsWith(`image/`)){let t=e.getAsFile();t&&n.push(t)}n.length>0&&(ne(n),e.clipboardData?.types.includes(`text/plain`)||e.preventDefault())}function ae(e){if(e.preventDefault(),T(m,!1),!g(x))return;let t=e.dataTransfer?.files;t&&ne(Array.from(t))}function oe(e){e.preventDefault(),g(x)&&T(m,!0)}function se(e){let t=e.currentTarget.getBoundingClientRect();(e.clientX<=t.left||e.clientX>=t.right||e.clientY<=t.top||e.clientY>=t.bottom)&&T(m,!1)}function ce(){if(!g(c)){T(w,!1),T(k,null),T(N,null);return}let e=ri(g(o).slice(0,g(c).selectionStart));if(e!==null){T(w,!0),T(D,`fileRefs`),T(N,e,!0),T(k,null);return}if(T(N,null),!g(o).startsWith(`/`)){T(w,!1),T(k,null);return}let t=g(c).selectionStart,n=g(o).slice(1),r=n.indexOf(` `);t<=(r===-1?n.length:r)+1?(g(w)||T(k,null),T(w,!0),T(D,`command`)):g(k)?.hasArgCompletions?(T(w,!0),T(D,`args`)):(T(w,!1),T(k,null))}function le(e){if(e&&g(c)){let t=e;t.inputType===`insertText`&&t.data===`/`&&g(c).selectionStart===1&&g(o).length>1&&g(o)[1]!==` `&&(T(o,`/ `+g(o).slice(1)),G.viewed&&(G.viewed.draftText=g(o)),a().then(()=>{g(c).selectionStart=g(c).selectionEnd=1}))}G.viewed&&(G.viewed.draftText=g(o)),ce(),U()}async function ue(){let e=g(o).trim();if(!g(x))return;if(e===`/login`||e===`/logout`){Ce.open(),T(o,``),T(w,!1),T(k,null),G.viewed&&(G.viewed.draftText=``),g(c)&&(g(c).style.height=`auto`);return}let t=!1;if(G.viewed?.isStreaming){if(!e)return;G.viewed.pendingSteeringMessages.push(e);try{await W.send({type:`steer`,sessionId:G.viewed.sessionId,message:e}),t=!0}catch(e){console.error(`Failed to send steer:`,e)}}else{if(!e&&g(f).length===0)return;try{let n=await W.send({type:`prompt`,sessionId:G.viewed.sessionId,message:e,...g(f).length>0?{images:g(f)}:{}});t=!0;let r=n.data;r?.tree?Se.openDialog(G.viewed.sessionId,r.tree,r.currentLeafId??null):G.addOptimisticUserMessage(G.viewed.sessionId,e)}catch(e){console.error(`Failed to send prompt:`,e)}}t&&(T(o,``),T(w,!1),T(k,null),T(f,[],!0),G.viewed&&(G.viewed.draftText=``),g(c)&&(g(c).style.height=`auto`))}async function fe(){let e=G.viewed;if(e?.sessionId){try{await W.send({type:`abort`,sessionId:e.sessionId})}catch(e){console.error(`Failed to send abort:`,e)}if(e.pendingSteeringMessages.length>0){try{let t=await W.send({type:`dequeue_steering`,sessionId:e.sessionId});if(t.success&&t.data){let{steering:n,followUp:r}=t.data,i=[...n,...r];i.length>0&&Be(e.sessionId,i.join(`
53
53
  `))}}catch(e){console.error(`Failed to dequeue steering messages after abort:`,e)}e.pendingSteeringMessages=[]}}}function pe(e){if(g(D)===`command`){let t=g(o).slice(1),n=t.indexOf(` `),r=n===-1?``:t.slice(n);T(o,`/`+e.name+(r||` `));let i=1+e.name.length+1;T(k,g(P).find(t=>t.name===e.name)??null,!0),g(k)?.hasArgCompletions?(T(w,!0),T(D,`args`)):T(w,!1),a().then(()=>{g(c)&&(g(c).selectionStart=g(c).selectionEnd=i)})}else if(g(D)===`fileRefs`){let t=g(c)?.selectionStart??g(o).length,n=t-(g(N)?.length??0),r=ii(e.value??e.name);T(o,g(o).slice(0,n)+r.insertedText+g(o).slice(t));let i=n+r.insertedText.length;r.isDirectory?(T(w,!0),T(D,`fileRefs`),T(N,r.nextPrefix,!0)):T(w,!1),a().then(()=>{g(c)&&(g(c).selectionStart=g(c).selectionEnd=i)})}else{let t=`/`+(g(k)?.name??``)+` `,n=g(c)?.selectionStart??g(o).length,r=n<g(o).length?g(o).slice(n):``,i=e.value??e.name;T(o,t+i+r);let s=t.length+i.length;T(w,!1),T(k,null),a().then(()=>{g(c)&&(g(c).selectionStart=g(c).selectionEnd=s)})}G.viewed&&(G.viewed.draftText=g(o)),U()}function me(){T(w,!1),T(k,null)}function he(){if(!g(c))return;let e=g(c).selectionStart??g(o).length,t=g(c).selectionEnd??e,n=g(o).slice(t),r=e===0&&n.length>0&&n[0]!==` `;T(o,g(o).slice(0,e)+`/`+(r?` `:``)+n);let i=e+1;G.viewed&&(G.viewed.draftText=g(o)),le(),U(),g(c).focus(),a().then(()=>{g(c).selectionStart=g(c).selectionEnd=i})}function ge(e){if(g(w)&&g(u)){if(e.key===`ArrowUp`){e.preventDefault(),g(u).moveUp();return}if(e.key===`ArrowDown`){e.preventDefault(),g(u).moveDown();return}if(e.key===`Tab`||e.key===`Enter`&&!e.shiftKey){e.preventDefault(),g(u).accept();return}if(e.key===`Escape`){e.preventDefault(),g(u).dismiss();return}}if(e.key===`Escape`&&G.viewed?.isStreaming){e.preventDefault(),fe();return}e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),ue())}var _e=di(),ve=e(_e),ye=e(ve),be=t=>{var n=si();Dr(e(n),{class:`size-4`}),R(2),V(n),H(`pointerdown`,n,e=>e.preventDefault()),H(`click`,n,fe),l(t,n)};d(ye,e=>{G.viewed?.isStreaming&&e(be)});var xe=I(ye,2),Te=e=>{var t=ci();H(`pointerdown`,t,e=>e.preventDefault()),H(`click`,t,he),l(e,t)},Ee=F(()=>!g(y)&&!g(o).startsWith(`/`));d(xe,e=>{g(Ee)&&e(Te)});var De=I(xe,2),Oe=e(De);{let e=F(()=>G.viewedSessionId??``),t=F(()=>g(k)?.name??``);S(ni(Oe,{get items(){return g(P)},get query(){return g(ee)},get visible(){return g(w)},get mode(){return g(D)},get sessionId(){return g(e)},get commandName(){return g(t)},onselect:pe,ondismiss:me}),e=>T(u,e,!0),()=>g(u))}var ke=I(Oe,2),Ae=t=>{var n=ui();h(n,21,()=>g(f),i,(t,n,r)=>{var i=li(),a=e(i),o=I(a,2);de(e(o),{class:`size-3`}),V(o),V(i),v(()=>j(a,`src`,g(n))),H(`click`,o,()=>re(r)),l(t,i)}),V(n),l(t,n)};d(ke,e=>{g(f).length>0&&e(Ae)});var je=I(ke,2);p(je),j(je,`rows`,1),S(je,e=>T(c,e),()=>g(c));var Me=I(je,2),Ne=e(Me),Pe=e=>{oi(e,{class:`size-5`})},Fe=e=>{ai(e,{class:`size-5`})};d(Ne,e=>{G.viewed?.isStreaming?e(Pe):e(Fe,-1)}),V(Me),V(De),V(ve),V(_e),v((e,t)=>{je.disabled=g(y)||g(b),j(je,`placeholder`,g(y)?`Open a session to start…`:g(b)?`Starting session…`:G.viewed?.isStreaming?`Steer the conversation…`:`Send a message…`),B(je,1,`border-border bg-secondary text-foreground placeholder:text-muted-foreground focus:border-ring focus:ring-ring block w-full resize-none overflow-hidden rounded-xl border py-3 pr-11 pl-4 text-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50
54
54
  ${g(m)?`ring-ring ring-2`:``}`),B(Me,1,`absolute right-1.5 bottom-1.5 flex items-center justify-center rounded-lg p-1.5 text-sm font-medium transition-colors
55
55
  ${e??``}`),Me.disabled=t,j(Me,`title`,G.viewed?.isStreaming?`Steer`:`Send`)},[()=>!g(x)||(G.viewed?.isStreaming?!g(o).trim():!g(C))?`text-muted-foreground cursor-not-allowed opacity-50`:G.viewed?.isStreaming?`bg-status-streaming text-primary-foreground hover:bg-status-streaming/80 active:bg-status-streaming/70`:`bg-primary text-primary-foreground hover:bg-primary/80 active:bg-primary/70`,()=>!g(x)||(G.viewed?.isStreaming?!g(o).trim():!g(C))]),n(`dragover`,De,oe),n(`dragleave`,De,se),n(`drop`,De,ae),H(`input`,je,le),H(`keydown`,je,ge),H(`click`,je,ce),n(`paste`,je,ie),L(je,()=>g(o),e=>T(o,e)),H(`pointerdown`,Me,e=>e.preventDefault()),H(`click`,Me,ue),l(t,_e),M()}m([`pointerdown`,`click`,`input`,`keydown`]);function pi(e,t){E(t,!0);let n=y(t,`ref`,15,null),i=y(t,`data-slot`,3,`separator`),a=k(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`data-slot`]);var o=u(),s=w(o);{let e=F(()=>oe(`bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px`,`data-[orientation=vertical]:h-full`,t.class));r(s,()=>it,(t,r)=>{r(t,P({get"data-slot"(){return i()},get class(){return g(e)}},()=>a,{get ref(){return n()},set ref(e){n(e)}}))})}l(e,o),M()}function mi(e){switch(e){case`incremental_replay`:return`Replaying from offset`;case`full_resync_cursor_stale`:return`Full resync (offset too old)`;case`disk_full_resync`:return`Reopening from disk`;case`full_resync_no_cursor`:return`Full resync`;default:return null}}function hi(e){return e?`flex-1 md:hidden`:`flex-1`}function gi(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`}]];U(e,P({name:`bell`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}function _i(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`m18 15-6-6-6 6`}]];U(e,P({name:`chevron-up`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}function vi(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}]];U(e,P({name:`git-branch`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}function yi(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M12 19v3`}],[`path`,{d:`M15 9.34V5a3 3 0 0 0-5.68-1.33`}],[`path`,{d:`M16.95 16.95A7 7 0 0 1 5 12v-2`}],[`path`,{d:`M18.89 13.23A7 7 0 0 0 19 12v-2`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M9 9v3a3 3 0 0 0 5.12 2.12`}]];U(e,P({name:`mic-off`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}function bi(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M12 19v3`}],[`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`13`,rx:`3`}]];U(e,P({name:`mic`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();z(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}var xi=f(`<button type="button" class="text-muted-foreground hover:text-foreground min-w-0 flex-1 truncate text-left text-xs transition-colors select-none"> </button>`),Si=f(`<!> <div class="hidden min-w-0 flex-1 md:flex"><!></div>`,1),Ci=f(`<span title="Context window usage"> </span>`),wi=f(`<span class="text-muted-foreground hidden items-center gap-1 md:flex" title="Session cost"> </span>`),Ti=f(`<span class="text-muted-foreground hidden items-center gap-1 md:flex" title="Git branch"><!> <span class="max-w-[8rem] truncate"> </span></span> <!>`,1),Ei=f(`<span class="relative flex size-2"><span class="absolute inline-flex size-full animate-ping rounded-full bg-emerald-400 opacity-75"></span> <span class="relative inline-flex size-2 rounded-full bg-emerald-500"></span></span> Streaming`,1),Di=f(`<span class="relative flex size-2"><span class="absolute inline-flex size-full animate-ping rounded-full bg-amber-400 opacity-75"></span> <span class="relative inline-flex size-2 rounded-full bg-amber-500"></span></span> Compacting…`,1),Oi=f(`<span></span>`),ki=f(`<button type="button" class="text-muted-foreground hover:text-foreground min-w-0 flex-1 truncate text-left transition-colors select-none"> </button>`),Ai=f(`<span class="text-muted-foreground flex shrink-0 items-center gap-1" title="Git branch"><!> <span class="max-w-[6rem] truncate"> </span></span>`),ji=f(`<span title="Context window usage"> </span>`),Mi=f(`<span class="text-muted-foreground flex shrink-0 items-center gap-1" title="Session cost"> </span>`),Ni=f(`<div class="border-border/50 flex h-7 items-center gap-2 border-t px-2 md:hidden"><!> <!> <!> <!></div>`),Pi=f(`<div class="border-border bg-muted/30 text-muted-foreground shrink-0 border-b text-xs"><div class="flex h-9 items-center gap-1 px-2"><!> <!> <!> <div></div> <!> <!> <!> <!> <!> <!> <!> <div class="flex items-center gap-1.5"><span class="relative flex size-2"><!> <span></span></span> <span class="hidden text-xs sm:inline"> </span></div></div> <!></div>`);function Fi(n,r){E(r,!0);let i=F(()=>G.viewed?.isRestoring?mi(G.viewed.restoreMode):null),a=F(()=>g(i)??W.phaseLabel),o=F(()=>W.phase===`ready`?`bg-emerald-500`:W.phase===`syncing`?`bg-blue-500`:W.phase===`backoff`||W.phase===`connecting`?`bg-amber-500`:`bg-red-500`),s=F(()=>G.viewed?.contextUsage?.percent),c=F(()=>je(G.viewed)),u=F(()=>Re(G.viewed?.lifetimeCostUsd??0)),f=F(()=>Ie(g(s))===`critical`?`text-red-400`:Ie(g(s))===`warning`?`text-amber-400`:`text-muted-foreground`),p=F(()=>Ee(G.viewed));var m=Pi(),h=e(m),_=e(h);xe(_,{});var y=I(_,2);pi(y,{orientation:`vertical`,class:`mx-0.5 h-4`});var x=I(y,2);Le(x,{});var S=I(x,2),C=I(S,2),T=n=>{var r=Si(),i=w(r);pi(i,{orientation:`vertical`,class:`mx-0.5 hidden h-4 md:block`});var a=I(i,2),o=e(a);{let n=(n,r)=>{let i=()=>r?.().openRenameDialog;var a=xi(),o=e(a,!0);V(a),v(()=>{j(a,`title`,`Rename session: ${g(p)}`),t(o,g(p))}),H(`click`,a,function(...e){i()?.apply(this,e)}),l(n,a)},r=F(()=>G.viewed?.sessionId),i=F(()=>G.viewed?.folderPath),a=F(()=>G.viewed?.sessionName);re(o,{get sessionId(){return g(r)},get folderPath(){return g(i)},get sessionName(){return g(a)},get displayName(){return g(p)},children:n,$$slots:{default:!0}})}V(a),l(n,r)};d(C,e=>{g(p)&&e(T)});var D=I(C,2),O=n=>{var r=Ci(),i=e(r,!0);V(r),v(()=>{B(r,1,`hidden items-center gap-1 md:flex ${g(f)??``}`),t(i,g(c))}),l(n,r)};d(D,e=>{g(c)&&e(O)});var k=I(D,2),A=n=>{var r=wi(),i=e(r,!0);V(r),v(()=>t(i,g(u))),l(n,r)};d(k,e=>{g(u)&&e(A)});var N=I(k,2),P=n=>{var r=Ti(),i=w(r),a=e(i);vi(a,{class:`size-3`});var o=I(a,2),s=e(o,!0);V(o),V(i),pi(I(i,2),{orientation:`vertical`,class:`mx-0.5 hidden h-4 md:block`}),v(()=>t(s,G.viewed.gitBranch)),l(n,r)};d(N,e=>{G.viewed?.gitBranch&&e(P)});var L=I(N,2);{let e=F(()=>G.viewed?.sessionId);ye(L,{get sessionId(){return g(e)}})}var ee=I(L,2),z=e=>{be(e,{variant:`secondary`,class:`gap-1.5 text-xs`,children:(e,t)=>{var n=Ei();R(),l(e,n)},$$slots:{default:!0}})};d(ee,e=>{G.viewed?.isStreaming&&e(z)});var te=I(ee,2),U=e=>{be(e,{variant:`secondary`,class:`gap-1 text-xs`,children:(e,t)=>{var n=Di();R(),l(e,n)},$$slots:{default:!0}})};d(te,e=>{G.viewed?.isCompacting&&e(U)});var ne=I(te,2),ie=e(ne),ae=e(ie),oe=e=>{var t=Oi();v(()=>B(t,1,`absolute inline-flex size-full animate-ping rounded-full ${g(o)??``} opacity-75`)),l(e,t)};d(ae,e=>{(W.phase===`syncing`||W.phase===`connecting`)&&e(oe)});var se=I(ae,2);V(ie);var ce=I(ie,2),le=e(ce,!0);V(ce),V(ne),V(h);var ue=I(h,2),de=n=>{var r=Ni(),i=e(r),a=n=>{{let r=(n,r)=>{let i=()=>r?.().openRenameDialog;var a=ki(),o=e(a,!0);V(a),v(()=>{j(a,`title`,`Rename session: ${g(p)}`),t(o,g(p))}),H(`click`,a,function(...e){i()?.apply(this,e)}),l(n,a)},i=F(()=>G.viewed?.sessionId),a=F(()=>G.viewed?.folderPath),o=F(()=>G.viewed?.sessionName);re(n,{get sessionId(){return g(i)},get folderPath(){return g(a)},get sessionName(){return g(o)},get displayName(){return g(p)},children:r,$$slots:{default:!0}})}};d(i,e=>{g(p)&&e(a)});var o=I(i,2),s=n=>{var r=Ai(),i=e(r);vi(i,{class:`size-3`});var a=I(i,2),o=e(a,!0);V(a),V(r),v(()=>t(o,G.viewed.gitBranch)),l(n,r)};d(o,e=>{G.viewed?.gitBranch&&e(s)});var m=I(o,2),h=n=>{var r=ji(),i=e(r,!0);V(r),v(()=>{B(r,1,`flex shrink-0 items-center gap-1 ${g(f)??``}`),t(i,g(c))}),l(n,r)};d(m,e=>{g(c)&&e(h)});var _=I(m,2),y=n=>{var r=Mi(),i=e(r,!0);V(r),v(()=>t(i,g(u))),l(n,r)};d(_,e=>{g(u)&&e(y)}),V(r),l(n,r)};d(ue,e=>{(g(p)||G.viewed?.gitBranch||g(c)||g(u))&&e(de)}),V(m),v(e=>{B(S,1,e),j(ne,`title`,g(a)),B(se,1,`relative inline-flex size-2 rounded-full ${g(o)??``}`),t(le,g(a))},[()=>b(hi(!!g(p)))]),l(n,m),M()}m([`click`]);var Ii=f(`<span> </span>`),Li=f(`<div class="border-border bg-background/95 flex shrink-0 gap-2 overflow-x-auto border-b px-4 py-1.5 md:hidden"></div>`);function Ri(n,r){E(r,!0);let i=F(()=>{let e=[],t=G.viewed;if(t?.isCompacting&&e.push({label:`Compacting…`,className:`border-amber-500/20 bg-amber-500/10 text-amber-600 dark:text-amber-400`}),W.phase===`syncing`&&t?.isRestoring){let n=mi(t.restoreMode);n&&e.push({label:n,className:`border-blue-500/20 bg-blue-500/10 text-blue-600 dark:text-blue-400`})}else W.phase===`connecting`||W.phase===`backoff`?e.push({label:W.phaseLabel,className:`border-amber-500/20 bg-amber-500/10 text-amber-600 dark:text-amber-400`}):W.phase===`idle`&&e.push({label:`Disconnected`,className:`border-red-500/20 bg-red-500/10 text-red-600 dark:text-red-400`});return e});var a=u(),o=w(a),s=n=>{var r=Li();h(r,21,()=>g(i),e=>e.label,(n,r)=>{var i=Ii(),a=e(i,!0);V(i),v(()=>{B(i,1,`inline-flex shrink-0 items-center rounded-full border px-2 py-0.5 text-[11px] font-medium ${g(r).className??``}`),t(a,g(r).label)}),l(n,i)}),V(r),l(n,r)};d(o,e=>{g(i).length>0&&e(s)}),l(n,a),M()}function zi(e,t,n=16){return t<-n&&Math.abs(t)>Math.abs(e)}var Bi=f(`<div class="bg-popover text-popover-foreground ring-foreground/10 flex items-center gap-2 rounded-2xl px-2 py-1 shadow-md ring-1 md:hidden svelte-1s9sawt"><div class="min-w-0 flex-1 px-1 svelte-1s9sawt"><div class="truncate text-xs font-medium svelte-1s9sawt"> </div> <div class="text-muted-foreground text-[11px] svelte-1s9sawt">Session actions</div></div> <button class="active:bg-accent active:text-accent-foreground flex items-center gap-1 rounded-full px-2.5 py-1 text-[11px] font-medium svelte-1s9sawt"><!> <span class="svelte-1s9sawt">Archive</span></button> <button class="text-destructive active:bg-destructive/10 flex items-center gap-1 rounded-full px-2.5 py-1 text-[11px] font-medium svelte-1s9sawt"><!> <span class="svelte-1s9sawt">Close</span></button></div>`),Vi=f(`<span class="relative inline-flex size-2 rounded-full bg-orange-500 svelte-1s9sawt"></span>`),Hi=f(`<span class="absolute inline-flex size-full animate-ping rounded-full bg-emerald-400 opacity-75 svelte-1s9sawt"></span> <span class="relative inline-flex size-2 rounded-full bg-emerald-500 svelte-1s9sawt"></span>`,1),Ui=f(`<span class="relative inline-flex size-2 rounded-full bg-orange-500 svelte-1s9sawt"></span>`),Wi=f(`<span class="relative inline-flex size-2 rounded-full bg-gray-400 svelte-1s9sawt"></span>`),Gi=f(`<button style="touch-action: pan-x;"><span class="relative flex size-2 svelte-1s9sawt"><!></span> <span class="max-w-[80px] truncate svelte-1s9sawt"> </span> <span role="button" tabindex="-1" title="Close session"><!></span></button>`),Ki=f(`<button class="border-muted-foreground/30 text-muted-foreground hover:border-muted-foreground/50 hover:text-foreground flex shrink-0 items-center gap-1 rounded-full border border-dashed px-2.5 py-1 text-xs transition-colors disabled:pointer-events-none disabled:opacity-40 svelte-1s9sawt"><!> <span class="svelte-1s9sawt">New</span></button>`),qi=f(`<div class="session-pill-bar-root border-border bg-muted/30 flex shrink-0 flex-col gap-1.5 border-t px-2 py-1.5 svelte-1s9sawt"><!> <div class="flex shrink-0 items-center gap-1.5 overflow-x-auto overflow-y-hidden svelte-1s9sawt"><!> <!></div></div>`);function Ji(r,i){E(i,!0);let a=he(),o=A(null),s=A(null),c=A(null),f=null,p=0,m=0,y=0,b=0,x=null,S=null,C=Xe();function D(){f=null,p=0,m=0,y=0,b=0}function O(e){T(o,e,!0),T(s,e,!0),D()}function k(){C||(C=!0,qe(!0))}function P(e,t){if(t.touches.length!==1)return;let n=t.touches[0];f=e,p=n.clientX,m=n.clientY,y=0,b=0}function L(e,t){if(f!==e||t.touches.length!==1)return;let n=t.touches[0];y=n.clientX-p,b=n.clientY-m}function ee(e){if(f===e){if(zi(y,b)){k(),O(e);return}D()}}function z(e){if(g(s)===e){T(s,null);return}if(g(o)===e){T(o,null);return}T(o,null),Ke(e)}async function te(e){let t=G.sessions[e];if(t)try{await W.send({type:`archive_session`,folderPath:t.folderPath,sessionIds:[e],archived:!0}),T(o,null),Ye(e)}catch(e){console.error(`Failed to archive session:`,e)}}function U(e){T(o,null),Ye(e)}N(()=>{let e=e=>{if(!g(o))return;let t=e.target;t instanceof Element&&t.closest(`.session-pill-bar-root`)||T(o,null)};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e),x&&clearTimeout(x),S&&clearTimeout(S)}}),_(()=>{if(C||G.activeSessions.length===0||typeof window>`u`||!window.matchMedia(`(max-width: 767px)`).matches)return;let e=G.viewedSessionId??G.activeSessions[0]?.sessionId;e&&(x&&clearTimeout(x),S&&clearTimeout(S),x=setTimeout(()=>{T(c,e,!0),S=setTimeout(()=>{T(c,null)},900)},900))});var ne=u(),re=w(ne),ie=r=>{var i=qi(),s=e(i),u=n=>{let r=F(()=>G.sessions[g(o)]);var i=Bi(),a=e(i),s=e(a),c=e(s,!0);V(s),R(2),V(a);var u=I(a,2);We(e(u),{class:`size-3`}),R(2),V(u);var d=I(u,2);de(e(d),{class:`size-3`}),R(2),V(d),V(i),v(()=>t(c,g(r).projectName)),H(`click`,u,()=>void te(g(r).sessionId)),H(`click`,d,()=>U(g(r).sessionId)),l(n,i)};d(s,e=>{g(o)&&G.sessions[g(o)]&&e(u)});var f=I(s,2),p=e(f);h(p,17,()=>G.activeSessions,e=>e.sessionId,(r,i)=>{let o=F(()=>G.viewedSessionId===g(i).sessionId),s=F(()=>a.hasRequestForSession(g(i).sessionId));var u=Gi(),f=e(u),p=e(f),m=e=>{l(e,Vi())},h=e=>{var t=Hi();R(2),l(e,t)},_=e=>{l(e,Ui())},y=e=>{l(e,Wi())};d(p,e=>{g(s)?e(m):g(i).status===`working`?e(h,1):g(i).needsAttention?e(_,2):e(y,-1)}),V(f);var b=I(f,2),x=e(b,!0);V(b);var S=I(b,2);de(e(S),{class:`size-3`}),V(S),V(u),v(()=>{B(u,1,`group/chip ${g(o)?`bg-primary text-primary-foreground`:`bg-secondary text-secondary-foreground hover:bg-secondary/80`} flex shrink-0 items-center gap-1.5 rounded-full px-3 py-1 text-xs font-medium transition-colors select-none ${g(c)===g(i).sessionId?`session-pill-swipe-hint`:``}`,`svelte-1s9sawt`),j(u,`title`,g(i).projectName),t(x,g(i).projectName),B(S,1,`${g(o)?`text-primary-foreground/50 hover:bg-primary-foreground/20 hover:text-primary-foreground`:`text-secondary-foreground/50 hover:bg-secondary-foreground/20 hover:text-secondary-foreground`} -mr-1 ml-0.5 hidden items-center justify-center rounded-full p-0.5 transition-colors md:flex md:opacity-0 md:group-hover/chip:opacity-100`,`svelte-1s9sawt`)}),H(`click`,u,()=>z(g(i).sessionId)),n(`auxclick`,u,e=>{e.button===1&&(e.preventDefault(),Ye(g(i).sessionId))}),H(`touchstart`,u,e=>P(g(i).sessionId,e),void 0,!0),H(`touchmove`,u,e=>L(g(i).sessionId,e),void 0,!0),H(`touchend`,u,()=>ee(g(i).sessionId)),n(`touchcancel`,u,D),H(`click`,S,e=>{e.stopPropagation(),Ye(g(i).sessionId)}),H(`keydown`,S,e=>{e.key===`Enter`&&(e.stopPropagation(),Ye(g(i).sessionId))}),l(r,u)});var m=I(p,2),_=t=>{var n=Ki();Ve(e(n),{class:`size-3`}),R(2),V(n),v(()=>{j(n,`title`,`New session in ${G.viewed?.projectName??``}`),n.disabled=!!G.pendingNewSession}),H(`click`,n,()=>Ge(G.viewedSessionId)),l(t,n)};d(m,e=>{G.viewedSessionId&&e(_)}),V(f),V(i),n(`scroll`,f,()=>T(o,null)),l(r,i)};d(re,e=>{G.activeSessions.length>0&&e(ie)}),l(r,ne),M()}m([`click`,`touchstart`,`touchmove`,`touchend`,`keydown`]);var Yi=f(`<div class="text-destructive px-4 pb-3 text-xs"> </div>`),Xi=f(`<div class="border-border bg-muted/50 flex flex-col border-b"><div class="flex items-center gap-3 px-4 py-3"><!> <span class="text-foreground flex-1 text-sm">Enable notifications to know when sessions finish.</span> <button class="bg-primary text-primary-foreground hover:bg-primary/80 rounded-md px-3 py-1.5 text-xs font-medium disabled:opacity-50"> </button> <button class="text-muted-foreground hover:text-foreground rounded-md p-1" title="Dismiss"><!></button></div> <!></div>`);function Zi(n,r){E(r,!0);let i=A(!1),a=A(``),o=A(!1);N(()=>{if(!(!(`serviceWorker`in navigator)||!(`PushManager`in window))&&!localStorage.getItem(`pimote-push-dismissed`)&&Notification.permission!==`denied`){if(Notification.permission===`default`){T(i,!0);return}navigator.serviceWorker.ready.then(async e=>{await e.pushManager.getSubscription()||T(i,!0)}).catch(()=>{})}});async function s(){T(a,``),T(o,!0);try{let e=await navigator.serviceWorker.ready,{publicKey:t}=await(await fetch(`/api/vapid-key`)).json();if(!t){T(a,`Server returned no VAPID key. Push notifications are not configured.`);return}let n;try{n=await e.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:f(t)})}catch(e){let t=e.message??String(e);Notification.permission===`denied`?T(a,`Notification permission was denied. Enable notifications for this app in your system settings, then try again.`):T(a,`Push subscription failed: ${t}`),console.error(`[pimote] pushManager.subscribe() failed:`,e,`Notification.permission:`,Notification.permission);return}let r=n.toJSON();if(!r.endpoint||!r.keys?.p256dh||!r.keys?.auth){T(a,`Push subscription returned incomplete data.`),console.error(`[pimote] Incomplete subscription:`,JSON.stringify(r));return}await W.send({type:`register_push`,subscription:{endpoint:r.endpoint,keys:{p256dh:r.keys.p256dh,auth:r.keys.auth}}}),console.log(`[pimote] Push notifications enabled successfully`),T(i,!1)}catch(e){T(a,`Notification setup failed: ${e.message??e}`),console.error(`[pimote] Failed to setup push notifications:`,e)}finally{T(o,!1)}}function c(){localStorage.setItem(`pimote-push-dismissed`,`true`),T(i,!1)}function f(e){let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;++e)r[e]=n.charCodeAt(e);return r.buffer}var p=u(),m=w(p),h=n=>{var r=Xi(),i=e(r),u=e(i);gi(u,{class:`text-muted-foreground size-4 shrink-0`});var f=I(u,4),p=e(f,!0);V(f);var m=I(f,2);de(e(m),{class:`size-4`}),V(m),V(i);var h=I(i,2),_=n=>{var r=Yi(),i=e(r,!0);V(r),v(()=>t(i,g(a))),l(n,r)};d(h,e=>{g(a)&&e(_)}),V(r),v(()=>{f.disabled=g(o),t(p,g(o)?`Enabling…`:`Enable`)}),H(`click`,f,s),H(`click`,m,c),l(n,r)};d(m,e=>{g(i)&&e(h)}),l(n,p),M()}m([`click`]);function Qi(e){return e.remoteAudioLevel>e.speakingThreshold?`speaking`:e.isStreaming?`thinking`:`listening`}function $i(e){let t=Math.max(0,Math.floor(e/1e3)),n=t%60,r=Math.floor(t/60)%60,i=Math.floor(t/3600),a=String(n).padStart(2,`0`),o=String(r).padStart(2,`0`);return i>0?`${i}:${o}:${a}`:`${o}:${a}`}var ea=f(`<span class="dot animate-breathe bg-cyan-400 svelte-ttwohx" aria-hidden="true"></span>`),ta=f(`<span class="dot animate-thinking bg-amber-400 svelte-ttwohx" aria-hidden="true"></span>`),na=f(`<span class="dot bg-emerald-400 transition-[transform,opacity] duration-[80ms] svelte-ttwohx" aria-hidden="true"></span>`),ra=f(`<div class="flex items-center gap-2 svelte-ttwohx"><!> <span class="text-foreground text-sm font-medium svelte-ttwohx"> </span></div>`);function ia(n,r){let i=F(()=>1+Math.min(1,Math.max(0,r.remoteAudioLevel))*.6),a=F(()=>.6+Math.min(1,Math.max(0,r.remoteAudioLevel))*.4),o=F(()=>r.state);var s=ra(),c=e(s),u=e=>{l(e,ea())},f=e=>{l(e,ta())},p=e=>{var t=na();let n;v(()=>n=ee(t,``,n,{transform:`scale(${g(i)??``})`,opacity:g(a)})),l(e,t)};d(c,e=>{r.state===`listening`?e(u):r.state===`thinking`?e(f,1):e(p,-1)});var m=I(c,2),h=e(m,!0);V(m),V(s),v(()=>t(h,g(o))),l(n,s)}var aa=f(`<!> <span>Muted</span>`,1),oa=f(`<!> <span>Live</span>`,1),sa=f(`<div class="flex flex-col gap-2 px-4 pt-6 pb-3"><div class="text-muted-foreground truncate text-xs"> </div> <div class="text-foreground text-3xl tabular-nums"> </div> <div class="text-muted-foreground flex items-center gap-2 text-sm"><!></div> <!></div>`);function ca(n,r){E(r,!0);let i=A(O(Date.now()));_(()=>{if(r.startedAt===null)return;T(i,Date.now(),!0);let e=setInterval(()=>{T(i,Date.now(),!0)},1e3);return()=>clearInterval(e)});let a=F(()=>r.startedAt?g(i)-r.startedAt:0),o=F(()=>$i(g(a))),s=F(()=>{if(!r.folderPath)return`session`;let e=r.folderPath.replace(/\/+$/,``),t=e.lastIndexOf(`/`);return t>=0?e.slice(t+1):e||`session`}),c=F(()=>r.sessionDisplayName??`Session`);var u=sa(),f=e(u),p=e(f);V(f);var m=I(f,2),h=e(m,!0);V(m);var y=I(m,2),b=e(y),x=e=>{var t=aa();yi(w(t),{class:`size-4`,"aria-hidden":`true`}),R(2),l(e,t)},S=e=>{var t=oa();bi(w(t),{class:`size-4`,"aria-hidden":`true`}),R(2),l(e,t)};d(b,e=>{r.micMuted?e(x):e(S,-1)}),V(y),ia(I(y,2),{get state(){return r.agentState},get remoteAudioLevel(){return r.remoteAudioLevel}}),V(u),v(()=>{t(p,`${g(s)??``} · ${g(c)??``}`),t(h,g(o))}),l(n,u),M()}function la(e){let t=e??(()=>new AudioContext),n=null,r=()=>(n||=t(),n),i=(e,t,n=0)=>{let i=r(),a=i.createOscillator(),o=i.createGain();a.type=`sine`,a.frequency.value=e;let s=i.currentTime+n/1e3,c=s+t/1e3;o.gain.setValueAtTime(0,s),o.gain.linearRampToValueAtTime(.4,s+.005),o.gain.linearRampToValueAtTime(0,c),a.connect(o).connect(i.destination),a.start(s),a.stop(c)};return{playMuteOn(){i(880,80)},playMuteOff(){i(440,80)},playAbortConfirm(){i(660,80,0),i(660,80,120)},dispose(){n&&=(n.close().catch(()=>{}),null)}}}function ua(e,t,n={}){let r=n.tapMaxMovementPx??10,i=n.tapMaxDurationMs??300,a=n.swipeMinDeltaPx??80,o=t.x-e.x,s=t.y-e.y,c=t.t-e.t;return Math.abs(o)+Math.abs(s)<=r&&c<=i?`tap`:s<=-a?`swipe-up`:s>=a?`swipe-down`:null}var da=f(`<!> <span class="absolute inset-0 -z-10 animate-ping rounded-full bg-emerald-500/20"></span>`,1),fa=f(`<div class="relative flex w-full touch-none flex-col items-center justify-between py-3 select-none" style="height: min(28vh, 220px); min-height: 160px;" role="button" tabindex="-1" aria-label="Call gesture zone: tap mic to mute, swipe up to hang up, swipe down to abort"><div class="flex flex-col items-center gap-0.5 text-rose-400/90"><!> <div class="flex items-center gap-1.5 rounded-full border border-rose-500/40 bg-rose-500/10 px-3 py-1 text-xs font-medium tracking-wide"><!> <span>Swipe up to hang up</span></div></div> <div><!></div> <div class="flex flex-col items-center gap-0.5 text-amber-400/90"><div class="flex items-center gap-1.5 rounded-full border border-amber-500/40 bg-amber-500/10 px-3 py-1 text-xs font-medium tracking-wide"><!> <span>Swipe down to abort</span></div> <!></div></div>`);function pa(t,r){E(r,!0);let i=null;function a(){return i||=la(),i}D(()=>{i?.dispose(),i=null});let o=A(null),s=null,c=null,u=A(0);function f(e){if(s&&e!==null&&s.hasPointerCapture?.(e))try{s.releasePointerCapture(e)}catch{}s=null,T(o,null),c=null,T(u,0)}function p(e){if(!e.isPrimary)return;if(g(o)!==null&&g(o)!==e.pointerId){f(g(o));return}let t=e.target;try{t.setPointerCapture(e.pointerId)}catch{}s=t,T(o,e.pointerId,!0),c={x:e.clientX,y:e.clientY,t:e.timeStamp},T(u,0)}function m(e){g(o)!==e.pointerId||!c||T(u,e.clientY-c.y)}function h(e){if(g(o)!==e.pointerId||!c){f(g(o));return}let t={x:e.clientX,y:e.clientY,t:e.timeStamp},n=ua(c,t);switch(f(e.pointerId),n){case`tap`:{Ae.toggleMute();let e=Ae.state.micMuted;try{e?a().playMuteOn():a().playMuteOff()}catch(e){console.warn(`[voice] mute cue failed`,e)}break}case`swipe-up`:Ae.endCall().catch(()=>{});break;case`swipe-down`:Ae.abortAgent().catch(()=>{});try{a().playAbortConfirm()}catch(e){console.warn(`[voice] abort cue failed`,e)}break;default:break}}function _(e){g(o)===e.pointerId&&f(e.pointerId)}let y=F(()=>Math.max(-32,Math.min(32,g(u)*.4))),b=F(()=>Ae.state.micMuted);var x=fa(),S=e(x);let C;var O=e(S);_i(O,{class:`-mb-1 size-5 animate-pulse`,"aria-hidden":`true`});var k=I(O,2);Ne(e(k),{class:`size-3.5`,"aria-hidden":`true`}),R(2),V(k),V(S);var N=I(S,2),P=e(N),L=e=>{yi(e,{class:`size-7`,"aria-hidden":`true`})},z=e=>{var t=da();bi(w(t),{class:`size-7`,"aria-hidden":`true`}),R(2),l(e,t)};d(P,e=>{g(b)?e(L):e(z,-1)}),V(N);var te=I(N,2);let U;var ne=e(te);Dr(e(ne),{class:`size-3.5`,"aria-hidden":`true`}),R(2),V(ne),ke(I(ne,2),{class:`-mt-1 size-5 animate-pulse`,"aria-hidden":`true`}),V(te),V(x),v(()=>{C=ee(S,``,C,{transform:`translateY(${g(y)??``}px)`}),B(N,1,`relative flex size-16 items-center justify-center rounded-full border-2 transition-colors ${g(b)?`border-amber-500/60 bg-amber-500/15 text-amber-300`:`border-emerald-500/70 bg-emerald-500/15 text-emerald-300`}`),j(N,`aria-label`,g(b)?`Microphone muted, tap to unmute`:`Microphone live, tap to mute`),U=ee(te,``,U,{transform:`translateY(${g(y)??``}px)`})}),H(`pointerdown`,x,p),H(`pointermove`,x,m),H(`pointerup`,x,h),n(`pointercancel`,x,_),l(t,x),M()}m([`pointerdown`,`pointermove`,`pointerup`]);var ma=f(`<div class="bg-background text-foreground fixed inset-0 z-40 flex flex-col"><!> <div class="flex min-h-0 flex-1 flex-col overflow-hidden"><!></div> <!></div>`);function ha(t,n){E(n,!0);let r=A(0);_(()=>{if(Ae.state.phase!==`connected`){T(r,0);return}let e=setInterval(()=>{T(r,Pe(),!0)},100);return()=>clearInterval(e)});let i=F(()=>G.viewed),a=F(()=>Qi({isStreaming:!!g(i)?.isStreaming,remoteAudioLevel:g(r),speakingThreshold:.02})),o=F(()=>g(i)?.folderPath??null),s=F(()=>Ee(g(i)??null));var c=ma(),u=e(c);ca(u,{get sessionDisplayName(){return g(s)},get folderPath(){return g(o)},get startedAt(){return Ae.state.startedAt},get micMuted(){return Ae.state.micMuted},get agentState(){return g(a)},get remoteAudioLevel(){return g(r)}});var d=I(u,2);Lr(e(d),{readOnly:!0}),V(d),pa(I(d,2),{}),V(c),l(t,c),M()}var ga=f(`<div class="bg-warning/10 border-warning/30 text-warning flex items-center gap-2 border-b px-4 py-2 text-sm"><span>This session is owned by another client. Take it over?</span> <button class="bg-warning text-warning-foreground hover:bg-warning/80 ml-auto rounded px-3 py-1 text-xs font-medium">Take Over</button> <button class="border-warning/30 hover:bg-warning/20 rounded border px-3 py-1 text-xs font-medium">Dismiss</button></div>`),_a=f(`<div class="bg-destructive/10 border-destructive/30 text-destructive flex items-center gap-2 border-b px-4 py-2 text-sm"><span>External pi processes detected in this project.</span> <button class="bg-destructive text-primary-foreground hover:bg-destructive/80 ml-auto rounded px-3 py-1 text-xs font-medium">Kill & Continue</button> <button class="border-destructive/30 hover:bg-destructive/20 rounded border px-3 py-1 text-xs font-medium">Dismiss</button></div>`),va=f(`<div class="flex min-h-0 flex-1 flex-col"><div class="hidden md:block"><!></div> <!> <!> <!> <!> <!> <!> <!> <!></div>`),ya=f(`<div class="flex min-h-0 flex-1 flex-col overflow-y-auto"><div class="my-auto flex flex-col items-center p-8"><img src="/pwa/icon-512.png" alt="Pimote" class="mb-6 size-32"/> <h1 class="text-foreground mb-2 text-2xl font-bold">Pimote</h1> <p class="text-muted-foreground mb-8 text-sm">Resume a session from the sidebar, or start a new one.</p> <div class="w-full max-w-md md:hidden"><!></div> <!></div></div>`),ba=f(`<!> <!>`,1);function xa(t,n){E(n,!0);let r=F(()=>Ae.state.phase!==`idle`&&Ae.state.sessionId===G.viewedSessionId);function i(){let e=G.viewedSessionId,t=G.viewed?.conflictingProcesses?.map(e=>e.pid)??[];e&&(W.send({type:`kill_conflicting_processes`,sessionId:e,pids:t}).catch(()=>{}),G.clearConflict(e))}function a(){let e=G.viewedSessionId;e&&G.clearConflict(e)}var o=ba(),s=w(o);Zi(s,{});var c=I(s,2),f=t=>{var n=u(),o=w(n),s=e=>{ha(e,{})},c=t=>{var n=va(),r=e(n);Fi(e(r),{}),V(r);var o=I(r,2);Ri(o,{});var s=I(o,2),c=t=>{var n=ga(),r=I(e(n),2),i=I(r,2);V(n),H(`click`,r,()=>Ze(G.viewedSessionId)),H(`click`,i,()=>Je(G.viewedSessionId)),l(t,n)};d(s,e=>{G.viewed?.pendingTakeover&&e(c)});var u=I(s,2),f=t=>{var n=_a(),r=I(e(n),2),o=I(r,2);V(n),H(`click`,r,i),H(`click`,o,a),l(t,n)};d(u,e=>{G.viewed?.conflictingProcesses?.length&&e(f)});var p=I(u,2);Lr(p,{});var m=I(p,2);qr(m,{});var h=I(m,2);Xr(h,{});var g=I(h,2);Ji(g,{}),fi(I(g,2),{}),V(n),l(t,n)};d(o,e=>{g(r)?e(s):e(c,-1)}),l(t,n)},p=t=>{var n=ya(),r=e(n),i=I(e(r),6);ne(e(i),{}),V(i),Ji(I(i,2),{}),V(r),V(n),l(t,n)};d(c,e=>{G.viewedSessionId?e(f):e(p,-1)}),l(t,o),M()}m([`click`]);export{xa as component};
@@ -1 +1 @@
1
- {"version":"1781914284156"}
1
+ {"version":"1783005272496"}
@@ -12,12 +12,12 @@
12
12
  <link rel="icon" type="image/png" sizes="192x192" href="/pwa/icon-192.png" />
13
13
  <link rel="icon" type="image/png" sizes="512x512" href="/pwa/icon-512.png" />
14
14
  <link rel="apple-touch-icon" href="/pwa/icon-192.png" />
15
- <link href="/_app/immutable/entry/start.NVZAE6Px.js" rel="modulepreload">
16
- <link href="/_app/immutable/chunks/b9CWRTHL.js" rel="modulepreload">
17
- <link href="/_app/immutable/chunks/S8e8sMop.js" rel="modulepreload">
15
+ <link href="/_app/immutable/entry/start.DUfrZpFg.js" rel="modulepreload">
16
+ <link href="/_app/immutable/chunks/DMWd5mk8.js" rel="modulepreload">
17
+ <link href="/_app/immutable/chunks/COcpV1OD.js" rel="modulepreload">
18
18
  <link href="/_app/immutable/chunks/B8lQCytv.js" rel="modulepreload">
19
19
  <link href="/_app/immutable/chunks/5FogVG_p.js" rel="modulepreload">
20
- <link href="/_app/immutable/entry/app.agj-hcVA.js" rel="modulepreload">
20
+ <link href="/_app/immutable/entry/app.DW3BNxC_.js" rel="modulepreload">
21
21
  <link href="/_app/immutable/chunks/CHncfsjL.js" rel="modulepreload">
22
22
  <link href="/_app/immutable/chunks/D1hYfEew.js" rel="modulepreload">
23
23
 
@@ -26,15 +26,15 @@
26
26
  <div style="display: contents">
27
27
  <script>
28
28
  {
29
- __sveltekit_8sdy3e = {
29
+ __sveltekit_113ntip = {
30
30
  base: ""
31
31
  };
32
32
 
33
33
  const element = document.currentScript.parentElement;
34
34
 
35
35
  Promise.all([
36
- import("/_app/immutable/entry/start.NVZAE6Px.js"),
37
- import("/_app/immutable/entry/app.agj-hcVA.js")
36
+ import("/_app/immutable/entry/start.DUfrZpFg.js"),
37
+ import("/_app/immutable/entry/app.DW3BNxC_.js")
38
38
  ]).then(([kit, app]) => {
39
39
  kit.start(app, element);
40
40
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pimote/pimote",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Web client and embedded server for pi with multi-session browser access, streaming, and extension UI support",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -39,6 +39,15 @@ export class LoginOrchestrator {
39
39
  isBusy() {
40
40
  return this.busy;
41
41
  }
42
+ /**
43
+ * Log out from `providerId`: clear its stored credential and refresh the
44
+ * model registry so the provider's models drop out of selection. Synchronous
45
+ * on the AuthStorage side; independent of the single-flight login guard.
46
+ */
47
+ logout(providerId) {
48
+ this.authStorage.logout(providerId);
49
+ this.modelRegistry.refresh();
50
+ }
42
51
  /**
43
52
  * Run a login flow for `providerId`, driving the transport. Resolves when the
44
53
  * flow ends; emits a terminal `done` step itself (success or failure). Throws
@@ -735,6 +735,11 @@ export class WsHandler {
735
735
  this.sendResponse(id, true);
736
736
  break;
737
737
  }
738
+ case 'logout': {
739
+ this.sessionManager.getLoginOrchestrator().logout(command.providerId);
740
+ this.sendResponse(id, true, { ok: true });
741
+ break;
742
+ }
738
743
  default: {
739
744
  this.sendResponse(id, false, undefined, `Unknown command type: ${command.type}`);
740
745
  }
@@ -958,7 +963,7 @@ export class WsHandler {
958
963
  });
959
964
  }
960
965
  // Pimote built-in commands
961
- commands.push({ name: 'new', description: 'Start a new session', hasArgCompletions: false }, { name: 'reload', description: 'Reload extensions and skills', hasArgCompletions: false }, { name: 'tree', description: 'Navigate session history tree', hasArgCompletions: false }, { name: 'login', description: 'Log in to a model provider', hasArgCompletions: false });
966
+ commands.push({ name: 'new', description: 'Start a new session', hasArgCompletions: false }, { name: 'reload', description: 'Reload extensions and skills', hasArgCompletions: false }, { name: 'tree', description: 'Navigate session history tree', hasArgCompletions: false }, { name: 'login', description: 'Log in to a model provider', hasArgCompletions: false }, { name: 'logout', description: 'Log out from a model provider', hasArgCompletions: false });
962
967
  this.sendResponse(id, true, { commands });
963
968
  break;
964
969
  }
@@ -382,6 +382,11 @@ export interface LoginInputCommand extends CommandBase {
382
382
  export interface LoginCancelCommand extends CommandBase {
383
383
  type: 'login_cancel';
384
384
  }
385
+ /** Log out from a provider (clears its stored credential). resp: LogoutResponseData */
386
+ export interface LogoutCommand extends CommandBase {
387
+ type: 'logout';
388
+ providerId: string;
389
+ }
385
390
  export interface LoginListResponseData {
386
391
  providers: LoginProviderInfo[];
387
392
  }
@@ -390,6 +395,9 @@ export interface LoginBeginResponseData {
390
395
  /** Present when ok === false because a login flow is already in progress. */
391
396
  reason?: 'busy';
392
397
  }
398
+ export interface LogoutResponseData {
399
+ ok: boolean;
400
+ }
393
401
  export interface ExtensionUiResponseCommand extends CommandBase {
394
402
  type: 'extension_ui_response';
395
403
  requestId: string;
@@ -397,7 +405,7 @@ export interface ExtensionUiResponseCommand extends CommandBase {
397
405
  confirmed?: boolean;
398
406
  cancelled?: boolean;
399
407
  }
400
- export type PimoteCommand = PromptCommand | SteerCommand | FollowUpCommand | AbortCommand | ClientLogCommand | SetModelCommand | CycleModelCommand | GetAvailableModelsCommand | SetThinkingLevelCommand | CycleThinkingLevelCommand | CompactCommand | SetAutoCompactionCommand | GetStateCommand | GetMessagesCommand | NewSessionCommand | GetSessionStatsCommand | GetSessionMetaCommand | GetCommandsCommand | CompleteArgsCommand | CompleteFileRefsCommand | SetSessionNameCommand | DequeueSteeringCommand | ForkCommand | NavigateTreeCommand | SetTreeLabelCommand | CreateProjectCommand | RenameSessionCommand | ListFoldersCommand | ListSessionsCommand | OpenSessionCommand | CloseSessionCommand | DeleteSessionCommand | ArchiveSessionCommand | TakeoverFolderCommand | ViewSessionCommand | RegisterPushCommand | UnregisterPushCommand | KillConflictingProcessesCommand | KillConflictingSessionsCommand | ExtensionUiResponseCommand | CallBindCommand | CallEndCommand | LoginListCommand | LoginBeginCommand | LoginInputCommand | LoginCancelCommand;
408
+ export type PimoteCommand = PromptCommand | SteerCommand | FollowUpCommand | AbortCommand | ClientLogCommand | SetModelCommand | CycleModelCommand | GetAvailableModelsCommand | SetThinkingLevelCommand | CycleThinkingLevelCommand | CompactCommand | SetAutoCompactionCommand | GetStateCommand | GetMessagesCommand | NewSessionCommand | GetSessionStatsCommand | GetSessionMetaCommand | GetCommandsCommand | CompleteArgsCommand | CompleteFileRefsCommand | SetSessionNameCommand | DequeueSteeringCommand | ForkCommand | NavigateTreeCommand | SetTreeLabelCommand | CreateProjectCommand | RenameSessionCommand | ListFoldersCommand | ListSessionsCommand | OpenSessionCommand | CloseSessionCommand | DeleteSessionCommand | ArchiveSessionCommand | TakeoverFolderCommand | ViewSessionCommand | RegisterPushCommand | UnregisterPushCommand | KillConflictingProcessesCommand | KillConflictingSessionsCommand | ExtensionUiResponseCommand | CallBindCommand | CallEndCommand | LoginListCommand | LoginBeginCommand | LoginInputCommand | LoginCancelCommand | LogoutCommand;
401
409
  interface SessionEventBase {
402
410
  /** Which session produced this event */
403
411
  sessionId: string;
@@ -1 +0,0 @@
1
- import{c as e,o as t,s as n}from"./D8SptH3Y.js";export{t as openExistingSession,n as sessionRegistry,e as switchToSession};
@@ -1 +0,0 @@
1
- var e=`1781914284156`;export{e as t};
@@ -1 +0,0 @@
1
- import{G as e,U as t,W as n,it as r,lt as i,ot as a,r as o,t as s}from"./B8lQCytv.js";import{t as c}from"./S8e8sMop.js";var l=class{constructor(e,t){this.status=e,typeof t==`string`?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}},u=class{constructor(e,t){this.status=e,this.location=t}},d=class extends Error{constructor(e,t,n){super(n),this.status=e,this.text=t}};new URL(`sveltekit-internal://`);function f(e,t){return e===`/`||t===`ignore`?e:t===`never`?e.endsWith(`/`)?e.slice(0,-1):e:t===`always`&&!e.endsWith(`/`)?e+`/`:e}function p(e){return e.split(`%25`).map(decodeURI).join(`%25`)}function ee(e){for(let t in e)e[t]=decodeURIComponent(e[t]);return e}function m({href:e}){return e.split(`#`)[0]}function h(...e){let t=5381;for(let n of e)if(typeof n==`string`){let e=n.length;for(;e;)t=t*33^n.charCodeAt(--e)}else if(ArrayBuffer.isView(n)){let e=new Uint8Array(n.buffer,n.byteOffset,n.byteLength),r=e.length;for(;r;)t=t*33^e[--r]}else throw TypeError(`value must be a string or TypedArray`);return(t>>>0).toString(36)}new TextEncoder,new TextDecoder;function g(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var te=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||`GET`)!==`GET`&&_.delete(b(e)),te(e,t));var _=new Map;function v(e,t){let n=b(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:e,...t}=JSON.parse(r.textContent),i=r.getAttribute(`data-ttl`);return i&&_.set(n,{body:e,init:t,ttl:1e3*Number(i)}),r.getAttribute(`data-b64`)!==null&&(e=g(e)),Promise.resolve(new Response(e,t))}return window.fetch(e,t)}function y(e,t,n){if(_.size>0){let t=b(e,n),r=_.get(t);if(r){if(performance.now()<r.ttl&&[`default`,`force-cache`,`only-if-cached`,void 0].includes(n?.cache))return new Response(r.body,r.init);_.delete(t)}}return window.fetch(t,n)}function b(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){let e=[];t.headers&&e.push([...new Headers(t.headers)].join(`,`)),t.body&&(typeof t.body==`string`||ArrayBuffer.isView(t.body))&&e.push(t.body),n+=`[data-hash="${h(...e)}"]`}return n}var ne=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function re(e){let t=[];return{pattern:e===`/`?/^\/$/:RegExp(`^${ae(e).map(e=>{let n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(e);if(n)return t.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),`(?:/([^]*))?`;let r=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(e);if(r)return t.push({name:r[1],matcher:r[2],optional:!0,rest:!1,chained:!0}),`(?:/([^/]+))?`;if(!e)return;let i=e.split(/\[(.+?)\](?!\])/);return`/`+i.map((e,n)=>{if(n%2){if(e.startsWith(`x+`))return se(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith(`u+`))return se(String.fromCharCode(...e.slice(2).split(`-`).map(e=>parseInt(e,16))));let[,r,a,o,s]=ne.exec(e);return t.push({name:o,matcher:s,optional:!!r,rest:!!a,chained:a?n===1&&i[0]===``:!1}),a?`([^]*?)`:r?`([^/]*)?`:`([^/]+?)`}return se(e)}).join(``)}).join(``)}/?$`),params:t}}function ie(e){return e!==``&&!/^\([^)]+\)$/.test(e)}function ae(e){return e.slice(1).split(`/`).filter(ie)}function oe(e,t,n){let r={},i=e.slice(1),a=i.filter(e=>e!==void 0),o=0;for(let e=0;e<t.length;e+=1){let s=t[e],c=i[e-o];if(s.chained&&s.rest&&o&&(c=i.slice(e-o,e+1).filter(e=>e).join(`/`),o=0),c===void 0)if(s.rest)c=``;else continue;if(!s.matcher||n[s.matcher](c)){r[s.name]=c;let n=t[e+1],l=i[e+1];n&&!n.rest&&n.optional&&l&&s.chained&&(o=0),!n&&!l&&Object.keys(r).length===a.length&&(o=0);continue}if(s.optional&&s.chained){o++;continue}return}if(!o)return r}function se(e){return e.normalize().replace(/[[\]]/g,`\\$&`).replace(/%/g,`%25`).replace(/\//g,`%2[Ff]`).replace(/\?/g,`%3[Ff]`).replace(/#/g,`%23`).replace(/[.*+?^${}()|\\]/g,`\\$&`)}function ce({nodes:e,server_loads:t,dictionary:n,matchers:r}){let i=new Set(t);return Object.entries(n).map(([t,[n,i,s]])=>{let{pattern:c,params:l}=re(t),u={id:t,exec:e=>{let t=c.exec(e);if(t)return oe(t,l,r)},errors:[1,...s||[]].map(t=>e[t]),layouts:[0,...i||[]].map(o),leaf:a(n)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function a(t){let n=t<0;return n&&(t=~t),[n,e[t]]}function o(t){return t===void 0?t:[i.has(t),e[t]]}}function le(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function ue(e,t,n=JSON.stringify){let r=n(t);try{sessionStorage[e]=r}catch{}}var x=globalThis.__sveltekit_8sdy3e?.base??``,de=globalThis.__sveltekit_8sdy3e?.assets??x??``,fe=`sveltekit:snapshot`,pe=`sveltekit:scroll`,me=`sveltekit:states`,S=`sveltekit:history`,C=`sveltekit:navigation`,w={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},he=location.origin;function ge(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){let e=document.getElementsByTagName(`base`);t=e.length?e[0].href:document.URL}return new URL(e,t)}function T(){return{x:pageXOffset,y:pageYOffset}}function E(e,t){return e.getAttribute(`data-sveltekit-${t}`)}var _e={...w,"":w.hover};function ve(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function ye(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()===`A`&&e.hasAttribute(`href`))return e;e=ve(e)}}function be(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){let e=location.hash.split(`#`)[1]||`/`;r.hash=`#${e}${r.hash}`}}catch{}let i=e instanceof SVGAElement?e.target.baseVal:e.target,a=!r||!!i||we(r,t,n)||(e.getAttribute(`rel`)||``).split(/\s+/).includes(`external`),o=r?.origin===he&&e.hasAttribute(`download`);return{url:r,external:a,target:i,download:o}}function D(e){let t=null,n=null,r=null,i=null,a=null,o=null,s=e;for(;s&&s!==document.documentElement;)r===null&&(r=E(s,`preload-code`)),i===null&&(i=E(s,`preload-data`)),t===null&&(t=E(s,`keepfocus`)),n===null&&(n=E(s,`noscroll`)),a===null&&(a=E(s,`reload`)),o===null&&(o=E(s,`replacestate`)),s=ve(s);function c(e){switch(e){case``:case`true`:return!0;case`off`:case`false`:return!1;default:return}}return{preload_code:_e[r??`off`],preload_data:_e[i??`off`],keepfocus:c(t),noscroll:c(n),reload:c(a),replace_state:c(o)}}function xe(e){let t=i(e),n=!0;function r(){n=!0,t.update(e=>e)}function a(e){n=!1,t.set(e)}function o(e){let r;return t.subscribe(t=>{(r===void 0||n&&t!==r)&&e(r=t)})}return{notify:r,set:a,subscribe:o}}var Se={v:()=>{}};function Ce(){let{set:e,subscribe:t}=i(!1);async function n(){clearTimeout(void 0);try{let t=await fetch(`${de}/_app/version.json`,{headers:{pragma:`no-cache`,"cache-control":`no-cache`}});if(!t.ok)return!1;let n=(await t.json()).version!==c;return n&&(e(!0),Se.v(),clearTimeout(void 0)),n}catch{return!1}}return{subscribe:t,check:n}}function we(e,t,n){return e.origin!==he||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function Te(e){}var Ee=new Set([`load`,`prerender`,`csr`,`ssr`,`trailingSlash`,`config`]);new Set([...Ee,`entries`]);var De=new Set([...Ee]);new Set([...De,`actions`,`entries`]);function Oe(e){return e.filter(e=>e!=null)}function ke(e){return e instanceof l||e instanceof d?e.status:500}function Ae(e){return e instanceof d?e.text:`Internal Error`}var O,k,A,je=o.toString().includes(`$$`)||/function \w+\(\) \{\}/.test(o.toString()),Me=`a:`;je?(O={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(Me)},k={current:null},A={current:!1}):(O=new class{#e=a({});get data(){return t(this.#e)}set data(e){r(this.#e,e)}#t=a(null);get form(){return t(this.#t)}set form(e){r(this.#t,e)}#n=a(null);get error(){return t(this.#n)}set error(e){r(this.#n,e)}#r=a({});get params(){return t(this.#r)}set params(e){r(this.#r,e)}#i=a({id:null});get route(){return t(this.#i)}set route(e){r(this.#i,e)}#a=a({});get state(){return t(this.#a)}set state(e){r(this.#a,e)}#o=a(-1);get status(){return t(this.#o)}set status(e){r(this.#o,e)}#s=a(new URL(Me));get url(){return t(this.#s)}set url(e){r(this.#s,e)}},k=new class{#e=a(null);get current(){return t(this.#e)}set current(e){r(this.#e,e)}},A=new class{#e=a(!1);get current(){return t(this.#e)}set current(e){r(this.#e,e)}},Se.v=()=>A.current=!0);function Ne(e){Object.assign(O,e)}var{onMount:Pe,tick:Fe}=s,Ie=new Set([`icon`,`shortcut icon`,`apple-touch-icon`]),j=null,M=le(`sveltekit:scroll`)??{},N=le(`sveltekit:snapshot`)??{},P={url:xe({}),page:xe({}),navigating:i(null),updated:Ce()};function Le(e){M[e]=T()}function Re(e,t){let n=e+1;for(;M[n];)delete M[n],n+=1;for(n=t+1;N[n];)delete N[n],n+=1}function F(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(()=>{})}async function ze(){if(`serviceWorker`in navigator){let e=await navigator.serviceWorker.getRegistration(x||`/`);e&&await e.update()}}function Be(){}var Ve,He,I,L,Ue,R,z=[],B=[],V=null;function H(){V?.fork?.then(e=>e?.discard()),V=null}var U=new Map,We=new Set,Ge=new Set,W=new Set,G={branch:[],error:null,url:null,nav:null},Ke=!1,K=!1,qe=!0,q=!1,J=!1,Je=!1,Ye=!1,Xe,Y,X,Z,Ze=new Set,Qe=new Map;async function $e(e,t,n){globalThis.__sveltekit_8sdy3e&&(globalThis.__sveltekit_8sdy3e.query,globalThis.__sveltekit_8sdy3e.prerender),document.URL!==location.href&&(location.href=location.href),R=e,await e.hooks.init?.(),Ve=ce(e),L=document.documentElement,Ue=t,He=e.nodes[0],I=e.nodes[1],He(),I(),Y=history.state?.[S],X=history.state?.[C],Y||(Y=X=Date.now(),history.replaceState({...history.state,[S]:Y,[C]:X},``));let r=M[Y];function i(){r&&(history.scrollRestoration=`manual`,scrollTo(r.x,r.y))}n?(i(),await Dt(Ue,n)):(await Q({type:`enter`,url:ge(R.hash?Nt(new URL(location.href)):location.href),replace_state:!0}),i()),Et()}function et(){z.length=0,Ye=!1}function tt(e){B.some(e=>e?.snapshot)&&(N[e]=B.map(e=>e?.snapshot?.capture()))}function nt(e){N[e]?.forEach((e,t)=>{B[t]?.snapshot?.restore(e)})}function rt(){Le(Y),ue(pe,M),tt(X),ue(fe,N)}async function it(t,n,r,i){let a;n.invalidateAll&&H(),await Q({type:`goto`,url:ge(t),keepfocus:n.keepFocus,noscroll:n.noScroll,replace_state:n.replaceState,state:n.state,redirect_count:r,nav_token:i,accept:()=>{n.invalidateAll&&(Ye=!0,a=[],Qe.forEach((e,t)=>{for(let n of e.keys())a.push(t+`/`+n)})),n.invalidate&&n.invalidate.forEach(Tt)}}),n.invalidateAll&&e().then(e).then(()=>{Qe.forEach((e,t)=>{e.forEach(({resource:e},n)=>{a?.includes(t+`/`+n)&&e.refresh?.()})})})}async function at(e){if(e.id!==V?.id){H();let t={};Ze.add(t),V={id:e.id,token:t,promise:ht({...e,preload:t}).then(e=>(Ze.delete(t),e.type===`loaded`&&e.state.error&&H(),e)),fork:null}}return V.promise}async function ot(e){let t=(await yt(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(e=>e[1]()))}async function st(e,t,n){let r={params:G.params,route:{id:G.route?.id??null},url:new URL(location.href)};G={...e.state,nav:r};let i=document.querySelector(`style[data-sveltekit]`);if(i&&i.remove(),Object.assign(O,e.props.page),Xe=new R.root({target:t,props:{...e.props,stores:P,components:B},hydrate:n,sync:!1,transformError:void 0}),await Promise.resolve(),nt(X),n){let e={from:null,to:{...r,scroll:M[Y]??T()},willUnload:!1,type:`enter`,complete:Promise.resolve()};W.forEach(t=>t(e))}K=!0}async function ct({url:e,params:t,branch:n,errors:r,status:i,error:a,route:o,form:s}){let c=`never`;if(x&&(e.pathname===x||e.pathname===x+`/`))c=`always`;else for(let e of n)e?.slash!==void 0&&(c=e.slash);e.pathname=f(e.pathname,c),e.search=e.search;let l={type:`loaded`,state:{url:e,params:t,branch:n,error:a,route:o},props:{constructors:Oe(n).map(e=>e.node.component),page:Mt(O)}};s!==void 0&&(l.props.form=s);let u={},d=!O,p=0;for(let e=0;e<Math.max(n.length,G.branch.length);e+=1){let t=n[e],r=G.branch[e];t?.data!==r?.data&&(d=!0),t&&(u={...u,...t.data},d&&(l.props[`data_${p}`]=u),p+=1)}return(!G.url||e.href!==G.url.href||G.error!==a||s!==void 0&&s!==O.form||d)&&(l.props.page={error:a,params:t,route:{id:o?.id??null},state:{},status:i,url:new URL(e),form:s??null,data:d?u:O.data}),l}async function lt({loader:e,parent:t,url:n,params:r,route:i,server_data_node:a}){let o={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},s=await e();return{node:s,loader:e,server:a,universal:s.universal?.load?{type:`data`,data:null,uses:o}:null,data:a?.data??null,slash:s.universal?.trailingSlash??a?.slash}}function ut(e,t,n){let r=e instanceof Request?e.url:e,i=new URL(r,n);return i.origin===n.origin&&(r=i.href.slice(n.origin.length)),{resolved:i,promise:K?y(r,i.href,t):v(r,t)}}function dt(e,t,n,r,i,a){if(Ye)return!0;if(!i)return!1;if(i.parent&&e||i.route&&t||i.url&&n)return!0;for(let e of i.search_params)if(r.has(e))return!0;for(let e of i.params)if(a[e]!==G.params[e])return!0;for(let e of i.dependencies)if(z.some(t=>t(new URL(e))))return!0;return!1}function ft(e,t){return e?.type===`data`?e:e?.type===`skip`?t??null:null}function pt(e,t){if(!e)return new Set(t.searchParams.keys());let n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(let r of n){let i=e.searchParams.getAll(r),a=t.searchParams.getAll(r);i.every(e=>a.includes(e))&&a.every(e=>i.includes(e))&&n.delete(r)}return n}function mt({error:e,url:t,route:n,params:r}){return{type:`loaded`,state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:Mt(O),constructors:[]}}}async function ht({id:e,invalidating:t,url:n,params:r,route:i,preload:a}){if(V?.id===e)return Ze.delete(V.token),V.promise;let{errors:o,layouts:s,leaf:c}=i,d=[...s,c];o.forEach(e=>e?.().catch(()=>{})),d.forEach(e=>e?.[1]().catch(()=>{}));let f=G.url?e!==xt(G.url):!1,p=G.route?i.id!==G.route.id:!1,ee=pt(G.url,n),m=!1,h=d.map(async(e,t)=>{if(!e)return;let a=G.branch[t];return e[1]===a?.loader&&!dt(m,p,f,ee,a.universal?.uses,r)?a:(m=!0,lt({loader:e[1],url:n,params:r,route:i,parent:async()=>{let e={};for(let n=0;n<t;n+=1)Object.assign(e,(await h[n])?.data);return e},server_data_node:ft(e[0]?{type:`skip`}:null,e[0]?a?.server:void 0)}))});for(let e of h)e.catch(()=>{});let g=[];for(let e=0;e<d.length;e+=1)if(d[e])try{g.push(await h[e])}catch(t){if(t instanceof u)return{type:`redirect`,location:t.location};if(Ze.has(a))return mt({error:await $(t,{params:r,url:n,route:{id:i.id}}),url:n,params:r,route:i});let s=ke(t),c;if((void 0)?.includes(t))s=t.status??s,c=t.error;else if(t instanceof l)c=t.body;else{if(await P.updated.check())return await ze(),await F(n);c=await $(t,{params:r,url:n,route:{id:i.id}})}let d=await gt(e,g,o);return d?ct({url:n,params:r,branch:g.slice(0,d.idx).concat(d.node),errors:o,status:s,error:c,route:i}):await Ct(n,{id:i.id},c,s)}else g.push(void 0);return ct({url:n,params:r,branch:g,errors:o,status:200,error:null,route:i,form:t?void 0:null})}async function gt(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)--r;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function _t({status:e,error:t,url:n,route:r}){let i={};try{return ct({url:n,params:i,branch:[await lt({loader:He,url:n,params:i,route:r,parent:()=>Promise.resolve({}),server_data_node:ft(null)}),{node:await I(),loader:I,universal:null,server:null,data:null}],status:e,error:t,errors:[],route:null})}catch(e){if(e instanceof u)return it(new URL(e.location,location.href),{},0);throw e}}async function vt(e){let t=e.href;if(U.has(t))return U.get(t);let n;try{let r=(async()=>{let t=await R.hooks.reroute({url:new URL(e),fetch:async(t,n)=>ut(t,n,e).promise})??e;if(typeof t==`string`){let n=new URL(e);R.hash?n.hash=t:n.pathname=t,t=n}return t})();U.set(t,r),n=await r}catch{U.delete(t);return}return n}async function yt(e,t){if(e&&!we(e,x,R.hash)){let n=await vt(e);if(!n)return;let r=bt(n);for(let n of Ve){let i=n.exec(r);if(i)return{id:xt(e),invalidating:t,route:n,params:ee(i),url:e}}}}function bt(e){return p(R.hash?e.hash.replace(/^#/,``).replace(/[?#].+/,``):e.pathname.slice(x.length))||`/`}function xt(e){return(R.hash?e.hash.replace(/^#/,``):e.pathname)+e.search}function St({url:e,type:t,intent:n,delta:r,event:i,scroll:a}){let o=!1,s=jt(G,n,e,t,a??null);r!==void 0&&(s.navigation.delta=r),i!==void 0&&(s.navigation.event=i);let c={...s.navigation,cancel:()=>{o=!0,s.reject(Error(`navigation cancelled`))}};return q||We.forEach(e=>e(c)),o?null:s}async function Q({type:t,url:r,popped:i,keepfocus:a,noscroll:o,replace_state:s,state:c={},redirect_count:l=0,nav_token:u={},accept:f=Be,block:p=Be,event:ee}){let m=Z;Z=u;let h=await yt(r,!1),g=t===`enter`?jt(G,h,r,t):St({url:r,type:t,delta:i?.delta,intent:h,scroll:i?.scroll,event:ee});if(!g){p(),Z===u&&(Z=m);return}let te=Y,_=X;f(),q=!0,K&&g.navigation.type!==`enter`&&P.navigating.set(k.current=g.navigation);let v=h&&await ht(h);if(!v){if(we(r,x,R.hash))return await F(r,s);v=await Ct(r,{id:null},await $(new d(404,`Not Found`,`Not found: ${r.pathname}`),{url:r,params:{},route:{id:null}}),404,s)}if(r=h?.url||r,Z!==u)return g.reject(Error(`navigation aborted`)),!1;if(v.type===`redirect`){if(l<20){await Q({type:t,url:new URL(v.location,r),popped:i,keepfocus:a,noscroll:o,replace_state:s,state:c,redirect_count:l+1,nav_token:u}),g.fulfil(void 0);return}v=await _t({status:500,error:await $(Error(`Redirect loop`),{url:r,params:{},route:{id:null}}),url:r,route:{id:null}})}else v.props.page.status>=400&&await P.updated.check()&&(await ze(),await F(r,s));if(et(),Le(te),tt(_),v.props.page.url.pathname!==r.pathname&&(r.pathname=v.props.page.url.pathname),c=i?i.state:c,!i){let e=s?0:1,t={[S]:Y+=e,[C]:X+=e,[me]:c};(s?history.replaceState:history.pushState).call(history,t,``,r),s||Re(Y,X)}let y=h&&V?.id===h.id?V.fork:null;V?.fork&&!y&&H(),V=null,v.props.page.state=c;let b;if(K){let e=(await Promise.all(Array.from(Ge,e=>e(g.navigation)))).filter(e=>typeof e==`function`);if(e.length>0){function t(){e.forEach(e=>{W.delete(e)})}e.push(t),e.forEach(e=>{W.add(e)})}let t=g.navigation.to;G={...v.state,nav:{params:t.params,route:t.route,url:t.url}},v.props.page&&(v.props.page.url=r);let i=y&&await y;i?b=i.commit():(j=null,Xe.$set(v.props),j&&Object.assign(v.props.page,j),Ne(v.props.page),b=n?.()),Je=!0}else await st(v,Ue,!1);let{activeElement:ne}=document;await b,await e(),await e();let re=null;if(qe){let e=i?i.scroll:o?T():null;e?scrollTo(e.x,e.y):(re=r.hash&&document.getElementById(Pt(r)))?re.scrollIntoView():scrollTo(0,0)}let ie=document.activeElement!==ne&&document.activeElement!==document.body;!a&&!ie&&At(r,!re),qe=!0,v.props.page&&(j&&Object.assign(v.props.page,j),Object.assign(O,v.props.page)),q=!1,t===`popstate`&&nt(X),g.fulfil(void 0),g.navigation.to&&(g.navigation.to.scroll=T()),W.forEach(e=>e(g.navigation)),P.navigating.set(k.current=null)}async function Ct(e,t,n,r,i){return e.origin===he&&e.pathname===location.pathname&&!Ke?await _t({status:r,error:n,url:e,route:t}):await F(e,i)}function wt(){let e,t={element:void 0,href:void 0},n;L.addEventListener(`mousemove`,t=>{let n=t.target;clearTimeout(e),e=setTimeout(()=>{a(n,w.hover)},20)});function r(e){e.defaultPrevented||a(e.composedPath()[0],w.tap)}L.addEventListener(`mousedown`,r),L.addEventListener(`touchstart`,r,{passive:!0});let i=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(ot(new URL(t.target.href)),i.unobserve(t.target))},{threshold:0});async function a(e,r){let i=ye(e,L),a=i===t.element&&i?.href===t.href&&r>=n;if(!i||a)return;let{url:o,external:s,download:c}=be(i,x,R.hash);if(s||c)return;let l=D(i),u=o&&xt(G.url)===xt(o);if(!(l.reload||u))if(r<=l.preload_data){t={element:i,href:i.href},n=w.tap;let e=await yt(o,!1);if(!e)return;at(e)}else r<=l.preload_code&&(t={element:i,href:i.href},n=r,ot(o))}function o(){i.disconnect();for(let e of L.querySelectorAll(`a`)){let{url:t,external:n,download:r}=be(e,x,R.hash);if(n||r)continue;let a=D(e);a.reload||(a.preload_code===w.viewport&&i.observe(e),a.preload_code===w.eager&&ot(t))}}W.add(o),o()}function $(e,t){if(e instanceof l)return e.body;let n=ke(e),r=Ae(e);return R.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function Tt(e){if(typeof e==`function`)z.push(e);else{let{href:t}=new URL(e,location.href);z.push(e=>e.href===t)}}function Et(){history.scrollRestoration=`manual`,addEventListener(`beforeunload`,e=>{let t=!1;if(rt(),!q){let e=jt(G,void 0,null,`leave`),n={...e.navigation,cancel:()=>{t=!0,e.reject(Error(`navigation cancelled`))}};We.forEach(e=>e(n))}t?(e.preventDefault(),e.returnValue=``):history.scrollRestoration=`auto`}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&rt()}),navigator.connection?.saveData||wt(),L.addEventListener(`click`,async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;let n=ye(t.composedPath()[0],L);if(!n)return;let{url:r,external:i,target:a,download:o}=be(n,x,R.hash);if(!r)return;if(a===`_parent`||a===`_top`){if(window.parent!==window)return}else if(a&&a!==`_self`)return;let s=D(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol===`https:`||r.protocol===`http:`)||o)return;let[c,l]=(R.hash?r.hash.replace(/^#/,``):r.href).split(`#`),u=c===m(location);if(i||s.reload&&(!u||!l)){St({url:r,type:`link`,event:t})?q=!0:t.preventDefault();return}if(l!==void 0&&u){let[,i]=G.url.href.split(`#`);if(i===l){if(t.preventDefault(),l===``||l===`top`&&n.ownerDocument.getElementById(`top`)===null)scrollTo({top:0});else{let e=n.ownerDocument.getElementById(decodeURIComponent(l));e&&(e.scrollIntoView(),e.focus())}return}if(J=!0,Le(Y),e(r),!s.replace_state)return;J=!1}t.preventDefault(),await new Promise(e=>{requestAnimationFrame(()=>{setTimeout(e,0)}),setTimeout(e,100)}),await Q({type:`link`,url:r,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??r.href===location.href,event:t})}),L.addEventListener(`submit`,e=>{if(e.defaultPrevented)return;let t=HTMLFormElement.prototype.cloneNode.call(e.target),n=e.submitter;if((n?.formTarget||t.target)===`_blank`||(n?.formMethod||t.method)!==`get`)return;let r=new URL(n?.hasAttribute(`formaction`)&&n?.formAction||t.action);if(we(r,x,!1))return;let i=e.target,a=D(i);if(a.reload)return;e.preventDefault(),e.stopPropagation();let o=new FormData(i,n);r.search=new URLSearchParams(o).toString(),Q({type:`form`,url:r,keepfocus:a.keepfocus,noscroll:a.noscroll,replace_state:a.replace_state??r.href===location.href,event:e})}),addEventListener(`popstate`,async t=>{if(!kt)if(t.state?.[`sveltekit:history`]){let n=t.state[S];if(Z={},n===Y)return;let r=M[n],i=t.state[`sveltekit:states`]??{},a=new URL(t.state[`sveltekit:pageurl`]??location.href),o=t.state[C],s=G.url?m(location)===m(G.url):!1;if(o===X&&(Je||s)){i!==O.state&&(O.state=i),e(a),M[Y]=T(),r&&scrollTo(r.x,r.y),Y=n;return}let c=n-Y;await Q({type:`popstate`,url:a,popped:{state:i,scroll:r,delta:c},accept:()=>{Y=n,X=o},block:()=>{history.go(-c)},nav_token:Z,event:t})}else J||(e(new URL(location.href)),R.hash&&location.reload())}),addEventListener(`hashchange`,()=>{J&&(J=!1,history.replaceState({...history.state,[S]:++Y,[C]:X},``,location.href))});for(let e of document.querySelectorAll(`link`))Ie.has(e.rel)&&(e.href=e.href);addEventListener(`pageshow`,e=>{e.persisted&&P.navigating.set(k.current=null)});function e(e){G.url=O.url=e,P.page.set(Mt(O)),P.page.notify()}}async function Dt(e,{status:t=200,error:n,node_ids:r,params:i,route:a,server_route:o,data:s,form:c}){Ke=!0;let l=new URL(location.href),d;({params:i={},route:a={id:null}}=await yt(l,!1)||{}),d=Ve.find(({id:e})=>e===a.id);let f,p=!0;try{let e=r.map(async(t,n)=>{let r=s[n];return r?.uses&&(r.uses=Ot(r.uses)),lt({loader:R.nodes[t],url:l,params:i,route:a,parent:async()=>{let t={};for(let r=0;r<n;r+=1)Object.assign(t,(await e[r]).data);return t},server_data_node:ft(r)})}),o=await Promise.all(e);if(d){let e=d.layouts;for(let t=0;t<e.length;t++)e[t]||o.splice(t,0,void 0)}f=await ct({url:l,params:i,branch:o,status:t,error:n,errors:d?.errors,form:c,route:d??null})}catch(t){if(t instanceof u){await F(new URL(t.location,location.href));return}f=await _t({status:ke(t),error:await $(t,{url:l,params:i,route:a}),url:l,route:a}),e.textContent=``,p=!1}f.props.page&&(f.props.page.state={}),await st(f,e,p)}function Ot(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}var kt=!1;function At(e,t=!0){let n=document.querySelector(`[autofocus]`);if(n)n.focus();else{let n=Pt(e);if(n&&document.getElementById(n)){let{x:r,y:i}=T();setTimeout(()=>{let a=history.state;kt=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(a,``,e),t&&scrollTo(r,i),kt=!1})}else{let e=document.body,t=e.getAttribute(`tabindex`);e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),t===null?e.removeAttribute(`tabindex`):e.setAttribute(`tabindex`,t)}let r=getSelection();if(r&&r.type!==`None`){let e=[];for(let t=0;t<r.rangeCount;t+=1)e.push(r.getRangeAt(t));setTimeout(()=>{if(r.rangeCount===e.length){for(let t=0;t<r.rangeCount;t+=1){let n=e[t],i=r.getRangeAt(t);if(n.commonAncestorContainer!==i.commonAncestorContainer||n.startContainer!==i.startContainer||n.endContainer!==i.endContainer||n.startOffset!==i.startOffset||n.endOffset!==i.endOffset)return}r.removeAllRanges()}})}}}function jt(e,t,n,r,i=null){let a,o,s=new Promise((e,t)=>{a=e,o=t});return s.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:T()},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n,scroll:i},willUnload:!t,type:r,complete:s},fulfil:a,reject:o}}function Mt(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Nt(e){let t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function Pt(e){let t;if(R.hash){let[,,n]=e.hash.split(`#`,3);t=n??``}else t=e.hash.slice(1);return decodeURIComponent(t)}export{A as a,O as i,P as n,Te as o,k as r,$e as t};
@@ -1 +0,0 @@
1
- import{o as e,t}from"../chunks/b9CWRTHL.js";export{e as load_css,t as start};