@pimote/pimote 0.1.1 → 0.3.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.
- package/README.md +46 -17
- package/client/build/_app/immutable/assets/0.C7loWTOC.css +2 -0
- package/client/build/_app/immutable/assets/2.D9fiCd8W.css +1 -0
- package/client/build/_app/immutable/chunks/{BTSGQ0LP.js → B8lQCytv.js} +1 -1
- package/client/build/_app/immutable/chunks/BNqgidwO.js +5 -0
- package/client/build/_app/immutable/chunks/D26i4pYm.js +1 -0
- package/client/build/_app/immutable/chunks/D_Fpgknp.js +1 -0
- package/client/build/_app/immutable/chunks/DoVhjU85.js +1 -0
- package/client/build/_app/immutable/chunks/DzqbY2XU.js +1 -0
- package/client/build/_app/immutable/chunks/{L5t1qIFa.js → uZO1iyJZ.js} +2 -2
- package/client/build/_app/immutable/entry/app.DO-zgzyy.js +2 -0
- package/client/build/_app/immutable/entry/start.BZlrOH0-.js +1 -0
- package/client/build/_app/immutable/nodes/0.BEh4bPGQ.js +10 -0
- package/client/build/_app/immutable/nodes/1.B2l9JGRO.js +1 -0
- package/client/build/_app/immutable/nodes/2.ph9M0S1U.js +54 -0
- package/client/build/_app/version.json +1 -1
- package/client/build/index.html +8 -8
- package/package.json +9 -5
- package/patches/{@mariozechner+pi-coding-agent+0.65.0.patch → @mariozechner+pi-coding-agent+0.67.6.patch} +4 -4
- package/server/dist/auto-drain-on-abort.js +49 -0
- package/server/dist/config.js +21 -0
- package/server/dist/extension-ui-bridge.js +14 -1
- package/server/dist/folder-index.js +8 -4
- package/server/dist/git-branch.js +32 -0
- package/server/dist/index.js +31 -1
- package/server/dist/message-mapper.js +99 -4
- package/server/dist/server.js +5 -2
- package/server/dist/session-manager.js +99 -6
- package/server/dist/voice/fsm/actions.js +6 -0
- package/server/dist/voice/fsm/events.js +7 -0
- package/server/dist/voice/fsm/reducer.js +74 -0
- package/server/dist/voice/fsm/reducers/lifecycle.js +146 -0
- package/server/dist/voice/fsm/reducers/streaming.js +220 -0
- package/server/dist/voice/fsm/reducers/walkback.js +73 -0
- package/server/dist/voice/fsm/state.js +21 -0
- package/server/dist/voice/fsm/text-extractor.js +128 -0
- package/server/dist/voice/index.js +319 -0
- package/server/dist/voice/interpreter-prompt.js +115 -0
- package/server/dist/voice/speechmux-client.js +153 -0
- package/server/dist/voice/state-machine.js +7 -0
- package/server/dist/voice/wait-for-idle.js +67 -0
- package/server/dist/voice/walk-back.js +198 -0
- package/server/dist/voice-orchestrator-boot.js +90 -0
- package/server/dist/voice-orchestrator.js +91 -0
- package/server/dist/ws-handler.js +340 -36
- package/shared/dist/index.d.ts +1 -0
- package/shared/dist/index.js +2 -0
- package/shared/dist/protocol.d.ts +614 -0
- package/shared/dist/protocol.js +30 -0
- package/client/build/_app/immutable/assets/0.Cj7UL9cq.css +0 -2
- package/client/build/_app/immutable/assets/2.CIRqqeIr.css +0 -1
- package/client/build/_app/immutable/chunks/BEKHoMUP.js +0 -1
- package/client/build/_app/immutable/chunks/CfQ6Egqh.js +0 -1
- package/client/build/_app/immutable/chunks/DQ-KfPq0.js +0 -1
- package/client/build/_app/immutable/chunks/DfA0ecbz.js +0 -1
- package/client/build/_app/immutable/chunks/Dnh9Emns.js +0 -5
- package/client/build/_app/immutable/entry/app.j0V4R67V.js +0 -2
- package/client/build/_app/immutable/entry/start.wkfo4Ebw.js +0 -1
- package/client/build/_app/immutable/nodes/0.CUipL_P7.js +0 -5
- package/client/build/_app/immutable/nodes/1.ex7ejMby.js +0 -1
- package/client/build/_app/immutable/nodes/2.165oQG9Z.js +0 -49
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../chunks/uZO1iyJZ.js","../chunks/B8lQCytv.js","../chunks/5FogVG_p.js","../chunks/D1hYfEew.js","../chunks/CnTTbAN2.js","../chunks/BgJ-X-tf.js","../chunks/DoVhjU85.js","../chunks/D_Fpgknp.js","../chunks/D26i4pYm.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{n as e}from"../chunks/5FogVG_p.js";import{$ as t,A as n,B as r,C as i,E 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,V as _,X as v,Y as y,Z as b,_ as x,a as S,bt as C,c as w,d as T,et as E,f as D,g as ee,h as O,it as k,mt as A,nt as j,o as M,ot as N,p as P,pt as F,r as te,s as I,st as L,tt as R,u as ne,v as re,vt as z,w as B,xt as ie,y as V,yt as H,z as U}from"../chunks/B8lQCytv.js";import{t as W}from"../chunks/CHncfsjL.js";import"../chunks/D1hYfEew.js";import{$ as G,A as K,B as ae,C as oe,D as se,E as ce,G as q,H as le,J as ue,K as de,L as J,M as Y,N as fe,O as pe,P as me,Q as he,R as ge,T as _e,V as ve,W as ye,X as be,Y as xe,Z as Se,_ as Ce,b as we,et as Te,h as Ee,i as De,j as Oe,k as ke,m as Ae,n as je,nt as Me,o as Ne,q as Pe,r as Fe,s as Ie,t as Le,tt as X,u as Z,v as Re,w as ze,y as Be,z as Ve}from"../chunks/BNqgidwO.js";import{_ as He,d as Q,l as Ue,s as $}from"../chunks/D_Fpgknp.js";var We=e({prerender:()=>!1,ssr:()=>!1}),Ge=class{#e;#t;constructor(e,t){this.#e=e,this.#t=t,this.handler=this.handler.bind(this),v(this.handler)}handler(){let e=0,t=this.#e();if(!t)return;let n=new ResizeObserver(()=>{cancelAnimationFrame(e),e=window.requestAnimationFrame(this.#t)});return n.observe(t),()=>{window.cancelAnimationFrame(e),n.unobserve(t)}}},Ke=class{opts;present;#e;#t=N(!1);#n=!1;#r=N(void 0);#i=null;constructor(e){this.opts=e,this.present=this.opts.open,k(this.#t,e.open.current,!0),this.#e=new le({ref:this.opts.ref,afterTick:this.opts.open}),ue(()=>this.#o()),be(()=>this.present.current,e=>{if(!this.#n){this.#n=!0;return}this.#o(),e&&k(this.#t,!0),k(this.#r,e?`starting`:`ending`,!0),e&&(this.#i=window.requestAnimationFrame(()=>{this.#i=null,this.present.current&&k(this.#r,void 0)})),this.#e.run(()=>{e===this.present.current&&(e||k(this.#t,!1),k(this.#r,void 0))})})}#a=L(()=>g(this.#t));get isPresent(){return g(this.#a)}set isPresent(e){k(this.#a,e)}get transitionStatus(){return g(this.#r)}#o(){this.#i!==null&&(window.cancelAnimationFrame(this.#i),this.#i=null)}};function qe(e,t){A(t,!0);let n=new Ke({open:X(()=>t.open),ref:t.ref});var r=u(),i=E(r),a=e=>{var r=u();B(E(r),()=>t.presence??C,()=>({present:n.isPresent,transitionStatus:n.transitionStatus})),l(e,r)};d(i,e=>{(t.forceMount||t.open||n.isPresent)&&e(a)}),l(e,r),F()}function Je(e,t,n){return Math.min(n,Math.max(t,e))}var Ye=class{state;#e;constructor(e,t){this.state=Me(e),this.#e=t,this.dispatch=this.dispatch.bind(this)}#t(e){return this.#e[this.state.current][e]??this.state.current}dispatch(e){this.state.current=this.#t(e)}},Xe=ye({component:`scroll-area`,parts:[`root`,`viewport`,`corner`,`thumb`,`scrollbar`]}),Ze=new he(`ScrollArea.Root`),Qe=new he(`ScrollArea.Scrollbar`),$e=new he(`ScrollArea.ScrollbarVisible`),et=new he(`ScrollArea.ScrollbarAxis`),tt=new he(`ScrollArea.ScrollbarShared`),nt=class e{static create(t){return Ze.set(new e(t))}opts;attachment;#e=N(null);get scrollAreaNode(){return g(this.#e)}set scrollAreaNode(e){k(this.#e,e,!0)}#t=N(null);get viewportNode(){return g(this.#t)}set viewportNode(e){k(this.#t,e,!0)}#n=N(null);get contentNode(){return g(this.#n)}set contentNode(e){k(this.#n,e,!0)}#r=N(null);get scrollbarXNode(){return g(this.#r)}set scrollbarXNode(e){k(this.#r,e,!0)}#i=N(null);get scrollbarYNode(){return g(this.#i)}set scrollbarYNode(e){k(this.#i,e,!0)}#a=N(0);get cornerWidth(){return g(this.#a)}set cornerWidth(e){k(this.#a,e,!0)}#o=N(0);get cornerHeight(){return g(this.#o)}set cornerHeight(e){k(this.#o,e,!0)}#s=N(!1);get scrollbarXEnabled(){return g(this.#s)}set scrollbarXEnabled(e){k(this.#s,e,!0)}#c=N(!1);get scrollbarYEnabled(){return g(this.#c)}set scrollbarYEnabled(e){k(this.#c,e,!0)}domContext;constructor(e){this.opts=e,this.attachment=q(e.ref,e=>this.scrollAreaNode=e),this.domContext=new de(e.ref)}#l=L(()=>({id:this.opts.id.current,dir:this.opts.dir.current,style:{position:`relative`,"--bits-scroll-area-corner-height":`${this.cornerHeight}px`,"--bits-scroll-area-corner-width":`${this.cornerWidth}px`},[Xe.root]:``,...this.attachment}));get props(){return g(this.#l)}set props(e){k(this.#l,e)}},rt=class e{static create(t){return new e(t,Ze.get())}opts;root;attachment;#e=Me(ae());#t=Me(null);contentAttachment=q(this.#t,e=>this.root.contentNode=e);constructor(e,t){this.opts=e,this.root=t,this.attachment=q(e.ref,e=>this.root.viewportNode=e)}#n=L(()=>({id:this.opts.id.current,style:{overflowX:this.root.scrollbarXEnabled?`scroll`:`hidden`,overflowY:this.root.scrollbarYEnabled?`scroll`:`hidden`},[Xe.viewport]:``,...this.attachment}));get props(){return g(this.#n)}set props(e){k(this.#n,e)}#r=L(()=>({id:this.#e.current,"data-scroll-area-content":``,style:{minWidth:this.root.scrollbarXEnabled?`fit-content`:void 0},...this.contentAttachment}));get contentProps(){return g(this.#r)}set contentProps(e){k(this.#r,e)}},it=class e{static create(t){return Qe.set(new e(t,Ze.get()))}opts;root;#e=L(()=>this.opts.orientation.current===`horizontal`);get isHorizontal(){return g(this.#e)}set isHorizontal(e){k(this.#e,e)}#t=N(!1);get hasThumb(){return g(this.#t)}set hasThumb(e){k(this.#t,e,!0)}constructor(e,t){this.opts=e,this.root=t,be(()=>this.isHorizontal,e=>e?(this.root.scrollbarXEnabled=!0,()=>{this.root.scrollbarXEnabled=!1}):(this.root.scrollbarYEnabled=!0,()=>{this.root.scrollbarYEnabled=!1}))}},at=class e{static create(){return new e(Qe.get())}scrollbar;root;#e=N(!1);get isVisible(){return g(this.#e)}set isVisible(e){k(this.#e,e,!0)}constructor(e){this.scrollbar=e,this.root=e.root,v(()=>{let e=this.root.scrollAreaNode,t=this.root.opts.scrollHideDelay.current,n=0;if(!e)return;let r=Te(_(e,`pointerenter`,()=>{this.root.domContext.clearTimeout(n),s(()=>this.isVisible=!0)}),_(e,`pointerleave`,()=>{n&&this.root.domContext.clearTimeout(n),n=this.root.domContext.setTimeout(()=>{s(()=>{this.scrollbar.hasThumb=!1,this.isVisible=!1})},t)}));return()=>{this.root.domContext.getWindow().clearTimeout(n),r()}})}#t=L(()=>({"data-state":this.isVisible?`visible`:`hidden`}));get props(){return g(this.#t)}set props(e){k(this.#t,e)}},ot=class e{static create(){return new e(Qe.get())}scrollbar;root;machine=new Ye(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});#e=L(()=>this.machine.state.current===`hidden`);get isHidden(){return g(this.#e)}set isHidden(e){k(this.#e,e)}constructor(e){this.scrollbar=e,this.root=e.root;let t=Se(()=>this.machine.dispatch(`SCROLL_END`),100);v(()=>{let e=this.machine.state.current,t=this.root.opts.scrollHideDelay.current;if(e===`idle`){let e=this.root.domContext.setTimeout(()=>this.machine.dispatch(`HIDE`),t);return()=>this.root.domContext.clearTimeout(e)}}),v(()=>{let e=this.root.viewportNode;if(!e)return;let n=this.scrollbar.isHorizontal?`scrollLeft`:`scrollTop`,r=e[n];return _(e,`scroll`,()=>{let i=e[n];r!==i&&(this.machine.dispatch(`SCROLL`),t()),r=i})}),this.onpointerenter=this.onpointerenter.bind(this),this.onpointerleave=this.onpointerleave.bind(this)}onpointerenter(e){this.machine.dispatch(`POINTER_ENTER`)}onpointerleave(e){this.machine.dispatch(`POINTER_LEAVE`)}#t=L(()=>({"data-state":this.machine.state.current===`hidden`?`hidden`:`visible`,onpointerenter:this.onpointerenter,onpointerleave:this.onpointerleave}));get props(){return g(this.#t)}set props(e){k(this.#t,e)}},st=class e{static create(){return new e(Qe.get())}scrollbar;root;#e=N(!1);get isVisible(){return g(this.#e)}set isVisible(e){k(this.#e,e,!0)}constructor(e){this.scrollbar=e,this.root=e.root;let t=Se(()=>{let e=this.root.viewportNode;if(!e)return;let t=e.offsetWidth<e.scrollWidth,n=e.offsetHeight<e.scrollHeight;this.isVisible=this.scrollbar.isHorizontal?t:n},10);new Ge(()=>this.root.viewportNode,t),new Ge(()=>this.root.contentNode,t)}#t=L(()=>({"data-state":this.isVisible?`visible`:`hidden`}));get props(){return g(this.#t)}set props(e){k(this.#t,e)}},ct=class e{static create(){return $e.set(new e(Qe.get()))}scrollbar;root;#e=N(null);get thumbNode(){return g(this.#e)}set thumbNode(e){k(this.#e,e,!0)}#t=N(0);get pointerOffset(){return g(this.#t)}set pointerOffset(e){k(this.#t,e,!0)}#n=N({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}});get sizes(){return g(this.#n)}set sizes(e){k(this.#n,e)}#r=L(()=>ht(this.sizes.viewport,this.sizes.content));get thumbRatio(){return g(this.#r)}set thumbRatio(e){k(this.#r,e)}#i=L(()=>this.thumbRatio>0&&this.thumbRatio<1);get hasThumb(){return g(this.#i)}set hasThumb(e){k(this.#i,e)}#a=N(``);get prevTransformStyle(){return g(this.#a)}set prevTransformStyle(e){k(this.#a,e,!0)}constructor(e){this.scrollbar=e,this.root=e.root,v(()=>{this.scrollbar.hasThumb=this.hasThumb}),v(()=>{!this.scrollbar.hasThumb&&this.thumbNode&&(this.prevTransformStyle=this.thumbNode.style.transform)})}setSizes(e){this.sizes=e}getScrollPosition(e,t){return _t({pointerPos:e,pointerOffset:this.pointerOffset,sizes:this.sizes,dir:t})}onThumbPointerUp(){this.pointerOffset=0}onThumbPointerDown(e){this.pointerOffset=e}xOnThumbPositionChange(){if(!(this.root.viewportNode&&this.thumbNode))return;let e=this.root.viewportNode.scrollLeft,t=`translate3d(${vt({scrollPos:e,sizes:this.sizes,dir:this.root.opts.dir.current})}px, 0, 0)`;this.thumbNode.style.transform=t,this.prevTransformStyle=t}xOnWheelScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollLeft=e)}xOnDragScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollLeft=this.getScrollPosition(e,this.root.opts.dir.current))}yOnThumbPositionChange(){if(!(this.root.viewportNode&&this.thumbNode))return;let e=this.root.viewportNode.scrollTop,t=`translate3d(0, ${vt({scrollPos:e,sizes:this.sizes})}px, 0)`;this.thumbNode.style.transform=t,this.prevTransformStyle=t}yOnWheelScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollTop=e)}yOnDragScroll(e){this.root.viewportNode&&(this.root.viewportNode.scrollTop=this.getScrollPosition(e,this.root.opts.dir.current))}},lt=class e{static create(t){return et.set(new e(t,$e.get()))}opts;scrollbarVis;root;scrollbar;attachment;#e=N();get computedStyle(){return g(this.#e)}set computedStyle(e){k(this.#e,e,!0)}constructor(e,t){this.opts=e,this.scrollbarVis=t,this.root=t.root,this.scrollbar=t.scrollbar,this.attachment=q(this.scrollbar.opts.ref,e=>this.root.scrollbarXNode=e),v(()=>{this.scrollbar.opts.ref.current&&this.opts.mounted.current&&(this.computedStyle=getComputedStyle(this.scrollbar.opts.ref.current))}),v(()=>{this.onResize()})}onThumbPointerDown=e=>{this.scrollbarVis.onThumbPointerDown(e.x)};onDragScroll=e=>{this.scrollbarVis.xOnDragScroll(e.x)};onThumbPointerUp=()=>{this.scrollbarVis.onThumbPointerUp()};onThumbPositionChange=()=>{this.scrollbarVis.xOnThumbPositionChange()};onWheelScroll=(e,t)=>{if(!this.root.viewportNode)return;let n=this.root.viewportNode.scrollLeft+e.deltaX;this.scrollbarVis.xOnWheelScroll(n),bt(n,t)&&e.preventDefault()};onResize=()=>{this.scrollbar.opts.ref.current&&this.root.viewportNode&&this.computedStyle&&this.scrollbarVis.setSizes({content:this.root.viewportNode.scrollWidth,viewport:this.root.viewportNode.offsetWidth,scrollbar:{size:this.scrollbar.opts.ref.current.clientWidth,paddingStart:mt(this.computedStyle.paddingLeft),paddingEnd:mt(this.computedStyle.paddingRight)}})};#t=L(()=>gt(this.scrollbarVis.sizes));get thumbSize(){return g(this.#t)}set thumbSize(e){k(this.#t,e)}#n=L(()=>({id:this.scrollbar.opts.id.current,"data-orientation":`horizontal`,style:{bottom:0,left:this.root.opts.dir.current===`rtl`?`var(--bits-scroll-area-corner-width)`:0,right:this.root.opts.dir.current===`ltr`?`var(--bits-scroll-area-corner-width)`:0,"--bits-scroll-area-thumb-width":`${this.thumbSize}px`},...this.attachment}));get props(){return g(this.#n)}set props(e){k(this.#n,e)}},ut=class e{static create(t){return et.set(new e(t,$e.get()))}opts;scrollbarVis;root;scrollbar;attachment;#e=N();get computedStyle(){return g(this.#e)}set computedStyle(e){k(this.#e,e,!0)}constructor(e,t){this.opts=e,this.scrollbarVis=t,this.root=t.root,this.scrollbar=t.scrollbar,this.attachment=q(this.scrollbar.opts.ref,e=>this.root.scrollbarYNode=e),v(()=>{this.scrollbar.opts.ref.current&&this.opts.mounted.current&&(this.computedStyle=getComputedStyle(this.scrollbar.opts.ref.current))}),v(()=>{this.onResize()}),this.onThumbPointerDown=this.onThumbPointerDown.bind(this),this.onDragScroll=this.onDragScroll.bind(this),this.onThumbPointerUp=this.onThumbPointerUp.bind(this),this.onThumbPositionChange=this.onThumbPositionChange.bind(this),this.onWheelScroll=this.onWheelScroll.bind(this),this.onResize=this.onResize.bind(this)}onThumbPointerDown(e){this.scrollbarVis.onThumbPointerDown(e.y)}onDragScroll(e){this.scrollbarVis.yOnDragScroll(e.y)}onThumbPointerUp(){this.scrollbarVis.onThumbPointerUp()}onThumbPositionChange(){this.scrollbarVis.yOnThumbPositionChange()}onWheelScroll(e,t){if(!this.root.viewportNode)return;let n=this.root.viewportNode.scrollTop+e.deltaY;this.scrollbarVis.yOnWheelScroll(n),bt(n,t)&&e.preventDefault()}onResize(){this.scrollbar.opts.ref.current&&this.root.viewportNode&&this.computedStyle&&this.scrollbarVis.setSizes({content:this.root.viewportNode.scrollHeight,viewport:this.root.viewportNode.offsetHeight,scrollbar:{size:this.scrollbar.opts.ref.current.clientHeight,paddingStart:mt(this.computedStyle.paddingTop),paddingEnd:mt(this.computedStyle.paddingBottom)}})}#t=L(()=>gt(this.scrollbarVis.sizes));get thumbSize(){return g(this.#t)}set thumbSize(e){k(this.#t,e)}#n=L(()=>({id:this.scrollbar.opts.id.current,"data-orientation":`vertical`,style:{top:0,right:this.root.opts.dir.current===`ltr`?0:void 0,left:this.root.opts.dir.current===`rtl`?0:void 0,bottom:`var(--bits-scroll-area-corner-height)`,"--bits-scroll-area-thumb-height":`${this.thumbSize}px`},...this.attachment}));get props(){return g(this.#n)}set props(e){k(this.#n,e)}},dt=class e{static create(){return tt.set(new e(et.get()))}scrollbarState;root;scrollbarVis;scrollbar;#e=N(null);get rect(){return g(this.#e)}set rect(e){k(this.#e,e)}#t=N(``);get prevWebkitUserSelect(){return g(this.#t)}set prevWebkitUserSelect(e){k(this.#t,e,!0)}handleResize;handleThumbPositionChange;handleWheelScroll;handleThumbPointerDown;handleThumbPointerUp;#n=L(()=>this.scrollbarVis.sizes.content-this.scrollbarVis.sizes.viewport);get maxScrollPos(){return g(this.#n)}set maxScrollPos(e){k(this.#n,e)}constructor(e){this.scrollbarState=e,this.root=e.root,this.scrollbarVis=e.scrollbarVis,this.scrollbar=e.scrollbarVis.scrollbar,this.handleResize=Se(()=>this.scrollbarState.onResize(),10),this.handleThumbPositionChange=this.scrollbarState.onThumbPositionChange,this.handleWheelScroll=this.scrollbarState.onWheelScroll,this.handleThumbPointerDown=this.scrollbarState.onThumbPointerDown,this.handleThumbPointerUp=this.scrollbarState.onThumbPointerUp,v(()=>{let e=this.maxScrollPos,t=this.scrollbar.opts.ref.current;return this.root.viewportNode,_(this.root.domContext.getDocument(),`wheel`,n=>{let r=n.target;t?.contains(r)&&this.handleWheelScroll(n,e)},{passive:!1})}),b(()=>{this.scrollbarVis.sizes,s(()=>this.handleThumbPositionChange())}),new Ge(()=>this.scrollbar.opts.ref.current,this.handleResize),new Ge(()=>this.root.contentNode,this.handleResize),this.onpointerdown=this.onpointerdown.bind(this),this.onpointermove=this.onpointermove.bind(this),this.onpointerup=this.onpointerup.bind(this),this.onlostpointercapture=this.onlostpointercapture.bind(this)}handleDragScroll(e){if(!this.rect)return;let t=e.clientX-this.rect.left,n=e.clientY-this.rect.top;this.scrollbarState.onDragScroll({x:t,y:n})}#r(){this.rect!==null&&(this.root.domContext.getDocument().body.style.webkitUserSelect=this.prevWebkitUserSelect,this.root.viewportNode&&(this.root.viewportNode.style.scrollBehavior=``),this.rect=null)}onpointerdown(e){e.button===0&&(e.target.setPointerCapture(e.pointerId),this.rect=this.scrollbar.opts.ref.current?.getBoundingClientRect()??null,this.prevWebkitUserSelect=this.root.domContext.getDocument().body.style.webkitUserSelect,this.root.domContext.getDocument().body.style.webkitUserSelect=`none`,this.root.viewportNode&&(this.root.viewportNode.style.scrollBehavior=`auto`),this.handleDragScroll(e))}onpointermove(e){this.handleDragScroll(e)}onpointerup(e){let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),this.#r()}onlostpointercapture(e){this.#r()}#i=L(()=>G({...this.scrollbarState.props,style:{position:`absolute`,...this.scrollbarState.props.style},[Xe.scrollbar]:``,onpointerdown:this.onpointerdown,onpointermove:this.onpointermove,onpointerup:this.onpointerup,onlostpointercapture:this.onlostpointercapture}));get props(){return g(this.#i)}set props(e){k(this.#i,e)}},ft=class e{static create(t){return new e(t,tt.get())}opts;scrollbarState;attachment;#e;#t=N();#n=Se(()=>{g(this.#t)&&(g(this.#t)(),k(this.#t,void 0))},100);constructor(e,t){this.opts=e,this.scrollbarState=t,this.#e=t.root,this.attachment=q(this.opts.ref,e=>this.scrollbarState.scrollbarVis.thumbNode=e),v(()=>{let e=this.#e.viewportNode;return e?(s(()=>this.scrollbarState.handleThumbPositionChange()),_(e,`scroll`,()=>{if(this.#n(),!g(this.#t)){let t=xt(e,this.scrollbarState.handleThumbPositionChange);k(this.#t,t,!0),this.scrollbarState.handleThumbPositionChange()}})):void 0}),this.onpointerdowncapture=this.onpointerdowncapture.bind(this),this.onpointerup=this.onpointerup.bind(this)}onpointerdowncapture(e){let t=e.target;if(!t)return;let n=t.getBoundingClientRect(),r=e.clientX-n.left,i=e.clientY-n.top;this.scrollbarState.handleThumbPointerDown({x:r,y:i})}onpointerup(e){this.scrollbarState.handleThumbPointerUp()}#r=L(()=>({id:this.opts.id.current,"data-state":this.scrollbarState.scrollbarVis.hasThumb?`visible`:`hidden`,style:{width:`var(--bits-scroll-area-thumb-width)`,height:`var(--bits-scroll-area-thumb-height)`,transform:this.scrollbarState.scrollbarVis.prevTransformStyle},onpointerdowncapture:this.onpointerdowncapture,onpointerup:this.onpointerup,[Xe.thumb]:``,...this.attachment}));get props(){return g(this.#r)}set props(e){k(this.#r,e)}},pt=class e{static create(t){return new e(t,Ze.get())}opts;root;attachment;#e=N(0);#t=N(0);#n=L(()=>!!(g(this.#e)&&g(this.#t)));get hasSize(){return g(this.#n)}set hasSize(e){k(this.#n,e)}constructor(e,t){this.opts=e,this.root=t,this.attachment=q(this.opts.ref),new Ge(()=>this.root.scrollbarXNode,()=>{let e=this.root.scrollbarXNode?.offsetHeight||0;this.root.cornerHeight=e,k(this.#t,e,!0)}),new Ge(()=>this.root.scrollbarYNode,()=>{let e=this.root.scrollbarYNode?.offsetWidth||0;this.root.cornerWidth=e,k(this.#e,e,!0)})}#r=L(()=>({id:this.opts.id.current,style:{width:g(this.#e),height:g(this.#t),position:`absolute`,right:this.root.opts.dir.current===`ltr`?0:void 0,left:this.root.opts.dir.current===`rtl`?0:void 0,bottom:0},[Xe.corner]:``,...this.attachment}));get props(){return g(this.#r)}set props(e){k(this.#r,e)}};function mt(e){return e?Number.parseInt(e,10):0}function ht(e,t){let n=e/t;return Number.isNaN(n)?0:n}function gt(e){let t=ht(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function _t({pointerPos:e,pointerOffset:t,sizes:n,dir:r=`ltr`}){let i=gt(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return yt([c,l],d)(e)}function vt({scrollPos:e,sizes:t,dir:n=`ltr`}){let r=gt(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=n===`ltr`?[0,o]:[o*-1,0],l=Je(e,c[0],c[1]);return yt([0,o],[0,s])(l)}function yt(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function bt(e,t){return e>0&&e<t}function xt(e,t){let n={left:e.scrollLeft,top:e.scrollTop},r=0,i=Pe(e);return(function a(){let o={left:e.scrollLeft,top:e.scrollTop},s=n.left!==o.left,c=n.top!==o.top;(s||c)&&t(),n=o,r=i.requestAnimationFrame(a)})(),()=>i.cancelAnimationFrame(r)}var St=f(`<div><!></div>`);function Ct(e,n){let r=o();A(n,!0);let i=S(n,`ref`,15,null),a=S(n,`id`,19,()=>ve(r)),s=S(n,`type`,3,`hover`),c=S(n,`dir`,3,`ltr`),f=S(n,`scrollHideDelay`,3,600),p=M(n,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`type`,`dir`,`scrollHideDelay`,`children`,`child`]),m=nt.create({type:X(()=>s()),dir:X(()=>c()),scrollHideDelay:X(()=>f()),id:X(()=>a()),ref:X(()=>i(),e=>i(e))}),h=L(()=>G(p,m.props));var _=u(),v=E(_),y=e=>{var t=u();B(E(t),()=>n.child,()=>({props:g(h)})),l(e,t)},b=e=>{var r=St();T(r,()=>({...g(h)})),B(t(r),()=>n.children??C),H(r),l(e,r)};d(v,e=>{n.child?e(y):e(b,-1)}),l(e,_),F()}var wt=f(`<div><div><!></div></div>`);function Tt(e,n){let r=o();A(n,!0);let i=S(n,`ref`,15,null),a=S(n,`id`,19,()=>ve(r)),s=M(n,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`children`]),c=rt.create({id:X(()=>a()),ref:X(()=>i(),e=>i(e))}),u=L(()=>G(s,c.props)),d=L(()=>G({},c.contentProps));var f=wt();T(f,()=>({...g(u)}));var p=t(f);T(p,()=>({...g(d)})),B(t(p),()=>n.children??C),H(p),H(f),l(e,f),F()}var Et=f(`<div><!></div>`);function Dt(e,n){A(n,!0);let r=M(n,[`$$slots`,`$$events`,`$$legacy`,`child`,`children`]),i=dt.create(),a=L(()=>G(r,i.props));var o=u(),s=E(o),c=e=>{var t=u();B(E(t),()=>n.child,()=>({props:g(a)})),l(e,t)},f=e=>{var r=Et();T(r,()=>({...g(a)})),B(t(r),()=>n.children??C),H(r),l(e,r)};d(s,e=>{n.child?e(c):e(f,-1)}),l(e,o),F()}function Ot(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=new xe,i=lt.create({mounted:X(()=>r.current)}),a=L(()=>G(n,i.props));Dt(e,I(()=>g(a))),F()}function kt(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=new xe,i=ut.create({mounted:X(()=>r.current)}),a=L(()=>G(n,i.props));Dt(e,I(()=>g(a))),F()}function At(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=ct.create();var i=u(),a=E(i),o=e=>{Ot(e,I(()=>n))},s=e=>{kt(e,I(()=>n))};d(a,e=>{r.scrollbar.opts.orientation.current===`horizontal`?e(o):e(s,-1)}),l(e,i),F()}function jt(e,t){A(t,!0);let n=S(t,`forceMount`,3,!1),r=M(t,[`$$slots`,`$$events`,`$$legacy`,`forceMount`]),i=st.create(),a=L(()=>G(r,i.props));{let t=e=>{At(e,I(()=>g(a)))},r=L(()=>n()||i.isVisible);qe(e,{get open(){return g(r)},get ref(){return i.scrollbar.opts.ref},presence:t,$$slots:{presence:!0}})}F()}function Mt(e,t){A(t,!0);let n=S(t,`forceMount`,3,!1),r=M(t,[`$$slots`,`$$events`,`$$legacy`,`forceMount`]),i=ot.create(),a=L(()=>G(r,i.props));{let t=e=>{At(e,I(()=>g(a)))},r=L(()=>n()||!i.isHidden);qe(e,I(()=>g(a),{get open(){return g(r)},get ref(){return i.scrollbar.opts.ref},presence:t,$$slots:{presence:!0}}))}F()}function Nt(e,t){A(t,!0);let n=S(t,`forceMount`,3,!1),r=M(t,[`$$slots`,`$$events`,`$$legacy`,`forceMount`]),i=at.create(),a=st.create(),o=L(()=>G(r,i.props,a.props,{"data-state":i.isVisible?`visible`:`hidden`})),s=L(()=>n()||i.isVisible&&a.isVisible);qe(e,{get open(){return g(s)},get ref(){return a.scrollbar.opts.ref},presence:e=>{At(e,I(()=>g(o)))},$$slots:{presence:!0}}),F()}function Pt(e,t){let n=o();A(t,!0);let r=S(t,`ref`,15,null),i=S(t,`id`,19,()=>ve(n)),a=M(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`orientation`]),s=it.create({orientation:X(()=>t.orientation),id:X(()=>i()),ref:X(()=>r(),e=>r(e))}),c=L(()=>s.root.opts.type.current);var f=u(),p=E(f),m=e=>{Nt(e,I(()=>a,{get id(){return i()}}))},h=e=>{Mt(e,I(()=>a,{get id(){return i()}}))},_=e=>{jt(e,I(()=>a,{get id(){return i()}}))},v=e=>{At(e,I(()=>a,{get id(){return i()}}))};d(p,e=>{g(c)===`hover`?e(m):g(c)===`scroll`?e(h,1):g(c)===`auto`?e(_,2):g(c)===`always`&&e(v,3)}),l(e,f),F()}var Ft=f(`<div><!></div>`);function It(e,n){A(n,!0);let r=S(n,`ref`,15,null),i=M(n,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`child`,`children`,`present`]),a=new xe,o=ft.create({id:X(()=>n.id),ref:X(()=>r(),e=>r(e)),mounted:X(()=>a.current)}),s=L(()=>G(i,o.props,{style:{hidden:!n.present}}));var c=u(),f=E(c),p=e=>{var t=u();B(E(t),()=>n.child,()=>({props:g(s)})),l(e,t)},m=e=>{var r=Ft();T(r,()=>({...g(s)})),B(t(r),()=>n.children??C),H(r),l(e,r)};d(f,e=>{n.child?e(p):e(m,-1)}),l(e,c),F()}function Lt(e,t){let n=o();A(t,!0);let r=S(t,`id`,19,()=>ve(n)),i=S(t,`ref`,15,null),a=S(t,`forceMount`,3,!1),s=M(t,[`$$slots`,`$$events`,`$$legacy`,`id`,`ref`,`forceMount`]),c=$e.get();{let t=(e,t)=>{let n=()=>t?.().present;It(e,I(()=>s,{get id(){return r()},get present(){return n()},get ref(){return i()},set ref(e){i(e)}}))},n=L(()=>a()||c.hasThumb);qe(e,{get open(){return g(n)},get ref(){return c.scrollbar.opts.ref},presence:t,$$slots:{presence:!0}})}F()}var Rt=f(`<div><!></div>`);function zt(e,n){A(n,!0);let r=S(n,`ref`,15,null),i=M(n,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`,`children`,`child`]),a=pt.create({id:X(()=>n.id),ref:X(()=>r(),e=>r(e))}),o=L(()=>G(i,a.props));var s=u(),c=E(s),f=e=>{var t=u();B(E(t),()=>n.child,()=>({props:g(o)})),l(e,t)},p=e=>{var r=Rt();T(r,()=>({...g(o)})),B(t(r),()=>n.children??C),H(r),l(e,r)};d(c,e=>{n.child?e(f):e(p,-1)}),l(e,s),F()}function Bt(e,t){let n=o();A(t,!0);let r=S(t,`ref`,15,null),i=S(t,`id`,19,()=>ve(n)),a=M(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`id`]),s=Ze.get(),c=L(()=>!!(s.scrollbarXNode&&s.scrollbarYNode)),f=L(()=>s.opts.type.current!==`scroll`&&g(c));var p=u(),m=E(p),h=e=>{zt(e,I(()=>a,{get id(){return i()},get ref(){return r()},set ref(e){r(e)}}))};d(m,e=>{g(f)&&e(h)}),l(e,p),F()}var Vt=f(`<!> <!>`,1);function Ht(e,t){A(t,!0);let n=S(t,`ref`,15,null),r=S(t,`orientation`,3,`vertical`),a=M(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`orientation`,`children`]);var o=u(),s=E(o);{let e=L(()=>Ve(`flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent`,t.class));i(s,()=>Pt,(o,s)=>{s(o,I({"data-slot":`scroll-area-scrollbar`,get"data-orientation"(){return r()},get orientation(){return r()},get class(){return g(e)}},()=>a,{get ref(){return n()},set ref(e){n(e)},children:(e,n)=>{var r=Vt(),a=E(r);B(a,()=>t.children??C),i(R(a,2),()=>Lt,(e,t)=>{t(e,{"data-slot":`scroll-area-thumb`,class:`bg-border relative flex-1 rounded-full`})}),l(e,r)},$$slots:{default:!0}}))})}l(e,o),F()}var Ut=f(`<!> <!> <!> <!>`,1);function Wt(e,t){A(t,!0);let n=S(t,`ref`,15,null),r=S(t,`viewportRef`,15,null),a=S(t,`orientation`,3,`vertical`),o=S(t,`scrollbarXClasses`,3,``),s=S(t,`scrollbarYClasses`,3,``),c=M(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`viewportRef`,`class`,`orientation`,`scrollbarXClasses`,`scrollbarYClasses`,`children`]);var f=u(),p=E(f);{let e=L(()=>Ve(`relative overflow-hidden`,t.class));i(p,()=>Ct,(f,p)=>{p(f,I({"data-slot":`scroll-area`,get class(){return g(e)}},()=>c,{get ref(){return n()},set ref(e){n(e)},children:(e,n)=>{var c=Ut(),f=E(c);i(f,()=>Tt,(e,n)=>{n(e,{"data-slot":`scroll-area-viewport`,class:`cn-scroll-area-viewport focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1`,get ref(){return r()},set ref(e){r(e)},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})});var p=R(f,2),m=e=>{Ht(e,{orientation:`vertical`,get class(){return s()}})};d(p,e=>{(a()===`vertical`||a()===`both`)&&e(m)});var h=R(p,2),g=e=>{Ht(e,{orientation:`horizontal`,get class(){return o()}})};d(h,e=>{(a()===`horizontal`||a()===`both`)&&e(g)}),i(R(h,2),()=>Bt,(e,t)=>{t(e,{})}),l(e,c)},$$slots:{default:!0}}))})}l(e,f),F()}function Gt(e){return!e||e.method===`input`?``:e.method===`editor`?e.prefill??``:``}var Kt=f(`<!> <!>`,1),qt=f(`<!> <!>`,1),Jt=f(`<!> <form class="flex flex-col gap-4"><!> <!></form>`,1),Yt=f(`<div class="text-muted-foreground mt-1 text-sm"> </div>`),Xt=f(`<div class="flex h-full items-center justify-center"><span class="text-muted-foreground text-sm">Loading editor…</span></div>`),Zt=f(`<form class="flex h-full min-h-0 flex-col"><header class="bg-background/95 sticky top-0 z-10 flex shrink-0 flex-col gap-2 border-b px-4 py-3 backdrop-blur sm:px-5" style="padding-top: max(0.75rem, env(safe-area-inset-top));"><div class="flex flex-col items-start gap-3 sm:flex-row sm:items-start sm:justify-between"><div class="w-full min-w-0 sm:w-auto"><div class="text-base font-semibold break-words"> </div> <!></div> <!></div></header> <div class="min-h-0 flex-1 overflow-hidden"><!></div> <div class="bg-background/95 sticky bottom-0 z-10 flex shrink-0 flex-col gap-2 border-t px-4 py-3 backdrop-blur sm:flex-row sm:items-center sm:justify-end sm:px-5" style="padding-bottom: max(0.75rem, env(safe-area-inset-bottom));"><!> <!></div></form>`);function Qt(e,a){A(a,!0);let o=Be(),s=N(!1),f=N(``),p=L(()=>{let e=$.viewedSessionId;return o.all.find(t=>!Re.has(t.method)&&t.sessionId===e)??null}),m=N(null),h=N(null);v(()=>{if(g(p)?.method===`editor`){let e=g(p).title,t=g(p).prefill;Promise.all([W(()=>import(`../chunks/uZO1iyJZ.js`),__vite__mapDeps([0,1,2,3]),import.meta.url),W(()=>import(`../chunks/CnTTbAN2.js`),__vite__mapDeps([4,5,2]),import.meta.url)]).then(([n,r])=>{k(m,n,!0),k(h,r.resolveEditorLanguage(e,t),!0)})}else k(m,null),k(h,null)}),v(()=>{g(p)?(k(f,Gt(g(p)),!0),k(s,!0)):k(s,!1)});function _(e){g(p)&&o.sendResponse(g(p).requestId,g(p).sessionId,e)}function b(){_({cancelled:!0})}function x(e){!e&&g(p)&&b()}function S(){_({value:g(f)})}function C(){_({value:g(f)})}var w=u();i(E(w),()=>me,(e,a)=>{a(e,{get open(){return g(s)},onOpenChange:x,children:(e,a)=>{var o=u(),s=E(o),_=e=>{var a=u();i(E(a),()=>pe,(e,a)=>{a(e,{class:`sm:max-w-md`,children:(e,a)=>{var o=Jt(),s=E(o);i(s,()=>K,(e,t)=>{t(e,{children:(e,t)=>{var r=Kt(),a=E(r);i(a,()=>fe,(e,t)=>{t(e,{children:(e,t)=>{z();var r=c();y(()=>n(r,g(p).title??`Extension`)),l(e,r)},$$slots:{default:!0}})});var o=R(a,2),s=e=>{var t=u();i(E(t),()=>se,(e,t)=>{t(e,{children:(e,t)=>{z();var r=c();y(()=>n(r,g(p).message)),l(e,r)},$$slots:{default:!0}})}),l(e,t)};d(o,e=>{g(p).message&&e(s)}),l(e,r)},$$slots:{default:!0}})});var m=R(s,2),h=t(m);{let e=L(()=>g(p).placeholder??``);_e(h,{get placeholder(){return g(e)},autofocus:!0,get value(){return g(f)},set value(e){k(f,e,!0)}})}i(R(h,2),()=>Oe,(e,t)=>{t(e,{children:(e,t)=>{var n=qt(),r=E(n);Y(r,{variant:`outline`,type:`button`,onclick:b,children:(e,t)=>{z(),l(e,c(`Cancel`))},$$slots:{default:!0}}),Y(R(r,2),{type:`submit`,children:(e,t)=>{z(),l(e,c(`Submit`))},$$slots:{default:!0}}),l(e,n)},$$slots:{default:!0}})}),H(m),r(`submit`,m,e=>{e.preventDefault(),S()}),l(e,o)},$$slots:{default:!0}})}),l(e,a)},v=e=>{var a=u();i(E(a),()=>pe,(e,a)=>{a(e,{showCloseButton:!1,class:`top-0 left-0 flex h-dvh w-screen max-w-none translate-x-0 translate-y-0 gap-0 rounded-none p-0 sm:top-1/2 sm:left-1/2 sm:h-[min(92dvh,960px)] sm:w-[min(96vw,1280px)] sm:max-w-[min(96vw,1280px)] sm:-translate-x-1/2 sm:-translate-y-1/2 sm:rounded-xl`,children:(e,a)=>{var o=Zt(),s=t(o),_=t(s),v=t(_),x=t(v),S=t(x,!0);H(x);var w=R(x,2),T=e=>{var r=Yt(),i=t(r,!0);H(r),y(()=>n(i,g(p).message)),l(e,r)};d(w,e=>{g(p).message&&e(T)}),H(v);var D=R(v,2),ee=e=>{Ce(e,{variant:`outline`,class:`max-w-full shrink-0 whitespace-nowrap`,children:(e,t)=>{z();var r=c();y(()=>n(r,g(h).label)),l(e,r)},$$slots:{default:!0}})};d(D,e=>{g(h)&&e(ee)}),H(_),H(s);var O=R(s,2),A=t(O),j=e=>{var t=u(),n=E(t);{let e=L(()=>g(h)?.id??null);i(n,()=>g(m).default,(t,n)=>{n(t,{get language(){return g(e)},get value(){return g(f)},set value(e){k(f,e,!0)}})})}l(e,t)},M=e=>{l(e,Xt())};d(A,e=>{g(m)?e(j):e(M,-1)}),H(O);var N=R(O,2),P=t(N);Y(P,{variant:`outline`,type:`button`,class:`w-full sm:w-auto`,onclick:b,children:(e,t)=>{z(),l(e,c(`Cancel`))},$$slots:{default:!0}}),Y(R(P,2),{type:`submit`,class:`w-full sm:w-auto`,children:(e,t)=>{z(),l(e,c(`Save`))},$$slots:{default:!0}}),H(N),H(o),y(()=>n(S,g(p).title??`Editor`)),r(`submit`,o,e=>{e.preventDefault(),C()}),l(e,o)},$$slots:{default:!0}})}),l(e,a)};d(s,e=>{g(p)?.method===`input`?e(_):g(p)?.method===`editor`&&e(v,1)}),l(e,o)},$$slots:{default:!0}})}),l(e,w),F()}function $t(e,t){let n=t.map(e=>e.trimEnd()),r=n.find(e=>e.trim().length>0),i=r&&n.length>1?r.trim():e,a=(r&&n.length>1?n.slice(n.indexOf(r)+1):n).filter(e=>e.trim().length>0).map(e=>({content:e,style:`text`}));return{id:`widget:${e}`,header:{title:i},body:a}}function en(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`}]];J(e,I({name:`circle-alert`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})),F()}function tn(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 16v-4`}],[`path`,{d:`M12 8h.01`}]];J(e,I({name:`info`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})),F()}function nn(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`}],[`path`,{d:`M12 9v4`}],[`path`,{d:`M12 17h.01`}]];J(e,I({name:`triangle-alert`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})),F()}var rn=f(`<span class="truncate"> </span>`),an=f(`<div class="border-border bg-muted/50 text-muted-foreground flex items-center gap-3 border-t px-4 py-1.5 text-xs"></div>`),on=f(`<button><!> <span> </span></button>`),sn=f(`<div class="pointer-events-none fixed top-4 left-1/2 z-50 flex -translate-x-1/2 flex-col items-center gap-2"></div>`),cn=f(`<!> <!>`,1);function ln(e,r){A(r,!0);let i=new He,a=N(j([])),o=0;function s(e,t=`info`){let n=o++;k(a,[...g(a),{id:n,text:e,notificationType:t}],!0),setTimeout(()=>{k(a,g(a).filter(e=>e.id!==n),!0)},5e3)}function c(e){k(a,g(a).filter(t=>t.id!==e),!0)}te(()=>Q.onEvent(e=>{if(e.type!==`extension_ui_request`)return;let t=e;if(t.method===`setStatus`){let e=t.key,n=t.text;n?i.set(e,n):i.delete(e)}else if(t.method===`setWidget`){let e=t.key,n=t.lines,r=t.sessionId;if(r){let t=$.sessions[r];t&&(n&&n.length>0?t.widgetCards[e]=$t(e,n):delete t.widgetCards[e],r===$.viewedSessionId&&$.syncViewedPanelStore())}}else if(t.method===`notify`)s(t.text??t.message??``,t.notifyType??t.notificationType??`info`);else if(t.method===`setEditorText`){let e=t.text??``,n=t.sessionId;if(n){let t=$.sessions[n];t&&(t.draftText=e),Ee(n,e)}}else if(t.method===`setTitle`){let e=t.title??``,n=t.sessionId;if(n){let t=$.sessions[n];t&&(t.extensionTitle=e||null)}}}));let u=L(()=>[...i.entries()]);var f=cn(),p=E(f),m=e=>{var r=an();h(r,21,()=>g(u),([e,t])=>e,(e,r)=>{var i=L(()=>ie(g(r),2));let a=()=>g(i)[1];var o=rn(),s=t(o,!0);H(o),y(()=>n(s,a())),l(e,o)}),H(r),l(e,r)};d(p,e=>{g(u).length>0&&e(m)});var _=R(p,2),v=e=>{var r=sn();h(r,21,()=>g(a),e=>e.id,(e,r)=>{var i=on(),a=t(i),o=e=>{en(e,{class:`size-4 shrink-0`})},s=e=>{nn(e,{class:`size-4 shrink-0`})},u=e=>{tn(e,{class:`size-4 shrink-0`})};d(a,e=>{g(r).notificationType===`error`?e(o):g(r).notificationType===`warning`?e(s,1):e(u,-1)});var f=R(a,2),p=t(f,!0);H(f),H(i),y(()=>{V(i,1,`pointer-events-auto flex items-center gap-2 rounded-lg border px-4 py-2.5 text-sm shadow-lg transition-opacity
|
|
3
|
+
${g(r).notificationType===`error`?`border-destructive/30 bg-destructive/10 text-destructive`:g(r).notificationType===`warning`?`border-yellow-500/30 bg-yellow-500/10 text-yellow-600 dark:text-yellow-400`:`border-border bg-background text-foreground`}`),n(p,g(r).text)}),U(`click`,i,()=>c(g(r).id)),l(e,i)}),H(r),l(e,r)};d(_,e=>{g(a).length>0&&e(v)}),l(e,f),F()}m([`click`]);function un(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M12 15V3`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}],[`path`,{d:`m7 10 5 5 5-5`}]];J(e,I({name:`download`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})),F()}function dn(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M12 2v13`}],[`path`,{d:`m16 6-4-4-4 4`}],[`path`,{d:`M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8`}]];J(e,I({name:`share`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})),F()}var fn=f(`<!> <span class="text-foreground flex-1 text-sm">Install Pimote: tap <strong>Share</strong> then <strong>Add to Home Screen</strong></span>`,1),pn=f(`<!> <span class="text-foreground flex-1 text-sm">Install Pimote for quick access</span> <button class="bg-primary text-primary-foreground hover:bg-primary/80 shrink-0 rounded-md px-3 py-1.5 text-xs font-medium">Install</button>`,1),mn=f(`<div class="animate-in slide-in-from-bottom fixed inset-x-0 bottom-0 z-50 duration-300 md:hidden"><div class="border-border bg-card mx-3 mb-3 flex items-center gap-3 rounded-xl border px-4 py-3 shadow-lg"><!> <button class="text-muted-foreground hover:text-foreground shrink-0 rounded-md p-1" title="Dismiss"><!></button></div></div>`);function hn(e,n){A(n,!0);let r=N(!1),i=N(!1),a=null;te(()=>{if(window.matchMedia(`(display-mode: standalone)`).matches||navigator.standalone===!0||localStorage.getItem(`pimote-install-dismissed`))return;let e=navigator.userAgent,t=/iPad|iPhone|iPod/.test(e)||navigator.platform===`MacIntel`&&navigator.maxTouchPoints>1,n=/Safari/.test(e)&&!/CriOS|FxiOS|Chrome/.test(e);if(t&&n){k(i,!0),k(r,!0);return}let o=e=>{e.preventDefault(),a=e,k(r,!0)};return window.addEventListener(`beforeinstallprompt`,o),()=>{window.removeEventListener(`beforeinstallprompt`,o)}});async function o(){a&&=(a.prompt(),(await a.userChoice).outcome===`accepted`&&k(r,!1),null)}function s(){localStorage.setItem(`pimote-install-dismissed`,`true`),k(r,!1)}var c=u(),f=E(c),p=e=>{var n=mn(),r=t(n),a=t(r),c=e=>{var t=fn();dn(E(t),{class:`text-muted-foreground size-5 shrink-0`}),z(2),l(e,t)},u=e=>{var t=pn(),n=E(t);un(n,{class:`text-muted-foreground size-5 shrink-0`}),U(`click`,R(n,4),o),l(e,t)};d(a,e=>{g(i)?e(c):e(u,-1)});var f=R(a,2);ke(t(f),{class:`size-4`}),H(f),H(r),H(n),U(`click`,f,s),l(e,n)};d(f,e=>{g(r)&&e(p)}),l(e,c),F()}m([`click`]);function gn(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]];J(e,I({name:`tag`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})),F()}var _n=f(`<div class="text-muted-foreground px-3 py-6 text-sm">No tree nodes match the current filter.</div>`),vn=f(`<button class="text-muted-foreground hover:text-foreground mt-0.5 rounded p-0.5"><!></button>`),yn=f(`<span class="inline-block size-5"></span>`),bn=f(`<span class="text-muted-foreground shrink-0 text-[11px]"> </span>`),xn=f(`<span class="bg-primary/15 text-primary rounded px-1.5 py-0.5 text-[10px] font-medium">active</span>`),Sn=f(`<span class="bg-secondary text-secondary-foreground inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px]"><!> </span>`),Cn=f(`<div tabindex="0"><!> <div class="min-w-0 flex-1"><div class="flex flex-wrap items-center gap-1.5"><span class="text-muted-foreground shrink-0 text-[11px] uppercase"> </span> <!> <!> <!></div> <div class="text-foreground mt-0.5 line-clamp-2 break-words sm:line-clamp-4"> </div> <div class="text-muted-foreground mt-0.5 hidden text-[11px] sm:block"> </div></div></div>`),wn=f(`<div class="space-y-1"></div>`),Tn=f(`<textarea class="border-border bg-secondary text-foreground placeholder:text-muted-foreground focus:border-ring focus:ring-ring min-h-20 w-full resize-y rounded-md border px-3 py-2 text-sm focus:ring-1 focus:outline-none" placeholder="Custom summarization instructions..."></textarea>`),En=f(`<div class="text-muted-foreground text-xs">Summarizing and navigating…</div>`),Dn=f(`<div class="fixed inset-0 z-[80]" tabindex="0"><form class="bg-background border-border fixed w-80 rounded-lg border p-3 shadow-xl"><label class="text-foreground mb-2 block text-xs font-medium" for="tree-label-input">Label</label> <input id="tree-label-input" class="border-border bg-secondary text-foreground placeholder:text-muted-foreground focus:border-ring focus:ring-ring w-full rounded-md border px-2.5 py-2 text-sm focus:ring-1 focus:outline-none" type="text" placeholder="Set label (leave blank to clear)"/> <div class="mt-3 flex justify-end gap-2"><button type="button" class="border-border hover:bg-accent rounded-md border px-2.5 py-1.5 text-xs">Cancel</button> <button type="submit" class="bg-primary text-primary-foreground hover:bg-primary/85 rounded-md px-2.5 py-1.5 text-xs font-medium disabled:cursor-not-allowed disabled:opacity-50">Save</button></div></form></div>`),On=f(`<div class="fixed inset-0 z-50 bg-black/60"><div class="bg-background fixed top-0 left-0 z-[60] flex h-dvh w-screen max-w-none flex-col rounded-none border shadow-xl sm:top-1/2 sm:left-1/2 sm:h-[min(92dvh,960px)] sm:w-[min(96vw,1080px)] sm:max-w-[min(96vw,1080px)] sm:-translate-x-1/2 sm:-translate-y-1/2 sm:rounded-xl"><header class="border-border bg-background/95 flex shrink-0 flex-col gap-3 border-b px-4 py-3 backdrop-blur sm:px-5" style="padding-top: max(0.75rem, env(safe-area-inset-top));"><div class="flex items-center justify-between gap-3"><h2 class="text-foreground text-base font-semibold">Tree Navigation</h2> <button class="text-muted-foreground hover:text-foreground rounded-md px-2 py-1 text-sm">Close</button></div> <div class="flex flex-col gap-2 sm:flex-row"><input class="border-border bg-secondary text-foreground placeholder:text-muted-foreground focus:border-ring focus:ring-ring w-full rounded-md border px-3 py-2 text-sm focus:ring-1 focus:outline-none" type="text" placeholder="Search previews..."/> <select class="border-border bg-secondary text-foreground focus:border-ring focus:ring-ring rounded-md border px-3 py-2 text-sm focus:ring-1 focus:outline-none"><option>Default</option><option>User only</option><option>All</option><option>Labeled only</option></select></div></header> <div class="min-h-0 flex-1 overflow-auto px-2 py-2 sm:px-3"><!></div> <footer class="border-border bg-background/95 flex shrink-0 flex-col gap-3 border-t px-4 py-3 backdrop-blur sm:px-5" style="padding-bottom: max(0.75rem, env(safe-area-inset-bottom));"><div class="flex flex-wrap gap-2"><button>No summary</button> <button>Summarize</button> <button>Custom summary prompt</button></div> <!> <div class="flex items-center justify-between gap-2"><button class="border-border hover:bg-accent rounded-md border px-3 py-2 text-sm">Cancel</button> <button class="bg-primary text-primary-foreground hover:bg-primary/85 rounded-md px-3 py-2 text-sm font-medium disabled:cursor-not-allowed disabled:opacity-50">Navigate</button></div> <!></footer></div> <!></div>`);function kn(e,i){A(i,!0);let a=new He,o=N(`none`),s=N(``),c=N(!1),f=null,m=null,_=N(null),b=N(!1),S=N(null),C=L(()=>{let e=Z.state.tree??[],t=Z.state.currentLeafId;return t?new Set(M(e,t)):new Set}),T=L(()=>I(Z.getFilteredTree(),Z.expandedNodeIds,g(C))),j=L(()=>Z.state.open&&!!Z.state.sessionId&&!!Z.selectedNodeId&&!Z.state.loading&&!g(c)&&Q.ready);v(()=>{if(!Z.state.open){k(c,!1),k(_,null),k(b,!1);return}k(o,`none`),k(s,``);let e=Z.state.sessionId;if(!e){Z.setLoading(!1);return}let t=a.get(e);Z.setLoading(!!t?.inProgress&&t.summarizing)}),v(()=>{if(!Z.state.open)return;let e=Z.state.sessionId;e&&$.viewedSessionId!==e&&Z.closeDialog()}),te(()=>{let e=Q.onEvent(e=>{ie(e)}),t=e=>{if(Z.state.open&&e.key===`Escape`){if(e.preventDefault(),g(_)){K();return}Z.closeDialog()}};return window.addEventListener(`keydown`,t),()=>{e(),window.removeEventListener(`keydown`,t),W()}});function M(e,t){for(let n of e){if(n.id===t)return[n.id];let e=M(n.children,t);if(e.length>0)return[n.id,...e]}return[]}function I(e,t,n,r=0){let i=[],a=e.length>1;for(let o of e){let e=o.children.length>0,s=e&&(t.has(o.id)||n.has(o.id));if(i.push({node:o,depth:r,expanded:s,hasChildren:e}),s){let e=o.children.length>1||a?r+1:r;i.push(...I(o.children,t,n,e))}}return i}function z(e,t){a.set(e,t)}function B(e){let t=a.get(e);t&&z(e,{...t,inProgress:!1,summarizing:!1,closeOnResync:!1})}function ie(e){if(!(`sessionId`in e)||typeof e.sessionId!=`string`)return;let t=e.sessionId;if(e.type===`tree_navigation_start`){z(t,{inProgress:!0,summarizing:e.summarizing,closeOnResync:!1}),Z.state.open&&Z.state.sessionId===t&&e.summarizing&&Z.setLoading(!0);return}if(e.type===`tree_navigation_end`){z(t,{inProgress:!1,summarizing:!1,closeOnResync:!0}),Z.state.open&&Z.state.sessionId===t&&Z.setLoading(!1);return}if(e.type===`full_resync`){let e=a.get(t);if(!e)return;e.closeOnResync?(a.delete(t),Z.state.open&&Z.state.sessionId===t&&Z.closeDialog()):Z.state.open&&Z.state.sessionId===t&&e.inProgress&&e.summarizing&&Z.setLoading(!0)}}function W(){f&&=(clearTimeout(f),null)}function G(e,t,n){let r=Math.max(8,Math.min(t,window.innerWidth-320-8)),i=Math.max(8,Math.min(n,window.innerHeight-180-8));k(_,{nodeId:e.id,value:e.label??``,x:r,y:i},!0),k(b,!1),queueMicrotask(()=>{g(S)?.focus(),g(S)?.select()})}function K(){k(_,null),k(b,!1)}function ae(e,t){e.preventDefault(),G(t,e.clientX,e.clientY)}function se(e,t){if(e.pointerType!==`touch`)return;let{clientX:n,clientY:r}=e;W(),f=setTimeout(()=>{m=t.id,G(t,n,r),W()},500)}function ce(){W()}function q(){W()}async function le(){let e=Z.state.sessionId,t=g(_);if(!e||!t||g(b))return;k(b,!0);let n=t.value.trim(),r=n.length>0?n:void 0;try{(await Q.send({type:`set_tree_label`,sessionId:e,entryId:t.nodeId,label:r})).success&&(Z.setNodeLabel(t.nodeId,r),K())}catch(e){console.error(`Failed to set tree label:`,e)}finally{k(b,!1)}}function ue(e){if(m===e){m=null;return}if(Z.selectedNodeId===e&&g(j)){Y();return}Z.setSelectedNode(e)}function de(e){Z.toggleExpanded(e)}function J(e){Z.setFilterMode(e)}async function Y(){let e=Z.state.sessionId,t=Z.selectedNodeId;if(!e||!t||Z.state.loading||g(c))return;let n=g(o)!==`none`;try{k(c,!0),Z.setLoading(n);let r=await Q.send({type:`navigate_tree`,sessionId:e,targetId:t,...n?{summarize:!0}:{},...g(o)===`custom`?{customInstructions:g(s)}:{},...g(o)===`custom`?{replaceInstructions:!1}:{}});if(Z.setLoading(!1),!r.success||!r.data){B(e);return}let i=r.data;if(i.cancelled){B(e);return}typeof i.editorText==`string`&&i.editorText.length>0&&Ee(e,i.editorText),Z.closeDialog()}catch(t){B(e),Z.setLoading(!1),console.error(`Failed to navigate tree:`,t)}finally{k(c,!1)}}var fe=u(),pe=E(fe),me=e=>{var i=On(),a=t(i),c=t(a),u=t(c),f=R(t(u),2);H(u);var m=R(u,2),v=t(m);D(v);var E=R(v,2),A=t(E);A.value=A.__value=`default`;var M=R(A);M.value=M.__value=`user-only`;var N=R(M);N.value=N.__value=`all`;var F=R(N);F.value=F.__value=`labeled-only`,H(E);var te;ee(E),H(m),H(c);var I=R(c,2),z=t(I),B=e=>{l(e,_n())},ie=e=>{var i=wn();h(i,21,()=>g(T),e=>e.node.id,(e,i)=>{var a=Cn(),o=t(a),s=e=>{var n=vn(),r=t(n);{let e=L(()=>`size-4 transition-transform ${g(i).expanded?`rotate-90`:``}`);oe(r,{get class(){return g(e)}})}H(n),y(()=>P(n,`title`,g(i).expanded?`Collapse`:`Expand`)),U(`click`,n,e=>{e.stopPropagation(),de(g(i).node.id)}),l(e,n)},c=e=>{l(e,yn())};d(o,e=>{g(i).hasChildren?e(s):e(c,-1)});var u=R(o,2),f=t(u),p=t(f),m=t(p,!0);H(p);var h=R(p,2),_=e=>{var r=bn(),a=t(r,!0);H(r),y(()=>n(a,g(i).node.role)),l(e,r)};d(h,e=>{g(i).node.role&&e(_)});var v=R(h,2),b=e=>{l(e,xn())};d(v,e=>{g(i).node.id===Z.state.currentLeafId&&e(b)});var x=R(v,2),S=e=>{var r=Sn(),a=t(r);gn(a,{class:`size-2.5`});var o=R(a);H(r),y(()=>n(o,` ${g(i).node.label??``}`)),l(e,r)};d(x,e=>{g(i).node.label&&e(S)}),H(f);var w=R(f,2),T=t(w,!0);H(w);var E=R(w,2),D=t(E,!0);H(E),H(u),H(a),y((e,t)=>{V(a,1,`border-border/60 hover:bg-accent/60 flex items-start gap-2 rounded-md border px-2 py-1.5 text-sm transition-colors
|
|
4
|
+
${Z.selectedNodeId===g(i).node.id?`ring-ring bg-accent ring-1`:``}
|
|
5
|
+
${e??``}`),re(a,`margin-left: ${g(i).depth*14}px`),n(m,g(i).node.type),n(T,g(i).node.preview),P(E,`title`,g(i).node.timestamp),n(D,t)},[()=>g(C).has(g(i).node.id)?`border-primary/40`:``,()=>ge(g(i).node.timestamp)]),U(`click`,a,()=>ue(g(i).node.id)),U(`keydown`,a,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),ue(g(i).node.id))}),U(`contextmenu`,a,e=>ae(e,g(i).node)),U(`pointerdown`,a,e=>se(e,g(i).node)),U(`pointerup`,a,ce),r(`pointercancel`,a,q),r(`pointerleave`,a,q),l(e,a)}),H(i),l(e,i)};d(z,e=>{g(T).length===0?e(B):e(ie,-1)}),H(I);var W=R(I,2),G=t(W),fe=t(G),pe=R(fe,2),me=R(pe,2);H(G);var he=R(G,2),_e=e=>{var t=Tn();p(t),ne(t,()=>g(s),e=>k(s,e)),l(e,t)};d(he,e=>{g(o)===`custom`&&e(_e)});var ve=R(he,2),ye=t(ve),be=R(ye,2);H(ve);var xe=R(ve,2),Se=e=>{l(e,En())};d(xe,e=>{Z.state.loading&&e(Se)}),H(W),H(a);var Ce=R(a,2),we=e=>{var n=Dn(),i=t(n),a=R(t(i),2);D(a),w(a,e=>k(S,e),()=>g(S));var o=R(a,2),s=t(o),c=R(s,2);H(o),H(i),H(n),y(()=>{re(i,`left: ${g(_).x}px; top: ${g(_).y}px`),O(a,g(_).value),c.disabled=g(b)}),U(`click`,n,e=>{e.stopPropagation(),K()}),U(`keydown`,n,e=>{e.key===`Escape`&&(e.stopPropagation(),K())}),U(`click`,i,e=>e.stopPropagation()),r(`submit`,i,e=>{e.preventDefault(),le()}),U(`input`,a,e=>{g(_)&&k(_,{...g(_),value:e.currentTarget.value},!0)}),U(`click`,s,K),l(e,n)};d(Ce,e=>{g(_)&&e(we)}),H(i),y(()=>{O(v,Z.state.searchQuery),te!==(te=Z.state.filterMode)&&(E.value=(E.__value=Z.state.filterMode)??``,x(E,Z.state.filterMode)),V(fe,1,`rounded-md border px-2.5 py-1.5 text-xs transition-colors
|
|
6
|
+
${g(o)===`none`?`bg-primary text-primary-foreground border-primary`:`border-border hover:bg-accent`}`),V(pe,1,`rounded-md border px-2.5 py-1.5 text-xs transition-colors
|
|
7
|
+
${g(o)===`summarize`?`bg-primary text-primary-foreground border-primary`:`border-border hover:bg-accent`}`),V(me,1,`rounded-md border px-2.5 py-1.5 text-xs transition-colors
|
|
8
|
+
${g(o)===`custom`?`bg-primary text-primary-foreground border-primary`:`border-border hover:bg-accent`}`),be.disabled=!g(j)}),U(`click`,i,()=>Z.closeDialog()),U(`keydown`,i,e=>e.key===`Escape`&&Z.closeDialog()),U(`click`,a,e=>e.stopPropagation()),U(`keydown`,a,e=>e.stopPropagation()),U(`click`,f,()=>Z.closeDialog()),U(`input`,v,e=>Z.setSearchQuery(e.currentTarget.value)),U(`change`,E,e=>J(e.currentTarget.value)),U(`click`,fe,()=>k(o,`none`)),U(`click`,pe,()=>k(o,`summarize`)),U(`click`,me,()=>k(o,`custom`)),U(`click`,ye,()=>Z.closeDialog()),U(`click`,be,Y),l(e,i)};d(pe,e=>{Z.state.open&&e(me)}),l(e,fe),F()}m([`click`,`keydown`,`input`,`change`,`contextmenu`,`pointerdown`,`pointerup`]);var An=f(`<span class="bg-muted text-muted-foreground ml-auto shrink-0 rounded px-1 text-xs"> </span>`),jn=f(`<span class="bg-muted rounded px-1 font-mono text-xs break-words whitespace-pre-wrap"> </span>`),Mn=f(`<span class="text-muted-foreground text-xs break-words whitespace-pre-wrap"> </span>`),Nn=f(`<span class="text-foreground text-xs break-words whitespace-pre-wrap"> </span>`),Pn=f(`<div class="mt-1.5 flex flex-col gap-0.5"></div>`),Fn=f(`<div class="text-muted-foreground mt-1.5 text-xs"> </div>`),In=f(`<div><div class="flex items-center gap-1.5"><span class="truncate text-sm font-medium"> </span> <!></div> <!> <!></div>`),Ln=f(`<div class="bg-sidebar flex h-full w-70 flex-col overflow-y-auto border-l p-2"><div class="flex flex-col gap-2"></div></div>`);function Rn(e,r){A(r,!0);let i={accent:`border-l-primary`,success:`border-l-green-500`,warning:`border-l-yellow-500`,error:`border-l-red-500`,muted:`border-l-muted-foreground`};var o=Ln(),s=t(o);h(s,21,()=>Ue.cards,e=>e.id,(e,r)=>{var o=In(),s=t(o),c=t(s),f=t(c,!0);H(c);var p=R(c,2),m=e=>{var i=An(),a=t(i,!0);H(i),y(()=>n(a,g(r).header.tag)),l(e,i)};d(p,e=>{g(r).header.tag&&e(m)}),H(s);var _=R(s,2),v=e=>{var i=Pn();h(i,21,()=>g(r).body,a,(e,r)=>{var i=u(),a=E(i),o=e=>{var i=jn(),a=t(i,!0);H(i),y(()=>n(a,g(r).content)),l(e,i)},s=e=>{var i=Mn(),a=t(i,!0);H(i),y(()=>n(a,g(r).content)),l(e,i)},c=e=>{var i=Nn(),a=t(i,!0);H(i),y(()=>n(a,g(r).content)),l(e,i)};d(a,e=>{g(r).style===`code`?e(o):g(r).style===`secondary`?e(s,1):e(c,-1)}),l(e,i)}),H(i),l(e,i)};d(_,e=>{g(r).body&&g(r).body.length>0&&e(v)});var b=R(_,2),x=e=>{var i=Fn(),a=t(i,!0);H(i),y(e=>n(a,e),[()=>g(r).footer.join(` · `)]),l(e,i)};d(b,e=>{g(r).footer&&g(r).footer.length>0&&e(x)}),H(o),y(()=>{V(o,1,`rounded border p-2 ${g(r).color?i[g(r).color]+` border-l-2`:``}`),n(f,g(r).header.title)}),l(e,o)}),H(s),H(o),l(e,o),F()}function zn(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M10 5H3`}],[`path`,{d:`M12 19H3`}],[`path`,{d:`M14 3v4`}],[`path`,{d:`M16 17v4`}],[`path`,{d:`M21 12h-9`}],[`path`,{d:`M21 19h-5`}],[`path`,{d:`M21 5h-7`}],[`path`,{d:`M8 10v4`}],[`path`,{d:`M8 12H3`}]];J(e,I({name:`sliders-horizontal`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})),F()}var Bn=f(`<!> <span class="sr-only">Open session settings</span>`,1),Vn=f(`<!> <span class="sr-only">Close session settings</span>`,1),Hn=f(`<div class="border-border/60 flex items-center justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Context</span> <span> </span></div>`),Un=f(`<div class="border-border/60 flex items-start justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Git branch</span> <span class="max-w-[60%] min-w-0 truncate text-right font-medium"> </span></div>`),Wn=f(`<span class="inline-flex items-center rounded-full border border-emerald-500/20 bg-emerald-500/10 px-2 py-0.5 font-medium text-emerald-600 dark:text-emerald-400">Streaming</span>`),Gn=f(`<span class="inline-flex items-center rounded-full border border-amber-500/20 bg-amber-500/10 px-2 py-0.5 font-medium text-amber-600 dark:text-amber-400">Compacting…</span>`),Kn=f(`<div class="border-border/60 flex items-start justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Runtime</span> <div class="flex flex-wrap justify-end gap-1.5 text-xs"><!> <!></div></div>`),qn=f(`<div class="border-border flex items-center justify-between border-b px-4 py-3 sm:hidden"><div class="text-sm font-semibold">Session settings</div> <!></div> <div class="hidden sm:block"><!></div> <div class="overflow-y-auto px-4 py-4 sm:px-0 sm:py-0"><div class="rounded-xl border text-sm"><div class="flex items-center justify-between gap-3 px-3 py-3"><span class="text-muted-foreground">Model</span> <!></div> <div class="border-border/60 flex items-center justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Thinking</span> <!></div> <div class="border-border/60 flex items-center justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Voice call</span> <!></div> <!> <!> <!> <div class="border-border/60 flex items-center justify-between gap-3 border-t px-3 py-3"><span class="text-muted-foreground">Connection</span> <div class="flex items-center gap-2 font-medium"><span></span> <span> </span></div></div></div></div>`,1),Jn=f(`<!> <!>`,1);function Yn(e,r){A(r,!0);let a=N(!1),o=L(()=>$.viewed),s=L(()=>Le(g(o))),f=L(()=>je(g(o)?.contextUsage?.percent)),p=L(()=>Q.phaseLabel),m=L(()=>Q.phase===`ready`?`bg-emerald-500`:Q.phase===`syncing`?`bg-blue-500`:Q.phase===`backoff`||Q.phase===`connecting`?`bg-amber-500`:`bg-red-500`),h=L(()=>g(f)===`critical`?`border-red-500/20 bg-red-500/10 text-red-600 dark:text-red-400`:g(f)===`warning`?`border-amber-500/20 bg-amber-500/10 text-amber-600 dark:text-amber-400`:`border-border bg-muted text-muted-foreground`);var _=u();i(E(_),()=>me,(e,r)=>{r(e,{get open(){return g(a)},set open(e){k(a,e,!0)},children:(e,r)=>{var f=Jn(),_=E(f);{let e=(e,t)=>{Y(e,I(()=>t?.().props,{variant:`ghost`,size:`icon-sm`,class:`text-muted-foreground hover:text-foreground`,title:`Session settings`,children:(e,t)=>{var n=Bn();zn(E(n),{class:`size-4`}),z(2),l(e,n)},$$slots:{default:!0}}))};i(_,()=>ce,(t,n)=>{n(t,{child:e,$$slots:{child:!0}})})}i(R(_,2),()=>pe,(e,r)=>{r(e,{showCloseButton:!1,class:`top-auto right-0 bottom-0 left-0 grid max-h-[85dvh] max-w-none translate-x-0 translate-y-0 gap-0 rounded-t-2xl rounded-b-none p-0 sm:top-1/2 sm:left-1/2 sm:max-h-none sm:max-w-md sm:-translate-x-1/2 sm:-translate-y-1/2 sm:gap-4 sm:rounded-xl sm:p-4`,children:(e,r)=>{var f=qn(),_=E(f);Y(R(t(_),2),{variant:`ghost`,size:`icon-sm`,onclick:()=>k(a,!1),title:`Close session settings`,children:(e,t)=>{var n=Vn();ke(E(n),{class:`size-4`}),z(2),l(e,n)},$$slots:{default:!0}}),H(_);var v=R(_,2);i(t(v),()=>K,(e,t)=>{t(e,{children:(e,t)=>{var n=u();i(E(n),()=>fe,(e,t)=>{t(e,{children:(e,t)=>{z(),l(e,c(`Session settings`))},$$slots:{default:!0}})}),l(e,n)},$$slots:{default:!0}})}),H(v);var b=R(v,2),x=t(b),S=t(x);Ie(R(t(S),2),{}),H(S);var C=R(S,2);Ne(R(t(C),2),{}),H(C);var w=R(C,2),T=R(t(w),2);{let e=L(()=>g(o)?.sessionId);De(T,{get sessionId(){return g(e)},variant:`dialog-row`,onAction:()=>k(a,!1)})}H(w);var D=R(w,2),ee=e=>{var r=Hn(),i=R(t(r),2),a=t(i,!0);H(i),H(r),y(()=>{V(i,1,`inline-flex items-center rounded-full border px-2 py-0.5 text-xs font-medium ${g(h)??``}`),n(a,g(s))}),l(e,r)};d(D,e=>{g(s)&&e(ee)});var O=R(D,2),A=e=>{var r=Un(),i=R(t(r),2),a=t(i,!0);H(i),H(r),y(()=>n(a,g(o).gitBranch)),l(e,r)};d(O,e=>{g(o)?.gitBranch&&e(A)});var j=R(O,2),M=e=>{var n=Kn(),r=R(t(n),2),i=t(r),a=e=>{l(e,Wn())};d(i,e=>{g(o)?.isStreaming&&e(a)});var s=R(i,2),c=e=>{l(e,Gn())};d(s,e=>{g(o)?.isCompacting&&e(c)}),H(r),H(n),l(e,n)};d(j,e=>{(g(o)?.isStreaming||g(o)?.isCompacting)&&e(M)});var N=R(j,2),P=R(t(N),2),F=t(P),te=R(F,2),I=t(te,!0);H(te),H(P),H(N),H(x),H(b),y(()=>{V(F,1,`inline-flex size-2 rounded-full ${g(m)??``}`),n(I,g(p))}),l(e,f)},$$slots:{default:!0}})}),l(e,f)},$$slots:{default:!0}})}),l(e,_),F()}function Xn(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M4 5h16`}],[`path`,{d:`M4 12h16`}],[`path`,{d:`M4 19h16`}]];J(e,I({name:`menu`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})),F()}function Zn(e,t){A(t,!0);let n=M(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M15 3v18`}]];J(e,I({name:`panel-right`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();B(E(r),()=>t.children??C),l(e,r)},$$slots:{default:!0}})),F()}function Qn({innerHeight:e,visualViewport:t}){let n=t?.height;return`${Math.round(typeof n==`number`&&Number.isFinite(n)&&n>0?n:e)}px`}var $n=f(`<div class="fixed inset-0 z-30 bg-black/50 md:hidden"></div>`),er=f(`<button type="button" class="text-foreground hover:text-foreground block w-full truncate text-left text-sm font-semibold select-none"> </button>`),tr=f(`<div class="text-foreground truncate text-sm font-semibold"> </div>`),nr=f(`<span title="Context window usage"> </span>`),rr=f(`<button class="text-muted-foreground hover:text-foreground border-border bg-background relative inline-flex size-8 shrink-0 items-center justify-center rounded-lg border" title="Open panel"><!> <span class="bg-primary text-primary-foreground absolute -top-1 -right-1 min-w-4 rounded-full px-1 text-center text-[10px] leading-4 font-medium"> </span></button>`),ir=f(`<div class="hidden md:flex"><!></div>`),ar=f(`<div class="fixed inset-0 z-30 bg-black/50 md:hidden"></div> <div class="fixed inset-y-0 right-0 z-40 md:hidden"><!></div>`,1),or=f(`<div class="bg-background flex overflow-hidden"><!> <aside><div class="border-sidebar-border flex h-12 shrink-0 items-center justify-between border-b px-4"><div class="flex items-center gap-2"><img src="/pwa/icon-192.png" alt="" class="size-5"/> <span class="text-sidebar-foreground text-sm font-semibold">Pimote</span></div> <div class="flex items-center gap-2"><span></span> <button class="text-muted-foreground hover:text-sidebar-foreground rounded-md p-1 md:hidden"><!></button></div></div> <!></aside> <div class="flex flex-1 flex-col overflow-hidden"><header class="border-border flex h-12 shrink-0 items-center gap-2 border-b px-3 md:hidden"><button class="text-muted-foreground hover:text-foreground rounded-md p-1" title="Open sidebar"><!></button> <div class="min-w-0 flex-1"><!></div> <!> <!> <!></header> <main class="flex flex-1 flex-col overflow-hidden"><!></main> <!></div> <!> <!> <!> <!> <!></div>`);function sr(e,r){A(r,!0);let i=N(!1),a=N(!1),o=N(`100dvh`);function s(){navigator.serviceWorker?.controller?.postMessage({type:`focus_state`,hasFocus:document.hasFocus()})}te(()=>{Q.connect();let e=null,t=()=>{k(o,Qn(window),!0)},n=()=>{t(),requestAnimationFrame(t),e&&clearTimeout(e),e=setTimeout(t,100)};n();let r=window.visualViewport;r?.addEventListener(`resize`,n),r?.addEventListener(`scroll`,n),window.addEventListener(`resize`,n),window.addEventListener(`orientationchange`,n),window.addEventListener(`pageshow`,n),window.addEventListener(`focus`,n),window.addEventListener(`focusin`,n),window.addEventListener(`focusout`,n);let i=new URLSearchParams(window.location.search),a=i.get(`sessionId`),c=i.get(`folderPath`);return a&&c&&(window.history.replaceState({},``,window.location.pathname),Q.pendingAdopt={sessionId:a,folderPath:c}),i.get(`share`)===`pending`&&(window.history.replaceState({},``,window.location.pathname),caches.open(`pimote-share-target`).then(async e=>{let t=await e.match(`/_share/pending`);if(t){let n=await t.json();await e.delete(`/_share/pending`),n.length>0&&Ae(n)}})),`serviceWorker`in navigator&&(navigator.serviceWorker.register(`/sw.js`).then(e=>console.log(`[pimote] Service worker registered:`,e)).catch(e=>console.warn(`[pimote] Service worker registration failed:`,e)),window.addEventListener(`focus`,s),window.addEventListener(`blur`,s),document.addEventListener(`visibilitychange`,s),navigator.serviceWorker.ready.then(()=>s()),navigator.serviceWorker.addEventListener(`message`,async e=>{if(e.data?.type===`push_notification`){let t=e.data.sessionId;if(t){let e=$.sessions[t];e&&(e.needsAttention=!0)}}else if(e.data?.type===`share_images`){let t=e.data.images;t?.length>0&&Ae(t)}else if(e.data?.type===`notification_click`){let t=e.data.sessionId,n=e.data.folderPath;if(t){let{switchToSession:e,sessionRegistry:r,openExistingSession:i}=await W(async()=>{let{switchToSession:e,sessionRegistry:t,openExistingSession:n}=await import(`../chunks/DoVhjU85.js`);return{switchToSession:e,sessionRegistry:t,openExistingSession:n}},__vite__mapDeps([6,7,8,1,2]),import.meta.url);r.sessions[t]?e(t):n&&i(t,n,{force:!0,switchTo:!0})}}})),()=>{Q.disconnect(),r?.removeEventListener(`resize`,n),r?.removeEventListener(`scroll`,n),window.removeEventListener(`resize`,n),window.removeEventListener(`orientationchange`,n),window.removeEventListener(`pageshow`,n),window.removeEventListener(`focus`,n),window.removeEventListener(`focusin`,n),window.removeEventListener(`focusout`,n),e&&clearTimeout(e),window.removeEventListener(`focus`,s),window.removeEventListener(`blur`,s),document.removeEventListener(`visibilitychange`,s)}});function c(){k(i,!1)}let u=L(()=>{let e=$.viewed?.extensionTitle??null;return e?`Pimote — ${e}`:`Pimote`}),f=L(()=>Fe($.viewed)??`Pimote`),p=L(()=>Le($.viewed,{compact:!0})),m=L(()=>je($.viewed?.contextUsage?.percent)),h=L(()=>g(m)===`critical`?`border-red-500/20 bg-red-500/10 text-red-600 dark:text-red-400`:g(m)===`warning`?`border-amber-500/20 bg-amber-500/10 text-amber-600 dark:text-amber-400`:`border-border bg-muted text-muted-foreground`);v(()=>{document.title=g(u)}),v(()=>{!Ue.hasCards&&g(a)&&k(a,!1)});var _=or(),b=t(_),x=e=>{var t=$n();U(`click`,t,c),U(`keydown`,t,e=>e.key===`Escape`&&c()),l(e,t)};d(b,e=>{g(i)&&e(x)});var S=R(b,2),C=t(S),w=R(t(C),2),T=t(w),D=R(T,2);ke(t(D),{class:`size-4`}),H(D),H(w),H(C),Wt(R(C,2),{class:`min-h-0 flex-1`,children:(e,t)=>{we(e,{onSessionSelect:c})},$$slots:{default:!0}}),H(S);var ee=R(S,2),O=t(ee),j=t(O);Xn(t(j),{class:`size-5`}),H(j);var M=R(j,2),I=t(M),ne=e=>{ze(e,{get sessionId(){return $.viewed.sessionId},get folderPath(){return $.viewed.folderPath},get sessionName(){return $.viewed.sessionName},get displayName(){return g(f)},children:(e,r)=>{let i=()=>r?.().openRenameDialog;var a=er(),o=t(a,!0);H(a),y(()=>{P(a,`title`,`Rename session: ${g(f)}`),n(o,g(f))}),U(`click`,a,function(...e){i()?.apply(this,e)}),l(e,a)},$$slots:{default:!0}})},z=e=>{var r=tr(),i=t(r,!0);H(r),y(()=>n(i,g(f))),l(e,r)};d(I,e=>{$.viewedSessionId&&$.viewed?e(ne):e(z,-1)}),H(M);var ie=R(M,2),G=e=>{var r=nr(),i=t(r,!0);H(r),y(()=>{V(r,1,`inline-flex shrink-0 items-center rounded-full border px-2 py-0.5 text-[11px] font-medium ${g(h)??``}`),n(i,g(p))}),l(e,r)};d(ie,e=>{$.viewedSessionId&&g(p)&&e(G)});var K=R(ie,2),ae=e=>{var r=rr(),i=t(r);Zn(i,{class:`size-4`});var o=R(i,2),s=t(o,!0);H(o),H(r),y(()=>n(s,Ue.cards.length)),U(`click`,r,()=>k(a,!0)),l(e,r)};d(K,e=>{Ue.hasCards&&e(ae)});var oe=R(K,2),se=e=>{Yn(e,{})};d(oe,e=>{$.viewedSessionId&&e(se)}),H(O);var ce=R(O,2);B(t(ce),()=>r.children),H(ce),ln(R(ce,2),{}),H(ee);var q=R(ee,2),le=e=>{var n=ir();Rn(t(n),{}),H(n),l(e,n)};d(q,e=>{Ue.hasCards&&e(le)});var ue=R(q,2),de=e=>{var n=ar(),r=E(n),i=R(r,2);Rn(t(i),{}),H(i),U(`click`,r,()=>k(a,!1)),U(`keydown`,r,e=>e.key===`Escape`&&k(a,!1)),l(e,n)};d(ue,e=>{Ue.hasCards&&g(a)&&e(de)});var J=R(ue,2);Qt(J,{});var Y=R(J,2);kn(Y,{}),hn(R(Y,2),{}),H(_),y(()=>{re(_,`height: ${g(o)};`),V(S,1,`border-sidebar-border bg-sidebar fixed inset-y-0 left-0 z-40 flex w-72 flex-col border-r transition-transform duration-200
|
|
9
|
+
${g(i)?`translate-x-0`:`-translate-x-full`}
|
|
10
|
+
md:relative md:z-0 md:translate-x-0`),V(T,1,`size-2 rounded-full ${Q.phase===`ready`?`bg-status-connected`:Q.phase===`idle`?`bg-status-error`:`bg-status-reconnecting`}`),P(T,`title`,Q.phase===`ready`?`Connected`:Q.phase===`idle`?`Disconnected`:`Reconnecting`)}),U(`click`,D,c),U(`click`,j,()=>k(i,!0)),l(e,_),F()}m([`click`,`keydown`]);export{sr as component,We as universal};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,A as t,M as n,P as r,Y as i,et as a,mt as o,pt as s,tt as c,yt as l}from"../chunks/B8lQCytv.js";import{i as u,n as d,r as f}from"../chunks/DzqbY2XU.js";import"../chunks/D1hYfEew.js";var p={get data(){return u.data},get error(){return u.error},get form(){return u.form},get params(){return u.params},get route(){return u.route},get state(){return u.state},get status(){return u.status},get url(){return u.url}};Object.defineProperty({get from(){return f.current?f.current.from:null},get to(){return f.current?f.current.to:null},get type(){return f.current?f.current.type:null},get willUnload(){return f.current?f.current.willUnload:null},get delta(){return f.current?f.current.delta:null},get complete(){return f.current?f.current.complete:null}},`current`,{get(){throw Error(`Replace navigating.current.<prop> with navigating.<prop>`)}}),d.updated.check;var m=p,h=r(`<h1> </h1> <p> </p>`,1);function g(r,u){o(u,!0);var d=h(),f=a(d),p=e(f,!0);l(f);var g=c(f,2),_=e(g,!0);l(g),i(()=>{t(p,m.status),t(_,m.error?.message)}),n(r,d),s()}export{g as component};
|
|
@@ -0,0 +1,54 @@
|
|
|
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 ee,v as te,vt as L,w as R,y as z,yt as B,z as V}from"../chunks/B8lQCytv.js";import"../chunks/D1hYfEew.js";import{$ as H,A as ne,C as re,D as ie,F as ae,G as oe,I as se,L as U,M as ce,N as le,O as ue,P as de,R as fe,S as pe,U as me,V as he,W as ge,_ as _e,a as ve,b as ye,c as be,d as xe,f as Se,g as Ce,h as we,i as Te,j as Ee,k as De,l as Oe,n as ke,o as Ae,p as je,r as Me,s as Ne,t as Pe,tt as Fe,u as Ie,v as Le,w as Re,x as ze,y as Be,z as Ve}from"../chunks/BNqgidwO.js";import{a as He,c as Ue,d as W,h as We,i as Ge,n as Ke,p as qe,r as Je,s as G,u as Ye}from"../chunks/D_Fpgknp.js";import{n as Xe}from"../chunks/BgJ-X-tf.js";var Ze=ge({component:`separator`,parts:[`root`]}),Qe=class e{static create(t){return new e(t)}opts;attachment;constructor(e){this.opts=e,this.attachment=oe(e.ref)}#e=F(()=>({id:this.opts.id.current,role:this.opts.decorative.current?`none`:`separator`,"aria-orientation":this.opts.orientation.current,"aria-hidden":me(this.opts.decorative.current),"data-orientation":this.opts.orientation.current,[Ze.root]:``,...this.attachment}));get props(){return g(this.#e)}set props(e){T(this.#e,e)}},$e=f(`<div><!></div>`);function et(t,n){let r=o();E(n,!0);let i=y(n,`id`,19,()=>he(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=Qe.create({ref:Fe(()=>a(),e=>a(e)),id:Fe(()=>i()),decorative:Fe(()=>s()),orientation:Fe(()=>c())}),m=F(()=>H(f,p.props));var h=u(),_=w(h),v=e=>{var t=u();R(w(t),()=>n.child,()=>({props:g(m)})),l(e,t)},b=t=>{var r=$e();C(r,()=>({...g(m)})),R(e(r),()=>n.children??x),B(r),l(t,r)};d(_,e=>{n.child?e(v):e(b,-1)}),l(t,h),M()}function tt(e,t){return e.trim().length>0&&typeof t==`string`&&t.length>0}function nt(e,t,n){switch(n){case`replace`:return t;case`append`:return e+`
|
|
2
|
+
`+t;case`prepend`:return t+`
|
|
3
|
+
`+e;case`ignore`:return null}}var rt={Href:1,Src:2,Lang:4,Checked:8,Start:16};function it(e){switch(e){case 1:return`href`;case 2:return`src`;case 4:return`class`;case 8:return`checked`;case 16:return`start`}}var at=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}},ot=24;function st(e){let t=new Uint32Array(ot);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(ot),indent:``,indent_len:0,table_state:0}}function ct(e){e.pending.length>0&&Y(e,`
|
|
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 lt(e,t,n){for(;n<=e.len;){if(e.tokens[n]===t)return n;n+=1}return-1}function ut(e,t){for(e.fence_start=0;e.len>t;)q(e)}function dt(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 ft(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?(ut(e,e.blockquote_idx),J(e,t),!0):(ut(e,n),!1):(ut(e,r),J(e,t),!0)}function pt(e,t){J(e,25),e.spaces[e.len]=e.indent_len+t,mt(e),e.token=103}function mt(e){e.indent=``,e.indent_len=0,e.pending=``}function ht(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 gt(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 _t(e){return ht(e)||gt(e)}function vt(e){return ht(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=dt(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`
|
|
5
|
+
`:if(console.assert(e.pending.length===1),e.tokens[e.len]===25&&e.token===21){q(e),mt(e),e.pending=n;continue}ut(e,e.blockquote_idx),mt(e),e.blockquote_idx=0,e.fence_start=0,e.pending=n;continue;case`#`:switch(n){case`#`:if(e.pending.length<6){e.pending=t;continue}break;case` `:dt(e,e.indent_len),J(e,at(e.pending.length)),mt(e);continue}break;case`>`:{let t=lt(e,20,e.blockquote_idx+1);t===-1?(ut(e,e.blockquote_idx),e.blockquote_idx+=1,e.fence_start=0,J(e,20)):e.blockquote_idx=t,mt(e),e.pending=n;continue}case`-`:case`*`:case`_`:if(e.hr_chars===0&&(console.assert(e.pending.length===1,`Pending should be one character`),e.hr_chars=1,e.hr_char=e.pending),e.hr_chars>0){switch(n){case e.hr_char:e.hr_chars+=1,e.pending=t;continue;case` `:e.pending=t;continue;case`
|
|
6
|
+
`:if(e.hr_chars<3)break;dt(e,e.indent_len),e.renderer.add_token(e.renderer.data,22),e.renderer.end_token(e.renderer.data),mt(e),e.hr_chars=0;continue}e.hr_chars=0}if(e.pending[0]!==`_`&&e.pending[1]===` `){ft(e,23),pt(e,2),Y(e,t.slice(2));continue}break;case"`":if(e.pending.length<3){if(n==="`"){e.pending=t,e.fence_start=t.length;continue}e.fence_start=0;break}switch(n){case"`":e.pending.length===e.fence_start?(e.pending=t,e.fence_start=t.length):(J(e,2),mt(e),e.fence_start=0,Y(e,t));continue;case`
|
|
7
|
+
`:dt(e,e.indent_len),J(e,10),e.pending.length>e.fence_start&&e.renderer.set_attr(e.renderer.data,4,e.pending.slice(e.fence_start)),mt(e),e.token=101;continue;default:e.pending=t;continue}case`+`:if(n!==` `)break;ft(e,23),pt(e,2);continue;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:if(e.pending[e.pending.length-1]===`.`){if(n!==` `)break;ft(e,24)&&e.pending!==`1.`&&e.renderer.set_attr(e.renderer.data,16,e.pending.slice(0,-1)),pt(e,e.pending.length+1);continue}else{let r=n.charCodeAt(0);if(r===46||ht(r)){e.pending=t;continue}}break;case`|`:ut(e,e.blockquote_idx),J(e,27),J(e,28),e.pending=``,Y(e,n);continue}let r=t;if(e.token===21)e.token=e.tokens[e.len],e.renderer.add_token(e.renderer.data,21),e.renderer.end_token(e.renderer.data);else if(e.indent_len>=4){let n=0;for(;n<4;n+=1)if(e.indent[n]===` `){n+=1;break}r=e.indent.slice(n)+t,J(e,9)}else J(e,2);mt(e),Y(e,r);continue;case 27:if(e.table_state===1)switch(n){case`-`:case` `:case`|`:case`:`:e.pending=t;continue;case`
|
|
8
|
+
`:e.table_state=2,e.pending=``;continue;default:q(e),e.table_state=0;break}else switch(e.pending){case`|`:J(e,28),e.pending=``,Y(e,n);continue;case`
|
|
9
|
+
`:q(e),e.pending=``,e.table_state=0,Y(e,n);continue}break;case 28:switch(e.pending){case``:break;case`|`:J(e,29),q(e),e.pending=``,Y(e,n);continue;case`
|
|
10
|
+
`:q(e),e.table_state=Math.min(e.table_state+1,2),e.pending=``,Y(e,n);continue;default:J(e,29),Y(e,n);continue}break;case 29:if(e.pending===`|`){K(e),q(e),e.pending=``,Y(e,n);continue}break;case 9:switch(t){case`
|
|
11
|
+
`:case`
|
|
12
|
+
`:case`
|
|
13
|
+
`:case`
|
|
14
|
+
`:case`
|
|
15
|
+
`:e.text+=`
|
|
16
|
+
`,e.pending=``;continue;case`
|
|
17
|
+
`:case`
|
|
18
|
+
`:case`
|
|
19
|
+
`:case`
|
|
20
|
+
`:e.pending=t;continue;default:e.pending.length===0?e.text+=n:(K(e),q(e),e.pending=n);continue}case 10:switch(n){case"`":e.pending=t;continue;case`
|
|
21
|
+
`:if(t.length===e.fence_start+e.fence_end+1){K(e),q(e),e.pending=``,e.fence_start=0,e.fence_end=0,e.token=101;continue}e.token=101;break;case` `:if(e.pending[0]===`
|
|
22
|
+
`){e.pending=t,e.fence_end+=1;continue}break}e.text+=e.pending,e.pending=n,e.fence_end=1;continue;case 11:switch(n){case"`":t.length===e.fence_start+Number(e.pending[0]===` `)?(K(e),q(e),e.pending=``,e.fence_start=0):e.pending=t;continue;case`
|
|
23
|
+
`:e.text+=e.pending,e.pending=``,e.token=21,e.blockquote_idx=0,K(e);continue;case` `:e.text+=e.pending,e.pending=n;continue;default:e.text+=t,e.pending=``;continue}case 103:switch(e.pending.length){case 0:if(n!==`[`)break;e.pending=t;continue;case 1:if(n!==` `&&n!==`x`)break;e.pending=t;continue;case 2:if(n!==`]`)break;e.pending=t;continue;case 3:if(n!==` `)break;e.renderer.add_token(e.renderer.data,26),e.pending[1]===`x`&&e.renderer.set_attr(e.renderer.data,8,``),e.renderer.end_token(e.renderer.data),e.pending=` `;continue}e.token=e.tokens[e.len],e.pending=``,Y(e,t);continue;case 14:case 15:{let t=`*`,r=12;if(e.token===15&&(t=`_`,r=13),t===e.pending){if(K(e),t===n){q(e),e.pending=``;continue}J(e,r),e.pending=n;continue}break}case 12:case 13:{let r=`*`,i=14;switch(e.token===13&&(r=`_`,i=15),e.pending){case r:if(r===n)e.tokens[e.len-1]===i?e.pending=t:(K(e),J(e,i),e.pending=``);else{if(r===`_`&&vt(n.charCodeAt(0)))break;K(e),q(e),e.pending=n}continue;case r+r:let a=e.token;K(e),q(e),q(e),r===n?e.pending=``:(J(e,a),e.pending=n);continue}break}case 16:if(t===`~~`){K(e),q(e),e.pending=``;continue}break;case 105:n===`
|
|
24
|
+
`?(K(e),J(e,30),e.pending=``):(e.token=e.tokens[e.len],e.pending[0]===`\\`?e.text+=`[`:e.text+=`$$`,e.pending=``,Y(e,n));continue;case 30:if(t===`\\]`||t===`$$`){K(e),q(e),e.pending=``;continue}break;case 31:if(t===`\\)`||e.pending[0]===`$`){K(e),q(e),n===`)`?e.pending=``:e.pending=n;continue}break;case 102:t===`http://`||t===`https://`?(K(e),J(e,18),e.pending=t,e.text=t):`http:/`[e.pending.length]===n||`https:/`[e.pending.length]===n?e.pending=t:(e.token=e.tokens[e.len],Y(e,n));continue;case 17:case 19:if(e.pending===`]`){K(e),n===`(`?e.pending=t:(q(e),e.pending=n);continue}if(e.pending[0]===`]`&&e.pending[1]===`(`){if(n===`)`){let t=e.token===17?1:2,n=e.pending.slice(2);e.renderer.set_attr(e.renderer.data,t,n),q(e),e.pending=``}else e.pending+=n;continue}break;case 18:n===` `||n===`
|
|
25
|
+
`||n===`\\`?(e.renderer.set_attr(e.renderer.data,1,e.pending),K(e),q(e),e.pending=n):(e.text+=n,e.pending=t);continue;case 104:if(t.startsWith(`<br`)){if(t.length===3||n===` `||n===`/`&&(t.length===4||e.pending[e.pending.length-1]===` `)){e.pending=t;continue}if(n===`>`){K(e),e.token=e.tokens[e.len],e.renderer.add_token(e.renderer.data,21),e.renderer.end_token(e.renderer.data),e.pending=``;continue}}e.token=e.tokens[e.len],e.text+=`<`,e.pending=e.pending.slice(1),Y(e,n);continue}switch(e.pending[0]){case`\\`:if(e.token===19||e.token===30||e.token===31)break;switch(n){case`(`:K(e),J(e,31),e.pending=``;continue;case`[`:e.token=105,e.pending=t;continue;case`
|
|
26
|
+
`:e.pending=n;continue;default:let r=n.charCodeAt(0);e.pending=``,e.text+=ht(r)||r>=65&&r<=90||r>=97&&r<=122?t:n;continue}case`
|
|
27
|
+
`:switch(e.token){case 19:case 30:case 31:break;case 3:case 4:case 5:case 6:case 7:case 8:K(e),ut(e,e.blockquote_idx),e.blockquote_idx=0,e.pending=n;continue;default:K(e),e.pending=n,e.token=21,e.blockquote_idx=0;continue}break;case`<`:if(e.token!==19&&e.token!==30&&e.token!==31){K(e),e.pending=t,e.token=104;continue}break;case"`":if(e.token===19)break;n==="`"?(e.fence_start+=1,e.pending=t):(e.fence_start+=1,K(e),J(e,11),e.text=n===` `||n===`
|
|
28
|
+
`?``:n,e.pending=``);continue;case`_`:case`*`:{if(e.token===19||e.token===30||e.token===31||e.token===14)break;let r=12,i=14,a=e.pending[0];if(a===`_`&&(r=13,i=15),e.pending.length===1){if(a===n){e.pending=t;continue}if(a===`_`&&e.text.length>0&&vt(e.text.charCodeAt(e.text.length-1))&&vt(n.charCodeAt(0)))break;if(n!==` `&&n!==`
|
|
29
|
+
`){K(e),J(e,r),e.pending=n;continue}}else{if(a===n){K(e),J(e,i),J(e,r),e.pending=``;continue}if(a===`_`&&e.text.length>0&&vt(e.text.charCodeAt(e.text.length-1))&&vt(n.charCodeAt(0)))break;if(n!==` `&&n!==`
|
|
30
|
+
`){K(e),J(e,i),e.pending=n;continue}}break}case`~`:if(e.token!==19&&e.token!==16){if(e.pending===`~`){if(n===`~`){e.pending=t;continue}}else if(n!==` `&&n!==`
|
|
31
|
+
`){K(e),J(e,16),e.pending=n;continue}}break;case`$`:if(e.token!==19&&e.token!==16&&e.pending===`$`)if(n===`$`){e.token=105,e.pending=t;continue}else if(_t(n.charCodeAt(0)))break;else{K(e),J(e,31),e.pending=n;continue}break;case`[`:if(e.token!==19&&e.token!==17&&e.token!==30&&e.token!==31&&n!==`]`){K(e),J(e,17),e.pending=n;continue}break;case`!`:if(e.token!==19&&n===`[`){K(e),J(e,19),e.pending=``;continue}break;case` `:if(e.pending.length===1&&n===` `)continue;break}if(e.token!==19&&e.token!==17&&e.token!==30&&e.token!==31&&n===`h`&&(e.pending===` `||e.pending===``)){e.text+=e.pending,e.pending=n,e.token=102;continue}e.text+=e.pending,e.pending=n}K(e)}function yt(e){return{add_token:bt,end_token:xt,add_text:St,set_attr:Ct,data:{nodes:[e,,,,,],index:0}}}function bt(e,t){let n=e.nodes[e.index],r;switch(t){case 1:return;case 20:r=document.createElement(`blockquote`);break;case 2:r=document.createElement(`p`);break;case 21:r=document.createElement(`br`);break;case 22:r=document.createElement(`hr`);break;case 3:r=document.createElement(`h1`);break;case 4:r=document.createElement(`h2`);break;case 5:r=document.createElement(`h3`);break;case 6:r=document.createElement(`h4`);break;case 7:r=document.createElement(`h5`);break;case 8:r=document.createElement(`h6`);break;case 12:case 13:r=document.createElement(`em`);break;case 14:case 15:r=document.createElement(`strong`);break;case 16:r=document.createElement(`s`);break;case 11:r=document.createElement(`code`);break;case 18:case 17:r=document.createElement(`a`);break;case 19:r=document.createElement(`img`);break;case 23:r=document.createElement(`ul`);break;case 24:r=document.createElement(`ol`);break;case 25:r=document.createElement(`li`);break;case 26:let e=r=document.createElement(`input`);e.type=`checkbox`,e.disabled=!0;break;case 9:case 10:n=n.appendChild(document.createElement(`pre`)),r=document.createElement(`code`);break;case 27:r=document.createElement(`table`);break;case 28:switch(n.children.length){case 0:n=n.appendChild(document.createElement(`thead`));break;case 1:n=n.appendChild(document.createElement(`tbody`));break;default:n=n.children[1]}r=document.createElement(`tr`);break;case 29:r=document.createElement(n.parentElement?.tagName===`THEAD`?`th`:`td`);break;case 30:r=document.createElement(`equation-block`);break;case 31:r=document.createElement(`equation-inline`);break}e.nodes[++e.index]=n.appendChild(r)}function xt(e){--e.index}function St(e,t){e.nodes[e.index].appendChild(document.createTextNode(t))}function Ct(e,t,n){e.nodes[e.index].setAttribute(it(t),n)}var wt=/^(?:https?|mailto):/i;function Tt(e,t){let n,r=e.parentElement;if(r?.classList.contains(`code-block-wrapper`))n=r;else if(r)n=document.createElement(`div`),n.className=`code-block-wrapper`,r.insertBefore(n,e),n.appendChild(e);else return;if(n.querySelector(`:scope > .code-copy-btn`))return;e.classList.add(`code-block-with-copy`);let i=document.createElement(`button`);i.type=`button`,i.className=`code-copy-btn`,i.setAttribute(`aria-label`,`Copy code`),i.title=`Copy code`,i.textContent=`Copy`;let a;i.addEventListener(`click`,async e=>{e.preventDefault(),e.stopPropagation();try{await navigator.clipboard.writeText(t.textContent??``),i.textContent=`Copied`,i.classList.add(`copied`),a&&clearTimeout(a),a=setTimeout(()=>{i.textContent=`Copy`,i.classList.remove(`copied`)},1200)}catch{}}),n.appendChild(i)}function Et(e){return{...yt(e),set_attr(e,t,n){(t===rt.Href||t===rt.Src)&&!wt.test(n.trim())||Ct(e,t,n)},end_token(e){let t=e.nodes[e.index];if(t?.tagName===`CODE`&&t.parentElement?.tagName===`PRE`){let e=t,n=e.parentElement;try{Xe.highlightElement(e)}catch{}Tt(n,e)}xt(e)}}}var Dt=f(`<div class="text-block markdown-content svelte-8p0cc8"></div>`);function Ot(e,t){E(t,!0);let n=y(t,`streaming`,3,!1),r;_(()=>{if(!r)return;let e=st(Et(r)),i=0,a=!1;return _(()=>{a||(t.text.length>i&&(Y(e,t.text.slice(i)),i=t.text.length),n()||(ct(e),a=!0))}),()=>{a||ct(e),r.innerHTML=``}});var i=Dt();S(i,e=>r=e,()=>r),l(e,i),M()}function kt(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z`}],[`path`,{d:`M9 13a4.5 4.5 0 0 0 3-4`}],[`path`,{d:`M6.003 5.125A3 3 0 0 0 6.401 6.5`}],[`path`,{d:`M3.477 10.896a4 4 0 0 1 .585-.396`}],[`path`,{d:`M6 18a4 4 0 0 1-1.967-.516`}],[`path`,{d:`M12 13h4`}],[`path`,{d:`M12 18h6a2 2 0 0 1 2 2v1`}],[`path`,{d:`M12 8h8`}],[`path`,{d:`M16 8V5a2 2 0 0 1 2-2`}],[`circle`,{cx:`16`,cy:`13`,r:`.5`}],[`circle`,{cx:`18`,cy:`3`,r:`.5`}],[`circle`,{cx:`20`,cy:`21`,r:`.5`}],[`circle`,{cx:`20`,cy:`8`,r:`.5`}]];U(e,P({name:`brain-circuit`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}var At=f(`<span class="thinking-preview svelte-1mu9o59"> </span>`),jt=f(`<span class="thinking-word-count svelte-1mu9o59"> </span>`),Mt=f(`<span class="streaming-dot svelte-1mu9o59"></span>`),Nt=f(`<div class="thinking-content svelte-1mu9o59"><pre class="thinking-text svelte-1mu9o59"> </pre></div>`),Pt=f(`<div class="thinking-block svelte-1mu9o59"><button class="thinking-header svelte-1mu9o59"><!> <!> <span class="thinking-label svelte-1mu9o59"> </span> <!> <!> <!></button> <!></div>`);function Ft(n,r){E(r,!0);let i=y(r,`streaming`,3,!1),a=A(!1);_(()=>{i()?T(a,!0):T(a,!1)});let o=A(void 0);_(()=>{i()&&r.text&&g(o)&&(g(o).scrollTop=g(o).scrollHeight)});let s=F(()=>r.text?r.text.trim().split(/\s+/).slice(0,8).join(` `):``),c=F(()=>r.text?r.text.trim().split(/\s+/).filter(e=>e.length>0).length:0);var u=Pt(),f=e(u),p=e(f);{let e=F(()=>g(a)?`rotate-90`:``);re(p,{get class(){return`shrink-0 transition-transform duration-150 ${g(e)??``}`},size:14})}var m=I(p,2);kt(m,{size:14,class:`shrink-0`});var h=I(m,2),b=e(h,!0);B(h);var x=I(h,2),C=n=>{var r=At(),i=e(r,!0);B(r),v(()=>t(i,g(s))),l(n,r)};d(x,e=>{g(s)&&e(C)});var w=I(x,2),D=n=>{var r=jt(),i=e(r);B(r),v(e=>t(i,`${e??``} words`),[()=>g(c).toLocaleString()]),l(n,r)};d(w,e=>{g(c)>0&&e(D)});var O=I(w,2),k=e=>{l(e,Mt())};d(O,e=>{i()&&e(k)}),B(f);var j=I(f,2),N=n=>{var i=Nt(),a=e(i),s=e(a,!0);B(a),B(i),S(i,e=>T(o,e),()=>g(o)),v(()=>t(s,r.text)),l(n,i)};d(j,e=>{g(a)&&e(N)}),B(u),v(()=>t(b,i()?`Thinking…`:`Thought process`)),V(`click`,f,()=>T(a,!g(a))),l(n,u),M()}m([`click`]);var It=f(`<button class="collapsible-toggle svelte-tetllc"> </button>`),Lt=f(`<div><pre> </pre> <!></div>`);function Rt(n,r){E(r,!0);let i=y(r,`streaming`,3,!1),a=y(r,`maxCollapsedLines`,3,10),o=y(r,`accent`,3,`default`),s=A(!1),c=A(void 0),u=F(()=>r.text.split(`
|
|
32
|
+
`)),f=F(()=>g(u).length),p=F(()=>g(f)>a()),m=F(()=>g(p)&&!g(s)?g(u).slice(0,a()).join(`
|
|
33
|
+
`):r.text);_(()=>{i()&&g(s)&&g(c)&&(r.text,g(c).scrollTop=g(c).scrollHeight)});var h=Lt();let b;var x=e(h);let C;var w=e(x,!0);B(x),S(x,e=>T(c,e),()=>g(c));var D=I(x,2),O=n=>{var r=It(),i=e(r,!0);B(r),v(()=>t(i,g(s)?`Show less`:`Show more… (${g(f)} lines)`)),V(`click`,r,()=>T(s,!g(s))),l(n,r)};d(D,e=>{g(p)&&e(O)}),B(h),v(()=>{b=z(h,1,`streaming-collapsible svelte-tetllc`,null,b,{"accent-purple":o()===`purple`}),C=z(x,1,`collapsible-text svelte-tetllc`,null,C,{scrollable:g(s)&&g(p)}),t(w,g(m))}),l(n,h),M()}m([`click`]);var X;(function(e){e[e.BACKSPACE=8]=`BACKSPACE`,e[e.FORM_FEED=12]=`FORM_FEED`,e[e.NEWLINE=10]=`NEWLINE`,e[e.CARRIAGE_RETURN=13]=`CARRIAGE_RETURN`,e[e.TAB=9]=`TAB`,e[e.SPACE=32]=`SPACE`,e[e.EXCLAMATION_MARK=33]=`EXCLAMATION_MARK`,e[e.QUOTATION_MARK=34]=`QUOTATION_MARK`,e[e.NUMBER_SIGN=35]=`NUMBER_SIGN`,e[e.DOLLAR_SIGN=36]=`DOLLAR_SIGN`,e[e.PERCENT_SIGN=37]=`PERCENT_SIGN`,e[e.AMPERSAND=38]=`AMPERSAND`,e[e.APOSTROPHE=39]=`APOSTROPHE`,e[e.LEFT_PARENTHESIS=40]=`LEFT_PARENTHESIS`,e[e.RIGHT_PARENTHESIS=41]=`RIGHT_PARENTHESIS`,e[e.ASTERISK=42]=`ASTERISK`,e[e.PLUS_SIGN=43]=`PLUS_SIGN`,e[e.COMMA=44]=`COMMA`,e[e.HYPHEN_MINUS=45]=`HYPHEN_MINUS`,e[e.FULL_STOP=46]=`FULL_STOP`,e[e.SOLIDUS=47]=`SOLIDUS`,e[e.DIGIT_ZERO=48]=`DIGIT_ZERO`,e[e.DIGIT_ONE=49]=`DIGIT_ONE`,e[e.DIGIT_TWO=50]=`DIGIT_TWO`,e[e.DIGIT_THREE=51]=`DIGIT_THREE`,e[e.DIGIT_FOUR=52]=`DIGIT_FOUR`,e[e.DIGIT_FIVE=53]=`DIGIT_FIVE`,e[e.DIGIT_SIX=54]=`DIGIT_SIX`,e[e.DIGIT_SEVEN=55]=`DIGIT_SEVEN`,e[e.DIGIT_EIGHT=56]=`DIGIT_EIGHT`,e[e.DIGIT_NINE=57]=`DIGIT_NINE`,e[e.COLON=58]=`COLON`,e[e.SEMICOLON=59]=`SEMICOLON`,e[e.LESS_THAN_SIGN=60]=`LESS_THAN_SIGN`,e[e.EQUALS_SIGN=61]=`EQUALS_SIGN`,e[e.GREATER_THAN_SIGN=62]=`GREATER_THAN_SIGN`,e[e.QUESTION_MARK=63]=`QUESTION_MARK`,e[e.COMMERCIAL_AT=64]=`COMMERCIAL_AT`,e[e.LATIN_CAPITAL_LETTER_A=65]=`LATIN_CAPITAL_LETTER_A`,e[e.LATIN_CAPITAL_LETTER_B=66]=`LATIN_CAPITAL_LETTER_B`,e[e.LATIN_CAPITAL_LETTER_C=67]=`LATIN_CAPITAL_LETTER_C`,e[e.LATIN_CAPITAL_LETTER_D=68]=`LATIN_CAPITAL_LETTER_D`,e[e.LATIN_CAPITAL_LETTER_E=69]=`LATIN_CAPITAL_LETTER_E`,e[e.LATIN_CAPITAL_LETTER_F=70]=`LATIN_CAPITAL_LETTER_F`,e[e.LATIN_CAPITAL_LETTER_G=71]=`LATIN_CAPITAL_LETTER_G`,e[e.LATIN_CAPITAL_LETTER_H=72]=`LATIN_CAPITAL_LETTER_H`,e[e.LATIN_CAPITAL_LETTER_I=73]=`LATIN_CAPITAL_LETTER_I`,e[e.LATIN_CAPITAL_LETTER_J=74]=`LATIN_CAPITAL_LETTER_J`,e[e.LATIN_CAPITAL_LETTER_K=75]=`LATIN_CAPITAL_LETTER_K`,e[e.LATIN_CAPITAL_LETTER_L=76]=`LATIN_CAPITAL_LETTER_L`,e[e.LATIN_CAPITAL_LETTER_M=77]=`LATIN_CAPITAL_LETTER_M`,e[e.LATIN_CAPITAL_LETTER_N=78]=`LATIN_CAPITAL_LETTER_N`,e[e.LATIN_CAPITAL_LETTER_O=79]=`LATIN_CAPITAL_LETTER_O`,e[e.LATIN_CAPITAL_LETTER_P=80]=`LATIN_CAPITAL_LETTER_P`,e[e.LATIN_CAPITAL_LETTER_Q=81]=`LATIN_CAPITAL_LETTER_Q`,e[e.LATIN_CAPITAL_LETTER_R=82]=`LATIN_CAPITAL_LETTER_R`,e[e.LATIN_CAPITAL_LETTER_S=83]=`LATIN_CAPITAL_LETTER_S`,e[e.LATIN_CAPITAL_LETTER_T=84]=`LATIN_CAPITAL_LETTER_T`,e[e.LATIN_CAPITAL_LETTER_U=85]=`LATIN_CAPITAL_LETTER_U`,e[e.LATIN_CAPITAL_LETTER_V=86]=`LATIN_CAPITAL_LETTER_V`,e[e.LATIN_CAPITAL_LETTER_W=87]=`LATIN_CAPITAL_LETTER_W`,e[e.LATIN_CAPITAL_LETTER_X=88]=`LATIN_CAPITAL_LETTER_X`,e[e.LATIN_CAPITAL_LETTER_Y=89]=`LATIN_CAPITAL_LETTER_Y`,e[e.LATIN_CAPITAL_LETTER_Z=90]=`LATIN_CAPITAL_LETTER_Z`,e[e.LEFT_SQUARE_BRACKET=91]=`LEFT_SQUARE_BRACKET`,e[e.REVERSE_SOLIDUS=92]=`REVERSE_SOLIDUS`,e[e.RIGHT_SQUARE_BRACKET=93]=`RIGHT_SQUARE_BRACKET`,e[e.CIRCUMFLEX_ACCENT=94]=`CIRCUMFLEX_ACCENT`,e[e.LOW_LINE=95]=`LOW_LINE`,e[e.GRAVE_ACCENT=96]=`GRAVE_ACCENT`,e[e.LATIN_SMALL_LETTER_A=97]=`LATIN_SMALL_LETTER_A`,e[e.LATIN_SMALL_LETTER_B=98]=`LATIN_SMALL_LETTER_B`,e[e.LATIN_SMALL_LETTER_C=99]=`LATIN_SMALL_LETTER_C`,e[e.LATIN_SMALL_LETTER_D=100]=`LATIN_SMALL_LETTER_D`,e[e.LATIN_SMALL_LETTER_E=101]=`LATIN_SMALL_LETTER_E`,e[e.LATIN_SMALL_LETTER_F=102]=`LATIN_SMALL_LETTER_F`,e[e.LATIN_SMALL_LETTER_G=103]=`LATIN_SMALL_LETTER_G`,e[e.LATIN_SMALL_LETTER_H=104]=`LATIN_SMALL_LETTER_H`,e[e.LATIN_SMALL_LETTER_I=105]=`LATIN_SMALL_LETTER_I`,e[e.LATIN_SMALL_LETTER_J=106]=`LATIN_SMALL_LETTER_J`,e[e.LATIN_SMALL_LETTER_K=107]=`LATIN_SMALL_LETTER_K`,e[e.LATIN_SMALL_LETTER_L=108]=`LATIN_SMALL_LETTER_L`,e[e.LATIN_SMALL_LETTER_M=109]=`LATIN_SMALL_LETTER_M`,e[e.LATIN_SMALL_LETTER_N=110]=`LATIN_SMALL_LETTER_N`,e[e.LATIN_SMALL_LETTER_O=111]=`LATIN_SMALL_LETTER_O`,e[e.LATIN_SMALL_LETTER_P=112]=`LATIN_SMALL_LETTER_P`,e[e.LATIN_SMALL_LETTER_Q=113]=`LATIN_SMALL_LETTER_Q`,e[e.LATIN_SMALL_LETTER_R=114]=`LATIN_SMALL_LETTER_R`,e[e.LATIN_SMALL_LETTER_S=115]=`LATIN_SMALL_LETTER_S`,e[e.LATIN_SMALL_LETTER_T=116]=`LATIN_SMALL_LETTER_T`,e[e.LATIN_SMALL_LETTER_U=117]=`LATIN_SMALL_LETTER_U`,e[e.LATIN_SMALL_LETTER_V=118]=`LATIN_SMALL_LETTER_V`,e[e.LATIN_SMALL_LETTER_W=119]=`LATIN_SMALL_LETTER_W`,e[e.LATIN_SMALL_LETTER_X=120]=`LATIN_SMALL_LETTER_X`,e[e.LATIN_SMALL_LETTER_Y=121]=`LATIN_SMALL_LETTER_Y`,e[e.LATIN_SMALL_LETTER_Z=122]=`LATIN_SMALL_LETTER_Z`,e[e.LEFT_CURLY_BRACKET=123]=`LEFT_CURLY_BRACKET`,e[e.VERTICAL_LINE=124]=`VERTICAL_LINE`,e[e.RIGHT_CURLY_BRACKET=125]=`RIGHT_CURLY_BRACKET`,e[e.TILDE=126]=`TILDE`})(X||={});var zt={[X.QUOTATION_MARK]:X.QUOTATION_MARK,[X.REVERSE_SOLIDUS]:X.REVERSE_SOLIDUS,[X.SOLIDUS]:X.SOLIDUS,[X.LATIN_SMALL_LETTER_B]:X.BACKSPACE,[X.LATIN_SMALL_LETTER_F]:X.FORM_FEED,[X.LATIN_SMALL_LETTER_N]:X.NEWLINE,[X.LATIN_SMALL_LETTER_R]:X.CARRIAGE_RETURN,[X.LATIN_SMALL_LETTER_T]:X.TAB},Bt=class{constructor(){this.decoder=new TextDecoder(`utf-8`),this.strings=[],this.byteLength=0}appendChar(e){this.strings.push(String.fromCharCode(e)),this.byteLength+=1}appendBuf(e,t=0,n=e.length){this.strings.push(this.decoder.decode(e.subarray(t,n))),this.byteLength+=n-t}reset(){this.strings=[],this.byteLength=0}toString(){return this.strings.join(``)}},Vt=class{constructor(e){this.decoder=new TextDecoder(`utf-8`),this.bufferOffset=0,this.string=``,this.byteLength=0,this.buffer=new Uint8Array(e)}appendChar(e){this.bufferOffset>=this.buffer.length&&this.flushStringBuffer(),this.buffer[this.bufferOffset++]=e,this.byteLength+=1}appendBuf(e,t=0,n=e.length){let r=n-t;this.bufferOffset+r>this.buffer.length&&this.flushStringBuffer(),this.buffer.set(e.subarray(t,n),this.bufferOffset),this.bufferOffset+=r,this.byteLength+=r}flushStringBuffer(){this.string+=this.decoder.decode(this.buffer.subarray(0,this.bufferOffset)),this.bufferOffset=0}reset(){this.string=``,this.bufferOffset=0,this.byteLength=0}toString(){return this.flushStringBuffer(),this.string}},Ht;(function(e){e[e.LEFT_BRACE=0]=`LEFT_BRACE`,e[e.RIGHT_BRACE=1]=`RIGHT_BRACE`,e[e.LEFT_BRACKET=2]=`LEFT_BRACKET`,e[e.RIGHT_BRACKET=3]=`RIGHT_BRACKET`,e[e.COLON=4]=`COLON`,e[e.COMMA=5]=`COMMA`,e[e.TRUE=6]=`TRUE`,e[e.FALSE=7]=`FALSE`,e[e.NULL=8]=`NULL`,e[e.STRING=9]=`STRING`,e[e.NUMBER=10]=`NUMBER`,e[e.SEPARATOR=11]=`SEPARATOR`})(Ht||={});var Z=Ht,Q;(function(e){e[e.START=0]=`START`,e[e.ENDED=1]=`ENDED`,e[e.ERROR=2]=`ERROR`,e[e.TRUE1=3]=`TRUE1`,e[e.TRUE2=4]=`TRUE2`,e[e.TRUE3=5]=`TRUE3`,e[e.FALSE1=6]=`FALSE1`,e[e.FALSE2=7]=`FALSE2`,e[e.FALSE3=8]=`FALSE3`,e[e.FALSE4=9]=`FALSE4`,e[e.NULL1=10]=`NULL1`,e[e.NULL2=11]=`NULL2`,e[e.NULL3=12]=`NULL3`,e[e.STRING_DEFAULT=13]=`STRING_DEFAULT`,e[e.STRING_AFTER_BACKSLASH=14]=`STRING_AFTER_BACKSLASH`,e[e.STRING_UNICODE_DIGIT_1=15]=`STRING_UNICODE_DIGIT_1`,e[e.STRING_UNICODE_DIGIT_2=16]=`STRING_UNICODE_DIGIT_2`,e[e.STRING_UNICODE_DIGIT_3=17]=`STRING_UNICODE_DIGIT_3`,e[e.STRING_UNICODE_DIGIT_4=18]=`STRING_UNICODE_DIGIT_4`,e[e.STRING_INCOMPLETE_CHAR=19]=`STRING_INCOMPLETE_CHAR`,e[e.NUMBER_AFTER_INITIAL_MINUS=20]=`NUMBER_AFTER_INITIAL_MINUS`,e[e.NUMBER_AFTER_INITIAL_ZERO=21]=`NUMBER_AFTER_INITIAL_ZERO`,e[e.NUMBER_AFTER_INITIAL_NON_ZERO=22]=`NUMBER_AFTER_INITIAL_NON_ZERO`,e[e.NUMBER_AFTER_FULL_STOP=23]=`NUMBER_AFTER_FULL_STOP`,e[e.NUMBER_AFTER_DECIMAL=24]=`NUMBER_AFTER_DECIMAL`,e[e.NUMBER_AFTER_E=25]=`NUMBER_AFTER_E`,e[e.NUMBER_AFTER_E_AND_SIGN=26]=`NUMBER_AFTER_E_AND_SIGN`,e[e.NUMBER_AFTER_E_AND_DIGIT=27]=`NUMBER_AFTER_E_AND_DIGIT`,e[e.SEPARATOR=28]=`SEPARATOR`,e[e.BOM_OR_START=29]=`BOM_OR_START`,e[e.BOM=30]=`BOM`})(Q||={});function Ut(e){return`START.ENDED.ERROR.TRUE1.TRUE2.TRUE3.FALSE1.FALSE2.FALSE3.FALSE4.NULL1.NULL2.NULL3.STRING_DEFAULT.STRING_AFTER_BACKSLASH.STRING_UNICODE_DIGIT_1.STRING_UNICODE_DIGIT_2.STRING_UNICODE_DIGIT_3.STRING_UNICODE_DIGIT_4.STRING_INCOMPLETE_CHAR.NUMBER_AFTER_INITIAL_MINUS.NUMBER_AFTER_INITIAL_ZERO.NUMBER_AFTER_INITIAL_NON_ZERO.NUMBER_AFTER_FULL_STOP.NUMBER_AFTER_DECIMAL.NUMBER_AFTER_E.NUMBER_AFTER_E_AND_SIGN.NUMBER_AFTER_E_AND_DIGIT.SEPARATOR.BOM_OR_START.BOM`.split(`.`)[e]}var Wt={stringBufferSize:0,numberBufferSize:0,separator:void 0,emitPartialTokens:!1},Gt=class e extends Error{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},Kt=class{constructor(e){this.state=Q.BOM_OR_START,this.bomIndex=0,this.separatorIndex=0,this.escapedCharsByteLength=0,this.bytes_remaining=0,this.bytes_in_sequence=0,this.char_split_buffer=new Uint8Array(4),this.encoder=new TextEncoder,this.offset=-1,e=Object.assign(Object.assign({},Wt),e),this.emitPartialTokens=e.emitPartialTokens===!0,this.bufferedString=e.stringBufferSize&&e.stringBufferSize>4?new Vt(e.stringBufferSize):new Bt,this.bufferedNumber=e.numberBufferSize&&e.numberBufferSize>0?new Vt(e.numberBufferSize):new Bt,this.separator=e.separator,this.separatorBytes=e.separator?this.encoder.encode(e.separator):void 0}get isEnded(){return this.state===Q.ENDED}write(e){try{let t;if(e instanceof Uint8Array)t=e;else if(typeof e==`string`)t=this.encoder.encode(e);else if(Array.isArray(e))t=Uint8Array.from(e);else if(ArrayBuffer.isView(e))t=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);else throw TypeError("Unexpected type. The `write` function only accepts Arrays, TypedArrays and Strings.");for(let n=0;n<t.length;n+=1){let r=t[n];switch(this.state){case Q.BOM_OR_START:if(e instanceof Uint8Array&&r===239){this.bom=[239,187,191],this.bomIndex+=1,this.state=Q.BOM;continue}if(e instanceof Uint16Array){if(r===254){this.bom=[254,255],this.bomIndex+=1,this.state=Q.BOM;continue}if(r===255){this.bom=[255,254],this.bomIndex+=1,this.state=Q.BOM;continue}}if(e instanceof Uint32Array){if(r===0){this.bom=[0,0,254,255],this.bomIndex+=1,this.state=Q.BOM;continue}if(r===255){this.bom=[255,254,0,0],this.bomIndex+=1,this.state=Q.BOM;continue}}case Q.START:if(this.offset+=1,this.separatorBytes&&r===this.separatorBytes[0]){if(this.separatorBytes.length===1){this.state=Q.START,this.onToken({token:Z.SEPARATOR,value:this.separator,offset:this.offset+this.separatorBytes.length-1});continue}this.state=Q.SEPARATOR;continue}if(r===X.SPACE||r===X.NEWLINE||r===X.CARRIAGE_RETURN||r===X.TAB)continue;if(r===X.LEFT_CURLY_BRACKET){this.onToken({token:Z.LEFT_BRACE,value:`{`,offset:this.offset});continue}if(r===X.RIGHT_CURLY_BRACKET){this.onToken({token:Z.RIGHT_BRACE,value:`}`,offset:this.offset});continue}if(r===X.LEFT_SQUARE_BRACKET){this.onToken({token:Z.LEFT_BRACKET,value:`[`,offset:this.offset});continue}if(r===X.RIGHT_SQUARE_BRACKET){this.onToken({token:Z.RIGHT_BRACKET,value:`]`,offset:this.offset});continue}if(r===X.COLON){this.onToken({token:Z.COLON,value:`:`,offset:this.offset});continue}if(r===X.COMMA){this.onToken({token:Z.COMMA,value:`,`,offset:this.offset});continue}if(r===X.LATIN_SMALL_LETTER_T){this.state=Q.TRUE1;continue}if(r===X.LATIN_SMALL_LETTER_F){this.state=Q.FALSE1;continue}if(r===X.LATIN_SMALL_LETTER_N){this.state=Q.NULL1;continue}if(r===X.QUOTATION_MARK){this.bufferedString.reset(),this.escapedCharsByteLength=0,this.state=Q.STRING_DEFAULT;continue}if(r>=X.DIGIT_ONE&&r<=X.DIGIT_NINE){this.bufferedNumber.reset(),this.bufferedNumber.appendChar(r),this.state=Q.NUMBER_AFTER_INITIAL_NON_ZERO;continue}if(r===X.DIGIT_ZERO){this.bufferedNumber.reset(),this.bufferedNumber.appendChar(r),this.state=Q.NUMBER_AFTER_INITIAL_ZERO;continue}if(r===X.HYPHEN_MINUS){this.bufferedNumber.reset(),this.bufferedNumber.appendChar(r),this.state=Q.NUMBER_AFTER_INITIAL_MINUS;continue}break;case Q.STRING_DEFAULT:if(r===X.QUOTATION_MARK){let e=this.bufferedString.toString();this.state=Q.START,this.onToken({token:Z.STRING,value:e,offset:this.offset}),this.offset+=this.escapedCharsByteLength+this.bufferedString.byteLength+1;continue}if(r===X.REVERSE_SOLIDUS){this.state=Q.STRING_AFTER_BACKSLASH;continue}if(r>=128){if(r>=194&&r<=223?this.bytes_in_sequence=2:r<=239?this.bytes_in_sequence=3:this.bytes_in_sequence=4,this.bytes_in_sequence<=t.length-n){this.bufferedString.appendBuf(t,n,n+this.bytes_in_sequence),n+=this.bytes_in_sequence-1;continue}this.bytes_remaining=n+this.bytes_in_sequence-t.length,this.char_split_buffer.set(t.subarray(n)),n=t.length-1,this.state=Q.STRING_INCOMPLETE_CHAR;continue}if(r>=X.SPACE){this.bufferedString.appendChar(r);continue}break;case Q.STRING_INCOMPLETE_CHAR:this.char_split_buffer.set(t.subarray(n,n+this.bytes_remaining),this.bytes_in_sequence-this.bytes_remaining),this.bufferedString.appendBuf(this.char_split_buffer,0,this.bytes_in_sequence),n=this.bytes_remaining-1,this.state=Q.STRING_DEFAULT;continue;case Q.STRING_AFTER_BACKSLASH:let i=zt[r];if(i){this.bufferedString.appendChar(i),this.escapedCharsByteLength+=1,this.state=Q.STRING_DEFAULT;continue}if(r===X.LATIN_SMALL_LETTER_U){this.unicode=``,this.state=Q.STRING_UNICODE_DIGIT_1;continue}break;case Q.STRING_UNICODE_DIGIT_1:case Q.STRING_UNICODE_DIGIT_2:case Q.STRING_UNICODE_DIGIT_3:if(r>=X.DIGIT_ZERO&&r<=X.DIGIT_NINE||r>=X.LATIN_CAPITAL_LETTER_A&&r<=X.LATIN_CAPITAL_LETTER_F||r>=X.LATIN_SMALL_LETTER_A&&r<=X.LATIN_SMALL_LETTER_F){this.unicode+=String.fromCharCode(r),this.state+=1;continue}break;case Q.STRING_UNICODE_DIGIT_4:if(r>=X.DIGIT_ZERO&&r<=X.DIGIT_NINE||r>=X.LATIN_CAPITAL_LETTER_A&&r<=X.LATIN_CAPITAL_LETTER_F||r>=X.LATIN_SMALL_LETTER_A&&r<=X.LATIN_SMALL_LETTER_F){let e=parseInt(this.unicode+String.fromCharCode(r),16),t;if(this.highSurrogate===void 0)if(e>=55296&&e<=56319){this.highSurrogate=e,this.state=Q.STRING_DEFAULT;continue}else t=String.fromCharCode(e);else t=e>=56320&&e<=57343?String.fromCharCode(this.highSurrogate,e):String.fromCharCode(this.highSurrogate),this.highSurrogate=void 0;let n=this.encoder.encode(t);this.bufferedString.appendBuf(n),this.escapedCharsByteLength+=6-n.byteLength,this.state=Q.STRING_DEFAULT;continue}break;case Q.NUMBER_AFTER_INITIAL_MINUS:if(r===X.DIGIT_ZERO){this.bufferedNumber.appendChar(r),this.state=Q.NUMBER_AFTER_INITIAL_ZERO;continue}if(r>=X.DIGIT_ONE&&r<=X.DIGIT_NINE){this.bufferedNumber.appendChar(r),this.state=Q.NUMBER_AFTER_INITIAL_NON_ZERO;continue}break;case Q.NUMBER_AFTER_INITIAL_ZERO:if(r===X.FULL_STOP){this.bufferedNumber.appendChar(r),this.state=Q.NUMBER_AFTER_FULL_STOP;continue}if(r===X.LATIN_SMALL_LETTER_E||r===X.LATIN_CAPITAL_LETTER_E){this.bufferedNumber.appendChar(r),this.state=Q.NUMBER_AFTER_E;continue}--n,this.state=Q.START,this.emitNumber();continue;case Q.NUMBER_AFTER_INITIAL_NON_ZERO:if(r>=X.DIGIT_ZERO&&r<=X.DIGIT_NINE){this.bufferedNumber.appendChar(r);continue}if(r===X.FULL_STOP){this.bufferedNumber.appendChar(r),this.state=Q.NUMBER_AFTER_FULL_STOP;continue}if(r===X.LATIN_SMALL_LETTER_E||r===X.LATIN_CAPITAL_LETTER_E){this.bufferedNumber.appendChar(r),this.state=Q.NUMBER_AFTER_E;continue}--n,this.state=Q.START,this.emitNumber();continue;case Q.NUMBER_AFTER_FULL_STOP:if(r>=X.DIGIT_ZERO&&r<=X.DIGIT_NINE){this.bufferedNumber.appendChar(r),this.state=Q.NUMBER_AFTER_DECIMAL;continue}break;case Q.NUMBER_AFTER_DECIMAL:if(r>=X.DIGIT_ZERO&&r<=X.DIGIT_NINE){this.bufferedNumber.appendChar(r);continue}if(r===X.LATIN_SMALL_LETTER_E||r===X.LATIN_CAPITAL_LETTER_E){this.bufferedNumber.appendChar(r),this.state=Q.NUMBER_AFTER_E;continue}--n,this.state=Q.START,this.emitNumber();continue;case Q.NUMBER_AFTER_E:if(r===X.PLUS_SIGN||r===X.HYPHEN_MINUS){this.bufferedNumber.appendChar(r),this.state=Q.NUMBER_AFTER_E_AND_SIGN;continue}case Q.NUMBER_AFTER_E_AND_SIGN:if(r>=X.DIGIT_ZERO&&r<=X.DIGIT_NINE){this.bufferedNumber.appendChar(r),this.state=Q.NUMBER_AFTER_E_AND_DIGIT;continue}break;case Q.NUMBER_AFTER_E_AND_DIGIT:if(r>=X.DIGIT_ZERO&&r<=X.DIGIT_NINE){this.bufferedNumber.appendChar(r);continue}--n,this.state=Q.START,this.emitNumber();continue;case Q.TRUE1:if(r===X.LATIN_SMALL_LETTER_R){this.state=Q.TRUE2;continue}break;case Q.TRUE2:if(r===X.LATIN_SMALL_LETTER_U){this.state=Q.TRUE3;continue}break;case Q.TRUE3:if(r===X.LATIN_SMALL_LETTER_E){this.state=Q.START,this.onToken({token:Z.TRUE,value:!0,offset:this.offset}),this.offset+=3;continue}break;case Q.FALSE1:if(r===X.LATIN_SMALL_LETTER_A){this.state=Q.FALSE2;continue}break;case Q.FALSE2:if(r===X.LATIN_SMALL_LETTER_L){this.state=Q.FALSE3;continue}break;case Q.FALSE3:if(r===X.LATIN_SMALL_LETTER_S){this.state=Q.FALSE4;continue}break;case Q.FALSE4:if(r===X.LATIN_SMALL_LETTER_E){this.state=Q.START,this.onToken({token:Z.FALSE,value:!1,offset:this.offset}),this.offset+=4;continue}break;case Q.NULL1:if(r===X.LATIN_SMALL_LETTER_U){this.state=Q.NULL2;continue}break;case Q.NULL2:if(r===X.LATIN_SMALL_LETTER_L){this.state=Q.NULL3;continue}break;case Q.NULL3:if(r===X.LATIN_SMALL_LETTER_L){this.state=Q.START,this.onToken({token:Z.NULL,value:null,offset:this.offset}),this.offset+=3;continue}break;case Q.SEPARATOR:if(this.separatorIndex+=1,!this.separatorBytes||r!==this.separatorBytes[this.separatorIndex])break;this.separatorIndex===this.separatorBytes.length-1&&(this.state=Q.START,this.onToken({token:Z.SEPARATOR,value:this.separator,offset:this.offset+this.separatorIndex}),this.separatorIndex=0);continue;case Q.BOM:if(r===this.bom[this.bomIndex]){if(this.bomIndex===this.bom.length-1){this.state=Q.START,this.bom=void 0,this.bomIndex=0;continue}this.bomIndex+=1;continue}break;case Q.ENDED:if(r===X.SPACE||r===X.NEWLINE||r===X.CARRIAGE_RETURN||r===X.TAB)continue}throw new Gt(`Unexpected "${String.fromCharCode(r)}" at position "${n}" in state ${Ut(this.state)}`)}if(this.emitPartialTokens)switch(this.state){case Q.TRUE1:case Q.TRUE2:case Q.TRUE3:this.onToken({token:Z.TRUE,value:!0,offset:this.offset,partial:!0});break;case Q.FALSE1:case Q.FALSE2:case Q.FALSE3:case Q.FALSE4:this.onToken({token:Z.FALSE,value:!1,offset:this.offset,partial:!0});break;case Q.NULL1:case Q.NULL2:case Q.NULL3:this.onToken({token:Z.NULL,value:null,offset:this.offset,partial:!0});break;case Q.STRING_DEFAULT:{let e=this.bufferedString.toString();this.onToken({token:Z.STRING,value:e,offset:this.offset,partial:!0});break}case Q.NUMBER_AFTER_INITIAL_ZERO:case Q.NUMBER_AFTER_INITIAL_NON_ZERO:case Q.NUMBER_AFTER_DECIMAL:case Q.NUMBER_AFTER_E_AND_DIGIT:try{this.onToken({token:Z.NUMBER,value:this.parseNumber(this.bufferedNumber.toString()),offset:this.offset,partial:!0})}catch{}}}catch(e){this.error(e)}}emitNumber(){this.onToken({token:Z.NUMBER,value:this.parseNumber(this.bufferedNumber.toString()),offset:this.offset}),this.offset+=this.bufferedNumber.byteLength-1}parseNumber(e){return Number(e)}error(e){this.state!==Q.ENDED&&(this.state=Q.ERROR),this.onError(e)}end(){switch(this.state){case Q.NUMBER_AFTER_INITIAL_ZERO:case Q.NUMBER_AFTER_INITIAL_NON_ZERO:case Q.NUMBER_AFTER_DECIMAL:case Q.NUMBER_AFTER_E_AND_DIGIT:this.state=Q.ENDED,this.emitNumber(),this.onEnd();break;case Q.BOM_OR_START:case Q.START:case Q.ERROR:case Q.SEPARATOR:this.state=Q.ENDED,this.onEnd();break;default:this.error(new Gt(`Tokenizer ended in the middle of a token (state: ${Ut(this.state)}). Either not all the data was received or the data was invalid.`))}}onToken(e){throw new Gt(`Can't emit tokens before the "onToken" callback has been set up.`)}onError(e){throw e}onEnd(){}},qt;(function(e){e[e.OBJECT=0]=`OBJECT`,e[e.ARRAY=1]=`ARRAY`})(qt||={});var $;(function(e){e[e.VALUE=0]=`VALUE`,e[e.KEY=1]=`KEY`,e[e.COLON=2]=`COLON`,e[e.COMMA=3]=`COMMA`,e[e.ENDED=4]=`ENDED`,e[e.ERROR=5]=`ERROR`,e[e.SEPARATOR=6]=`SEPARATOR`})($||={});function Jt(e){return[`VALUE`,`KEY`,`COLON`,`COMMA`,`ENDED`,`ERROR`,`SEPARATOR`][e]}var Yt={paths:void 0,keepStack:!0,separator:void 0,emitPartialValues:!1},Xt=class e extends Error{constructor(t){super(t),Object.setPrototypeOf(this,e.prototype)}},Zt=class{constructor(e){this.state=$.VALUE,this.mode=void 0,this.key=void 0,this.value=void 0,this.stack=[],e=Object.assign(Object.assign({},Yt),e),e.paths&&(this.paths=e.paths.map(e=>{if(e===void 0||e===`$*`)return;if(!e.startsWith(`$`))throw new Xt(`Invalid selector "${e}". Should start with "$".`);let t=e.split(`.`).slice(1);if(t.includes(``))throw new Xt(`Invalid selector "${e}". ".." syntax not supported.`);return t})),this.keepStack=e.keepStack||!1,this.separator=e.separator,e.emitPartialValues||(this.emitPartial=()=>{})}shouldEmit(){return this.paths?this.paths.some(e=>{if(e===void 0)return!0;if(e.length!==this.stack.length)return!1;for(let t=0;t<e.length-1;t++){let n=e[t],r=this.stack[t+1].key;if(n!==`*`&&n!==r?.toString())return!1}let t=e[e.length-1];return t===`*`?!0:t===this.key?.toString()}):!0}push(){this.stack.push({key:this.key,value:this.value,mode:this.mode,emit:this.shouldEmit()})}pop(){let e=this.value,t;({key:this.key,value:this.value,mode:this.mode,emit:t}=this.stack.pop()),this.state=this.mode===void 0?$.VALUE:$.COMMA,this.emit(e,t)}emit(e,t){!this.keepStack&&this.value&&this.stack.every(e=>!e.emit)&&delete this.value[this.key],t&&this.onValue({value:e,key:this.key,parent:this.value,stack:this.stack}),this.stack.length===0&&(this.separator?this.state=$.SEPARATOR:this.separator===void 0&&this.end())}emitPartial(e){if(this.shouldEmit()){if(this.state===$.KEY){this.onValue({value:void 0,key:e,parent:this.value,stack:this.stack,partial:!0});return}this.onValue({value:e,key:this.key,parent:this.value,stack:this.stack,partial:!0})}}get isEnded(){return this.state===$.ENDED}write({token:e,value:t,partial:n}){try{if(n){this.emitPartial(t);return}if(this.state===$.VALUE){if(e===Z.STRING||e===Z.NUMBER||e===Z.TRUE||e===Z.FALSE||e===Z.NULL){this.mode===qt.OBJECT?(this.value[this.key]=t,this.state=$.COMMA):this.mode===qt.ARRAY&&(this.value.push(t),this.state=$.COMMA),this.emit(t,this.shouldEmit());return}if(e===Z.LEFT_BRACE){if(this.push(),this.mode===qt.OBJECT)this.value=this.value[this.key]={};else if(this.mode===qt.ARRAY){let e={};this.value.push(e),this.value=e}else this.value={};this.mode=qt.OBJECT,this.state=$.KEY,this.key=void 0,this.emitPartial();return}if(e===Z.LEFT_BRACKET){if(this.push(),this.mode===qt.OBJECT)this.value=this.value[this.key]=[];else if(this.mode===qt.ARRAY){let e=[];this.value.push(e),this.value=e}else this.value=[];this.mode=qt.ARRAY,this.state=$.VALUE,this.key=0,this.emitPartial();return}if(this.mode===qt.ARRAY&&e===Z.RIGHT_BRACKET&&this.value.length===0){this.pop();return}}if(this.state===$.KEY){if(e===Z.STRING){this.key=t,this.state=$.COLON,this.emitPartial();return}if(e===Z.RIGHT_BRACE&&Object.keys(this.value).length===0){this.pop();return}}if(this.state===$.COLON&&e===Z.COLON){this.state=$.VALUE;return}if(this.state===$.COMMA){if(e===Z.COMMA){if(this.mode===qt.ARRAY){this.state=$.VALUE,this.key+=1;return}if(this.mode===qt.OBJECT){this.state=$.KEY;return}}if(e===Z.RIGHT_BRACE&&this.mode===qt.OBJECT||e===Z.RIGHT_BRACKET&&this.mode===qt.ARRAY){this.pop();return}}if(this.state===$.SEPARATOR&&e===Z.SEPARATOR&&t===this.separator){this.state=$.VALUE;return}if(e===Z.SEPARATOR&&this.state!==$.SEPARATOR&&Array.from(t).map(e=>e.charCodeAt(0)).every(e=>e===X.SPACE||e===X.NEWLINE||e===X.CARRIAGE_RETURN||e===X.TAB))return;throw new Xt(`Unexpected ${Z[e]} (${JSON.stringify(t)}) in state ${Jt(this.state)}`)}catch(e){this.error(e)}}error(e){this.state!==$.ENDED&&(this.state=$.ERROR),this.onError(e)}end(){this.state!==$.VALUE&&this.state!==$.SEPARATOR||this.stack.length>0?this.error(Error(`Parser ended in mid-parsing (state: ${Jt(this.state)}). Either not all the data was received or the data was invalid.`)):(this.state=$.ENDED,this.onEnd())}onValue(e){throw new Xt(`Can't emit data before the "onValue" callback has been set up.`)}onError(e){throw e}onEnd(){}},Qt=class{constructor(e={}){this.tokenizer=new Kt(e),this.tokenParser=new Zt(e),this.tokenizer.onToken=this.tokenParser.write.bind(this.tokenParser),this.tokenizer.onEnd=()=>{this.tokenParser.isEnded||this.tokenParser.end()},this.tokenParser.onError=this.tokenizer.error.bind(this.tokenizer),this.tokenParser.onEnd=()=>{this.tokenizer.isEnded||this.tokenizer.end()}}get isEnded(){return this.tokenizer.isEnded&&this.tokenParser.isEnded}write(e){this.tokenizer.write(e)}end(){this.tokenizer.end()}set onToken(e){this.tokenizer.onToken=t=>{e(t),this.tokenParser.write(t)}}set onValue(e){this.tokenParser.onValue=e}set onError(e){this.tokenizer.onError=e}set onEnd(e){this.tokenParser.onEnd=()=>{this.tokenizer.isEnded||this.tokenizer.end(),e.call(this.tokenParser)}}};function $t(e){let t=[];if(e.oldText!==``)for(let n of e.oldText.split(`
|
|
34
|
+
`))t.push({kind:`deletion`,text:`- ${n}`});if(e.newText!==``)for(let n of e.newText.split(`
|
|
35
|
+
`))t.push({kind:`addition`,text:`+ ${n}`});return t}function en(){let e=[],t=!1,n=!1,r=t=>{for(;e.length<=t;)e.push({oldText:``,newText:``});return e[t]},i=null;try{i=new Qt({emitPartialTokens:!0,emitPartialValues:!0,paths:[`$.edits.*.oldText`,`$.edits.*.newText`],keepStack:!1})}catch{t=!0}return i&&(i.onValue=e=>{try{let t=e.key;if(t!==`oldText`&&t!==`newText`)return;let n;for(let t of e.stack)if(typeof t.key==`number`){n=t.key;break}if(n===void 0)return;let i=typeof e.value==`string`?e.value:``;r(n)[t]=i}catch{t=!0}},i.onError=()=>{t=!0}),{get entries(){return e},write(e){if(!(t||n||!i))try{i.write(e)}catch{t=!0}},dispose(){if(!n){n=!0;try{i?.end()}catch{}i=null}}}}var tn=f(`<div class="edit-diff-gap svelte-1i84oek"></div>`),nn=f(`<span> </span> `,1),rn=f(`<!> <pre class="edit-diff svelte-1i84oek"><code class="hljs language-diff svelte-1i84oek"></code></pre>`,1);function an(n,r){E(r,!0);var a=u();h(w(a),17,()=>r.entries,i,(n,r,a)=>{let o=F(()=>$t(g(r)));var s=rn(),c=w(s),u=e=>{l(e,tn())};d(c,e=>{a>0&&e(u)});var f=I(c,2),p=e(f);h(p,21,()=>g(o),i,(n,r,i)=>{var a=nn(),s=w(a),c=e(s,!0);B(s);var u=I(s,1,!0);v(()=>{z(s,1,`hljs-${g(r).kind}`,`svelte-1i84oek`),t(c,g(r).text),t(u,i<g(o).length-1?`
|
|
36
|
+
`:``)}),l(n,a)}),B(p),B(f),l(n,s)}),l(n,a),M()}function on(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`}]];U(e,P({name:`wrench`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}function sn(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m9 12 2 2 4-4`}]];U(e,P({name:`circle-check`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}function cn(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`m9 9 6 6`}]];U(e,P({name:`circle-x`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}var ln=f(`<span class="tool-detail svelte-1j1om46"> </span>`),un=f(`<span class="tool-status svelte-1j1om46">running…</span>`),dn=f(`<span class="tool-status svelte-1j1om46">completed</span>`),fn=f(`<div class="tool-section svelte-1j1om46"><!></div>`),pn=f(`<div class="tool-section svelte-1j1om46"><div class="tool-section-label svelte-1j1om46">Arguments</div> <!></div>`),mn=f(`<div class="tool-section svelte-1j1om46"><div class="tool-section-label svelte-1j1om46"> </div> <!></div>`),hn=f(`<div class="tool-content svelte-1j1om46"><!> <!></div>`),gn=f(`<div><button class="tool-header svelte-1j1om46"><!> <!> <span class="tool-name svelte-1j1om46"> </span> <!> <!></button> <!></div>`);function _n(n,r){E(r,!0);let i=y(r,`streaming`,3,!1),a=y(r,`inProgress`,3,!1),o=y(r,`partialResult`,3,``),s=y(r,`result`,3,void 0),c=y(r,`isError`,3,!1),u=A(!1),f=F(()=>r.content.toolName??`unknown`),p=F(()=>r.content.type===`tool_result`),m=F(()=>g(p)||s()!==void 0),h=F(()=>g(f)===`edit`),b=A(void 0),x=0,S=A(O([]));_(()=>{if(!g(h))return;if(!i()){g(b)&&(g(b).dispose(),T(b,void 0),x=0);return}let e=r.content.text??``;e&&(g(b)||(T(b,en(),!0),x=0),e.length>x&&(g(b).write(e.slice(x)),x=e.length),T(S,g(b).entries.map(e=>({oldText:e.oldText,newText:e.newText})),!0))}),_(()=>{g(h)&&(i()||a()?T(u,!0):T(u,!1))});let C=F(()=>g(h)&&r.content.args?r.content.args.edits??[]:void 0),w=F(()=>g(h)?g(C)??g(S):[]);function D(e,t){let n=e,r=t.endsWith(`/`)?t.slice(0,-1):t;if(r&&n.startsWith(r+`/`)&&(n=n.slice(r.length+1)),n.length>80){let e=n.split(`/`);for(;e.length>1&&e.join(`/`).length>80;)e.shift();n=`…/`+e.join(`/`)}return n}let k=F(()=>{let e=r.content.args;if(!e||typeof e!=`object`)return``;let t=e,n=g(f);return(n===`read`||n===`write`||n===`edit`)&&typeof t.path==`string`?D(t.path,G.viewed?.folderPath??``):n===`bash`&&typeof t.command==`string`?t.command.replace(/[\n\r]+/g,` `).replace(/\s+/g,` `).trim():``});function j(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}let N=F(()=>i()&&!r.content.args?r.content.text??``:j(r.content.args)),P=F(()=>g(p)?j(r.content.result):s()===void 0?o():j(s()));var ee=gn();let te;var L=e(ee),R=e(L);{let e=F(()=>g(u)?`rotate-90`:``);re(R,{get class(){return`shrink-0 transition-transform duration-150 ${g(e)??``}`},size:14})}var H=I(R,2),ne=e=>{pe(e,{size:14,class:`shrink-0 animate-spin`})},ie=e=>{cn(e,{size:14,class:`tool-icon-error shrink-0`})},ae=e=>{sn(e,{size:14,class:`shrink-0`})},oe=e=>{on(e,{size:14,class:`shrink-0`})};d(H,e=>{a()?e(ne):g(m)&&c()?e(ie,1):g(m)?e(ae,2):e(oe,-1)});var se=I(H,2),U=e(se,!0);B(se);var ce=I(se,2),le=n=>{var r=ln(),i=e(r,!0);B(r),v(()=>t(i,g(k))),l(n,r)};d(ce,e=>{g(k)&&e(le)});var ue=I(ce,2),de=e=>{l(e,un())},fe=e=>{l(e,dn())};d(ue,e=>{a()?e(de):g(m)&&e(fe,1)}),B(L);var me=I(L,2),he=n=>{var r=hn(),o=e(r),s=t=>{var n=fn();an(e(n),{get entries(){return g(w)}}),B(n),l(t,n)},c=t=>{var n=pn(),r=I(e(n),2);{let e=F(()=>i()&&!g(m));Rt(r,{get text(){return g(N)},get streaming(){return g(e)}})}B(n),l(t,n)};d(o,e=>{g(h)&&g(w).length>0?e(s):g(N)&&e(c,1)});var u=I(o,2),f=n=>{var r=mn(),i=e(r),o=e(i,!0);B(i),Rt(I(i,2),{get text(){return g(P)},get streaming(){return a()}}),B(r),v(()=>t(o,a()?`Output (streaming)`:`Result`)),l(n,r)};d(u,e=>{g(P)&&e(f)}),B(r),l(n,r)};d(me,e=>{g(u)&&e(he)}),B(ee),v(()=>{te=z(ee,1,`tool-block svelte-1j1om46`,null,te,{"tool-result":g(p),"tool-completed":g(m),"tool-error":c(),"in-progress":a()}),t(U,g(f))}),V(`click`,L,()=>T(u,!g(u))),l(n,ee),M()}m([`click`]);function vn(e){let t=e;return t=t.replace(/^```(\w*)\n([\s\S]*?)^```/gm,(e,t,n)=>{let r=n?n.replace(/\n$/,``).split(`
|
|
37
|
+
`):[],i=n.trim()===``?0:r.length;return t?`Code block, ${i} lines, ${t}.`:`Code block, ${i} lines.`}),t=t.replace(/<[^>]+>/g,``),t=t.replace(/!\[([^\]]*)\]\([^)]*\)/g,`$1`),t=t.replace(/\[([^\]]*)\]\([^)]*\)/g,`$1`),t=t.replace(/^#{1,6}\s+/gm,``),t=t.replace(/^(?:---|\*\*\*|___)$/gm,``),t=t.replace(/(?:^\|.+\|[ \t]*(?:\n|$))+/gm,e=>{let t=e.trim().split(`
|
|
38
|
+
`).map(e=>e.replace(/^\|/,``).replace(/\|$/,``).split(`|`).map(e=>e.trim()));if(t.length<2)return``;let n=t[0];if(!t[1].every(e=>/^[:-][-:]*$/.test(e)))return``;let r=t.slice(2);return r.length===0?``:r.map(e=>n.map((t,n)=>`${t}: ${e[n]??``}.`).join(` `)).join(`
|
|
39
|
+
`)+`
|
|
40
|
+
`}),t=t.replace(/^([-*+]|\d+\.)\s+(.*)/gm,(e,t,n)=>{let r=n.trimEnd();return r&&!/[.!?:]$/.test(r)?r+`.`:r}),t=t.replace(/\*{3}(.*?)\*{3}/g,`$1`),t=t.replace(/\*{2}(.*?)\*{2}/g,`$1`),t=t.replace(/~~(.*?)~~/g,`$1`),t=t.replace(/`([^`]+)`/g,`$1`),t=t.replace(/(?<!\w)\*([^*]+)\*(?!\w)/g,`$1`),t=t.replace(/(?<!\w)_([^_]+)_(?!\w)/g,`$1`),t=t.replace(/\n{3,}/g,`
|
|
41
|
+
|
|
42
|
+
`),t=t.trim(),/^\s*$/.test(t)?``:t}var yn=O({playingKey:null}),bn=0;function xn(e,t){speechSynthesis.cancel(),bn++,yn.playingKey=null;let n=e.split(`
|
|
43
|
+
|
|
44
|
+
`).map(e=>e.trim()).filter(e=>e.length>0);if(n.length===0)return;yn.playingKey=t;let r=bn,i=n.length;for(let e=0;e<i;e++){let t=new SpeechSynthesisUtterance(n[e]);t.onend=()=>{r===bn&&e===i-1&&(yn.playingKey=null)},t.onerror=()=>{r===bn&&Sn()},speechSynthesis.speak(t)}}function Sn(){speechSynthesis.cancel(),bn++,yn.playingKey=null}function Cn(e,t){if(yn.playingKey===e)Sn();else{let n=vn(t);n&&xn(n,e)}}function wn(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`}]];U(e,P({name:`volume-2`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}function Tn(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M16 9a5 5 0 0 1 .95 2.293`}],[`path`,{d:`M19.364 5.636a9 9 0 0 1 1.889 9.96`}],[`path`,{d:`m2 2 20 20`}],[`path`,{d:`m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11`}],[`path`,{d:`M9.828 4.172A.686.686 0 0 1 11 4.657v.686`}]];U(e,P({name:`volume-off`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}var En=f(`<button class="tool-btn svelte-4obvr9"><!></button>`);function Dn(t,n){E(n,!0);let r=F(()=>yn.playingKey===n.messageKey);var i=En(),a=e(i),o=e=>{Tn(e,{size:14})},s=e=>{wn(e,{size:14})};d(a,e=>{g(r)?e(o):e(s,-1)}),B(i),v(()=>j(i,`title`,g(r)?`Stop audio`:`Read aloud`)),V(`click`,i,()=>Cn(n.messageKey,n.textContent)),l(t,i),M()}m([`click`]);function On(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]];U(e,P({name:`copy`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}var kn=f(`<button class="tool-btn svelte-1kw4msz"><!></button>`);function An(t,n){let r=y(n,`title`,3,`Copy message`),i=A(!1),a;async function o(){try{await navigator.clipboard.writeText(n.text),T(i,!0),a&&clearTimeout(a),a=setTimeout(()=>T(i,!1),1200)}catch{}}var s=kn(),c=e(s),u=e=>{Oe(e,{size:14})},f=e=>{On(e,{size:14})};d(c,e=>{g(i)?e(u):e(f,-1)}),B(s),v(()=>{j(s,`title`,r()),j(s,`aria-label`,r())}),V(`click`,s,o),l(t,s)}m([`click`]);function jn(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`}],[`circle`,{cx:`12`,cy:`7`,r:`4`}]];U(e,P({name:`user`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}function Mn(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`path`,{d:`M12 8V4H8`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`}],[`path`,{d:`M2 14h2`}],[`path`,{d:`M20 14h2`}],[`path`,{d:`M15 13v2`}],[`path`,{d:`M9 13v2`}]];U(e,P({name:`bot`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}function Nn(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`circle`,{cx:`12`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`}],[`path`,{d:`M12 12v3`}]];U(e,P({name:`git-fork`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}function Pn(e,t){E(t,!0);let n=k(t,[`$$slots`,`$$events`,`$$legacy`]),r=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`}]];U(e,P({name:`circle-slash`},()=>n,{get iconNode(){return r},children:(e,n)=>{var r=u();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}var Fn=f(`<div class="tool-menu svelte-1uqoiy7"><button class="fork-btn svelte-1uqoiy7" title="Fork from this message"><!></button></div>`),In=f(`<div class="user-icon-col svelte-1uqoiy7"><button class="message-icon user-icon svelte-1uqoiy7"><!></button> <!></div>`),Ln=f(`<div class="message-icon user-icon svelte-1uqoiy7"><!></div>`),Rn=f(`<span class="skill-line-count svelte-1uqoiy7"> </span>`),zn=f(`<button class="skill-toggle svelte-1uqoiy7">Show more…</button>`),Bn=f(`<button class="skill-toggle svelte-1uqoiy7">Show less</button>`),Vn=f(`<div class="user-body skill-after svelte-1uqoiy7"><div class="user-text svelte-1uqoiy7"> </div></div>`),Hn=f(`<div class="skill-body svelte-1uqoiy7"><button class="skill-header svelte-1uqoiy7"><!> <span class="skill-label svelte-1uqoiy7"> </span> <!></button> <div class="skill-content svelte-1uqoiy7"><div><!></div> <!></div></div> <!>`,1),Un=f(`<div class="user-body svelte-1uqoiy7"><div class="user-text svelte-1uqoiy7"> </div></div>`),Wn=f(`<div class="message user-message svelte-1uqoiy7"><!> <div class="message-body svelte-1uqoiy7"><!></div></div>`),Gn=f(`<div class="message aborted-indicator text-muted-foreground flex items-center gap-2 px-2 py-1 text-xs italic svelte-1uqoiy7"><!> <span>interrupted</span></div>`),Kn=f(`<div class="tool-menu svelte-1uqoiy7"><!> <!></div>`),qn=f(`<button class="message-icon assistant-icon svelte-1uqoiy7"><!></button> <!>`,1),Jn=f(`<div class="message-icon assistant-icon svelte-1uqoiy7"><!></div>`),Yn=f(`<div class="text-muted-foreground mt-1 flex items-center gap-1.5 text-xs italic opacity-70"><!> <span>interrupted</span></div>`),Xn=f(`<div><div class="assistant-icon-col svelte-1uqoiy7"><!></div> <div class="message-body svelte-1uqoiy7"><!> <!></div></div>`),Zn=f(`<div class="custom-header svelte-1uqoiy7"><span class="custom-label svelte-1uqoiy7">[custom]</span></div> <div class="custom-content svelte-1uqoiy7"><!></div>`,1),Qn=f(`<span class="custom-line-count svelte-1uqoiy7"> </span>`),$n=f(`<button class="custom-toggle svelte-1uqoiy7">Show more…</button>`),er=f(`<button class="custom-toggle svelte-1uqoiy7">Show less</button>`),tr=f(`<button class="custom-header svelte-1uqoiy7"><!> <span class="custom-label svelte-1uqoiy7"> </span> <!></button> <div class="custom-content svelte-1uqoiy7"><div><!></div> <!></div>`,1),nr=f(`<div class="message custom-message svelte-1uqoiy7"><div class="custom-body svelte-1uqoiy7"><!></div></div>`),rr=f(`<div class="message system-message svelte-1uqoiy7"><div class="message-body svelte-1uqoiy7"><div class="system-text svelte-1uqoiy7"> </div></div></div>`);function ir(n,r){E(r,!0);let a=y(r,`streaming`,3,!1),o=y(r,`messageKey`,3,``),s=A(!1),c=A(!1),f=A(!1),p=A(!1),m=F(()=>r.message.role===`assistant`&&!a()&&r.message.content.some(e=>e.type===`text`&&e.text)),_=F(()=>r.message.role===`assistant`&&r.message.aborted===!0),b=F(()=>g(_)&&r.message.content.every(e=>e.type===`text`&&(!e.text||e.text.length===0)||e.type!==`text`&&e.type!==`tool_call`&&e.type!==`tool_result`&&e.type!==`thinking`)),x=F(()=>r.message.content.filter(e=>e.type===`text`&&e.text).map(e=>e.text).join(`
|
|
45
|
+
|
|
46
|
+
`)),S=F(()=>r.message.role===`assistant`&&!a()&&g(x).length>0);function C(e){return e.content.filter(e=>e.type===`text`&&e.text).map(e=>e.text).join(`
|
|
47
|
+
`)}function D(e){let t=e.match(/^<skill\s+name="([^"]+)"[^>]*>\n?([\s\S]*?)\n?<\/skill>\s*([\s\S]*)$/);return t?{name:t[1],body:t[2],after:t[3].trim()}:null}let O=F(()=>`entryId`in r.message&&typeof r.message.entryId==`string`?r.message.entryId:void 0),k=F(()=>C(r.message)),j=F(()=>r.message.role===`user`?D(g(k)):null),N=F(()=>g(j)?g(j).body.split(`
|
|
48
|
+
`):[]),P=F(()=>g(N).length>3),ee=F(()=>C(r.message)),te=F(()=>g(ee).split(`
|
|
49
|
+
`)),R=F(()=>g(te).length>10);var H=u(),ne=w(H),ie=e=>{},ae=n=>{var i=Wn(),a=e(i),o=t=>{var n=In(),i=e(n);jn(e(i),{size:16}),B(i);var a=I(i,2),o=t=>{var n=Fn(),i=e(n);Nn(e(i),{size:16}),B(i),B(n),V(`click`,i,()=>{r.onfork?.(g(O)),T(s,!1)}),l(t,n)};d(a,e=>{g(s)&&e(o)}),B(n),V(`click`,i,()=>T(s,!g(s))),l(t,n)},c=t=>{var n=Ln();jn(e(n),{size:16}),B(n),l(t,n)};d(a,e=>{g(O)?e(o):e(c,-1)});var p=I(a,2),m=e(p),h=n=>{var r=Hn(),i=w(r),a=e(i),o=e(a),s=e=>{var t=u(),n=w(t),r=e=>{be(e,{size:14})},i=e=>{re(e,{size:14})};d(n,e=>{g(f)?e(r):e(i,-1)}),l(e,t)};d(o,e=>{g(P)&&e(s)});var c=I(o,2),p=e(c);B(c);var m=I(c,2),h=n=>{var r=Rn(),i=e(r);B(r),v(()=>t(i,`${g(N).length??``} lines`)),l(n,r)};d(m,e=>{g(P)&&e(h)}),B(a);var _=I(a,2),y=e(_);let b;Ot(e(y),{get text(){return g(j).body}}),B(y);var x=I(y,2),S=e=>{var t=zn();V(`click`,t,()=>T(f,!0)),l(e,t)},C=e=>{var t=Bn();V(`click`,t,()=>T(f,!1)),l(e,t)};d(x,e=>{g(P)&&!g(f)?e(S):g(P)&&g(f)&&e(C,1)}),B(_),B(i);var E=I(i,2),D=n=>{var r=Vn(),i=e(r),a=e(i,!0);B(i),B(r),v(()=>t(a,g(j).after)),l(n,r)};d(E,e=>{g(j).after&&e(D)}),v(()=>{t(p,`[skill: ${g(j).name??``}]`),b=z(y,1,`skill-text-container svelte-1uqoiy7`,null,b,{"skill-text-collapsed":g(P)&&!g(f),"skill-text-expanded":g(P)&&g(f)})}),V(`click`,a,()=>T(f,!g(f))),l(n,r)},_=n=>{var r=Un(),i=e(r),a=e(i,!0);B(i),B(r),v(()=>t(a,g(k))),l(n,r)};d(m,e=>{g(j)?e(h):e(_,-1)}),B(p),B(i),l(n,i)},oe=t=>{let n=F(()=>G.viewed?.toolExecutions??{});var a=u(),s=w(a),c=t=>{var n=Gn();Pn(e(n),{size:12}),L(2),B(n),l(t,n)},f=t=>{var a=Xn(),s=e(a),c=e(s),f=t=>{var n=qn(),r=w(n);Mn(e(r),{size:16}),B(r);var i=I(r,2),a=t=>{var n=Kn(),r=e(n),i=e=>{Dn(e,{get messageKey(){return o()},get textContent(){return g(x)}})};d(r,e=>{g(m)&&e(i)}),An(I(r,2),{get text(){return g(x)},title:`Copy message`}),B(n),l(t,n)};d(i,e=>{g(p)&&e(a)}),V(`click`,r,()=>T(p,!g(p))),l(t,n)},y=t=>{var n=Jn();Mn(e(n),{size:16}),B(n),l(t,n)};d(c,e=>{g(S)?e(f):e(y,-1)}),B(s);var b=I(s,2),C=e(b);h(C,17,()=>r.message.content,i,(e,t)=>{let r=F(()=>g(t).streaming??!1);var i=u(),a=w(i),o=e=>{{let n=F(()=>g(t).text??``);Ot(e,{get text(){return g(n)},get streaming(){return g(r)}})}},s=e=>{{let n=F(()=>g(t).text??``);Ft(e,{get text(){return g(n)},get streaming(){return g(r)}})}},c=e=>{let i=F(()=>g(t).toolCallId?g(n)[g(t).toolCallId]:void 0);{let n=F(()=>g(i)?.status===`running`),a=F(()=>g(i)?.partialResult??``),o=F(()=>g(i)?.status===`completed`?g(i).result:void 0),s=F(()=>g(i)?.isError);_n(e,{get content(){return g(t)},get streaming(){return g(r)},get inProgress(){return g(n)},get partialResult(){return g(a)},get result(){return g(o)},get isError(){return g(s)}})}},f=e=>{_n(e,{get content(){return g(t)}})};d(a,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,i)});var E=I(C,2),D=t=>{var n=Yn();Pn(e(n),{size:12}),L(2),B(n),l(t,n)};d(E,e=>{g(_)&&e(D)}),B(b),B(a),v(()=>z(a,1,`message assistant-message ${g(_)?`aborted`:``}`,`svelte-1uqoiy7`)),l(t,a)};d(s,e=>{g(b)?e(c):e(f,-1)}),l(t,a)},se=n=>{var i=nr(),o=e(i),s=e(o),f=t=>{var n=Zn(),r=I(w(n),2);Rt(e(r),{get text(){return g(ee)},get streaming(){return a()},accent:`purple`}),B(r),l(t,n)},p=n=>{var i=tr(),a=w(i),o=e(a),s=e=>{var t=u(),n=w(t),r=e=>{be(e,{size:14})},i=e=>{re(e,{size:14})};d(n,e=>{g(c)?e(r):e(i,-1)}),l(e,t)};d(o,e=>{g(R)&&e(s)});var f=I(o,2),p=e(f);B(f);var m=I(f,2),h=n=>{var r=Qn(),i=e(r);B(r),v(()=>t(i,`${g(te).length??``} lines`)),l(n,r)};d(m,e=>{g(R)&&e(h)}),B(a);var _=I(a,2),y=e(_);let b;Ot(e(y),{get text(){return g(ee)}}),B(y);var x=I(y,2),S=e=>{var t=$n();V(`click`,t,()=>T(c,!0)),l(e,t)},C=e=>{var t=er();V(`click`,t,()=>T(c,!1)),l(e,t)};d(x,e=>{g(R)&&!g(c)?e(S):g(R)&&g(c)&&e(C,1)}),B(_),v(()=>{t(p,`[${(`customType`in r.message?r.message.customType??`custom`:`custom`)??``}]`),b=z(y,1,`custom-text-container svelte-1uqoiy7`,null,b,{"custom-text-collapsed":g(R)&&!g(c),"custom-text-expanded":g(R)&&g(c)})}),V(`click`,a,()=>T(c,!g(c))),l(n,i)};d(s,e=>{a()?e(f):e(p,-1)}),B(o),B(i),l(n,i)},U=n=>{var i=rr(),a=e(i),o=e(a),s=e(o,!0);B(o),B(a),B(i),v(e=>t(s,e),[()=>C(r.message)]),l(n,i)};d(ne,e=>{r.message.role===`toolResult`?e(ie):r.message.role===`user`?e(ae,1):r.message.role===`assistant`?e(oe,2):r.message.role===`custom`?e(se,3):e(U,-1)}),l(n,H),M()}m([`click`]);var ar=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 or(e){l(e,ar())}function sr(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();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}function cr(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();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}var lr=f(`<div class="empty-state svelte-qha2j"><p>No messages yet</p></div>`),ur=f(`<div class="streaming-indicator-row svelte-qha2j"><!></div>`),dr=f(`<div class="last-activity svelte-qha2j"> </div>`),fr=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>`),pr=f(`<!> <!>`,1),mr=f(`<!> <!> <!> <!>`,1),hr=f(`<!> <!>`,1),gr=f(`<button class="scroll-to-bottom svelte-qha2j"><!></button>`),_r=f(`<div class="message-list-wrapper svelte-qha2j"><div class="message-list svelte-qha2j"><div><!> <!> <!> <!></div></div> <!> <!> <!></div>`);function vr(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(tt(a,o)){let e=nt(a,o,await m());e!==null&&we(i,e)}else o&&we(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&&we(e.sessionId,i.join(`
|
|
50
|
+
`))}}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 ee=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}),te=F(()=>{let e=G.viewed;return e?.isStreaming?!e.streamingMessage||e.streamingMessage.content.length===0:!1});_(()=>{g(ee).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 R(){g(k)&&(T(N,!0),g(k).scrollTop=g(k).scrollHeight)}let H=A(O(Date.now())),re=setInterval(()=>{T(H,Date.now(),!0)},15e3);D(()=>clearInterval(re));let ae=F(()=>{g(H);let e=G.viewed;return!e?.lastBotActivityTimestamp||e.isStreaming?null:fe(e.lastBotActivityTimestamp)});var oe=_r(),se=e(oe),U=e(se);let pe;var me=e(U),he=e=>{l(e,lr())};d(me,e=>{g(ee).length===0&&!G.viewed?.isStreaming&&e(he)});var ge=I(me,2);h(ge,17,()=>g(ee),e=>e.key,(e,t)=>{ir(e,{get message(){return g(t).message},get streaming(){return g(t).streaming},get messageKey(){return g(t).key},onfork:x})});var _e=I(ge,2),ve=t=>{var n=ur();or(e(n),{}),B(n),l(t,n)};d(_e,e=>{g(te)&&e(ve)});var ye=I(_e,2),be=n=>{var r=dr(),i=e(r,!0);B(r),v(()=>t(i,g(ae))),l(n,r)};d(ye,e=>{g(ae)&&e(be)}),B(U),B(se),S(se,e=>T(k,e),()=>g(k));var xe=I(se,2),Se=t=>{var n=fr();cr(e(n),{class:`size-5`}),B(n),V(`pointerdown`,n,e=>e.preventDefault()),V(`click`,n,C),l(t,n)};d(xe,e=>{G.viewed?.isStreaming&&!s()&&e(Se)});var Ce=I(xe,2);r(Ce,()=>de,(e,t)=>{t(e,{get open(){return g(f)},onOpenChange:e=>{e||b(`ignore`)},children:(e,t)=>{var n=u();r(w(n),()=>ue,(e,t)=>{t(e,{showCloseButton:!1,children:(e,t)=>{var n=hr(),i=w(n);r(i,()=>ne,(e,t)=>{t(e,{children:(e,t)=>{var n=pr(),i=w(n);r(i,()=>le,(e,t)=>{t(e,{children:(e,t)=>{L(),l(e,c(`Draft conflict`))},$$slots:{default:!0}})}),r(I(i,2),()=>ie,(e,t)=>{t(e,{children:(e,t)=>{L(),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),()=>Ee,(e,t)=>{t(e,{children:(e,t)=>{var n=mr(),r=w(n);ce(r,{variant:`outline`,onclick:()=>b(`ignore`),children:(e,t)=>{L(),l(e,c(`Ignore`))},$$slots:{default:!0}});var i=I(r,2);ce(i,{variant:`outline`,onclick:()=>b(`prepend`),children:(e,t)=>{L(),l(e,c(`Prepend`))},$$slots:{default:!0}});var a=I(i,2);ce(a,{variant:`outline`,onclick:()=>b(`append`),children:(e,t)=>{L(),l(e,c(`Append`))},$$slots:{default:!0}}),ce(I(a,2),{onclick:()=>b(`replace`),children:(e,t)=>{L(),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 Te=I(Ce,2),De=t=>{var n=gr();sr(e(n),{size:18}),B(n),V(`click`,n,R),l(t,n)};d(Te,e=>{g(j)&&e(De)}),B(oe),v(()=>pe=z(U,1,`message-list-inner svelte-qha2j`,null,pe,{"pointer-events-none":s()})),n(`scroll`,se,P),l(i,oe),M()}m([`pointerdown`,`click`]);var yr=f(`<span class="panel-title-meta svelte-j9tcnn"> </span>`),br=f(`<div class="panel-description svelte-j9tcnn"> </div>`),xr=f(`<span class="option-desc svelte-j9tcnn"> </span>`),Sr=f(`<button><span class="option-number svelte-j9tcnn"> </span> <span class="option-body svelte-j9tcnn"><span class="option-label svelte-j9tcnn"> </span> <!></span></button>`),Cr=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),wr=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>`),Tr=f(`<div class="panel-description svelte-j9tcnn"> </div>`),Er=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),Dr=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 Or(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=Be(),s=A(-1),f=A(!1),p=A(void 0),m=F(()=>{let e=G.viewedSessionId;return o.all.find(t=>Le.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=wr();let u;var _=e(c),b=e(_),C=e(b),E=I(C),k=n=>{var r=yr(),i=e(r);B(r),v(()=>t(i,`· ${g(o).length??``} option${g(o).length===1?``:`s`}`)),l(n,r)};d(E,e=>{g(f)&&e(k)}),B(b);var A=I(b,2),M=e(A),N=e(M,!0);B(M);var P=I(M,2);B(A),B(_);var ee=I(_,2),te=r=>{var i=Cr(),a=w(i),c=n=>{var r=br(),i=e(r,!0);B(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=Sr();let u;var f=e(c),p=e(f,!0);B(f);var m=I(f,2),h=e(m),_=e(h,!0);B(h);var y=I(h,2),b=n=>{var r=xr(),i=e(r,!0);B(r),v(()=>t(i,g(o).description)),l(n,r)};d(y,e=>{g(o).description&&e(b)}),B(m),B(c),v(()=>{u=z(c,1,`select-option svelte-j9tcnn`,null,u,{highlighted:g(a)===g(s)}),t(p,g(a)+1),t(_,g(o).label)}),V(`click`,c,()=>x(g(i).value)),n(`mouseenter`,c,()=>T(s,g(a),!0)),l(r,c)}),B(u);var f=I(u,2),p=e(f),_=I(e(p),2),y=e(_,!0);B(_),L(),B(p),L(12),B(f),v(()=>t(y,g(o).length)),l(r,i)};d(ee,e=>{g(f)||e(te)}),B(c),S(c,e=>T(p,e),()=>g(p)),v(()=>{u=z(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)?`▾`:`▴`)}),V(`keydown`,c,e=>O(e,g(o))),V(`click`,M,y),V(`click`,P,D),l(r,c)},b=n=>{var r=Dr();let i;var a=e(r),o=e(a),s=e(o,!0);B(o);var u=I(o,2),h=e(u),_=e(h,!0);B(h);var b=I(h,2);B(u),B(a);var x=I(a,2),E=n=>{var r=Er(),i=w(r),a=n=>{var r=Tr(),i=e(r,!0);B(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);ce(s,{variant:`outline`,onclick:()=>C(!1),children:(e,t)=>{L(),l(e,c(`No`))},$$slots:{default:!0}}),ce(I(s,2),{onclick:()=>C(!0),children:(e,t)=>{L(),l(e,c(`Yes`))},$$slots:{default:!0}}),B(o),L(2),l(n,r)};d(x,e=>{g(f)||e(E)}),B(r),S(r,e=>T(p,e),()=>g(p)),v(()=>{i=z(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)?`▾`:`▴`)}),V(`keydown`,r,e=>O(e,[])),V(`click`,h,y),V(`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 kr=f(`<p class="text-muted-foreground truncate text-left text-xs"> </p>`),Ar=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 jr(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&&we(e.sessionId,n.join(`
|
|
51
|
+
`)),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=Ar(),c=e(r),u=e(c);ae(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=kr(),a=e(i,!0);B(i),v(()=>t(a,g(r))),l(n,i)}),B(d),L(2),B(c),B(r),v(()=>r.disabled=g(a)),V(`click`,r,s),l(n,r)};d(f,e=>{g(o).length>0&&e(p)}),l(n,c),M()}m([`click`]);function Mr(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 Nr(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=Mr(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 Pr=f(`<span class="text-muted-foreground truncate text-xs"> </span>`),Fr=f(`<button><span class="shrink-0 font-medium"> </span> <!></button>`),Ir=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 Lr(n,r){E(r,!0);let i=F(()=>r.mode===`command`?Nr(r.items,r.query,e=>e.name).slice(0,10):[]),a=A(O([])),o,s=0;_(()=>{if(r.mode!==`args`||!r.visible)return;let e=r.query,t=r.commandName,n=r.sessionId;return clearTimeout(o),o=setTimeout(async()=>{let r=++s;try{let i=await W.send({type:`complete_args`,sessionId:n,commandName:t,prefix:e});if(r!==s)return;if(i.success&&i.data){let e=i.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=Ir();h(r,23,()=>g(c),(e,t)=>e.name+`-`+t,(n,r,i)=>{var a=Fr(),o=e(a),s=e(o,!0);B(o);var c=I(o,2),u=n=>{var i=Pr(),a=e(i,!0);B(i),v(()=>t(a,g(r).description)),l(n,i)};d(c,e=>{g(r).description&&e(u)}),B(a),v(()=>{z(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)}),V(`pointerdown`,a,e=>e.preventDefault()),V(`click`,a,()=>{T(f,g(i),!0),b()}),l(n,a)}),B(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 Rr(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();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}function zr(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();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}var Br=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>`),Vr=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>`),Hr=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>`),Ur=f(`<div class="mb-1 flex flex-wrap gap-1.5"></div>`),Wr=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 Gr(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=F(()=>Ye.getCommands(G.viewedSessionId??``)),P=F(()=>{if(!g(w))return``;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(()=>H())});let te=0;_(()=>{let{sessionId:e,text:t,seq:n}=je;n!==te&&(te=n,e===G.viewedSessionId&&(T(o,t,!0),a().then(()=>H())))});let R=0;_(()=>{let{images:e,seq:t}=Ce;t!==R&&(R=t,e.length>0&&T(f,[...g(f),...e],!0))});function H(){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 U(){if(!g(o).startsWith(`/`)||!g(c)){T(w,!1),T(k,null);return}let e=g(c).selectionStart,t=g(o).slice(1),n=t.indexOf(` `);e<=(n===-1?t.length:n)+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 ce(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)),U(),H()}async function le(){let e=g(o).trim();if(!g(x))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?Ie.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 ue(){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&&we(e.sessionId,i.join(`
|
|
52
|
+
`))}}catch(e){console.error(`Failed to dequeue steering messages after abort:`,e)}e.pendingSteeringMessages=[]}}}function de(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(N).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{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)),H()}function fe(){T(w,!1),T(k,null)}function pe(){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)),ce(),H(),g(c).focus(),a().then(()=>{g(c).selectionStart=g(c).selectionEnd=i})}function me(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(),ue();return}e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),le())}var he=Wr(),ge=e(he),_e=e(ge),ve=t=>{var n=Br();cr(e(n),{class:`size-4`}),L(2),B(n),V(`pointerdown`,n,e=>e.preventDefault()),V(`click`,n,ue),l(t,n)};d(_e,e=>{G.viewed?.isStreaming&&e(ve)});var ye=I(_e,2),be=e=>{var t=Vr();V(`pointerdown`,t,e=>e.preventDefault()),V(`click`,t,pe),l(e,t)},xe=F(()=>!g(y)&&!g(o).startsWith(`/`));d(ye,e=>{g(xe)&&e(be)});var Se=I(ye,2),Te=e(Se);{let e=F(()=>G.viewedSessionId??``),t=F(()=>g(k)?.name??``);S(Lr(Te,{get items(){return g(N)},get query(){return g(P)},get visible(){return g(w)},get mode(){return g(D)},get sessionId(){return g(e)},get commandName(){return g(t)},onselect:de,ondismiss:fe}),e=>T(u,e,!0),()=>g(u))}var Ee=I(Te,2),Oe=t=>{var n=Ur();h(n,21,()=>g(f),i,(t,n,r)=>{var i=Hr(),a=e(i),o=I(a,2);De(e(o),{class:`size-3`}),B(o),B(i),v(()=>j(a,`src`,g(n))),V(`click`,o,()=>re(r)),l(t,i)}),B(n),l(t,n)};d(Ee,e=>{g(f).length>0&&e(Oe)});var ke=I(Ee,2);p(ke),j(ke,`rows`,1),S(ke,e=>T(c,e),()=>g(c));var Ae=I(ke,2),Me=e(Ae),Ne=e=>{zr(e,{class:`size-5`})},Pe=e=>{Rr(e,{class:`size-5`})};d(Me,e=>{G.viewed?.isStreaming?e(Ne):e(Pe,-1)}),B(Ae),B(Se),B(ge),B(he),v((e,t)=>{ke.disabled=g(y)||g(b),j(ke,`placeholder`,g(y)?`Open a session to start…`:g(b)?`Starting session…`:G.viewed?.isStreaming?`Steer the conversation…`:`Send a message…`),z(ke,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
|
|
53
|
+
${g(m)?`ring-ring ring-2`:``}`),z(Ae,1,`absolute right-1.5 bottom-1.5 flex items-center justify-center rounded-lg p-1.5 text-sm font-medium transition-colors
|
|
54
|
+
${e??``}`),Ae.disabled=t,j(Ae,`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`,Se,oe),n(`dragleave`,Se,se),n(`drop`,Se,ae),V(`input`,ke,ce),V(`keydown`,ke,me),V(`click`,ke,U),n(`paste`,ke,ie),ee(ke,()=>g(o),e=>T(o,e)),V(`pointerdown`,Ae,e=>e.preventDefault()),V(`click`,Ae,le),l(t,he),M()}m([`pointerdown`,`click`,`input`,`keydown`]);function Kr(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(()=>Ve(`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,()=>et,(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 qr(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 Jr(e){return e?`flex-1 md:hidden`:`flex-1`}function Yr(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();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}function Xr(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();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}function Zr(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();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}function Qr(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();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}function $r(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();R(w(r),()=>t.children??x),l(e,r)},$$slots:{default:!0}})),M()}var ei=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>`),ti=f(`<!> <div class="hidden min-w-0 flex-1 md:flex"><!></div>`,1),ni=f(`<span title="Context window usage"> </span>`),ri=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),ii=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),ai=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>`),si=f(`<button type="button" class="text-muted-foreground hover:text-foreground min-w-0 flex-1 truncate text-left transition-colors select-none"> </button>`),ci=f(`<span class="text-muted-foreground flex shrink-0 items-center gap-1" title="Git branch"><!> <span class="max-w-[6rem] truncate"> </span></span>`),li=f(`<span title="Context window usage"> </span>`),ui=f(`<div class="border-border/50 flex h-7 items-center gap-2 border-t px-2 md:hidden"><!> <!> <!></div>`),di=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?qr(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(()=>Pe(G.viewed)),u=F(()=>ke(g(s))===`critical`?`text-red-400`:ke(g(s))===`warning`?`text-amber-400`:`text-muted-foreground`),f=F(()=>Me(G.viewed));var p=di(),m=e(p),h=e(m);Ne(h,{});var _=I(h,2);Kr(_,{orientation:`vertical`,class:`mx-0.5 h-4`});var y=I(_,2);Ae(y,{});var x=I(y,2),S=I(x,2),C=n=>{var r=ti(),i=w(r);Kr(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=ei(),o=e(a,!0);B(a),v(()=>{j(a,`title`,`Rename session: ${g(f)}`),t(o,g(f))}),V(`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(f)},children:n,$$slots:{default:!0}})}B(a),l(n,r)};d(S,e=>{g(f)&&e(C)});var T=I(S,2),D=n=>{var r=ni(),i=e(r,!0);B(r),v(()=>{z(r,1,`hidden items-center gap-1 md:flex ${g(u)??``}`),t(i,g(c))}),l(n,r)};d(T,e=>{g(c)&&e(D)});var O=I(T,2),k=n=>{var r=ri(),i=w(r),a=e(i);Zr(a,{class:`size-3`});var o=I(a,2),s=e(o,!0);B(o),B(i),Kr(I(i,2),{orientation:`vertical`,class:`mx-0.5 hidden h-4 md:block`}),v(()=>t(s,G.viewed.gitBranch)),l(n,r)};d(O,e=>{G.viewed?.gitBranch&&e(k)});var A=I(O,2);{let e=F(()=>G.viewed?.sessionId);Te(A,{get sessionId(){return g(e)}})}var N=I(A,2),P=e=>{_e(e,{variant:`secondary`,class:`gap-1.5 text-xs`,children:(e,t)=>{var n=ii();L(),l(e,n)},$$slots:{default:!0}})};d(N,e=>{G.viewed?.isStreaming&&e(P)});var ee=I(N,2),te=e=>{_e(e,{variant:`secondary`,class:`gap-1 text-xs`,children:(e,t)=>{var n=ai();L(),l(e,n)},$$slots:{default:!0}})};d(ee,e=>{G.viewed?.isCompacting&&e(te)});var R=I(ee,2),H=e(R),ne=e(H),re=e=>{var t=oi();v(()=>z(t,1,`absolute inline-flex size-full animate-ping rounded-full ${g(o)??``} opacity-75`)),l(e,t)};d(ne,e=>{(W.phase===`syncing`||W.phase===`connecting`)&&e(re)});var ie=I(ne,2);B(H);var ae=I(H,2),oe=e(ae,!0);B(ae),B(R),B(m);var se=I(m,2),U=n=>{var r=ui(),i=e(r),a=n=>{{let r=(n,r)=>{let i=()=>r?.().openRenameDialog;var a=si(),o=e(a,!0);B(a),v(()=>{j(a,`title`,`Rename session: ${g(f)}`),t(o,g(f))}),V(`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(f)},children:r,$$slots:{default:!0}})}};d(i,e=>{g(f)&&e(a)});var o=I(i,2),s=n=>{var r=ci(),i=e(r);Zr(i,{class:`size-3`});var a=I(i,2),o=e(a,!0);B(a),B(r),v(()=>t(o,G.viewed.gitBranch)),l(n,r)};d(o,e=>{G.viewed?.gitBranch&&e(s)});var p=I(o,2),m=n=>{var r=li(),i=e(r,!0);B(r),v(()=>{z(r,1,`flex shrink-0 items-center gap-1 ${g(u)??``}`),t(i,g(c))}),l(n,r)};d(p,e=>{g(c)&&e(m)}),B(r),l(n,r)};d(se,e=>{(g(f)||G.viewed?.gitBranch||g(c))&&e(U)}),B(p),v(e=>{z(x,1,e),j(R,`title`,g(a)),z(ie,1,`relative inline-flex size-2 rounded-full ${g(o)??``}`),t(oe,g(a))},[()=>b(Jr(!!g(f)))]),l(n,p),M()}m([`click`]);var pi=f(`<span> </span>`),mi=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 hi(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=qr(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=mi();h(r,21,()=>g(i),e=>e.label,(n,r)=>{var i=pi(),a=e(i,!0);B(i),v(()=>{z(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)}),B(r),l(n,r)};d(o,e=>{g(i).length>0&&e(s)}),l(n,a),M()}function gi(e,t,n=16){return t<-n&&Math.abs(t)>Math.abs(e)}var _i=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>`),yi=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),bi=f(`<span class="relative inline-flex size-2 rounded-full bg-orange-500 svelte-1s9sawt"></span>`),xi=f(`<span class="relative inline-flex size-2 rounded-full bg-gray-400 svelte-1s9sawt"></span>`),Si=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>`),Ci=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>`),wi=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 Ti(r,i){E(i,!0);let a=Be(),o=A(null),s=A(null),c=A(null),f=null,p=0,m=0,y=0,b=0,x=null,S=null,C=qe();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,We(!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 ee(e,t){if(f!==e||t.touches.length!==1)return;let n=t.touches[0];y=n.clientX-p,b=n.clientY-m}function te(e){if(f===e){if(gi(y,b)){k(),O(e);return}D()}}function R(e){if(g(s)===e){T(s,null);return}if(g(o)===e){T(o,null);return}T(o,null),Ue(e)}async function H(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),Ke(e)}catch(e){console.error(`Failed to archive session:`,e)}}function ne(e){T(o,null),Ke(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 re=u(),ie=w(re),ae=r=>{var i=wi(),s=e(i),u=n=>{let r=F(()=>G.sessions[g(o)]);var i=_i(),a=e(i),s=e(a),c=e(s,!0);B(s),L(2),B(a);var u=I(a,2);se(e(u),{class:`size-3`}),L(2),B(u);var d=I(u,2);De(e(d),{class:`size-3`}),L(2),B(d),B(i),v(()=>t(c,g(r).projectName)),V(`click`,u,()=>void H(g(r).sessionId)),V(`click`,d,()=>ne(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=Si(),f=e(u),p=e(f),m=e=>{l(e,vi())},h=e=>{var t=yi();L(2),l(e,t)},_=e=>{l(e,bi())},y=e=>{l(e,xi())};d(p,e=>{g(s)?e(m):g(i).status===`working`?e(h,1):g(i).needsAttention?e(_,2):e(y,-1)}),B(f);var b=I(f,2),x=e(b,!0);B(b);var S=I(b,2);De(e(S),{class:`size-3`}),B(S),B(u),v(()=>{z(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),z(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`)}),V(`click`,u,()=>R(g(i).sessionId)),n(`auxclick`,u,e=>{e.button===1&&(e.preventDefault(),Ke(g(i).sessionId))}),V(`touchstart`,u,e=>P(g(i).sessionId,e),void 0,!0),V(`touchmove`,u,e=>ee(g(i).sessionId,e),void 0,!0),V(`touchend`,u,()=>te(g(i).sessionId)),n(`touchcancel`,u,D),V(`click`,S,e=>{e.stopPropagation(),Ke(g(i).sessionId)}),V(`keydown`,S,e=>{e.key===`Enter`&&(e.stopPropagation(),Ke(g(i).sessionId))}),l(r,u)});var m=I(p,2),_=t=>{var n=Ci();ze(e(n),{class:`size-3`}),L(2),B(n),v(()=>{j(n,`title`,`New session in ${G.viewed?.projectName??``}`),n.disabled=!!G.pendingNewSession}),V(`click`,n,()=>He(G.viewedSessionId)),l(t,n)};d(m,e=>{G.viewedSessionId&&e(_)}),B(f),B(i),n(`scroll`,f,()=>T(o,null)),l(r,i)};d(ie,e=>{G.activeSessions.length>0&&e(ae)}),l(r,re),M()}m([`click`,`touchstart`,`touchmove`,`touchend`,`keydown`]);var Ei=f(`<div class="text-destructive px-4 pb-3 text-xs"> </div>`),Di=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 Oi(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=Di(),i=e(r),u=e(i);Yr(u,{class:`text-muted-foreground size-4 shrink-0`});var f=I(u,4),p=e(f,!0);B(f);var m=I(f,2);De(e(m),{class:`size-4`}),B(m),B(i);var h=I(i,2),_=n=>{var r=Ei(),i=e(r,!0);B(r),v(()=>t(i,g(a))),l(n,r)};d(h,e=>{g(a)&&e(_)}),B(r),v(()=>{f.disabled=g(o),t(p,g(o)?`Enabling…`:`Enable`)}),V(`click`,f,s),V(`click`,m,c),l(n,r)};d(m,e=>{g(i)&&e(h)}),l(n,p),M()}m([`click`]);function ki(e){return e.remoteAudioLevel>e.speakingThreshold?`speaking`:e.isStreaming?`thinking`:`listening`}function Ai(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 ji=f(`<span class="dot animate-breathe bg-cyan-400 svelte-ttwohx" aria-hidden="true"></span>`),Mi=f(`<span class="dot animate-thinking bg-amber-400 svelte-ttwohx" aria-hidden="true"></span>`),Ni=f(`<span class="dot bg-emerald-400 transition-[transform,opacity] duration-[80ms] svelte-ttwohx" aria-hidden="true"></span>`),Pi=f(`<div class="flex items-center gap-2 svelte-ttwohx"><!> <span class="text-foreground text-sm font-medium svelte-ttwohx"> </span></div>`);function Fi(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=Pi(),c=e(s),u=e=>{l(e,ji())},f=e=>{l(e,Mi())},p=e=>{var t=Ni();let n;v(()=>n=te(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);B(m),B(s),v(()=>t(h,g(o))),l(n,s)}var Ii=f(`<!> <span>Muted</span>`,1),Li=f(`<!> <span>Live</span>`,1),Ri=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 zi(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(()=>Ai(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=Ri(),f=e(u),p=e(f);B(f);var m=I(f,2),h=e(m,!0);B(m);var y=I(m,2),b=e(y),x=e=>{var t=Ii();Qr(w(t),{class:`size-4`,"aria-hidden":`true`}),L(2),l(e,t)},S=e=>{var t=Li();$r(w(t),{class:`size-4`,"aria-hidden":`true`}),L(2),l(e,t)};d(b,e=>{r.micMuted?e(x):e(S,-1)}),B(y),Fi(I(y,2),{get state(){return r.agentState},get remoteAudioLevel(){return r.remoteAudioLevel}}),B(u),v(()=>{t(p,`${g(s)??``} · ${g(c)??``}`),t(h,g(o))}),l(n,u),M()}function Bi(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)}}}function Vi(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 Hi=f(`<!> <span class="absolute inset-0 -z-10 animate-ping rounded-full bg-emerald-500/20"></span>`,1),Ui=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 Wi(t,r){E(r,!0);let i=null;function a(){return i||=Bi(),i}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=Vi(c,t);switch(f(e.pointerId),n){case`tap`:{Se.toggleMute();let e=Se.state.micMuted;try{e?a().playMuteOn():a().playMuteOff()}catch(e){console.warn(`[voice] mute cue failed`,e)}break}case`swipe-up`:Se.endCall().catch(()=>{});break;case`swipe-down`:Se.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(()=>Se.state.micMuted);var x=Ui(),S=e(x);let C;var D=e(S);Xr(D,{class:`-mb-1 size-5 animate-pulse`,"aria-hidden":`true`});var O=I(D,2);ve(e(O),{class:`size-3.5`,"aria-hidden":`true`}),L(2),B(O),B(S);var k=I(S,2),N=e(k),P=e=>{Qr(e,{class:`size-7`,"aria-hidden":`true`})},ee=e=>{var t=Hi();$r(w(t),{class:`size-7`,"aria-hidden":`true`}),L(2),l(e,t)};d(N,e=>{g(b)?e(P):e(ee,-1)}),B(k);var R=I(k,2);let H;var ne=e(R);cr(e(ne),{class:`size-3.5`,"aria-hidden":`true`}),L(2),B(ne),be(I(ne,2),{class:`-mt-1 size-5 animate-pulse`,"aria-hidden":`true`}),B(R),B(x),v(()=>{C=te(S,``,C,{transform:`translateY(${g(y)??``}px)`}),z(k,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(k,`aria-label`,g(b)?`Microphone muted, tap to unmute`:`Microphone live, tap to mute`),H=te(R,``,H,{transform:`translateY(${g(y)??``}px)`})}),V(`pointerdown`,x,p),V(`pointermove`,x,m),V(`pointerup`,x,h),n(`pointercancel`,x,_),l(t,x),M()}m([`pointerdown`,`pointermove`,`pointerup`]);var Gi=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 Ki(t,n){E(n,!0);let r=A(0);_(()=>{if(Se.state.phase!==`connected`){T(r,0);return}let e=setInterval(()=>{T(r,xe(),!0)},100);return()=>clearInterval(e)});let i=F(()=>G.viewed),a=F(()=>ki({isStreaming:!!g(i)?.isStreaming,remoteAudioLevel:g(r),speakingThreshold:.02})),o=F(()=>g(i)?.folderPath??null),s=F(()=>Me(g(i)??null));var c=Gi(),u=e(c);zi(u,{get sessionDisplayName(){return g(s)},get folderPath(){return g(o)},get startedAt(){return Se.state.startedAt},get micMuted(){return Se.state.micMuted},get agentState(){return g(a)},get remoteAudioLevel(){return g(r)}});var d=I(u,2);vr(e(d),{readOnly:!0}),B(d),Wi(I(d,2),{}),B(c),l(t,c),M()}var qi=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>`),Ji=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>`),Yi=f(`<div class="flex min-h-0 flex-1 flex-col"><div class="hidden md:block"><!></div> <!> <!> <!> <!> <!> <!> <!> <!></div>`),Xi=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>`),Zi=f(`<!> <!>`,1);function Qi(t,n){E(n,!0);let r=F(()=>Se.state.phase!==`idle`&&Se.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=Zi(),s=w(o);Oi(s,{});var c=I(s,2),f=t=>{var n=u(),o=w(n),s=e=>{Ki(e,{})},c=t=>{var n=Yi(),r=e(n);fi(e(r),{}),B(r);var o=I(r,2);hi(o,{});var s=I(o,2),c=t=>{var n=qi(),r=I(e(n),2),i=I(r,2);B(n),V(`click`,r,()=>Je(G.viewedSessionId)),V(`click`,i,()=>Ge(G.viewedSessionId)),l(t,n)};d(s,e=>{G.viewed?.pendingTakeover&&e(c)});var u=I(s,2),f=t=>{var n=Ji(),r=I(e(n),2),o=I(r,2);B(n),V(`click`,r,i),V(`click`,o,a),l(t,n)};d(u,e=>{G.viewed?.conflictingProcesses?.length&&e(f)});var p=I(u,2);vr(p,{});var m=I(p,2);Or(m,{});var h=I(m,2);jr(h,{});var g=I(h,2);Ti(g,{}),Gr(I(g,2),{}),B(n),l(t,n)};d(o,e=>{g(r)?e(s):e(c,-1)}),l(t,n)},p=t=>{var n=Xi(),r=e(n),i=I(e(r),6);ye(e(i),{}),B(i),Ti(I(i,2),{}),B(r),B(n),l(t,n)};d(c,e=>{G.viewedSessionId?e(f):e(p,-1)}),l(t,o),M()}m([`click`]);export{Qi as component};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"
|
|
1
|
+
{"version":"1777761538226"}
|
package/client/build/index.html
CHANGED
|
@@ -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.
|
|
16
|
-
<link href="/_app/immutable/chunks/
|
|
17
|
-
<link href="/_app/immutable/chunks/
|
|
18
|
-
<link href="/_app/immutable/chunks/
|
|
15
|
+
<link href="/_app/immutable/entry/start.BZlrOH0-.js" rel="modulepreload">
|
|
16
|
+
<link href="/_app/immutable/chunks/DzqbY2XU.js" rel="modulepreload">
|
|
17
|
+
<link href="/_app/immutable/chunks/D26i4pYm.js" rel="modulepreload">
|
|
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.
|
|
20
|
+
<link href="/_app/immutable/entry/app.DO-zgzyy.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
|
-
|
|
29
|
+
__sveltekit_1jt912z = {
|
|
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.
|
|
37
|
-
import("/_app/immutable/entry/app.
|
|
36
|
+
import("/_app/immutable/entry/start.BZlrOH0-.js"),
|
|
37
|
+
import("/_app/immutable/entry/app.DO-zgzyy.js")
|
|
38
38
|
]).then(([kit, app]) => {
|
|
39
39
|
kit.start(app, element);
|
|
40
40
|
});
|